⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 136171 in webkit


Ignore:
Timestamp:
Nov 29, 2012, 3:07:23 PM (14 years ago)
Author:
commit-queue@webkit.org
Message:

Source/WebCore: Web Inspector: Web Inspector: Make main-thread monitoring go through InspectorController.
​https://bugs.webkit.org/show_bug.cgi?id=103550

Patch by Eugene Klyuchnikov <​eustas@chromium.org> on 2012-11-29
Reviewed by Pavel Feldman.

InspectorInstrumentation was a wrong path.

  • inspector/InspectorClient.h: Remove start/stop methods.
  • inspector/InspectorController.cpp:

Dispatch main thread activity notifications.

  • inspector/InspectorController.h: Ditto.
  • inspector/InspectorInstrumentation.cpp: Remove dispatching.
  • inspector/InspectorInstrumentation.h: Ditto.
  • inspector/InspectorTimelineAgent.cpp:

Do not subscribe for notifications explicitly.

Source/WebKit/chromium: Web Inspector: Make main-thread monitoring go through InspectorController.
​https://bugs.webkit.org/show_bug.cgi?id=103550

Patch by Eugene Klyuchnikov <​eustas@chromium.org> on 2012-11-29
Reviewed by Pavel Feldman.

InspectorInstrumentation was a wrong path

  • src/InspectorClientImpl.cpp: Remove TaskObserver implementation, and

listen/unlisten methods.

  • src/InspectorClientImpl.h: Ditto.
  • src/WebDevToolsAgentImpl.cpp:

(WebKit::WebDevToolsAgentImpl::attach):
Subscribe for main thread activity events.
(WebKit::WebDevToolsAgentImpl::detach):
Unsubscribe for main thread activity events.
(WebKit::WebDevToolsAgentImpl::willProcessTask): Implement TaskObserver
interface. Froward to InspectorController.
(WebKit::WebDevToolsAgentImpl::didProcessTask): Ditto.

  • src/WebDevToolsAgentImpl.h: Implement TaskObserver interface.
