summaryrefslogtreecommitdiffstats
path: root/Source/WebKit2/WebProcess/WebPage/qt/WebPageQt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/WebProcess/WebPage/qt/WebPageQt.cpp')
-rw-r--r--Source/WebKit2/WebProcess/WebPage/qt/WebPageQt.cpp11
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