diff options
Diffstat (limited to 'Source/WebKit2/WebProcess/WebPage/qt/WebPageQt.cpp')
-rw-r--r-- | Source/WebKit2/WebProcess/WebPage/qt/WebPageQt.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Source/WebKit2/WebProcess/WebPage/qt/WebPageQt.cpp b/Source/WebKit2/WebProcess/WebPage/qt/WebPageQt.cpp index 40071982b..2e90a7360 100644 --- a/Source/WebKit2/WebProcess/WebPage/qt/WebPageQt.cpp +++ b/Source/WebKit2/WebProcess/WebPage/qt/WebPageQt.cpp @@ -32,10 +32,12 @@ #include "WebEvent.h" #include "WebPageProxyMessages.h" #include "WebProcess.h" +#include <WebCore/DOMWrapperWorld.h> #include <WebCore/FocusController.h> #include <WebCore/Frame.h> #include <WebCore/KeyboardEvent.h> #include <WebCore/Page.h> +#include <WebCore/PageGroup.h> #include <WebCore/PlatformKeyboardEvent.h> #include <WebCore/Range.h> #include <WebCore/Settings.h> @@ -411,4 +413,13 @@ void WebPage::applicationSchemeReply(const QtNetworkReplyData& replyData) networkReply->finalize(); } +void WebPage::setUserScripts(const Vector<String>& scripts) +{ + // This works because we keep an unique page group for each Page. + PageGroup* pageGroup = PageGroup::pageGroup(this->pageGroup()->identifier()); + pageGroup->removeUserScriptsFromWorld(mainThreadNormalWorld()); + for (unsigned i = 0; i < scripts.size(); ++i) + pageGroup->addUserScriptToWorld(mainThreadNormalWorld(), scripts.at(i), KURL(), nullptr, nullptr, InjectAtDocumentEnd, InjectInTopFrameOnly); +} + } // namespace WebKit |