Closed Bug 1608514 Opened 2 years ago Closed 2 years ago

Login Storage login update not triggered when GUID is set

Categories

(GeckoView :: General, defect, P1)

Unspecified
All
defect

Tracking

(firefox74 fixed)

RESOLVED FIXED
mozilla74
Tracking Status
firefox74 --- fixed

People

(Reporter: esawin, Assigned: esawin)

References

Details

(Whiteboard: [geckoview:m74])

Attachments

(2 files)

GeckoSession.PromptDelegate.onLoginStoragePrompt and LoginStorage.Delegate.onLoginSave are not triggered when updating a login entry with a non-null GUID.

STR:

  1. Open a login page with saved credentials (onLoginFetch returns at least one applicable login entry with a valid GUID).
  2. Modify the password and submit the changes.

Expected: onLoginStoragePrompt is triggered with the updated password.
Actual: neither onLoginStoragePrompt nor onLoginSave are triggered.

Attachment #9120137 - Attachment description: Bug 1608514 - [1.0] Enable origin-based login fetching before filtering by GUID in GeckoView. → Bug 1608514 - [1.1] Enable origin-based login fetching before filtering by GUID in GeckoView.
Attachment #9120137 - Attachment description: Bug 1608514 - [1.1] Enable origin-based login fetching before filtering by GUID in GeckoView. → Bug 1608514 - [1.2] Enable origin-based login fetching before filtering by GUID in GeckoView.
Pushed by esawin@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/5cd5aee16013
[1.2] Enable origin-based login fetching before filtering by GUID in GeckoView. r=MattN
https://hg.mozilla.org/integration/autoland/rev/f4537109c514
[2.0] Extend Login Storage tests to test credential updates. r=geckoview-reviewers,snorp
Priority: -- → P1
Whiteboard: [geckoview:m74]

Backed out 2 changesets (Bug 1608514) for geckoview.test.LoginStorageDelegateTest.loginUpdateAccept timeouts

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&searchStr=geckoview-junit-e10s%2C%28gv-junit%29&fromchange=850151a68fbe0e5ceeb5135c10367e01f9813d13&tochange=e7f80b0307ea5e7cd146f726dea501e0241e189a&selectedJob=285041644

Backout link: https://hg.mozilla.org/integration/autoland/rev/e7f80b0307ea5e7cd146f726dea501e0241e189a

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=285041644&repo=autoland&lineNumber=4978

