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

Side by Side Diff: chrome/browser/instant/instant_loader.cc

Issue 7880003: content: Move constrained window code from TabContents to TabContentsWrapper (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix mac regression now that shutdown timing was changed for views. Created 9 years, 2 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/instant/instant_loader.h" 5 #include "chrome/browser/instant/instant_loader.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 // NotificationObserver: 177 // NotificationObserver:
178 virtual void Observe(int type, 178 virtual void Observe(int type,
179 const NotificationSource& source, 179 const NotificationSource& source,
180 const NotificationDetails& details) OVERRIDE; 180 const NotificationDetails& details) OVERRIDE;
181 181
182 // TabContentsDelegate: 182 // TabContentsDelegate:
183 virtual void NavigationStateChanged(const TabContents* source, 183 virtual void NavigationStateChanged(const TabContents* source,
184 unsigned changed_flags) OVERRIDE; 184 unsigned changed_flags) OVERRIDE;
185 virtual void AddNavigationHeaders(const GURL& url, 185 virtual void AddNavigationHeaders(const GURL& url,
186 std::string* headers) OVERRIDE; 186 std::string* headers) OVERRIDE;
187 virtual bool ShouldFocusConstrainedWindow() OVERRIDE;
188 virtual void WillShowConstrainedWindow(TabContents* source) OVERRIDE;
189 virtual bool ShouldSuppressDialogs() OVERRIDE; 187 virtual bool ShouldSuppressDialogs() OVERRIDE;
190 virtual void BeforeUnloadFired(TabContents* tab, 188 virtual void BeforeUnloadFired(TabContents* tab,
191 bool proceed, 189 bool proceed,
192 bool* proceed_to_fire_unload) OVERRIDE; 190 bool* proceed_to_fire_unload) OVERRIDE;
193 virtual void SetFocusToLocationBar(bool select_all) OVERRIDE; 191 virtual void SetFocusToLocationBar(bool select_all) OVERRIDE;
194 virtual bool ShouldFocusPageAfterCrash() OVERRIDE; 192 virtual bool ShouldFocusPageAfterCrash() OVERRIDE;
195 virtual void LostCapture() OVERRIDE; 193 virtual void LostCapture() OVERRIDE;
196 // If the user drags, we won't get a mouse up (at least on Linux). Commit the 194 // If the user drags, we won't get a mouse up (at least on Linux). Commit the
197 // instant result when the drag ends, so that during the drag the page won't 195 // instant result when the drag ends, so that during the drag the page won't
198 // move around. 196 // move around.
199 virtual void DragEnded() OVERRIDE; 197 virtual void DragEnded() OVERRIDE;
200 virtual bool CanDownload(TabContents* source, int request_id) OVERRIDE; 198 virtual bool CanDownload(TabContents* source, int request_id) OVERRIDE;
201 virtual void HandleMouseUp() OVERRIDE; 199 virtual void HandleMouseUp() OVERRIDE;
202 virtual void HandleMouseActivate() OVERRIDE; 200 virtual void HandleMouseActivate() OVERRIDE;
203 virtual bool OnGoToEntryOffset(int offset) OVERRIDE; 201 virtual bool OnGoToEntryOffset(int offset) OVERRIDE;
204 virtual bool ShouldAddNavigationToHistory( 202 virtual bool ShouldAddNavigationToHistory(
205 const history::HistoryAddPageArgs& add_page_args, 203 const history::HistoryAddPageArgs& add_page_args,
206 NavigationType::Type navigation_type) OVERRIDE; 204 NavigationType::Type navigation_type) OVERRIDE;
207 205
208 // TabContentsWrapperDelegate: 206 // TabContentsWrapperDelegate:
209 virtual void SwapTabContents(TabContentsWrapper* old_tc, 207 virtual void SwapTabContents(TabContentsWrapper* old_tc,
210 TabContentsWrapper* new_tc) OVERRIDE; 208 TabContentsWrapper* new_tc) OVERRIDE;
209 virtual void WillShowConstrainedWindow(TabContentsWrapper* source) OVERRIDE;
210 virtual bool ShouldFocusConstrainedWindow() OVERRIDE;
211 211
212 // TabContentsObserver: 212 // TabContentsObserver:
213 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; 213 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
214 214
215 private: 215 private:
216 typedef std::vector<scoped_refptr<history::HistoryAddPageArgs> > 216 typedef std::vector<scoped_refptr<history::HistoryAddPageArgs> >
217 AddPageVector; 217 AddPageVector;
218 218
219 // Message from renderer indicating the page has suggestions. 219 // Message from renderer indicating the page has suggestions.
220 void OnSetSuggestions( 220 void OnSetSuggestions(
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
414 } 414 }
415 } 415 }
416 416
417 void InstantLoader::TabContentsDelegateImpl::AddNavigationHeaders( 417 void InstantLoader::TabContentsDelegateImpl::AddNavigationHeaders(
418 const GURL& url, 418 const GURL& url,
419 std::string* headers) { 419 std::string* headers) {
420 net::HttpUtil::AppendHeaderIfMissing(kInstantHeader, kInstantHeaderValue, 420 net::HttpUtil::AppendHeaderIfMissing(kInstantHeader, kInstantHeaderValue,
421 headers); 421 headers);
422 } 422 }
423 423
424 bool InstantLoader::TabContentsDelegateImpl::ShouldFocusConstrainedWindow() {
425 // Return false so that constrained windows are not initially focused. If
426 // we did otherwise the preview would prematurely get committed when focus
427 // goes to the constrained window.
428 return false;
429 }
430
431 void InstantLoader::TabContentsDelegateImpl::WillShowConstrainedWindow(
432 TabContents* source) {
433 if (!loader_->ready()) {
434 // A constrained window shown for an auth may not paint. Show the preview
435 // contents.
436 UnregisterForPaintNotifications();
437 loader_->ShowPreview();
438 }
439 }
440
441 bool InstantLoader::TabContentsDelegateImpl::ShouldSuppressDialogs() { 424 bool InstantLoader::TabContentsDelegateImpl::ShouldSuppressDialogs() {
442 // Any message shown during instant cancels instant, so we suppress them. 425 // Any message shown during instant cancels instant, so we suppress them.
443 return true; 426 return true;
444 } 427 }
445 428
446 void InstantLoader::TabContentsDelegateImpl::BeforeUnloadFired( 429 void InstantLoader::TabContentsDelegateImpl::BeforeUnloadFired(
447 TabContents* tab, 430 TabContents* tab,
448 bool proceed, 431 bool proceed,
449 bool* proceed_to_fire_unload) { 432 bool* proceed_to_fire_unload) {
450 } 433 }
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
497 } 480 }
498 481
499 // If this is being called, something is swapping in to our preview_contents_ 482 // If this is being called, something is swapping in to our preview_contents_
500 // before we've added it to the tab strip. 483 // before we've added it to the tab strip.
501 void InstantLoader::TabContentsDelegateImpl::SwapTabContents( 484 void InstantLoader::TabContentsDelegateImpl::SwapTabContents(
502 TabContentsWrapper* old_tc, 485 TabContentsWrapper* old_tc,
503 TabContentsWrapper* new_tc) { 486 TabContentsWrapper* new_tc) {
504 loader_->ReplacePreviewContents(old_tc, new_tc); 487 loader_->ReplacePreviewContents(old_tc, new_tc);
505 } 488 }
506 489
490 bool InstantLoader::TabContentsDelegateImpl::ShouldFocusConstrainedWindow() {
491 // Return false so that constrained windows are not initially focused. If
492 // we did otherwise the preview would prematurely get committed when focus
493 // goes to the constrained window.
494 return false;
495 }
496
497 void InstantLoader::TabContentsDelegateImpl::WillShowConstrainedWindow(
498 TabContentsWrapper* source) {
499 if (!loader_->ready()) {
500 // A constrained window shown for an auth may not paint. Show the preview
501 // contents.
502 UnregisterForPaintNotifications();
503 loader_->ShowPreview();
504 }
505 }
507 506
508 bool InstantLoader::TabContentsDelegateImpl::OnMessageReceived( 507 bool InstantLoader::TabContentsDelegateImpl::OnMessageReceived(
509 const IPC::Message& message) { 508 const IPC::Message& message) {
510 bool handled = true; 509 bool handled = true;
511 IPC_BEGIN_MESSAGE_MAP(TabContentsDelegateImpl, message) 510 IPC_BEGIN_MESSAGE_MAP(TabContentsDelegateImpl, message)
512 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_SetSuggestions, OnSetSuggestions) 511 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_SetSuggestions, OnSetSuggestions)
513 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_InstantSupportDetermined, 512 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_InstantSupportDetermined,
514 OnInstantSupportDetermined) 513 OnInstantSupportDetermined)
515 IPC_MESSAGE_UNHANDLED(handled = false) 514 IPC_MESSAGE_UNHANDLED(handled = false)
516 IPC_END_MESSAGE_MAP() 515 IPC_END_MESSAGE_MAP()
(...skipping 519 matching lines...) Expand 10 before | Expand all | Expand 10 after
1036 if (cl->HasSwitch(switches::kInstantURL)) 1035 if (cl->HasSwitch(switches::kInstantURL))
1037 instant_url = GURL(cl->GetSwitchValueASCII(switches::kInstantURL)); 1036 instant_url = GURL(cl->GetSwitchValueASCII(switches::kInstantURL));
1038 preview_contents_->controller().LoadURL(instant_url, GURL(), transition_type, 1037 preview_contents_->controller().LoadURL(instant_url, GURL(), transition_type,
1039 std::string()); 1038 std::string());
1040 RenderViewHost* host = preview_contents_->render_view_host(); 1039 RenderViewHost* host = preview_contents_->render_view_host();
1041 host->Send(new ChromeViewMsg_SearchBoxChange( 1040 host->Send(new ChromeViewMsg_SearchBoxChange(
1042 host->routing_id(), user_text, verbatim, 0, 0)); 1041 host->routing_id(), user_text, verbatim, 0, 0));
1043 frame_load_observer_.reset(new FrameLoadObserver( 1042 frame_load_observer_.reset(new FrameLoadObserver(
1044 this, preview_contents()->tab_contents(), user_text, verbatim)); 1043 this, preview_contents()->tab_contents(), user_text, verbatim));
1045 } 1044 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698