diff options
Diffstat (limited to 'content/browser/web_contents/web_contents_impl.cc')
-rw-r--r-- | content/browser/web_contents/web_contents_impl.cc | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc index c9968d0..73260d3 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc @@ -2316,19 +2316,18 @@ void WebContentsImpl::OnRequestPpapiBrokerPermission( int request_id, const GURL& url, const FilePath& plugin_path) { - base::Callback<void(bool)> callback = - base::Bind(&WebContentsImpl::OnPpapiBrokerPermissionResult, - base::Unretained(this), request_id); - ObserverListBase<WebContentsObserver>::Iterator it(observers_); - WebContentsObserver* observer; - while ((observer = it.GetNext()) != NULL) { - if (observer->RequestPpapiBrokerPermission(this, url, plugin_path, - callback)) - return; + if (!delegate_) { + OnPpapiBrokerPermissionResult(request_id, false); + return; } - // Fall back to allowing the request if no observer handled it. - OnPpapiBrokerPermissionResult(request_id, true); + if (!delegate_->RequestPpapiBrokerPermission( + this, url, plugin_path, + base::Bind(&WebContentsImpl::OnPpapiBrokerPermissionResult, + base::Unretained(this), request_id))) { + NOTIMPLEMENTED(); + OnPpapiBrokerPermissionResult(request_id, false); + } } void WebContentsImpl::OnPpapiBrokerPermissionResult(int request_id, |