Chromium Code Reviews| Index: content/renderer/render_view_impl.cc |
| diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
| index a3c5cf06cdfb593c863ad1e65c982822e8a2a58d..475e51317be4f65dc465eb89abe87fbb9328ecbb 100644 |
| --- a/content/renderer/render_view_impl.cc |
| +++ b/content/renderer/render_view_impl.cc |
| @@ -99,7 +99,8 @@ |
| #include "content/renderer/text_input_client_observer.h" |
| #include "content/renderer/v8_value_converter_impl.h" |
| #include "content/renderer/web_intents_host.h" |
| -#include "content/renderer/web_ui_bindings.h" |
| +#include "content/renderer/web_ui_extension.h" |
| +#include "content/renderer/web_ui_extension_data.h" |
| #include "content/renderer/webplugin_delegate_proxy.h" |
| #include "content/renderer/websharedworker_proxy.h" |
| #include "media/base/filter_collection.h" |
| @@ -927,7 +928,6 @@ bool RenderViewImpl::OnMessageReceived(const IPC::Message& message) { |
| IPC_MESSAGE_HANDLER(DragMsg_SourceSystemDragEnded, |
| OnDragSourceSystemDragEnded) |
| IPC_MESSAGE_HANDLER(ViewMsg_AllowBindings, OnAllowBindings) |
| - IPC_MESSAGE_HANDLER(ViewMsg_SetWebUIProperty, OnSetWebUIProperty) |
| IPC_MESSAGE_HANDLER(ViewMsg_SetInitialFocus, OnSetInitialFocus) |
| IPC_MESSAGE_HANDLER(ViewMsg_ScrollFocusedEditableNodeIntoRect, |
| OnScrollFocusedEditableNodeIntoRect) |
| @@ -3389,13 +3389,6 @@ void RenderViewImpl::didClearWindowObject(WebFrame* frame) { |
| FOR_EACH_OBSERVER(RenderViewObserver, observers_, |
| DidClearWindowObject(frame)); |
| - GURL frame_url = frame->document().url(); |
| - if ((enabled_bindings_ & BINDINGS_POLICY_WEB_UI) && |
| - (frame_url.SchemeIs(chrome::kChromeUIScheme) || |
| - frame_url.SchemeIs(chrome::kDataScheme))) { |
| - GetWebUIBindings()->BindToJavascript(frame, "chrome"); |
| - } |
| - |
| if (enabled_bindings_ & BINDINGS_POLICY_DOM_AUTOMATION) { |
| if (!dom_automation_controller_.get()) |
| dom_automation_controller_.reset(new DomAutomationController()); |
| @@ -4606,14 +4599,6 @@ GURL RenderViewImpl::GetLoadingUrl(WebKit::WebFrame* frame) const { |
| return request.url(); |
| } |
| -WebUIBindings* RenderViewImpl::GetWebUIBindings() { |
| - if (!web_ui_bindings_.get()) { |
| - web_ui_bindings_.reset(new WebUIBindings( |
| - static_cast<RenderView*>(this), routing_id_)); |
| - } |
| - return web_ui_bindings_.get(); |
| -} |
| - |
| WebKit::WebPlugin* RenderViewImpl::GetWebPluginFromPluginDocument() { |
| return webview()->mainFrame()->document().to<WebPluginDocument>().plugin(); |
| } |
| @@ -5017,20 +5002,18 @@ void RenderViewImpl::OnCSSInsertRequest(const string16& frame_xpath, |
| } |
| void RenderViewImpl::OnAllowBindings(int enabled_bindings_flags) { |
|
abarth-chromium
2012/11/09 23:07:44
I take it there isn't a way to remove bindings.
Shishir
2012/11/09 23:47:47
Not that I could find. I think the way to unregist
|
| + if ((enabled_bindings_flags & BINDINGS_POLICY_WEB_UI) && |
| + !(enabled_bindings_ & BINDINGS_POLICY_WEB_UI)) { |
| + RenderThread::Get()->RegisterExtension(content::WebUIExtension::Get()); |
| + new WebUIExtensionData(this); |
| + } |
| + |
| enabled_bindings_ |= enabled_bindings_flags; |
| // Keep track of the total bindings accumulated in this process. |
| RenderProcess::current()->AddBindings(enabled_bindings_flags); |
| } |
| -void RenderViewImpl::OnSetWebUIProperty(const std::string& name, |
| - const std::string& value) { |
| - if (enabled_bindings_ & BINDINGS_POLICY_WEB_UI) |
| - GetWebUIBindings()->SetProperty(name, value); |
| - else |
| - NOTREACHED() << "WebUI bindings not enabled."; |
| -} |
| - |
| void RenderViewImpl::OnDragTargetDragEnter(const WebDropData& drop_data, |
| const gfx::Point& client_point, |
| const gfx::Point& screen_point, |