Two reasons behind the change: 1) debuggerEnabled / profilerEnabled / resourceTracking enabled are sync methods on InspectorBackend and we don't like it for obvious reasons 2) corresponding settings really make sense only when frontend is present. Like debuggerEnabled is really not handled well in inspector contorller - all it does is sets the flag on frontend to enable debugger from within JavaScript. It would be more logical for frontend to read the setting itself and enable / disable debugger depending on the value. Btw, in Chromium, we don't enable / disable debugger and profiler panels. They are just always enabled when frontend is up. Do you think it still makes sense for Web Inspector to have explicit control over those?
Created attachment 44547 [details] [PATCH] Proposed change.
Ping? Looks like this has been r+'d for about 2 weeks now. I assume folks are just busy with the holidays?
Comment on attachment 44547 [details] [PATCH] Proposed change. Things got changed a bit, so I'll need to do some merging. Clearing the flag for now.
While making this change I thought that maybe single place for storing settings should reside in backend, not the frontend, so I did not land it and refactored settings instead. Now it is time to revisit it. Goal is still the same, no sync operations between the backend and fronend.
Created attachment 49881 [details] [PATCH] Proposed change.
Committing to http://svn.webkit.org/repository/webkit/trunk ... M WebCore/ChangeLog M WebCore/inspector/InspectorBackend.cpp M WebCore/inspector/InspectorBackend.h M WebCore/inspector/InspectorBackend.idl M WebCore/inspector/InspectorController.cpp M WebCore/inspector/front-end/BreakpointsSidebarPane.js M WebCore/inspector/front-end/ProfilesPanel.js M WebCore/inspector/front-end/ScriptsPanel.js M WebCore/inspector/front-end/Settings.js M WebCore/inspector/front-end/inspector.js M WebKit/chromium/src/js/DevTools.js Committed r55464