Index: content/renderer/render_view_impl.cc |
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
index a52697b5a8bedea54494f03058da2c728832e588..fb293469e267ef3c7453f4d47a272b72f2880fd5 100644 |
--- a/content/renderer/render_view_impl.cc |
+++ b/content/renderer/render_view_impl.cc |
@@ -3701,6 +3701,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 : |