Skip to content

Commit ffc7c26

Browse files
committed
Fix autocomplete regression
1 parent f53f88d commit ffc7c26

File tree

5 files changed

+31
-26
lines changed

5 files changed

+31
-26
lines changed

nw.gypi

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,8 @@
253253
'src/nw_version.h',
254254
'src/paths_mac.h',
255255
'src/paths_mac.mm',
256+
'src/renderer/autofill_agent.cc',
257+
'src/renderer/autofill_agent.h',
256258
'src/renderer/common/render_messages.cc',
257259
'src/renderer/common/render_messages.h',
258260
'src/renderer/prerenderer/prerenderer_client.cc',

src/renderer/autofill_agent.cc

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,15 @@
2121
#include "content/nw/src/renderer/autofill_agent.h"
2222

2323
#include "base/bind.h"
24-
#include "base/message_loop.h"
25-
#include "base/string_util.h"
24+
#include "base/message_loop/message_loop.h"
25+
#include "base/strings/string_util.h"
2626
#include "base/strings/string_split.h"
2727
#include "content/public/renderer/render_view.h"
28-
#include "third_party/WebKit/Source/WebKit/chromium/public/WebInputEvent.h"
29-
#include "third_party/WebKit/Source/WebKit/chromium/public/WebNode.h"
30-
#include "third_party/WebKit/Source/WebKit/chromium/public/WebNodeCollection.h"
31-
#include "third_party/WebKit/Source/WebKit/chromium/public/WebOptionElement.h"
32-
#include "third_party/WebKit/Source/WebKit/chromium/public/WebView.h"
28+
#include "third_party/WebKit/public/web/WebInputEvent.h"
29+
#include "third_party/WebKit/public/web/WebNode.h"
30+
#include "third_party/WebKit/public/web/WebNodeCollection.h"
31+
#include "third_party/WebKit/public/web/WebOptionElement.h"
32+
#include "third_party/WebKit/public/web/WebView.h"
3333
#include "ui/base/keycodes/keyboard_codes.h"
3434

