RIM PR: 136405 The form auto fill feature by my current implementation is pretty much like the behavior of desktop browsers, when user submits a form, the name attribute and the value of text input fields(exclude password) will be stored in the autofill database as a name-value pair. Next time when the user fills any form on any site, the browser will search the db to find out if there's any matched name-value pair to fill the current editing input text field. We will find all the values which has the same name attribute and starts with the character that user has input, and pops up a context dialog to notify user those candidates used by him. If user chooses one from the context dialog, the value will fill the current input text field. his PR is about the implementation of autofill feature in webkit side.
Created attachment 140923 [details] Patch
Comment on attachment 140923 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=140923&action=review Looks good, please fix the issues before landing. > Source/WebKit/blackberry/Api/WebPage.cpp:2136 > + textItems.push_back(candidates[i].utf8().data()); It would be great if we would not have to do the WTF::Vector to vector conversion but I guess that might be hard... > Source/WebKit/blackberry/Api/WebPage_p.h:193 > + void notifyPopupAutofillDialog(const WTF::Vector<WTF::String>&, const WebCore::IntRect&); I don't think you need the WTF:: prefixes here. > Source/WebKit/blackberry/WebCoreSupport/EditorClientBlackBerry.h:114 > + No need for this empty line. > Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp:724 > +credentialManager().saveCredentialIfConfirmed(m_webPagePrivate, CredentialTransformData(prpFormState->form())); Indent properly.
Comment on attachment 140923 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=140923&action=review >> Source/WebKit/blackberry/Api/WebPage.cpp:2136 >> + textItems.push_back(candidates[i].utf8().data()); > > It would be great if we would not have to do the WTF::Vector to vector conversion but I guess that might be hard... Thanks Rob, well this vector is generated from autofill database querying, those codes are in WebCore/platform/network/blackberry, which suppose we should not use std::vector there. That means we need to convert the WTF::Vector to std::vector somewhere before we send them out of webkit. Fortunately the overhead is not heavy by my test for now. To solve this issue I think we can move AutofillBackingStore.[cpp|h] into WebKit/blackberry/WebCoreSupport and replace the WTF::Vector with std::vector in the future patch.
Created attachment 141072 [details] Patch
Comment on attachment 141072 [details] Patch LGTM.
Comment on attachment 141072 [details] Patch Clearing flags on attachment: 141072 Committed r116603: <http://trac.webkit.org/changeset/116603>
All reviewed patches have been landed. Closing bug.
Reopening to attach new patch.
Created attachment 146815 [details] Patch
Comment on attachment 146815 [details] Patch Makes sense.
Comment on attachment 146815 [details] Patch Clearing flags on attachment: 146815 Committed r120022: <http://trac.webkit.org/changeset/120022>