Commit 429a60d1 authored by dgozman@chromium.org's avatar dgozman@chromium.org

[DevTools] Make WebDevToolsAgentImpl own InspectorOverlayImpl.

BUG=none

Review URL: https://codereview.chromium.org/1316033003

git-svn-id: svn://svn.chromium.org/blink/trunk@201331 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent 866b2aa4
...@@ -94,6 +94,7 @@ ...@@ -94,6 +94,7 @@
#include "public/web/WebSettings.h" #include "public/web/WebSettings.h"
#include "web/DevToolsEmulator.h" #include "web/DevToolsEmulator.h"
#include "web/InspectorEmulationAgent.h" #include "web/InspectorEmulationAgent.h"
#include "web/InspectorOverlayImpl.h"
#include "web/InspectorRenderingAgent.h" #include "web/InspectorRenderingAgent.h"
#include "web/WebFrameWidgetImpl.h" #include "web/WebFrameWidgetImpl.h"
#include "web/WebInputEventConversion.h" #include "web/WebInputEventConversion.h"
...@@ -281,13 +282,13 @@ PassOwnPtrWillBeRawPtr<WebDevToolsAgentImpl> WebDevToolsAgentImpl::create(WebLoc ...@@ -281,13 +282,13 @@ PassOwnPtrWillBeRawPtr<WebDevToolsAgentImpl> WebDevToolsAgentImpl::create(WebLoc
WebViewImpl* view = frame->viewImpl(); WebViewImpl* view = frame->viewImpl();
bool isMainFrame = view && view->mainFrameImpl() == frame; bool isMainFrame = view && view->mainFrameImpl() == frame;
if (!isMainFrame) { if (!isMainFrame) {
WebDevToolsAgentImpl* agent = new WebDevToolsAgentImpl(frame, client, frame->inspectorOverlay()); WebDevToolsAgentImpl* agent = new WebDevToolsAgentImpl(frame, client, InspectorOverlayImpl::createEmpty());
if (frame->frameWidget()) if (frame->frameWidget())
agent->layerTreeViewChanged(toWebFrameWidgetImpl(frame->frameWidget())->layerTreeView()); agent->layerTreeViewChanged(toWebFrameWidgetImpl(frame->frameWidget())->layerTreeView());
return adoptPtrWillBeNoop(agent); return adoptPtrWillBeNoop(agent);
} }
WebDevToolsAgentImpl* agent = new WebDevToolsAgentImpl(frame, client, view->inspectorOverlay()); WebDevToolsAgentImpl* agent = new WebDevToolsAgentImpl(frame, client, InspectorOverlayImpl::create(view));
agent->registerAgent(InspectorRenderingAgent::create(view)); agent->registerAgent(InspectorRenderingAgent::create(view));
agent->registerAgent(InspectorEmulationAgent::create(view)); agent->registerAgent(InspectorEmulationAgent::create(view));
// TODO(dgozman): migrate each of the following agents to frame once module is ready. // TODO(dgozman): migrate each of the following agents to frame once module is ready.
...@@ -305,7 +306,7 @@ PassOwnPtrWillBeRawPtr<WebDevToolsAgentImpl> WebDevToolsAgentImpl::create(WebLoc ...@@ -305,7 +306,7 @@ PassOwnPtrWillBeRawPtr<WebDevToolsAgentImpl> WebDevToolsAgentImpl::create(WebLoc
WebDevToolsAgentImpl::WebDevToolsAgentImpl( WebDevToolsAgentImpl::WebDevToolsAgentImpl(
WebLocalFrameImpl* webLocalFrameImpl, WebLocalFrameImpl* webLocalFrameImpl,
WebDevToolsAgentClient* client, WebDevToolsAgentClient* client,
InspectorOverlay* overlay) PassOwnPtrWillBeRawPtr<InspectorOverlay> overlay)
: m_client(client) : m_client(client)
, m_webLocalFrameImpl(webLocalFrameImpl) , m_webLocalFrameImpl(webLocalFrameImpl)
, m_attached(false) , m_attached(false)
...@@ -335,11 +336,11 @@ WebDevToolsAgentImpl::WebDevToolsAgentImpl( ...@@ -335,11 +336,11 @@ WebDevToolsAgentImpl::WebDevToolsAgentImpl(
m_inspectorAgent = inspectorAgentPtr.get(); m_inspectorAgent = inspectorAgentPtr.get();
m_agents.append(inspectorAgentPtr.release()); m_agents.append(inspectorAgentPtr.release());
OwnPtrWillBeRawPtr<InspectorPageAgent> pageAgentPtr(InspectorPageAgent::create(m_webLocalFrameImpl->frame(), m_overlay, m_resourceContentLoader.get())); OwnPtrWillBeRawPtr<InspectorPageAgent> pageAgentPtr(InspectorPageAgent::create(m_webLocalFrameImpl->frame(), m_overlay.get(), m_resourceContentLoader.get()));
m_pageAgent = pageAgentPtr.get(); m_pageAgent = pageAgentPtr.get();
m_agents.append(pageAgentPtr.release()); m_agents.append(pageAgentPtr.release());
OwnPtrWillBeRawPtr<InspectorDOMAgent> domAgentPtr(InspectorDOMAgent::create(m_pageAgent, injectedScriptManager, m_overlay)); OwnPtrWillBeRawPtr<InspectorDOMAgent> domAgentPtr(InspectorDOMAgent::create(m_pageAgent, injectedScriptManager, m_overlay.get()));
m_domAgent = domAgentPtr.get(); m_domAgent = domAgentPtr.get();
m_agents.append(domAgentPtr.release()); m_agents.append(domAgentPtr.release());
...@@ -459,7 +460,7 @@ void WebDevToolsAgentImpl::initializeDeferredAgents() ...@@ -459,7 +460,7 @@ void WebDevToolsAgentImpl::initializeDeferredAgents()
m_agents.append(InspectorApplicationCacheAgent::create(m_pageAgent)); m_agents.append(InspectorApplicationCacheAgent::create(m_pageAgent));
OwnPtrWillBeRawPtr<InspectorDebuggerAgent> debuggerAgentPtr(PageDebuggerAgent::create(MainThreadDebugger::instance(), m_pageAgent, injectedScriptManager, m_overlay)); OwnPtrWillBeRawPtr<InspectorDebuggerAgent> debuggerAgentPtr(PageDebuggerAgent::create(MainThreadDebugger::instance(), m_pageAgent, injectedScriptManager, m_overlay.get()));
InspectorDebuggerAgent* debuggerAgent = debuggerAgentPtr.get(); InspectorDebuggerAgent* debuggerAgent = debuggerAgentPtr.get();
m_agents.append(debuggerAgentPtr.release()); m_agents.append(debuggerAgentPtr.release());
m_asyncCallTracker = adoptPtrWillBeNoop(new AsyncCallTracker(debuggerAgent->v8DebuggerAgent(), m_instrumentingAgents.get())); m_asyncCallTracker = adoptPtrWillBeNoop(new AsyncCallTracker(debuggerAgent->v8DebuggerAgent(), m_instrumentingAgents.get()));
...@@ -469,7 +470,7 @@ void WebDevToolsAgentImpl::initializeDeferredAgents() ...@@ -469,7 +470,7 @@ void WebDevToolsAgentImpl::initializeDeferredAgents()
m_agents.append(InspectorInputAgent::create(m_pageAgent)); m_agents.append(InspectorInputAgent::create(m_pageAgent));
v8::Isolate* isolate = V8PerIsolateData::mainThreadIsolate(); v8::Isolate* isolate = V8PerIsolateData::mainThreadIsolate();
m_agents.append(InspectorProfilerAgent::create(isolate, injectedScriptManager, m_overlay)); m_agents.append(InspectorProfilerAgent::create(isolate, injectedScriptManager, m_overlay.get()));
m_agents.append(InspectorHeapProfilerAgent::create(isolate, injectedScriptManager)); m_agents.append(InspectorHeapProfilerAgent::create(isolate, injectedScriptManager));
......
...@@ -82,6 +82,7 @@ public: ...@@ -82,6 +82,7 @@ public:
void willBeDestroyed(); void willBeDestroyed();
WebDevToolsAgentClient* client() { return m_client; } WebDevToolsAgentClient* client() { return m_client; }
InspectorOverlay* overlay() const { return m_overlay.get(); }
bool handleInputEvent(const WebInputEvent&); bool handleInputEvent(const WebInputEvent&);
void flushPendingProtocolNotifications(); void flushPendingProtocolNotifications();
void dispatchMessageFromFrontend(const String& message); void dispatchMessageFromFrontend(const String& message);
...@@ -106,7 +107,7 @@ public: ...@@ -106,7 +107,7 @@ public:
void evaluateInWebInspector(long callId, const WebString& script) override; void evaluateInWebInspector(long callId, const WebString& script) override;
private: private:
WebDevToolsAgentImpl(WebLocalFrameImpl*, WebDevToolsAgentClient*, InspectorOverlay*); WebDevToolsAgentImpl(WebLocalFrameImpl*, WebDevToolsAgentClient*, PassOwnPtrWillBeRawPtr<InspectorOverlay>);
// InspectorStateClient implementation. // InspectorStateClient implementation.
void updateInspectorStateCookie(const WTF::String&) override; void updateInspectorStateCookie(const WTF::String&) override;
...@@ -143,7 +144,7 @@ private: ...@@ -143,7 +144,7 @@ private:
OwnPtrWillBeMember<InjectedScriptManager> m_injectedScriptManager; OwnPtrWillBeMember<InjectedScriptManager> m_injectedScriptManager;
OwnPtrWillBeMember<InspectorResourceContentLoader> m_resourceContentLoader; OwnPtrWillBeMember<InspectorResourceContentLoader> m_resourceContentLoader;
OwnPtrWillBeMember<InspectorCompositeState> m_state; OwnPtrWillBeMember<InspectorCompositeState> m_state;
RawPtrWillBeMember<InspectorOverlay> m_overlay; OwnPtrWillBeMember<InspectorOverlay> m_overlay;
RawPtrWillBeMember<InspectorInspectorAgent> m_inspectorAgent; RawPtrWillBeMember<InspectorInspectorAgent> m_inspectorAgent;
RawPtrWillBeMember<InspectorDOMAgent> m_domAgent; RawPtrWillBeMember<InspectorDOMAgent> m_domAgent;
......
...@@ -219,12 +219,10 @@ ...@@ -219,12 +219,10 @@
#include "web/CompositionUnderlineVectorBuilder.h" #include "web/CompositionUnderlineVectorBuilder.h"
#include "web/FindInPageCoordinates.h" #include "web/FindInPageCoordinates.h"
#include "web/GeolocationClientProxy.h" #include "web/GeolocationClientProxy.h"
#include "web/InspectorOverlayImpl.h"
#include "web/LocalFileSystemClient.h" #include "web/LocalFileSystemClient.h"
#include "web/MIDIClientProxy.h" #include "web/MIDIClientProxy.h"
#include "web/NavigatorContentUtilsClientImpl.h" #include "web/NavigatorContentUtilsClientImpl.h"
#include "web/NotificationPermissionClientImpl.h" #include "web/NotificationPermissionClientImpl.h"
#include "web/PageOverlay.h"
#include "web/RemoteBridgeFrameOwner.h" #include "web/RemoteBridgeFrameOwner.h"
#include "web/SharedWorkerRepositoryClientImpl.h" #include "web/SharedWorkerRepositoryClientImpl.h"
#include "web/SuspendableScriptExecutor.h" #include "web/SuspendableScriptExecutor.h"
...@@ -1695,7 +1693,6 @@ DEFINE_TRACE(WebLocalFrameImpl) ...@@ -1695,7 +1693,6 @@ DEFINE_TRACE(WebLocalFrameImpl)
visitor->trace(m_frameLoaderClientImpl); visitor->trace(m_frameLoaderClientImpl);
visitor->trace(m_frame); visitor->trace(m_frame);
visitor->trace(m_devToolsAgent); visitor->trace(m_devToolsAgent);
visitor->trace(m_inspectorOverlay);
visitor->trace(m_textFinder); visitor->trace(m_textFinder);
visitor->trace(m_printContext); visitor->trace(m_printContext);
visitor->trace(m_geolocationClientProxy); visitor->trace(m_geolocationClientProxy);
...@@ -2045,13 +2042,6 @@ void WebLocalFrameImpl::setDevToolsAgentClient(WebDevToolsAgentClient* devToolsC ...@@ -2045,13 +2042,6 @@ void WebLocalFrameImpl::setDevToolsAgentClient(WebDevToolsAgentClient* devToolsC
} }
} }
InspectorOverlay* WebLocalFrameImpl::inspectorOverlay()
{
if (!m_inspectorOverlay)
m_inspectorOverlay = InspectorOverlayImpl::createEmpty();
return m_inspectorOverlay.get();
}
WebDevToolsAgent* WebLocalFrameImpl::devToolsAgent() WebDevToolsAgent* WebLocalFrameImpl::devToolsAgent()
{ {
return m_devToolsAgent.get(); return m_devToolsAgent.get();
......
...@@ -47,7 +47,6 @@ namespace blink { ...@@ -47,7 +47,6 @@ namespace blink {
class ChromePrintContext; class ChromePrintContext;
class GeolocationClientProxy; class GeolocationClientProxy;
class InspectorOverlay;
class IntSize; class IntSize;
class KURL; class KURL;
class Range; class Range;
...@@ -285,7 +284,6 @@ public: ...@@ -285,7 +284,6 @@ public:
FrameView* frameView() const { return frame() ? frame()->view() : 0; } FrameView* frameView() const { return frame() ? frame()->view() : 0; }
InspectorOverlay* inspectorOverlay();
WebDevToolsAgentImpl* devToolsAgentImpl() const { return m_devToolsAgent.get(); } WebDevToolsAgentImpl* devToolsAgentImpl() const { return m_devToolsAgent.get(); }
// Getters for the impls corresponding to Get(Provisional)DataSource. They // Getters for the impls corresponding to Get(Provisional)DataSource. They
...@@ -366,7 +364,6 @@ private: ...@@ -366,7 +364,6 @@ private:
// FIXME: These will need to change to WebFrame when we introduce WebFrameProxy. // FIXME: These will need to change to WebFrame when we introduce WebFrameProxy.
RefPtrWillBeMember<LocalFrame> m_frame; RefPtrWillBeMember<LocalFrame> m_frame;
OwnPtrWillBeMember<InspectorOverlay> m_inspectorOverlay;
OwnPtrWillBeMember<WebDevToolsAgentImpl> m_devToolsAgent; OwnPtrWillBeMember<WebDevToolsAgentImpl> m_devToolsAgent;
// This is set if the frame is the root of a local frame tree, and requires a widget for layout. // This is set if the frame is the root of a local frame tree, and requires a widget for layout.
......
...@@ -501,11 +501,11 @@ WebDevToolsAgentImpl* WebViewImpl::mainFrameDevToolsAgentImpl() ...@@ -501,11 +501,11 @@ WebDevToolsAgentImpl* WebViewImpl::mainFrameDevToolsAgentImpl()
return mainFrame ? mainFrame->devToolsAgentImpl() : nullptr; return mainFrame ? mainFrame->devToolsAgentImpl() : nullptr;
} }
InspectorOverlay* WebViewImpl::inspectorOverlay() InspectorOverlayImpl* WebViewImpl::inspectorOverlay()
{ {
if (!m_inspectorOverlay) if (WebDevToolsAgentImpl* devtools = mainFrameDevToolsAgentImpl())
m_inspectorOverlay = InspectorOverlayImpl::create(this); return static_cast<InspectorOverlayImpl*>(devtools->overlay());
return m_inspectorOverlay.get(); return nullptr;
} }
WebLocalFrameImpl* WebViewImpl::mainFrameImpl() WebLocalFrameImpl* WebViewImpl::mainFrameImpl()
...@@ -1894,8 +1894,8 @@ void WebViewImpl::layout() ...@@ -1894,8 +1894,8 @@ void WebViewImpl::layout()
PageWidgetDelegate::layout(*m_page, *mainFrameImpl()->frame()); PageWidgetDelegate::layout(*m_page, *mainFrameImpl()->frame());
updateLayerTreeBackgroundColor(); updateLayerTreeBackgroundColor();
if (m_inspectorOverlay) if (InspectorOverlayImpl* overlay = inspectorOverlay())
m_inspectorOverlay->layout(); overlay->layout();
for (size_t i = 0; i < m_linkHighlights.size(); ++i) for (size_t i = 0; i < m_linkHighlights.size(); ++i)
m_linkHighlights[i]->updateGeometry(); m_linkHighlights[i]->updateGeometry();
...@@ -2087,8 +2087,10 @@ bool WebViewImpl::handleInputEvent(const WebInputEvent& inputEvent) ...@@ -2087,8 +2087,10 @@ bool WebViewImpl::handleInputEvent(const WebInputEvent& inputEvent)
if (devTools && devTools->handleInputEvent(inputEvent)) if (devTools && devTools->handleInputEvent(inputEvent))
return true; return true;
if (m_inspectorOverlay && m_inspectorOverlay->handleInputEvent(inputEvent)) if (InspectorOverlayImpl* overlay = inspectorOverlay()) {
return true; if (overlay->handleInputEvent(inputEvent))
return true;
}
// Report the event to be NOT processed by WebKit, so that the browser can handle it appropriately. // Report the event to be NOT processed by WebKit, so that the browser can handle it appropriately.
if (m_ignoreInputEvents) if (m_ignoreInputEvents)
...@@ -3968,8 +3970,8 @@ void WebViewImpl::pageScaleFactorChanged() ...@@ -3968,8 +3970,8 @@ void WebViewImpl::pageScaleFactorChanged()
{ {
pageScaleConstraintsSet().setNeedsReset(false); pageScaleConstraintsSet().setNeedsReset(false);
updateLayerTreeViewport(); updateLayerTreeViewport();
if (m_inspectorOverlay) if (InspectorOverlayImpl* overlay = inspectorOverlay())
m_inspectorOverlay->update(); overlay->update();
m_devToolsEmulator->viewportChanged(); m_devToolsEmulator->viewportChanged();
m_client->pageScaleFactorChanged(); m_client->pageScaleFactorChanged();
} }
...@@ -4430,8 +4432,8 @@ void WebViewImpl::updatePageOverlays() ...@@ -4430,8 +4432,8 @@ void WebViewImpl::updatePageOverlays()
{ {
if (m_pageColorOverlay) if (m_pageColorOverlay)
m_pageColorOverlay->update(); m_pageColorOverlay->update();
if (m_inspectorOverlay) { if (InspectorOverlayImpl* overlay = inspectorOverlay()) {
PageOverlay* inspectorPageOverlay = m_inspectorOverlay->pageOverlay(); PageOverlay* inspectorPageOverlay = overlay->pageOverlay();
if (inspectorPageOverlay) if (inspectorPageOverlay)
inspectorPageOverlay->update(); inspectorPageOverlay->update();
} }
......
...@@ -72,7 +72,6 @@ class DataObject; ...@@ -72,7 +72,6 @@ class DataObject;
class DevToolsEmulator; class DevToolsEmulator;
class Frame; class Frame;
class FullscreenController; class FullscreenController;
class InspectorOverlay;
class InspectorOverlayImpl; class InspectorOverlayImpl;
class LinkHighlightImpl; class LinkHighlightImpl;
class PageOverlay; class PageOverlay;
...@@ -332,8 +331,6 @@ public: ...@@ -332,8 +331,6 @@ public:
WebDevToolsAgentImpl* mainFrameDevToolsAgentImpl(); WebDevToolsAgentImpl* mainFrameDevToolsAgentImpl();
InspectorOverlay* inspectorOverlay();
DevToolsEmulator* devToolsEmulator() const DevToolsEmulator* devToolsEmulator() const
{ {
return m_devToolsEmulator.get(); return m_devToolsEmulator.get();
...@@ -537,6 +534,8 @@ public: ...@@ -537,6 +534,8 @@ public:
WebPageImportanceSignals& pageImportanceSignals() { return m_pageImportanceSignals; } WebPageImportanceSignals& pageImportanceSignals() { return m_pageImportanceSignals; }
private: private:
InspectorOverlayImpl* inspectorOverlay();
void setPageScaleFactorAndLocation(float, const FloatPoint&); void setPageScaleFactorAndLocation(float, const FloatPoint&);
void scrollAndRescaleViewports(float scaleFactor, const IntPoint& mainFrameOrigin, const FloatPoint& visualViewportOrigin); void scrollAndRescaleViewports(float scaleFactor, const IntPoint& mainFrameOrigin, const FloatPoint& visualViewportOrigin);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment