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

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

Issue 5720002: Merge 68816 - Fixes bug where we would show an instant preview when we though... (Closed) Base URL: svn://svn.chromium.org/chrome/branches/597/src/
Patch Set: Created 10 years 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/instant/instant_loader.h" 5 #include "chrome/browser/instant/instant_loader.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility> 8 #include <utility>
9 9
10 #include "app/l10n_util.h" 10 #include "app/l10n_util.h"
(...skipping 539 matching lines...) Expand 10 before | Expand all | Expand 10 after
550 // really have the search params, but we need to use the replace 550 // really have the search params, but we need to use the replace
551 // functionality so that embeded tags (like {google:baseURL}) are escaped 551 // functionality so that embeded tags (like {google:baseURL}) are escaped
552 // correctly. 552 // correctly.
553 // TODO(sky): having to use a replaceable url is a bit of a hack here. 553 // TODO(sky): having to use a replaceable url is a bit of a hack here.
554 GURL instant_url( 554 GURL instant_url(
555 template_url->instant_url()->ReplaceSearchTerms( 555 template_url->instant_url()->ReplaceSearchTerms(
556 *template_url, std::wstring(), -1, std::wstring())); 556 *template_url, std::wstring(), -1, std::wstring()));
557 CommandLine* cl = CommandLine::ForCurrentProcess(); 557 CommandLine* cl = CommandLine::ForCurrentProcess();
558 if (cl->HasSwitch(switches::kInstantURL)) 558 if (cl->HasSwitch(switches::kInstantURL))
559 instant_url = GURL(cl->GetSwitchValueASCII(switches::kInstantURL)); 559 instant_url = GURL(cl->GetSwitchValueASCII(switches::kInstantURL));
560 initial_instant_url_ = url;
561 preview_contents_->controller().LoadURL( 560 preview_contents_->controller().LoadURL(
562 instant_url, GURL(), transition_type); 561 instant_url, GURL(), transition_type);
563 frame_load_observer_.reset( 562 frame_load_observer_.reset(
564 new FrameLoadObserver(preview_contents()->tab_contents(), 563 new FrameLoadObserver(preview_contents()->tab_contents(),
565 user_text_, verbatim)); 564 user_text_, verbatim));
566 } 565 }
567 } else { 566 } else {
568 DCHECK(template_url_id_ == 0); 567 DCHECK(template_url_id_ == 0);
569 frame_load_observer_.reset(NULL); 568 frame_load_observer_.reset(NULL);
570 preview_contents_->controller().LoadURL(url_, GURL(), transition_type); 569 preview_contents_->controller().LoadURL(url_, GURL(), transition_type);
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
640 } 639 }
641 640
642 bool InstantLoader::ShouldCommitInstantOnMouseUp() { 641 bool InstantLoader::ShouldCommitInstantOnMouseUp() {
643 return delegate_->ShouldCommitInstantOnMouseUp(); 642 return delegate_->ShouldCommitInstantOnMouseUp();
644 } 643 }
645 644
646 void InstantLoader::CommitInstantLoader() { 645 void InstantLoader::CommitInstantLoader() {
647 delegate_->CommitInstantLoader(this); 646 delegate_->CommitInstantLoader(this);
648 } 647 }
649 648
650 void InstantLoader::ClearTemplateURLID() {
651 // This should only be invoked for sites we thought supported instant.
652 DCHECK(template_url_id_);
653
654 // The frame load observer should have completed.
655 DCHECK(!frame_load_observer_.get());
656
657 // We shouldn't be ready.
658 DCHECK(!ready());
659
660 template_url_id_ = 0;
661 ShowPreview();
662 }
663
664 void InstantLoader::SetCompleteSuggestedText( 649 void InstantLoader::SetCompleteSuggestedText(
665 const string16& complete_suggested_text) { 650 const string16& complete_suggested_text) {
666 ShowPreview(); 651 ShowPreview();
667 652
668 if (complete_suggested_text == complete_suggested_text_) 653 if (complete_suggested_text == complete_suggested_text_)
669 return; 654 return;
670 655
671 if (verbatim_) { 656 if (verbatim_) {
672 // Don't show suggest results for verbatim queries. 657 // Don't show suggest results for verbatim queries.
673 return; 658 return;
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
752 // the above operations. In a future UI, these may be removed or adjusted. 737 // the above operations. In a future UI, these may be removed or adjusted.
753 DCHECK_EQ(0, intersection.y()); 738 DCHECK_EQ(0, intersection.y());
754 DCHECK_LE(0, intersection.x()); 739 DCHECK_LE(0, intersection.x());
755 DCHECK_LE(0, intersection.width()); 740 DCHECK_LE(0, intersection.width());
756 DCHECK_LE(0, intersection.height()); 741 DCHECK_LE(0, intersection.height());
757 742
758 return intersection; 743 return intersection;
759 } 744 }
760 745
761 void InstantLoader::PageDoesntSupportInstant(bool needs_reload) { 746 void InstantLoader::PageDoesntSupportInstant(bool needs_reload) {
762 GURL url_to_load = url_;
763
764 // Because we didn't process any of the requests to load in Update we're
765 // actually at initial_instant_url_. We need to reset url_ so that callers see
766 // the correct state.
767 url_ = initial_instant_url_;
768
769 frame_load_observer_.reset(NULL); 747 frame_load_observer_.reset(NULL);
770 748
771 delegate_->InstantLoaderDoesntSupportInstant(this, needs_reload, url_to_load); 749 delegate_->InstantLoaderDoesntSupportInstant(this);
772 } 750 }
773 751
774 void InstantLoader::ProcessBoundsChange() { 752 void InstantLoader::ProcessBoundsChange() {
775 if (last_omnibox_bounds_ == omnibox_bounds_) 753 if (last_omnibox_bounds_ == omnibox_bounds_)
776 return; 754 return;
777 755
778 last_omnibox_bounds_ = omnibox_bounds_; 756 last_omnibox_bounds_ = omnibox_bounds_;
779 if (preview_contents_.get() && is_showing_instant() && 757 if (preview_contents_.get() && is_showing_instant() &&
780 !is_waiting_for_load()) { 758 !is_waiting_for_load()) {
781 preview_contents_->render_view_host()->SearchBoxResize( 759 preview_contents_->render_view_host()->SearchBoxResize(
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
816 Source<NavigationController>(&preview_contents_->controller())); 794 Source<NavigationController>(&preview_contents_->controller()));
817 #endif 795 #endif
818 796
819 registrar_.Add( 797 registrar_.Add(
820 this, 798 this,
821 NotificationType::NAV_ENTRY_COMMITTED, 799 NotificationType::NAV_ENTRY_COMMITTED,
822 Source<NavigationController>(&preview_contents_->controller())); 800 Source<NavigationController>(&preview_contents_->controller()));
823 801
824 preview_contents_->tab_contents()->ShowContents(); 802 preview_contents_->tab_contents()->ShowContents();
825 } 803 }
OLDNEW
« no previous file with comments | « chrome/browser/instant/instant_loader.h ('k') | chrome/browser/instant/instant_loader_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698