Chromium Code Reviews| Index: content/browser/web_contents/web_contents_impl.cc |
| diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc |
| index 728b454e9d45003f565d4a16d06b24ab878c12ea..ee358749597d224dfd63a681676c31317d3a080f 100644 |
| --- a/content/browser/web_contents/web_contents_impl.cc |
| +++ b/content/browser/web_contents/web_contents_impl.cc |
| @@ -534,6 +534,8 @@ bool WebContentsImpl::OnMessageReceived(RenderViewHost* render_view_host, |
| IPC_MESSAGE_HANDLER(ViewHostMsg_EnumerateDirectory, OnEnumerateDirectory) |
| IPC_MESSAGE_HANDLER(ViewHostMsg_RegisterProtocolHandler, |
| OnRegisterProtocolHandler) |
| + IPC_MESSAGE_HANDLER(ViewHostMsg_UnregisterProtocolHandler, |
| + OnUnregisterProtocolHandler) |
| IPC_MESSAGE_HANDLER(ViewHostMsg_Find_Reply, OnFindReply) |
| IPC_MESSAGE_HANDLER(ViewHostMsg_AppCacheAccessed, OnAppCacheAccessed) |
| IPC_MESSAGE_HANDLER(ViewHostMsg_WebUISend, OnWebUISend) |
| @@ -2757,6 +2759,20 @@ void WebContentsImpl::OnRegisterProtocolHandler(const std::string& protocol, |
| delegate_->RegisterProtocolHandler(this, protocol, url, user_gesture); |
| } |
| +void WebContentsImpl::OnUnregisterProtocolHandler(const std::string& protocol, |
| + const GURL& url, |
| + bool user_gesture) { |
| + if (!delegate_) |
| + return; |
| + |
| + ChildProcessSecurityPolicyImpl* policy = |
|
jochen (gone - plz use gerrit)
2014/07/09 09:12:56
please clang-format this
gyuyoung-inactive
2014/07/09 09:32:16
Done.
|
| + ChildProcessSecurityPolicyImpl::GetInstance(); |
| + if (policy->IsPseudoScheme(protocol)) |
| + return; |
| + |
| + delegate_->UnregisterProtocolHandler(this, protocol, url, user_gesture); |
| +} |
| + |
| void WebContentsImpl::OnFindReply(int request_id, |
| int number_of_matches, |
| const gfx::Rect& selection_rect, |