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

Side by Side Diff: chrome/browser/extensions/extension_tabs_module.cc

Issue 3834002: Make all browser code use browser::Navigate to open tabs.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 1 month 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/extensions/extension_tabs_module.h" 5 #include "chrome/browser/extensions/extension_tabs_module.h"
6 6
7 #include "base/base64.h" 7 #include "base/base64.h"
8 #include "base/string_number_conversions.h" 8 #include "base/string_number_conversions.h"
9 #include "base/string_util.h" 9 #include "base/string_util.h"
10 #include "base/stringprintf.h" 10 #include "base/stringprintf.h"
11 #include "base/utf_string_conversions.h" 11 #include "base/utf_string_conversions.h"
12 #include "chrome/browser/browser.h" 12 #include "chrome/browser/browser.h"
13 #include "chrome/browser/browser_list.h" 13 #include "chrome/browser/browser_list.h"
14 #include "chrome/browser/browser_navigator.h"
14 #include "chrome/browser/browser_window.h" 15 #include "chrome/browser/browser_window.h"
15 #include "chrome/browser/extensions/extension_function_dispatcher.h" 16 #include "chrome/browser/extensions/extension_function_dispatcher.h"
16 #include "chrome/browser/extensions/extension_host.h" 17 #include "chrome/browser/extensions/extension_host.h"
17 #include "chrome/browser/extensions/extension_infobar_delegate.h" 18 #include "chrome/browser/extensions/extension_infobar_delegate.h"
18 #include "chrome/browser/extensions/extension_tabs_module_constants.h" 19 #include "chrome/browser/extensions/extension_tabs_module_constants.h"
19 #include "chrome/browser/extensions/extensions_service.h" 20 #include "chrome/browser/extensions/extensions_service.h"
20 #include "chrome/browser/profile.h" 21 #include "chrome/browser/profile.h"
21 #include "chrome/browser/renderer_host/backing_store.h" 22 #include "chrome/browser/renderer_host/backing_store.h"
22 #include "chrome/browser/renderer_host/render_view_host.h" 23 #include "chrome/browser/renderer_host/render_view_host.h"
23 #include "chrome/browser/renderer_host/render_view_host_delegate.h" 24 #include "chrome/browser/renderer_host/render_view_host_delegate.h"
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 window_type = Browser::TYPE_NORMAL; 400 window_type = Browser::TYPE_NORMAL;
400 } else if (type_str == keys::kWindowTypeValuePopup) { 401 } else if (type_str == keys::kWindowTypeValuePopup) {
401 window_type = Browser::TYPE_APP_POPUP; 402 window_type = Browser::TYPE_APP_POPUP;
402 } else { 403 } else {
403 EXTENSION_FUNCTION_VALIDATE(false); 404 EXTENSION_FUNCTION_VALIDATE(false);
404 } 405 }
405 } 406 }
406 } 407 }
407 408
408 Browser* new_window = Browser::CreateForType(window_type, window_profile); 409 Browser* new_window = Browser::CreateForType(window_type, window_profile);
409 for (std::vector<GURL>::iterator i = urls.begin(); i != urls.end(); ++i) { 410 for (std::vector<GURL>::iterator i = urls.begin(); i != urls.end(); ++i)
410 Browser::AddTabWithURLParams addTabParams = 411 new_window->AddSelectedTabWithURL(*i, PageTransition::LINK);
411 Browser::AddTabWithURLParams(*i, PageTransition::LINK);
412 new_window->AddTabWithURL(&addTabParams);
413 }
414 if (urls.size() == 0) 412 if (urls.size() == 0)
415 new_window->NewTab(); 413 new_window->NewTab();
416 new_window->SelectNumberedTab(0); 414 new_window->SelectNumberedTab(0);
417 if (window_type & Browser::TYPE_POPUP) 415 if (window_type & Browser::TYPE_POPUP)
418 new_window->window()->SetBounds(popup_bounds); 416 new_window->window()->SetBounds(popup_bounds);
419 else 417 else
420 new_window->window()->SetBounds(window_bounds); 418 new_window->window()->SetBounds(window_bounds);
421 new_window->window()->Show(); 419 new_window->window()->Show();
422 420
423 if (new_window->profile()->IsOffTheRecord() && !include_incognito()) { 421 if (new_window->profile()->IsOffTheRecord() && !include_incognito()) {
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
619 if (args->HasKey(keys::kIndexKey)) 617 if (args->HasKey(keys::kIndexKey))
620 EXTENSION_FUNCTION_VALIDATE(args->GetInteger(keys::kIndexKey, &index)); 618 EXTENSION_FUNCTION_VALIDATE(args->GetInteger(keys::kIndexKey, &index));
621 619
622 TabStripModel* tab_strip = browser->tabstrip_model(); 620 TabStripModel* tab_strip = browser->tabstrip_model();
623 621
624 index = std::min(std::max(index, -1), tab_strip->count()); 622 index = std::min(std::max(index, -1), tab_strip->count());
625 623
626 int add_types = selected ? TabStripModel::ADD_SELECTED : 624 int add_types = selected ? TabStripModel::ADD_SELECTED :
627 TabStripModel::ADD_NONE; 625 TabStripModel::ADD_NONE;
628 add_types |= TabStripModel::ADD_FORCE_INDEX; 626 add_types |= TabStripModel::ADD_FORCE_INDEX;
629 Browser::AddTabWithURLParams params(url, PageTransition::LINK); 627 browser::NavigateParams params(browser, url, PageTransition::LINK);
630 params.index = index; 628 params.disposition = selected ? NEW_FOREGROUND_TAB : NEW_BACKGROUND_TAB;
631 params.add_types = add_types; 629 params.tabstrip_index = index;
632 TabContents* contents = browser->AddTabWithURL(&params); 630 params.tabstrip_add_types = add_types;
633 index = browser->tabstrip_model()->GetIndexOfTabContents(contents); 631 browser::Navigate(&params);
634 632
635 if (selected) 633 if (selected)
636 contents->view()->SetInitialFocus(); 634 params.target_contents->view()->SetInitialFocus();
637 635
638 // Return data about the newly created tab. 636 // Return data about the newly created tab.
639 if (has_callback()) 637 if (has_callback()) {
640 result_.reset(ExtensionTabUtil::CreateTabValue(contents, 638 result_.reset(ExtensionTabUtil::CreateTabValue(
641 browser->tabstrip_model(), 639 params.target_contents,
642 index)); 640 params.browser->tabstrip_model(),
641 params.browser->tabstrip_model()->GetIndexOfTabContents(
642 params.target_contents)));
643 }
643 644
644 return true; 645 return true;
645 } 646 }
646 647
647 bool GetTabFunction::RunImpl() { 648 bool GetTabFunction::RunImpl() {
648 int tab_id; 649 int tab_id;
649 EXTENSION_FUNCTION_VALIDATE(args_->GetInteger(0, &tab_id)); 650 EXTENSION_FUNCTION_VALIDATE(args_->GetInteger(0, &tab_id));
650 651
651 TabStripModel* tab_strip = NULL; 652 TabStripModel* tab_strip = NULL;
652 TabContents* contents = NULL; 653 TabContents* contents = NULL;
(...skipping 496 matching lines...) Expand 10 before | Expand all | Expand 10 after
1149 } 1150 }
1150 1151
1151 static GURL ResolvePossiblyRelativeURL(std::string url_string, 1152 static GURL ResolvePossiblyRelativeURL(std::string url_string,
1152 const Extension* extension) { 1153 const Extension* extension) {
1153 GURL url = GURL(url_string); 1154 GURL url = GURL(url_string);
1154 if (!url.is_valid()) 1155 if (!url.is_valid())
1155 url = extension->GetResourceURL(url_string); 1156 url = extension->GetResourceURL(url_string);
1156 1157
1157 return url; 1158 return url;
1158 } 1159 }
OLDNEW
« no previous file with comments | « chrome/browser/dom_ui/html_dialog_tab_contents_delegate.cc ('k') | chrome/browser/find_bar_host_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698