summaryrefslogtreecommitdiffstats
path: root/Source/WebKit2/UIProcess/WebPageGroup.cpp
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2011-06-02 12:07:03 +0100
committerBen Murdoch <benm@google.com>2011-06-10 10:47:21 +0100
commit2daae5fd11344eaa88a0d92b0f6d65f8d2255c00 (patch)
treee4964fbd1cb70599f7718ff03e50ea1dab33890b /Source/WebKit2/UIProcess/WebPageGroup.cpp
parent87bdf0060a247bfbe668342b87e0874182e0ffa9 (diff)
downloadexternal_webkit-2daae5fd11344eaa88a0d92b0f6d65f8d2255c00.zip
external_webkit-2daae5fd11344eaa88a0d92b0f6d65f8d2255c00.tar.gz
external_webkit-2daae5fd11344eaa88a0d92b0f6d65f8d2255c00.tar.bz2
Merge WebKit at r84325: Initial merge by git.
Change-Id: Ic1a909300ecc0a13ddc6b4e784371d2ac6e3d59b
Diffstat (limited to 'Source/WebKit2/UIProcess/WebPageGroup.cpp')
-rw-r--r--Source/WebKit2/UIProcess/WebPageGroup.cpp40
1 files changed, 25 insertions, 15 deletions
diff --git a/Source/WebKit2/UIProcess/WebPageGroup.cpp b/Source/WebKit2/UIProcess/WebPageGroup.cpp
index f64dd2c..72588d4 100644
--- a/Source/WebKit2/UIProcess/WebPageGroup.cpp
+++ b/Source/WebKit2/UIProcess/WebPageGroup.cpp
@@ -47,9 +47,9 @@ static WebPageGroupMap& webPageGroupMap()
return map;
}
-PassRefPtr<WebPageGroup> WebPageGroup::create(const String& identifier, bool visibleToInjectedBundle)
+PassRefPtr<WebPageGroup> WebPageGroup::create(const String& identifier, bool visibleToInjectedBundle, bool visibleToHistoryClient)
{
- RefPtr<WebPageGroup> pageGroup = adoptRef(new WebPageGroup(identifier, visibleToInjectedBundle));
+ RefPtr<WebPageGroup> pageGroup = adoptRef(new WebPageGroup(identifier, visibleToInjectedBundle, visibleToHistoryClient));
webPageGroupMap().set(pageGroup->pageGroupID(), pageGroup.get());
@@ -61,25 +61,23 @@ WebPageGroup* WebPageGroup::get(uint64_t pageGroupID)
return webPageGroupMap().get(pageGroupID);
}
-WebPageGroup::WebPageGroup(const String& identifier, bool visibleToInjectedBundle)
+WebPageGroup::WebPageGroup(const String& identifier, bool visibleToInjectedBundle, bool visibleToHistoryClient)
{
m_data.pageGroupID = generatePageGroupID();
- if (!identifier.isNull()) {
+ if (!identifier.isNull())
m_data.identifer = identifier;
- m_preferences = WebPreferences::create(identifier);
- } else {
+ else
m_data.identifer = m_data.identifer = makeString("__uniquePageGroupID-", String::number(m_data.pageGroupID));
- m_preferences = WebPreferences::create();
- }
- m_preferences->addPageGroup(this);
- m_data.visibleToInjectedBundle = visibleToInjectedBundle;
+ m_data.visibleToInjectedBundle = visibleToInjectedBundle;
+ m_data.visibleToHistoryClient = visibleToHistoryClient;
}
WebPageGroup::~WebPageGroup()
{
- m_preferences->removePageGroup(this);
+ if (m_preferences)
+ m_preferences->removePageGroup(this);
webPageGroupMap().remove(pageGroupID());
}
@@ -98,15 +96,27 @@ void WebPageGroup::setPreferences(WebPreferences* preferences)
if (preferences == m_preferences)
return;
- m_preferences->removePageGroup(this);
- m_preferences = preferences;
- m_preferences->addPageGroup(this);
+ if (!m_preferences) {
+ m_preferences = preferences;
+ m_preferences->addPageGroup(this);
+ } else {
+ m_preferences->removePageGroup(this);
+ m_preferences = preferences;
+ m_preferences->addPageGroup(this);
- preferencesDidChange();
+ preferencesDidChange();
+ }
}
WebPreferences* WebPageGroup::preferences() const
{
+ if (!m_preferences) {
+ if (!m_data.identifer.isNull())
+ m_preferences = WebPreferences::create(m_data.identifer);
+ else
+ m_preferences = WebPreferences::create();
+ m_preferences->addPageGroup(const_cast<WebPageGroup*>(this));
+ }
return m_preferences.get();
}