[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
pfeldman at chromium.org
pfeldman at chromium.org
Wed Dec 22 14:43:18 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 9db33975c11c8c303d5e4c533344ef316b165f86
Author: pfeldman at chromium.org <pfeldman at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Mon Oct 18 17:08:57 2010 +0000
2010-10-18 Pavel Feldman <pfeldman at chromium.org>
Reviewed by Simon Fraser.
Web Inspector: [crash] when Inspector Open in CSSStyleSelector::loadPendingImages().
https://bugs.webkit.org/show_bug.cgi?id=46224
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* inspector/InspectorClient.cpp: Added.
(WebCore::InspectorClient::doDispatchMessageOnFrontendPage):
* inspector/InspectorClient.h:
(WebCore::InspectorClient::InspectorClient):
2010-10-18 Pavel Feldman <pfeldman at chromium.org>
Reviewed by Simon Fraser.
Web Inspector: [crash] when Inspector Open in CSSStyleSelector::loadPendingImages().
https://bugs.webkit.org/show_bug.cgi?id=46224
* WebCoreSupport/WebInspectorClientCF.cpp:
(WebInspectorClient::sendMessageToFrontend):
2010-10-18 Pavel Feldman <pfeldman at chromium.org>
Reviewed by Simon Fraser.
Web Inspector: [crash] when Inspector Open in CSSStyleSelector::loadPendingImages().
https://bugs.webkit.org/show_bug.cgi?id=46224
* WebCoreSupport/InspectorClientGtk.cpp:
(WebKit::InspectorClient::sendMessageToFrontend):
2010-10-18 Pavel Feldman <pfeldman at chromium.org>
Reviewed by Simon Fraser.
Web Inspector: [crash] when Inspector Open in CSSStyleSelector::loadPendingImages().
https://bugs.webkit.org/show_bug.cgi?id=46224
* WebCoreSupport/InspectorClientQt.cpp:
(WebCore::InspectorClientQt::sendMessageToFrontend):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@69968 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/CMakeLists.txt b/WebCore/CMakeLists.txt
index 76033cf..2289c2c 100644
--- a/WebCore/CMakeLists.txt
+++ b/WebCore/CMakeLists.txt
@@ -1103,6 +1103,7 @@ SET(WebCore_SOURCES
inspector/InspectorBackend.cpp
inspector/InspectorCSSAgent.cpp
inspector/InspectorCSSStore.cpp
+ inspector/InspectorClient.cpp
inspector/InspectorController.cpp
inspector/InspectorDOMAgent.cpp
inspector/InspectorDOMStorageResource.cpp
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 4f08d7a..cc5d68a 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,21 @@
+2010-10-18 Pavel Feldman <pfeldman at chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ Web Inspector: [crash] when Inspector Open in CSSStyleSelector::loadPendingImages().
+ https://bugs.webkit.org/show_bug.cgi?id=46224
+
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * inspector/InspectorClient.cpp: Added.
+ (WebCore::InspectorClient::doDispatchMessageOnFrontendPage):
+ * inspector/InspectorClient.h:
+ (WebCore::InspectorClient::InspectorClient):
+
2010-10-18 Andrei Popescu <andreip at google.com>
Reviewed by Jeremy Orlow.
diff --git a/WebCore/GNUmakefile.am b/WebCore/GNUmakefile.am
index 735f61b..c442113 100644
--- a/WebCore/GNUmakefile.am
+++ b/WebCore/GNUmakefile.am
@@ -1809,6 +1809,7 @@ webcore_sources += \
WebCore/inspector/InspectorApplicationCacheAgent.h \
WebCore/inspector/InspectorBackend.cpp \
WebCore/inspector/InspectorBackend.h \
+ WebCore/inspector/InspectorClient.cpp \
WebCore/inspector/InspectorClient.h \
WebCore/inspector/InspectorController.cpp \
WebCore/inspector/InspectorController.h \
diff --git a/WebCore/WebCore.exp.in b/WebCore/WebCore.exp.in
index f46a53a..36a8331 100644
--- a/WebCore/WebCore.exp.in
+++ b/WebCore/WebCore.exp.in
@@ -1227,6 +1227,7 @@ __ZN7WebCore22GeolocationServiceMock8setErrorEN3WTF10PassRefPtrINS_13PositionErr
#endif
#if ENABLE(INSPECTOR)
+__ZN7WebCore15InspectorClient31doDispatchMessageOnFrontendPageEPNS_4PageERKN3WTF6StringE
__ZN7WebCore19InspectorController12ConsolePanelE
__ZN7WebCore19InspectorController12ScriptsPanelE
__ZN7WebCore19InspectorController13ProfilesPanelE
diff --git a/WebCore/WebCore.gypi b/WebCore/WebCore.gypi
index 7bbf85f..199c24c 100644
--- a/WebCore/WebCore.gypi
+++ b/WebCore/WebCore.gypi
@@ -1901,7 +1901,6 @@
'html/parser/TextDocumentParser.h',
'html/parser/TextViewSourceParser.cpp',
'html/parser/TextViewSourceParser.h',
- 'inspector/InspectorClient.h',
'inspector/ConsoleMessage.cpp',
'inspector/ConsoleMessage.h',
'inspector/InjectedScript.cpp',
@@ -1912,6 +1911,8 @@
'inspector/InspectorApplicationCacheAgent.h',
'inspector/InspectorBackend.cpp',
'inspector/InspectorBackend.h',
+ 'inspector/InspectorClient.cpp',
+ 'inspector/InspectorClient.h',
'inspector/InspectorController.cpp',
'inspector/InspectorController.h',
'inspector/InspectorCSSAgent.cpp',
diff --git a/WebCore/WebCore.pro b/WebCore/WebCore.pro
index fa73450..5af5a0a 100644
--- a/WebCore/WebCore.pro
+++ b/WebCore/WebCore.pro
@@ -992,6 +992,7 @@ SOURCES += \
inspector/InspectorBackend.cpp \
inspector/InspectorCSSAgent.cpp \
inspector/InspectorCSSStore.cpp \
+ inspector/InspectorClient.cpp \
inspector/InspectorController.cpp \
inspector/InspectorDatabaseResource.cpp \
inspector/InspectorDebuggerAgent.cpp \
diff --git a/WebCore/WebCore.vcproj/WebCore.vcproj b/WebCore/WebCore.vcproj/WebCore.vcproj
index a7cff52..ff3b64a 100644
--- a/WebCore/WebCore.vcproj/WebCore.vcproj
+++ b/WebCore/WebCore.vcproj/WebCore.vcproj
@@ -63191,6 +63191,10 @@
>
</File>
<File
+ RelativePath="..\inspector\InspectorClient.cpp"
+ >
+ </File>
+ <File
RelativePath="..\inspector\InspectorClient.h"
>
</File>
diff --git a/WebCore/WebCore.xcodeproj/project.pbxproj b/WebCore/WebCore.xcodeproj/project.pbxproj
index 6266452..0429a2f 100644
--- a/WebCore/WebCore.xcodeproj/project.pbxproj
+++ b/WebCore/WebCore.xcodeproj/project.pbxproj
@@ -1499,6 +1499,7 @@
7A0E770F10C00A8800A0276E /* InspectorFrontendHost.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A0E770C10C00A8800A0276E /* InspectorFrontendHost.h */; };
7A0E771E10C00DB100A0276E /* JSInspectorFrontendHost.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7A0E771C10C00DB100A0276E /* JSInspectorFrontendHost.cpp */; };
7A0E771F10C00DB100A0276E /* JSInspectorFrontendHost.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A0E771D10C00DB100A0276E /* JSInspectorFrontendHost.h */; };
+ 7A1F2B52126C61B20006A7E6 /* InspectorClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7A1F2B51126C61B20006A7E6 /* InspectorClient.cpp */; };
7A24587B1021EAF4000A00AA /* InspectorDOMAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7A2458791021EAF4000A00AA /* InspectorDOMAgent.cpp */; };
7A24587C1021EAF4000A00AA /* InspectorDOMAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A24587A1021EAF4000A00AA /* InspectorDOMAgent.h */; settings = {ATTRIBUTES = (Private, ); }; };
7A674BDB0F9EBF4E006CF099 /* PageGroupLoadDeferrer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7A674BD90F9EBF4E006CF099 /* PageGroupLoadDeferrer.cpp */; };
@@ -7596,6 +7597,7 @@
7A0E770D10C00A8800A0276E /* InspectorFrontendHost.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = InspectorFrontendHost.idl; sourceTree = "<group>"; };
7A0E771C10C00DB100A0276E /* JSInspectorFrontendHost.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSInspectorFrontendHost.cpp; sourceTree = "<group>"; };
7A0E771D10C00DB100A0276E /* JSInspectorFrontendHost.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSInspectorFrontendHost.h; sourceTree = "<group>"; };
+ 7A1F2B51126C61B20006A7E6 /* InspectorClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorClient.cpp; sourceTree = "<group>"; };
7A2458791021EAF4000A00AA /* InspectorDOMAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorDOMAgent.cpp; sourceTree = "<group>"; };
7A24587A1021EAF4000A00AA /* InspectorDOMAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorDOMAgent.h; sourceTree = "<group>"; };
7A674BD90F9EBF4E006CF099 /* PageGroupLoadDeferrer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PageGroupLoadDeferrer.cpp; sourceTree = "<group>"; };
@@ -12170,6 +12172,7 @@
B885E8D311E06DD2009FFBF4 /* InspectorApplicationCacheAgent.h */,
7A74ECB8101839A500BF939E /* InspectorBackend.cpp */,
7A74ECB9101839A600BF939E /* InspectorBackend.h */,
+ 7A1F2B51126C61B20006A7E6 /* InspectorClient.cpp */,
1C81B9580E97330800266E07 /* InspectorClient.h */,
1C81B9570E97330800266E07 /* InspectorController.cpp */,
1C81B9560E97330800266E07 /* InspectorController.h */,
@@ -23627,6 +23630,7 @@
97DD4D860FDF4D6E00ECF9A4 /* XSSAuditor.cpp in Sources */,
4FA3B90A125CD12200300BAD /* InspectorState.cpp in Sources */,
9728C3131268E4390041E89B /* MarkupAccumulator.cpp in Sources */,
+ 7A1F2B52126C61B20006A7E6 /* InspectorClient.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/WebCore/inspector/InspectorClient.cpp b/WebCore/inspector/InspectorClient.cpp
new file mode 100644
index 0000000..434d697
--- /dev/null
+++ b/WebCore/inspector/InspectorClient.cpp
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "InspectorClient.h"
+
+#if ENABLE(INSPECTOR)
+
+#include "Frame.h"
+#include "Page.h"
+#include "ScriptController.h"
+#include "ScriptSourceCode.h"
+
+namespace WebCore {
+
+bool InspectorClient::doDispatchMessageOnFrontendPage(Page* frontendPage, const String& message)
+{
+ if (!frontendPage)
+ return false;
+
+ Frame* frame = frontendPage->mainFrame();
+ if (!frame)
+ return false;
+
+ ScriptController* scriptController = frame->script();
+ if (!scriptController)
+ return false;
+
+ String dispatchToFrontend("WebInspector.dispatchMessageFromBackend(");
+ dispatchToFrontend += message;
+ dispatchToFrontend += ");";
+
+ // Do not call executeInWorld here since it will end up calling Document::updateStyleForAllDocuments().
+ // As a result we might re-enter CSSStyleSelector::styleForElement() which is terrible.
+ scriptController->evaluate(ScriptSourceCode(dispatchToFrontend));
+ return true;
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(INSPECTOR)
diff --git a/WebCore/inspector/InspectorClient.h b/WebCore/inspector/InspectorClient.h
index bb71b13..0c78246 100644
--- a/WebCore/inspector/InspectorClient.h
+++ b/WebCore/inspector/InspectorClient.h
@@ -37,7 +37,7 @@ class Page;
class InspectorClient {
public:
- virtual ~InspectorClient() { }
+ virtual ~InspectorClient() { }
virtual void inspectorDestroyed() = 0;
@@ -55,6 +55,8 @@ public:
// However, there are some inspector controller states that should survive navigation (such as tracking resources
// or recording timeline). Following callbacks allow embedders to track these states.
virtual void updateInspectorStateCookie(const String&) { };
+
+ bool doDispatchMessageOnFrontendPage(Page* frontendPage, const String& message);
};
} // namespace WebCore
diff --git a/WebKit/cf/ChangeLog b/WebKit/cf/ChangeLog
index 957dce1..1efdd4d 100644
--- a/WebKit/cf/ChangeLog
+++ b/WebKit/cf/ChangeLog
@@ -1,3 +1,13 @@
+2010-10-18 Pavel Feldman <pfeldman at chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ Web Inspector: [crash] when Inspector Open in CSSStyleSelector::loadPendingImages().
+ https://bugs.webkit.org/show_bug.cgi?id=46224
+
+ * WebCoreSupport/WebInspectorClientCF.cpp:
+ (WebInspectorClient::sendMessageToFrontend):
+
2010-06-14 Ilya Tikhonovsky <loislo at chromium.org>
Reviewed by Pavel Feldman.
diff --git a/WebKit/cf/WebCoreSupport/WebInspectorClientCF.cpp b/WebKit/cf/WebCoreSupport/WebInspectorClientCF.cpp
index dc5a186..62fdd4d 100644
--- a/WebKit/cf/WebCoreSupport/WebInspectorClientCF.cpp
+++ b/WebKit/cf/WebCoreSupport/WebInspectorClientCF.cpp
@@ -102,20 +102,5 @@ void WebInspectorClient::releaseFrontendPage()
bool WebInspectorClient::sendMessageToFrontend(const String& message)
{
- if (!m_frontendPage)
- return false;
-
- Frame* frame = m_frontendPage->mainFrame();
- if (!frame)
- return false;
-
- ScriptController* scriptController = frame->script();
- if (!scriptController)
- return false;
-
- String dispatchToFrontend("WebInspector.dispatchMessageFromBackend(");
- dispatchToFrontend += message;
- dispatchToFrontend += ");";
- scriptController->executeScript(dispatchToFrontend);
- return true;
+ return doDispatchMessageOnFrontendPage(m_frontendPage, message);
}
diff --git a/WebKit/gtk/ChangeLog b/WebKit/gtk/ChangeLog
index cd3becd..4e9f00d 100644
--- a/WebKit/gtk/ChangeLog
+++ b/WebKit/gtk/ChangeLog
@@ -1,3 +1,13 @@
+2010-10-18 Pavel Feldman <pfeldman at chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ Web Inspector: [crash] when Inspector Open in CSSStyleSelector::loadPendingImages().
+ https://bugs.webkit.org/show_bug.cgi?id=46224
+
+ * WebCoreSupport/InspectorClientGtk.cpp:
+ (WebKit::InspectorClient::sendMessageToFrontend):
+
2010-10-14 Antonio Gomes <agomes at rim.com>
Reviewed by Martin Robinson and Xan Lopez.
diff --git a/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp b/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp
index c8b42d7..2c1ffab 100644
--- a/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp
+++ b/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp
@@ -222,22 +222,7 @@ void InspectorClient::storeSetting(const String&, const String&)
bool InspectorClient::sendMessageToFrontend(const String& message)
{
- if (!m_frontendPage)
- return false;
-
- Frame* frame = m_frontendPage->mainFrame();
- if (!frame)
- return false;
-
- ScriptController* scriptController = frame->script();
- if (!scriptController)
- return false;
-
- String dispatchToFrontend("WebInspector.dispatchMessageFromBackend(");
- dispatchToFrontend += message;
- dispatchToFrontend += ");";
- scriptController->executeScript(dispatchToFrontend);
- return true;
+ return doDispatchMessageOnFrontendPage(m_frontendPage, message);
}
const char* InspectorClient::inspectorFilesPath()
diff --git a/WebKit/qt/ChangeLog b/WebKit/qt/ChangeLog
index 83f543b..130f615 100644
--- a/WebKit/qt/ChangeLog
+++ b/WebKit/qt/ChangeLog
@@ -1,3 +1,13 @@
+2010-10-18 Pavel Feldman <pfeldman at chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ Web Inspector: [crash] when Inspector Open in CSSStyleSelector::loadPendingImages().
+ https://bugs.webkit.org/show_bug.cgi?id=46224
+
+ * WebCoreSupport/InspectorClientQt.cpp:
+ (WebCore::InspectorClientQt::sendMessageToFrontend):
+
2010-10-18 No'am Rosenthal <noam.rosenthal at nokia.com>
Reviewed by Andreas Kling.
diff --git a/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp b/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
index b6673e6..e596870 100644
--- a/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
+++ b/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
@@ -39,7 +39,6 @@
#include "NotImplemented.h"
#include "Page.h"
#include "PlatformString.h"
-#include "ScriptController.h"
#include "ScriptDebugServer.h"
#include "qwebinspector.h"
#include "qwebinspector_p.h"
@@ -266,22 +265,7 @@ bool InspectorClientQt::sendMessageToFrontend(const String& message)
return false;
Page* frontendPage = QWebPagePrivate::core(m_frontendWebPage);
- if (!frontendPage)
- return false;
-
- Frame* frame = frontendPage->mainFrame();
- if (!frame)
- return false;
-
- ScriptController* scriptController = frame->script();
- if (!scriptController)
- return false;
-
- String dispatchToFrontend("WebInspector.dispatchMessageFromBackend(");
- dispatchToFrontend += message;
- dispatchToFrontend += ");";
- scriptController->executeScript(dispatchToFrontend);
- return true;
+ return doDispatchMessageOnFrontendPage(frontendPage, message);
}
static String variantToSetting(const QVariant& qvariant)
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list