Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_view_impl.h" | 5 #include "content/renderer/render_view_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <cmath> | 8 #include <cmath> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 90 #include "content/renderer/render_widget_fullscreen_pepper.h" | 90 #include "content/renderer/render_widget_fullscreen_pepper.h" |
| 91 #include "content/renderer/renderer_accessibility.h" | 91 #include "content/renderer/renderer_accessibility.h" |
| 92 #include "content/renderer/renderer_accessibility_complete.h" | 92 #include "content/renderer/renderer_accessibility_complete.h" |
| 93 #include "content/renderer/renderer_accessibility_focus_only.h" | 93 #include "content/renderer/renderer_accessibility_focus_only.h" |
| 94 #include "content/renderer/renderer_webapplicationcachehost_impl.h" | 94 #include "content/renderer/renderer_webapplicationcachehost_impl.h" |
| 95 #include "content/renderer/renderer_webcolorchooser_impl.h" | 95 #include "content/renderer/renderer_webcolorchooser_impl.h" |
| 96 #include "content/renderer/speech_recognition_dispatcher.h" | 96 #include "content/renderer/speech_recognition_dispatcher.h" |
| 97 #include "content/renderer/text_input_client_observer.h" | 97 #include "content/renderer/text_input_client_observer.h" |
| 98 #include "content/renderer/v8_value_converter_impl.h" | 98 #include "content/renderer/v8_value_converter_impl.h" |
| 99 #include "content/renderer/web_intents_host.h" | 99 #include "content/renderer/web_intents_host.h" |
| 100 #include "content/renderer/web_ui_bindings.h" | |
| 101 #include "content/renderer/webplugin_delegate_proxy.h" | 100 #include "content/renderer/webplugin_delegate_proxy.h" |
| 102 #include "content/renderer/websharedworker_proxy.h" | 101 #include "content/renderer/websharedworker_proxy.h" |
| 103 #include "media/base/filter_collection.h" | 102 #include "media/base/filter_collection.h" |
| 104 #include "media/base/media_switches.h" | 103 #include "media/base/media_switches.h" |
| 105 #include "media/base/message_loop_factory.h" | 104 #include "media/base/message_loop_factory.h" |
| 106 #include "media/filters/audio_renderer_impl.h" | 105 #include "media/filters/audio_renderer_impl.h" |
| 107 #include "media/filters/gpu_video_decoder.h" | 106 #include "media/filters/gpu_video_decoder.h" |
| 108 #include "net/base/data_url.h" | 107 #include "net/base/data_url.h" |
| 109 #include "net/base/escape.h" | 108 #include "net/base/escape.h" |
| 110 #include "net/base/net_errors.h" | 109 #include "net/base/net_errors.h" |
| (...skipping 3099 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3210 completed_client_redirect_src_ = Referrer(); | 3209 completed_client_redirect_src_ = Referrer(); |
| 3211 | 3210 |
| 3212 // Check whether we have new encoding name. | 3211 // Check whether we have new encoding name. |
| 3213 UpdateEncoding(frame, frame->view()->pageEncoding().utf8()); | 3212 UpdateEncoding(frame, frame->view()->pageEncoding().utf8()); |
| 3214 } | 3213 } |
| 3215 | 3214 |
| 3216 void RenderViewImpl::didClearWindowObject(WebFrame* frame) { | 3215 void RenderViewImpl::didClearWindowObject(WebFrame* frame) { |
| 3217 FOR_EACH_OBSERVER(RenderViewObserver, observers_, | 3216 FOR_EACH_OBSERVER(RenderViewObserver, observers_, |
| 3218 DidClearWindowObject(frame)); | 3217 DidClearWindowObject(frame)); |
| 3219 | 3218 |
| 3220 GURL frame_url = frame->document().url(); | |
| 3221 if ((enabled_bindings_ & content::BINDINGS_POLICY_WEB_UI) && | |
| 3222 (frame_url.SchemeIs(chrome::kChromeUIScheme) || | |
| 3223 frame_url.SchemeIs(chrome::kDataScheme))) { | |
| 3224 GetWebUIBindings()->BindToJavascript(frame, "chrome"); | |
| 3225 } | |
| 3226 | |
| 3227 if (enabled_bindings_ & content::BINDINGS_POLICY_DOM_AUTOMATION) { | 3219 if (enabled_bindings_ & content::BINDINGS_POLICY_DOM_AUTOMATION) { |
| 3228 if (!dom_automation_controller_.get()) | 3220 if (!dom_automation_controller_.get()) |
| 3229 dom_automation_controller_.reset(new DomAutomationController()); | 3221 dom_automation_controller_.reset(new DomAutomationController()); |
| 3230 dom_automation_controller_->set_message_sender( | 3222 dom_automation_controller_->set_message_sender( |
| 3231 static_cast<content::RenderView*>(this)); | 3223 static_cast<content::RenderView*>(this)); |
| 3232 dom_automation_controller_->set_routing_id(routing_id()); | 3224 dom_automation_controller_->set_routing_id(routing_id()); |
| 3233 dom_automation_controller_->BindToJavascript(frame, | 3225 dom_automation_controller_->BindToJavascript(frame, |
| 3234 "domAutomationController"); | 3226 "domAutomationController"); |
| 3235 } | 3227 } |
| 3236 } | 3228 } |
| (...skipping 1086 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4323 | 4315 |
| 4324 GURL RenderViewImpl::GetLoadingUrl(WebKit::WebFrame* frame) const { | 4316 GURL RenderViewImpl::GetLoadingUrl(WebKit::WebFrame* frame) const { |
| 4325 WebDataSource* ds = frame->dataSource(); | 4317 WebDataSource* ds = frame->dataSource(); |
| 4326 if (ds->hasUnreachableURL()) | 4318 if (ds->hasUnreachableURL()) |
| 4327 return ds->unreachableURL(); | 4319 return ds->unreachableURL(); |
| 4328 | 4320 |
| 4329 const WebURLRequest& request = ds->request(); | 4321 const WebURLRequest& request = ds->request(); |
| 4330 return request.url(); | 4322 return request.url(); |
| 4331 } | 4323 } |
| 4332 | 4324 |
| 4333 WebUIBindings* RenderViewImpl::GetWebUIBindings() { | |
| 4334 if (!web_ui_bindings_.get()) { | |
| 4335 web_ui_bindings_.reset(new WebUIBindings( | |
| 4336 static_cast<content::RenderView*>(this), routing_id_)); | |
| 4337 } | |
| 4338 return web_ui_bindings_.get(); | |
| 4339 } | |
| 4340 | |
| 4341 WebKit::WebPlugin* RenderViewImpl::GetWebPluginFromPluginDocument() { | 4325 WebKit::WebPlugin* RenderViewImpl::GetWebPluginFromPluginDocument() { |
| 4342 return webview()->mainFrame()->document().to<WebPluginDocument>().plugin(); | 4326 return webview()->mainFrame()->document().to<WebPluginDocument>().plugin(); |
| 4343 } | 4327 } |
| 4344 | 4328 |
| 4345 void RenderViewImpl::OnFind(int request_id, const string16& search_text, | 4329 void RenderViewImpl::OnFind(int request_id, const string16& search_text, |
| 4346 const WebFindOptions& options) { | 4330 const WebFindOptions& options) { |
| 4347 WebFrame* main_frame = webview()->mainFrame(); | 4331 WebFrame* main_frame = webview()->mainFrame(); |
| 4348 | 4332 |
| 4349 // Check if the plugin still exists in the document. | 4333 // Check if the plugin still exists in the document. |
| 4350 if (main_frame->document().isPluginDocument() && | 4334 if (main_frame->document().isPluginDocument() && |
| (...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4656 | 4640 |
| 4657 void RenderViewImpl::OnAllowBindings(int enabled_bindings_flags) { | 4641 void RenderViewImpl::OnAllowBindings(int enabled_bindings_flags) { |
| 4658 enabled_bindings_ |= enabled_bindings_flags; | 4642 enabled_bindings_ |= enabled_bindings_flags; |
| 4659 | 4643 |
| 4660 // Keep track of the total bindings accumulated in this process. | 4644 // Keep track of the total bindings accumulated in this process. |
| 4661 RenderProcess::current()->AddBindings(enabled_bindings_flags); | 4645 RenderProcess::current()->AddBindings(enabled_bindings_flags); |
| 4662 } | 4646 } |
| 4663 | 4647 |
| 4664 void RenderViewImpl::OnSetWebUIProperty(const std::string& name, | 4648 void RenderViewImpl::OnSetWebUIProperty(const std::string& name, |
| 4665 const std::string& value) { | 4649 const std::string& value) { |
| 4666 if (enabled_bindings_ & content::BINDINGS_POLICY_WEB_UI) | 4650 if (enabled_bindings_ & content::BINDINGS_POLICY_WEB_UI) { |
|
abarth-chromium
2012/08/23 20:13:24
What happened to the check for chrome::kChromeUISc
Shishir
2012/11/06 20:08:38
Checks are now in the extension during the chrome.
| |
| 4667 GetWebUIBindings()->SetProperty(name, value); | 4651 if (webview() && webview()->mainFrame()) { |
| 4668 else | 4652 std::string script = "chrome." + name + " = \"" + value + "\";"; |
| 4653 webview()->mainFrame()->executeScript( | |
| 4654 WebKit::WebScriptSource(WebKit::WebString::fromUTF8(script.c_str()))); | |
| 4655 } | |
| 4656 } else { | |
| 4669 NOTREACHED() << "WebUI bindings not enabled."; | 4657 NOTREACHED() << "WebUI bindings not enabled."; |
| 4658 } | |
| 4659 | |
| 4670 } | 4660 } |
| 4671 | 4661 |
| 4672 void RenderViewImpl::OnDragTargetDragEnter(const WebDropData& drop_data, | 4662 void RenderViewImpl::OnDragTargetDragEnter(const WebDropData& drop_data, |
| 4673 const gfx::Point& client_point, | 4663 const gfx::Point& client_point, |
| 4674 const gfx::Point& screen_point, | 4664 const gfx::Point& screen_point, |
| 4675 WebDragOperationsMask ops, | 4665 WebDragOperationsMask ops, |
| 4676 int key_modifiers) { | 4666 int key_modifiers) { |
| 4677 WebDragOperation operation = webview()->dragTargetDragEnter( | 4667 WebDragOperation operation = webview()->dragTargetDragEnter( |
| 4678 drop_data.ToDragData(), | 4668 drop_data.ToDragData(), |
| 4679 client_point, | 4669 client_point, |
| (...skipping 1212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 5892 bool RenderViewImpl::WebWidgetHandlesCompositorScheduling() const { | 5882 bool RenderViewImpl::WebWidgetHandlesCompositorScheduling() const { |
| 5893 return !!RenderThreadImpl::current()->compositor_thread(); | 5883 return !!RenderThreadImpl::current()->compositor_thread(); |
| 5894 } | 5884 } |
| 5895 | 5885 |
| 5896 void RenderViewImpl::OnJavaBridgeInit() { | 5886 void RenderViewImpl::OnJavaBridgeInit() { |
| 5897 DCHECK(!java_bridge_dispatcher_); | 5887 DCHECK(!java_bridge_dispatcher_); |
| 5898 #if defined(ENABLE_JAVA_BRIDGE) | 5888 #if defined(ENABLE_JAVA_BRIDGE) |
| 5899 java_bridge_dispatcher_ = new JavaBridgeDispatcher(this); | 5889 java_bridge_dispatcher_ = new JavaBridgeDispatcher(this); |
| 5900 #endif | 5890 #endif |
| 5901 } | 5891 } |
| OLD | NEW |