| OLD | NEW |
| 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 <algorithm> | 7 #include <algorithm> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <utility> | 9 #include <utility> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 266 const string16& error_description, | 266 const string16& error_description, |
| 267 content::RenderViewHost* render_view_host) OVERRIDE; | 267 content::RenderViewHost* render_view_host) OVERRIDE; |
| 268 | 268 |
| 269 private: | 269 private: |
| 270 typedef std::vector<scoped_refptr<history::HistoryAddPageArgs> > | 270 typedef std::vector<scoped_refptr<history::HistoryAddPageArgs> > |
| 271 AddPageVector; | 271 AddPageVector; |
| 272 | 272 |
| 273 // Message from renderer indicating the page has suggestions. | 273 // Message from renderer indicating the page has suggestions. |
| 274 void OnSetSuggestions( | 274 void OnSetSuggestions( |
| 275 int32 page_id, | 275 int32 page_id, |
| 276 const std::vector<std::string>& suggestions, | 276 const std::vector<InstantSuggestion>& suggestions); |
| 277 InstantCompleteBehavior behavior); | |
| 278 | 277 |
| 279 // Messages from the renderer when we've determined whether the page supports | 278 // Messages from the renderer when we've determined whether the page supports |
| 280 // instant. | 279 // instant. |
| 281 void OnInstantSupportDetermined(int32 page_id, bool result); | 280 void OnInstantSupportDetermined(int32 page_id, bool result); |
| 282 | 281 |
| 283 // Commits, if applicable, on mouse is released, or a gesture ends. | 282 // Commits, if applicable, on mouse is released, or a gesture ends. |
| 284 void CommitOnPointerReleaseIfNecessary(); | 283 void CommitOnPointerReleaseIfNecessary(); |
| 285 | 284 |
| 286 InstantLoader* loader_; | 285 InstantLoader* loader_; |
| 287 | 286 |
| (...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 591 if (validated_url == loader_->url_) { | 590 if (validated_url == loader_->url_) { |
| 592 // This typically happens with downloads (which are disabled with | 591 // This typically happens with downloads (which are disabled with |
| 593 // instant active). To ensure the download happens when the user presses | 592 // instant active). To ensure the download happens when the user presses |
| 594 // enter we set needs_reload_ to true, which triggers a reload. | 593 // enter we set needs_reload_ to true, which triggers a reload. |
| 595 loader_->needs_reload_ = true; | 594 loader_->needs_reload_ = true; |
| 596 } | 595 } |
| 597 } | 596 } |
| 598 | 597 |
| 599 void InstantLoader::WebContentsDelegateImpl::OnSetSuggestions( | 598 void InstantLoader::WebContentsDelegateImpl::OnSetSuggestions( |
| 600 int32 page_id, | 599 int32 page_id, |
| 601 const std::vector<std::string>& suggestions, | 600 const std::vector<InstantSuggestion>& suggestions) { |
| 602 InstantCompleteBehavior behavior) { | |
| 603 TabContents* source = loader_->preview_contents(); | 601 TabContents* source = loader_->preview_contents(); |
| 604 NavigationEntry* entry = | 602 NavigationEntry* entry = |
| 605 source->web_contents()->GetController().GetActiveEntry(); | 603 source->web_contents()->GetController().GetActiveEntry(); |
| 606 if (!entry || page_id != entry->GetPageID()) | 604 if (!entry || page_id != entry->GetPageID()) |
| 607 return; | 605 return; |
| 608 | 606 |
| 609 if (suggestions.empty()) | 607 if (suggestions.empty()) |
| 610 loader_->SetCompleteSuggestedText(string16(), behavior); | 608 loader_->SetCompleteSuggestedText(string16(), INSTANT_COMPLETE_NOW); |
| 611 else | 609 else |
| 612 loader_->SetCompleteSuggestedText(UTF8ToUTF16(suggestions[0]), behavior); | 610 loader_->SetCompleteSuggestedText(UTF8ToUTF16(suggestions[0].text), |
| 611 suggestions[0].behavior); |
| 613 } | 612 } |
| 614 | 613 |
| 615 void InstantLoader::WebContentsDelegateImpl::OnInstantSupportDetermined( | 614 void InstantLoader::WebContentsDelegateImpl::OnInstantSupportDetermined( |
| 616 int32 page_id, | 615 int32 page_id, |
| 617 bool result) { | 616 bool result) { |
| 618 WebContents* source = loader_->preview_contents()->web_contents(); | 617 WebContents* source = loader_->preview_contents()->web_contents(); |
| 619 if (!source->GetController().GetActiveEntry() || | 618 if (!source->GetController().GetActiveEntry() || |
| 620 page_id != source->GetController().GetActiveEntry()->GetPageID()) | 619 page_id != source->GetController().GetActiveEntry()->GetPageID()) |
| 621 return; | 620 return; |
| 622 | 621 |
| (...skipping 570 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1193 host->Send(new ChromeViewMsg_SearchBoxResize( | 1192 host->Send(new ChromeViewMsg_SearchBoxResize( |
| 1194 host->GetRoutingID(), GetOmniboxBoundsInTermsOfPreview())); | 1193 host->GetRoutingID(), GetOmniboxBoundsInTermsOfPreview())); |
| 1195 } else { | 1194 } else { |
| 1196 host->Send(new ChromeViewMsg_SearchBoxChange( | 1195 host->Send(new ChromeViewMsg_SearchBoxChange( |
| 1197 host->GetRoutingID(), user_text, verbatim, 0, 0)); | 1196 host->GetRoutingID(), user_text, verbatim, 0, 0)); |
| 1198 } | 1197 } |
| 1199 | 1198 |
| 1200 frame_load_observer_.reset(new FrameLoadObserver( | 1199 frame_load_observer_.reset(new FrameLoadObserver( |
| 1201 this, preview_contents()->web_contents(), user_text, verbatim)); | 1200 this, preview_contents()->web_contents(), user_text, verbatim)); |
| 1202 } | 1201 } |
| OLD | NEW |