Changeset 176696 in webkit
- Timestamp:
- Dec 2, 2014, 4:30:17 PM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 added
- 10 edited
-
CMakeLists.txt (modified) (1 diff)
-
ChangeLog (modified) (1 diff)
-
WebCore.vcxproj/WebCore.vcxproj (modified) (2 diffs)
-
WebCore.vcxproj/WebCore.vcxproj.filters (modified) (1 diff)
-
WebCore.xcodeproj/project.pbxproj (modified) (5 diffs)
-
page/DOMWindow.cpp (modified) (2 diffs)
-
page/Page.cpp (modified) (4 diffs)
-
page/Page.h (modified) (3 diffs)
-
page/PageConfiguration.cpp (modified) (1 diff)
-
page/PageConfiguration.h (modified) (2 diffs)
-
storage/StorageNamespaceProvider.cpp (added)
-
storage/StorageNamespaceProvider.h (added)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/CMakeLists.txt
r176683 r176696 2483 2483 storage/StorageNamespace.cpp 2484 2484 storage/StorageNamespaceImpl.cpp 2485 storage/StorageNamespaceProvider.cpp 2485 2486 storage/StorageStrategy.cpp 2486 2487 storage/StorageSyncManager.cpp -
trunk/Source/WebCore/ChangeLog
r176694 r176696 1 2014-12-02 Anders Carlsson <andersca@apple.com> 2 3 Begin stubbing out a StorageNamespaceProvider class 4 https://bugs.webkit.org/show_bug.cgi?id=139203 5 6 Reviewed by Tim Horton. 7 8 * CMakeLists.txt: 9 * WebCore.vcxproj/WebCore.vcxproj: 10 * WebCore.vcxproj/WebCore.vcxproj.filters: 11 * WebCore.xcodeproj/project.pbxproj: 12 Add new files. 13 14 * page/DOMWindow.cpp: 15 (WebCore::DOMWindow::localStorage): 16 If the page has a storage namespace provider, get the local storage from it. 17 18 * page/Page.cpp: 19 (WebCore::Page::Page): 20 Move the storage namespace provider from the configuration. 21 22 (WebCore::Page::setStorageNamespaceProvider): 23 Add a setter. This will be used by setGroupName. 24 25 * page/Page.h: 26 (WebCore::Page::storageNamespaceProvider): 27 Add a getter. 28 29 * page/PageConfiguration.cpp: 30 * page/PageConfiguration.h: 31 Add a storage namespace provider member. 32 33 * storage/StorageNamespaceProvider.cpp: 34 (WebCore::StorageNamespaceProvider::StorageNamespaceProvider): 35 (WebCore::StorageNamespaceProvider::~StorageNamespaceProvider): 36 (WebCore::StorageNamespaceProvider::addPage): 37 (WebCore::StorageNamespaceProvider::removePage): 38 (WebCore::StorageNamespaceProvider::localStorageNamespace): 39 (WebCore::StorageNamespaceProvider::transientLocalStorageNamespace): 40 * storage/StorageNamespaceProvider.h: 41 Stub out a storage namespace provider class. 42 1 43 2014-12-02 Beth Dakin <bdakin@apple.com> 2 44 -
trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj
r176683 r176696 17859 17859 <ClCompile Include="..\storage\StorageNamespace.cpp" /> 17860 17860 <ClCompile Include="..\storage\StorageNamespaceImpl.cpp" /> 17861 <ClCompile Include="..\storage\StorageNamespaceProvider.cpp" /> 17861 17862 <ClCompile Include="..\storage\StorageSyncManager.cpp" /> 17862 17863 <ClCompile Include="..\storage\StorageThread.cpp" /> … … 21260 21261 <ClInclude Include="..\storage\StorageNamespace.h" /> 21261 21262 <ClInclude Include="..\storage\StorageNamespaceImpl.h" /> 21263 <ClInclude Include="..\storage\StorageNamespaceProvider.h" /> 21262 21264 <ClInclude Include="..\storage\StorageSyncManager.h" /> 21263 21265 <ClInclude Include="..\storage\StorageThread.h" /> -
trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters
r176670 r176696 4705 4705 <Filter>storage</Filter> 4706 4706 </ClCompile> 4707 <ClCompile Include="..\storage\StorageNamespaceProvider.cpp"> 4708 <Filter>storage</Filter> 4709 </ClCompile> 4707 4710 <ClCompile Include="..\storage\StorageSyncManager.cpp"> 4708 4711 <Filter>storage</Filter> -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r176684 r176696 700 700 1A3586E015264C450022A659 /* RenderMultiColumnFlowThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A3586DE15264C450022A659 /* RenderMultiColumnFlowThread.h */; }; 701 701 1A3586E115264F950022A659 /* SVGAnimatedIntegerOptionalInteger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 71E623CE151F72A60036E2F4 /* SVGAnimatedIntegerOptionalInteger.cpp */; }; 702 1A37636B1A2E68BB009A7EE2 /* StorageNamespaceProvider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3763691A2E68BB009A7EE2 /* StorageNamespaceProvider.cpp */; }; 703 1A37636C1A2E68BB009A7EE2 /* StorageNamespaceProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A37636A1A2E68BB009A7EE2 /* StorageNamespaceProvider.h */; }; 702 704 1A3FF9C315265359002288A1 /* RenderNamedFlowThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC85F23E1519187300BC17BE /* RenderNamedFlowThread.cpp */; }; 703 705 1A494BFA0A122F4400FDAFC1 /* JSHTMLElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A494BF80A122F4400FDAFC1 /* JSHTMLElement.cpp */; }; … … 7684 7686 1A3586DD15264C450022A659 /* RenderMultiColumnFlowThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderMultiColumnFlowThread.cpp; sourceTree = "<group>"; }; 7685 7687 1A3586DE15264C450022A659 /* RenderMultiColumnFlowThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderMultiColumnFlowThread.h; sourceTree = "<group>"; }; 7688 1A3763691A2E68BB009A7EE2 /* StorageNamespaceProvider.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StorageNamespaceProvider.cpp; sourceTree = "<group>"; }; 7689 1A37636A1A2E68BB009A7EE2 /* StorageNamespaceProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StorageNamespaceProvider.h; sourceTree = "<group>"; }; 7686 7690 1A494BBB0A122DCD00FDAFC1 /* HTMLElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = HTMLElement.idl; sourceTree = "<group>"; }; 7687 7691 1A494BF80A122F4400FDAFC1 /* JSHTMLElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLElement.cpp; sourceTree = "<group>"; }; … … 15131 15135 C55E38BC10040D5D00A56BDB /* StorageNamespaceImpl.cpp */, 15132 15136 C55E38BB10040D5D00A56BDB /* StorageNamespaceImpl.h */, 15137 1A3763691A2E68BB009A7EE2 /* StorageNamespaceProvider.cpp */, 15138 1A37636A1A2E68BB009A7EE2 /* StorageNamespaceProvider.h */, 15133 15139 1AB09DB216AF5F6C008538E7 /* StorageStrategy.cpp */, 15134 15140 1AB09DB316AF5F6C008538E7 /* StorageStrategy.h */, … … 24780 24786 2E2D99CE10E2BBDA00496337 /* JSBlob.h in Headers */, 24781 24787 1449E24C107D4A8400B5793F /* JSCallbackData.h in Headers */, 24788 1A37636C1A2E68BB009A7EE2 /* StorageNamespaceProvider.h in Headers */, 24782 24789 65DF323A09D1DE65000BE325 /* JSCanvasGradient.h in Headers */, 24783 24790 65DF323C09D1DE65000BE325 /* JSCanvasPattern.h in Headers */, … … 28559 28566 BCD9C2C20C17B69E005C90A2 /* JSNodeList.cpp in Sources */, 28560 28567 BCD9C2650C17AA67005C90A2 /* JSNodeListCustom.cpp in Sources */, 28568 1A37636B1A2E68BB009A7EE2 /* StorageNamespaceProvider.cpp in Sources */, 28561 28569 65DF31FD09D1CC60000BE325 /* JSNotation.cpp in Sources */, 28562 28570 33503CA310179AD7003B47E1 /* JSNotification.cpp in Sources */, -
trunk/Source/WebCore/page/DOMWindow.cpp
r176065 r176696 93 93 #include "StorageArea.h" 94 94 #include "StorageNamespace.h" 95 #include "StorageNamespaceProvider.h" 95 96 #include "StyleMedia.h" 96 97 #include "StyleResolver.h" … … 857 858 858 859 RefPtr<StorageArea> storageArea; 859 if (!document->securityOrigin()->canAccessLocalStorage(document->topOrigin())) 860 storageArea = page->group().transientLocalStorage(document->topOrigin())->storageArea(document->securityOrigin()); 861 else 862 storageArea = page->group().localStorage()->storageArea(document->securityOrigin()); 860 if (auto* storageNamespaceProvider = page->storageNamespaceProvider()) { 861 if (document->securityOrigin()->canAccessLocalStorage(document->topOrigin())) 862 storageArea = storageNamespaceProvider->localStorageNamespace().storageArea(document->securityOrigin()); 863 else 864 storageArea = storageNamespaceProvider->transientLocalStorageNamespace(*document->topOrigin()).storageArea(document->securityOrigin()); 865 } else { 866 // FIXME: Remove this once everyone has transitioned away from using the page group local storage. 867 if (!document->securityOrigin()->canAccessLocalStorage(document->topOrigin())) 868 storageArea = page->group().transientLocalStorage(document->topOrigin())->storageArea(document->securityOrigin()); 869 else 870 storageArea = page->group().localStorage()->storageArea(document->securityOrigin()); 871 } 863 872 864 873 if (!storageArea->canAccessStorage(m_frame)) { -
trunk/Source/WebCore/page/Page.cpp
r176683 r176696 80 80 #include "StorageArea.h" 81 81 #include "StorageNamespace.h" 82 #include "StorageNamespaceProvider.h" 82 83 #include "StyleResolver.h" 83 84 #include "SubframeLoader.h" … … 202 203 , m_lastSpatialNavigationCandidatesCount(0) // NOTE: Only called from Internals for Spatial Navigation testing. 203 204 , m_framesHandlingBeforeUnloadEvent(0) 205 , m_storageNamespaceProvider(WTF::move(pageConfiguration.storageNamespaceProvider)) 204 206 , m_userContentController(WTF::move(pageConfiguration.userContentController)) 205 207 , m_visitedLinkStore(*WTF::move(pageConfiguration.visitedLinkStore)) … … 212 214 setTimerThrottlingEnabled(m_viewState & ViewState::IsVisuallyIdle); 213 215 216 if (m_storageNamespaceProvider) 217 m_storageNamespaceProvider->addPage(*this); 214 218 if (m_userContentController) 215 219 m_userContentController->addPage(*this); … … 1612 1616 } 1613 1617 1618 void Page::setStorageNamespaceProvider(PassRef<StorageNamespaceProvider> storageNamespaceProvider) 1619 { 1620 if (m_storageNamespaceProvider) 1621 m_storageNamespaceProvider->removePage(*this); 1622 1623 m_storageNamespaceProvider = WTF::move(storageNamespaceProvider); 1624 m_storageNamespaceProvider->addPage(*this); 1625 1626 // This needs to reset all the local storage namespaces of all the pages. 1627 } 1628 1614 1629 VisitedLinkStore& Page::visitedLinkStore() 1615 1630 { -
trunk/Source/WebCore/page/Page.h
r176683 r176696 101 101 class Settings; 102 102 class StorageNamespace; 103 class StorageNamespaceProvider; 103 104 class UserContentController; 104 105 class ValidationMessageClient; … … 399 400 unsigned lastSpatialNavigationCandidateCount() const { return m_lastSpatialNavigationCandidatesCount; } 400 401 402 StorageNamespaceProvider* storageNamespaceProvider() { return m_storageNamespaceProvider.get(); } 403 void setStorageNamespaceProvider(PassRef<StorageNamespaceProvider>); 404 401 405 UserContentController* userContentController() { return m_userContentController.get(); } 402 406 void setUserContentController(UserContentController*); … … 567 571 unsigned m_framesHandlingBeforeUnloadEvent; 568 572 573 RefPtr<StorageNamespaceProvider> m_storageNamespaceProvider; 569 574 RefPtr<UserContentController> m_userContentController; 570 575 Ref<VisitedLinkStore> m_visitedLinkStore; -
trunk/Source/WebCore/page/PageConfiguration.cpp
r176499 r176696 28 28 29 29 #include "BackForwardClient.h" 30 #include "StorageNamespaceProvider.h" 30 31 #include "UserContentController.h" 31 32 #include "VisitedLinkStore.h" -
trunk/Source/WebCore/page/PageConfiguration.h
r176499 r176696 45 45 class PlugInClient; 46 46 class ProgressTrackerClient; 47 class StorageNamespaceProvider; 47 48 class UserContentController; 48 49 class ValidationMessageClient; … … 70 71 DiagnosticLoggingClient* diagnosticLoggingClient; 71 72 73 RefPtr<StorageNamespaceProvider> storageNamespaceProvider; 72 74 RefPtr<UserContentController> userContentController; 73 75 RefPtr<VisitedLinkStore> visitedLinkStore;
Note:
See TracChangeset
for help on using the changeset viewer.