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

Side by Side Diff: chrome/browser/browser_navigator.h

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
« no previous file with comments | « chrome/browser/browser_init.cc ('k') | chrome/browser/browser_navigator.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #ifndef CHROME_BROWSER_BROWSER_NAVIGATOR_H_ 5 #ifndef CHROME_BROWSER_BROWSER_NAVIGATOR_H_
6 #define CHROME_BROWSER_BROWSER_NAVIGATOR_H_ 6 #define CHROME_BROWSER_BROWSER_NAVIGATOR_H_
7 #pragma once 7 #pragma once
8 8
9 #include <string> 9 #include <string>
10 10
(...skipping 29 matching lines...) Expand all
40 // 40 //
41 // See browser_navigator_browsertest.cc for more examples. 41 // See browser_navigator_browsertest.cc for more examples.
42 // 42 //
43 struct NavigateParams { 43 struct NavigateParams {
44 NavigateParams(Browser* browser, 44 NavigateParams(Browser* browser,
45 const GURL& a_url, 45 const GURL& a_url,
46 PageTransition::Type a_transition); 46 PageTransition::Type a_transition);
47 NavigateParams(Browser* browser, TabContents* a_target_contents); 47 NavigateParams(Browser* browser, TabContents* a_target_contents);
48 ~NavigateParams(); 48 ~NavigateParams();
49 49
50 // The URL/referrer to be loaded. Can be empty if |contents| is specified 50 // The URL/referrer to be loaded. Ignored if |target_contents| is non-NULL.
51 // non-NULL.
52 GURL url; 51 GURL url;
53 GURL referrer; 52 GURL referrer;
54 53
55 // [in] A TabContents to be navigated or inserted into the target Browser's 54 // [in] A TabContents to be navigated or inserted into the target Browser's
56 // tabstrip. If NULL, |url| or the homepage will be used instead. 55 // tabstrip. If NULL, |url| or the homepage will be used instead. When
56 // non-NULL, Navigate() assumes it has already been navigated to its
57 // intended destination and will not load any URL in it (i.e. |url| is
58 // ignored).
57 // Default is NULL. 59 // Default is NULL.
58 // [out] The TabContents in which the navigation occurred or that was 60 // [out] The TabContents in which the navigation occurred or that was
59 // inserted. Guaranteed non-NULL except for note below: 61 // inserted. Guaranteed non-NULL except for note below:
60 // Note: If this field is set to NULL by the caller and Navigate() creates 62 // Note: If this field is set to NULL by the caller and Navigate() creates
61 // a new TabContents, this field will remain NULL and the TabContents 63 // a new TabContents, this field will remain NULL and the TabContents
62 // deleted if the TabContents it created is not added to a TabStripModel 64 // deleted if the TabContents it created is not added to a TabStripModel
63 // before Navigate() returns. 65 // before Navigate() returns.
64 TabContents* target_contents; 66 TabContents* target_contents;
65 67
66 // [in] The TabContents that initiated the Navigate() request if such context 68 // [in] The TabContents that initiated the Navigate() request if such context
67 // is necessary. Default is NULL, i.e. no context. 69 // is necessary. Default is NULL, i.e. no context.
68 // [out] If NULL, this value will be set to the selected TabContents in the 70 // [out] If NULL, this value will be set to the selected TabContents in the
69 // originating browser prior to the operation performed by Navigate(). 71 // originating browser prior to the operation performed by Navigate().
70 TabContents* source_contents; 72 TabContents* source_contents;
71 73
72 // The disposition requested by the navigation source. Default is 74 // The disposition requested by the navigation source. Default is
73 // CURRENT_TAB. 75 // CURRENT_TAB. What follows is a set of coercions that happen to this value
76 // when other factors are at play:
77 //
78 // [in]: Condition: [out]:
79 // NEW_BACKGROUND_TAB target browser tabstrip is empty NEW_FOREGROUND_TAB
80 // CURRENT_TAB " " " NEW_FOREGROUND_TAB
81 // OFF_THE_RECORD target browser profile is incog. NEW_FOREGROUND_TAB
82 //
83 // If disposition is NEW_WINDOW or NEW_POPUP, |show_window| is set to true
84 // automatically.
85 // If disposition is NEW_BACKGROUND_TAB, TabStripModel::ADD_SELECTED is
86 // removed from |tabstrip_add_types| automatically.
74 WindowOpenDisposition disposition; 87 WindowOpenDisposition disposition;
75 88
76 // The transition type of the navigation. Default is PageTransition::LINK 89 // The transition type of the navigation. Default is PageTransition::LINK
77 // when target_contents is specified in the constructor. 90 // when target_contents is specified in the constructor.
78 PageTransition::Type transition; 91 PageTransition::Type transition;
79 92
80 // The index the caller would like the tab to be positioned at in the 93 // The index the caller would like the tab to be positioned at in the
81 // TabStrip. The actual index will be determined by the TabHandler in 94 // TabStrip. The actual index will be determined by the TabHandler in
82 // accordance with |add_types|. Defaults to -1 (allows the TabHandler to 95 // accordance with |add_types|. Defaults to -1 (allows the TabHandler to
83 // decide). 96 // decide).
84 int tabstrip_index; 97 int tabstrip_index;
85 98
86 // A bitmask of values defined in TabStripModel::AddTabTypes. Helps 99 // A bitmask of values defined in TabStripModel::AddTabTypes. Helps
87 // determine where to insert a new tab and whether or not it should be 100 // determine where to insert a new tab and whether or not it should be
88 // selected, among other properties. Default is ADD_SELECTED. 101 // selected, among other properties. Default is ADD_SELECTED.
89 int tabstrip_add_types; 102 int tabstrip_add_types;
90 103
91 // If non-empty, the new tab is an app tab. 104 // If non-empty, the new tab is an app tab.
92 std::string extension_app_id; 105 std::string extension_app_id;
93 106
94 // If non-empty, specifies the desired initial position and size of the 107 // If non-empty, specifies the desired initial position and size of the
95 // window if |disposition| == NEW_POPUP. 108 // window if |disposition| == NEW_POPUP.
96 // TODO(beng): Figure out if this can be used to create Browser windows 109 // TODO(beng): Figure out if this can be used to create Browser windows
97 // for other callsites that use set_override_bounds, or 110 // for other callsites that use set_override_bounds, or
98 // remove this comment. 111 // remove this comment.
99 gfx::Rect window_bounds; 112 gfx::Rect window_bounds;
100 113
101 // True if the target window should be made visible at the end of the call 114 // True if the target window should be made visible at the end of the call
102 // to Navigate(). Default is false. 115 // to Navigate(). This activates the window if it was already visible.
116 // Default is false.
103 bool show_window; 117 bool show_window;
104 118
105 // [in] Specifies a Browser object where the navigation could occur or the 119 // [in] Specifies a Browser object where the navigation could occur or the
106 // tab could be added. Navigate() is not obliged to use this Browser if 120 // tab could be added. Navigate() is not obliged to use this Browser if
107 // it is not compatible with the operation being performed. Cannot be 121 // it is not compatible with the operation being performed. Cannot be
108 // NULL since Navigate() uses this Browser's Profile. 122 // NULL since Navigate() uses this Browser's Profile.
109 // [out] Specifies the Browser object where the navigation occurred or the 123 // [out] Specifies the Browser object where the navigation occurred or the
110 // tab was added. Guaranteed non-NULL unless the disposition did not 124 // tab was added. Guaranteed non-NULL unless the disposition did not
111 // require a navigation, in which case this is set to NULL 125 // require a navigation, in which case this is set to NULL
112 // (SUPPRESS_OPEN, SAVE_TO_DISK, IGNORE_ACTION). 126 // (SUPPRESS_OPEN, SAVE_TO_DISK, IGNORE_ACTION).
113 // Note: If |show_window| is set to false and a new Browser is created by 127 // Note: If |show_window| is set to false and a new Browser is created by
114 // Navigate(), the caller is responsible for showing it so that its 128 // Navigate(), the caller is responsible for showing it so that its
115 // window can assume responsibility for the Browser's lifetime (Browser 129 // window can assume responsibility for the Browser's lifetime (Browser
116 // objects are deleted when the user closes a visible browser window). 130 // objects are deleted when the user closes a visible browser window).
117 Browser* browser; 131 Browser* browser;
118 132
119 private: 133 private:
120 NavigateParams(); 134 NavigateParams();
121 }; 135 };
122 136
123 // Navigates according to the configuration specified in |params|. 137 // Navigates according to the configuration specified in |params|.
124 void Navigate(NavigateParams* params); 138 void Navigate(NavigateParams* params);
125 139
126 } // namespace browser 140 } // namespace browser
127 141
128 #endif // CHROME_BROWSER_BROWSER_NAVIGATOR_H_ 142 #endif // CHROME_BROWSER_BROWSER_NAVIGATOR_H_
129 143
OLDNEW
« no previous file with comments | « chrome/browser/browser_init.cc ('k') | chrome/browser/browser_navigator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698