OLD | NEW |
---|---|
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "content/renderer/render_frame_impl.h" | 5 #include "content/renderer/render_frame_impl.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/auto_reset.h" | 10 #include "base/auto_reset.h" |
(...skipping 1206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1217 frame_->replaceMisspelledRange(text); | 1217 frame_->replaceMisspelledRange(text); |
1218 } | 1218 } |
1219 | 1219 |
1220 void RenderFrameImpl::OnCSSInsertRequest(const std::string& css) { | 1220 void RenderFrameImpl::OnCSSInsertRequest(const std::string& css) { |
1221 frame_->document().insertStyleSheet(WebString::fromUTF8(css)); | 1221 frame_->document().insertStyleSheet(WebString::fromUTF8(css)); |
1222 } | 1222 } |
1223 | 1223 |
1224 void RenderFrameImpl::OnJavaScriptExecuteRequest( | 1224 void RenderFrameImpl::OnJavaScriptExecuteRequest( |
1225 const base::string16& jscript, | 1225 const base::string16& jscript, |
1226 int id, | 1226 int id, |
1227 bool notify_result) { | 1227 bool notify_result, |
1228 bool set_ugi_for_tests) { | |
Rick Byers
2014/08/29 13:38:38
I'm a little nervous that it would be too easy for
Zeeshan Qureshi
2014/08/29 16:16:37
This is the method that gets called when a Javascr
Rick Byers
2014/08/29 16:21:44
Ah, of course - sorry, that makes sense. I was th
| |
1228 TRACE_EVENT_INSTANT0("test_tracing", "OnJavaScriptExecuteRequest", | 1229 TRACE_EVENT_INSTANT0("test_tracing", "OnJavaScriptExecuteRequest", |
1229 TRACE_EVENT_SCOPE_THREAD); | 1230 TRACE_EVENT_SCOPE_THREAD); |
1230 | 1231 |
1231 v8::HandleScope handle_scope(v8::Isolate::GetCurrent()); | 1232 v8::HandleScope handle_scope(v8::Isolate::GetCurrent()); |
1232 v8::Handle<v8::Value> result = | 1233 v8::Handle<v8::Value> result = set_ugi_for_tests ? |
1233 frame_->executeScriptAndReturnValue(WebScriptSource(jscript)); | 1234 frame_->executeScriptAndReturnValueForTests(WebScriptSource(jscript)) : |
1235 frame_->executeScriptAndReturnValue(WebScriptSource(jscript)); | |
1236 | |
1234 if (notify_result) { | 1237 if (notify_result) { |
1235 base::ListValue list; | 1238 base::ListValue list; |
1236 if (!result.IsEmpty()) { | 1239 if (!result.IsEmpty()) { |
1237 v8::Local<v8::Context> context = frame_->mainWorldScriptContext(); | 1240 v8::Local<v8::Context> context = frame_->mainWorldScriptContext(); |
1238 v8::Context::Scope context_scope(context); | 1241 v8::Context::Scope context_scope(context); |
1239 V8ValueConverterImpl converter; | 1242 V8ValueConverterImpl converter; |
1240 converter.SetDateAllowed(true); | 1243 converter.SetDateAllowed(true); |
1241 converter.SetRegExpAllowed(true); | 1244 converter.SetRegExpAllowed(true); |
1242 base::Value* result_value = converter.FromV8Value(result, context); | 1245 base::Value* result_value = converter.FromV8Value(result, context); |
1243 list.Set(0, result_value ? result_value : base::Value::CreateNullValue()); | 1246 list.Set(0, result_value ? result_value : base::Value::CreateNullValue()); |
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1487 } | 1490 } |
1488 | 1491 |
1489 void RenderFrameImpl::LoadURLExternally(blink::WebLocalFrame* frame, | 1492 void RenderFrameImpl::LoadURLExternally(blink::WebLocalFrame* frame, |
1490 const blink::WebURLRequest& request, | 1493 const blink::WebURLRequest& request, |
1491 blink::WebNavigationPolicy policy) { | 1494 blink::WebNavigationPolicy policy) { |
1492 DCHECK(!frame_ || frame_ == frame); | 1495 DCHECK(!frame_ || frame_ == frame); |
1493 loadURLExternally(frame, request, policy, WebString()); | 1496 loadURLExternally(frame, request, policy, WebString()); |
1494 } | 1497 } |
1495 | 1498 |
1496 void RenderFrameImpl::ExecuteJavaScript(const base::string16& javascript) { | 1499 void RenderFrameImpl::ExecuteJavaScript(const base::string16& javascript) { |
1497 OnJavaScriptExecuteRequest(javascript, 0, false); | 1500 OnJavaScriptExecuteRequest(javascript, 0, false, false); |
1498 } | 1501 } |
1499 | 1502 |
1500 ServiceRegistry* RenderFrameImpl::GetServiceRegistry() { | 1503 ServiceRegistry* RenderFrameImpl::GetServiceRegistry() { |
1501 return &service_registry_; | 1504 return &service_registry_; |
1502 } | 1505 } |
1503 | 1506 |
1504 bool RenderFrameImpl::IsFTPDirectoryListing() { | 1507 bool RenderFrameImpl::IsFTPDirectoryListing() { |
1505 WebURLResponseExtraDataImpl* extra_data = | 1508 WebURLResponseExtraDataImpl* extra_data = |
1506 GetExtraDataFromResponse(frame_->dataSource()->response()); | 1509 GetExtraDataFromResponse(frame_->dataSource()->response()); |
1507 return extra_data ? extra_data->is_ftp_directory_listing() : false; | 1510 return extra_data ? extra_data->is_ftp_directory_listing() : false; |
(...skipping 2328 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3836 | 3839 |
3837 #if defined(ENABLE_BROWSER_CDMS) | 3840 #if defined(ENABLE_BROWSER_CDMS) |
3838 RendererCdmManager* RenderFrameImpl::GetCdmManager() { | 3841 RendererCdmManager* RenderFrameImpl::GetCdmManager() { |
3839 if (!cdm_manager_) | 3842 if (!cdm_manager_) |
3840 cdm_manager_ = new RendererCdmManager(this); | 3843 cdm_manager_ = new RendererCdmManager(this); |
3841 return cdm_manager_; | 3844 return cdm_manager_; |
3842 } | 3845 } |
3843 #endif // defined(ENABLE_BROWSER_CDMS) | 3846 #endif // defined(ENABLE_BROWSER_CDMS) |
3844 | 3847 |
3845 } // namespace content | 3848 } // namespace content |
OLD | NEW |