| Index: chrome/renderer/searchbox.cc
|
| diff --git a/chrome/renderer/searchbox.cc b/chrome/renderer/searchbox.cc
|
| index fc9ee55fc5289d61af8bc23993b92feb40a73711..78bf3ce4604b074f076b39935063859a6c20a6b8 100644
|
| --- a/chrome/renderer/searchbox.cc
|
| +++ b/chrome/renderer/searchbox.cc
|
| @@ -4,6 +4,7 @@
|
|
|
| #include "chrome/renderer/searchbox.h"
|
|
|
| +#include "base/string16.h"
|
| #include "chrome/common/render_messages.h"
|
| #include "chrome/renderer/searchbox_extension.h"
|
| #include "content/public/renderer/render_view.h"
|
| @@ -22,7 +23,7 @@ SearchBox::SearchBox(content::RenderView* render_view)
|
| SearchBox::~SearchBox() {
|
| }
|
|
|
| -void SearchBox::SetSuggestions(const std::vector<std::string>& suggestions,
|
| +void SearchBox::SetSuggestions(const std::vector<string16>& suggestions,
|
| InstantCompleteBehavior behavior) {
|
| // Explicitly allow empty vector to be sent to the browser.
|
| render_view()->Send(new ChromeViewHostMsg_SetSuggestions(
|
| @@ -62,21 +63,22 @@ bool SearchBox::OnMessageReceived(const IPC::Message& message) {
|
|
|
| void SearchBox::OnChange(const string16& value,
|
| bool verbatim,
|
| - int selection_start,
|
| - int selection_end) {
|
| + size_t selection_start,
|
| + size_t selection_end) {
|
| value_ = value;
|
| verbatim_ = verbatim;
|
| selection_start_ = selection_start;
|
| selection_end_ = selection_end;
|
| - if (!render_view()->GetWebView() || !render_view()->GetWebView()->mainFrame())
|
| - return;
|
| - extensions_v8::SearchBoxExtension::DispatchChange(
|
| - render_view()->GetWebView()->mainFrame());
|
| + if (render_view()->GetWebView() && render_view()->GetWebView()->mainFrame()) {
|
| + extensions_v8::SearchBoxExtension::DispatchChange(
|
| + render_view()->GetWebView()->mainFrame());
|
| + }
|
| }
|
|
|
| -void SearchBox::OnSubmit(const string16& value, bool verbatim) {
|
| +void SearchBox::OnSubmit(const string16& value) {
|
| value_ = value;
|
| - verbatim_ = verbatim;
|
| + verbatim_ = true;
|
| + selection_start_ = selection_end_ = value_.length();
|
| if (render_view()->GetWebView() && render_view()->GetWebView()->mainFrame()) {
|
| extensions_v8::SearchBoxExtension::DispatchSubmit(
|
| render_view()->GetWebView()->mainFrame());
|
| @@ -84,8 +86,10 @@ void SearchBox::OnSubmit(const string16& value, bool verbatim) {
|
| Reset();
|
| }
|
|
|
| -void SearchBox::OnCancel() {
|
| - verbatim_ = false;
|
| +void SearchBox::OnCancel(const string16& value) {
|
| + value_ = value;
|
| + verbatim_ = true;
|
| + selection_start_ = selection_end_ = value_.length();
|
| if (render_view()->GetWebView() && render_view()->GetWebView()->mainFrame()) {
|
| extensions_v8::SearchBoxExtension::DispatchCancel(
|
| render_view()->GetWebView()->mainFrame());
|
| @@ -101,18 +105,13 @@ void SearchBox::OnResize(const gfx::Rect& bounds) {
|
| render_view()->GetWebView()->mainFrame());
|
| }
|
|
|
| -void SearchBox::OnDetermineIfPageSupportsInstant(const string16& value,
|
| - bool verbatim,
|
| - int selection_start,
|
| - int selection_end) {
|
| - value_ = value;
|
| - verbatim_ = verbatim;
|
| - selection_start_ = selection_start;
|
| - selection_end_ = selection_end;
|
| - bool result = extensions_v8::SearchBoxExtension::PageSupportsInstant(
|
| - render_view()->GetWebView()->mainFrame());
|
| - render_view()->Send(new ChromeViewHostMsg_InstantSupportDetermined(
|
| - render_view()->GetRoutingID(), render_view()->GetPageId(), result));
|
| +void SearchBox::OnDetermineIfPageSupportsInstant() {
|
| + if (render_view()->GetWebView() && render_view()->GetWebView()->mainFrame()) {
|
| + bool result = extensions_v8::SearchBoxExtension::PageSupportsInstant(
|
| + render_view()->GetWebView()->mainFrame());
|
| + render_view()->Send(new ChromeViewHostMsg_InstantSupportDetermined(
|
| + render_view()->GetRoutingID(), render_view()->GetPageId(), result));
|
| + }
|
| }
|
|
|
| void SearchBox::Reset() {
|
|
|