RESOLVED FIXED Bug 40364
Web Inspector: don't push script sources to frontend if scripts panel is inactive
https://bugs.webkit.org/show_bug.cgi?id=40364
Summary Web Inspector: don't push script sources to frontend if scripts panel is inac...
Pavel Podivilov
Reported 2010-06-09 07:33:23 PDT
Currently v8 debugger is enabled when frontend is attached (see https://bugs.webkit.org/show_bug.cgi?id=40289). As a result, script sources are always pushed to frontend even if scripts panel is inactive.
Attachments
Patch (15.15 KB, patch)
2010-06-10 09:45 PDT, Yury Semikhatsky
no flags
Patch (15.05 KB, patch)
2010-06-10 10:22 PDT, Yury Semikhatsky
no flags
Patch (14.80 KB, patch)
2010-06-10 10:33 PDT, Yury Semikhatsky
no flags
Yury Semikhatsky
Comment 1 2010-06-09 07:58:37 PDT
Pushing only scripts metadata and requesting script source lazily from the front end would reduce traffic between InspectorController and the front end. It would improve remote debugger performance so both engines should benefit from that. Another option would be in case of v8 to push already compiled scripts only when scripts panel is shown or when debugger hits a breakpoint. Any objections to the first approach?
Yury Semikhatsky
Comment 2 2010-06-10 09:45:01 PDT
Pavel Feldman
Comment 3 2010-06-10 09:55:30 PDT
Comment on attachment 58378 [details] Patch WebCore/inspector/InspectorBackend.h:94 + void resolveScriptSource(long callId, const String& sourceID); getScriptSource? There is not much to resolve there... WebCore/inspector/InspectorController.cpp:1698 + String dataToSend = ScriptDebugServer::shared().isDebuggerAlwaysEnabled() ? "" : data; Can we make it always lazy regardless the setting?
Yury Semikhatsky
Comment 4 2010-06-10 10:22:20 PDT
Yury Semikhatsky
Comment 5 2010-06-10 10:24:08 PDT
(In reply to comment #3) > (From update of attachment 58378 [details]) > WebCore/inspector/InspectorBackend.h:94 > + void resolveScriptSource(long callId, const String& sourceID); > getScriptSource? There is not much to resolve there... > Done. > WebCore/inspector/InspectorController.cpp:1698 > + String dataToSend = ScriptDebugServer::shared().isDebuggerAlwaysEnabled() ? "" : data; > Can we make it always lazy regardless the setting? Done. Now it's lazy no matter what kind of debugger is used. I had some concerns about slowing things down in Safari.
Yury Semikhatsky
Comment 6 2010-06-10 10:33:03 PDT
Pavel Feldman
Comment 7 2010-06-10 10:55:48 PDT
Comment on attachment 58384 [details] Patch This is scary!
Yury Semikhatsky
Comment 8 2010-06-10 11:00:26 PDT
Comment on attachment 58384 [details] Patch Clearing flags on attachment: 58384 Committed r60965: <http://trac.webkit.org/changeset/60965>
Yury Semikhatsky
Comment 9 2010-06-10 11:00:38 PDT
All reviewed patches have been landed. Closing bug.
Joseph Pecoraro
Comment 10 2010-06-11 00:05:30 PDT
Comment on attachment 58384 [details] Patch This looks like a good solution! Nice! I know this landed already (Sorry I'm so far behind). There were some typos in the comments, nothing too important. Just keep an eye out for these in future patches. > + script content lazily at the moment it should be displyed. It is critical for Typo: s/displyed/displayed/; (this is in each ChangeLog) > + // Don't send script content to the front end until it's realy needed. Typo: s/realy/really/;
Note You need to log in before you can comment on or make changes to this bug.