summaryrefslogtreecommitdiffstats
path: root/WebKit/chromium/src/InspectorClientImpl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit/chromium/src/InspectorClientImpl.cpp')
-rw-r--r--WebKit/chromium/src/InspectorClientImpl.cpp150
1 files changed, 23 insertions, 127 deletions
diff --git a/WebKit/chromium/src/InspectorClientImpl.cpp b/WebKit/chromium/src/InspectorClientImpl.cpp
index 54550d1..77150bb 100644
--- a/WebKit/chromium/src/InspectorClientImpl.cpp
+++ b/WebKit/chromium/src/InspectorClientImpl.cpp
@@ -33,10 +33,9 @@
#include "DOMWindow.h"
#include "FloatRect.h"
-#include "InspectorController.h"
#include "NotImplemented.h"
#include "Page.h"
-#include "Settings.h"
+#include "WebDevToolsAgentImpl.h"
#include "WebRect.h"
#include "WebURL.h"
#include "WebURLRequest.h"
@@ -60,159 +59,56 @@ InspectorClientImpl::~InspectorClientImpl()
void InspectorClientImpl::inspectorDestroyed()
{
- // Our lifetime is bound to the WebViewImpl.
+ if (WebDevToolsAgentImpl* agent = devToolsAgent())
+ agent->inspectorDestroyed();
}
-Page* InspectorClientImpl::createPage()
+void InspectorClientImpl::openInspectorFrontend(InspectorController* controller)
{
- // This method should never be called in Chrome as inspector front-end lives
- // in a separate process.
- ASSERT_NOT_REACHED();
- return 0;
-}
-
-void InspectorClientImpl::showWindow()
-{
- ASSERT(m_inspectedWebView->devToolsAgentPrivate());
- m_inspectedWebView->page()->inspectorController()->setWindowVisible(true);
-}
-
-void InspectorClientImpl::closeWindow()
-{
- if (m_inspectedWebView->page())
- m_inspectedWebView->page()->inspectorController()->setWindowVisible(false);
-}
-
-bool InspectorClientImpl::windowVisible()
-{
- ASSERT(m_inspectedWebView->devToolsAgentPrivate());
- return false;
-}
-
-void InspectorClientImpl::attachWindow()
-{
- // FIXME: Implement this
-}
-
-void InspectorClientImpl::detachWindow()
-{
- // FIXME: Implement this
-}
-
-void InspectorClientImpl::setAttachedWindowHeight(unsigned int height)
-{
- // FIXME: Implement this
- notImplemented();
-}
-
-static void invalidateNodeBoundingRect(WebViewImpl* webView)
-{
- // FIXME: Is it important to just invalidate the rect of the node region
- // given that this is not on a critical codepath? In order to do so, we'd
- // have to take scrolling into account.
- const WebSize& size = webView->size();
- WebRect damagedRect(0, 0, size.width, size.height);
- if (webView->client())
- webView->client()->didInvalidateRect(damagedRect);
+ if (WebDevToolsAgentImpl* agent = devToolsAgent())
+ agent->openInspectorFrontend(controller);
}
void InspectorClientImpl::highlight(Node* node)
{
- // InspectorController does the actually tracking of the highlighted node
- // and the drawing of the highlight. Here we just make sure to invalidate
- // the rects of the old and new nodes.
- hideHighlight();
+ if (WebDevToolsAgentImpl* agent = devToolsAgent())
+ agent->highlight(node);
}
void InspectorClientImpl::hideHighlight()
{
- // FIXME: able to invalidate a smaller rect.
- invalidateNodeBoundingRect(m_inspectedWebView);
-}
-
-void InspectorClientImpl::inspectedURLChanged(const String& newURL)
-{
- // FIXME: Implement this
-}
-
-String InspectorClientImpl::localizedStringsURL()
-{
- notImplemented();
- return String();
-}
-
-String InspectorClientImpl::hiddenPanels()
-{
- notImplemented();
- return "";
+ if (WebDevToolsAgentImpl* agent = devToolsAgent())
+ agent->hideHighlight();
}
void InspectorClientImpl::populateSetting(const String& key, String* value)
{
- loadSettings();
- if (m_settings->contains(key))
- *value = m_settings->get(key);
+ if (WebDevToolsAgentImpl* agent = devToolsAgent())
+ agent->populateSetting(key, value);
}
void InspectorClientImpl::storeSetting(const String& key, const String& value)
{
- loadSettings();
- m_settings->set(key, value);
- saveSettings();
+ if (WebDevToolsAgentImpl* agent = devToolsAgent())
+ agent->storeSetting(key, value);
}
-void InspectorClientImpl::inspectorWindowObjectCleared()
+bool InspectorClientImpl::sendMessageToFrontend(const WTF::String& message)
{
- notImplemented();
+ if (WebDevToolsAgentImpl* agent = devToolsAgent())
+ return agent->sendMessageToFrontend(message);
+ return false;
}
-void InspectorClientImpl::loadSettings()
+void InspectorClientImpl::updateInspectorStateCookie(const WTF::String& inspectorState)
{
- if (m_settings)
- return;
-
- m_settings.set(new SettingsMap);
- String data = m_inspectedWebView->inspectorSettings();
- if (data.isEmpty())
- return;
-
- Vector<String> entries;
- data.split("\n", entries);
- for (Vector<String>::iterator it = entries.begin(); it != entries.end(); ++it) {
- Vector<String> tokens;
- it->split(":", tokens);
- if (tokens.size() < 3)
- continue;
-
- String name = decodeURLEscapeSequences(tokens[0]);
- String type = tokens[1];
- String value = tokens[2];
- for (size_t i = 3; i < tokens.size(); ++i)
- value += ":" + tokens[i];
-
- if (type == "string")
- value = decodeURLEscapeSequences(value);
-
- m_settings->set(name, value);
- }
+ if (WebDevToolsAgentImpl* agent = devToolsAgent())
+ agent->updateInspectorStateCookie(inspectorState);
}
-void InspectorClientImpl::saveSettings()
+WebDevToolsAgentImpl* InspectorClientImpl::devToolsAgent()
{
- String data;
- for (SettingsMap::iterator it = m_settings->begin(); it != m_settings->end(); ++it) {
- String name = encodeWithURLEscapeSequences(it->first);
- String value = it->second;
- String entry = String::format(
- "%s:string:%s",
- name.utf8().data(),
- encodeWithURLEscapeSequences(value).utf8().data());
- data.append(entry);
- data.append("\n");
- }
- m_inspectedWebView->setInspectorSettings(data);
- if (m_inspectedWebView->client())
- m_inspectedWebView->client()->didUpdateInspectorSettings();
+ return static_cast<WebDevToolsAgentImpl*>(m_inspectedWebView->devToolsAgent());
}
} // namespace WebKit