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

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, 10 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
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(make_scoped_ptr(new HostID(HostID::EXTENSIONS,
108 extension()->id())));
109 return true;
110 }
111
112 auto rvh = render_view_host();
Devlin 2015/02/25 17:22:36 Why use auto here? It subtracts, rather than adds
Xi Han 2015/02/26 15:13:45 Updated.
113 if (rvh) {
114 WebContents* web_contents = WebContents::FromRenderViewHost(rvh);
115 if (web_contents && web_contents->GetWebUI()) {
116 const GURL& url = rvh->GetSiteInstance()->GetSiteURL();
117 set_host_id(make_scoped_ptr(new HostID(HostID::WEBUI, url.spec())));
118 return true;
119 }
120 }
121 return false;
106 } 122 }
107 123
108 bool WebViewInternalExecuteCodeFunction::ShouldInsertCSS() const { 124 bool WebViewInternalExecuteCodeFunction::ShouldInsertCSS() const {
109 return false; 125 return false;
110 } 126 }
111 127
112 bool WebViewInternalExecuteCodeFunction::CanExecuteScriptOnPage() { 128 bool WebViewInternalExecuteCodeFunction::CanExecuteScriptOnPage() {
113 return true; 129 return true;
114 } 130 }
115 131
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after
510 // Will finish asynchronously. 526 // Will finish asynchronously.
511 return true; 527 return true;
512 } 528 }
513 529
514 void WebViewInternalClearDataFunction::ClearDataDone() { 530 void WebViewInternalClearDataFunction::ClearDataDone() {
515 Release(); // Balanced in RunAsync(). 531 Release(); // Balanced in RunAsync().
516 SendResponse(true); 532 SendResponse(true);
517 } 533 }
518 534
519 } // namespace extensions 535 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698