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

Side by Side Diff: chrome/browser/instant/instant_controller.h

Issue 11644009: Added support for passing WindowOpenDisposition into BrowserInstantController::OpenURL() from the o… (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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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_INSTANT_INSTANT_CONTROLLER_H_ 5 #ifndef CHROME_BROWSER_INSTANT_INSTANT_CONTROLLER_H_
6 #define CHROME_BROWSER_INSTANT_INSTANT_CONTROLLER_H_ 6 #define CHROME_BROWSER_INSTANT_INSTANT_CONTROLLER_H_
7 7
8 #include <list> 8 #include <list>
9 #include <map> 9 #include <map>
10 #include <string> 10 #include <string>
11 #include <utility> 11 #include <utility>
12 #include <vector> 12 #include <vector>
13 13
14 #include "base/basictypes.h" 14 #include "base/basictypes.h"
15 #include "base/gtest_prod_util.h" 15 #include "base/gtest_prod_util.h"
16 #include "base/memory/scoped_ptr.h" 16 #include "base/memory/scoped_ptr.h"
17 #include "base/string16.h" 17 #include "base/string16.h"
18 #include "base/time.h" 18 #include "base/time.h"
19 #include "base/timer.h" 19 #include "base/timer.h"
20 #include "chrome/browser/instant/instant_commit_type.h" 20 #include "chrome/browser/instant/instant_commit_type.h"
21 #include "chrome/browser/instant/instant_model.h" 21 #include "chrome/browser/instant/instant_model.h"
22 #include "chrome/browser/instant/instant_page.h" 22 #include "chrome/browser/instant/instant_page.h"
23 #include "chrome/browser/ui/omnibox/omnibox_edit_model.h" 23 #include "chrome/browser/ui/omnibox/omnibox_edit_model.h"
24 #include "chrome/common/instant_types.h" 24 #include "chrome/common/instant_types.h"
25 #include "chrome/common/search_types.h" 25 #include "chrome/common/search_types.h"
26 #include "content/public/common/page_transition_types.h" 26 #include "content/public/common/page_transition_types.h"
27 #include "googleurl/src/gurl.h" 27 #include "googleurl/src/gurl.h"
28 #include "ui/base/window_open_disposition.h"
28 #include "ui/gfx/native_widget_types.h" 29 #include "ui/gfx/native_widget_types.h"
29 #include "ui/gfx/rect.h" 30 #include "ui/gfx/rect.h"
30 31
31 struct AutocompleteMatch; 32 struct AutocompleteMatch;
32 class AutocompleteProvider; 33 class AutocompleteProvider;
33 class InstantNTP; 34 class InstantNTP;
34 class InstantOverlay; 35 class InstantOverlay;
35 class InstantTab; 36 class InstantTab;
36 class TemplateURL; 37 class TemplateURL;
37 38
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 // happen through the InstantController interface. 183 // happen through the InstantController interface.
183 InstantModel* model() { return &model_; } 184 InstantModel* model() { return &model_; }
184 185
185 private: 186 private:
186 FRIEND_TEST_ALL_PREFIXES(InstantTest, OmniboxFocusLoadsInstant); 187 FRIEND_TEST_ALL_PREFIXES(InstantTest, OmniboxFocusLoadsInstant);
187 FRIEND_TEST_ALL_PREFIXES(InstantTest, SetWithTemplateURL); 188 FRIEND_TEST_ALL_PREFIXES(InstantTest, SetWithTemplateURL);
188 FRIEND_TEST_ALL_PREFIXES(InstantTest, NonInstantSearchProvider); 189 FRIEND_TEST_ALL_PREFIXES(InstantTest, NonInstantSearchProvider);
189 FRIEND_TEST_ALL_PREFIXES(InstantTest, InstantOverlayRefresh); 190 FRIEND_TEST_ALL_PREFIXES(InstantTest, InstantOverlayRefresh);
190 FRIEND_TEST_ALL_PREFIXES(InstantExtendedTest, ExtendedModeIsOn); 191 FRIEND_TEST_ALL_PREFIXES(InstantExtendedTest, ExtendedModeIsOn);
191 FRIEND_TEST_ALL_PREFIXES(InstantExtendedTest, OmniboxFocusLoadsInstant); 192 FRIEND_TEST_ALL_PREFIXES(InstantExtendedTest, OmniboxFocusLoadsInstant);
193 FRIEND_TEST_ALL_PREFIXES(InstantExtendedTest,
194 MiddleClickOnSuggestionOpensInNewTab);
192 FRIEND_TEST_ALL_PREFIXES(InstantExtendedTest, NTPIsPreloaded); 195 FRIEND_TEST_ALL_PREFIXES(InstantExtendedTest, NTPIsPreloaded);
193 FRIEND_TEST_ALL_PREFIXES(InstantExtendedTest, PreloadedNTPIsUsedInNewTab); 196 FRIEND_TEST_ALL_PREFIXES(InstantExtendedTest, PreloadedNTPIsUsedInNewTab);
194 FRIEND_TEST_ALL_PREFIXES(InstantExtendedTest, PreloadedNTPIsUsedInSameTab); 197 FRIEND_TEST_ALL_PREFIXES(InstantExtendedTest, PreloadedNTPIsUsedInSameTab);
195 FRIEND_TEST_ALL_PREFIXES(InstantExtendedTest, ProcessIsolation); 198 FRIEND_TEST_ALL_PREFIXES(InstantExtendedTest, ProcessIsolation);
196 FRIEND_TEST_ALL_PREFIXES(InstantExtendedTest, UnrelatedSiteInstance); 199 FRIEND_TEST_ALL_PREFIXES(InstantExtendedTest, UnrelatedSiteInstance);
197 200
198 // Overridden from InstantPage::Delegate: 201 // Overridden from InstantPage::Delegate:
199 // TODO(shishir): We assume that the WebContent's current RenderViewHost is 202 // TODO(shishir): We assume that the WebContent's current RenderViewHost is
200 // the RenderViewHost being created which is not always true. Fix this. 203 // the RenderViewHost being created which is not always true. Fix this.
201 virtual void InstantPageRenderViewCreated( 204 virtual void InstantPageRenderViewCreated(
(...skipping 13 matching lines...) Expand all
215 const content::WebContents* contents, 218 const content::WebContents* contents,
216 InstantShownReason reason, 219 InstantShownReason reason,
217 int height, 220 int height,
218 InstantSizeUnits units) OVERRIDE; 221 InstantSizeUnits units) OVERRIDE;
219 virtual void StartCapturingKeyStrokes( 222 virtual void StartCapturingKeyStrokes(
220 const content::WebContents* contents) OVERRIDE; 223 const content::WebContents* contents) OVERRIDE;
221 virtual void StopCapturingKeyStrokes(content::WebContents* contents) OVERRIDE; 224 virtual void StopCapturingKeyStrokes(content::WebContents* contents) OVERRIDE;
222 virtual void NavigateToURL( 225 virtual void NavigateToURL(
223 const content::WebContents* contents, 226 const content::WebContents* contents,
224 const GURL& url, 227 const GURL& url,
225 content::PageTransition transition) OVERRIDE; 228 content::PageTransition transition,
229 WindowOpenDisposition disposition) OVERRIDE;
226 230
227 // Helper for OmniboxFocusChanged. Commit or discard the preview. 231 // Helper for OmniboxFocusChanged. Commit or discard the preview.
228 void OmniboxLostFocus(gfx::NativeView view_gaining_focus); 232 void OmniboxLostFocus(gfx::NativeView view_gaining_focus);
229 233
230 // Creates a new NTP, using the instant_url property of the default 234 // Creates a new NTP, using the instant_url property of the default
231 // TemplateURL. 235 // TemplateURL.
232 void ResetNTP(); 236 void ResetNTP();
233 237
234 // Ensures that |overlay_| uses the Instant URL returned by GetInstantURL(), 238 // Ensures that |overlay_| uses the Instant URL returned by GetInstantURL(),
235 // creating a new overlay if necessary. In extended mode, will fallback to 239 // creating a new overlay if necessary. In extended mode, will fallback to
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 // MODE_SEARCH_SUGGESTIONS, except in those cases where this is false. 394 // MODE_SEARCH_SUGGESTIONS, except in those cases where this is false.
391 bool allow_preview_to_show_search_suggestions_; 395 bool allow_preview_to_show_search_suggestions_;
392 396
393 // List of events and their timestamps, useful in debugging Instant behaviour. 397 // List of events and their timestamps, useful in debugging Instant behaviour.
394 mutable std::list<std::pair<int64, std::string> > debug_events_; 398 mutable std::list<std::pair<int64, std::string> > debug_events_;
395 399
396 DISALLOW_COPY_AND_ASSIGN(InstantController); 400 DISALLOW_COPY_AND_ASSIGN(InstantController);
397 }; 401 };
398 402
399 #endif // CHROME_BROWSER_INSTANT_INSTANT_CONTROLLER_H_ 403 #endif // CHROME_BROWSER_INSTANT_INSTANT_CONTROLLER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698