Location:
trunk/Source
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r136168 r136171  
     12012-11-29  Eugene Klyuchnikov  <eustas@chromium.org>
     2
     3        Web Inspector: Web Inspector: Make main-thread monitoring go through InspectorController.
     4        https://bugs.webkit.org/show_bug.cgi?id=103550
     5
     6        Reviewed by Pavel Feldman.
     7
     8        InspectorInstrumentation was a wrong path.
     9
     10        * inspector/InspectorClient.h: Remove start/stop methods.
     11        * inspector/InspectorController.cpp:
     12        Dispatch main thread activity notifications.
     13        * inspector/InspectorController.h: Ditto.
     14        * inspector/InspectorInstrumentation.cpp: Remove dispatching.
     15        * inspector/InspectorInstrumentation.h: Ditto.
     16        * inspector/InspectorTimelineAgent.cpp:
     17        Do not subscribe for notifications explicitly.
     18
    1192012-11-29  Adam Barth  <abarth@webkit.org>
    220
  • trunk/Source/WebCore/inspector/InspectorClient.h

    r135881 r136171  
    5959    virtual void clearBrowserCookies() { }
    6060    virtual bool canMonitorMainThread() { return false; }
    61     virtual void startMainThreadMonitoring() { }
    62     virtual void stopMainThreadMonitoring() { }
    6361
    6462    virtual bool canOverrideDeviceMetrics() { return false; }
  • trunk/Source/WebCore/inspector/InspectorController.cpp

    r135713 r136171  
    400400}
    401401
     402void InspectorController::willProcessTask()
     403{
     404    if (InspectorTimelineAgent* timelineAgent = m_instrumentingAgents->inspectorTimelineAgent())
     405        timelineAgent->willProcessTask();
     406}
     407
     408void InspectorController::didProcessTask()
     409{
     410    if (InspectorTimelineAgent* timelineAgent = m_instrumentingAgents->inspectorTimelineAgent())
     411        timelineAgent->didProcessTask();
     412}
     413
    402414} // namespace WebCore
    403415
  • trunk/Source/WebCore/inspector/InspectorController.h

    r135721 r136171  
    120120    void reportMemoryUsage(MemoryObjectInfo*) const;
    121121
     122    void willProcessTask();
     123    void didProcessTask();
     124
    122125private:
    123126    InspectorController(Page*, InspectorClient*);
  • trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp

    r134931 r136171  
    608608}
    609609
    610 void InspectorInstrumentation::willProcessTaskImpl(InstrumentingAgents* instrumentingAgents)
    611 {
    612     if (InspectorTimelineAgent* timelineAgent = instrumentingAgents->inspectorTimelineAgent())
    613         timelineAgent->willProcessTask();
    614 }
    615 
    616 void InspectorInstrumentation::didProcessTaskImpl(InstrumentingAgents* instrumentingAgents)
    617 {
    618     if (InspectorTimelineAgent* timelineAgent = instrumentingAgents->inspectorTimelineAgent())
    619         timelineAgent->didProcessTask();
    620 }
    621 
    622610void InspectorInstrumentation::applyUserAgentOverrideImpl(InstrumentingAgents* instrumentingAgents, String* userAgent)
    623611{
  • trunk/Source/WebCore/inspector/InspectorInstrumentation.h

    r134931 r136171  
    155155    static InspectorInstrumentationCookie willProcessRule(Document*, const StyleRule*);
    156156    static void didProcessRule(const InspectorInstrumentationCookie&);
    157     static void willProcessTask(Page*);
    158     static void didProcessTask(Page*);
    159157
    160158    static void applyUserAgentOverride(Frame*, String*);
    … …  
    349347    static InspectorInstrumentationCookie willProcessRuleImpl(InstrumentingAgents*, const StyleRule*);
    350348    static void didProcessRuleImpl(const InspectorInstrumentationCookie&);
    351     static void willProcessTaskImpl(InstrumentingAgents*);
    352     static void didProcessTaskImpl(InstrumentingAgents*);
    353349
    354350    static void applyUserAgentOverrideImpl(InstrumentingAgents*, String*);
    … …  
    10331029}
    10341030
    1035 inline void InspectorInstrumentation::willProcessTask(Page* page)
    1036 {
    1037 #if ENABLE(INSPECTOR)
    1038     FAST_RETURN_IF_NO_FRONTENDS(void());
    1039     if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForPage(page))
    1040         willProcessTaskImpl(instrumentingAgents);
    1041 #endif
    1042 }
    1043 
    1044 inline void InspectorInstrumentation::didProcessTask(Page* page)
    1045 {
    1046 #if ENABLE(INSPECTOR)
    1047     FAST_RETURN_IF_NO_FRONTENDS(void());
    1048     if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForPage(page))
    1049         didProcessTaskImpl(instrumentingAgents);
    1050 #endif
    1051 }
    1052 
    10531031inline void InspectorInstrumentation::applyUserAgentOverride(Frame* frame, String* userAgent)
    10541032{
  • trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp

    r134023 r136171  
    169169    m_timestampOffset = currentTime() - monotonicallyIncreasingTime();
    170170
    171     if (m_client)
    172         m_client->startMainThreadMonitoring();
    173 
    174171    m_instrumentingAgents->setInspectorTimelineAgent(this);
    175172    ScriptGCEvent::addEventListener(this);
    … …  
    181178    if (!m_state->getBoolean(TimelineAgentState::timelineAgentEnabled))
    182179        return;
    183 
    184     if (m_client)
    185         m_client->stopMainThreadMonitoring();
    186180
    187181    m_instrumentingAgents->setInspectorTimelineAgent(0);
  • trunk/Source/WebKit/chromium/ChangeLog

    r136138 r136171  
     12012-11-29  Eugene Klyuchnikov  <eustas@chromium.org>
     2
     3        Web Inspector: Make main-thread monitoring go through InspectorController.
     4        https://bugs.webkit.org/show_bug.cgi?id=103550
     5
     6        Reviewed by Pavel Feldman.
     7
     8        InspectorInstrumentation was a wrong path
     9
     10        * src/InspectorClientImpl.cpp: Remove TaskObserver implementation, and
     11        listen/unlisten methods.
     12        * src/InspectorClientImpl.h: Ditto.
     13        * src/WebDevToolsAgentImpl.cpp:
     14        (WebKit::WebDevToolsAgentImpl::attach):
     15        Subscribe for main thread activity events.
     16        (WebKit::WebDevToolsAgentImpl::detach):
     17        Unsubscribe for main thread activity events.
     18        (WebKit::WebDevToolsAgentImpl::willProcessTask): Implement TaskObserver
     19        interface. Froward to InspectorController.
     20        (WebKit::WebDevToolsAgentImpl::didProcessTask): Ditto.
     21        * src/WebDevToolsAgentImpl.h: Implement TaskObserver interface.
     22
    1232012-11-29  Stephen Chenney  <schenney@chromium.org>
    224
  • trunk/Source/WebKit/chromium/src/InspectorClientImpl.cpp

    r135881 r136171  
    4040#include "WebViewClient.h"
    4141#include "WebViewImpl.h"
    42 #include <public/Platform.h>
    4342#include <public/WebRect.h>
    4443#include <public/WebURL.h>
    … …  
    137136}
    138137
    139 void InspectorClientImpl::startMainThreadMonitoring()
    140 {
    141     WebKit::Platform::current()->currentThread()->addTaskObserver(this);
    142 }
    143 
    144 void InspectorClientImpl::stopMainThreadMonitoring()
    145 {
    146     WebKit::Platform::current()->currentThread()->removeTaskObserver(this);
    147 }
    148 
    149138bool InspectorClientImpl::canOverrideDeviceMetrics()
    150139{
    … …  
    201190}
    202191
    203 void InspectorClientImpl::willProcessTask()
    204 {
    205     InspectorInstrumentation::willProcessTask(m_inspectedWebView->page());
    206 }
    207 
    208 void InspectorClientImpl::didProcessTask()
    209 {
    210     InspectorInstrumentation::didProcessTask(m_inspectedWebView->page());
    211 }
    212 
    213192WebDevToolsAgentImpl* InspectorClientImpl::devToolsAgent()
    214193{
  • trunk/Source/WebKit/chromium/src/InspectorClientImpl.h

    r135881 r136171  
    3535#include "InspectorController.h"
    3636#include "InspectorFrontendChannel.h"
    37 #include <public/WebThread.h>
    3837#include <wtf/OwnPtr.h>
    3938
    … …  
    4544
    4645class InspectorClientImpl : public WebCore::InspectorClient,
    47                             public WebCore::InspectorFrontendChannel,
    48                             public WebThread::TaskObserver {
     46                            public WebCore::InspectorFrontendChannel {
    4947public:
    5048    InspectorClientImpl(WebViewImpl*);
    … …  
    7169
    7270    virtual bool canMonitorMainThread();
    73     virtual void startMainThreadMonitoring();
    74     virtual void stopMainThreadMonitoring();
    7571
    7672    virtual bool canOverrideDeviceMetrics();
    … …  
    9086
    9187private:
    92     // WebThread::TaskObserver
    93     virtual void willProcessTask();
    94     virtual void didProcessTask();
    95 
    9688    WebDevToolsAgentImpl* devToolsAgent();
    9789
  • trunk/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp

    r133191 r136171  
    5757#include "WebViewClient.h"
    5858#include "WebViewImpl.h"
     59#include <public/Platform.h>
    5960#include <public/WebRect.h>
    6061#include <public/WebString.h>
    … …  
    383384    inspectorController()->connectFrontend(this);
    384385    inspectorController()->webViewResized(m_webViewImpl->size());
     386    WebKit::Platform::current()->currentThread()->addTaskObserver(this);
    385387    m_attached = true;
    386388}
    … …  
    398400void WebDevToolsAgentImpl::detach()
    399401{
     402    WebKit::Platform::current()->currentThread()->removeTaskObserver(this);
     403
    400404    // Prevent controller from sending messages to the frontend.
    401405    InspectorController* ic = inspectorController();
    … …  
    655659    InspectorController* ic = inspectorController();
    656660    ic->evaluateForTestInFrontend(callId, script);
     661}
     662
     663void WebDevToolsAgentImpl::willProcessTask()
     664{
     665    if (InspectorController* ic = inspectorController())
     666        ic->willProcessTask();
     667}
     668
     669void WebDevToolsAgentImpl::didProcessTask()
     670{
     671    if (InspectorController* ic = inspectorController())
     672        ic->didProcessTask();
    657673}
    658674
  • trunk/Source/WebKit/chromium/src/WebDevToolsAgentImpl.h

    r131869 r136171  
    3838#include "WebPageOverlay.h"
    3939#include <public/WebSize.h>
     40#include <public/WebThread.h>
    4041#include <wtf/Forward.h>
    4142#include <wtf/OwnPtr.h>
    … …  
    6768                             public WebCore::InspectorClient,
    6869                             public WebCore::InspectorFrontendChannel,
    69                              public WebPageOverlay {
     70                             public WebPageOverlay,
     71                             private WebThread::TaskObserver {
    7072public:
    7173    WebDevToolsAgentImpl(WebViewImpl* webViewImpl, WebDevToolsAgentClient* client);
    … …  
    115117
    116118private:
     119    // WebThread::TaskObserver
     120    virtual void willProcessTask();
     121    virtual void didProcessTask();
     122
    117123    WebCore::InspectorController* inspectorController();
    118124    WebCore::Frame* mainFrame();
Note: See TracChangeset for help on using the changeset viewer.