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

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

Issue 11369137: Implement {Start,Stop}CapturingKeyStrokes for Instant. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Fix which active tab we use. Created 8 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 #include "chrome/browser/instant/instant_loader.h" 5 #include "chrome/browser/instant/instant_loader.h"
6 6
7 #include "chrome/browser/content_settings/tab_specific_content_settings.h" 7 #include "chrome/browser/content_settings/tab_specific_content_settings.h"
8 #include "chrome/browser/instant/instant_controller.h" 8 #include "chrome/browser/instant/instant_controller.h"
9 #include "chrome/browser/profiles/profile.h" 9 #include "chrome/browser/profiles/profile.h"
10 #include "chrome/browser/thumbnails/thumbnail_tab_helper.h" 10 #include "chrome/browser/thumbnails/thumbnail_tab_helper.h"
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; 87 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
88 88
89 private: 89 private:
90 // Message from renderer indicating the page has suggestions. 90 // Message from renderer indicating the page has suggestions.
91 void OnSetSuggestions(int page_id, 91 void OnSetSuggestions(int page_id,
92 const std::vector<InstantSuggestion>& suggestions); 92 const std::vector<InstantSuggestion>& suggestions);
93 93
94 // Message from the renderer determining whether it supports the Instant API. 94 // Message from the renderer determining whether it supports the Instant API.
95 void OnInstantSupportDetermined(int page_id, bool result); 95 void OnInstantSupportDetermined(int page_id, bool result);
96 96
97 // Message from the renderer saying the web searchbox lost focus.
98 void OnWebSearchBoxBlur(int page_id);
99
100 // Message from the renderer saying the web searchbox received focus.
101 void OnWebSearchBoxFocus(int page_id);
102
97 // Message from the renderer requesting the preview be shown. 103 // Message from the renderer requesting the preview be shown.
98 void OnShowInstantPreview(int page_id, 104 void OnShowInstantPreview(int page_id,
99 InstantShownReason reason, 105 InstantShownReason reason,
100 int height, 106 int height,
101 InstantSizeUnits units); 107 InstantSizeUnits units);
102 108
103 void CommitFromPointerReleaseIfNecessary(); 109 void CommitFromPointerReleaseIfNecessary();
104 void MaybeSetAndNotifyInstantSupportDetermined(bool supports_instant); 110 void MaybeSetAndNotifyInstantSupportDetermined(bool supports_instant);
105 111
106 InstantLoader* const loader_; 112 InstantLoader* const loader_;
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 } 207 }
202 } 208 }
203 209
204 bool InstantLoader::WebContentsDelegateImpl::OnMessageReceived( 210 bool InstantLoader::WebContentsDelegateImpl::OnMessageReceived(
205 const IPC::Message& message) { 211 const IPC::Message& message) {
206 bool handled = true; 212 bool handled = true;
207 IPC_BEGIN_MESSAGE_MAP(WebContentsDelegateImpl, message) 213 IPC_BEGIN_MESSAGE_MAP(WebContentsDelegateImpl, message)
208 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_SetSuggestions, OnSetSuggestions) 214 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_SetSuggestions, OnSetSuggestions)
209 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_InstantSupportDetermined, 215 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_InstantSupportDetermined,
210 OnInstantSupportDetermined) 216 OnInstantSupportDetermined)
217 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_OnWebSearchBoxBlur,
218 OnWebSearchBoxBlur);
219 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_OnWebSearchBoxFocus,
220 OnWebSearchBoxFocus);
211 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_ShowInstantPreview, 221 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_ShowInstantPreview,
212 OnShowInstantPreview); 222 OnShowInstantPreview);
213 IPC_MESSAGE_UNHANDLED(handled = false) 223 IPC_MESSAGE_UNHANDLED(handled = false)
214 IPC_END_MESSAGE_MAP() 224 IPC_END_MESSAGE_MAP()
215 return handled; 225 return handled;
216 } 226 }
217 227
218 void InstantLoader::WebContentsDelegateImpl::OnSetSuggestions( 228 void InstantLoader::WebContentsDelegateImpl::OnSetSuggestions(
219 int page_id, 229 int page_id,
220 const std::vector<InstantSuggestion>& suggestions) { 230 const std::vector<InstantSuggestion>& suggestions) {
(...skipping 11 matching lines...) Expand all
232 int page_id, 242 int page_id,
233 bool result) { 243 bool result) {
234 DCHECK(loader_->preview_contents()); 244 DCHECK(loader_->preview_contents());
235 DCHECK(loader_->preview_contents_->web_contents()); 245 DCHECK(loader_->preview_contents_->web_contents());
236 content::NavigationEntry* entry = loader_->preview_contents_->web_contents()-> 246 content::NavigationEntry* entry = loader_->preview_contents_->web_contents()->
237 GetController().GetActiveEntry(); 247 GetController().GetActiveEntry();
238 if (entry && page_id == entry->GetPageID()) 248 if (entry && page_id == entry->GetPageID())
239 MaybeSetAndNotifyInstantSupportDetermined(result); 249 MaybeSetAndNotifyInstantSupportDetermined(result);
240 } 250 }
241 251
252 void InstantLoader::WebContentsDelegateImpl::OnWebSearchBoxBlur(int page_id) {
253 DCHECK(loader_->preview_contents());
254 DCHECK(loader_->preview_contents_->web_contents());
255 content::NavigationEntry* entry = loader_->preview_contents_->web_contents()->
256 GetController().GetActiveEntry();
257 if (entry && page_id == entry->GetPageID()) {
258 MaybeSetAndNotifyInstantSupportDetermined(true);
259 loader_->controller_->OnWebSearchBoxBlur(loader_);
260 }
261 }
262
263 void InstantLoader::WebContentsDelegateImpl::OnWebSearchBoxFocus(int page_id) {
264 DCHECK(loader_->preview_contents());
265 DCHECK(loader_->preview_contents_->web_contents());
266 content::NavigationEntry* entry = loader_->preview_contents_->web_contents()->
267 GetController().GetActiveEntry();
268 if (entry && page_id == entry->GetPageID()) {
269 MaybeSetAndNotifyInstantSupportDetermined(true);
270 loader_->controller_->OnWebSearchBoxFocus(loader_);
271 }
272 }
273
242 void InstantLoader::WebContentsDelegateImpl::OnShowInstantPreview( 274 void InstantLoader::WebContentsDelegateImpl::OnShowInstantPreview(
243 int page_id, 275 int page_id,
244 InstantShownReason reason, 276 InstantShownReason reason,
245 int height, 277 int height,
246 InstantSizeUnits units) { 278 InstantSizeUnits units) {
247 DCHECK(loader_->preview_contents()); 279 DCHECK(loader_->preview_contents());
248 DCHECK(loader_->preview_contents_->web_contents()); 280 DCHECK(loader_->preview_contents_->web_contents());
249 content::NavigationEntry* entry = loader_->preview_contents_->web_contents()-> 281 content::NavigationEntry* entry = loader_->preview_contents_->web_contents()->
250 GetController().GetActiveEntry(); 282 GetController().GetActiveEntry();
251 if (entry && page_id == entry->GetPageID()) { 283 if (entry && page_id == entry->GetPageID()) {
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
468 content::WebContents* new_contents) { 500 content::WebContents* new_contents) {
469 DCHECK_EQ(old_contents, preview_contents_->web_contents()); 501 DCHECK_EQ(old_contents, preview_contents_->web_contents());
470 CleanupPreviewContents(); 502 CleanupPreviewContents();
471 // We release here without deleting so that the caller still has the 503 // We release here without deleting so that the caller still has the
472 // responsibility for deleting the TabContents. 504 // responsibility for deleting the TabContents.
473 ignore_result(preview_contents_.release()); 505 ignore_result(preview_contents_.release());
474 preview_contents_.reset(TabContents::FromWebContents(new_contents)); 506 preview_contents_.reset(TabContents::FromWebContents(new_contents));
475 SetupPreviewContents(); 507 SetupPreviewContents();
476 controller_->SwappedTabContents(this); 508 controller_->SwappedTabContents(this);
477 } 509 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698