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

Side by Side Diff: extensions/browser/api/web_view/web_view_internal_api.cc

Issue 942533003: Enable <webview>.executeScript outside of Apps and Extensions [1] (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@decouple_brower_isolated_world_routingid_user_script_UserScriptSet_non_hostset_2
Patch Set: nits Created 5 years, 9 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 unified diff | Download patch
« no previous file with comments | « extensions/browser/api/execute_code_function.cc ('k') | extensions/browser/script_executor.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "extensions/browser/api/web_view/web_view_internal_api.h" 5 #include "extensions/browser/api/web_view/web_view_internal_api.h"
6 6
7 #include "base/strings/stringprintf.h" 7 #include "base/strings/stringprintf.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "content/public/browser/render_process_host.h" 9 #include "content/public/browser/render_process_host.h"
10 #include "content/public/browser/render_view_host.h" 10 #include "content/public/browser/render_view_host.h"
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 return false; 95 return false;
96 96
97 base::DictionaryValue* details_value = NULL; 97 base::DictionaryValue* details_value = NULL;
98 if (!args_->GetDictionary(2, &details_value)) 98 if (!args_->GetDictionary(2, &details_value))
99 return false; 99 return false;
100 scoped_ptr<InjectDetails> details(new InjectDetails()); 100 scoped_ptr<InjectDetails> details(new InjectDetails());
101 if (!InjectDetails::Populate(*details_value, details.get())) 101 if (!InjectDetails::Populate(*details_value, details.get()))
102 return false; 102 return false;
103 103
104 details_ = details.Pass(); 104 details_ = details.Pass();
105 return true; 105
106 if (extension()) {
107 set_host_id(HostID(HostID::EXTENSIONS, extension()->id()));
108 return true;
109 }
110
111 WebContents* web_contents = GetSenderWebContents();
112 if (web_contents && web_contents->GetWebUI()) {
113 const GURL& url = render_view_host()->GetSiteInstance()->GetSiteURL();
114 set_host_id(HostID(HostID::WEBUI, url.spec()));
115 return true;
116 }
117 return false;
106 } 118 }
107 119
108 bool WebViewInternalExecuteCodeFunction::ShouldInsertCSS() const { 120 bool WebViewInternalExecuteCodeFunction::ShouldInsertCSS() const {
109 return false; 121 return false;
110 } 122 }
111 123
112 bool WebViewInternalExecuteCodeFunction::CanExecuteScriptOnPage() { 124 bool WebViewInternalExecuteCodeFunction::CanExecuteScriptOnPage() {
113 return true; 125 return true;
114 } 126 }
115 127
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after
510 // Will finish asynchronously. 522 // Will finish asynchronously.
511 return true; 523 return true;
512 } 524 }
513 525
514 void WebViewInternalClearDataFunction::ClearDataDone() { 526 void WebViewInternalClearDataFunction::ClearDataDone() {
515 Release(); // Balanced in RunAsync(). 527 Release(); // Balanced in RunAsync().
516 SendResponse(true); 528 SendResponse(true);
517 } 529 }
518 530
519 } // namespace extensions 531 } // namespace extensions
OLDNEW
« no previous file with comments | « extensions/browser/api/execute_code_function.cc ('k') | extensions/browser/script_executor.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698