Bug 53174

Summary: Web Inspector: store all settings related to the agents on the frontend side
Product: WebKit Reporter: Yury Semikhatsky <yurys>
Component: Web Inspector (Deprecated)Assignee: Yury Semikhatsky <yurys>
Status: RESOLVED FIXED    
Severity: Normal CC: abarth, apavlov, bweinstein, eric, joepeck, keishi, loislo, mnaganov, pfeldman, pmuellr, pnormand, rik, timothy, webkit.review.bot, yurys
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on: 53229    
Bug Blocks:    
Attachments:
Description Flags
Patch
none
Patch
pfeldman: review+
Patch that I'm going to land none

Description Yury Semikhatsky 2011-01-26 09:19:06 PST
Web Inspector: store all settings related to the agents on the frontend side. InspectorSettings class should go away completely.
Comment 1 Yury Semikhatsky 2011-01-26 09:28:04 PST
Created attachment 80199 [details]
Patch
Comment 2 Pavel Feldman 2011-01-26 09:44:41 PST
Comment on attachment 80199 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=80199&action=review

> Source/WebCore/inspector/InspectorAgent.cpp:569
> +    if (InspectorDebuggerAgent::isDebuggerAlwaysEnabled() || m_state->getBoolean(InspectorState::debuggerEnabled))

I think InspectorDebuggerAgent::isDebuggerAlwaysEnabled should also be driven by the front-end. As a result, state will have plane cookie logic.

> Source/WebCore/inspector/InspectorAgent.cpp:579
> +    if (!ScriptProfiler::isProfilerAlwaysEnabled() && m_state->getBoolean(InspectorState::profilerEnabled))

ditto

> Source/WebCore/inspector/InspectorAgent.cpp:981
> +void InspectorAgent::enableProfiler()

When did we lose skipRecompile?
Comment 3 Yury Semikhatsky 2011-01-26 10:28:14 PST
Created attachment 80208 [details]
Patch
Comment 4 Yury Semikhatsky 2011-01-26 10:30:35 PST
(In reply to comment #2)
> (From update of attachment 80199 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=80199&action=review
> 
> > Source/WebCore/inspector/InspectorAgent.cpp:569
> > +    if (InspectorDebuggerAgent::isDebuggerAlwaysEnabled() || m_state->getBoolean(InspectorState::debuggerEnabled))
> 
> I think InspectorDebuggerAgent::isDebuggerAlwaysEnabled should also be driven by the front-end. As a result, state will have plane cookie logic.
> 
Good point. Done.

> > Source/WebCore/inspector/InspectorAgent.cpp:579
> > +    if (!ScriptProfiler::isProfilerAlwaysEnabled() && m_state->getBoolean(InspectorState::profilerEnabled))
> 
> ditto
> 
Done.

> > Source/WebCore/inspector/InspectorAgent.cpp:981
> > +void InspectorAgent::enableProfiler()
> 
> When did we lose skipRecompile?

It happened in http://trac.webkit.org/changeset/65797, I changed the profiler agent code to recompile all functions immediately from startUserInitiatedProfiling method.

Please look at the change one more time.
Comment 5 Yury Semikhatsky 2011-01-27 00:37:19 PST
Committed r76770  (http://trac.webkit.org/changeset/76770)
Comment 6 Philippe Normand 2011-01-27 01:14:30 PST
It seems this patch makes inspector/storage-panel-dom-storage.html crash on 64-bits GTK Debug:

http://webkit-bots.igalia.com/amd64/svn_76770.core-when_1296119071-_-who_DumpRenderTree-_-why_11.trace.html
Comment 7 WebKit Review Bot 2011-01-27 01:15:29 PST
http://trac.webkit.org/changeset/76770 might have broken Qt Linux Release
The following tests are not passing:
http/tests/inspector/console-xhr-logging.html
http/tests/inspector/extensions-headers.html
inspector/report-protocol-errors.html
inspector/storage-panel-dom-storage.html
Comment 8 Yury Semikhatsky 2011-01-27 01:35:47 PST
Reopening since the change was rolled out in r76775 due to layout test failures.
Comment 9 Yury Semikhatsky 2011-01-27 05:15:14 PST
Created attachment 80322 [details]
Patch that I'm going to land

Updated layout tests to match the protocol changes.
Comment 10 Yury Semikhatsky 2011-01-27 06:03:55 PST
Committed r76792: <http://trac.webkit.org/changeset/76792>