Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(65)

Unified Diff: extensions/browser/api/guest_view/web_view/web_view_internal_api.cc

Issue 1056533002: Implement <webview>.addContentScript/removeContentScript API [2] (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@webview_addremove_contentscripts_2
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: extensions/browser/api/guest_view/web_view/web_view_internal_api.cc
diff --git a/extensions/browser/api/guest_view/web_view/web_view_internal_api.cc b/extensions/browser/api/guest_view/web_view/web_view_internal_api.cc
index 12e9686c48bbe77cc5e40e9554b9588c5221545d..8f4d3a69276874a39714d124151d3a6411a94599 100644
--- a/extensions/browser/api/guest_view/web_view/web_view_internal_api.cc
+++ b/extensions/browser/api/guest_view/web_view/web_view_internal_api.cc
@@ -20,9 +20,6 @@
#include "extensions/common/manifest_constants.h"
#include "extensions/common/permissions/permissions_data.h"
#include "extensions/common/user_script.h"
-#include "net/base/load_flags.h"
-#include "net/url_request/url_fetcher.h"
-#include "net/url_request/url_fetcher_delegate.h"
#include "third_party/WebKit/public/web/WebFindOptions.h"
using content::WebContents;
@@ -236,51 +233,6 @@ bool ParseContentScripts(
namespace extensions {
-// WebUIURLFetcher downloads the content of a file by giving its |url| on WebUI.
-// Each WebUIURLFetcher is associated with a given |render_process_id,
-// render_view_id| pair.
-class WebViewInternalExecuteCodeFunction::WebUIURLFetcher
- : public net::URLFetcherDelegate {
- public:
- WebUIURLFetcher(
- content::BrowserContext* context,
- const WebViewInternalExecuteCodeFunction::WebUILoadFileCallback& callback)
- : context_(context), callback_(callback) {}
- ~WebUIURLFetcher() override {}
-
- void Start(int render_process_id, int render_view_id, const GURL& url) {
- fetcher_.reset(net::URLFetcher::Create(url, net::URLFetcher::GET, this));
- fetcher_->SetRequestContext(context_->GetRequestContext());
- fetcher_->SetLoadFlags(net::LOAD_DO_NOT_SAVE_COOKIES);
-
- content::AssociateURLFetcherWithRenderFrame(
- fetcher_.get(), url, render_process_id, render_view_id);
- fetcher_->Start();
- }
-
- private:
- // net::URLFetcherDelegate:
- void OnURLFetchComplete(const net::URLFetcher* source) override {
- CHECK_EQ(fetcher_.get(), source);
-
- std::string data;
- bool result = false;
- if (fetcher_->GetStatus().status() == net::URLRequestStatus::SUCCESS) {
- result = fetcher_->GetResponseAsString(&data);
- DCHECK(result);
- }
- fetcher_.reset();
- callback_.Run(result, data);
- callback_.Reset();
- }
-
- content::BrowserContext* context_;
- WebViewInternalExecuteCodeFunction::WebUILoadFileCallback callback_;
- scoped_ptr<net::URLFetcher> fetcher_;
-
- DISALLOW_COPY_AND_ASSIGN(WebUIURLFetcher);
-};
-
bool WebViewInternalExtensionFunction::RunAsync() {
int instance_id = 0;
EXTENSION_FUNCTION_VALIDATE(args_->GetInteger(0, &instance_id));
@@ -379,7 +331,7 @@ const GURL& WebViewInternalExecuteCodeFunction::GetWebViewSrc() const {
bool WebViewInternalExecuteCodeFunction::LoadFileForWebUI(
const std::string& file_src,
- const WebUILoadFileCallback& callback) {
+ const WebUIURLFetcher::WebUILoadFileCallback& callback) {
if (!render_view_host() || !render_view_host()->GetProcess())
return false;
WebViewGuest* guest = WebViewGuest::From(
@@ -465,8 +417,9 @@ WebViewInternalAddContentScriptsFunction::Run() {
WebViewContentScriptManager::Get(browser_context());
DCHECK(manager);
- manager->AddContentScripts(sender_web_contents, params->instance_id, host_id,
- result);
+ manager->AddContentScripts(sender_web_contents,
+ render_view_host()->GetRoutingID(),
+ params->instance_id, host_id, result);
return RespondNow(NoArguments());
}

Powered by Google App Engine
This is Rietveld 408576698