Diff
Modified: trunk/Source/Platform/ChangeLog (120317 => 120318)
--- trunk/Source/Platform/ChangeLog 2012-06-14 13:05:00 UTC (rev 120317)
+++ trunk/Source/Platform/ChangeLog 2012-06-14 13:26:51 UTC (rev 120318)
@@ -1,3 +1,17 @@
+2012-06-14 Eugene Klyuchnikov <[email protected]>
+
+ Web Inspector: Refactor message loop instrumentation.
+ https://bugs.webkit.org/show_bug.cgi?id=88978
+
+ Reviewed by Pavel Feldman.
+
+ 1) Remove "messageLoop" term
+ 2) Reuse WebThread::TaskObserver interface
+ 3) Move implementation (from embedder) to platform code.
+
+ * chromium/public/WebThread.h:
+ (TaskObserver): add "willProcessTask" method.
+
2012-06-13 Sheriff Bot <[email protected]>
Unreviewed, rolling out r120268.
Modified: trunk/Source/Platform/chromium/public/WebThread.h (120317 => 120318)
--- trunk/Source/Platform/chromium/public/WebThread.h 2012-06-14 13:05:00 UTC (rev 120317)
+++ trunk/Source/Platform/chromium/public/WebThread.h 2012-06-14 13:26:51 UTC (rev 120318)
@@ -46,6 +46,7 @@
class TaskObserver {
public:
virtual ~TaskObserver() { }
+ virtual void willProcessTask() = 0;
virtual void didProcessTask() = 0;
};
Modified: trunk/Source/WebCore/ChangeLog (120317 => 120318)
--- trunk/Source/WebCore/ChangeLog 2012-06-14 13:05:00 UTC (rev 120317)
+++ trunk/Source/WebCore/ChangeLog 2012-06-14 13:26:51 UTC (rev 120318)
@@ -1,3 +1,21 @@
+2012-06-14 Eugene Klyuchnikov <[email protected]>
+
+ Web Inspector: Refactor message loop instrumentation.
+ https://bugs.webkit.org/show_bug.cgi?id=88978
+
+ Reviewed by Pavel Feldman.
+
+ 1) Remove "messageLoop" term
+ 2) Reuse WebThread::TaskObserver interface
+ 3) Move implementation (from embedder) to platform code.
+
+ * inspector/InspectorClient.h:
+ (WebCore::InspectorClient::startMainThreadMonitoring): Renamed method.
+ (WebCore::InspectorClient::stopMainThreadMonitoring): Ditto.
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::start):
+ (WebCore::InspectorTimelineAgent::stop):
+
2012-06-14 Dominik Röttsches <[email protected]>
[svg] SVGResources applied to Text with Incorrect Transformations in non-CG Implementations
Modified: trunk/Source/WebCore/inspector/InspectorClient.h (120317 => 120318)
--- trunk/Source/WebCore/inspector/InspectorClient.h 2012-06-14 13:05:00 UTC (rev 120317)
+++ trunk/Source/WebCore/inspector/InspectorClient.h 2012-06-14 13:26:51 UTC (rev 120318)
@@ -55,8 +55,8 @@
virtual void clearBrowserCache() { }
virtual bool canClearBrowserCookies() { return false; }
virtual void clearBrowserCookies() { }
- virtual void startMessageLoopMonitoring() { }
- virtual void stopMessageLoopMonitoring() { }
+ virtual void startMainThreadMonitoring() { }
+ virtual void stopMainThreadMonitoring() { }
virtual bool canOverrideDeviceMetrics() { return false; }
Modified: trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp (120317 => 120318)
--- trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp 2012-06-14 13:05:00 UTC (rev 120317)
+++ trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp 2012-06-14 13:26:51 UTC (rev 120318)
@@ -156,7 +156,7 @@
m_timestampOffset = currentTime() - monotonicallyIncreasingTime();
if (m_client)
- m_client->startMessageLoopMonitoring();
+ m_client->startMainThreadMonitoring();
m_instrumentingAgents->setInspectorTimelineAgent(this);
ScriptGCEvent::addEventListener(this);
@@ -169,7 +169,7 @@
return;
if (m_client)
- m_client->stopMessageLoopMonitoring();
+ m_client->stopMainThreadMonitoring();
m_instrumentingAgents->setInspectorTimelineAgent(0);
ScriptGCEvent::removeEventListener(this);
Modified: trunk/Source/WebKit/chromium/ChangeLog (120317 => 120318)
--- trunk/Source/WebKit/chromium/ChangeLog 2012-06-14 13:05:00 UTC (rev 120317)
+++ trunk/Source/WebKit/chromium/ChangeLog 2012-06-14 13:26:51 UTC (rev 120318)
@@ -1,3 +1,34 @@
+2012-06-14 Eugene Klyuchnikov <[email protected]>
+
+ Web Inspector: Refactor message loop instrumentation.
+ https://bugs.webkit.org/show_bug.cgi?id=88978
+
+ Reviewed by Pavel Feldman.
+
+ 1) Remove "messageLoop" term
+ 2) Reuse WebThread::TaskObserver interface
+ 3) Move implementation (from embedder) to platform code.
+
+ * public/WebDevToolsAgent.h:
+ (WebDevToolsAgent):
+ * public/WebDevToolsAgentClient.h:
+ (WebDevToolsAgentClient):
+ (WebKit::WebDevToolsAgentClient::startMainThreadMonitoring): Renamed medthod.
+ (WebKit::WebDevToolsAgentClient::stopMainThreadMonitoring): Ditto.
+ * src/InspectorClientImpl.cpp:
+ (WebKit::InspectorClientImpl::startMainThreadMonitoring): Ditto.
+ (WebKit::InspectorClientImpl::stopMainThreadMonitoring): Ditto.
+ * src/InspectorClientImpl.h:
+ (InspectorClientImpl):
+ * src/WebDevToolsAgentImpl.cpp:
+ (WebKit::WebDevToolsAgentImpl::startMainThreadMonitoring): Use platform threading.
+ (WebKit::WebDevToolsAgentImpl::stopMainThreadMonitoring): Ditto.
+ (WebKit::WebDevToolsAgentImpl::willProcessTask): Renamed medthod.
+ (WebKit::WebDevToolsAgentImpl::didProcessTask): Ditto.
+ * src/WebDevToolsAgentImpl.h:
+ (WebDevToolsAgentImpl):
+ * src/WebKit.cpp:
+
2012-06-14 Alexander Pavlov <[email protected]>
Web Inspector: [Device Metrics] "Fit window" results in duplicate rescaling in WebDevToolsAgentImpl::autoZoomPageToFitWidth()
Modified: trunk/Source/WebKit/chromium/public/WebDevToolsAgent.h (120317 => 120318)
--- trunk/Source/WebKit/chromium/public/WebDevToolsAgent.h 2012-06-14 13:05:00 UTC (rev 120317)
+++ trunk/Source/WebKit/chromium/public/WebDevToolsAgent.h 2012-06-14 13:26:51 UTC (rev 120318)
@@ -69,14 +69,6 @@
// Exposed for LayoutTestController.
virtual void evaluateInWebInspector(long callId, const WebString& script) = 0;
- // Instrumentation method that marks beginning of task processing
- // in renderer message loop.
- virtual void instrumentWillProcessTask() = 0;
-
- // Instrumentation method that marks end of task processing
- // in renderer message loop.
- virtual void instrumentDidProcessTask() = 0;
-
class MessageDescriptor {
public:
virtual ~MessageDescriptor() { }
Modified: trunk/Source/WebKit/chromium/public/WebDevToolsAgentClient.h (120317 => 120318)
--- trunk/Source/WebKit/chromium/public/WebDevToolsAgentClient.h 2012-06-14 13:05:00 UTC (rev 120317)
+++ trunk/Source/WebKit/chromium/public/WebDevToolsAgentClient.h 2012-06-14 13:26:51 UTC (rev 120318)
@@ -58,13 +58,12 @@
};
virtual WebKitClientMessageLoop* createClientMessageLoop() { return 0; }
- // Add task observer to message loop that is responsible for rendering
- // of instrumented page. Corresponding WebDevToolsAgent should be notified
- // about beginning and finishing of task processing in message loop.
- virtual void startMessageLoopMonitoring() { }
+ // Add task observer to main thread. Corresponding WebDevToolsAgent
+ // should be notified about beginning and finishing of task processing.
+ virtual void startMainThreadMonitoring() { }
- // Remove task observer added by "startMessageLoopMonitoring".
- virtual void stopMessageLoopMonitoring() { }
+ // Remove task observer added by "startMainThreadMonitoring".
+ virtual void stopMainThreadMonitoring() { }
virtual void clearBrowserCache() { }
virtual void clearBrowserCookies() { }
Modified: trunk/Source/WebKit/chromium/src/InspectorClientImpl.cpp (120317 => 120318)
--- trunk/Source/WebKit/chromium/src/InspectorClientImpl.cpp 2012-06-14 13:05:00 UTC (rev 120317)
+++ trunk/Source/WebKit/chromium/src/InspectorClientImpl.cpp 2012-06-14 13:26:51 UTC (rev 120318)
@@ -128,16 +128,16 @@
agent->clearBrowserCookies();
}
-void InspectorClientImpl::startMessageLoopMonitoring()
+void InspectorClientImpl::startMainThreadMonitoring()
{
if (WebDevToolsAgentImpl* agent = devToolsAgent())
- agent->startMessageLoopMonitoring();
+ agent->startMainThreadMonitoring();
}
-void InspectorClientImpl::stopMessageLoopMonitoring()
+void InspectorClientImpl::stopMainThreadMonitoring()
{
if (WebDevToolsAgentImpl* agent = devToolsAgent())
- agent->stopMessageLoopMonitoring();
+ agent->stopMainThreadMonitoring();
}
bool InspectorClientImpl::canOverrideDeviceMetrics()
Modified: trunk/Source/WebKit/chromium/src/InspectorClientImpl.h (120317 => 120318)
--- trunk/Source/WebKit/chromium/src/InspectorClientImpl.h 2012-06-14 13:05:00 UTC (rev 120317)
+++ trunk/Source/WebKit/chromium/src/InspectorClientImpl.h 2012-06-14 13:26:51 UTC (rev 120318)
@@ -64,8 +64,8 @@
virtual bool canClearBrowserCookies();
virtual void clearBrowserCookies();
- virtual void startMessageLoopMonitoring();
- virtual void stopMessageLoopMonitoring();
+ virtual void startMainThreadMonitoring();
+ virtual void stopMainThreadMonitoring();
virtual bool canOverrideDeviceMetrics();
virtual void overrideDeviceMetrics(int, int, float, bool);
Modified: trunk/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp (120317 => 120318)
--- trunk/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp 2012-06-14 13:05:00 UTC (rev 120317)
+++ trunk/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp 2012-06-14 13:26:51 UTC (rev 120318)
@@ -65,6 +65,7 @@
#include "platform/WebURLResponse.h"
#include "WebViewClient.h"
#include "WebViewImpl.h"
+#include <public/Platform.h>
#include <wtf/CurrentTime.h>
#include <wtf/MathExtras.h>
#include <wtf/Noncopyable.h>
@@ -547,23 +548,23 @@
m_client->clearBrowserCookies();
}
-void WebDevToolsAgentImpl::startMessageLoopMonitoring()
+void WebDevToolsAgentImpl::startMainThreadMonitoring()
{
- m_client->startMessageLoopMonitoring();
+ WebKit::Platform::current()->currentThread()->addTaskObserver(this);
}
-void WebDevToolsAgentImpl::stopMessageLoopMonitoring()
+void WebDevToolsAgentImpl::stopMainThreadMonitoring()
{
- m_client->stopMessageLoopMonitoring();
+ WebKit::Platform::current()->currentThread()->removeTaskObserver(this);
}
-void WebDevToolsAgentImpl::instrumentWillProcessTask()
+void WebDevToolsAgentImpl::willProcessTask()
{
if (Page* page = m_webViewImpl->page())
InspectorInstrumentation::willProcessTask(page);
}
-void WebDevToolsAgentImpl::instrumentDidProcessTask()
+void WebDevToolsAgentImpl::didProcessTask()
{
if (Page* page = m_webViewImpl->page())
InspectorInstrumentation::didProcessTask(page);
Modified: trunk/Source/WebKit/chromium/src/WebDevToolsAgentImpl.h (120317 => 120318)
--- trunk/Source/WebKit/chromium/src/WebDevToolsAgentImpl.h 2012-06-14 13:05:00 UTC (rev 120317)
+++ trunk/Source/WebKit/chromium/src/WebDevToolsAgentImpl.h 2012-06-14 13:26:51 UTC (rev 120318)
@@ -36,6 +36,7 @@
#include "WebDevToolsAgentPrivate.h"
#include "WebPageOverlay.h"
#include "platform/WebSize.h"
+#include "platform/WebThread.h"
#include <wtf/Forward.h>
#include <wtf/OwnPtr.h>
@@ -65,7 +66,8 @@
class WebDevToolsAgentImpl : public WebDevToolsAgentPrivate,
public WebCore::InspectorClient,
- public WebPageOverlay {
+ public WebPageOverlay,
+ public WebThread::TaskObserver {
public:
WebDevToolsAgentImpl(WebViewImpl* webViewImpl, WebDevToolsAgentClient* client);
virtual ~WebDevToolsAgentImpl();
@@ -85,8 +87,6 @@
virtual void inspectElementAt(const WebPoint& point);
virtual void evaluateInWebInspector(long callId, const WebString& script);
virtual void setProcessId(long);
- virtual void instrumentWillProcessTask();
- virtual void instrumentDidProcessTask();
// InspectorClient implementation.
virtual void inspectorDestroyed();
@@ -102,8 +102,8 @@
virtual void clearBrowserCache();
virtual void clearBrowserCookies();
- virtual void startMessageLoopMonitoring();
- virtual void stopMessageLoopMonitoring();
+ virtual void startMainThreadMonitoring();
+ virtual void stopMainThreadMonitoring();
virtual void overrideDeviceMetrics(int width, int height, float fontScaleFactor, bool fitWindow);
virtual void autoZoomPageToFitWidth();
@@ -113,6 +113,10 @@
// WebPageOverlay
virtual void paintPageOverlay(WebCanvas*);
+ // WebThread::TaskObserver
+ virtual void willProcessTask();
+ virtual void didProcessTask();
+
private:
WebCore::InspectorController* inspectorController();
WebCore::Frame* mainFrame();
Modified: trunk/Source/WebKit/chromium/src/WebKit.cpp (120317 => 120318)
--- trunk/Source/WebKit/chromium/src/WebKit.cpp 2012-06-14 13:05:00 UTC (rev 120317)
+++ trunk/Source/WebKit/chromium/src/WebKit.cpp 2012-06-14 13:26:51 UTC (rev 120318)
@@ -63,6 +63,7 @@
class EndOfTaskRunner : public WebThread::TaskObserver {
public:
+ virtual void willProcessTask() { }
virtual void didProcessTask()
{
WebCore::WebKitMutationObserver::deliverAllMutations();