summaryrefslogtreecommitdiff
path: root/Source/WebCore/page/PageGroup.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/page/PageGroup.h')
-rw-r--r--Source/WebCore/page/PageGroup.h112
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