[task 2020-01-15T14:04:11.859Z] 14:04:11 INFO - TEST-START | org.mozilla.geckoview.test.LoginStorageDelegateTest.loginUpdateAccept
[task 2020-01-15T14:04:42.113Z] 14:04:42 INFO - org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: numtests=624
[task 2020-01-15T14:04:42.113Z] 14:04:42 INFO - org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: stream=
[task 2020-01-15T14:04:42.113Z] 14:04:42 INFO - org.mozilla.geckoview.test | Error in loginUpdateAccept(org.mozilla.geckoview.test.LoginStorageDelegateTest):
[task 2020-01-15T14:04:42.113Z] 14:04:42 INFO - org.mozilla.geckoview.test | org.mozilla.geckoview.test.util.UiThreadUtils$TimeoutException: Timed out after 30000ms
[task 2020-01-15T14:04:42.113Z] 14:04:42 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.util.UiThreadUtils$TimeoutRunnable.run(UiThreadUtils.java:52)
[task 2020-01-15T14:04:42.113Z] 14:04:42 INFO - org.mozilla.geckoview.test | at android.os.Handler.handleCallback(Handler.java:751)
[task 2020-01-15T14:04:42.114Z] 14:04:42 INFO - org.mozilla.geckoview.test | at android.os.Handler.dispatchMessage(Handler.java:95)
[task 2020-01-15T14:04:42.114Z] 14:04:42 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.util.UiThreadUtils.waitForCondition(UiThreadUtils.java:155)
[task 2020-01-15T14:04:42.114Z] 14:04:42 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.rule.GeckoSessionTestRule.waitForMessage(GeckoSessionTestRule.java:1888)
[task 2020-01-15T14:04:42.114Z] 14:04:42 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.rule.GeckoSessionTestRule.evaluateJS(GeckoSessionTestRule.java:1884)
[task 2020-01-15T14:04:42.114Z] 14:04:42 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.BaseSessionTest.evaluateJS(BaseSessionTest.kt:168)
[task 2020-01-15T14:04:42.114Z] 14:04:42 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.LoginStorageDelegateTest.loginUpdateAccept(LoginStorageDelegateTest.kt:422)
[task 2020-01-15T14:04:42.114Z] 14:04:42 INFO - org.mozilla.geckoview.test | at java.lang.reflect.Method.invoke(Native Method)
[task 2020-01-15T14:04:42.114Z] 14:04:42 INFO - org.mozilla.geckoview.test | at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
[task 2020-01-15T14:04:42.115Z] 14:04:42 INFO - org.mozilla.geckoview.test | at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
[task 2020-01-15T14:04:42.115Z] 14:04:42 INFO - org.mozilla.geckoview.test | at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
[task 2020-01-15T14:04:42.115Z] 14:04:42 INFO - org.mozilla.geckoview.test | at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
[task 2020-01-15T14:04:42.115Z] 14:04:42 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.rule.GeckoSessionTestRule$2.lambda$evaluate$0$GeckoSessionTestRule$2(GeckoSessionTestRule.java:1298)
[task 2020-01-15T14:04:42.115Z] 14:04:42 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.rule.-$$Lambda$GeckoSessionTestRule$2$sIbRNaZJgAu-QrUVWSGD8JbPSWM.run(lambda)
[task 2020-01-15T14:04:42.115Z] 14:04:42 INFO - org.mozilla.geckoview.test | at android.app.Instrumentation$SyncRunnable.run(Instrumentation.java:1950)
[task 2020-01-15T14:04:42.115Z] 14:04:42 INFO - org.mozilla.geckoview.test | at android.os.Handler.handleCallback(Handler.java:751)
[task 2020-01-15T14:04:42.115Z] 14:04:42 INFO - org.mozilla.geckoview.test | at android.os.Handler.dispatchMessage(Handler.java:95)
[task 2020-01-15T14:04:42.116Z] 14:04:42 INFO - org.mozilla.geckoview.test | at android.os.Looper.loop(Looper.java:154)
[task 2020-01-15T14:04:42.116Z] 14:04:42 INFO - org.mozilla.geckoview.test | at android.app.ActivityThread.main(ActivityThread.java:6077)
[task 2020-01-15T14:04:42.116Z] 14:04:42 INFO - org.mozilla.geckoview.test | at java.lang.reflect.Method.invoke(Native Method)
[task 2020-01-15T14:04:42.116Z] 14:04:42 INFO - org.mozilla.geckoview.test | at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
[task 2020-01-15T14:04:42.116Z] 14:04:42 INFO - org.mozilla.geckoview.test | at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
[task 2020-01-15T14:04:42.116Z] 14:04:42 INFO - org.mozilla.geckoview.test |
[task 2020-01-15T14:04:42.116Z] 14:04:42 INFO - org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: id=AndroidJUnitRunner
[task 2020-01-15T14:04:42.116Z] 14:04:42 INFO - org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: test=loginUpdateAccept
[task 2020-01-15T14:04:42.116Z] 14:04:42 INFO - org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: class=org.mozilla.geckoview.test.LoginStorageDelegateTest
[task 2020-01-15T14:04:42.117Z] 14:04:42 INFO - org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: stack=org.mozilla.geckoview.test.util.UiThreadUtils$TimeoutException: Timed out after 30000ms
[task 2020-01-15T14:04:42.117Z] 14:04:42 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.util.UiThreadUtils$TimeoutRunnable.run(UiThreadUtils.java:52)
[task 2020-01-15T14:04:42.117Z] 14:04:42 INFO - org.mozilla.geckoview.test | at android.os.Handler.handleCallback(Handler.java:751)
[task 2020-01-15T14:04:42.117Z] 14:04:42 INFO - org.mozilla.geckoview.test | at android.os.Handler.dispatchMessage(Handler.java:95)
[task 2020-01-15T14:04:42.117Z] 14:04:42 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.util.UiThreadUtils.waitForCondition(UiThreadUtils.java:155)
[task 2020-01-15T14:04:42.117Z] 14:04:42 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.rule.GeckoSessionTestRule.waitForMessage(GeckoSessionTestRule.java:1888)
[task 2020-01-15T14:04:42.117Z] 14:04:42 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.rule.GeckoSessionTestRule.evaluateJS(GeckoSessionTestRule.java:1884)
[task 2020-01-15T14:04:42.117Z] 14:04:42 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.BaseSessionTest.evaluateJS(BaseSessionTest.kt:168)
[task 2020-01-15T14:04:42.118Z] 14:04:42 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.LoginStorageDelegateTest.loginUpdateAccept(LoginStorageDelegateTest.kt:422)
[task 2020-01-15T14:04:42.118Z] 14:04:42 INFO - org.mozilla.geckoview.test | at java.lang.reflect.Method.invoke(Native Method)
[task 2020-01-15T14:04:42.118Z] 14:04:42 INFO - org.mozilla.geckoview.test | at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
[task 2020-01-15T14:04:42.118Z] 14:04:42 INFO - org.mozilla.geckoview.test | at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
[task 2020-01-15T14:04:42.118Z] 14:04:42 INFO - org.mozilla.geckoview.test | at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
[task 2020-01-15T14:04:42.118Z] 14:04:42 INFO - org.mozilla.geckoview.test | at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
[task 2020-01-15T14:04:42.118Z] 14:04:42 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.rule.GeckoSessionTestRule$2.lambda$evaluate$0$GeckoSessionTestRule$2(GeckoSessionTestRule.java:1298)
[task 2020-01-15T14:04:42.119Z] 14:04:42 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.rule.-$$Lambda$GeckoSessionTestRule$2$sIbRNaZJgAu-QrUVWSGD8JbPSWM.run(lambda)
[task 2020-01-15T14:04:42.119Z] 14:04:42 INFO - org.mozilla.geckoview.test | at android.app.Instrumentation$SyncRunnable.run(Instrumentation.java:1950)
[task 2020-01-15T14:04:42.119Z] 14:04:42 INFO - org.mozilla.geckoview.test | at android.os.Handler.handleCallback(Handler.java:751)
[task 2020-01-15T14:04:42.119Z] 14:04:42 INFO - org.mozilla.geckoview.test | at android.os.Handler.dispatchMessage(Handler.java:95)
[task 2020-01-15T14:04:42.119Z] 14:04:42 INFO - org.mozilla.geckoview.test | at android.os.Looper.loop(Looper.java:154)
[task 2020-01-15T14:04:42.119Z] 14:04:42 INFO - org.mozilla.geckoview.test | at android.app.ActivityThread.main(ActivityThread.java:6077)
[task 2020-01-15T14:04:42.119Z] 14:04:42 INFO - org.mozilla.geckoview.test | at java.lang.reflect.Method.invoke(Native Method)
[task 2020-01-15T14:04:42.119Z] 14:04:42 INFO - org.mozilla.geckoview.test | at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
[task 2020-01-15T14:04:42.120Z] 14:04:42 INFO - org.mozilla.geckoview.test | at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
[task 2020-01-15T14:04:42.120Z] 14:04:42 INFO - org.mozilla.geckoview.test |
[task 2020-01-15T14:04:42.120Z] 14:04:42 INFO - org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: current=218
[task 2020-01-15T14:04:42.120Z] 14:04:42 INFO - org.mozilla.geckoview.test | INSTRUMENTATION_STATUS_CODE: -2
[task 2020-01-15T14:04:42.120Z] 14:04:42 WARNING - TEST-UNEXPECTED-FAIL | org.mozilla.geckoview.test.LoginStorageDelegateTest.loginUpdateAccept | org.mozilla.geckoview.test.util.UiThreadUtils$TimeoutException: Timed out after 30000ms
[task 2020-01-15T14:04:42.120Z] 14:04:42 INFO - TEST-INFO took 30258ms

Flags: needinfo?(esawin)
Attachment #9120138 - Attachment description: Bug 1608514 - [2.0] Extend Login Storage tests to test credential updates. → Bug 1608514 - [2.1] Extend Login Storage tests to test credential updates.

This test is a bit tricky, since we don't have a reliable signal to watch for before initiating the login update.
To work around it, I've moved the login update to a new session instead, looking good so far: https://treeherder.mozilla.org/#/jobs?repo=try&revision=48fe386f19cb8ca7bca659ace860cd53ee5ebaaa.

Flags: needinfo?(esawin)
Pushed by esawin@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/11a9e4a26c11
[1.2] Enable origin-based login fetching before filtering by GUID in GeckoView. r=MattN
https://hg.mozilla.org/integration/autoland/rev/55b4626066c4
[2.1] Extend Login Storage tests to test credential updates. r=geckoview-reviewers,snorp
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla74
Regressions: 1612315
You need to log in before you can comment on or make changes to this bug.