diff options
Diffstat (limited to 'Source/WebKit2/UIProcess/WebPageGroup.h')
-rw-r--r-- | Source/WebKit2/UIProcess/WebPageGroup.h | 38 |
1 files changed, 10 insertions, 28 deletions
diff --git a/Source/WebKit2/UIProcess/WebPageGroup.h b/Source/WebKit2/UIProcess/WebPageGroup.h index 46027c5af..a3eba61ea 100644 --- a/Source/WebKit2/UIProcess/WebPageGroup.h +++ b/Source/WebKit2/UIProcess/WebPageGroup.h @@ -30,19 +30,22 @@ #include "WebPageGroupData.h" #include "WebPageProxy.h" #include "WebProcessProxy.h" +#include <WebCore/UserStyleSheetTypes.h> #include <wtf/Forward.h> #include <wtf/HashSet.h> +#include <wtf/text/WTFString.h> namespace WebKit { class WebPreferences; class WebPageProxy; +class WebUserContentControllerProxy; class WebPageGroup : public API::ObjectImpl<API::Object::Type::PageGroup> { public: WebPageGroup(const String& identifier = String(), bool visibleToInjectedBundle = true, bool visibleToHistoryClient = true); static PassRefPtr<WebPageGroup> create(const String& identifier = String(), bool visibleToInjectedBundle = true, bool visibleToHistoryClient = true); - static PassRef<WebPageGroup> createNonNull(const String& identifier = String(), bool visibleToInjectedBundle = true, bool visibleToHistoryClient = true); + static Ref<WebPageGroup> createNonNull(const String& identifier = String(), bool visibleToInjectedBundle = true, bool visibleToHistoryClient = true); static WebPageGroup* get(uint64_t pageGroupID); virtual ~WebPageGroup(); @@ -50,44 +53,23 @@ public: void addPage(WebPageProxy*); void removePage(WebPageProxy*); - const String& identifier() const { return m_data.identifer; } uint64_t pageGroupID() const { return m_data.pageGroupID; } - const WebPageGroupData& data() { return m_data; } + const WebPageGroupData& data() const { return m_data; } void setPreferences(WebPreferences*); - WebPreferences* preferences() const; + WebPreferences& preferences() const; void preferencesDidChange(); - - void addUserStyleSheet(const String& source, const String& baseURL, API::Array* whitelist, API::Array* blacklist, WebCore::UserContentInjectedFrames, WebCore::UserStyleLevel); - void addUserScript(const String& source, const String& baseURL, API::Array* whitelist, API::Array* blacklist, WebCore::UserContentInjectedFrames, WebCore::UserScriptInjectionTime); - void removeAllUserStyleSheets(); - void removeAllUserScripts(); - void removeAllUserContent(); -private: - template<typename T> void sendToAllProcessesInGroup(const T&, uint64_t destinationID); + WebUserContentControllerProxy& userContentController(); +private: WebPageGroupData m_data; - mutable RefPtr<WebPreferences> m_preferences; + RefPtr<WebPreferences> m_preferences; + RefPtr<WebUserContentControllerProxy> m_userContentController; HashSet<WebPageProxy*> m_pages; }; -template<typename T> -void WebPageGroup::sendToAllProcessesInGroup(const T& message, uint64_t destinationID) -{ - HashSet<WebProcessProxy*> processesSeen; - - for (WebPageProxy* webPageProxy : m_pages) { - WebProcessProxy& webProcessProxy = webPageProxy->process(); - if (!processesSeen.add(&webProcessProxy).isNewEntry) - continue; - - if (webProcessProxy.canSendMessage()) - webProcessProxy.send(T(message), destinationID); - } -} - } // namespace WebKit #endif // WebPageGroup_h |