Changeset 84134 in webkit


Ignore:
Timestamp:
Apr 18, 2011 5:25:43 AM (13 years ago)
Author:
loislo@chromium.org
Message:

2011-04-18 Ilya Tikhonovsky <loislo@chromium.org>

Reviewed by Yury Semikhatsky.

Web Inspector: Database agent stops to propagate it's events after navigation.
https://bugs.webkit.org/show_bug.cgi?id=58776

  • inspector/InspectorAgent.cpp: (WebCore::InspectorAgent::InspectorAgent): (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
  • inspector/InspectorDatabaseAgent.cpp: (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent): (WebCore::InspectorDatabaseAgent::clearFrontend): (WebCore::InspectorDatabaseAgent::enable): (WebCore::InspectorDatabaseAgent::disable): (WebCore::InspectorDatabaseAgent::restore):
  • inspector/InspectorDatabaseAgent.h: (WebCore::InspectorDatabaseAgent::create):
Location:
trunk/Source/WebCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r84126 r84134  
     12011-04-18  Ilya Tikhonovsky  <loislo@chromium.org>
     2
     3        Reviewed by Yury Semikhatsky.
     4
     5        Web Inspector: Database agent stops to propagate it's events after navigation.
     6        https://bugs.webkit.org/show_bug.cgi?id=58776
     7
     8        * inspector/InspectorAgent.cpp:
     9        (WebCore::InspectorAgent::InspectorAgent):
     10        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
     11        * inspector/InspectorDatabaseAgent.cpp:
     12        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
     13        (WebCore::InspectorDatabaseAgent::clearFrontend):
     14        (WebCore::InspectorDatabaseAgent::enable):
     15        (WebCore::InspectorDatabaseAgent::disable):
     16        (WebCore::InspectorDatabaseAgent::restore):
     17        * inspector/InspectorDatabaseAgent.h:
     18        (WebCore::InspectorDatabaseAgent::create):
     19
    1202011-04-18  Sheriff Bot  <webkit.review.bot@gmail.com>
    221
  • trunk/Source/WebCore/inspector/InspectorAgent.cpp

    r83599 r84134  
    117117    , m_cssAgent(new InspectorCSSAgent(m_instrumentingAgents.get(), m_domAgent.get()))
    118118#if ENABLE(DATABASE)
    119     , m_databaseAgent(InspectorDatabaseAgent::create(m_instrumentingAgents.get()))
     119    , m_databaseAgent(InspectorDatabaseAgent::create(m_instrumentingAgents.get(), m_state.get()))
    120120#endif
    121121#if ENABLE(DOM_STORAGE)
     
    196196    m_resourceAgent->restore();
    197197    m_timelineAgent->restore();
     198
     199#if ENABLE(DATABASE)
     200    m_databaseAgent->restore();
     201#endif
    198202
    199203#if ENABLE(JAVASCRIPT_DEBUGGER)
  • trunk/Source/WebCore/inspector/InspectorDatabaseAgent.cpp

    r84080 r84134  
    3737#include "InspectorDatabaseResource.h"
    3838#include "InspectorFrontend.h"
     39#include "InspectorState.h"
    3940#include "InspectorValues.h"
    4041#include "InstrumentingAgents.h"
     
    5253
    5354namespace WebCore {
     55
     56namespace DatabaseAgentState {
     57static const char databaseAgentEnabled[] = "databaseAgentEnabled";
     58};
    5459
    5560class InspectorDatabaseAgent::FrontendProvider : public RefCounted<InspectorDatabaseAgent::FrontendProvider> {
     
    238243}
    239244
    240 InspectorDatabaseAgent::InspectorDatabaseAgent(InstrumentingAgents* instrumentingAgents)
     245InspectorDatabaseAgent::InspectorDatabaseAgent(InstrumentingAgents* instrumentingAgents, InspectorState* state)
    241246    : m_instrumentingAgents(instrumentingAgents)
     247    , m_inspectorState(state)
    242248    , m_enabled(false)
    243249{
     
    259265    m_frontendProvider->clearFrontend();
    260266    m_frontendProvider.clear();
    261     m_enabled = false;
     267    disable(0);
    262268}
    263269
     
    267273        return;
    268274    m_enabled = true;
     275    m_inspectorState->setBoolean(DatabaseAgentState::databaseAgentEnabled, m_enabled);
    269276
    270277    DatabaseResourcesMap::iterator databasesEnd = m_resources.end();
     
    278285        return;
    279286    m_enabled = false;
     287    m_inspectorState->setBoolean(DatabaseAgentState::databaseAgentEnabled, m_enabled);
     288}
     289
     290void InspectorDatabaseAgent::restore()
     291{
     292    m_enabled =  m_inspectorState->getBoolean(DatabaseAgentState::databaseAgentEnabled);
    280293}
    281294
  • trunk/Source/WebCore/inspector/InspectorDatabaseAgent.h

    r84080 r84134  
    4040class InspectorDatabaseResource;
    4141class InspectorFrontend;
     42class InspectorState;
    4243class InstrumentingAgents;
    4344
     
    4849    class FrontendProvider;
    4950
    50     static PassOwnPtr<InspectorDatabaseAgent> create(InstrumentingAgents* instrumentingAgents)
     51    static PassOwnPtr<InspectorDatabaseAgent> create(InstrumentingAgents* instrumentingAgents, InspectorState* state)
    5152    {
    52         return adoptPtr(new InspectorDatabaseAgent(instrumentingAgents));
     53        return adoptPtr(new InspectorDatabaseAgent(instrumentingAgents, state));
    5354    }
    5455    ~InspectorDatabaseAgent();
     
    5859
    5960    void clearResources();
     61    void restore();
    6062
    6163    // Called from the front-end.
     
    7072    void didOpenDatabase(PassRefPtr<Database>, const String& domain, const String& name, const String& version);
    7173private:
    72     explicit InspectorDatabaseAgent(InstrumentingAgents*);
     74    explicit InspectorDatabaseAgent(InstrumentingAgents*, InspectorState*);
    7375
    7476    Database* databaseForId(int databaseId);
     
    7678
    7779    InstrumentingAgents* m_instrumentingAgents;
     80    InspectorState* m_inspectorState;
    7881    typedef HashMap<int, RefPtr<InspectorDatabaseResource> > DatabaseResourcesMap;
    7982    DatabaseResourcesMap m_resources;
Note: See TracChangeset for help on using the changeset viewer.