diff options
author | Feng Qian <fqian@google.com> | 2009-06-18 14:00:49 -0700 |
---|---|---|
committer | Feng Qian <fqian@google.com> | 2009-06-18 14:00:49 -0700 |
commit | c9c4d65c1547996ed3748026904d6e7f09aec2b4 (patch) | |
tree | 5298ee7f87a0f97f06d5b2e66c37dedd88238ccf /WebCore/page | |
parent | ad9f76210e4cbae75d762b7a65b39af424879b6b (diff) | |
parent | 36747fa778285f57f2f53c047028be83e9d8776d (diff) | |
download | external_webkit-c9c4d65c1547996ed3748026904d6e7f09aec2b4.zip external_webkit-c9c4d65c1547996ed3748026904d6e7f09aec2b4.tar.gz external_webkit-c9c4d65c1547996ed3748026904d6e7f09aec2b4.tar.bz2 |
Merge commit 'goog/master' into webkit_merge
Resolved conflicts:
WebCore/Android.mk
WebCore/storage/LocalStorageArea.h
WebCore/storage/SessionStorageArea.cpp
WebCore/storage/StorageEvent.cpp
Diffstat (limited to 'WebCore/page')
-rw-r--r-- | WebCore/page/PageGroup.cpp | 15 | ||||
-rw-r--r-- | WebCore/page/PageGroup.h | 6 | ||||
-rw-r--r-- | WebCore/page/android/InspectorControllerAndroid.cpp | 10 |
3 files changed, 23 insertions, 8 deletions
diff --git a/WebCore/page/PageGroup.cpp b/WebCore/page/PageGroup.cpp index f0951eb..f098211 100644 --- a/WebCore/page/PageGroup.cpp +++ b/WebCore/page/PageGroup.cpp @@ -97,8 +97,8 @@ void PageGroup::closeLocalStorage() PageGroupMap::iterator end = pageGroups->end(); for (PageGroupMap::iterator it = pageGroups->begin(); it != end; ++it) { - if (LocalStorage* localStorage = it->second->localStorage()) - localStorage->close(); + if (it->second->hasLocalStorage()) + it->second->localStorage()->close(); } #endif } @@ -108,10 +108,6 @@ void PageGroup::addPage(Page* page) ASSERT(page); ASSERT(!m_pages.contains(page)); m_pages.add(page); -#if ENABLE(DOM_STORAGE) - if (!m_localStorage) - m_localStorage = LocalStorage::localStorage(page->settings()->localStorageDatabasePath()); -#endif } void PageGroup::removePage(Page* page) @@ -187,6 +183,13 @@ void PageGroup::setShouldTrackVisitedLinks(bool shouldTrack) #if ENABLE(DOM_STORAGE) LocalStorage* PageGroup::localStorage() { + if (!m_localStorage) { + // Need a page in this page group to query the settings for the local storage database path. + Page* page = *m_pages.begin(); + ASSERT(page); + m_localStorage = LocalStorage::localStorage(page->settings()->localStorageDatabasePath()); + } + return m_localStorage.get(); } #endif diff --git a/WebCore/page/PageGroup.h b/WebCore/page/PageGroup.h index 097fb87..d9ffabd 100644 --- a/WebCore/page/PageGroup.h +++ b/WebCore/page/PageGroup.h @@ -44,7 +44,7 @@ namespace WebCore { static PageGroup* pageGroup(const String& groupName); static void closeLocalStorage(); - + const HashSet<Page*>& pages() const { return m_pages; } void addPage(Page*); @@ -68,7 +68,9 @@ namespace WebCore { private: void addVisitedLink(LinkHash stringHash); - +#if ENABLE(DOM_STORAGE) + bool hasLocalStorage() { return m_localStorage; } +#endif String m_name; HashSet<Page*> m_pages; diff --git a/WebCore/page/android/InspectorControllerAndroid.cpp b/WebCore/page/android/InspectorControllerAndroid.cpp index 922c743..d84d4b7 100644 --- a/WebCore/page/android/InspectorControllerAndroid.cpp +++ b/WebCore/page/android/InspectorControllerAndroid.cpp @@ -62,8 +62,15 @@ namespace WebCore { struct InspectorResource : public RefCounted<InspectorResource> { }; +#if ENABLE(DATABASE) struct InspectorDatabaseResource : public RefCounted<InspectorDatabaseResource> { }; +#endif + +#if ENABLE(DOM_STORAGE) +struct InspectorDOMStorageResource : public RefCounted<InspectorDatabaseResource> { +}; +#endif InspectorController::InspectorController(Page*, InspectorClient* client) { @@ -87,6 +94,9 @@ void InspectorController::addMessageToConsole(MessageSource, MessageLevel, const #if ENABLE(DATABASE) void InspectorController::didOpenDatabase(Database*, String const&, String const&, String const&) {} #endif +#if ENABLE(DOM_STORAGE) + void InspectorController::didUseDOMStorage(StorageArea* storageArea, bool isLocalStorage, Frame* frame) {} +#endif bool InspectorController::enabled() const { return false; } void InspectorController::inspect(Node*) {} bool InspectorController::windowVisible() { return false; } |