Index: Source/web/ChromeClientImpl.cpp |
diff --git a/Source/web/ChromeClientImpl.cpp b/Source/web/ChromeClientImpl.cpp |
index 569cc4649c033dda46c9dacd0c36561c5af67c56..40779d4bdcec44f4db093d7f5bce014a967ddb18 100644 |
--- a/Source/web/ChromeClientImpl.cpp |
+++ b/Source/web/ChromeClientImpl.cpp |
@@ -799,10 +799,14 @@ void ChromeClientImpl::annotatedRegionsChanged() |
client->draggableRegionsChanged(); |
} |
-void ChromeClientImpl::didAssociateFormControls(const WillBeHeapVector<RefPtrWillBeMember<Element> >& elements) |
+void ChromeClientImpl::didAssociateFormControls(const WillBeHeapVector<RefPtrWillBeMember<Element> >& elements, LocalFrame* frame) |
{ |
+ // FIXME: remove. See http://crbug.com/425756 |
if (m_webView->autofillClient()) |
m_webView->autofillClient()->didAssociateFormControls(elements); |
+ WebLocalFrameImpl* webframe = WebLocalFrameImpl::fromFrame(frame); |
+ if (webframe->autofillClient()) |
+ webframe->autofillClient()->didAssociateFormControls(elements); |
} |
void ChromeClientImpl::didCancelCompositionOnSelectionChange() |
@@ -831,28 +835,42 @@ void ChromeClientImpl::showImeIfNeeded() |
void ChromeClientImpl::handleKeyboardEventOnTextField(HTMLInputElement& inputElement, KeyboardEvent& event) |
{ |
- if (!m_webView->autofillClient()) |
- return; |
- m_webView->autofillClient()->textFieldDidReceiveKeyDown(WebInputElement(&inputElement), WebKeyboardEventBuilder(event)); |
+ // FIXME: remove. See http://crbug.com/425756 |
+ if (m_webView->autofillClient()) |
+ m_webView->autofillClient()->textFieldDidReceiveKeyDown(WebInputElement(&inputElement), WebKeyboardEventBuilder(event)); |
+ WebLocalFrameImpl* webframe = WebLocalFrameImpl::fromFrame(inputElement.document().frame()); |
+ if (webframe->autofillClient()) |
+ webframe->autofillClient()->textFieldDidReceiveKeyDown(WebInputElement(&inputElement), WebKeyboardEventBuilder(event)); |
} |
void ChromeClientImpl::didChangeValueInTextField(HTMLFormControlElement& element) |
{ |
- if (!m_webView->autofillClient()) |
- return; |
- m_webView->autofillClient()->textFieldDidChange(WebFormControlElement(&element)); |
+ // FIXME: remove. See http://crbug.com/425756 |
+ if (m_webView->autofillClient()) |
+ m_webView->autofillClient()->textFieldDidChange(WebFormControlElement(&element)); |
+ WebLocalFrameImpl* webframe = WebLocalFrameImpl::fromFrame(element.document().frame()); |
+ if (webframe->autofillClient()) |
+ webframe->autofillClient()->textFieldDidChange(WebFormControlElement(&element)); |
} |
void ChromeClientImpl::didEndEditingOnTextField(HTMLInputElement& inputElement) |
{ |
+ // FIXME: remove. See http://crbug.com/425756 |
if (m_webView->autofillClient()) |
m_webView->autofillClient()->textFieldDidEndEditing(WebInputElement(&inputElement)); |
+ WebLocalFrameImpl* webframe = WebLocalFrameImpl::fromFrame(inputElement.document().frame()); |
+ if (webframe->autofillClient()) |
+ webframe->autofillClient()->textFieldDidEndEditing(WebInputElement(&inputElement)); |
} |
void ChromeClientImpl::openTextDataListChooser(HTMLInputElement& input) |
{ |
+ // FIXME: remove. See http://crbug.com/425756 |
if (m_webView->autofillClient()) |
m_webView->autofillClient()->openTextDataListChooser(WebInputElement(&input)); |
+ WebLocalFrameImpl* webframe = WebLocalFrameImpl::fromFrame(input.document().frame()); |
+ if (webframe->autofillClient()) |
+ webframe->autofillClient()->openTextDataListChooser(WebInputElement(&input)); |
} |
void ChromeClientImpl::textFieldDataListChanged(HTMLFormControlElement& element) |