1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/renderer/one_click_signin_agent.h"
7 #include "chrome/common/one_click_signin_messages.h"
8 #include "content/public/common/password_form.h"
9 #include "content/public/renderer/document_state.h"
10 #include "content/public/renderer/render_view.h"
11 #include "third_party/WebKit/public/web/WebFormElement.h"
12 #include "third_party/WebKit/public/web/WebFrame.h"
14 OneClickSigninAgent::OneClickSigninAgent(
15 content::RenderView
* render_view
)
16 : content::RenderViewObserver(render_view
) {
19 OneClickSigninAgent::~OneClickSigninAgent() {}
21 void OneClickSigninAgent::WillSubmitForm(WebKit::WebFrame
* frame
,
22 const WebKit::WebFormElement
& form
) {
23 content::DocumentState
* document_state
=
24 content::DocumentState::FromDataSource(frame
->provisionalDataSource());
25 if (document_state
->password_form_data()) {
26 Send(new OneClickSigninHostMsg_FormSubmitted(routing_id(),
27 *(document_state
->password_form_data())));