After speaking at length offline with Joe about what `enable`/`disable` represent, we've come to the following conclusion: An agent's `enable`/`disable` controls whether that agent is "allowed" to send events to the connected frontend. For now, an agent isn't "required" to be `enable`d in order for commands being sent from the frontend to the backend to have any effect (some agents already work this way). Agents that need other agents to be `enable`d shouldn't ever assume anything about the state of the other agent, and therefore should properly handle the case where that other agent isn't enabled (often this is just returning an error from the command or not sending an event). As such, we should: - add `enable`/`disable` to all domains that have events - re-add them to the `Page` domain (partial "undo" of r248454) - this does NOT include the `DOM` domain, as that's going to be handled by <https://webkit.org/b/197025> - add error messages when `enable` is called if the domain is already enabled - add proper checks when agents are referenced by other agents I think we should move towards a world where `enable`/`disable` is the single entry/exit point for ALL agents, but that can come later.
Created attachment 376594 [details] Patch This _could_ be two or three separate patches, but I'd like to see how EWS feels about the entire thing all at once :)
Created attachment 376595 [details] Patch
Comment on attachment 376595 [details] Patch Attachment 376595 [details] did not pass mac-debug-ews (mac): Output: https://webkit-queues.webkit.org/results/12930322 Number of test failures exceeded the failure limit.
Created attachment 376600 [details] Archive of layout-test-results from ews113 for mac-highsierra The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews113 Port: mac-highsierra Platform: Mac OS X 10.13.6
Comment on attachment 376595 [details] Patch Attachment 376595 [details] did not pass mac-ews (mac): Output: https://webkit-queues.webkit.org/results/12930357 New failing tests: inspector/css/getMatchedStylesForNode.html inspector/memory/tracking.html inspector/heap/tracking.html
Created attachment 376601 [details] Archive of layout-test-results from ews103 for mac-highsierra The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews103 Port: mac-highsierra Platform: Mac OS X 10.13.6
Created attachment 376603 [details] Patch
Created attachment 376604 [details] Patch
Comment on attachment 376604 [details] Patch Attachment 376604 [details] did not pass mac-ews (mac): Output: https://webkit-queues.webkit.org/results/12930843 New failing tests: inspector/console/js-source-locations.html inspector/debugger/setBreakpoint-options-exception.html inspector/console/console-count.html inspector/debugger/js-stacktrace.html inspector/debugger/setBreakpoint-actions.html inspector/model/stack-trace.html inspector/console/messageRepeatCountUpdated.html inspector/console/command-line-api.html inspector/console/x-frame-options-message.html inspector/console/messageAdded-from-named-evaluations.html
Created attachment 376605 [details] Archive of layout-test-results from ews100 for mac-highsierra The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews100 Port: mac-highsierra Platform: Mac OS X 10.13.6
Comment on attachment 376604 [details] Patch Attachment 376604 [details] did not pass mac-debug-ews (mac): Output: https://webkit-queues.webkit.org/results/12930831 Number of test failures exceeded the failure limit.
Created attachment 376606 [details] Archive of layout-test-results from ews114 for mac-highsierra The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews114 Port: mac-highsierra Platform: Mac OS X 10.13.6
Created attachment 376617 [details] Patch
Comment on attachment 376617 [details] Patch Attachment 376617 [details] did not pass mac-ews (mac): Output: https://webkit-queues.webkit.org/results/12933484 New failing tests: inspector/console/js-source-locations.html inspector/debugger/setBreakpoint-options-exception.html inspector/console/console-count.html inspector/debugger/js-stacktrace.html inspector/debugger/setBreakpoint-actions.html inspector/model/stack-trace.html inspector/console/messageRepeatCountUpdated.html inspector/console/command-line-api.html inspector/console/x-frame-options-message.html inspector/console/messageAdded-from-named-evaluations.html
Created attachment 376621 [details] Archive of layout-test-results from ews100 for mac-highsierra The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews100 Port: mac-highsierra Platform: Mac OS X 10.13.6
Comment on attachment 376617 [details] Patch Attachment 376617 [details] did not pass mac-debug-ews (mac): Output: https://webkit-queues.webkit.org/results/12933482 Number of test failures exceeded the failure limit.
Created attachment 376623 [details] Archive of layout-test-results from ews113 for mac-highsierra The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews113 Port: mac-highsierra Platform: Mac OS X 10.13.6
Created attachment 376632 [details] Patch
Comment on attachment 376632 [details] Patch Attachment 376632 [details] did not pass mac-debug-ews (mac): Output: https://webkit-queues.webkit.org/results/12935462 New failing tests: inspector/worker/worker-create-and-terminate.html
Created attachment 376636 [details] Archive of layout-test-results from ews117 for mac-highsierra The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews117 Port: mac-highsierra Platform: Mac OS X 10.13.6
Created attachment 376642 [details] Patch Rather than have subclasses implement the command variant of `enable`/`disable`, create a separate protected member function that is called by the command variant so that the `errorString` doesn't need to be propagated
<rdar://problem/54514408>
Comment on attachment 376642 [details] Patch Clearing review. I doubt this applies anymore.