New issue
Advanced search Search tips

Issue 828824 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 3
Type: Task



Sign in to add a comment

Inject password_controller.js on frame created

Project Member Reported by dvadym@chromium.org, Apr 4 2018

Issue description

Now password_controller.js is injected by adding it to call of __gCrWeb.findPasswordForms(). It has performance drawbacks since __gCrWeb.findPasswordForms() could be called multiple times and so password_controller.js is compiled and executed multiple times. It's much better to use WKWebView injection, in the same way as autofill_controller.js is injected.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Apr 5 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/16da6daf6e56f19192f9381494ad6fcb79f6297e

commit 16da6daf6e56f19192f9381494ad6fcb79f6297e
Author: Vadym Doroshenko <dvadym@chromium.org>
Date: Thu Apr 05 18:35:10 2018

Inject password_controller with WKWebView injection mechanism.

Now password_controller.js is injected by adding it to call of __gCrWeb.findPasswordForms().
It has performance drawbacks since __gCrWeb.findPasswordForms() could be called multiple times.
This CL makes injection of password_controller.js with WKWebView injection.

Also this CL updates the header comment in password_controller.js with up-to-date information.

Bug:  828824 , 418827
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I4036e3279e0c3a32301795b46630c49801679106
Reviewed-on: https://chromium-review.googlesource.com/995534
Commit-Queue: Vadym Doroshenko <dvadym@chromium.org>
Reviewed-by: Eugene But <eugenebut@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548496}
[modify] https://crrev.com/16da6daf6e56f19192f9381494ad6fcb79f6297e/ios/chrome/browser/passwords/js_password_manager.h
[modify] https://crrev.com/16da6daf6e56f19192f9381494ad6fcb79f6297e/ios/chrome/browser/passwords/js_password_manager.mm
[modify] https://crrev.com/16da6daf6e56f19192f9381494ad6fcb79f6297e/ios/chrome/browser/passwords/password_controller.mm
[modify] https://crrev.com/16da6daf6e56f19192f9381494ad6fcb79f6297e/ios/chrome/browser/passwords/password_controller_js_unittest.mm
[modify] https://crrev.com/16da6daf6e56f19192f9381494ad6fcb79f6297e/ios/chrome/browser/passwords/password_controller_unittest.mm
[modify] https://crrev.com/16da6daf6e56f19192f9381494ad6fcb79f6297e/ios/chrome/browser/passwords/resources/password_controller.js
[modify] https://crrev.com/16da6daf6e56f19192f9381494ad6fcb79f6297e/ios/chrome/browser/web/BUILD.gn
[modify] https://crrev.com/16da6daf6e56f19192f9381494ad6fcb79f6297e/ios/chrome/browser/web/resources/chrome_bundle_main_frame.js
[modify] https://crrev.com/16da6daf6e56f19192f9381494ad6fcb79f6297e/ios/web_view/BUILD.gn
[modify] https://crrev.com/16da6daf6e56f19192f9381494ad6fcb79f6297e/ios/web_view/resources/web_view_bundle.js

Status: Fixed (was: Started)

Sign in to add a comment