Changeset 79303 in webkit
- Timestamp:
- Feb 22, 2011 1:34:15 AM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r79301 r79303 1 2011-02-21 Yury Semikhatsky <yurys@chromium.org> 2 3 Reviewed by Pavel Feldman. 4 5 Web Inspector: make DOM storage and Database agents have the same lifetime as InspectorAgent 6 https://bugs.webkit.org/show_bug.cgi?id=54891 7 8 * inspector/InspectorAgent.cpp: 9 (WebCore::InspectorAgent::InspectorAgent): 10 (WebCore::InspectorAgent::setFrontend): 11 (WebCore::InspectorAgent::disconnectFrontend): 12 (WebCore::InspectorAgent::createFrontendLifetimeAgents): 13 (WebCore::InspectorAgent::releaseFrontendLifetimeAgents): 14 (WebCore::InspectorAgent::didCommitLoad): 15 * inspector/InspectorAgent.h: 16 (WebCore::InspectorAgent::instrumentingAgents): 17 * inspector/InspectorDOMStorageAgent.cpp: 18 (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent): 19 (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent): 20 (WebCore::InspectorDOMStorageAgent::setFrontend): 21 (WebCore::InspectorDOMStorageAgent::clearFrontend): 22 (WebCore::InspectorDOMStorageAgent::selectDOMStorage): 23 (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId): 24 (WebCore::InspectorDOMStorageAgent::didUseDOMStorage): 25 (WebCore::InspectorDOMStorageAgent::clearResources): 26 * inspector/InspectorDOMStorageAgent.h: 27 (WebCore::InspectorDOMStorageAgent::create): 28 * inspector/InspectorDatabaseAgent.cpp: 29 (WebCore::InspectorDatabaseAgent::didOpenDatabase): 30 (WebCore::InspectorDatabaseAgent::clearResources): 31 (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent): 32 (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent): 33 (WebCore::InspectorDatabaseAgent::setFrontend): 34 (WebCore::InspectorDatabaseAgent::clearFrontend): 35 (WebCore::InspectorDatabaseAgent::databaseForId): 36 (WebCore::InspectorDatabaseAgent::selectDatabase): 37 * inspector/InspectorDatabaseAgent.h: 38 (WebCore::InspectorDatabaseAgent::create): 39 * inspector/InspectorInstrumentation.cpp: 40 (WebCore::InspectorInstrumentation::didOpenDatabaseImpl): 41 (WebCore::InspectorInstrumentation::didUseDOMStorageImpl): 42 1 43 2011-02-22 Steve Lacey <sjl@chromium.org> 2 44 -
trunk/Source/WebCore/inspector/InspectorAgent.cpp
r79234 r79303 63 63 #include "InspectorController.h" 64 64 #include "InspectorDOMAgent.h" 65 #include "InspectorDOMStorageResource.h"66 #include "InspectorDatabaseResource.h"67 65 #include "InspectorDebuggerAgent.h" 68 66 #include "InspectorFrontend.h" … … 144 142 , m_cssAgent(new InspectorCSSAgent(m_domAgent.get())) 145 143 #if ENABLE(DATABASE) 146 , m_databaseAgent Resources(InspectorDatabaseAgent::createStorage())144 , m_databaseAgent(InspectorDatabaseAgent::create(m_instrumentingAgents.get())) 147 145 #endif 148 146 #if ENABLE(DOM_STORAGE) 149 , m_domStorageAgent Resources(InspectorDOMStorageAgent::createStorage())147 , m_domStorageAgent(InspectorDOMStorageAgent::create(m_instrumentingAgents.get())) 150 148 #endif 151 149 , m_state(new InspectorState(client)) … … 347 345 m_domAgent->setFrontend(m_frontend); 348 346 m_consoleAgent->setFrontend(m_frontend); 349 347 #if ENABLE(DATABASE) 348 m_databaseAgent->setFrontend(m_frontend); 349 #endif 350 #if ENABLE(DOM_STORAGE) 351 m_domStorageAgent->setFrontend(m_frontend); 352 #endif 350 353 // Initialize Web Inspector title. 351 354 m_frontend->inspectedURLChanged(inspectedURL().string()); … … 380 383 m_consoleAgent->clearFrontend(); 381 384 m_domAgent->clearFrontend(); 385 #if ENABLE(DATABASE) 386 m_databaseAgent->clearFrontend(); 387 #endif 388 #if ENABLE(DOM_STORAGE) 389 m_domStorageAgent->clearFrontend(); 390 #endif 382 391 383 392 releaseFrontendLifetimeAgents(); … … 396 405 m_runtimeAgent = InspectorRuntimeAgent::create(m_injectedScriptHost.get()); 397 406 398 #if ENABLE(DATABASE)399 m_databaseAgent = InspectorDatabaseAgent::create(databaseAgentResources(), m_frontend);400 #endif401 402 #if ENABLE(DOM_STORAGE)403 m_domStorageAgent = InspectorDOMStorageAgent::create(domStorageAgentResources(), m_frontend);404 #endif405 406 407 #if ENABLE(OFFLINE_WEB_APPLICATIONS) 407 408 m_applicationCacheAgent = new InspectorApplicationCacheAgent(m_inspectedPage->mainFrame()->loader()->documentLoader(), m_frontend); … … 414 415 m_runtimeAgent.clear(); 415 416 m_timelineAgent.clear(); 416 417 #if ENABLE(DATABASE)418 m_databaseAgent.clear();419 #endif420 421 #if ENABLE(DOM_STORAGE)422 m_domStorageAgent.clear();423 #endif424 417 425 418 #if ENABLE(OFFLINE_WEB_APPLICATIONS) … … 540 533 #endif 541 534 #if ENABLE(DATABASE) 542 InspectorDatabaseAgent::clear(this);535 m_databaseAgent->clearResources(); 543 536 #endif 544 537 #if ENABLE(DOM_STORAGE) 545 InspectorDOMStorageAgent::clear(this); 546 #endif 547 538 m_domStorageAgent->clearResources(); 539 #endif 548 540 if (InspectorDOMAgent* domAgent = m_instrumentingAgents->inspectorDOMAgent()) 549 541 domAgent->setDocument(m_inspectedPage->mainFrame()->document()); -
trunk/Source/WebCore/inspector/InspectorAgent.h
r79217 r79303 63 63 class InspectorDOMAgent; 64 64 class InspectorDOMStorageAgent; 65 class InspectorDOMStorageResource;66 65 class InspectorDatabaseAgent; 67 66 class InspectorDatabaseResource; … … 101 100 #endif 102 101 103 class InspectorOfflineResourcesBase {104 WTF_MAKE_NONCOPYABLE(InspectorOfflineResourcesBase);105 public:106 virtual ~InspectorOfflineResourcesBase() {}107 108 protected:109 InspectorOfflineResourcesBase() {}110 };111 112 102 class InspectorAgent { 113 103 WTF_MAKE_NONCOPYABLE(InspectorAgent); … … 146 136 147 137 InspectorResourceAgent* resourceAgent(); 138 139 InstrumentingAgents* instrumentingAgents() const { return m_instrumentingAgents.get(); } 148 140 149 141 InspectorAgent* inspectorAgent() { return this; } … … 156 148 #if ENABLE(DATABASE) 157 149 InspectorDatabaseAgent* databaseAgent() { return m_databaseAgent.get(); } 158 InspectorOfflineResourcesBase* databaseAgentResources() { return m_databaseAgentResources.get(); }159 150 #endif 160 151 #if ENABLE(DOM_STORAGE) 161 152 InspectorDOMStorageAgent* domStorageAgent() { return m_domStorageAgent.get(); } 162 InspectorOfflineResourcesBase* domStorageAgentResources() { return m_domStorageAgentResources.get(); }163 153 #endif 164 154 #if ENABLE(JAVASCRIPT_DEBUGGER) … … 282 272 #if ENABLE(DATABASE) 283 273 OwnPtr<InspectorDatabaseAgent> m_databaseAgent; 284 OwnPtr<InspectorOfflineResourcesBase> m_databaseAgentResources;285 274 #endif 286 275 287 276 #if ENABLE(DOM_STORAGE) 288 277 OwnPtr<InspectorDOMStorageAgent> m_domStorageAgent; 289 OwnPtr<InspectorOfflineResourcesBase> m_domStorageAgentResources;290 278 #endif 291 279 -
trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.cpp
r78692 r79303 37 37 #include "ExceptionCode.h" 38 38 #include "Frame.h" 39 #include "InspectorAgent.h"40 39 #include "InspectorDOMStorageResource.h" 41 40 #include "InspectorFrontend.h" 42 41 #include "InspectorValues.h" 42 #include "InstrumentingAgents.h" 43 43 #include "Storage.h" 44 44 #include "StorageArea.h" … … 51 51 typedef HashMap<int, RefPtr<InspectorDOMStorageResource> > DOMStorageResourcesMap; 52 52 53 class InspectorDOMStorageAgent::Resources : public InspectorOfflineResourcesBase { 54 public: 55 DOMStorageResourcesMap m_map; 56 }; 57 58 InspectorDOMStorageAgent::InspectorDOMStorageAgent(InspectorOfflineResourcesBase* domStorageAgentResources, InspectorFrontend* frontend) 59 : m_resources(static_cast<InspectorDOMStorageAgent::Resources*>(domStorageAgentResources)) 60 , m_frontend(frontend) 53 InspectorDOMStorageAgent::InspectorDOMStorageAgent(InstrumentingAgents* instrumentingAgents) 54 : m_instrumentingAgents(instrumentingAgents) 55 , m_frontend(0) 61 56 { 62 ASSERT(domStorageAgentResources); 63 DOMStorageResourcesMap::iterator resourcesEnd = m_resources->m_map.end(); 64 for (DOMStorageResourcesMap::iterator it = m_resources->m_map.begin(); it != resourcesEnd; ++it) 65 it->second->bind(m_frontend); 57 m_instrumentingAgents->setInspectorDOMStorageAgent(this); 66 58 } 67 59 68 60 InspectorDOMStorageAgent::~InspectorDOMStorageAgent() 69 61 { 70 DOMStorageResourcesMap::iterator domStorageEnd = m_resources->m_map.end(); 71 for (DOMStorageResourcesMap::iterator it = m_resources->m_map.begin(); it != domStorageEnd; ++it) 72 it->second->unbind(); 62 m_instrumentingAgents->setInspectorDOMStorageAgent(0); 63 m_instrumentingAgents = 0; 73 64 } 74 65 75 PassOwnPtr<InspectorOfflineResourcesBase> InspectorDOMStorageAgent::createStorage()66 void InspectorDOMStorageAgent::setFrontend(InspectorFrontend* frontend) 76 67 { 77 return adoptPtr(new Resources()); 68 m_frontend = frontend; 69 DOMStorageResourcesMap::iterator resourcesEnd = m_resources.end(); 70 for (DOMStorageResourcesMap::iterator it = m_resources.begin(); it != resourcesEnd; ++it) 71 it->second->bind(m_frontend); 72 } 73 74 void InspectorDOMStorageAgent::clearFrontend() 75 { 76 DOMStorageResourcesMap::iterator domStorageEnd = m_resources.end(); 77 for (DOMStorageResourcesMap::iterator it = m_resources.begin(); it != domStorageEnd; ++it) 78 it->second->unbind(); 79 m_frontend = 0; 78 80 } 79 81 … … 124 126 bool isLocalStorage = (frame->domWindow()->localStorage(ec) == storage && !ec); 125 127 long storageResourceId = 0; 126 DOMStorageResourcesMap::iterator domStorageEnd = m_resources ->m_map.end();127 for (DOMStorageResourcesMap::iterator it = m_resources ->m_map.begin(); it != domStorageEnd; ++it) {128 DOMStorageResourcesMap::iterator domStorageEnd = m_resources.end(); 129 for (DOMStorageResourcesMap::iterator it = m_resources.begin(); it != domStorageEnd; ++it) { 128 130 if (it->second->isSameHostAndType(frame, isLocalStorage)) { 129 131 storageResourceId = it->first; … … 137 139 InspectorDOMStorageResource* InspectorDOMStorageAgent::getDOMStorageResourceForId(long storageId) 138 140 { 139 DOMStorageResourcesMap::iterator it = m_resources ->m_map.find(storageId);140 if (it == m_resources ->m_map.end())141 DOMStorageResourcesMap::iterator it = m_resources.find(storageId); 142 if (it == m_resources.end()) 141 143 return 0; 142 144 return it->second.get(); 143 145 } 144 146 145 void InspectorDOMStorageAgent::didUseDOMStorage( InspectorAgent* inspectorAgent,StorageArea* storageArea, bool isLocalStorage, Frame* frame)147 void InspectorDOMStorageAgent::didUseDOMStorage(StorageArea* storageArea, bool isLocalStorage, Frame* frame) 146 148 { 147 if (!inspectorAgent->enabled()) 148 return; 149 150 Resources* resources = static_cast<Resources*>(inspectorAgent->domStorageAgentResources()); 151 DOMStorageResourcesMap::iterator domStorageEnd = resources->m_map.end(); 152 for (DOMStorageResourcesMap::iterator it = resources->m_map.begin(); it != domStorageEnd; ++it) 149 DOMStorageResourcesMap::iterator domStorageEnd = m_resources.end(); 150 for (DOMStorageResourcesMap::iterator it = m_resources.begin(); it != domStorageEnd; ++it) 153 151 if (it->second->isSameHostAndType(frame, isLocalStorage)) 154 152 return; … … 157 155 RefPtr<InspectorDOMStorageResource> resource = InspectorDOMStorageResource::create(domStorage.get(), isLocalStorage, frame); 158 156 159 resources->m_map.set(resource->id(), resource);157 m_resources.set(resource->id(), resource); 160 158 161 159 // Resources are only bound while visible. 162 if ( inspectorAgent->frontend())163 resource->bind( inspectorAgent->frontend());160 if (m_frontend) 161 resource->bind(m_frontend); 164 162 } 165 163 166 void InspectorDOMStorageAgent::clear (InspectorAgent* inspectorAgent)164 void InspectorDOMStorageAgent::clearResources() 167 165 { 168 static_cast<Resources*>(inspectorAgent->domStorageAgentResources())->m_map.clear();166 m_resources.clear(); 169 167 } 170 168 -
trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.h
r78692 r79303 37 37 38 38 class Frame; 39 class InspectorAgent;40 39 class InspectorArray; 41 40 class InspectorDOMStorageResource; 42 41 class InspectorFrontend; 43 class Ins pectorOfflineResourcesBase;42 class InstrumentingAgents; 44 43 class Storage; 45 44 class StorageArea; … … 47 46 class InspectorDOMStorageAgent { 48 47 public: 49 class Resources; 48 static PassOwnPtr<InspectorDOMStorageAgent> create(InstrumentingAgents* instrumentingAgents) 49 { 50 return adoptPtr(new InspectorDOMStorageAgent(instrumentingAgents)); 51 } 52 ~InspectorDOMStorageAgent(); 50 53 51 static PassOwnPtr<InspectorDOMStorageAgent> create(InspectorOfflineResourcesBase* domStorageResources, InspectorFrontend* frontend) 52 { 53 return adoptPtr(new InspectorDOMStorageAgent(domStorageResources, frontend)); 54 } 54 void setFrontend(InspectorFrontend*); 55 void clearFrontend(); 55 56 56 static PassOwnPtr<InspectorOfflineResourcesBase> createStorage(); 57 static void clear(InspectorAgent*); 58 59 virtual ~InspectorDOMStorageAgent(); 57 void clearResources(); 60 58 61 59 // Called from the front-end. … … 68 66 69 67 // Called from InspectorInstrumentation 70 static void didUseDOMStorage(InspectorAgent*,StorageArea*, bool isLocalStorage, Frame*);68 void didUseDOMStorage(StorageArea*, bool isLocalStorage, Frame*); 71 69 72 70 private: 73 InspectorDOMStorageAgent(InspectorOfflineResourcesBase*, InspectorFrontend*);71 explicit InspectorDOMStorageAgent(InstrumentingAgents*); 74 72 75 73 InspectorDOMStorageResource* getDOMStorageResourceForId(long storageId); 76 74 77 Resources* m_resources; 75 InstrumentingAgents* m_instrumentingAgents; 76 typedef HashMap<int, RefPtr<InspectorDOMStorageResource> > DOMStorageResourcesMap; 77 DOMStorageResourcesMap m_resources; 78 78 InspectorFrontend* m_frontend; 79 79 }; -
trunk/Source/WebCore/inspector/InspectorDatabaseAgent.cpp
r78692 r79303 35 35 #include "Database.h" 36 36 #include "ExceptionCode.h" 37 #include "InspectorAgent.h"38 37 #include "InspectorDatabaseResource.h" 39 38 #include "InspectorFrontend.h" 40 39 #include "InspectorValues.h" 40 #include "InstrumentingAgents.h" 41 41 #include "SQLError.h" 42 42 #include "SQLStatementCallback.h" … … 219 219 } // namespace 220 220 221 typedef HashMap<int, RefPtr<InspectorDatabaseResource> > DatabaseResourcesMap; 222 223 class InspectorDatabaseAgent::Resources : public InspectorOfflineResourcesBase { 224 public: 225 DatabaseResourcesMap m_map; 226 }; 227 228 void InspectorDatabaseAgent::didOpenDatabase(InspectorAgent* inspectorAgent, PassRefPtr<Database> database, const String& domain, const String& name, const String& version) 229 { 230 if (!inspectorAgent->enabled()) 231 return; 232 221 void InspectorDatabaseAgent::didOpenDatabase(PassRefPtr<Database> database, const String& domain, const String& name, const String& version) 222 { 233 223 RefPtr<InspectorDatabaseResource> resource = InspectorDatabaseResource::create(database, domain, name, version); 234 235 Resources* resources = static_cast<Resources*>(inspectorAgent->databaseAgentResources()); 236 ASSERT(resources); 237 resources->m_map.set(resource->id(), resource); 238 224 m_resources.set(resource->id(), resource); 239 225 // Resources are only bound while visible. 240 if (InspectorFrontend* frontend = inspectorAgent->frontend()) 241 resource->bind(frontend); 242 } 243 244 void InspectorDatabaseAgent::clear(InspectorAgent* inspectorAgent) 245 { 246 static_cast<Resources*>(inspectorAgent->databaseAgentResources())->m_map.clear(); 247 } 248 249 250 InspectorDatabaseAgent::InspectorDatabaseAgent(InspectorOfflineResourcesBase* resources, InspectorFrontend* frontend) 251 : m_resources(static_cast<Resources*>(resources)) 252 , m_frontendProvider(FrontendProvider::create(frontend)) 253 { 254 ASSERT(resources); 255 DatabaseResourcesMap::iterator databasesEnd = m_resources->m_map.end(); 256 for (DatabaseResourcesMap::iterator it = m_resources->m_map.begin(); it != databasesEnd; ++it) 257 it->second->bind(m_frontendProvider->frontend()); 226 if (m_frontendProvider) 227 resource->bind(m_frontendProvider->frontend()); 228 } 229 230 void InspectorDatabaseAgent::clearResources() 231 { 232 m_resources.clear(); 233 } 234 235 InspectorDatabaseAgent::InspectorDatabaseAgent(InstrumentingAgents* instrumentingAgents) 236 : m_instrumentingAgents(instrumentingAgents) 237 { 238 m_instrumentingAgents->setInspectorDatabaseAgent(this); 258 239 } 259 240 260 241 InspectorDatabaseAgent::~InspectorDatabaseAgent() 261 242 { 243 if (m_frontendProvider) 244 clearFrontend(); 245 m_instrumentingAgents->setInspectorDatabaseAgent(0); 246 } 247 248 void InspectorDatabaseAgent::setFrontend(InspectorFrontend* frontend) 249 { 250 m_frontendProvider = FrontendProvider::create(frontend); 251 DatabaseResourcesMap::iterator databasesEnd = m_resources.end(); 252 for (DatabaseResourcesMap::iterator it = m_resources.begin(); it != databasesEnd; ++it) 253 it->second->bind(frontend); 254 } 255 256 void InspectorDatabaseAgent::clearFrontend() 257 { 262 258 m_frontendProvider->clearFrontend(); 263 } 264 265 PassOwnPtr<InspectorOfflineResourcesBase> InspectorDatabaseAgent::createStorage() 266 { 267 return adoptPtr(new Resources()); 259 m_frontendProvider.clear(); 268 260 } 269 261 … … 297 289 Database* InspectorDatabaseAgent::databaseForId(long databaseId) 298 290 { 299 DatabaseResourcesMap::iterator it = m_resources ->m_map.find(databaseId);300 if (it == m_resources ->m_map.end())291 DatabaseResourcesMap::iterator it = m_resources.find(databaseId); 292 if (it == m_resources.end()) 301 293 return 0; 302 294 return it->second->database(); … … 305 297 void InspectorDatabaseAgent::selectDatabase(Database* database) 306 298 { 307 if (!m_frontendProvider ->frontend())299 if (!m_frontendProvider) 308 300 return; 309 301 310 for (DatabaseResourcesMap::iterator it = m_resources ->m_map.begin(); it != m_resources->m_map.end(); ++it) {302 for (DatabaseResourcesMap::iterator it = m_resources.begin(); it != m_resources.end(); ++it) { 311 303 if (it->second->database() == database) { 312 304 m_frontendProvider->frontend()->selectDatabase(it->first); -
trunk/Source/WebCore/inspector/InspectorDatabaseAgent.h
r78692 r79303 37 37 38 38 class Database; 39 class InspectorAgent;40 39 class InspectorArray; 40 class InspectorDatabaseResource; 41 41 class InspectorFrontend; 42 class Ins pectorOfflineResourcesBase;42 class InstrumentingAgents; 43 43 44 44 class InspectorDatabaseAgent { 45 45 public: 46 46 class FrontendProvider; 47 class Resources;48 47 49 static PassOwnPtr<InspectorDatabaseAgent> create(Ins pectorOfflineResourcesBase* storage, InspectorFrontend* frontend)48 static PassOwnPtr<InspectorDatabaseAgent> create(InstrumentingAgents* instrumentingAgents) 50 49 { 51 return adoptPtr(new InspectorDatabaseAgent( storage, frontend));50 return adoptPtr(new InspectorDatabaseAgent(instrumentingAgents)); 52 51 } 52 ~InspectorDatabaseAgent(); 53 53 54 static PassOwnPtr<InspectorOfflineResourcesBase> createStorage();55 static void clear(InspectorAgent*);54 void setFrontend(InspectorFrontend*); 55 void clearFrontend(); 56 56 57 v irtual ~InspectorDatabaseAgent();57 void clearResources(); 58 58 59 59 // Called from the front-end. … … 65 65 void selectDatabase(Database* database); 66 66 67 static void didOpenDatabase(InspectorAgent*,PassRefPtr<Database>, const String& domain, const String& name, const String& version);67 void didOpenDatabase(PassRefPtr<Database>, const String& domain, const String& name, const String& version); 68 68 private: 69 InspectorDatabaseAgent(InspectorOfflineResourcesBase*, InspectorFrontend*);69 explicit InspectorDatabaseAgent(InstrumentingAgents*); 70 70 71 Resources* m_resources; 71 InstrumentingAgents* m_instrumentingAgents; 72 typedef HashMap<int, RefPtr<InspectorDatabaseResource> > DatabaseResourcesMap; 73 DatabaseResourcesMap m_resources; 72 74 RefPtr<FrontendProvider> m_frontendProvider; 73 75 }; -
trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp
r79009 r79303 50 50 #include "InspectorResourceAgent.h" 51 51 #include "InspectorTimelineAgent.h" 52 #include "InstrumentingAgents.h" 52 53 #include "ScriptArguments.h" 53 54 #include "ScriptCallStack.h" … … 594 595 void InspectorInstrumentation::didOpenDatabaseImpl(InspectorAgent* inspectorAgent, PassRefPtr<Database> database, const String& domain, const String& name, const String& version) 595 596 { 596 InspectorDatabaseAgent::didOpenDatabase(inspectorAgent, database, domain, name, version); 597 if (!inspectorAgent->enabled()) 598 return; 599 if (InspectorDatabaseAgent* dbAgent = inspectorAgent->instrumentingAgents()->inspectorDatabaseAgent()) 600 dbAgent->didOpenDatabase(database, domain, name, version); 597 601 } 598 602 #endif … … 601 605 void InspectorInstrumentation::didUseDOMStorageImpl(InspectorAgent* inspectorAgent, StorageArea* storageArea, bool isLocalStorage, Frame* frame) 602 606 { 603 InspectorDOMStorageAgent::didUseDOMStorage(inspectorAgent, storageArea, isLocalStorage, frame); 607 if (!inspectorAgent->enabled()) 608 return; 609 if (InspectorDOMStorageAgent* domStorageAgent = inspectorAgent->instrumentingAgents()->inspectorDOMStorageAgent()) 610 domStorageAgent->didUseDOMStorage(storageArea, isLocalStorage, frame); 604 611 } 605 612 #endif
Note: See TracChangeset
for help on using the changeset viewer.