Skip to content

Commit

Permalink
[DevTools] Consolidate overlay-related functionality in Overlay domain
Browse files Browse the repository at this point in the history
This turns InspectorOverlay into InspectorOverlayAgent with respective
lifetime and domain:
- rendering domain merges into overlay;
- Page.configureOverlay moves to overlay;
- highlighting and inspect mode move from DOM to overlay.

BUG=none
TBR=skyostil@chromium.org

Review-Url: https://codereview.chromium.org/2819183002
Cr-Original-Original-Commit-Position: refs/heads/master@{#465422}
Committed: https://chromium.googlesource.com/chromium/src/+/8982f602a8e1f521949d8dd8dae58cff1c787bec
Review-Url: https://codereview.chromium.org/2819183002
Cr-Original-Commit-Position: refs/heads/master@{#465812}
Committed: https://chromium.googlesource.com/chromium/src/+/7afbb9a64fbd30254a2dab9a689648621fa29f14
Review-Url: https://codereview.chromium.org/2819183002
Cr-Commit-Position: refs/heads/master@{#466489}
  • Loading branch information
dgozman authored and Commit bot committed Apr 21, 2017
1 parent 9419102 commit c8abe8c
Show file tree
Hide file tree
Showing 63 changed files with 1,296 additions and 1,353 deletions.
39 changes: 31 additions & 8 deletions content/browser/devtools/protocol/schema_handler.cc
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,37 @@ Response SchemaHandler::GetDomains(
std::unique_ptr<protocol::Array<Schema::Domain>>* domains) {
// TODO(kozyatisnkiy): get this from the target instead of hardcoding a list.
static const char kVersion[] = "1.2";
static const char* kDomains[] = {
"Inspector", "Memory", "Page", "Rendering", "Emulation", "Security",
"Network", "Database", "IndexedDB", "CacheStorage", "DOMStorage", "CSS",
"ApplicationCache", "DOM", "IO", "DOMDebugger", "ServiceWorker",
"Input", "LayerTree", "DeviceOrientation", "Tracing", "Animation",
"Accessibility", "Storage", "Log", "Runtime", "Debugger",
"Profiler", "HeapProfiler", "Schema", "Target"
};
static const char* kDomains[] = {"Inspector",
"Memory",
"Page",
"Emulation",
"Security",
"Network",
"Database",
"IndexedDB",
"CacheStorage",
"DOMStorage",
"CSS",
"ApplicationCache",
"DOM",
"IO",
"DOMDebugger",
"ServiceWorker",
"Input",
"LayerTree",
"DeviceOrientation",
"Tracing",
"Animation",
"Accessibility",
"Storage",
"Log",
"Runtime",
"Debugger",
"Profiler",
"HeapProfiler",
"Schema",
"Target",
"Overlay"};
*domains = protocol::Array<Schema::Domain>::create();
for (size_t i = 0; i < arraysize(kDomains); ++i) {
(*domains)->addItem(Schema::Domain::Create()
Expand Down
1 change: 0 additions & 1 deletion headless/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,6 @@ devtools_domains = [
"network",
"page",
"profiler",
"rendering",
"runtime",
"security",
"service_worker",
Expand Down
5 changes: 0 additions & 5 deletions headless/lib/browser/headless_devtools_client_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@ HeadlessDevToolsClientImpl::HeadlessDevToolsClientImpl()
network_domain_(this),
page_domain_(this),
profiler_domain_(this),
rendering_domain_(this),
runtime_domain_(this),
security_domain_(this),
service_worker_domain_(this),
Expand Down Expand Up @@ -329,10 +328,6 @@ profiler::Domain* HeadlessDevToolsClientImpl::GetProfiler() {
return &profiler_domain_;
}

rendering::Domain* HeadlessDevToolsClientImpl::GetRendering() {
return &rendering_domain_;
}

runtime::Domain* HeadlessDevToolsClientImpl::GetRuntime() {
return &runtime_domain_;
}
Expand Down
3 changes: 0 additions & 3 deletions headless/lib/browser/headless_devtools_client_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@
#include "headless/public/devtools/domains/network.h"
#include "headless/public/devtools/domains/page.h"
#include "headless/public/devtools/domains/profiler.h"
#include "headless/public/devtools/domains/rendering.h"
#include "headless/public/devtools/domains/runtime.h"
#include "headless/public/devtools/domains/security.h"
#include "headless/public/devtools/domains/service_worker.h"
Expand Down Expand Up @@ -87,7 +86,6 @@ class HeadlessDevToolsClientImpl : public HeadlessDevToolsClient,
network::Domain* GetNetwork() override;
page::Domain* GetPage() override;
profiler::Domain* GetProfiler() override;
rendering::Domain* GetRendering() override;
runtime::Domain* GetRuntime() override;
security::Domain* GetSecurity() override;
service_worker::Domain* GetServiceWorker() override;
Expand Down Expand Up @@ -190,7 +188,6 @@ class HeadlessDevToolsClientImpl : public HeadlessDevToolsClient,
network::ExperimentalDomain network_domain_;
page::ExperimentalDomain page_domain_;
profiler::ExperimentalDomain profiler_domain_;
rendering::ExperimentalDomain rendering_domain_;
runtime::ExperimentalDomain runtime_domain_;
security::ExperimentalDomain security_domain_;
service_worker::ExperimentalDomain service_worker_domain_;
Expand Down
4 changes: 0 additions & 4 deletions headless/public/headless_devtools_client.h
Original file line number Diff line number Diff line change
Expand Up @@ -84,9 +84,6 @@ class Domain;
namespace profiler {
class Domain;
}
namespace rendering {
class Domain;
}
namespace runtime {
class Domain;
}
Expand Down Expand Up @@ -139,7 +136,6 @@ class HEADLESS_EXPORT HeadlessDevToolsClient {
virtual network::Domain* GetNetwork() = 0;
virtual page::Domain* GetPage() = 0;
virtual profiler::Domain* GetProfiler() = 0;
virtual rendering::Domain* GetRendering() = 0;
virtual runtime::Domain* GetRuntime() = 0;
virtual security::Domain* GetSecurity() = 0;
virtual service_worker::Domain* GetServiceWorker() = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -967,7 +967,7 @@ InspectorTest.dumpInspectorHighlightJSON = function(idValue, callback)

function nodeResolved(node)
{
InspectorTest.DOMAgent.getHighlightObjectForTest(node.id, report);
InspectorTest.OverlayAgent.getHighlightObjectForTest(node.id, report);
}

function report(error, result)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -978,6 +978,7 @@ SDK.targetManager.observeTargets({
InspectorTest.HeapProfilerAgent = target.heapProfilerAgent();
InspectorTest.InspectorAgent = target.inspectorAgent();
InspectorTest.NetworkAgent = target.networkAgent();
InspectorTest.OverlayAgent = target.overlayAgent();
InspectorTest.PageAgent = target.pageAgent();
InspectorTest.ProfilerAgent = target.profilerAgent();
InspectorTest.RuntimeAgent = target.runtimeAgent();
Expand All @@ -992,6 +993,7 @@ SDK.targetManager.observeTargets({
InspectorTest.domDebuggerModel = target.model(SDK.DOMDebuggerModel);
InspectorTest.cssModel = target.model(SDK.CSSModel);
InspectorTest.cpuProfilerModel = target.model(SDK.CPUProfilerModel);
InspectorTest.overlayModel = target.model(SDK.OverlayModel);
InspectorTest.serviceWorkerManager = target.model(SDK.ServiceWorkerManager);
InspectorTest.tracingManager = target.model(SDK.TracingManager);
InspectorTest.mainTarget = target;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,10 @@
{
var nodeInfo = {};
InspectorTest.eventHandler["DOM.setChildNodes"] = setChildNodes;
InspectorTest.eventHandler["DOM.inspectNodeRequested"] = inspectNodeRequested;
InspectorTest.eventHandler["Overlay.inspectNodeRequested"] = inspectNodeRequested;
InspectorTest.sendCommand("DOM.enable", {});
InspectorTest.sendCommand("DOM.setInspectMode", { "mode": "searchForNode", highlightConfig: {} }, onSetModeEnabled);
InspectorTest.sendCommand("Overlay.enable", {});
InspectorTest.sendCommand("Overlay.setInspectMode", { "mode": "searchForNode", highlightConfig: {} }, onSetModeEnabled);

function onSetModeEnabled(message)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ IndexedDB.disable finished successfully
LayerTree.disable finished successfully
Log.disable finished successfully
Network.disable finished successfully
Overlay.disable finished successfully
Page.disable finished successfully
Profiler.disable finished successfully
Runtime.disable finished successfully
Expand Down Expand Up @@ -48,6 +49,9 @@ Log.disable finished successfully
Network.enable finished successfully
Network.disable finished successfully

Overlay.enable finished with error DOM should be enabled first
Overlay.disable finished successfully

Page.enable finished successfully
Page.disable finished successfully

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
{
InspectorTest.cpuProfilerModel.startRecording();
InspectorTest.cpuProfilerModel.stopRecording();
InspectorTest.domModel.setInspectMode(Protocol.DOM.InspectMode.SearchForNode, clickAtInspected);
InspectorTest.overlayModel.setInspectMode(Protocol.Overlay.InspectMode.SearchForNode).then(clickAtInspected);

function clickAtInspected()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

function test()
{
InspectorTest.domModel.setInspectMode(Protocol.DOM.InspectMode.SearchForNode, step2);
InspectorTest.overlayModel.setInspectMode(Protocol.Overlay.InspectMode.SearchForNode).then(step2);

function step2()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@

function step1()
{
InspectorTest.domModel.setInspectMode(Protocol.DOM.InspectMode.SearchForNode, step2);
InspectorTest.overlayModel.setInspectMode(Protocol.Overlay.InspectMode.SearchForNode).then(step2);
}

function step2()
Expand All @@ -72,7 +72,7 @@
{
InspectorTest.firstElementsTreeOutline().removeEventListener(Elements.ElementsTreeOutline.Events.SelectedNodeChanged, step3);
expectSelectedNode("inner");
InspectorTest.domModel.setInspectMode(Protocol.DOM.InspectMode.SearchForNode, step4);
InspectorTest.overlayModel.setInspectMode(Protocol.Overlay.InspectMode.SearchForNode).then(step4);
}

function step4()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

function test()
{
InspectorTest.domModel.setInspectMode(Protocol.DOM.InspectMode.SearchForNode, inspectModeEnabled);
InspectorTest.overlayModel.setInspectMode(Protocol.Overlay.InspectMode.SearchForNode).then(inspectModeEnabled);

function inspectModeEnabled()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
{
// Assure layer objects are not re-created during updates.
InspectorTest.layerTreeModel().layerTree().forEachLayer(function(layer) { layersBeforeHighlight.push(layer.id()); });
InspectorTest.DOMAgent.highlightRect(0, 0, 200, 200, {r:255, g:0, b:0});
InspectorTest.OverlayAgent.highlightRect(0, 0, 200, 200, {r:255, g:0, b:0});
InspectorTest.evaluateAndRunWhenTreeChanges("requestAnimationFrame(updateGeometry)", step2);
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
Test that if a profiler is working all the agents are disabled.

--> SDK.targetManager.suspendAllTargets();
frontend: {"id":<number>,"method":"Page.configureOverlay","params":{"suspended":true}}
frontend: {"id":<number>,"method":"Target.setAutoAttach","params":{"autoAttach":true,"waitForDebuggerOnStart":false}}
frontend: {"id":<number>,"method":"Debugger.disable"}
frontend: {"id":<number>,"method":"Debugger.setAsyncCallStackDepth","params":{"maxDepth":0}}
frontend: {"id":<number>,"method":"Page.configureOverlay","params":{"suspended":true}}
frontend: {"id":<number>,"method":"Overlay.setPausedInDebuggerMessage"}
frontend: {"id":<number>,"method":"DOM.disable"}
frontend: {"id":<number>,"method":"CSS.disable"}
frontend: {"id":<number>,"method":"Overlay.setSuspended","params":{"suspended":true}}

--> SDK.targetManager.resumeAllTargets();
frontend: {"id":<number>,"method":"Page.configureOverlay","params":{"suspended":false}}
frontend: {"id":<number>,"method":"Target.setAutoAttach","params":{"autoAttach":true,"waitForDebuggerOnStart":true}}
frontend: {"id":<number>,"method":"Debugger.enable"}
frontend: {"id":<number>,"method":"Debugger.setPauseOnExceptions","params":{"state":"none"}}
frontend: {"id":<number>,"method":"Debugger.setAsyncCallStackDepth","params":{"maxDepth":8}}
frontend: {"id":<number>,"method":"DOM.enable"}
frontend: {"id":<number>,"method":"CSS.enable"}
frontend: {"id":<number>,"method":"Overlay.setSuspended","params":{"suspended":false}}

--> done

4 changes: 2 additions & 2 deletions third_party/WebKit/Source/core/inspector/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -148,12 +148,12 @@ inspector_protocol_generate("protocol_sources") {
"inspector/protocol/Memory.h",
"inspector/protocol/Network.cpp",
"inspector/protocol/Network.h",
"inspector/protocol/Overlay.cpp",
"inspector/protocol/Overlay.h",
"inspector/protocol/Page.cpp",
"inspector/protocol/Page.h",
"inspector/protocol/Protocol.cpp",
"inspector/protocol/Protocol.h",
"inspector/protocol/Rendering.cpp",
"inspector/protocol/Rendering.h",
"inspector/protocol/Runtime.h",
"inspector/protocol/Security.cpp",
"inspector/protocol/Security.h",
Expand Down
Loading

0 comments on commit c8abe8c

Please sign in to comment.