Closed Bug 1612091 Opened 4 years ago Closed 4 years ago

[Protection Report] Add mobile call-out to ETP card

Categories

(Firefox :: Protections UI, enhancement, P1)

enhancement

Tracking

()

VERIFIED FIXED
Firefox 75
Tracking Status
firefox75 --- verified
firefox76 --- verified

People

(Reporter: ewright, Assigned: ewright)

References

Details

Attachments

(3 files, 2 obsolete files)

Beneath the ETP card there will be an attached card telling users about Firefox on mobile.
This card will not show if we detect the user has already downloaded Firefox on a mobile device and synced.
This card will go away on the user profile if the user clicks the X button.

Spec attached, copy and icons will change.

Depends on: 1612088
Attached file data-review-mobile (obsolete) —
Attachment #9126513 - Flags: data-review?(chutten)
Comment on attachment 9126513 [details]
data-review-mobile

DATA COLLECTION REVIEW RESPONSE:

    Is there or will there be documentation that describes the schema for the ultimate data set available publicly, complete and accurate?

Yes. This collection is Telemetry so is documented in its definitions file [Events.yaml](https://hg.mozilla.org/mozilla-central/file/tip/toolkit/components/telemetry/Events.yaml) and the [Probe Dictionary](https://telemetry.mozilla.org/probe-dictionary/).

    Is there a control mechanism that allows the user to turn the data collection on and off?

Yes. This collection is Telemetry so can be controlled through Firefox's Preferences.

    If the request is for permanent data collection, is there someone who will monitor the data over time?

No. This collection will expire in Firefox 80.

    Using the category system of data types on the Mozilla wiki, what collection type of data do the requested measurements fall under?

Category 2, Interaction.

    Is the data collection request for default-on or default-off?

Default on for all channels.

    Does the instrumentation include the addition of any new identifiers?

No.

    Is the data collection covered by the existing Firefox privacy notice?

Yes.

    Does there need to be a check-in in the future to determine whether to renew the data?

Yes. :ewright is responsible for renewing or removing the collection before it expires in Firefox 80.

---
Result: datareview+
Attachment #9126513 - Flags: data-review?(chutten) → data-review+
Attached file data-review

apologies, I need to amend this data request to include the "value" key, which will report "android" or "ios" depending on which link the user clicks.

Attachment #9126513 - Attachment is obsolete: true
Attachment #9127600 - Flags: data-review?
Attachment #9126510 - Attachment is obsolete: true
Blocks: 1616686
Comment on attachment 9127600 [details]
data-review

DATA COLLECTION REVIEW RESPONSE:

    Is there or will there be documentation that describes the schema for the ultimate data set available publicly, complete and accurate?

Yes. This collection is Telemetry so is documented in its definitions file [Events.yaml](https://hg.mozilla.org/mozilla-central/file/tip/toolkit/components/telemetry/Events.yaml) and the [Probe Dictionary](https://telemetry.mozilla.org/probe-dictionary/).

    Is there a control mechanism that allows the user to turn the data collection on and off?

Yes. This collection is Telemetry so can be controlled through Firefox's Preferences.

    If the request is for permanent data collection, is there someone who will monitor the data over time?

No. This collection will expire in Firefox 80.

    Using the category system of data types on the Mozilla wiki, what collection type of data do the requested measurements fall under?

Category 2, Interaction.

    Is the data collection request for default-on or default-off?

Default on for all channels.

    Does the instrumentation include the addition of any new identifiers?

No.

    Is the data collection covered by the existing Firefox privacy notice?

Yes.

    Does there need to be a check-in in the future to determine whether to renew the data?

Yes. :ewright is responsible for renewing or removing the collection before it expires in Firefox 80.

---
Result: datareview+
Attachment #9127600 - Flags: data-review? → data-review+
Pushed by ewright@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/961100c1c1af
Add mobile callout to the ETP card. r=fluent-reviewers,johannh,flod

Backed out changeset 961100c1c1af (Bug 1612091) for causing browser chrome failures at browser/components/protections/test/browser/browser_protections_report_ui.js

Push with failure: https://treeherder.mozilla.org/#/jobs?repo=autoland&selectedJob=290235921&resultStatus=testfailed%2Cbusted%2Cexception&classifiedState=unclassified&revision=961100c1c1af52dcbeec29856ed9d90e5ab9aa56

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

Backout link: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=testfailed%2Cbusted%2Cexception&classifiedState=unclassified&revision=2fce553c04856852c15b5ade7c5a67f70900a28b

[task 2020-02-24T18:42:28.342Z] 18:42:28     INFO - TEST-PASS | browser/components/protections/test/browser/browser_protections_report_ui.js | Button to manage protections is displayed - true == true - 
[task 2020-02-24T18:42:28.343Z] 18:42:28     INFO - Leaving test bound test_etp_custom_protections_off
[task 2020-02-24T18:42:28.344Z] 18:42:28     INFO - Entering test bound test_etp_mobile_promotion
[task 2020-02-24T18:42:28.345Z] 18:42:28     INFO - Buffered messages logged at 18:42:27
[task 2020-02-24T18:42:28.345Z] 18:42:28     INFO - Console message: [JavaScript Error: "There was an error fetching the user's token: " {file: "resource:///modules/aboutpages/AboutProtectionsHandler.jsm" line: 280}]
[task 2020-02-24T18:42:28.346Z] 18:42:28     INFO - getMonitorScopedOAuthToken@resource:///modules/aboutpages/AboutProtectionsHandler.jsm:280:10
[task 2020-02-24T18:42:28.346Z] 18:42:28     INFO - async*getMonitorData@resource:///modules/aboutpages/AboutProtectionsHandler.jsm:214:28
[task 2020-02-24T18:42:28.347Z] 18:42:28     INFO - receiveMessage@resource:///modules/aboutpages/AboutProtectionsHandler.jsm:405:22
[task 2020-02-24T18:42:28.347Z] 18:42:28     INFO - callListeners@resource://gre/modules/remotepagemanager/MessagePort.jsm:217:17
[task 2020-02-24T18:42:28.348Z] 18:42:28     INFO - portMessageReceived@resource://gre/modules/remotepagemanager/RemotePageManagerParent.jsm:94:19
[task 2020-02-24T18:42:28.349Z] 18:42:28     INFO - callListeners@resource://gre/modules/remotepagemanager/MessagePort.jsm:217:17
[task 2020-02-24T18:42:28.349Z] 18:42:28     INFO - handleMessage@resource://gre/modules/remotepagemanager/RemotePageManagerParent.jsm:267:19
[task 2020-02-24T18:42:28.349Z] 18:42:28     INFO - message@resource://gre/modules/remotepagemanager/MessagePort.jsm:384:10
[task 2020-02-24T18:42:28.350Z] 18:42:28     INFO - MessageListener.receiveMessage*addMessageListeners@resource://gre/modules/remotepagemanager/MessagePort.jsm:272:25
[task 2020-02-24T18:42:28.350Z] 18:42:28     INFO - MessagePort@resource://gre/modules/remotepagemanager/MessagePort.jsm:264:10
[task 2020-02-24T18:42:28.351Z] 18:42:28     INFO - ChromeMessagePort@resource://gre/modules/remotepagemanager/RemotePageManagerParent.jsm:197:5
[task 2020-02-24T18:42:28.351Z] 18:42:28     INFO - initPort@resource://gre/modules/remotepagemanager/RemotePageManagerParent.jsm:341:16
[task 2020-02-24T18:42:28.352Z] 18:42:28     INFO - MessageListener.receiveMessage*init@resource://gre/modules/remotepagemanager/RemotePageManagerParent.jsm:296:17
[task 2020-02-24T18:42:28.352Z] 18:42:28     INFO - @resource://gre/modules/remotepagemanager/RemotePageManagerParent.jsm:350:27
[task 2020-02-24T18:42:28.353Z] 18:42:28     INFO - startup@resource://gre/modules/AddonManager.jsm:828:41
[task 2020-02-24T18:42:28.353Z] 18:42:28     INFO - startup@resource://gre/modules/AddonManager.jsm:3482:26
[task 2020-02-24T18:42:28.354Z] 18:42:28     INFO - observe@resource://gre/modules/addonManager.js:87:29
[task 2020-02-24T18:42:28.354Z] 18:42:28     INFO - 
[task 2020-02-24T18:42:28.355Z] 18:42:28     INFO - Buffered messages finished
[task 2020-02-24T18:42:28.356Z] 18:42:28     INFO - TEST-UNEXPECTED-FAIL | browser/components/protections/test/browser/browser_protections_report_ui.js | Mobile promotions card is displayed - false == true - got false, expected true (operator ==)
[task 2020-02-24T18:42:28.356Z] 18:42:28     INFO - Stack trace:
[task 2020-02-24T18:42:28.357Z] 18:42:28     INFO - @chrome://mochitests/content/browser/browser/components/protections/test/browser/browser_protections_report_ui.js:743:12
[task 2020-02-24T18:42:28.357Z] 18:42:28     INFO - execute@resource://specialpowers/SpecialPowersSandbox.jsm:140:12
[task 2020-02-24T18:42:28.358Z] 18:42:28     INFO - _spawnTask@resource://specialpowers/SpecialPowersChild.jsm:1727:15
[task 2020-02-24T18:42:28.358Z] 18:42:28     INFO - receiveMessage@resource://specialpowers/SpecialPowersChild.jsm:285:21
[task 2020-02-24T18:42:28.358Z] 18:42:28     INFO - JSWindowActor query*receiveMessage@resource://specialpowers/SpecialPowersParent.jsm:1055:12
[task 2020-02-24T18:42:28.359Z] 18:42:28     INFO - JSWindowActor query*spawn@resource://specialpowers/SpecialPowersChild.jsm:1682:17
[task 2020-02-24T18:42:28.359Z] 18:42:28     INFO - test_etp_mobile_promotion@chrome://mochitests/content/browser/browser/components/protections/test/browser/browser_protections_report_ui.js:740:23
[task 2020-02-24T18:42:28.359Z] 18:42:28     INFO - Async*Tester_execTest/<@chrome://mochikit/content/browser-test.js:1062:34
[task 2020-02-24T18:42:28.360Z] 18:42:28     INFO - async*Tester_execTest@chrome://mochikit/content/browser-test.js:1097:11
[task 2020-02-24T18:42:28.360Z] 18:42:28     INFO - nextTest/<@chrome://mochikit/content/browser-test.js:925:14
[task 2020-02-24T18:42:28.360Z] 18:42:28     INFO - SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:914:23
Flags: needinfo?(ewright)

Erica is on PTO until March 11.
Johann, could you help to fix the patch and land it?

Flags: needinfo?(ewright) → needinfo?(jhofmann)

it's okay, this is 10 min, I have it taken care of.

Flags: needinfo?(jhofmann)
Pushed by ewright@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/41880a7fb6f0
Add mobile callout to the ETP card. r=fluent-reviewers,johannh,flod

Backed out changeset 41880a7fb6f0 (Bug 1612091) for causing browser chrome failures browser/components/protections/test/browser/browser_protections_telemetry.js

Push with failure: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=testfailed%2Cbusted%2Cexception&classifiedState=unclassified&revision=41880a7fb6f0973f0ce2ccdd8aee5205f6ec4e36

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

Backout link: https://treeherder.mozilla.org/#/jobs?repo=autoland&selectedJob=290254007&resultStatus=testfailed%2Cbusted%2Cexception&classifiedState=unclassified&revision=a8de612aab459edd791361658537dc17e5c25d5e

[task 2020-02-24T21:08:22.329Z] 21:08:22     INFO - TEST-PASS | browser/components/protections/test/browser/browser_protections_telemetry.js | recorded telemetry for lw_sync_link - 
[task 2020-02-24T21:08:22.330Z] 21:08:22     INFO - Buffered messages finished
[task 2020-02-24T21:08:22.331Z] 21:08:22     INFO - TEST-UNEXPECTED-FAIL | browser/components/protections/test/browser/browser_protections_telemetry.js | Uncaught exception - mobile-app-link exists - timed out after 50 tries.
[task 2020-02-24T21:08:22.332Z] 21:08:22     INFO - Leaving test bound checkTelemetryClickEvents
[task 2020-02-24T21:08:22.333Z] 21:08:22     INFO - Entering test bound test_save_telemetry
[task 2020-02-24T21:08:22.334Z] 21:08:22     INFO - TEST-PASS | browser/components/protections/test/browser/browser_protections_telemetry.js | undefined assertion name - 
[task 2020-02-24T21:08:22.335Z] 21:08:22     INFO - Leaving test bound test_save_telemetry
[task 2020-02-24T21:08:22.336Z] 21:08:22     INFO - GECKO(8353) | MEMORY STAT | vsize 3063MB | residentFast 360MB | heapAllocated 118MB
[task 2020-02-24T21:08:22.337Z] 21:08:22     INFO - TEST-OK | browser/components/protections/test/browser/browser_protections_telemetry.js | took 42424ms
[task 2020-02-24T21:08:22.338Z] 21:08:22     INFO - Not taking screenshot here: see the one that was previously logged
[task 2020-02-24T21:08:22.339Z] 21:08:22     INFO - TEST-UNEXPECTED-FAIL | browser/components/protections/test/browser/browser_protections_telemetry.js | Found an unexpected tab at the end of test run: about:logins - 
[task 2020-02-24T21:08:22.340Z] 21:08:22     INFO - GECKO(8353) | [Child 8752, Main Thread] WARNING: NS_ENSURE_TRUE(GetOwner() && !mCanceled) failed: file /builds/worker/workspace/build/src/image/imgRequestProxy.cpp, line 923
[task 2020-02-24T21:08:22.341Z] 21:08:22     INFO - GECKO(8353) | [Child 8752, Main Thread] WARNING: NS_ENSURE_TRUE(GetOwner() && !mCanceled) failed: file /builds/worker/workspace/build/src/image/imgRequestProxy.cpp, line 923
[task 2020-02-24T21:08:22.342Z] 21:08:22     INFO - GECKO(8353) | [Child 8752, Main Thread] WARNING: NS_ENSURE_TRUE(GetOwner() && !mCanceled) failed: file /builds/worker/workspace/build/src/image/imgRequestProxy.cpp, line 923
[task 2020-02-24T21:08:22.343Z] 21:08:22     INFO - GECKO(8353) | [Child 8752, Main Thread] WARNING: NS_ENSURE_TRUE(GetOwner() && !mCanceled) failed: file /builds/worker/workspace/build/src/image/imgRequestProxy.cpp, line 923
[task 2020-02-24T21:08:22.344Z] 21:08:22     INFO - GECKO(8353) | [Child 8752, Main Thread] WARNING: NS_ENSURE_TRUE(GetOwner() && !mCanceled) failed: file /builds/worker/workspace/build/src/image/imgRequestProxy.cpp, line 923
[task 2020-02-24T21:08:22.345Z] 21:08:22     INFO - GECKO(8353) | [Child 8752, Main Thread] WARNING: NS_ENSURE_TRUE(GetOwner() && !mCanceled) failed: file /builds/worker/workspace/build/src/image/imgRequestProxy.cpp, line 923
[task 2020-02-24T21:08:22.347Z] 21:08:22     INFO - GECKO(8353) | [Child 8752, Main Thread] WARNING: NS_ENSURE_TRUE(GetOwner() && !mCanceled) failed: file /builds/worker/workspace/build/src/image/imgRequestProxy.cpp, line 923
[task 2020-02-24T21:08:22.348Z] 21:08:22     INFO - GECKO(8353) | [Child 8752, Main Thread] WARNING: NS_ENSURE_TRUE(GetOwner() && !mCanceled) failed: file /builds/worker/workspace/build/src/image/imgRequestProxy.cpp, line 923
[task 2020-02-24T21:08:22.349Z] 21:08:22     INFO - Not taking screenshot here: see the one that was previously logged
[task 2020-02-24T21:08:22.350Z] 21:08:22     INFO - TEST-UNEXPECTED-FAIL | browser/components/protections/test/browser/browser_protections_telemetry.js | Found an unexpected tab at the end of test run: about:logins - 
[task 2020-02-24T21:08:22.351Z] 21:08:22     INFO - GECKO(8353) | [Child 8752, Main Thread] WARNING: SendNotifyIMEFocus got rejected.: file /builds/worker/workspace/build/src/widget/PuppetWidget.cpp, line 793
[task 2020-02-24T21:08:22.352Z] 21:08:22     INFO - Not taking screenshot here: see the one that was previously logged
[task 2020-02-24T21:08:22.353Z] 21:08:22     INFO - TEST-UNEXPECTED-FAIL | browser/components/protections/test/browser/browser_protections_telemetry.js | Found an unexpected tab at the end of test run: about:preferences#sync - 
[task 2020-02-24T21:08:22.354Z] 21:08:22     INFO - GECKO(8353) | [Child 8752, Main Thread] WARNING: SendNotifyIMEFocus got rejected.: file /builds/worker/workspace/build/src/widget/PuppetWidget.cpp, line 793
[task 2020-02-24T21:08:22.355Z] 21:08:22     INFO - GECKO(8353) | [Child 8752, Main Thread] WARNING: SendNotifyIMEFocus got rejected.: file /builds/worker/workspace/build/src/widget/PuppetWidget.cpp, line 793
[task 2020-02-24T21:08:22.356Z] 21:08:22     INFO - GECKO(8353) | [Parent 8353, Main Thread] WARNING: '!inner', file /builds/worker/workspace/build/src/dom/ipc/JSWindowActorService.cpp, line 182
[task 2020-02-24T21:08:22.356Z] 21:08:22     INFO - Not taking screenshot here: see the one that was previously logged
[task 2020-02-24T21:08:22.357Z] 21:08:22     INFO - TEST-UNEXPECTED-FAIL | browser/components/protections/test/browser/browser_protections_telemetry.js | Found an unexpected tab at the end of test run: about:protections - 
[task 2020-02-24T21:08:22.397Z] 21:08:22     INFO - GECKO(8353) | [Child 8592: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x7f7b8841c000 == 1 [pid = 8592] [id = {005bc5ba-075c-40c4-b765-70cc0436d5f9}]
[task 2020-02-24T21:08:22.399Z] 21:08:22     INFO - GECKO(8353) | [Child 8592: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 1 (0x7f7ba3793520) [pid = 8592] [serial = 3] [outer = (nil)]
[task 2020-02-24T21:08:22.400Z] 21:08:22     INFO - GECKO(8353) | [Child 8592, Main Thread] WARNING: NS_ENSURE_TRUE(mPresShell) failed: file /builds/worker/workspace/build/src/layout/base/nsPresContext.cpp, line 847
[task 2020-02-24T21:08:22.401Z] 21:08:22     INFO - GECKO(8353) | [Child 8592: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 2 (0x7f7b88825000) [pid = 8592] [serial = 4] [outer = 0x7f7ba3793520]
[task 2020-02-24T21:08:22.438Z] 21:08:22     INFO - GECKO(8353) | [Child 8592: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 3 (0x7f7b8882b000) [pid = 8592] [serial = 5] [outer = 0x7f7ba3793520]
Flags: needinfo?(ewright)
Pushed by jhofmann@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/bf161e554d1f
Add mobile callout to the ETP card. r=fluent-reviewers,johannh,flod
Flags: needinfo?(ewright) → needinfo?(jhofmann)
Flags: needinfo?(jhofmann)
Pushed by jhofmann@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/f3882467c425
Add mobile callout to the ETP card. r=fluent-reviewers,johannh,flod
Blocks: 1618778
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 75
Depends on: 1619314
Depends on: 1619318
Depends on: 1619517
Flags: qe-verify+

We tested the fix on Windows 10 x64, Windows 7 x64 (x86 Fx build), Ubuntu 18.04 x64 and macOS 10.15. Everything seems to be working fine.

Status: RESOLVED → VERIFIED
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: