diff options
| author | finnur@google.com <finnur@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-06 22:49:45 +0000 |
|---|---|---|
| committer | finnur@google.com <finnur@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-06 22:49:45 +0000 |
| commit | 5f8af2aa221fd2fba282dd51dc0837829cd48967 (patch) | |
| tree | d81334eb34cce1b935767194a829d650116b1213 /chrome/browser/automation/automation_provider.cc | |
| parent | b63cbfaf62c1119b1f4b715d0186e516a2444600 (diff) | |
| download | chromium_src-5f8af2aa221fd2fba282dd51dc0837829cd48967.zip chromium_src-5f8af2aa221fd2fba282dd51dc0837829cd48967.tar.gz chromium_src-5f8af2aa221fd2fba282dd51dc0837829cd48967.tar.bz2 | |
Adding an interactive UI test to catch when switching between two tabs (both with FindInPage open) is trashing the Esc handler and causing a crash.
I originally tried an automated_ui test, but was unable to get it to work since Focus changes are involved.
BUG=1303709
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@466 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/automation/automation_provider.cc')
| -rw-r--r-- | chrome/browser/automation/automation_provider.cc | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/chrome/browser/automation/automation_provider.cc b/chrome/browser/automation/automation_provider.cc index 5636302..5c10d68 100644 --- a/chrome/browser/automation/automation_provider.cc +++ b/chrome/browser/automation/automation_provider.cc @@ -775,6 +775,8 @@ void AutomationProvider::OnMessageReceived(const IPC::Message& message) { AutocompleteEditGetMatches) IPC_MESSAGE_HANDLER(AutomationMsg_ConstrainedWindowBoundsRequest, GetConstrainedWindowBounds) + IPC_MESSAGE_HANDLER(AutomationMsg_OpenFindInPageRequest, + HandleOpenFindInPageRequest) IPC_END_MESSAGE_MAP() } @@ -1096,7 +1098,6 @@ void AutomationProvider::GetWindowHWND(const IPC::Message& message, void AutomationProvider::ExecuteBrowserCommand(const IPC::Message& message, int handle, int command) { - bool success = false; if (browser_tracker_->ContainsHandle(handle)) { Browser* browser = browser_tracker_->GetResource(handle); @@ -1694,6 +1695,18 @@ void AutomationProvider::HandleFindInPageRequest( false); // Not a FindNext operation. } +void AutomationProvider::HandleOpenFindInPageRequest( + const IPC::Message& message, int handle) { + if (tab_tracker_->ContainsHandle(handle)) { + NavigationController* tab = tab_tracker_->GetResource(handle); + Browser* browser = Browser::GetBrowserForController(tab, NULL); + if (tab->active_contents()->AsWebContents()) { + WebContents* web_contents = tab->active_contents()->AsWebContents(); + web_contents->OpenFindInPageWindow(*browser); + } + } +} + void AutomationProvider::HandleInspectElementRequest( const IPC::Message& message, int handle, int x, int y) { if (!tab_tracker_->ContainsHandle(handle)) { |
