Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(734)

Unified Diff: content/public/browser/web_contents_binding_set.cc

Issue 2752283004: Add the ability to override WebContentsBindingSet binders for testing (Closed)
Patch Set: . Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/public/browser/web_contents_binding_set.cc
diff --git a/content/public/browser/web_contents_binding_set.cc b/content/public/browser/web_contents_binding_set.cc
index bf46ed6308d6988eda4d93af7529a58c30190cf9..39e97117a2714399b814f8723544069af66641e2 100644
--- a/content/public/browser/web_contents_binding_set.cc
+++ b/content/public/browser/web_contents_binding_set.cc
@@ -20,9 +20,8 @@ void WebContentsBindingSet::Binder::OnRequestForFrame(
WebContentsBindingSet::WebContentsBindingSet(WebContents* web_contents,
const std::string& interface_name,
std::unique_ptr<Binder> binder)
- : remove_callback_(
- static_cast<WebContentsImpl*>(web_contents)->AddBindingSet(
- interface_name, this)),
+ : remove_callback_(static_cast<WebContentsImpl*>(web_contents)
+ ->AddBindingSet(interface_name, this)),
binder_(std::move(binder)) {}
WebContentsBindingSet::~WebContentsBindingSet() {
@@ -30,12 +29,18 @@ WebContentsBindingSet::~WebContentsBindingSet() {
}
void WebContentsBindingSet::CloseAllBindings() {
+ binder_for_testing_.reset();
binder_.reset();
}
void WebContentsBindingSet::OnRequestForFrame(
RenderFrameHost* render_frame_host,
mojo::ScopedInterfaceEndpointHandle handle) {
+ if (binder_for_testing_) {
+ binder_for_testing_->OnRequestForFrame(render_frame_host,
+ std::move(handle));
+ return;
+ }
DCHECK(binder_);
binder_->OnRequestForFrame(render_frame_host, std::move(handle));
}
« no previous file with comments | « content/public/browser/web_contents_binding_set.h ('k') | content/public/test/web_contents_binding_set_test_binder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698