WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
138343
Web Inspector: Enum value collisions between different generators
https://bugs.webkit.org/show_bug.cgi?id=138343
Summary
Web Inspector: Enum value collisions between different generators
Joseph Pecoraro
Reported
2014-11-03 18:40:49 PST
* SUMMARY Sending Debugger.pause reason "InspectorDebuggerFrontendDispatcher::Reason::Exception" across to the frontend actually sends the string "WebSocket" instead of "exception". There is a collision between enum values for the different dispatchers. Generated code had both:
> // InspectorProtocolObjects.h > > namespace Timeline { > enum class EventType { > ... > WebSocketDestroy = 133, > }; > } > > // InspectorFrontendDispatchers.h > > class InspectorDebuggerFrontendDispatcher { > public: > ... > enum class Reason { > Exception = 133, > }; > }
We need to ensure that the values we generate are unique across all enums in all domains, not just the domains being generated for that particular dispatcher.
Attachments
[PATCH] Proposed Fix
(53.25 KB, patch)
2014-11-03 18:54 PST
,
Joseph Pecoraro
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Joseph Pecoraro
Comment 1
2014-11-03 18:40:58 PST
I have a fix, I need to make a test.
Radar WebKit Bug Importer
Comment 2
2014-11-03 18:41:11 PST
<
rdar://problem/18862317
>
Joseph Pecoraro
Comment 3
2014-11-03 18:54:29 PST
Created
attachment 240899
[details]
[PATCH] Proposed Fix Before the patch you can see the collision.
> FAIL: enum-values.json-result > --- JavaScriptCore/inspector/scripts/tests/expected/enum-values.json-result 2014-11-03 18:50:12.000000000 -0800 > +++ /var/folders/_b/scj8wvc516g_708gsbsfwq5w0000gn/T/tmpg_18v0/enum-values.json-result 2014-11-03 18:50:33.000000000 -0800 > @@ -159,9 +159,9 @@ > // Named after parameter 'returnValue' while generating command/event commandWithEnumReturnValue. > enum class ReturnValue { > Shared = 0, > - Cyan = 1, > - Magenta = 2, > - Yellow = 3, > + Cyan = 6, > + Magenta = 7, > + Yellow = 8, > }; // enum class ReturnValue > virtual void commandWithEnumReturnValue(ErrorString&, InspectorCommandDomainBackendDispatcherHandler::ReturnValue* out_returnValue) = 0; > protected: > @@ -343,8 +343,8 @@ > // Named after parameter 'parameter' while generating command/event eventWithEnumParameter. > enum class Parameter { > Shared = 0, > - Black = 1, > - White = 2, > + Black = 4, > + White = 5, > }; // enum class Parameter > void eventWithEnumParameter(Parameter parameter); > private:
WebKit Commit Bot
Comment 4
2014-11-03 18:57:18 PST
This patch modifies the inspector protocol generator. Please ensure that you have rebaselined any generator test results (i.e., by running `Tools/Scripts/run-inspector-generator-tests --reset-results`)
Brian Burg
Comment 5
2014-11-04 06:56:54 PST
Comment on
attachment 240899
[details]
[PATCH] Proposed Fix Hmm, hadn't thought about that case.. thanks for the patch!
WebKit Commit Bot
Comment 6
2014-11-04 07:36:08 PST
Comment on
attachment 240899
[details]
[PATCH] Proposed Fix Clearing flags on attachment: 240899 Committed
r175546
: <
http://trac.webkit.org/changeset/175546
>
WebKit Commit Bot
Comment 7
2014-11-04 07:36:11 PST
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug