Changeset 166661 in webkit
- Timestamp:
- Apr 2, 2014 1:07:33 PM (10 years ago)
- Location:
- trunk
- Files:
-
- 39 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r166659 r166661 1 2014-04-02 Martin Hock <mhock@apple.com> 2 3 Unify private browsing with sessions. 4 https://bugs.webkit.org/show_bug.cgi?id=130099 5 6 Reviewed by Alexey Proskuryakov. 7 8 Unless otherwise noted, the following consists solely of mechanical changes to replace querying WebCore::Settings::privateBrowsingEnabled() with Page::usesEphemeralSession(). 9 10 * Modules/webdatabase/DatabaseContext.cpp: 11 (WebCore::DatabaseContext::allowDatabaseAccess): 12 * WebCore.exp.in: Remove Settings::setPrivateBrowsingEnabled, add Page::legacyPrivateBrowsingEnabled. 13 * html/HTMLMediaElement.cpp: 14 (WebCore::HTMLMediaElement::parseAttribute): 15 * loader/HistoryController.cpp: 16 (WebCore::HistoryController::updateForStandardLoad): 17 (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList): 18 (WebCore::HistoryController::updateForClientRedirect): 19 (WebCore::HistoryController::updateForSameDocumentNavigation): 20 (WebCore::HistoryController::pushState): 21 (WebCore::HistoryController::replaceState): 22 * loader/appcache/ApplicationCacheGroup.cpp: 23 (WebCore::ApplicationCacheGroup::cacheForMainRequest): 24 (WebCore::ApplicationCacheGroup::selectCache): 25 (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL): 26 (WebCore::ApplicationCacheGroup::update): 27 * loader/appcache/ApplicationCacheHost.cpp: 28 (WebCore::ApplicationCacheHost::isApplicationCacheEnabled): 29 * loader/icon/IconController.cpp: 30 (WebCore::IconController::continueLoadWithDecision): 31 * page/Page.cpp: 32 (WebCore::Page::Page): Initialize with defaultSessionID. 33 (WebCore::Page::legacyPrivateBrowsingEnabled): Legacy setting for private browsing. 34 (WebCore::Page::privateBrowsingStateChanged): Move implementation to setSessionID. 35 (WebCore::Page::sessionID): Simplify to just return m_sessionID. 36 (WebCore::Page::setSessionID): Also perform privateBrowsingStateChanged action.a 37 (WebCore::Page::privateBrowsingStateChanged): Deleted. 38 (WebCore::Page::checkSubframeCountConsistency): Deleted. 39 * page/Page.h: 40 * page/PageConsole.cpp: 41 (WebCore::PageConsole::addMessage): 42 (WebCore::PageConsole::messageWithTypeAndLevel): 43 * page/Settings.cpp: Remove privateBrowsingEnabled setting. 44 (WebCore::Settings::Settings): 45 (WebCore::Settings::setPrivateBrowsingEnabled): Page reflects setting using session. 46 * page/Settings.h: 47 * plugins/PluginView.cpp: 48 (WebCore::PluginView::getValue): 49 * rendering/RenderSearchField.cpp: 50 (WebCore::RenderSearchField::addSearchResult): 51 * storage/Storage.cpp: 52 (WebCore::Storage::isDisabledByPrivateBrowsing): 53 1 54 2014-04-02 Antti Koivisto <antti@apple.com> 2 55 -
trunk/Source/WebCore/Modules/webdatabase/DatabaseContext.cpp
r165676 r166661 228 228 if (m_scriptExecutionContext->isDocument()) { 229 229 Document* document = toDocument(m_scriptExecutionContext); 230 if (!document->page() || (document->page()-> settings().privateBrowsingEnabled() && !SchemeRegistry::allowsDatabaseAccessInPrivateBrowsing(document->securityOrigin()->protocol())))230 if (!document->page() || (document->page()->usesEphemeralSession() && !SchemeRegistry::allowsDatabaseAccessInPrivateBrowsing(document->securityOrigin()->protocol()))) 231 231 return false; 232 232 return true; -
trunk/Source/WebCore/WebCore.exp.in
r166654 r166661 1062 1062 __ZN7WebCore4Page24scrollingStateTreeAsTextEv 1063 1063 __ZN7WebCore4Page25suspendScriptedAnimationsEv 1064 __ZN7WebCore4Page27enableLegacyPrivateBrowsingEb 1064 1065 __ZN7WebCore4Page27invalidateStylesForAllLinksEv 1065 1066 __ZN7WebCore4Page32setMemoryCacheClientCallsEnabledEb … … 1272 1273 __ZN7WebCore8Settings24setUsesOverlayScrollbarsEb 1273 1274 __ZN7WebCore8Settings25setMinimumLogicalFontSizeEi 1274 __ZN7WebCore8Settings25setPrivateBrowsingEnabledEb1275 1275 __ZN7WebCore8Settings25setUserStyleSheetLocationERKNS_3URLE 1276 1276 __ZN7WebCore8Settings26defaultMinDOMTimerIntervalEv -
trunk/Source/WebCore/html/HTMLMediaElement.cpp
r166362 r166661 73 73 #include "ScriptSourceCode.h" 74 74 #include "SecurityPolicy.h" 75 #include "SessionID.h" 75 76 #include "Settings.h" 76 77 #include "ShadowRoot.h" … … 1262 1263 startProgressEventTimer(); 1263 1264 1264 Settings* settings = document().settings(); 1265 bool privateMode = !settings || settings->privateBrowsingEnabled(); 1265 bool privateMode = document().page() && document().page()->usesEphemeralSession(); 1266 1266 m_player->setPrivateBrowsingMode(privateMode); 1267 1267 … … 5267 5267 return; 5268 5268 5269 Settings* settings = document().settings(); 5270 bool privateMode = !settings || settings->privateBrowsingEnabled(); 5269 bool privateMode = document().page() && document().page()->usesEphemeralSession(); 5271 5270 LOG(Media, "HTMLMediaElement::privateBrowsingStateDidChange(%s)", boolString(privateMode)); 5272 5271 m_player->setPrivateBrowsingMode(privateMode); -
trunk/Source/WebCore/loader/HistoryController.cpp
r165676 r166661 349 349 FrameLoader& frameLoader = m_frame.loader(); 350 350 351 bool needPrivacy = m_frame. settings().privateBrowsingEnabled();351 bool needPrivacy = m_frame.page()->usesEphemeralSession(); 352 352 const URL& historyURL = frameLoader.documentLoader()->urlForHistory(); 353 353 … … 386 386 #endif 387 387 388 bool needPrivacy = m_frame. settings().privateBrowsingEnabled();388 bool needPrivacy = m_frame.page()->usesEphemeralSession(); 389 389 const URL& historyURL = m_frame.loader().documentLoader()->urlForHistory(); 390 390 … … 434 434 } 435 435 436 bool needPrivacy = m_frame. settings().privateBrowsingEnabled();436 bool needPrivacy = m_frame.page()->usesEphemeralSession(); 437 437 const URL& historyURL = m_frame.loader().documentLoader()->urlForHistory(); 438 438 … … 524 524 return; 525 525 526 if (m_frame. settings().privateBrowsingEnabled())526 if (m_frame.page()->usesEphemeralSession()) 527 527 return; 528 528 … … 848 848 page->backForward().addItem(topItem.release()); 849 849 850 if (m_frame. settings().privateBrowsingEnabled())850 if (m_frame.page()->usesEphemeralSession()) 851 851 return; 852 852 … … 867 867 m_currentItem->setFormContentType(String()); 868 868 869 if (m_frame. settings().privateBrowsingEnabled())869 if (m_frame.page()->usesEphemeralSession()) 870 870 return; 871 871 -
trunk/Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp
r165199 r166661 104 104 url.removeFragmentIdentifier(); 105 105 106 if (documentLoader->frame() && (documentLoader->frame()-> settings().privateBrowsingEnabled() || !documentLoader->frame()->document()->securityOrigin()->canAccessApplicationCache(documentLoader->frame()->tree().top().document()->securityOrigin())))106 if (documentLoader->frame() && (documentLoader->frame()->page()->usesEphemeralSession() || !documentLoader->frame()->document()->securityOrigin()->canAccessApplicationCache(documentLoader->frame()->tree().top().document()->securityOrigin()))) 107 107 return 0; 108 108 … … 152 152 153 153 // Don't access anything on disk if private browsing is enabled. 154 if (frame-> settings().privateBrowsingEnabled() || !frame->document()->securityOrigin()->canAccessApplicationCache(frame->tree().top().document()->securityOrigin())) {154 if (frame->page()->usesEphemeralSession() || !frame->document()->securityOrigin()->canAccessApplicationCache(frame->tree().top().document()->securityOrigin())) { 155 155 postListenerTask(ApplicationCacheHost::CHECKING_EVENT, documentLoader); 156 156 postListenerTask(ApplicationCacheHost::ERROR_EVENT, documentLoader); … … 220 220 221 221 // Don't access anything on disk if private browsing is enabled. 222 if (frame-> settings().privateBrowsingEnabled() || !frame->document()->securityOrigin()->canAccessApplicationCache(frame->tree().top().document()->securityOrigin())) {222 if (frame->page()->usesEphemeralSession() || !frame->document()->securityOrigin()->canAccessApplicationCache(frame->tree().top().document()->securityOrigin())) { 223 223 postListenerTask(ApplicationCacheHost::CHECKING_EVENT, documentLoader); 224 224 postListenerTask(ApplicationCacheHost::ERROR_EVENT, documentLoader); … … 435 435 436 436 // Don't access anything on disk if private browsing is enabled. 437 if (frame-> settings().privateBrowsingEnabled() || !frame->document()->securityOrigin()->canAccessApplicationCache(frame->tree().top().document()->securityOrigin())) {437 if (frame->page()->usesEphemeralSession() || !frame->document()->securityOrigin()->canAccessApplicationCache(frame->tree().top().document()->securityOrigin())) { 438 438 ASSERT(m_pendingMasterResourceLoaders.isEmpty()); 439 439 ASSERT(m_pendingEntries.isEmpty()); -
trunk/Source/WebCore/loader/appcache/ApplicationCacheHost.cpp
r163914 r166661 477 477 bool ApplicationCacheHost::isApplicationCacheEnabled() 478 478 { 479 return m_documentLoader->frame() && m_documentLoader->frame()->settings().offlineWebApplicationCacheEnabled() && !m_documentLoader->frame()-> settings().privateBrowsingEnabled();479 return m_documentLoader->frame() && m_documentLoader->frame()->settings().offlineWebApplicationCacheEnabled() && !m_documentLoader->frame()->page()->usesEphemeralSession(); 480 480 } 481 481 -
trunk/Source/WebCore/loader/icon/IconController.cpp
r165676 r166661 205 205 206 206 // FIXME (<rdar://problem/9168605>) - We should support in-memory-only private browsing icons in asynchronous icon database mode. 207 if (iconDatabase().supportsAsynchronousMode() && m_frame.page()-> settings().privateBrowsingEnabled())207 if (iconDatabase().supportsAsynchronousMode() && m_frame.page()->usesEphemeralSession()) 208 208 return; 209 209 -
trunk/Source/WebCore/page/Page.cpp
r166459 r166661 193 193 , m_framesHandlingBeforeUnloadEvent(0) 194 194 , m_visitedLinkStore(std::move(pageClients.visitedLinkStore)) 195 , m_sessionID(SessionID:: emptySessionID())195 , m_sessionID(SessionID::defaultSessionID()) 196 196 { 197 197 ASSERT(m_editorClient); … … 1081 1081 } 1082 1082 1083 void Page::privateBrowsingStateChanged() 1084 { 1085 bool privateBrowsingEnabled = m_settings->privateBrowsingEnabled(); 1086 1087 for (Frame* frame = &mainFrame(); frame; frame = frame->tree().traverseNext()) 1088 frame->document()->privateBrowsingStateDidChange(); 1089 1090 // Collect the PluginViews in to a vector to ensure that action the plug-in takes 1091 // from below privateBrowsingStateChanged does not affect their lifetime. 1092 auto views = pluginViews(); 1093 1094 for (unsigned i = 0; i < views.size(); ++i) 1095 views[i]->privateBrowsingStateChanged(privateBrowsingEnabled); 1083 void Page::enableLegacyPrivateBrowsing(bool privateBrowsingEnabled) 1084 { 1085 // Don't allow changing the legacy private browsing state if we have set a session ID. 1086 ASSERT(m_sessionID == SessionID::defaultSessionID() || m_sessionID == SessionID::legacyPrivateSessionID()); 1087 1088 setSessionID(privateBrowsingEnabled ? SessionID::legacyPrivateSessionID() : SessionID::defaultSessionID()); 1096 1089 } 1097 1090 … … 1515 1508 SessionID Page::sessionID() const 1516 1509 { 1517 if (m_sessionID.isValid()) 1518 return m_sessionID; 1519 1520 if (settings().privateBrowsingEnabled()) 1521 return SessionID::legacyPrivateSessionID(); 1522 1523 return SessionID::defaultSessionID(); 1510 return m_sessionID; 1524 1511 } 1525 1512 … … 1527 1514 { 1528 1515 ASSERT(sessionID.isValid()); 1516 1517 bool privateBrowsingStateChanged = (sessionID.isEphemeral() != m_sessionID.isEphemeral()); 1518 1529 1519 m_sessionID = sessionID; 1520 1521 if (!privateBrowsingStateChanged) 1522 return; 1523 1524 for (Frame* frame = &mainFrame(); frame; frame = frame->tree().traverseNext()) 1525 frame->document()->privateBrowsingStateDidChange(); 1526 1527 // Collect the PluginViews in to a vector to ensure that action the plug-in takes 1528 // from below privateBrowsingStateChanged does not affect their lifetime. 1529 1530 for (auto& view : pluginViews()) 1531 view->privateBrowsingStateChanged(sessionID.isEphemeral()); 1532 1530 1533 } 1531 1534 -
trunk/Source/WebCore/page/Page.h
r166017 r166661 314 314 void dnsPrefetchingStateChanged(); 315 315 void storageBlockingStateChanged(); 316 void privateBrowsingStateChanged();317 316 318 317 void setDebugger(JSC::Debugger*); … … 411 410 SessionID sessionID() const; 412 411 void setSessionID(SessionID); 413 bool isSessionIDSet() const { return m_sessionID.isValid(); } 412 void enableLegacyPrivateBrowsing(bool privateBrowsingEnabled); 413 bool usesEphemeralSession() const { return m_sessionID.isEphemeral(); } 414 414 415 415 private: -
trunk/Source/WebCore/page/PageConsole.cpp
r165676 r166661 127 127 return; 128 128 129 if (m_page. settings().privateBrowsingEnabled())129 if (m_page.usesEphemeralSession()) 130 130 return; 131 131 … … 147 147 InspectorInstrumentation::addMessageToConsole(&m_page, MessageSource::ConsoleAPI, type, level, message, exec, arguments); 148 148 149 if (m_page. settings().privateBrowsingEnabled())149 if (m_page.usesEphemeralSession()) 150 150 return; 151 151 -
trunk/Source/WebCore/page/Settings.cpp
r166516 r166661 172 172 , m_isJavaEnabledForLocalFiles(true) 173 173 , m_loadsImagesAutomatically(false) 174 , m_privateBrowsingEnabled(false)175 174 , m_areImagesEnabled(true) 176 175 , m_arePluginsEnabled(false) … … 427 426 } 428 427 429 void Settings::setPrivateBrowsingEnabled(bool privateBrowsingEnabled)430 {431 if (m_privateBrowsingEnabled == privateBrowsingEnabled)432 return;433 434 m_privateBrowsingEnabled = privateBrowsingEnabled;435 m_page->privateBrowsingStateChanged();436 }437 438 428 void Settings::setUserStyleSheetLocation(const URL& userStyleSheetLocation) 439 429 { -
trunk/Source/WebCore/page/Settings.h
r166516 r166661 147 147 // - Plug-ins (that support NPNVprivateModeBool) 148 148 void setPrivateBrowsingEnabled(bool); 149 bool privateBrowsingEnabled() const { return m_privateBrowsingEnabled; }150 149 151 150 void setDNSPrefetchingEnabled(bool); … … 299 298 bool m_isJavaEnabledForLocalFiles : 1; 300 299 bool m_loadsImagesAutomatically : 1; 301 bool m_privateBrowsingEnabled : 1;302 300 bool m_areImagesEnabled : 1; 303 301 bool m_arePluginsEnabled : 1; -
trunk/Source/WebCore/plugins/PluginView.cpp
r165676 r166661 1355 1355 if (!page) 1356 1356 return NPERR_GENERIC_ERROR; 1357 *((NPBool*)value) = page-> settings().privateBrowsingEnabled();1357 *((NPBool*)value) = page->usesEphemeralSession(); 1358 1358 return NPERR_NO_ERROR; 1359 1359 } -
trunk/Source/WebCore/rendering/RenderSearchField.cpp
r162791 r166661 86 86 return; 87 87 88 if (frame(). settings().privateBrowsingEnabled())88 if (frame().page()->usesEphemeralSession()) 89 89 return; 90 90 -
trunk/Source/WebCore/storage/Storage.cpp
r153927 r166661 159 159 bool Storage::isDisabledByPrivateBrowsing() const 160 160 { 161 if (!m_frame->page()-> settings().privateBrowsingEnabled())161 if (!m_frame->page()->usesEphemeralSession()) 162 162 return false; 163 163 -
trunk/Source/WebKit/efl/ChangeLog
r166637 r166661 1 2014-04-02 Martin Hock <mhock@apple.com> 2 3 Unify private browsing with sessions. 4 https://bugs.webkit.org/show_bug.cgi?id=130099 5 6 Reviewed by Alexey Proskuryakov. 7 8 * ewk/ewk_view.cpp: 9 (_ewk_view_priv_new): Change WebCore::Settings::privateBrowsingEnabled() to Page::sessionID().isEphemeral(). 10 (ewk_view_setting_private_browsing_set): Change WebCore::Settings::setPrivateBrowsingEnabled() to Page::enableLegacyPrivateBrowsing(). 11 1 12 2014-04-02 Hyowon Kim <hw1008.kim@samsung.com> 2 13 -
trunk/Source/WebKit/efl/ewk/ewk_view.cpp
r166637 r166661 67 67 #include "RuntimeEnabledFeatures.h" 68 68 #include "ScriptController.h" 69 #include "SessionID.h" 69 70 #include "Settings.h" 70 71 #include "SoupNetworkSession.h" … … 792 793 priv->settings.scriptsCanAccessClipboard = pageSettings.javaScriptCanAccessClipboard() && pageSettings.DOMPasteAllowed(); 793 794 priv->settings.resizableTextareas = pageSettings.textAreasAreResizable(); 794 priv->settings.privateBrowsing = p ageSettings.privateBrowsingEnabled();795 priv->settings.privateBrowsing = priv->page->usesEphemeralSession(); 795 796 priv->settings.caretBrowsing = pageSettings.caretBrowsingEnabled(); 796 797 priv->settings.spatialNavigation = pageSettings.spatialNavigationEnabled(); … … 2219 2220 enable = !!enable; 2220 2221 if (priv->settings.privateBrowsing != enable) { 2221 priv->page-> settings().setPrivateBrowsingEnabled(enable);2222 priv->page->enableLegacyPrivateBrowsing(enable); 2222 2223 priv->settings.privateBrowsing = enable; 2223 2224 } -
trunk/Source/WebKit/gtk/ChangeLog
r166499 r166661 1 2014-04-02 Martin Hock <mhock@apple.com> 2 3 Unify private browsing with sessions. 4 https://bugs.webkit.org/show_bug.cgi?id=130099 5 6 Reviewed by Alexey Proskuryakov. 7 8 * WebCoreSupport/FrameLoaderClientGtk.cpp: Change WebCore::Settings::privateBrowsingEnabled() to Page:usesEphemeralSession(). 9 (WebKit::FrameLoaderClient::dispatchDidReceiveAuthenticationChallenge): 10 * webkit/webkitwebview.cpp: Change Settings::setPrivateBrowsingEnabled() to Page::enablePrivateBrowsing(). 11 (webkit_web_view_update_settings): 12 (webkit_web_view_settings_notify): 13 1 14 2014-03-31 Martin Robinson <mrobinson@igalia.com> 2 15 -
trunk/Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
r165810 r166661 259 259 260 260 CredentialStorageMode credentialStorageMode; 261 if (core(view)-> settings().privateBrowsingEnabled())261 if (core(view)->usesEphemeralSession()) 262 262 credentialStorageMode = DisallowPersistentStorage; 263 263 else -
trunk/Source/WebKit/gtk/webkit/webkitwebview.cpp
r165810 r166661 3602 3602 coreSettings.setUserStyleSheetLocation(URL(URL(), settingsPrivate->userStylesheetURI.data())); 3603 3603 coreSettings.setDeveloperExtrasEnabled(settingsPrivate->enableDeveloperExtras); 3604 core Settings.setPrivateBrowsingEnabled(settingsPrivate->enablePrivateBrowsing);3604 core(webView)->enableLegacyPrivateBrowsing(settingsPrivate->enablePrivateBrowsing); 3605 3605 coreSettings.setCaretBrowsingEnabled(settingsPrivate->enableCaretBrowsing); 3606 3606 coreSettings.setLocalStorageEnabled(settingsPrivate->enableHTML5LocalStorage); … … 3734 3734 settings.setDeveloperExtrasEnabled(g_value_get_boolean(&value)); 3735 3735 else if (name == g_intern_string("enable-private-browsing")) 3736 settings.setPrivateBrowsingEnabled(g_value_get_boolean(&value));3736 core(webView)->enableLegacyPrivateBrowsing(g_value_get_boolean(&value)); 3737 3737 else if (name == g_intern_string("enable-caret-browsing")) 3738 3738 settings.setCaretBrowsingEnabled(g_value_get_boolean(&value)); -
trunk/Source/WebKit/mac/ChangeLog
r166617 r166661 1 2014-04-02 Martin Hock <mhock@apple.com> 2 3 Unify private browsing with sessions. 4 https://bugs.webkit.org/show_bug.cgi?id=130099 5 6 Reviewed by Alexey Proskuryakov. 7 8 * WebCoreSupport/WebFrameLoaderClient.mm: Change WebCore::Settings::privateBrowsingEnabled() to Page::sessionID().isEphemeral(). 9 (WebFrameLoaderClient::updateGlobalHistoryItemForPage): 10 * WebCoreSupport/WebFrameNetworkingContext.mm: Ditto. 11 (WebFrameNetworkingContext::storageSession): 12 * WebView/WebView.mm: Change WebCore::Settings::setPrivateBrowsingEnabled() to Page::enableLegacyPrivateBrowsing(). 13 (-[WebView _preferencesChanged:]): 14 1 15 2014-04-01 Anders Carlsson <andersca@apple.com> 2 16 -
trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
r166378 r166661 1115 1115 1116 1116 if (Page* page = core(m_webFrame.get())->page()) { 1117 if (!page->se ttings().privateBrowsingEnabled())1117 if (!page->sessionID().isEphemeral()) 1118 1118 historyItem = page->backForward().currentItem(); 1119 1119 } -
trunk/Source/WebKit/mac/WebCoreSupport/WebFrameNetworkingContext.mm
r161185 r166661 114 114 ASSERT(isMainThread()); 115 115 116 if (frame() && frame()-> settings().privateBrowsingEnabled())116 if (frame() && frame()->page()->sessionID().isEphemeral()) 117 117 return *privateSession(); 118 118 -
trunk/Source/WebKit/mac/WebView/WebView.mm
r166529 r166661 2248 2248 settings.setExperimentalNotificationsEnabled([preferences experimentalNotificationsEnabled]); 2249 2249 #endif 2250 settings.setPrivateBrowsingEnabled([preferences privateBrowsingEnabled]);2250 _private->page->enableLegacyPrivateBrowsing([preferences privateBrowsingEnabled]); 2251 2251 settings.setSansSerifFontFamily([preferences sansSerifFontFamily]); 2252 2252 settings.setSerifFontFamily([preferences serifFontFamily]); -
trunk/Source/WebKit/win/ChangeLog
r166120 r166661 1 2014-04-02 Martin Hock <mhock@apple.com> 2 3 Unify private browsing with sessions. 4 https://bugs.webkit.org/show_bug.cgi?id=130099 5 6 Reviewed by Alexey Proskuryakov. 7 8 * WebCoreSupport/WebFrameLoaderClient.cpp: Change WebCore::Settings::privateBrowsingEnabled() to Page::sessionID().isEphemeral(). 9 (WebFrameLoaderClient::updateGlobalHistoryItemForPage): 10 * WebCoreSupport/WebFrameNetworkingContext.cpp: Ditto. 11 (WebFrameNetworkingContext::storageSession): 12 * WebView.cpp: Change WebCore::Settings::setPrivateBrowsingEnabled() to Page::enableLegacyPrivateBrowsing(). 13 (WebView::notifyPreferencesChanged): 14 1 15 2014-03-22 Darin Adler <darin@apple.com> 2 16 -
trunk/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp
r165676 r166661 804 804 805 805 if (Page* page = webView->page()) { 806 if (!page-> settings().privateBrowsingEnabled())806 if (!page->usesEphemeralSession()) 807 807 historyItem = page->backForward().currentItem(); 808 808 } -
trunk/Source/WebKit/win/WebCoreSupport/WebFrameNetworkingContext.cpp
r157337 r166661 115 115 ASSERT(isMainThread()); 116 116 117 if (frame() && frame()-> settings().privateBrowsingEnabled())117 if (frame() && frame()->page()->usesEphemeralSession()) 118 118 return *privateSession(); 119 119 -
trunk/Source/WebKit/win/WebView.cpp
r165753 r166661 4788 4788 WebFrameNetworkingContext::destroyPrivateBrowsingSession(); 4789 4789 #endif 4790 settings.setPrivateBrowsingEnabled(!!enabled);4790 m_page->enableLegacyPrivateBrowsing(!!enabled); 4791 4791 4792 4792 hr = preferences->sansSerifFontFamily(&str); -
trunk/Source/WebKit2/ChangeLog
r166658 r166661 1 2014-04-02 Martin Hock <mhock@apple.com> 2 3 Unify private browsing with sessions. 4 https://bugs.webkit.org/show_bug.cgi?id=130099 5 6 Reviewed by Alexey Proskuryakov. 7 8 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: Change WebPage::isUsingEphemeralSession() to WebPage::usesEphemeralSession(). 9 (WKBundlePageIsUsingEphemeralSession): 10 * WebProcess/InjectedBundle/InjectedBundle.cpp: Change Settings::setPrivateBrowsingEnabled() to Page::enableLegacyPrivateBrowsing(). 11 (WebKit::InjectedBundle::setPrivateBrowsingEnabled): 12 * WebProcess/Plugins/PluginView.cpp: Change Settings::privateBrowsingEnabled() to Page::usesEphemeralSession(). 13 (WebKit::PluginView::isPrivateBrowsingEnabled): 14 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp: Ditto. 15 (WebKit::WebFrameNetworkingContext::storageSession): 16 * WebProcess/WebPage/WebPage.cpp: 17 (WebKit::WebPage::usesEphemeralSession): Renamed from isUsingEphemeralSession. 18 (WebKit::WebPage::setSessionID): Ensure session before setting. 19 (WebKit::WebPage::updatePreferences): Set session to legacy private session if needed. 20 (WebKit::WebPage::sessionID): Moved to header. 21 (WebKit::WebPage::isUsingEphemeralSession): Renamed to usesEphemeralSession. 22 * WebProcess/WebPage/WebPage.h: 23 (WebKit::WebPage::sessionID): Just call down to m_page. 24 1 25 2014-04-02 Alice Barraclough <alice.liu@apple.com> 2 26 -
trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp
r165870 r166661 562 562 bool WKBundlePageIsUsingEphemeralSession(WKBundlePageRef pageRef) 563 563 { 564 return toImpl(pageRef)-> isUsingEphemeralSession();565 } 564 return toImpl(pageRef)->usesEphemeralSession(); 565 } -
trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp
r166262 r166661 305 305 const HashSet<Page*>& pages = PageGroup::pageGroup(pageGroup->identifier())->pages(); 306 306 for (HashSet<Page*>::iterator iter = pages.begin(); iter != pages.end(); ++iter) 307 (*iter)-> settings().setPrivateBrowsingEnabled(enabled);307 (*iter)->enableLegacyPrivateBrowsing(enabled); 308 308 } 309 309 -
trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp
r166443 r166661 1540 1540 return true; 1541 1541 1542 return frame()-> settings().privateBrowsingEnabled();1542 return frame()->page()->usesEphemeralSession(); 1543 1543 } 1544 1544 -
trunk/Source/WebKit2/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp
r164726 r166661 56 56 NetworkStorageSession& WebFrameNetworkingContext::storageSession() const 57 57 { 58 if (frame() && frame()-> settings().privateBrowsingEnabled())58 if (frame() && frame()->page()->usesEphemeralSession()) 59 59 return *SessionTracker::session(SessionID::legacyPrivateSessionID()); 60 60 -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
r166557 r166661 52 52 #include "PrintInfo.h" 53 53 #include "SessionState.h" 54 #include "SessionTracker.h" 54 55 #include "ShareableBitmap.h" 55 56 #include "VisitedLinkTableController.h" … … 2181 2182 } 2182 2183 2183 SessionID WebPage::sessionID() const2184 {2185 if (m_page->isSessionIDSet())2186 return m_page->sessionID();2187 2188 return m_page->settings().privateBrowsingEnabled() ? SessionID::legacyPrivateSessionID() : SessionID::defaultSessionID();2189 }2190 2191 bool WebPage::isUsingEphemeralSession() const2192 {2193 return sessionID().isEphemeral();2194 }2195 2196 2184 void WebPage::setSessionID(SessionID sessionID) 2197 2185 { 2198 m_page->setSessionID(sessionID);2199 2186 if (sessionID.isEphemeral()) 2200 2187 WebProcess::shared().ensurePrivateBrowsingSession(sessionID); 2188 m_page->setSessionID(sessionID); 2201 2189 } 2202 2190 … … 2503 2491 settings.setXSSAuditorEnabled(store.getBoolValueForKey(WebPreferencesKey::xssAuditorEnabledKey())); 2504 2492 settings.setFrameFlatteningEnabled(store.getBoolValueForKey(WebPreferencesKey::frameFlatteningEnabledKey())); 2505 if ( m_page->isSessionIDSet())2506 set tings.setPrivateBrowsingEnabled(m_page->sessionID().isEphemeral());2507 else 2508 set tings.setPrivateBrowsingEnabled(store.getBoolValueForKey(WebPreferencesKey::privateBrowsingEnabledKey()));2493 if (store.getBoolValueForKey(WebPreferencesKey::privateBrowsingEnabledKey()) && !usesEphemeralSession()) 2494 setSessionID(SessionID::legacyPrivateSessionID()); 2495 else if (!store.getBoolValueForKey(WebPreferencesKey::privateBrowsingEnabledKey()) && sessionID() == SessionID::legacyPrivateSessionID()) 2496 setSessionID(SessionID::defaultSessionID()); 2509 2497 settings.setDeveloperExtrasEnabled(store.getBoolValueForKey(WebPreferencesKey::developerExtrasEnabledKey())); 2510 2498 settings.setJavaScriptExperimentsEnabled(store.getBoolValueForKey(WebPreferencesKey::javaScriptExperimentsEnabledKey())); -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h
r166431 r166661 194 194 WebCore::Page* corePage() const { return m_page.get(); } 195 195 uint64_t pageID() const { return m_pageID; } 196 WebCore::SessionID sessionID() const; 197 bool isUsingEphemeralSession() const; 196 WebCore::SessionID sessionID() const { return m_page->sessionID(); } 197 bool usesEphemeralSession() const { return m_page->usesEphemeralSession(); } 198 198 199 void setSessionID(WebCore::SessionID); 199 200 -
trunk/Tools/ChangeLog
r166648 r166661 1 2014-04-02 Martin Hock <mhock@apple.com> 2 3 Unify private browsing with sessions. 4 https://bugs.webkit.org/show_bug.cgi?id=130099 5 6 Reviewed by Alexey Proskuryakov. 7 8 Add an API test for ephemeral sessions similar to PrivateBrowsingPushStateNoHistoryCallback. 9 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: 10 * TestWebKitAPI/Tests/WebKit2/EphemeralSessionPushStateNoHistoryCallback.cpp: 11 (TestWebKitAPI::didNavigateWithNavigationData): 12 (TestWebKitAPI::didSameDocumentNavigationForFrame): 13 (TestWebKitAPI::TEST): 14 15 * TestWebKitAPI/Tests/WebKit2/PrivateBrowsingPushStateNoHistoryCallback.cpp: Also test to make sure private browsing can be disabled. 16 (TestWebKitAPI::didNavigateWithoutNavigationData): 17 (TestWebKitAPI::didNavigateWithNavigationData): 18 (TestWebKitAPI::didSameDocumentNavigationForFrame): 19 (TestWebKitAPI::TEST): 20 1 21 2014-04-02 Martin Robinson <mrobinson@igalia.com> 2 22 -
trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
r166448 r166661 108 108 52E5CE4614D21E9D003B2BD8 /* ParentFrame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52E5CE4514D21E9D003B2BD8 /* ParentFrame.cpp */; }; 109 109 52E5CE4914D21EAB003B2BD8 /* ParentFrame_Bundle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52E5CE4814D21EAB003B2BD8 /* ParentFrame_Bundle.cpp */; }; 110 75F3134018C171B70041CAEC /* EphemeralSessionPushStateNoHistoryCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 75F3133F18C171B70041CAEC /* EphemeralSessionPushStateNoHistoryCallback.cpp */; }; 110 111 76E182DA1547550100F1FADD /* WillSendSubmitEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 76E182D91547550100F1FADD /* WillSendSubmitEvent.cpp */; }; 111 112 76E182DD1547569100F1FADD /* WillSendSubmitEvent_Bundle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 76E182DC1547569100F1FADD /* WillSendSubmitEvent_Bundle.cpp */; }; … … 435 436 52E5CE4514D21E9D003B2BD8 /* ParentFrame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ParentFrame.cpp; sourceTree = "<group>"; }; 436 437 52E5CE4814D21EAB003B2BD8 /* ParentFrame_Bundle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ParentFrame_Bundle.cpp; sourceTree = "<group>"; }; 438 75F3133F18C171B70041CAEC /* EphemeralSessionPushStateNoHistoryCallback.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EphemeralSessionPushStateNoHistoryCallback.cpp; sourceTree = "<group>"; }; 437 439 76E182D91547550100F1FADD /* WillSendSubmitEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WillSendSubmitEvent.cpp; sourceTree = "<group>"; }; 438 440 76E182DC1547569100F1FADD /* WillSendSubmitEvent_Bundle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WillSendSubmitEvent_Bundle.cpp; sourceTree = "<group>"; }; … … 769 771 F6F49C6615545C8D0007F39D /* DOMWindowExtensionNoCache_Bundle.cpp */, 770 772 C045F9441385C2E900C0F3CD /* DownloadDecideDestinationCrash.cpp */, 773 75F3133F18C171B70041CAEC /* EphemeralSessionPushStateNoHistoryCallback.cpp */, 771 774 1A5FEFDC1270E2A3000E2921 /* EvaluateJavaScript.cpp */, 772 775 BCC8B95A12611F4700DE46A4 /* FailedLoad.cpp */, … … 1155 1158 379028B614FABD92007E6B43 /* AcceptsFirstMouse.mm in Sources */, 1156 1159 291861FF17BD4DC700D4E41E /* StopLoadingFromDidFinishLoading.mm in Sources */, 1160 75F3134018C171B70041CAEC /* EphemeralSessionPushStateNoHistoryCallback.cpp in Sources */, 1157 1161 26F1B44415CA434F00D1E4BF /* AtomicString.cpp in Sources */, 1158 1162 B55F11A01516834F00915916 /* AttributedString.mm in Sources */, -
trunk/Tools/TestWebKitAPI/Tests/WebKit2/EphemeralSessionPushStateNoHistoryCallback.cpp
r166660 r166661 1 1 /* 2 * Copyright (C) 201 1Apple Inc. All rights reserved.2 * Copyright (C) 2014 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 45 45 } 46 46 47 TEST(WebKit2, PrivateBrowsingPushStateNoHistoryCallback)47 TEST(WebKit2, EphemeralSessionPushStateNoHistoryCallback) 48 48 { 49 49 WKRetainPtr<WKContextRef> context(AdoptWK, WKContextCreate()); … … 67 67 WKPageSetPageLoaderClient(webView.page(), &pageLoaderClient.base); 68 68 69 WKRetainPtr<WKPreferencesRef> preferences(AdoptWK, WKPreferencesCreate()); 70 WKPreferencesSetPrivateBrowsingEnabled(preferences.get(), true); 71 72 WKPageGroupRef pageGroup = WKPageGetPageGroup(webView.page()); 73 WKPageGroupSetPreferences(pageGroup, preferences.get()); 69 WKSessionRef session = WKSessionCreate(true); 70 WKPageSetSession(webView.page(), session); 74 71 75 72 WKRetainPtr<WKURLRef> url(AdoptWK, Util::createURLForResource("push-state", "html")); -
trunk/Tools/TestWebKitAPI/Tests/WebKit2/PrivateBrowsingPushStateNoHistoryCallback.cpp
r160104 r166661 32 32 namespace TestWebKitAPI { 33 33 34 static bool testDone; 34 static bool didNavigate; 35 static bool didSameDocumentNavigation; 35 36 36 static void didNavigateWith NavigationData(WKContextRef context, WKPageRef page, WKNavigationDataRef navigationData, WKFrameRef frame, const void* clientInfo)37 static void didNavigateWithoutNavigationData(WKContextRef context, WKPageRef page, WKNavigationDataRef navigationData, WKFrameRef frame, const void* clientInfo) 37 38 { 38 39 // This should never be called when navigating in Private Browsing. … … 40 41 } 41 42 43 static void didNavigateWithNavigationData(WKContextRef context, WKPageRef page, WKNavigationDataRef navigationData, WKFrameRef frame, const void* clientInfo) 44 { 45 didNavigate = true; 46 } 47 42 48 static void didSameDocumentNavigationForFrame(WKPageRef page, WKFrameRef frame, WKSameDocumentNavigationType type, WKTypeRef userData, const void *clientInfo) 43 49 { 44 testDone= true;50 didSameDocumentNavigation = true; 45 51 } 46 52 … … 53 59 54 60 historyClient.base.version = 0; 55 historyClient.didNavigateWithNavigationData = didNavigateWith NavigationData;61 historyClient.didNavigateWithNavigationData = didNavigateWithoutNavigationData; 56 62 57 63 WKContextSetHistoryClient(context.get(), &historyClient.base); … … 76 82 WKPageLoadURL(webView.page(), url.get()); 77 83 78 Util::run(&testDone); 84 Util::run(&didSameDocumentNavigation); 85 86 WKPreferencesSetPrivateBrowsingEnabled(preferences.get(), false); 87 88 historyClient.didNavigateWithNavigationData = didNavigateWithNavigationData; 89 WKContextSetHistoryClient(context.get(), &historyClient.base); 90 91 WKPageLoadURL(webView.page(), url.get()); 92 93 Util::run(&didNavigate); 79 94 } 80 95
Note: See TracChangeset
for help on using the changeset viewer.