Chromium Code Reviews| Index: extensions/renderer/script_context.cc |
| diff --git a/extensions/renderer/script_context.cc b/extensions/renderer/script_context.cc |
| index cf6432f8951ca42f6edbfbc58d6663c485318c85..e12de37d304dd1862ad92e5d31b16ee3330744e5 100644 |
| --- a/extensions/renderer/script_context.cc |
| +++ b/extensions/renderer/script_context.cc |
| @@ -109,12 +109,24 @@ ScriptContext::ScriptContext(const v8::Local<v8::Context>& v8_context, |
| effective_context_type_(effective_context_type), |
| safe_builtins_(this), |
| isolate_(v8_context->GetIsolate()), |
| - url_(web_frame_ ? GetDataSourceURLForFrame(web_frame_) : GURL()), |
| runner_(new Runner(this)) { |
| VLOG(1) << "Created context:\n" << GetDebugString(); |
| gin::PerContextData* gin_data = gin::PerContextData::From(v8_context); |
| CHECK(gin_data); |
| gin_data->set_runner(runner_.get()); |
| + if (web_frame_) { |
| + const blink::WebURL& weburl = web_frame_->document().url(); |
| + if (weburl.isEmpty()) { |
| + blink::WebDataSource* data_source = web_frame_->provisionalDataSource() |
| + ? web_frame_->provisionalDataSource() |
| + : web_frame_->dataSource(); |
|
asargent_no_longer_on_chrome
2016/08/03 00:22:24
Note that there's a little duplication here with t
Devlin
2016/08/03 16:16:49
This also looks very similar to the new logic adde
asargent_no_longer_on_chrome
2016/08/04 05:47:18
Done.
|
| + if (data_source && web_frame_->getSecurityOrigin().canAccess( |
| + blink::WebSecurityOrigin::create(data_source->request().url()))) |
| + url_ = GURL(data_source->request().url()); |
| + } |
| + if (url_.is_empty()) |
|
Devlin
2016/08/03 16:16:49
This can be an else, right? Because we'll only se
asargent_no_longer_on_chrome
2016/08/04 05:47:18
Good point - I guess it doesn't help to assign to
|
| + url_ = GURL(weburl); |
| + } |
| } |
| ScriptContext::~ScriptContext() { |