Merge ~osomon/oxide:autofill into oxide:master

Proposed by Olivier Tilloy
Status: Needs review
Proposed branch: ~osomon/oxide:autofill
Merge into: oxide:master
Diff against target: 5836 lines (+4175/-459)
69 files modified
qt/core/BUILD.gn (+7/-0)
qt/core/browser/contents_view_impl.cc (+1/-1)
qt/core/browser/oxide_qt_browser_platform_integration.cc (+6/-1)
qt/core/browser/oxide_qt_browser_platform_integration.h (+2/-1)
qt/core/browser/oxide_qt_web_context.cc (+22/-3)
qt/core/browser/oxide_qt_web_context.h (+4/-1)
qt/core/browser/oxide_qt_web_view.cc (+26/-1)
qt/core/browser/oxide_qt_web_view.h (+5/-1)
qt/core/browser/web_autofill_popup_host.cc (+139/-0)
qt/core/browser/web_autofill_popup_host.h (+78/-0)
qt/core/glue/autofill_suggestion.cc (+30/-0)
qt/core/glue/autofill_suggestion.h (+50/-0)
qt/core/glue/auxiliary_ui_factory.h (+10/-1)
qt/core/glue/oxide_qt_web_context_proxy.h (+4/-1)
qt/core/glue/web_autofill_popup.h (+43/-0)
qt/core/glue/web_autofill_popup_client.h (+40/-0)
qt/qmlplugin/oxide.qmltypes (+7/-423)
qt/qmlplugin/oxide_qml_plugin.cc (+3/-1)
qt/quick/api/oxideqquickwebcontext.cc (+31/-0)
qt/quick/api/oxideqquickwebcontext.h (+7/-1)
qt/quick/qquick_legacy_auxiliary_ui_factory.cc (+13/-1)
qt/quick/qquick_legacy_auxiliary_ui_factory.h (+5/-1)
qt/tests/qmltests/api/tst_WebContext_autofillEnabled.qml (+38/-0)
qt/tests/qmltests/ubuntu_ui/tst_WebViewAutofillPopup_autofill_profiles.html (+23/-0)
qt/tests/qmltests/ubuntu_ui/tst_WebViewAutofillPopup_autofill_profiles.qml (+300/-0)
qt/tests/qmltests/ubuntu_ui/tst_WebViewAutofillPopup_datalist.html (+37/-0)
qt/tests/qmltests/ubuntu_ui/tst_WebViewAutofillPopup_datalist.qml (+157/-0)
qt/tests/qmltests/ubuntu_ui/tst_WebViewAutofillPopup_passwords.html (+11/-0)
qt/tests/qmltests/ubuntu_ui/tst_WebViewAutofillPopup_passwords.qml (+105/-0)
qt/tests/qmltests/ubuntu_ui/tst_WebViewAutofillPopup_single_fields.html (+11/-0)
qt/tests/qmltests/ubuntu_ui/tst_WebViewAutofillPopup_single_fields.qml (+359/-0)
qt/uitk/lib/CMakeLists.txt (+2/-1)
qt/uitk/lib/resources.qrc (+1/-0)
qt/uitk/lib/resources/WebAutofillPopup.qml (+139/-0)
qt/uitk/lib/uitk_auxiliary_ui_factory.cc (+12/-1)
qt/uitk/lib/uitk_auxiliary_ui_factory.h (+5/-1)
qt/uitk/lib/uitk_web_autofill_popup.cc (+297/-0)
qt/uitk/lib/uitk_web_autofill_popup.h (+87/-0)
shared/BUILD.gn (+30/-1)
shared/browser/autofill/autofill_client.cc (+272/-0)
shared/browser/autofill/autofill_client.h (+116/-0)
shared/browser/autofill/autofill_popup_controller.cc (+163/-0)
shared/browser/autofill/autofill_popup_controller.h (+92/-0)
shared/browser/autofill/web_autofill_popup.h (+42/-0)
shared/browser/autofill/web_autofill_popup_client.h (+41/-0)
shared/browser/filtered_pref_store.cc (+181/-0)
shared/browser/filtered_pref_store.h (+107/-0)
shared/browser/filtered_pref_store_unittest.cc (+209/-0)
shared/browser/oxide_browser_context.cc (+100/-4)
shared/browser/oxide_browser_context.h (+26/-2)
shared/browser/oxide_browser_platform_integration.cc (+6/-1)
shared/browser/oxide_browser_platform_integration.h (+4/-1)
shared/browser/oxide_content_browser_client.cc (+41/-0)
shared/browser/oxide_content_browser_client.h (+6/-2)
shared/browser/oxide_user_agent_settings.cc (+45/-1)
shared/browser/oxide_user_agent_settings.h (+10/-1)
shared/browser/oxide_web_view.cc (+10/-2)
shared/browser/personal_data_manager_factory.cc (+72/-0)
shared/browser/personal_data_manager_factory.h (+60/-0)
shared/browser/resources/browser_manifest_overlay.json (+15/-0)
shared/browser/resources/renderer_manifest_overlay.json (+14/-0)
shared/browser/web_contents_client.cc (+9/-1)
shared/browser/web_contents_client.h (+13/-1)
shared/browser/web_data_service_factory.cc (+100/-0)
shared/browser/web_data_service_factory.h (+63/-0)
shared/browser/web_data_service_wrapper.cc (+114/-0)
shared/browser/web_data_service_wrapper.h (+83/-0)
shared/oxide_resources.grd (+2/-0)
shared/renderer/oxide_content_renderer_client.cc (+12/-1)
Reviewer Review Type Date Requested Status
Chris Coulson Needs Fixing
Review via email: mp+318166@code.qastaging.launchpad.net

Commit message

Add support for autofill popups in UbuntuWebView (LP: #1214048).

This initial implementation supports single text fields, datalist entries and autofill profiles.
Credit cards and passwords are not supported.
There is no API to manage stored profiles, this will be implemented as a followup feature.

To post a comment you must log in.
Revision history for this message
Chris Coulson (chrisccoulson) wrote :

I haven't had time to complete the review of this yet, so I've left you a few comments in the meantime to unblock you :)

review: Needs Fixing
Revision history for this message
Chris Coulson (chrisccoulson) wrote :

I've left a few more comments now. I've not yet finished reviewing it though, so there will most likely be some more later.

review: Needs Fixing
Revision history for this message
Olivier Tilloy (osomon) wrote :

I addressed the first round of comments from two days ago. Still pending: add tests for autofill behaviour in incognito mode.

Revision history for this message
Olivier Tilloy (osomon) wrote :

I addressed all comments (and answered questions) in the second review round except for the last one (the suggestion to re-implement a custom WebDataServiceWrapper), which is pending.

Revision history for this message
Olivier Tilloy (osomon) wrote :

WebDataServiceWrapper has been forked to remove all the bits that oxide doesn't need, thus removing the need for the dependency on omnibox in a component build.

There was an error fetching revisions from git servers. Please try again in a few minutes. If the problem persists, contact Launchpad support.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches