summaryrefslogtreecommitdiffstats
path: root/WebKit/win/WebCoreSupport
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2010-06-15 19:36:43 +0100
committerBen Murdoch <benm@google.com>2010-06-16 14:52:28 +0100
commit545e470e52f0ac6a3a072bf559c796b42c6066b6 (patch)
treec0c14763654d84d37577dde512c3d3b4699a9e86 /WebKit/win/WebCoreSupport
parent719298a66237d38ea5c05f1547123ad8aacbc237 (diff)
downloadexternal_webkit-545e470e52f0ac6a3a072bf559c796b42c6066b6.zip
external_webkit-545e470e52f0ac6a3a072bf559c796b42c6066b6.tar.gz
external_webkit-545e470e52f0ac6a3a072bf559c796b42c6066b6.tar.bz2
Merge webkit.org at r61121: Initial merge by git.
Change-Id: Icd6db395c62285be384d137164d95d7466c98760
Diffstat (limited to 'WebKit/win/WebCoreSupport')
-rw-r--r--WebKit/win/WebCoreSupport/WebInspectorClient.cpp7
-rw-r--r--WebKit/win/WebCoreSupport/WebInspectorClient.h16
2 files changed, 20 insertions, 3 deletions
diff --git a/WebKit/win/WebCoreSupport/WebInspectorClient.cpp b/WebKit/win/WebCoreSupport/WebInspectorClient.cpp
index 3c263e5..34fb827 100644
--- a/WebKit/win/WebCoreSupport/WebInspectorClient.cpp
+++ b/WebKit/win/WebCoreSupport/WebInspectorClient.cpp
@@ -69,6 +69,7 @@ static CFBundleRef getWebKitBundle()
WebInspectorClient::WebInspectorClient(WebView* webView)
: m_inspectedWebView(webView)
+ , m_frontendPage(0)
{
ASSERT(m_inspectedWebView);
m_inspectedWebView->viewWindow((OLE_HANDLE*)&m_inspectedWebViewHwnd);
@@ -76,6 +77,7 @@ WebInspectorClient::WebInspectorClient(WebView* webView)
WebInspectorClient::~WebInspectorClient()
{
+ m_frontendPage = 0;
}
void WebInspectorClient::inspectorDestroyed()
@@ -172,8 +174,9 @@ void WebInspectorClient::openInspectorFrontend(InspectorController* inspectorCon
if (FAILED(frontendWebView->topLevelFrame()->loadRequest(request.get())))
return;
- Page* page = core(frontendWebView.get());
- page->inspectorController()->setInspectorFrontendClient(new WebInspectorFrontendClient(m_inspectedWebView, m_inspectedWebViewHwnd, frontendHwnd, frontendWebView, frontendWebViewHwnd, this));
+ m_frontendPage = core(frontendWebView.get());
+ WebInspectorFrontendClient* frontendClient = new WebInspectorFrontendClient(m_inspectedWebView, m_inspectedWebViewHwnd, frontendHwnd, frontendWebView, frontendWebViewHwnd, this);
+ m_frontendPage->inspectorController()->setInspectorFrontendClient(frontendClient);
m_frontendHwnd = frontendHwnd;
}
diff --git a/WebKit/win/WebCoreSupport/WebInspectorClient.h b/WebKit/win/WebCoreSupport/WebInspectorClient.h
index 64773a5..17a8d99 100644
--- a/WebKit/win/WebCoreSupport/WebInspectorClient.h
+++ b/WebKit/win/WebCoreSupport/WebInspectorClient.h
@@ -37,6 +37,12 @@
#include <wtf/OwnPtr.h>
#include <windows.h>
+namespace WebCore {
+
+class Page;
+
+}
+
class WebNodeHighlight;
class WebView;
@@ -55,13 +61,21 @@ public:
virtual void populateSetting(const WebCore::String& key, WebCore::String* value);
virtual void storeSetting(const WebCore::String& key, const WebCore::String& value);
+ virtual bool sendMessageToFrontend(const WebCore::String&);
+
void updateHighlight();
- void frontendClosing() { m_frontendHwnd = 0; }
+ void frontendClosing()
+ {
+ m_frontendHwnd = 0;
+ releaseFrontendPage();
+ }
+ void releaseFrontendPage();
private:
~WebInspectorClient();
WebView* m_inspectedWebView;
+ WebCore::Page* m_frontendPage;
HWND m_inspectedWebViewHwnd;
HWND m_frontendHwnd;