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 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
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 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
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 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
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 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
2019-08-17 00:11 PDT, Devin Rousso
2019-08-17 00:18 PDT, Devin Rousso
2019-08-17 01:22 PDT, EWS Watchlist
2019-08-17 01:24 PDT, EWS Watchlist
2019-08-17 02:15 PDT, Devin Rousso
2019-08-17 02:19 PDT, Devin Rousso
2019-08-17 03:30 PDT, EWS Watchlist
2019-08-17 03:41 PDT, EWS Watchlist
2019-08-17 17:29 PDT, Devin Rousso
2019-08-17 18:21 PDT, EWS Watchlist
2019-08-17 18:35 PDT, EWS Watchlist
2019-08-18 03:39 PDT, Devin Rousso
2019-08-18 05:28 PDT, EWS Watchlist
2019-08-18 10:25 PDT, Devin Rousso