diff options
Diffstat (limited to 'Source/WebCore/page/PageGroup.h')
-rw-r--r-- | Source/WebCore/page/PageGroup.h | 112 |
1 files changed, 24 insertions, 88 deletions
diff --git a/Source/WebCore/page/PageGroup.h b/Source/WebCore/page/PageGroup.h index 01f2e33e8..3d9f274e1 100644 --- a/Source/WebCore/page/PageGroup.h +++ b/Source/WebCore/page/PageGroup.h @@ -23,115 +23,51 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef PageGroup_h -#define PageGroup_h +#pragma once -#include "LinkHash.h" -#include "SecurityOriginHash.h" #include "Supplementable.h" -#include "UserScript.h" -#include "UserStyleSheet.h" #include <wtf/HashSet.h> #include <wtf/Noncopyable.h> +#include <wtf/text/WTFString.h> namespace WebCore { - class URL; - class GroupSettings; - class IDBFactoryBackendInterface; - class Page; - class SecurityOrigin; - class StorageNamespace; - class VisitedLinkProvider; - class UserContentController; - +class Page; #if ENABLE(VIDEO_TRACK) - class CaptionPreferencesChangedListener; - class CaptionUserPreferences; +class CaptionUserPreferences; #endif - class PageGroup : public Supplementable<PageGroup> { - WTF_MAKE_NONCOPYABLE(PageGroup); WTF_MAKE_FAST_ALLOCATED; - public: - explicit PageGroup(const String& name); - explicit PageGroup(Page&); - ~PageGroup(); - - static PageGroup* pageGroup(const String& groupName); - - static void closeLocalStorage(); - - static void clearLocalStorageForAllOrigins(); - static void clearLocalStorageForOrigin(SecurityOrigin*); - static void closeIdleLocalStorageDatabases(); - // DumpRenderTree helper that triggers a StorageArea sync. - static void syncLocalStorage(); - - const HashSet<Page*>& pages() const { return m_pages; } - - void addPage(Page&); - void removePage(Page&); - - VisitedLinkProvider& visitedLinkProvider() { return *m_visitedLinkProvider; } - - bool isLinkVisited(LinkHash); +class PageGroup { + WTF_MAKE_NONCOPYABLE(PageGroup); WTF_MAKE_FAST_ALLOCATED; +public: + WEBCORE_EXPORT explicit PageGroup(const String& name); + explicit PageGroup(Page&); + ~PageGroup(); - void addVisitedLink(const URL&); - void addVisitedLink(const UChar*, size_t); - void addVisitedLinkHash(LinkHash); - void removeVisitedLink(const URL&); - void removeVisitedLinks(); + WEBCORE_EXPORT static PageGroup* pageGroup(const String& groupName); - static void setShouldTrackVisitedLinks(bool); - static void removeAllVisitedLinks(); + const HashSet<Page*>& pages() const { return m_pages; } - const String& name() { return m_name; } - unsigned identifier() { return m_identifier; } + void addPage(Page&); + void removePage(Page&); - StorageNamespace* localStorage(); - bool hasLocalStorage() { return m_localStorage; } - - StorageNamespace* transientLocalStorage(SecurityOrigin* topOrigin); - - void addUserScriptToWorld(DOMWrapperWorld&, const String& source, const URL&, const Vector<String>& whitelist, const Vector<String>& blacklist, UserScriptInjectionTime, UserContentInjectedFrames); - void addUserStyleSheetToWorld(DOMWrapperWorld&, const String& source, const URL&, const Vector<String>& whitelist, const Vector<String>& blacklist, UserContentInjectedFrames, UserStyleLevel = UserStyleUserLevel, UserStyleInjectionTime = InjectInExistingDocuments); - void removeUserStyleSheetFromWorld(DOMWrapperWorld&, const URL&); - void removeUserScriptFromWorld(DOMWrapperWorld&, const URL&); - void removeUserScriptsFromWorld(DOMWrapperWorld&); - void removeUserStyleSheetsFromWorld(DOMWrapperWorld&); - void removeAllUserContent(); - - GroupSettings& groupSettings() const { return *m_groupSettings; } + const String& name() { return m_name; } + unsigned identifier() { return m_identifier; } #if ENABLE(VIDEO_TRACK) - void captionPreferencesChanged(); - CaptionUserPreferences* captionPreferences(); + WEBCORE_EXPORT void captionPreferencesChanged(); + WEBCORE_EXPORT CaptionUserPreferences& captionPreferences(); #endif - private: - void addVisitedLink(LinkHash); - - String m_name; - HashSet<Page*> m_pages; - - RefPtr<VisitedLinkProvider> m_visitedLinkProvider; - - HashSet<LinkHash, LinkHashHash> m_visitedLinkHashes; - bool m_visitedLinksPopulated; - - unsigned m_identifier; - RefPtr<StorageNamespace> m_localStorage; - HashMap<RefPtr<SecurityOrigin>, RefPtr<StorageNamespace>> m_transientLocalStorageMap; - - RefPtr<UserContentController> m_userContentController; +private: + String m_name; + HashSet<Page*> m_pages; - const std::unique_ptr<GroupSettings> m_groupSettings; + unsigned m_identifier; #if ENABLE(VIDEO_TRACK) - std::unique_ptr<CaptionUserPreferences> m_captionPreferences; + std::unique_ptr<CaptionUserPreferences> m_captionPreferences; #endif - }; +}; } // namespace WebCore - -#endif // PageGroup_h |