diff options
Diffstat (limited to 'Source/WebKit2/WebProcess/WebPage/WebPageGroupProxy.cpp')
-rw-r--r-- | Source/WebKit2/WebProcess/WebPage/WebPageGroupProxy.cpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/Source/WebKit2/WebProcess/WebPage/WebPageGroupProxy.cpp b/Source/WebKit2/WebProcess/WebPage/WebPageGroupProxy.cpp index 3bd20c8a6..f59fbbaf5 100644 --- a/Source/WebKit2/WebProcess/WebPage/WebPageGroupProxy.cpp +++ b/Source/WebKit2/WebProcess/WebPage/WebPageGroupProxy.cpp @@ -28,6 +28,8 @@ #include "WebProcess.h" #include "InjectedBundle.h" +#include <WebCore/DOMWrapperWorld.h> +#include <WebCore/PageGroup.h> namespace WebKit { @@ -44,5 +46,45 @@ PassRefPtr<WebPageGroupProxy> WebPageGroupProxy::create(const WebPageGroupData& WebPageGroupProxy::~WebPageGroupProxy() { } + +void WebPageGroupProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments) +{ + didReceiveWebPageGroupProxyMessage(connection, messageID, arguments); +} + +WebPageGroupProxy::WebPageGroupProxy(const WebPageGroupData& data) + : m_data(data) + , m_pageGroup(WebCore::PageGroup::pageGroup(m_data.identifer)) +{ + for (size_t i = 0; i < data.userStyleSheets.size(); ++i) + addUserStyleSheet(data.userStyleSheets[i]); + for (size_t i = 0; i < data.userScripts.size(); ++i) + addUserScript(data.userScripts[i]); +} + +void WebPageGroupProxy::addUserStyleSheet(const WebCore::UserStyleSheet& userStyleSheet) +{ + m_pageGroup->addUserStyleSheetToWorld(WebCore::mainThreadNormalWorld(), userStyleSheet.source(), userStyleSheet.url(), userStyleSheet.whitelist(), userStyleSheet.blacklist(), userStyleSheet.injectedFrames(), userStyleSheet.level()); +} + +void WebPageGroupProxy::addUserScript(const WebCore::UserScript& userScript) +{ + m_pageGroup->addUserScriptToWorld(WebCore::mainThreadNormalWorld(), userScript.source(), userScript.url(), userScript.whitelist(), userScript.blacklist(), userScript.injectionTime(), userScript.injectedFrames()); +} + +void WebPageGroupProxy::removeAllUserStyleSheets() +{ + m_pageGroup->removeUserStyleSheetsFromWorld(WebCore::mainThreadNormalWorld()); +} + +void WebPageGroupProxy::removeAllUserScripts() +{ + m_pageGroup->removeUserScriptsFromWorld(WebCore::mainThreadNormalWorld()); +} + +void WebPageGroupProxy::removeAllUserContent() +{ + m_pageGroup->removeAllUserContent(); +} } // namespace WebKit |