OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/automation/testing_automation_provider.h" | 5 #include "chrome/browser/automation/testing_automation_provider.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
85 #include "chrome/browser/sessions/session_service_factory.h" | 85 #include "chrome/browser/sessions/session_service_factory.h" |
86 #include "chrome/browser/sessions/session_tab_helper.h" | 86 #include "chrome/browser/sessions/session_tab_helper.h" |
87 #include "chrome/browser/ui/app_modal_dialogs/app_modal_dialog.h" | 87 #include "chrome/browser/ui/app_modal_dialogs/app_modal_dialog.h" |
88 #include "chrome/browser/ui/app_modal_dialogs/app_modal_dialog_queue.h" | 88 #include "chrome/browser/ui/app_modal_dialogs/app_modal_dialog_queue.h" |
89 #include "chrome/browser/ui/app_modal_dialogs/javascript_app_modal_dialog.h" | 89 #include "chrome/browser/ui/app_modal_dialogs/javascript_app_modal_dialog.h" |
90 #include "chrome/browser/ui/app_modal_dialogs/native_app_modal_dialog.h" | 90 #include "chrome/browser/ui/app_modal_dialogs/native_app_modal_dialog.h" |
91 #include "chrome/browser/ui/bookmarks/bookmark_bar.h" | 91 #include "chrome/browser/ui/bookmarks/bookmark_bar.h" |
92 #include "chrome/browser/ui/browser_commands.h" | 92 #include "chrome/browser/ui/browser_commands.h" |
93 #include "chrome/browser/ui/browser_finder.h" | 93 #include "chrome/browser/ui/browser_finder.h" |
94 #include "chrome/browser/ui/browser_instant_controller.h" | 94 #include "chrome/browser/ui/browser_instant_controller.h" |
| 95 #include "chrome/browser/ui/browser_iterator.h" |
95 #include "chrome/browser/ui/browser_list.h" | 96 #include "chrome/browser/ui/browser_list.h" |
96 #include "chrome/browser/ui/browser_tabstrip.h" | 97 #include "chrome/browser/ui/browser_tabstrip.h" |
97 #include "chrome/browser/ui/browser_window.h" | 98 #include "chrome/browser/ui/browser_window.h" |
98 #include "chrome/browser/ui/extensions/application_launch.h" | 99 #include "chrome/browser/ui/extensions/application_launch.h" |
99 #include "chrome/browser/ui/find_bar/find_bar.h" | 100 #include "chrome/browser/ui/find_bar/find_bar.h" |
100 #include "chrome/browser/ui/find_bar/find_bar_controller.h" | 101 #include "chrome/browser/ui/find_bar/find_bar_controller.h" |
101 #include "chrome/browser/ui/fullscreen/fullscreen_controller.h" | 102 #include "chrome/browser/ui/fullscreen/fullscreen_controller.h" |
102 #include "chrome/browser/ui/fullscreen/fullscreen_exit_bubble_type.h" | 103 #include "chrome/browser/ui/fullscreen/fullscreen_exit_bubble_type.h" |
103 #include "chrome/browser/ui/host_desktop.h" | 104 #include "chrome/browser/ui/host_desktop.h" |
104 #include "chrome/browser/ui/login/login_prompt.h" | 105 #include "chrome/browser/ui/login/login_prompt.h" |
(...skipping 2145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2250 properties->SetBoolean("is_official", is_official_build); | 2251 properties->SetBoolean("is_official", is_official_build); |
2251 | 2252 |
2252 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); | 2253 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); |
2253 return_value->Set("properties", properties); | 2254 return_value->Set("properties", properties); |
2254 | 2255 |
2255 return_value->SetInteger("browser_pid", base::GetCurrentProcId()); | 2256 return_value->SetInteger("browser_pid", base::GetCurrentProcId()); |
2256 // Add info about all windows in a list of dictionaries, one dictionary | 2257 // Add info about all windows in a list of dictionaries, one dictionary |
2257 // item per window. | 2258 // item per window. |
2258 ListValue* windows = new ListValue; | 2259 ListValue* windows = new ListValue; |
2259 int windex = 0; | 2260 int windex = 0; |
2260 for (BrowserList::const_iterator it = BrowserList::begin(); | 2261 |
2261 it != BrowserList::end(); | 2262 for (chrome::BrowserIterator it; !it.done(); it.Next(), ++windex) { |
2262 ++it, ++windex) { | |
2263 DictionaryValue* browser_item = new DictionaryValue; | 2263 DictionaryValue* browser_item = new DictionaryValue; |
2264 Browser* browser = *it; | 2264 Browser* browser = *it; |
2265 browser_item->SetInteger("index", windex); | 2265 browser_item->SetInteger("index", windex); |
2266 // Window properties | 2266 // Window properties |
2267 gfx::Rect rect = browser->window()->GetRestoredBounds(); | 2267 gfx::Rect rect = browser->window()->GetRestoredBounds(); |
2268 browser_item->SetInteger("x", rect.x()); | 2268 browser_item->SetInteger("x", rect.x()); |
2269 browser_item->SetInteger("y", rect.y()); | 2269 browser_item->SetInteger("y", rect.y()); |
2270 browser_item->SetInteger("width", rect.width()); | 2270 browser_item->SetInteger("width", rect.width()); |
2271 browser_item->SetInteger("height", rect.height()); | 2271 browser_item->SetInteger("height", rect.height()); |
2272 browser_item->SetBoolean("fullscreen", | 2272 browser_item->SetBoolean("fullscreen", |
(...skipping 2690 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4963 reply.SendError("'tab_handle' is invalid"); | 4963 reply.SendError("'tab_handle' is invalid"); |
4964 return; | 4964 return; |
4965 } | 4965 } |
4966 int id = id_or_handle; | 4966 int id = id_or_handle; |
4967 if (has_handle) { | 4967 if (has_handle) { |
4968 SessionTabHelper* session_tab_helper = | 4968 SessionTabHelper* session_tab_helper = |
4969 SessionTabHelper::FromWebContents( | 4969 SessionTabHelper::FromWebContents( |
4970 tab_tracker_->GetResource(id_or_handle)->GetWebContents()); | 4970 tab_tracker_->GetResource(id_or_handle)->GetWebContents()); |
4971 id = session_tab_helper->session_id().id(); | 4971 id = session_tab_helper->session_id().id(); |
4972 } | 4972 } |
4973 BrowserList::const_iterator iter = BrowserList::begin(); | 4973 chrome::BrowserIterator it; |
4974 int browser_index = 0; | 4974 int browser_index = 0; |
4975 for (; iter != BrowserList::end(); ++iter, ++browser_index) { | 4975 for (; !it.done(); it.Next(), ++browser_index) { |
4976 Browser* browser = *iter; | 4976 Browser* browser = *it; |
4977 for (int tab_index = 0; | 4977 for (int tab_index = 0; |
4978 tab_index < browser->tab_strip_model()->count(); | 4978 tab_index < browser->tab_strip_model()->count(); |
4979 ++tab_index) { | 4979 ++tab_index) { |
4980 WebContents* tab = | 4980 WebContents* tab = |
4981 browser->tab_strip_model()->GetWebContentsAt(tab_index); | 4981 browser->tab_strip_model()->GetWebContentsAt(tab_index); |
4982 SessionTabHelper* session_tab_helper = | 4982 SessionTabHelper* session_tab_helper = |
4983 SessionTabHelper::FromWebContents(tab); | 4983 SessionTabHelper::FromWebContents(tab); |
4984 if (session_tab_helper->session_id().id() == id) { | 4984 if (session_tab_helper->session_id().id() == id) { |
4985 DictionaryValue dict; | 4985 DictionaryValue dict; |
4986 dict.SetInteger("windex", browser_index); | 4986 dict.SetInteger("windex", browser_index); |
(...skipping 626 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5613 reply.SendError( | 5613 reply.SendError( |
5614 StringPrintf("Unable set cookie for url=%s.", url_string.c_str())); | 5614 StringPrintf("Unable set cookie for url=%s.", url_string.c_str())); |
5615 return; | 5615 return; |
5616 } | 5616 } |
5617 reply.SendSuccess(NULL); | 5617 reply.SendSuccess(NULL); |
5618 } | 5618 } |
5619 | 5619 |
5620 void TestingAutomationProvider::GetTabIds( | 5620 void TestingAutomationProvider::GetTabIds( |
5621 DictionaryValue* args, IPC::Message* reply_message) { | 5621 DictionaryValue* args, IPC::Message* reply_message) { |
5622 ListValue* id_list = new ListValue(); | 5622 ListValue* id_list = new ListValue(); |
5623 BrowserList::const_iterator iter = BrowserList::begin(); | 5623 for (chrome::BrowserIterator it; !it.done(); it.Next()) { |
5624 for (; iter != BrowserList::end(); ++iter) { | 5624 Browser* browser = *it; |
5625 Browser* browser = *iter; | |
5626 for (int i = 0; i < browser->tab_strip_model()->count(); ++i) { | 5625 for (int i = 0; i < browser->tab_strip_model()->count(); ++i) { |
5627 int id = SessionTabHelper::FromWebContents( | 5626 int id = SessionTabHelper::FromWebContents( |
5628 browser->tab_strip_model()->GetWebContentsAt(i))->session_id().id(); | 5627 browser->tab_strip_model()->GetWebContentsAt(i))->session_id().id(); |
5629 id_list->Append(Value::CreateIntegerValue(id)); | 5628 id_list->Append(Value::CreateIntegerValue(id)); |
5630 } | 5629 } |
5631 } | 5630 } |
5632 DictionaryValue dict; | 5631 DictionaryValue dict; |
5633 dict.Set("ids", id_list); | 5632 dict.Set("ids", id_list); |
5634 AutomationJSONReply(this, reply_message).SendSuccess(&dict); | 5633 AutomationJSONReply(this, reply_message).SendSuccess(&dict); |
5635 } | 5634 } |
5636 | 5635 |
5637 void TestingAutomationProvider::GetViews( | 5636 void TestingAutomationProvider::GetViews( |
5638 DictionaryValue* args, IPC::Message* reply_message) { | 5637 DictionaryValue* args, IPC::Message* reply_message) { |
5639 ListValue* view_list = new ListValue(); | 5638 ListValue* view_list = new ListValue(); |
5640 printing::PrintPreviewDialogController* preview_controller = | 5639 printing::PrintPreviewDialogController* preview_controller = |
5641 printing::PrintPreviewDialogController::GetInstance(); | 5640 printing::PrintPreviewDialogController::GetInstance(); |
5642 BrowserList::const_iterator browser_iter = BrowserList::begin(); | 5641 for (chrome::BrowserIterator it; !it.done(); it.Next()) { |
5643 for (; browser_iter != BrowserList::end(); ++browser_iter) { | 5642 Browser* browser = *it; |
5644 Browser* browser = *browser_iter; | |
5645 for (int i = 0; i < browser->tab_strip_model()->count(); ++i) { | 5643 for (int i = 0; i < browser->tab_strip_model()->count(); ++i) { |
5646 WebContents* contents = browser->tab_strip_model()->GetWebContentsAt(i); | 5644 WebContents* contents = browser->tab_strip_model()->GetWebContentsAt(i); |
5647 DictionaryValue* dict = new DictionaryValue(); | 5645 DictionaryValue* dict = new DictionaryValue(); |
5648 AutomationId id = automation_util::GetIdForTab(contents); | 5646 AutomationId id = automation_util::GetIdForTab(contents); |
5649 dict->Set("auto_id", id.ToValue()); | 5647 dict->Set("auto_id", id.ToValue()); |
5650 view_list->Append(dict); | 5648 view_list->Append(dict); |
5651 if (preview_controller) { | 5649 if (preview_controller) { |
5652 WebContents* preview_dialog = | 5650 WebContents* preview_dialog = |
5653 preview_controller->GetPrintPreviewForContents(contents); | 5651 preview_controller->GetPrintPreviewForContents(contents); |
5654 if (preview_dialog) { | 5652 if (preview_dialog) { |
(...skipping 30 matching lines...) Expand all Loading... |
5685 | 5683 |
5686 void TestingAutomationProvider::IsTabIdValid( | 5684 void TestingAutomationProvider::IsTabIdValid( |
5687 DictionaryValue* args, IPC::Message* reply_message) { | 5685 DictionaryValue* args, IPC::Message* reply_message) { |
5688 AutomationJSONReply reply(this, reply_message); | 5686 AutomationJSONReply reply(this, reply_message); |
5689 int id; | 5687 int id; |
5690 if (!args->GetInteger("id", &id)) { | 5688 if (!args->GetInteger("id", &id)) { |
5691 reply.SendError("'id' missing or invalid"); | 5689 reply.SendError("'id' missing or invalid"); |
5692 return; | 5690 return; |
5693 } | 5691 } |
5694 bool is_valid = false; | 5692 bool is_valid = false; |
5695 BrowserList::const_iterator iter = BrowserList::begin(); | 5693 for (chrome::BrowserIterator it; !it.done(); it.Next()) { |
5696 for (; iter != BrowserList::end(); ++iter) { | 5694 Browser* browser = *it; |
5697 Browser* browser = *iter; | |
5698 for (int i = 0; i < browser->tab_strip_model()->count(); ++i) { | 5695 for (int i = 0; i < browser->tab_strip_model()->count(); ++i) { |
5699 WebContents* tab = browser->tab_strip_model()->GetWebContentsAt(i); | 5696 WebContents* tab = browser->tab_strip_model()->GetWebContentsAt(i); |
5700 SessionTabHelper* session_tab_helper = | 5697 SessionTabHelper* session_tab_helper = |
5701 SessionTabHelper::FromWebContents(tab); | 5698 SessionTabHelper::FromWebContents(tab); |
5702 if (session_tab_helper->session_id().id() == id) { | 5699 if (session_tab_helper->session_id().id() == id) { |
5703 is_valid = true; | 5700 is_valid = true; |
5704 break; | 5701 break; |
5705 } | 5702 } |
5706 } | 5703 } |
5707 } | 5704 } |
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5954 if (g_browser_process) | 5951 if (g_browser_process) |
5955 g_browser_process->GetAutomationProviderList()->RemoveProvider(this); | 5952 g_browser_process->GetAutomationProviderList()->RemoveProvider(this); |
5956 } | 5953 } |
5957 | 5954 |
5958 void TestingAutomationProvider::EnsureTabSelected(Browser* browser, | 5955 void TestingAutomationProvider::EnsureTabSelected(Browser* browser, |
5959 WebContents* tab) { | 5956 WebContents* tab) { |
5960 TabStripModel* tab_strip = browser->tab_strip_model(); | 5957 TabStripModel* tab_strip = browser->tab_strip_model(); |
5961 if (tab_strip->GetActiveWebContents() != tab) | 5958 if (tab_strip->GetActiveWebContents() != tab) |
5962 tab_strip->ActivateTabAt(tab_strip->GetIndexOfWebContents(tab), true); | 5959 tab_strip->ActivateTabAt(tab_strip->GetIndexOfWebContents(tab), true); |
5963 } | 5960 } |
OLD | NEW |