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

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

Issue 8983012: Get rid of content::NavigationController in cc file and use "using" instead. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years, 11 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 (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/automation_provider.h" 5 #include "chrome/browser/automation/automation_provider.h"
6 6
7 #include <set> 7 #include <set>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 #endif // defined(OS_WIN) 97 #endif // defined(OS_WIN)
98 98
99 #if defined(OS_CHROMEOS) 99 #if defined(OS_CHROMEOS)
100 #include "chrome/browser/chromeos/login/user_manager.h" 100 #include "chrome/browser/chromeos/login/user_manager.h"
101 #endif // defined(OS_CHROMEOS) 101 #endif // defined(OS_CHROMEOS)
102 102
103 using WebKit::WebFindOptions; 103 using WebKit::WebFindOptions;
104 using base::Time; 104 using base::Time;
105 using content::BrowserThread; 105 using content::BrowserThread;
106 using content::DownloadItem; 106 using content::DownloadItem;
107 using content::NavigationController;
107 using content::WebContents; 108 using content::WebContents;
108 109
109 namespace { 110 namespace {
110 111
111 void PopulateProxyConfig(const DictionaryValue& dict, net::ProxyConfig* pc) { 112 void PopulateProxyConfig(const DictionaryValue& dict, net::ProxyConfig* pc) {
112 DCHECK(pc); 113 DCHECK(pc);
113 bool no_proxy = false; 114 bool no_proxy = false;
114 if (dict.GetBoolean(automation::kJSONProxyNoProxy, &no_proxy)) { 115 if (dict.GetBoolean(automation::kJSONProxyNoProxy, &no_proxy)) {
115 // Make no changes to the ProxyConfig. 116 // Make no changes to the ProxyConfig.
116 return; 117 return;
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 } 285 }
285 286
286 void AutomationProvider::OnLoginWebuiReady() { 287 void AutomationProvider::OnLoginWebuiReady() {
287 login_webui_ready_ = true; 288 login_webui_ready_ = true;
288 VLOG(2) << "OnLoginWebuiReady"; 289 VLOG(2) << "OnLoginWebuiReady";
289 if (is_connected_ && initial_tab_loads_complete_ && 290 if (is_connected_ && initial_tab_loads_complete_ &&
290 network_library_initialized_) 291 network_library_initialized_)
291 Send(new AutomationMsg_InitialLoadsComplete()); 292 Send(new AutomationMsg_InitialLoadsComplete());
292 } 293 }
293 294
294 void AutomationProvider::AddLoginHandler(content::NavigationController* tab, 295 void AutomationProvider::AddLoginHandler(NavigationController* tab,
295 LoginHandler* handler) { 296 LoginHandler* handler) {
296 login_handler_map_[tab] = handler; 297 login_handler_map_[tab] = handler;
297 } 298 }
298 299
299 void AutomationProvider::RemoveLoginHandler(content::NavigationController* tab) { 300 void AutomationProvider::RemoveLoginHandler(NavigationController* tab) {
300 DCHECK(login_handler_map_[tab]); 301 DCHECK(login_handler_map_[tab]);
301 login_handler_map_.erase(tab); 302 login_handler_map_.erase(tab);
302 } 303 }
303 304
304 int AutomationProvider::GetIndexForNavigationController( 305 int AutomationProvider::GetIndexForNavigationController(
305 const content::NavigationController* controller, 306 const NavigationController* controller, const Browser* parent) const {
306 const Browser* parent) const {
307 DCHECK(parent); 307 DCHECK(parent);
308 return parent->GetIndexOfController(controller); 308 return parent->GetIndexOfController(controller);
309 } 309 }
310 310
311 int AutomationProvider::AddExtension(const Extension* extension) { 311 int AutomationProvider::AddExtension(const Extension* extension) {
312 DCHECK(extension); 312 DCHECK(extension);
313 return extension_tracker_->Add(extension); 313 return extension_tracker_->Add(extension);
314 } 314 }
315 315
316 // TODO(phajdan.jr): move to TestingAutomationProvider. 316 // TODO(phajdan.jr): move to TestingAutomationProvider.
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
520 VLOG(1) << "AutomationProxy went away, shutting down app."; 520 VLOG(1) << "AutomationProxy went away, shutting down app.";
521 g_browser_process->GetAutomationProviderList()->RemoveProvider(this); 521 g_browser_process->GetAutomationProviderList()->RemoveProvider(this);
522 } 522 }
523 523
524 bool AutomationProvider::Send(IPC::Message* msg) { 524 bool AutomationProvider::Send(IPC::Message* msg) {
525 DCHECK(channel_.get()); 525 DCHECK(channel_.get());
526 return channel_->Send(msg); 526 return channel_->Send(msg);
527 } 527 }
528 528
529 Browser* AutomationProvider::FindAndActivateTab( 529 Browser* AutomationProvider::FindAndActivateTab(
530 content::NavigationController* controller) { 530 NavigationController* controller) {
531 int tab_index; 531 int tab_index;
532 Browser* browser = Browser::GetBrowserForController(controller, &tab_index); 532 Browser* browser = Browser::GetBrowserForController(controller, &tab_index);
533 if (browser) 533 if (browser)
534 browser->ActivateTabAt(tab_index, true); 534 browser->ActivateTabAt(tab_index, true);
535 535
536 return browser; 536 return browser;
537 } 537 }
538 538
539 void AutomationProvider::HandleFindRequest( 539 void AutomationProvider::HandleFindRequest(
540 int handle, 540 int handle,
541 const AutomationMsg_Find_Params& params, 541 const AutomationMsg_Find_Params& params,
542 IPC::Message* reply_message) { 542 IPC::Message* reply_message) {
543 if (!tab_tracker_->ContainsHandle(handle)) { 543 if (!tab_tracker_->ContainsHandle(handle)) {
544 AutomationMsg_Find::WriteReplyParams(reply_message, -1, -1); 544 AutomationMsg_Find::WriteReplyParams(reply_message, -1, -1);
545 Send(reply_message); 545 Send(reply_message);
546 return; 546 return;
547 } 547 }
548 548
549 content::NavigationController* nav = tab_tracker_->GetResource(handle); 549 NavigationController* nav = tab_tracker_->GetResource(handle);
550 WebContents* web_contents = nav->GetWebContents(); 550 WebContents* web_contents = nav->GetWebContents();
551 551
552 SendFindRequest(web_contents, 552 SendFindRequest(web_contents,
553 false, 553 false,
554 params.search_string, 554 params.search_string,
555 params.forward, 555 params.forward,
556 params.match_case, 556 params.match_case,
557 params.find_next, 557 params.find_next,
558 reply_message); 558 reply_message);
559 } 559 }
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
594 profile_->GetRequestContext(); 594 profile_->GetRequestContext();
595 DCHECK(context_getter); 595 DCHECK(context_getter);
596 596
597 BrowserThread::PostTask( 597 BrowserThread::PostTask(
598 BrowserThread::IO, FROM_HERE, 598 BrowserThread::IO, FROM_HERE,
599 base::Bind(SetProxyConfigCallback, make_scoped_refptr(context_getter), 599 base::Bind(SetProxyConfigCallback, make_scoped_refptr(context_getter),
600 new_proxy_config)); 600 new_proxy_config));
601 } 601 }
602 602
603 WebContents* AutomationProvider::GetWebContentsForHandle( 603 WebContents* AutomationProvider::GetWebContentsForHandle(
604 int handle, content::NavigationController** tab) { 604 int handle, NavigationController** tab) {
605 if (tab_tracker_->ContainsHandle(handle)) { 605 if (tab_tracker_->ContainsHandle(handle)) {
606 content::NavigationController* nav_controller = 606 NavigationController* nav_controller = tab_tracker_->GetResource(handle);
607 tab_tracker_->GetResource(handle);
608 if (tab) 607 if (tab)
609 *tab = nav_controller; 608 *tab = nav_controller;
610 return nav_controller->GetWebContents(); 609 return nav_controller->GetWebContents();
611 } 610 }
612 return NULL; 611 return NULL;
613 } 612 }
614 613
615 // Gets the current used encoding name of the page in the specified tab. 614 // Gets the current used encoding name of the page in the specified tab.
616 void AutomationProvider::OverrideEncoding(int tab_handle, 615 void AutomationProvider::OverrideEncoding(int tab_handle,
617 const std::string& encoding_name, 616 const std::string& encoding_name,
618 bool* success) { 617 bool* success) {
619 *success = false; 618 *success = false;
620 if (tab_tracker_->ContainsHandle(tab_handle)) { 619 if (tab_tracker_->ContainsHandle(tab_handle)) {
621 content::NavigationController* nav = tab_tracker_->GetResource(tab_handle); 620 NavigationController* nav = tab_tracker_->GetResource(tab_handle);
622 if (!nav) 621 if (!nav)
623 return; 622 return;
624 Browser* browser = FindAndActivateTab(nav); 623 Browser* browser = FindAndActivateTab(nav);
625 624
626 // If the browser has UI, simulate what a user would do. 625 // If the browser has UI, simulate what a user would do.
627 // Activate the tab and then click the encoding menu. 626 // Activate the tab and then click the encoding menu.
628 if (browser && 627 if (browser &&
629 browser->command_updater()->IsCommandEnabled(IDC_ENCODING_MENU)) { 628 browser->command_updater()->IsCommandEnabled(IDC_ENCODING_MENU)) {
630 int selected_encoding_id = 629 int selected_encoding_id =
631 CharacterEncoding::GetCommandIdByCanonicalEncodingName(encoding_name); 630 CharacterEncoding::GetCommandIdByCanonicalEncodingName(encoding_name);
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
683 if (!view) { 682 if (!view) {
684 NOTREACHED(); 683 NOTREACHED();
685 return; 684 return;
686 } 685 }
687 686
688 view->Paste(); 687 view->Paste();
689 } 688 }
690 689
691 void AutomationProvider::ReloadAsync(int tab_handle) { 690 void AutomationProvider::ReloadAsync(int tab_handle) {
692 if (tab_tracker_->ContainsHandle(tab_handle)) { 691 if (tab_tracker_->ContainsHandle(tab_handle)) {
693 content::NavigationController* tab = tab_tracker_->GetResource(tab_handle); 692 NavigationController* tab = tab_tracker_->GetResource(tab_handle);
694 if (!tab) { 693 if (!tab) {
695 NOTREACHED(); 694 NOTREACHED();
696 return; 695 return;
697 } 696 }
698 697
699 const bool check_for_repost = true; 698 const bool check_for_repost = true;
700 tab->Reload(check_for_repost); 699 tab->Reload(check_for_repost);
701 } 700 }
702 } 701 }
703 702
(...skipping 15 matching lines...) Expand all
719 static_cast<AutomationPageFontSize>(font_size); 718 static_cast<AutomationPageFontSize>(font_size);
720 719
721 if (automation_font_size < SMALLEST_FONT || 720 if (automation_font_size < SMALLEST_FONT ||
722 automation_font_size > LARGEST_FONT) { 721 automation_font_size > LARGEST_FONT) {
723 DLOG(ERROR) << "Invalid font size specified : " 722 DLOG(ERROR) << "Invalid font size specified : "
724 << font_size; 723 << font_size;
725 return; 724 return;
726 } 725 }
727 726
728 if (tab_tracker_->ContainsHandle(tab_handle)) { 727 if (tab_tracker_->ContainsHandle(tab_handle)) {
729 content::NavigationController* tab = tab_tracker_->GetResource(tab_handle); 728 NavigationController* tab = tab_tracker_->GetResource(tab_handle);
730 DCHECK(tab != NULL); 729 DCHECK(tab != NULL);
731 if (tab && tab->GetWebContents()) { 730 if (tab && tab->GetWebContents()) {
732 DCHECK(tab->GetWebContents()->GetBrowserContext() != NULL); 731 DCHECK(tab->GetWebContents()->GetBrowserContext() != NULL);
733 Profile* profile = Profile::FromBrowserContext( 732 Profile* profile = Profile::FromBrowserContext(
734 tab->GetWebContents()->GetBrowserContext()); 733 tab->GetWebContents()->GetBrowserContext());
735 profile->GetPrefs()->SetInteger( 734 profile->GetPrefs()->SetInteger(
736 prefs::kWebKitGlobalDefaultFontSize, font_size); 735 prefs::kWebKitGlobalDefaultFontSize, font_size);
737 } 736 }
738 } 737 }
739 } 738 }
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
790 *success = false; 789 *success = false;
791 } else { 790 } else {
792 *chunk = tracing_data_.trace_output.front(); 791 *chunk = tracing_data_.trace_output.front();
793 tracing_data_.trace_output.pop_front(); 792 tracing_data_.trace_output.pop_front();
794 *success = true; 793 *success = true;
795 } 794 }
796 } 795 }
797 796
798 RenderViewHost* AutomationProvider::GetViewForTab(int tab_handle) { 797 RenderViewHost* AutomationProvider::GetViewForTab(int tab_handle) {
799 if (tab_tracker_->ContainsHandle(tab_handle)) { 798 if (tab_tracker_->ContainsHandle(tab_handle)) {
800 content::NavigationController* tab = tab_tracker_->GetResource(tab_handle); 799 NavigationController* tab = tab_tracker_->GetResource(tab_handle);
801 if (!tab) { 800 if (!tab) {
802 NOTREACHED(); 801 NOTREACHED();
803 return NULL; 802 return NULL;
804 } 803 }
805 804
806 WebContents* web_contents = tab->GetWebContents(); 805 WebContents* web_contents = tab->GetWebContents();
807 if (!web_contents) { 806 if (!web_contents) {
808 NOTREACHED(); 807 NOTREACHED();
809 return NULL; 808 return NULL;
810 } 809 }
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
998 } 997 }
999 break; 998 break;
1000 default: 999 default:
1001 LOG(WARNING) << "Trying to get undefined extension property"; 1000 LOG(WARNING) << "Trying to get undefined extension property";
1002 break; 1001 break;
1003 } 1002 }
1004 } 1003 }
1005 } 1004 }
1006 1005
1007 void AutomationProvider::SaveAsAsync(int tab_handle) { 1006 void AutomationProvider::SaveAsAsync(int tab_handle) {
1008 content::NavigationController* tab = NULL; 1007 NavigationController* tab = NULL;
1009 WebContents* web_contents = GetWebContentsForHandle(tab_handle, &tab); 1008 WebContents* web_contents = GetWebContentsForHandle(tab_handle, &tab);
1010 if (web_contents) 1009 if (web_contents)
1011 web_contents->OnSavePage(); 1010 web_contents->OnSavePage();
1012 } 1011 }
OLDNEW
« no previous file with comments | « chrome/browser/alternate_nav_url_fetcher.cc ('k') | chrome/browser/automation/automation_provider_observers.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698