3535
using WebKit::WebAutofillClient;
@@ -88,26 +88,24 @@ void AppendDataListSuggestions(const WebKit::WebInputElement& element,
8888

8989
AutofillAgent::AutofillAgent(content::RenderView* render_view)
9090
: content::RenderViewObserver(render_view),
91-
ALLOW_THIS_IN_INITIALIZER_LIST(weak_ptr_factory_(this)) {
91+
weak_ptr_factory_(this) {
9292
render_view->GetWebView()->setAutofillClient(this);
9393
}
9494

9595
AutofillAgent::~AutofillAgent() {
9696
}
9797

98-
bool AutofillAgent::InputElementClicked(const WebInputElement& element,
98+
void AutofillAgent::InputElementClicked(const WebInputElement& element,
9999
bool was_focused,
100100
bool is_focused) {
101101
if (was_focused)
102102
ShowSuggestions(element, true, false, true);
103103

104-
return false;
105104
}
106105

107-
bool AutofillAgent::InputElementLostFocus() {
108-
return false;
106+
void AutofillAgent::InputElementLostFocus() {
109107
}
110-
108+
111109
void AutofillAgent::didAcceptAutofillSuggestion(const WebNode& node,
112110
const WebString& value,
113111
const WebString& label,
@@ -154,7 +152,7 @@ void AutofillAgent::textFieldDidChange(const WebInputElement& element) {
154152
// properly at this point (http://bugs.webkit.org/show_bug.cgi?id=16976) and
155153
// it is needed to trigger autofill.
156154
weak_ptr_factory_.InvalidateWeakPtrs();
157-
MessageLoop::current()->PostTask(
155+
base::MessageLoop::current()->PostTask(
158156
FROM_HERE,
159157
base::Bind(&AutofillAgent::TextFieldDidChangeImpl,
160158
weak_ptr_factory_.GetWeakPtr(), element));

src/renderer/autofill_agent.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@
2121
#include "base/basictypes.h"
2222
#include "base/compiler_specific.h"
2323
#include "base/memory/weak_ptr.h"
24-
#include "components/autofill/renderer/page_click_listener.h"
24+
#include "components/autofill/content/renderer/page_click_listener.h"
2525
#include "content/public/renderer/render_view_observer.h"
26-
#include "third_party/WebKit/Source/WebKit/chromium/public/WebAutofillClient.h"
27-
#include "third_party/WebKit/Source/WebKit/chromium/public/WebInputElement.h"
26+
#include "third_party/WebKit/public/web/WebAutofillClient.h"
27+
#include "third_party/WebKit/public/web/WebInputElement.h"
2828

2929
namespace content {
3030
class RenderView;
@@ -37,7 +37,7 @@ class WebNode;
3737
namespace nw {
3838

3939
class AutofillAgent : public content::RenderViewObserver,
40-
public PageClickListener,
40+
public autofill::PageClickListener,
4141
public WebKit::WebAutofillClient {
4242
public:
4343
AutofillAgent(content::RenderView* render_view);
@@ -51,10 +51,10 @@ class AutofillAgent : public content::RenderViewObserver,
5151
};
5252

5353
// PageClickListener:
54-
virtual bool InputElementClicked(const WebKit::WebInputElement& element,
54+
virtual void InputElementClicked(const WebKit::WebInputElement& element,
5555
bool was_focused,
5656
bool is_focused) OVERRIDE;
57-
virtual bool InputElementLostFocus() OVERRIDE;
57+
virtual void InputElementLostFocus() OVERRIDE;
5858

5959
// WebKit::WebAutofillClient:
6060
virtual void didAcceptAutofillSuggestion(const WebKit::WebNode& node,

src/renderer/shell_content_renderer_client.cc

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
#include "content/nw/src/nw_version.h"
4141
#include "components/autofill/content/renderer/autofill_agent.h"
4242
#include "components/autofill/content/renderer/password_autofill_agent.h"
43+
#include "content/nw/src/renderer/autofill_agent.h"
4344
#include "content/nw/src/renderer/nw_render_view_observer.h"
4445
#include "content/nw/src/renderer/prerenderer/prerenderer_client.h"
4546
#include "content/nw/src/renderer/printing/print_web_view_helper.h"
@@ -183,11 +184,11 @@ void ShellContentRendererClient::RenderViewCreated(RenderView* render_view) {
183184
new printing::PrintWebViewHelper(render_view);
184185
#endif
185186

186-
// PageClickTracker* page_click_tracker = new PageClickTracker(render_view);
187-
PasswordAutofillAgent* password_autofill_agent =
188-
new PasswordAutofillAgent(render_view);
189-
new AutofillAgent(render_view, password_autofill_agent);
190-
//page_click_tracker->AddListener(autofill_agent);
187+
nw::AutofillAgent* autofill_agent = new nw::AutofillAgent(render_view);
188+
page_click_tracker_.reset(new autofill::PageClickTracker(render_view, autofill_agent));
189+
// PasswordAutofillAgent* password_autofill_agent =
190+
// new PasswordAutofillAgent(render_view);
191+
// new AutofillAgent(render_view, password_autofill_agent);
191192
}
192193

193194
void ShellContentRendererClient::DidCreateScriptContext(

src/renderer/shell_content_renderer_client.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ namespace api {
3030
class WindowBindings;
3131
}
3232

33+
namespace autofill {
34+
class PageClickTracker;
35+
}
3336
namespace content {
3437

3538
class ShellRenderProcessObserver;
@@ -50,7 +53,8 @@ class ShellContentRendererClient : public ContentRendererClient {
5053

5154
private:
5255
scoped_ptr<ShellRenderProcessObserver> shell_observer_;
53-
scoped_ptr<api::WindowBindings> window_bindings_;;
56+
scoped_ptr<api::WindowBindings> window_bindings_;
57+
scoped_ptr<autofill::PageClickTracker> page_click_tracker_;
5458

5559
void InstallNodeSymbols(WebKit::WebFrame* frame,
5660
v8::Handle<v8::Context> context, const GURL& url);

0 commit comments

Comments
 (0)