Index: content/renderer/render_view_impl.cc |
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
index 5a694e0704a5dad92775bad6b3d5b9d1cf28c748..42e9c7e249d50f4e7f123cf2ebdb7248c803e59d 100644 |
--- a/content/renderer/render_view_impl.cc |
+++ b/content/renderer/render_view_impl.cc |
@@ -2534,6 +2534,14 @@ void RenderViewImpl::OnAllowBindings(int enabled_bindings_flags) { |
!(enabled_bindings_ & BINDINGS_POLICY_WEB_UI)) { |
// WebUIExtensionData deletes itself when we're destroyed. |
new WebUIExtensionData(this); |
+ } |
+ |
+ // Enable Mojo bindings if either WebUI or Mojo bindings are being added to |
+ // the policy and neither was previously present. |
+ if (!(enabled_bindings_ & (BINDINGS_POLICY_WEB_UI | BINDINGS_POLICY_MOJO)) && |
+ (enabled_bindings_flags & |
+ (BINDINGS_POLICY_WEB_UI | BINDINGS_POLICY_MOJO)) && |
+ GetMainRenderFrame()) { |
// MojoBindingsController deletes itself when we're destroyed. |
new MojoBindingsController(this); |
} |