Changeset 84080 in webkit


Ignore:
Timestamp:
Apr 15, 2011 10:32:07 PM (13 years ago)
Author:
loislo@chromium.org
Message:

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

Reviewed by Pavel Feldman.

Web Inspector: The list of Database entries is empty if the page opens a database just before Web Inspector.
https://bugs.webkit.org/show_bug.cgi?id=57833

  • http/tests/inspector-enabled/database-open.html:

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

Reviewed by Pavel Feldman.

Web Inspector: The list of Database entries is empty if the page opens a database just before Web Inspector.
https://bugs.webkit.org/show_bug.cgi?id=57833

  • inspector/Inspector.json:
  • inspector/InspectorDatabaseAgent.cpp: (WebCore::InspectorDatabaseAgent::didOpenDatabase): (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent): (WebCore::InspectorDatabaseAgent::setFrontend): (WebCore::InspectorDatabaseAgent::clearFrontend): (WebCore::InspectorDatabaseAgent::enable): (WebCore::InspectorDatabaseAgent::disable): (WebCore::InspectorDatabaseAgent::getDatabaseTableNames): (WebCore::InspectorDatabaseAgent::executeSQL):
  • inspector/InspectorDatabaseAgent.h:
  • inspector/front-end/inspector.js:
Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r84077 r84080  
     12011-04-15  Ilya Tikhonovsky  <loislo@chromium.org>
     2
     3        Reviewed by Pavel Feldman.
     4
     5        Web Inspector: The list of Database entries is empty if the page opens a database just before Web Inspector.
     6        https://bugs.webkit.org/show_bug.cgi?id=57833
     7
     8        * http/tests/inspector-enabled/database-open.html:
     9
    1102011-04-15  Adam Barth  <abarth@webkit.org>
    211
  • trunk/LayoutTests/http/tests/inspector-enabled/database-open.html

    r83861 r84080  
    1919function test()
    2020{
    21     var databases = WebInspector.panels.resources._databases;
    22     for (var i = 0; i < databases.length; ++i) {
    23         InspectorTest.addResult("Name: " + databases[i].name);
    24         InspectorTest.addResult("Version: " + databases[i].version);
    25         InspectorTest.addResult("Domain: " + databases[i].domain);
     21    function run()
     22    {
     23        var databases = WebInspector.panels.resources._databases;
     24        for (var i = 0; i < databases.length; ++i) {
     25            InspectorTest.addResult("Name: " + databases[i].name);
     26            InspectorTest.addResult("Version: " + databases[i].version);
     27            InspectorTest.addResult("Domain: " + databases[i].domain);
     28        }
     29        InspectorTest.completeTest();
    2630    }
    27     InspectorTest.completeTest();
     31    InspectorBackend.runAfterPendingDispatches(run);
    2832}
    2933
  • trunk/Source/WebCore/ChangeLog

    r84077 r84080  
     12011-04-15  Ilya Tikhonovsky  <loislo@chromium.org>
     2
     3        Reviewed by Pavel Feldman.
     4
     5        Web Inspector: The list of Database entries is empty if the page opens a database just before Web Inspector.
     6        https://bugs.webkit.org/show_bug.cgi?id=57833
     7
     8        * inspector/Inspector.json:
     9        * inspector/InspectorDatabaseAgent.cpp:
     10        (WebCore::InspectorDatabaseAgent::didOpenDatabase):
     11        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
     12        (WebCore::InspectorDatabaseAgent::setFrontend):
     13        (WebCore::InspectorDatabaseAgent::clearFrontend):
     14        (WebCore::InspectorDatabaseAgent::enable):
     15        (WebCore::InspectorDatabaseAgent::disable):
     16        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
     17        (WebCore::InspectorDatabaseAgent::executeSQL):
     18        * inspector/InspectorDatabaseAgent.h:
     19        * inspector/front-end/inspector.js:
     20
    1212011-04-15  Adam Barth  <abarth@webkit.org>
    222
  • trunk/Source/WebCore/inspector/Inspector.json

    r83987 r84080  
    579579        "types": [],
    580580        "commands": [
     581            {
     582                "name": "enable",
     583                "description": "Enables database tracking, database events will now be delivered to the client."
     584            },
     585            {
     586                "name": "disable",
     587                "description": "Disables database tracking, prevents database events from being sent to the client."
     588            },
    581589            {
    582590                "name": "getDatabaseTableNames",
  • trunk/Source/WebCore/inspector/InspectorDatabaseAgent.cpp

    r83861 r84080  
    229229    m_resources.set(resource->id(), resource);
    230230    // Resources are only bound while visible.
    231     if (m_frontendProvider)
     231    if (m_frontendProvider && m_enabled)
    232232        resource->bind(m_frontendProvider->frontend());
    233233}
     
    240240InspectorDatabaseAgent::InspectorDatabaseAgent(InstrumentingAgents* instrumentingAgents)
    241241    : m_instrumentingAgents(instrumentingAgents)
     242    , m_enabled(false)
    242243{
    243244    m_instrumentingAgents->setInspectorDatabaseAgent(this);
     
    252253{
    253254    m_frontendProvider = FrontendProvider::create(frontend);
     255}
     256
     257void InspectorDatabaseAgent::clearFrontend()
     258{
     259    m_frontendProvider->clearFrontend();
     260    m_frontendProvider.clear();
     261    m_enabled = false;
     262}
     263
     264void InspectorDatabaseAgent::enable(ErrorString*)
     265{
     266    if (m_enabled)
     267        return;
     268    m_enabled = true;
     269
    254270    DatabaseResourcesMap::iterator databasesEnd = m_resources.end();
    255271    for (DatabaseResourcesMap::iterator it = m_resources.begin(); it != databasesEnd; ++it)
     
    257273}
    258274
    259 void InspectorDatabaseAgent::clearFrontend()
    260 {
    261     m_frontendProvider->clearFrontend();
    262     m_frontendProvider.clear();
    263 }
    264 
    265 void InspectorDatabaseAgent::getDatabaseTableNames(ErrorString*, int databaseId, RefPtr<InspectorArray>* names)
    266 {
     275void InspectorDatabaseAgent::disable(ErrorString*)
     276{
     277    if (!m_enabled)
     278        return;
     279    m_enabled = false;
     280}
     281
     282void InspectorDatabaseAgent::getDatabaseTableNames(ErrorString* error, int databaseId, RefPtr<InspectorArray>* names)
     283{
     284    if (!m_enabled) {
     285        *error = "Database agent is not enabled";
     286        return;
     287    }
     288
    267289    Database* database = databaseForId(databaseId);
    268290    if (database) {
     
    274296}
    275297
    276 void InspectorDatabaseAgent::executeSQL(ErrorString*, int databaseId, const String& query, bool* success, int* transactionId)
    277 {
     298void InspectorDatabaseAgent::executeSQL(ErrorString* error, int databaseId, const String& query, bool* success, int* transactionId)
     299{
     300    if (!m_enabled) {
     301        *error = "Database agent is not enabled";
     302        return;
     303    }
     304
    278305    Database* database = databaseForId(databaseId);
    279306    if (!database) {
  • trunk/Source/WebCore/inspector/InspectorDatabaseAgent.h

    r83861 r84080  
    6060
    6161    // Called from the front-end.
     62    void enable(ErrorString*);
     63    void disable(ErrorString*);
    6264    void getDatabaseTableNames(ErrorString*, int databaseId, RefPtr<InspectorArray>* names);
    6365    void executeSQL(ErrorString*, int databaseId, const String& query, bool* success, int* transactionId);
     
    7779    DatabaseResourcesMap m_resources;
    7880    RefPtr<FrontendProvider> m_frontendProvider;
     81    bool m_enabled;
    7982};
    8083
  • trunk/Source/WebCore/inspector/front-end/inspector.js

    r84023 r84080  
    499499        ConsoleAgent.setMonitoringXHREnabled(true);
    500500    ConsoleAgent.enable(this.console.setConsoleMessageExpiredCount.bind(this.console));
     501
     502    DatabaseAgent.enable();
    501503
    502504    WebInspector.showPanel(WebInspector.settings.lastActivePanel);
Note: See TracChangeset for help on using the changeset viewer.