summaryrefslogtreecommitdiffstats
path: root/WebCore/page
diff options
context:
space:
mode:
authorFeng Qian <fqian@google.com>2009-06-18 14:00:49 -0700
committerFeng Qian <fqian@google.com>2009-06-18 14:00:49 -0700
commitc9c4d65c1547996ed3748026904d6e7f09aec2b4 (patch)
tree5298ee7f87a0f97f06d5b2e66c37dedd88238ccf /WebCore/page
parentad9f76210e4cbae75d762b7a65b39af424879b6b (diff)
parent36747fa778285f57f2f53c047028be83e9d8776d (diff)
downloadexternal_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.cpp15
-rw-r--r--WebCore/page/PageGroup.h6
-rw-r--r--WebCore/page/android/InspectorControllerAndroid.cpp10
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; }