Index: content/renderer/render_view_impl.cc |
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
index b7bd7920f58a0477ce238c0a9957ebeddc8bfb68..25a9688650725d81b869f94db80824f9ea56ea04 100644 |
--- a/content/renderer/render_view_impl.cc |
+++ b/content/renderer/render_view_impl.cc |
@@ -3975,6 +3975,20 @@ void RenderViewImpl::registerProtocolHandler(const WebString& scheme, |
user_gesture)); |
} |
+void RenderViewImpl::unregisterProtocolHandler(const WebString& scheme, |
+ const WebURL& base_url, |
+ const WebURL& url) { |
+ bool user_gesture = WebUserGestureIndicator::isProcessingUserGesture(); |
+ GURL base(base_url); |
+ GURL absolute_url = base.Resolve(base::UTF16ToUTF8(url.string())); |
+ if (base.GetOrigin() != absolute_url.GetOrigin()) |
+ return; |
+ Send(new ViewHostMsg_UnregisterProtocolHandler(routing_id_, |
+ base::UTF16ToUTF8(scheme), |
+ absolute_url, |
+ user_gesture)); |
+} |
+ |
blink::WebPageVisibilityState RenderViewImpl::visibilityState() const { |
blink::WebPageVisibilityState current_state = is_hidden() ? |
blink::WebPageVisibilityStateHidden : |