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

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

Issue 7327007: Moving notification types which are chrome specific to a new header file chrome_notification_type... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 5 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
« no previous file with comments | « chrome/browser/instant/instant_loader.h ('k') | chrome/browser/memory_purger.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) 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>
11 11
12 #include "base/command_line.h" 12 #include "base/command_line.h"
13 #include "base/i18n/case_conversion.h" 13 #include "base/i18n/case_conversion.h"
14 #include "base/string_number_conversions.h" 14 #include "base/string_number_conversions.h"
15 #include "base/timer.h" 15 #include "base/timer.h"
16 #include "base/utf_string_conversions.h" 16 #include "base/utf_string_conversions.h"
17 #include "base/values.h" 17 #include "base/values.h"
18 #include "chrome/browser/favicon/favicon_service.h" 18 #include "chrome/browser/favicon/favicon_service.h"
19 #include "chrome/browser/history/history_marshaling.h" 19 #include "chrome/browser/history/history_marshaling.h"
20 #include "chrome/browser/history/history_tab_helper.h" 20 #include "chrome/browser/history/history_tab_helper.h"
21 #include "chrome/browser/instant/instant_loader_delegate.h" 21 #include "chrome/browser/instant/instant_loader_delegate.h"
22 #include "chrome/browser/profiles/profile.h" 22 #include "chrome/browser/profiles/profile.h"
23 #include "chrome/browser/search_engines/template_url.h" 23 #include "chrome/browser/search_engines/template_url.h"
24 #include "chrome/browser/ui/blocked_content/blocked_content_tab_helper.h" 24 #include "chrome/browser/ui/blocked_content/blocked_content_tab_helper.h"
25 #include "chrome/browser/ui/download/download_tab_helper.h" 25 #include "chrome/browser/ui/download/download_tab_helper.h"
26 #include "chrome/browser/ui/download/download_tab_helper_delegate.h" 26 #include "chrome/browser/ui/download/download_tab_helper_delegate.h"
27 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" 27 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
28 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper_delegate.h" 28 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper_delegate.h"
29 #include "chrome/common/chrome_notification_types.h"
29 #include "chrome/common/chrome_switches.h" 30 #include "chrome/common/chrome_switches.h"
30 #include "chrome/common/render_messages.h" 31 #include "chrome/common/render_messages.h"
31 #include "content/browser/renderer_host/render_view_host.h" 32 #include "content/browser/renderer_host/render_view_host.h"
32 #include "content/browser/renderer_host/render_widget_host.h" 33 #include "content/browser/renderer_host/render_widget_host.h"
33 #include "content/browser/renderer_host/render_widget_host_view.h" 34 #include "content/browser/renderer_host/render_widget_host_view.h"
34 #include "content/browser/tab_contents/navigation_details.h" 35 #include "content/browser/tab_contents/navigation_details.h"
35 #include "content/browser/tab_contents/navigation_entry.h" 36 #include "content/browser/tab_contents/navigation_entry.h"
36 #include "content/browser/tab_contents/provisional_load_details.h" 37 #include "content/browser/tab_contents/provisional_load_details.h"
37 #include "content/browser/tab_contents/tab_contents.h" 38 #include "content/browser/tab_contents/tab_contents.h"
38 #include "content/browser/tab_contents/tab_contents_delegate.h" 39 #include "content/browser/tab_contents/tab_contents_delegate.h"
39 #include "content/browser/tab_contents/tab_contents_view.h" 40 #include "content/browser/tab_contents/tab_contents_view.h"
41 #include "content/common/content_notification_types.h"
40 #include "content/common/notification_details.h" 42 #include "content/common/notification_details.h"
41 #include "content/common/notification_observer.h" 43 #include "content/common/notification_observer.h"
42 #include "content/common/notification_registrar.h" 44 #include "content/common/notification_registrar.h"
43 #include "content/common/notification_service.h" 45 #include "content/common/notification_service.h"
44 #include "content/common/notification_source.h" 46 #include "content/common/notification_source.h"
45 #include "content/common/notification_type.h"
46 #include "content/common/page_transition_types.h" 47 #include "content/common/page_transition_types.h"
47 #include "content/common/renderer_preferences.h" 48 #include "content/common/renderer_preferences.h"
48 #include "net/http/http_util.h" 49 #include "net/http/http_util.h"
49 #include "ui/base/l10n/l10n_util.h" 50 #include "ui/base/l10n/l10n_util.h"
50 #include "ui/gfx/codec/png_codec.h" 51 #include "ui/gfx/codec/png_codec.h"
51 52
52 namespace { 53 namespace {
53 54
54 // Number of ms to delay before updating the omnibox bounds. This is only used 55 // Number of ms to delay before updating the omnibox bounds. This is only used
55 // when the bounds of the omnibox shrinks. If the bounds grows, we update 56 // when the bounds of the omnibox shrinks. If the bounds grows, we update
(...skipping 15 matching lines...) Expand all
71 public: 72 public:
72 FrameLoadObserver(InstantLoader* loader, 73 FrameLoadObserver(InstantLoader* loader,
73 TabContents* tab_contents, 74 TabContents* tab_contents,
74 const string16& text, 75 const string16& text,
75 bool verbatim) 76 bool verbatim)
76 : loader_(loader), 77 : loader_(loader),
77 tab_contents_(tab_contents), 78 tab_contents_(tab_contents),
78 text_(text), 79 text_(text),
79 verbatim_(verbatim), 80 verbatim_(verbatim),
80 unique_id_(tab_contents_->controller().pending_entry()->unique_id()) { 81 unique_id_(tab_contents_->controller().pending_entry()->unique_id()) {
81 registrar_.Add(this, NotificationType::LOAD_COMPLETED_MAIN_FRAME, 82 registrar_.Add(this, content::NOTIFICATION_LOAD_COMPLETED_MAIN_FRAME,
82 Source<TabContents>(tab_contents_)); 83 Source<TabContents>(tab_contents_));
83 } 84 }
84 85
85 // Sets the text to send to the page. 86 // Sets the text to send to the page.
86 void set_text(const string16& text) { text_ = text; } 87 void set_text(const string16& text) { text_ = text; }
87 88
88 // Sets whether verbatim results are obtained rather than predictive. 89 // Sets whether verbatim results are obtained rather than predictive.
89 void set_verbatim(bool verbatim) { verbatim_ = verbatim; } 90 void set_verbatim(bool verbatim) { verbatim_ = verbatim; }
90 91
91 // NotificationObserver: 92 // NotificationObserver:
92 virtual void Observe(NotificationType type, 93 virtual void Observe(int type,
93 const NotificationSource& source, 94 const NotificationSource& source,
94 const NotificationDetails& details) OVERRIDE; 95 const NotificationDetails& details) OVERRIDE;
95 96
96 private: 97 private:
97 InstantLoader* loader_; 98 InstantLoader* loader_;
98 99
99 // The TabContents we're listening for changes on. 100 // The TabContents we're listening for changes on.
100 TabContents* tab_contents_; 101 TabContents* tab_contents_;
101 102
102 // Text to send down to the page. 103 // Text to send down to the page.
103 string16 text_; 104 string16 text_;
104 105
105 // Whether verbatim results are obtained. 106 // Whether verbatim results are obtained.
106 bool verbatim_; 107 bool verbatim_;
107 108
108 // unique_id of the NavigationEntry we're waiting on. 109 // unique_id of the NavigationEntry we're waiting on.
109 const int unique_id_; 110 const int unique_id_;
110 111
111 // Registers and unregisters us for notifications. 112 // Registers and unregisters us for notifications.
112 NotificationRegistrar registrar_; 113 NotificationRegistrar registrar_;
113 114
114 DISALLOW_COPY_AND_ASSIGN(FrameLoadObserver); 115 DISALLOW_COPY_AND_ASSIGN(FrameLoadObserver);
115 }; 116 };
116 117
117 void InstantLoader::FrameLoadObserver::Observe( 118 void InstantLoader::FrameLoadObserver::Observe(
118 NotificationType type, 119 int type,
119 const NotificationSource& source, 120 const NotificationSource& source,
120 const NotificationDetails& details) { 121 const NotificationDetails& details) {
121 switch (type.value) { 122 switch (type) {
122 case NotificationType::LOAD_COMPLETED_MAIN_FRAME: { 123 case content::NOTIFICATION_LOAD_COMPLETED_MAIN_FRAME: {
123 int page_id = *(Details<int>(details).ptr()); 124 int page_id = *(Details<int>(details).ptr());
124 NavigationEntry* active_entry = 125 NavigationEntry* active_entry =
125 tab_contents_->controller().GetActiveEntry(); 126 tab_contents_->controller().GetActiveEntry();
126 if (!active_entry || active_entry->page_id() != page_id || 127 if (!active_entry || active_entry->page_id() != page_id ||
127 active_entry->unique_id() != unique_id_) { 128 active_entry->unique_id() != unique_id_) {
128 return; 129 return;
129 } 130 }
130 loader_->SendBoundsToPage(true); 131 loader_->SendBoundsToPage(true);
131 // TODO: support real cursor position. 132 // TODO: support real cursor position.
132 int text_length = static_cast<int>(text_.size()); 133 int text_length = static_cast<int>(text_.size());
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 void SetLastHistoryURLAndPrune(const GURL& url); 170 void SetLastHistoryURLAndPrune(const GURL& url);
170 171
171 // Commits the currently buffered history. 172 // Commits the currently buffered history.
172 void CommitHistory(bool supports_instant); 173 void CommitHistory(bool supports_instant);
173 174
174 void RegisterForPaintNotifications(RenderWidgetHost* render_widget_host); 175 void RegisterForPaintNotifications(RenderWidgetHost* render_widget_host);
175 176
176 void UnregisterForPaintNotifications(); 177 void UnregisterForPaintNotifications();
177 178
178 // NotificationObserver: 179 // NotificationObserver:
179 virtual void Observe(NotificationType type, 180 virtual void Observe(int type,
180 const NotificationSource& source, 181 const NotificationSource& source,
181 const NotificationDetails& details) OVERRIDE; 182 const NotificationDetails& details) OVERRIDE;
182 183
183 // TabContentsDelegate: 184 // TabContentsDelegate:
184 virtual void NavigationStateChanged(const TabContents* source, 185 virtual void NavigationStateChanged(const TabContents* source,
185 unsigned changed_flags) OVERRIDE; 186 unsigned changed_flags) OVERRIDE;
186 virtual std::string GetNavigationHeaders(const GURL& url) OVERRIDE; 187 virtual std::string GetNavigationHeaders(const GURL& url) OVERRIDE;
187 virtual bool ShouldFocusConstrainedWindow() OVERRIDE; 188 virtual bool ShouldFocusConstrainedWindow() OVERRIDE;
188 virtual void WillShowConstrainedWindow(TabContents* source) OVERRIDE; 189 virtual void WillShowConstrainedWindow(TabContents* source) OVERRIDE;
189 virtual bool ShouldSuppressDialogs() OVERRIDE; 190 virtual bool ShouldSuppressDialogs() OVERRIDE;
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 262
262 InstantLoader::TabContentsDelegateImpl::TabContentsDelegateImpl( 263 InstantLoader::TabContentsDelegateImpl::TabContentsDelegateImpl(
263 InstantLoader* loader) 264 InstantLoader* loader)
264 : TabContentsObserver(loader->preview_contents()->tab_contents()), 265 : TabContentsObserver(loader->preview_contents()->tab_contents()),
265 loader_(loader), 266 loader_(loader),
266 registered_render_widget_host_(NULL), 267 registered_render_widget_host_(NULL),
267 waiting_for_new_page_(true), 268 waiting_for_new_page_(true),
268 is_mouse_down_from_activate_(false), 269 is_mouse_down_from_activate_(false),
269 user_typed_before_load_(false) { 270 user_typed_before_load_(false) {
270 DCHECK(loader->preview_contents()); 271 DCHECK(loader->preview_contents());
271 registrar_.Add(this, NotificationType::INTERSTITIAL_ATTACHED, 272 registrar_.Add(this, content::NOTIFICATION_INTERSTITIAL_ATTACHED,
272 Source<TabContents>(loader->preview_contents()->tab_contents())); 273 Source<TabContents>(loader->preview_contents()->tab_contents()));
273 registrar_.Add(this, NotificationType::FAIL_PROVISIONAL_LOAD_WITH_ERROR, 274 registrar_.Add(this, content::NOTIFICATION_FAIL_PROVISIONAL_LOAD_WITH_ERROR,
274 Source<NavigationController>(&loader->preview_contents()->controller())); 275 Source<NavigationController>(&loader->preview_contents()->controller()));
275 } 276 }
276 277
277 void InstantLoader::TabContentsDelegateImpl::PrepareForNewLoad() { 278 void InstantLoader::TabContentsDelegateImpl::PrepareForNewLoad() {
278 user_typed_before_load_ = false; 279 user_typed_before_load_ = false;
279 waiting_for_new_page_ = true; 280 waiting_for_new_page_ = true;
280 add_page_vector_.clear(); 281 add_page_vector_.clear();
281 UnregisterForPaintNotifications(); 282 UnregisterForPaintNotifications();
282 } 283 }
283 284
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
347 } 348 }
348 } 349 }
349 } 350 }
350 351
351 void InstantLoader::TabContentsDelegateImpl::RegisterForPaintNotifications( 352 void InstantLoader::TabContentsDelegateImpl::RegisterForPaintNotifications(
352 RenderWidgetHost* render_widget_host) { 353 RenderWidgetHost* render_widget_host) {
353 DCHECK(registered_render_widget_host_ == NULL); 354 DCHECK(registered_render_widget_host_ == NULL);
354 registered_render_widget_host_ = render_widget_host; 355 registered_render_widget_host_ = render_widget_host;
355 Source<RenderWidgetHost> source = 356 Source<RenderWidgetHost> source =
356 Source<RenderWidgetHost>(registered_render_widget_host_); 357 Source<RenderWidgetHost>(registered_render_widget_host_);
357 registrar_.Add(this, NotificationType::RENDER_WIDGET_HOST_DID_PAINT, 358 registrar_.Add(this, content::NOTIFICATION_RENDER_WIDGET_HOST_DID_PAINT,
358 source); 359 source);
359 registrar_.Add(this, NotificationType::RENDER_WIDGET_HOST_DESTROYED, 360 registrar_.Add(this, content::NOTIFICATION_RENDER_WIDGET_HOST_DESTROYED,
360 source); 361 source);
361 } 362 }
362 363
363 void InstantLoader::TabContentsDelegateImpl::UnregisterForPaintNotifications() { 364 void InstantLoader::TabContentsDelegateImpl::UnregisterForPaintNotifications() {
364 if (registered_render_widget_host_) { 365 if (registered_render_widget_host_) {
365 Source<RenderWidgetHost> source = 366 Source<RenderWidgetHost> source =
366 Source<RenderWidgetHost>(registered_render_widget_host_); 367 Source<RenderWidgetHost>(registered_render_widget_host_);
367 registrar_.Remove(this, NotificationType::RENDER_WIDGET_HOST_DID_PAINT, 368 registrar_.Remove(this, content::NOTIFICATION_RENDER_WIDGET_HOST_DID_PAINT,
368 source); 369 source);
369 registrar_.Remove(this, NotificationType::RENDER_WIDGET_HOST_DESTROYED, 370 registrar_.Remove(this, content::NOTIFICATION_RENDER_WIDGET_HOST_DESTROYED,
370 source); 371 source);
371 registered_render_widget_host_ = NULL; 372 registered_render_widget_host_ = NULL;
372 } 373 }
373 } 374 }
374 375
375 void InstantLoader::TabContentsDelegateImpl::Observe( 376 void InstantLoader::TabContentsDelegateImpl::Observe(
376 NotificationType type, 377 int type,
377 const NotificationSource& source, 378 const NotificationSource& source,
378 const NotificationDetails& details) { 379 const NotificationDetails& details) {
379 switch (type.value) { 380 switch (type) {
380 case NotificationType::FAIL_PROVISIONAL_LOAD_WITH_ERROR: 381 case content::NOTIFICATION_FAIL_PROVISIONAL_LOAD_WITH_ERROR:
381 if (Details<ProvisionalLoadDetails>(details)->url() == loader_->url_) { 382 if (Details<ProvisionalLoadDetails>(details)->url() == loader_->url_) {
382 // This typically happens with downloads (which are disabled with 383 // This typically happens with downloads (which are disabled with
383 // instant active). To ensure the download happens when the user presses 384 // instant active). To ensure the download happens when the user presses
384 // enter we set needs_reload_ to true, which triggers a reload. 385 // enter we set needs_reload_ to true, which triggers a reload.
385 loader_->needs_reload_ = true; 386 loader_->needs_reload_ = true;
386 } 387 }
387 break; 388 break;
388 case NotificationType::RENDER_WIDGET_HOST_DID_PAINT: 389 case content::NOTIFICATION_RENDER_WIDGET_HOST_DID_PAINT:
389 UnregisterForPaintNotifications(); 390 UnregisterForPaintNotifications();
390 PreviewPainted(); 391 PreviewPainted();
391 break; 392 break;
392 case NotificationType::RENDER_WIDGET_HOST_DESTROYED: 393 case content::NOTIFICATION_RENDER_WIDGET_HOST_DESTROYED:
393 UnregisterForPaintNotifications(); 394 UnregisterForPaintNotifications();
394 break; 395 break;
395 case NotificationType::INTERSTITIAL_ATTACHED: 396 case content::NOTIFICATION_INTERSTITIAL_ATTACHED:
396 PreviewPainted(); 397 PreviewPainted();
397 break; 398 break;
398 default: 399 default:
399 NOTREACHED() << "Got a notification we didn't register for."; 400 NOTREACHED() << "Got a notification we didn't register for.";
400 } 401 }
401 } 402 }
402 403
403 void InstantLoader::TabContentsDelegateImpl::NavigationStateChanged( 404 void InstantLoader::TabContentsDelegateImpl::NavigationStateChanged(
404 const TabContents* source, 405 const TabContents* source,
405 unsigned changed_flags) { 406 unsigned changed_flags) {
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
544 void InstantLoader::TabContentsDelegateImpl::OnInstantSupportDetermined( 545 void InstantLoader::TabContentsDelegateImpl::OnInstantSupportDetermined(
545 int32 page_id, 546 int32 page_id,
546 bool result) { 547 bool result) {
547 TabContents* source = loader_->preview_contents()->tab_contents(); 548 TabContents* source = loader_->preview_contents()->tab_contents();
548 if (!source->controller().GetActiveEntry() || 549 if (!source->controller().GetActiveEntry() ||
549 page_id != source->controller().GetActiveEntry()->page_id()) 550 page_id != source->controller().GetActiveEntry()->page_id())
550 return; 551 return;
551 552
552 Details<const bool> details(&result); 553 Details<const bool> details(&result);
553 NotificationService::current()->Notify( 554 NotificationService::current()->Notify(
554 NotificationType::INSTANT_SUPPORT_DETERMINED, 555 chrome::NOTIFICATION_INSTANT_SUPPORT_DETERMINED,
555 NotificationService::AllSources(), 556 NotificationService::AllSources(),
556 details); 557 details);
557 558
558 if (result) 559 if (result)
559 loader_->PageFinishedLoading(); 560 loader_->PageFinishedLoading();
560 else 561 else
561 loader_->PageDoesntSupportInstant(user_typed_before_load_); 562 loader_->PageDoesntSupportInstant(user_typed_before_load_);
562 } 563 }
563 564
564 void InstantLoader::TabContentsDelegateImpl 565 void InstantLoader::TabContentsDelegateImpl
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
740 preview_tab_contents_delegate_->SetLastHistoryURLAndPrune(url); 741 preview_tab_contents_delegate_->SetLastHistoryURLAndPrune(url);
741 } 742 }
742 preview_tab_contents_delegate_->CommitHistory(template_url_id_ != 0); 743 preview_tab_contents_delegate_->CommitHistory(template_url_id_ != 0);
743 } 744 }
744 if (preview_contents_->tab_contents()->GetRenderWidgetHostView()) { 745 if (preview_contents_->tab_contents()->GetRenderWidgetHostView()) {
745 #if defined(OS_MACOSX) 746 #if defined(OS_MACOSX)
746 preview_contents_->tab_contents()->GetRenderWidgetHostView()-> 747 preview_contents_->tab_contents()->GetRenderWidgetHostView()->
747 SetTakesFocusOnlyOnMouseDown(false); 748 SetTakesFocusOnlyOnMouseDown(false);
748 registrar_.Remove( 749 registrar_.Remove(
749 this, 750 this,
750 NotificationType::RENDER_VIEW_HOST_CHANGED, 751 chrome::RENDER_VIEW_HOST_CHANGED,
751 Source<NavigationController>(&preview_contents_->controller())); 752 Source<NavigationController>(&preview_contents_->controller()));
752 #endif 753 #endif
753 } 754 }
754 preview_contents_->tab_contents()->set_delegate(NULL); 755 preview_contents_->tab_contents()->set_delegate(NULL);
755 preview_contents_->download_tab_helper()->set_delegate(NULL); 756 preview_contents_->download_tab_helper()->set_delegate(NULL);
756 ready_ = false; 757 ready_ = false;
757 } 758 }
758 update_bounds_timer_.Stop(); 759 update_bounds_timer_.Stop();
759 return preview_contents_.release(); 760 return preview_contents_.release();
760 } 761 }
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
846 delegate_->InstantStatusChanged(this); 847 delegate_->InstantStatusChanged(this);
847 } 848 }
848 849
849 void InstantLoader::ShowPreview() { 850 void InstantLoader::ShowPreview() {
850 if (!ready_) { 851 if (!ready_) {
851 ready_ = true; 852 ready_ = true;
852 delegate_->InstantStatusChanged(this); 853 delegate_->InstantStatusChanged(this);
853 } 854 }
854 } 855 }
855 856
856 void InstantLoader::Observe(NotificationType type, 857 void InstantLoader::Observe(int type,
857 const NotificationSource& source, 858 const NotificationSource& source,
858 const NotificationDetails& details) { 859 const NotificationDetails& details) {
859 #if defined(OS_MACOSX) 860 #if defined(OS_MACOSX)
860 if (type.value == NotificationType::RENDER_VIEW_HOST_CHANGED) { 861 if (type == chrome::RENDER_VIEW_HOST_CHANGED) {
861 if (preview_contents_->tab_contents()->GetRenderWidgetHostView()) { 862 if (preview_contents_->tab_contents()->GetRenderWidgetHostView()) {
862 preview_contents_->tab_contents()->GetRenderWidgetHostView()-> 863 preview_contents_->tab_contents()->GetRenderWidgetHostView()->
863 SetTakesFocusOnlyOnMouseDown(true); 864 SetTakesFocusOnlyOnMouseDown(true);
864 } 865 }
865 return; 866 return;
866 } 867 }
867 #endif 868 #endif
868 if (type.value == NotificationType::NAV_ENTRY_COMMITTED) { 869 if (type == content::NOTIFICATION_NAV_ENTRY_COMMITTED) {
869 content::LoadCommittedDetails* load_details = 870 content::LoadCommittedDetails* load_details =
870 Details<content::LoadCommittedDetails>(details).ptr(); 871 Details<content::LoadCommittedDetails>(details).ptr();
871 if (load_details->is_main_frame) { 872 if (load_details->is_main_frame) {
872 if (load_details->http_status_code == kHostBlacklistStatusCode) { 873 if (load_details->http_status_code == kHostBlacklistStatusCode) {
873 delegate_->AddToBlacklist(this, load_details->entry->url()); 874 delegate_->AddToBlacklist(this, load_details->entry->url());
874 } else { 875 } else {
875 SetHTTPStatusOK(load_details->http_status_code == 200); 876 SetHTTPStatusOK(load_details->http_status_code == 200);
876 } 877 }
877 } 878 }
878 return; 879 return;
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
947 // Make sure the new preview contents acts like the old one. 948 // Make sure the new preview contents acts like the old one.
948 SetupPreviewContents(old_tc); 949 SetupPreviewContents(old_tc);
949 950
950 // Cleanup the old preview contents. 951 // Cleanup the old preview contents.
951 old_tc->download_tab_helper()->set_delegate(NULL); 952 old_tc->download_tab_helper()->set_delegate(NULL);
952 old_tc->tab_contents()->set_delegate(NULL); 953 old_tc->tab_contents()->set_delegate(NULL);
953 old_tc->set_delegate(NULL); 954 old_tc->set_delegate(NULL);
954 955
955 #if defined(OS_MACOSX) 956 #if defined(OS_MACOSX)
956 registrar_.Remove(this, 957 registrar_.Remove(this,
957 NotificationType::RENDER_VIEW_HOST_CHANGED, 958 content::NOTIFICATION_RENDER_VIEW_HOST_CHANGED,
958 Source<NavigationController>(&old_tc->controller())); 959 Source<NavigationController>(&old_tc->controller()));
959 #endif 960 #endif
960 registrar_.Remove(this, 961 registrar_.Remove(this,
961 NotificationType::NAV_ENTRY_COMMITTED, 962 content::NOTIFICATION_NAV_ENTRY_COMMITTED,
962 Source<NavigationController>(&old_tc->controller())); 963 Source<NavigationController>(&old_tc->controller()));
963 964
964 // We prerendered so we should be ready to show. If we're ready, swap in 965 // We prerendered so we should be ready to show. If we're ready, swap in
965 // immediately, otherwise show the preview as normal. 966 // immediately, otherwise show the preview as normal.
966 if (ready_) 967 if (ready_)
967 delegate_->SwappedTabContents(this); 968 delegate_->SwappedTabContents(this);
968 else 969 else
969 ShowPreview(); 970 ShowPreview();
970 } 971 }
971 972
(...skipping 16 matching lines...) Expand all
988 #if defined(OS_MACOSX) 989 #if defined(OS_MACOSX)
989 // If |preview_contents_| does not currently have a RWHV, we will call 990 // If |preview_contents_| does not currently have a RWHV, we will call
990 // SetTakesFocusOnlyOnMouseDown() as a result of the 991 // SetTakesFocusOnlyOnMouseDown() as a result of the
991 // RENDER_VIEW_HOST_CHANGED notification. 992 // RENDER_VIEW_HOST_CHANGED notification.
992 if (preview_contents_->tab_contents()->GetRenderWidgetHostView()) { 993 if (preview_contents_->tab_contents()->GetRenderWidgetHostView()) {
993 preview_contents_->tab_contents()->GetRenderWidgetHostView()-> 994 preview_contents_->tab_contents()->GetRenderWidgetHostView()->
994 SetTakesFocusOnlyOnMouseDown(true); 995 SetTakesFocusOnlyOnMouseDown(true);
995 } 996 }
996 registrar_.Add( 997 registrar_.Add(
997 this, 998 this,
998 NotificationType::RENDER_VIEW_HOST_CHANGED, 999 content::NOTIFICATION_RENDER_VIEW_HOST_CHANGED,
999 Source<NavigationController>(&preview_contents_->controller())); 1000 Source<NavigationController>(&preview_contents_->controller()));
1000 #endif 1001 #endif
1001 1002
1002 registrar_.Add( 1003 registrar_.Add(
1003 this, 1004 this,
1004 NotificationType::NAV_ENTRY_COMMITTED, 1005 content::NOTIFICATION_NAV_ENTRY_COMMITTED,
1005 Source<NavigationController>(&preview_contents_->controller())); 1006 Source<NavigationController>(&preview_contents_->controller()));
1006 1007
1007 gfx::Rect tab_bounds; 1008 gfx::Rect tab_bounds;
1008 tab_contents->view()->GetContainerBounds(&tab_bounds); 1009 tab_contents->view()->GetContainerBounds(&tab_bounds);
1009 preview_contents_->view()->SizeContents(tab_bounds.size()); 1010 preview_contents_->view()->SizeContents(tab_bounds.size());
1010 } 1011 }
1011 1012
1012 void InstantLoader::CreatePreviewContents(TabContentsWrapper* tab_contents) { 1013 void InstantLoader::CreatePreviewContents(TabContentsWrapper* tab_contents) {
1013 TabContents* new_contents = 1014 TabContents* new_contents =
1014 new TabContents( 1015 new TabContents(
(...skipping 25 matching lines...) Expand all
1040 CommandLine* cl = CommandLine::ForCurrentProcess(); 1041 CommandLine* cl = CommandLine::ForCurrentProcess();
1041 if (cl->HasSwitch(switches::kInstantURL)) 1042 if (cl->HasSwitch(switches::kInstantURL))
1042 instant_url = GURL(cl->GetSwitchValueASCII(switches::kInstantURL)); 1043 instant_url = GURL(cl->GetSwitchValueASCII(switches::kInstantURL));
1043 preview_contents_->controller().LoadURL(instant_url, GURL(), transition_type); 1044 preview_contents_->controller().LoadURL(instant_url, GURL(), transition_type);
1044 RenderViewHost* host = preview_contents_->render_view_host(); 1045 RenderViewHost* host = preview_contents_->render_view_host();
1045 host->Send(new ViewMsg_SearchBoxChange( 1046 host->Send(new ViewMsg_SearchBoxChange(
1046 host->routing_id(), user_text, verbatim, 0, 0)); 1047 host->routing_id(), user_text, verbatim, 0, 0));
1047 frame_load_observer_.reset(new FrameLoadObserver( 1048 frame_load_observer_.reset(new FrameLoadObserver(
1048 this, preview_contents()->tab_contents(), user_text, verbatim)); 1049 this, preview_contents()->tab_contents(), user_text, verbatim));
1049 } 1050 }
OLDNEW
« no previous file with comments | « chrome/browser/instant/instant_loader.h ('k') | chrome/browser/memory_purger.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698