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

Side by Side Diff: chrome/browser/automation/testing_automation_provider.cc

Issue 12114034: Swap BrowserList::const_iterator for the multi-desktop aware BrowserIterator in many scenarios. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 10 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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
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
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
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 }
OLDNEW
« no previous file with comments | « chrome/browser/automation/automation_util.cc ('k') | chrome/browser/custom_home_pages_table_model.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698