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

Changeset 244172 in webkit


Ignore:
Timestamp:
Apr 10, 2019, 5:33:29 PM (7 years ago)
Author:
Devin Rousso
Message:

Source/JavaScriptCore:

Web Inspector: Inspector: lazily create the agent
https://bugs.webkit.org/show_bug.cgi?id=195971
<rdar://problem/49039645>

Reviewed by Joseph Pecoraro.

  • inspector/JSGlobalObjectInspectorController.cpp: (Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController): (Inspector::JSGlobalObjectInspectorController::connectFrontend): (Inspector::JSGlobalObjectInspectorController::appendExtraAgent): (Inspector::JSGlobalObjectInspectorController::createLazyAgents):
  • inspector/agents/InspectorAgent.h:
  • inspector/agents/InspectorAgent.cpp:

Source/WebCore:
Web Inspector: Inspector: lazily create the agent
https://bugs.webkit.org/show_bug.cgi?id=195971
<rdar://problem/49039645>

Reviewed by Joseph Pecoraro.

No change in functionality.

  • inspector/InspectorController.h:
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::createLazyAgents):
(WebCore::InspectorController::evaluateForTestInFrontend):
(WebCore::InspectorController::ensureInspectorAgent):

Location:
trunk/Source
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r244163 r244172  
     12019-04-10  Devin Rousso  <drousso@apple.com>
     2
     3       Web Inspector: Inspector: lazily create the agent
     4       https://bugs.webkit.org/show_bug.cgi?id=195971
     5       <rdar://problem/49039645>
     6
     7       Reviewed by Joseph Pecoraro.
     8
     9       * inspector/JSGlobalObjectInspectorController.cpp:
     10       (Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
     11       (Inspector::JSGlobalObjectInspectorController::connectFrontend):
     12       (Inspector::JSGlobalObjectInspectorController::appendExtraAgent):
     13       (Inspector::JSGlobalObjectInspectorController::createLazyAgents):
     14
     15       * inspector/agents/InspectorAgent.h:
     16       * inspector/agents/InspectorAgent.cpp:
     17
    1182019-04-10  Saam Barati  <sbarati@apple.com>
    219
  • trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp

    r243243 r244172  
    7272    auto context = jsAgentContext();
    7373
    74     auto inspectorAgent = std::make_unique<InspectorAgent>(context);
    7574    auto consoleAgent = std::make_unique<InspectorConsoleAgent>(context);
    76 
    77     m_inspectorAgent = inspectorAgent.get();
    7875    m_consoleAgent = consoleAgent.get();
     76    m_agents.append(WTFMove(consoleAgent));
     77
    7978    m_consoleClient = std::make_unique<JSGlobalObjectConsoleClient>(m_consoleAgent);
    80 
    81     m_agents.append(WTFMove(inspectorAgent));
    82     m_agents.append(WTFMove(consoleAgent));
    8379
    8480    m_executionStopwatch->start();
     
    123119
    124120#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
     121    ASSERT(m_inspectorAgent);
    125122    m_inspectorAgent->activateExtraDomains(m_agents.extraDomains());
    126123
     
    278275    m_agents.appendExtraAgent(WTFMove(agent));
    279276
     277    ASSERT(m_inspectorAgent);
    280278    m_inspectorAgent->activateExtraDomain(domainName);
    281279}
     
    308306    auto context = jsAgentContext();
    309307
     308    auto inspectorAgent = std::make_unique<InspectorAgent>(context);
     309    m_inspectorAgent = inspectorAgent.get();
     310    m_agents.append(WTFMove(inspectorAgent));
     311
    310312    m_agents.append(std::make_unique<JSGlobalObjectRuntimeAgent>(context));
    311313
  • trunk/Source/JavaScriptCore/inspector/agents/InspectorAgent.cpp

    r239460 r244172  
    4343    , m_frontendDispatcher(std::make_unique<InspectorFrontendDispatcher>(context.frontendRouter))
    4444    , m_backendDispatcher(InspectorBackendDispatcher::create(context.backendDispatcher, this))
    45 {
    46 }
    47 
    48 InspectorAgent::~InspectorAgent()
    4945{
    5046}
  • trunk/Source/JavaScriptCore/inspector/agents/InspectorAgent.h

    r239460 r244172  
    4848public:
    4949    InspectorAgent(AgentContext&);
    50     virtual ~InspectorAgent();
     50    virtual ~InspectorAgent() = default;
    5151
    5252    void didCreateFrontendAndBackend(FrontendRouter*, BackendDispatcher*) override;
  • trunk/Source/WebCore/ChangeLog

    r244169 r244172  
     12019-04-10  Devin Rousso  <drousso@apple.com>
     2
     3        Web Inspector: Inspector: lazily create the agent
     4        https://bugs.webkit.org/show_bug.cgi?id=195971
     5        <rdar://problem/49039645>
     6
     7        Reviewed by Joseph Pecoraro.
     8
     9        No change in functionality.
     10
     11        * inspector/InspectorController.h:
     12        * inspector/InspectorController.cpp:
     13        (WebCore::InspectorController::InspectorController):
     14        (WebCore::InspectorController::createLazyAgents):
     15        (WebCore::InspectorController::evaluateForTestInFrontend):
     16        (WebCore::InspectorController::ensureInspectorAgent):
     17
    1182019-04-10  Megan Gardner  <megan_gardner@apple.com>
    219
  • trunk/Source/WebCore/inspector/InspectorController.cpp

    r244167 r244172  
    107107    auto pageContext = pageAgentContext();
    108108
    109     auto inspectorAgentPtr = std::make_unique<InspectorAgent>(pageContext);
    110     m_inspectorAgent = inspectorAgentPtr.get();
    111     m_instrumentingAgents->setInspectorAgent(m_inspectorAgent);
    112     m_agents.append(WTFMove(inspectorAgentPtr));
    113 
    114109    auto consoleAgent = std::make_unique<PageConsoleAgent>(pageContext);
    115110    m_instrumentingAgents->setWebConsoleAgent(consoleAgent.get());
     
    158153    auto pageContext = pageAgentContext();
    159154
     155    ensureInspectorAgent();
    160156    ensurePageAgent();
    161157
     
    360356void InspectorController::evaluateForTestInFrontend(const String& script)
    361357{
    362     m_inspectorAgent->evaluateForTestInFrontend(script);
     358    ensureInspectorAgent().evaluateForTestInFrontend(script);
    363359}
    364360
     
    421417}
    422418
     419InspectorAgent& InspectorController::ensureInspectorAgent()
     420{
     421    if (!m_inspectorAgent) {
     422        auto pageContext = pageAgentContext();
     423        auto inspectorAgent = std::make_unique<InspectorAgent>(pageContext);
     424        m_inspectorAgent = inspectorAgent.get();
     425        m_instrumentingAgents->setInspectorAgent(m_inspectorAgent);
     426        m_agents.append(WTFMove(inspectorAgent));
     427    }
     428    return *m_inspectorAgent;
     429}
     430
    423431InspectorDOMAgent& InspectorController::ensureDOMAgent()
    424432{
  • trunk/Source/WebCore/inspector/InspectorController.h

    r244167 r244172  
    107107    InspectorFrontendClient* inspectorFrontendClient() const { return m_inspectorFrontendClient; }
    108108
     109    Inspector::InspectorAgent& ensureInspectorAgent();
    109110    InspectorDOMAgent& ensureDOMAgent();
    110111    WEBCORE_EXPORT InspectorPageAgent& ensurePageAgent();
     
    139140    InspectorFrontendClient* m_inspectorFrontendClient { nullptr };
    140141
     142    // Lazy, but also on-demand agents.
    141143    Inspector::InspectorAgent* m_inspectorAgent { nullptr };
    142 
    143     // Lazy, but also on-demand agents.
    144144    InspectorDOMAgent* m_inspectorDOMAgent { nullptr };
    145145    InspectorPageAgent* m_inspectorPageAgent { nullptr };
Note: See TracChangeset for help on using the changeset viewer.