Index: content/browser/browser_plugin/browser_plugin_embedder.cc |
diff --git a/content/browser/browser_plugin/browser_plugin_embedder.cc b/content/browser/browser_plugin/browser_plugin_embedder.cc |
index 8159b0d1ebc82f1ee005af767aab86cf55396037..5313268a62405ca70663c29dd504a43baa501847 100644 |
--- a/content/browser/browser_plugin/browser_plugin_embedder.cc |
+++ b/content/browser/browser_plugin/browser_plugin_embedder.cc |
@@ -174,6 +174,12 @@ bool BrowserPluginEmbedder::Find(int request_id, |
options)); |
} |
+bool BrowserPluginEmbedder::StopFinding(StopFindAction action) { |
+ return GetBrowserPluginGuestManager()->ForEachGuest( |
+ GetWebContents(), |
+ base::Bind(&BrowserPluginEmbedder::StopFindingInGuest, action)); |
+} |
+ |
// static |
bool BrowserPluginEmbedder::UnlockMouseIfNecessaryCallback(bool* mouse_unlocked, |
WebContents* guest) { |
@@ -200,4 +206,15 @@ bool BrowserPluginEmbedder::FindInGuest(int request_id, |
return false; |
} |
+bool BrowserPluginEmbedder::StopFindingInGuest(StopFindAction action, |
+ WebContents* guest) { |
+ if (static_cast<WebContentsImpl*>(guest)->GetBrowserPluginGuest() |
+ ->StopFinding(action)) { |
+ // There can only ever currently be one browser plugin that handles find so |
+ // we can break the iteration at this point. |
+ return true; |
+ } |
+ return false; |
+} |
+ |
} // namespace content |