Closed Bug 1773695 Opened 2 years ago Closed 2 years ago

Implement email tracking URL classifier feature

Categories

(Core :: Privacy: Anti-Tracking, task, P2)

task

Tracking

()

RESOLVED FIXED
104 Branch
Tracking Status
firefox104 --- fixed

People

(Reporter: timhuang, Assigned: timhuang)

References

(Blocks 1 open bug)

Details

(Whiteboard: [FXATPS-EmailTrackingProtection])

Attachments

(6 files)

No description provided.
Assignee: nobody → tihuang
Status: NEW → ASSIGNED
Pushed by tihuang@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/fb625ae08f73
Part 1: Add prefs for email tracking protection. r=dimi
https://hg.mozilla.org/integration/autoland/rev/f4770b2fe53d
Part 2: Add flags for the email tracking protections. r=dimi
https://hg.mozilla.org/integration/autoland/rev/8ef4d3597d92
Part 3: Implement email tracking url classifier feature. r=dimi
https://hg.mozilla.org/integration/autoland/rev/001c38822c53
Part 4: Add email tracking flags to webrequest. r=mixedpuppy
https://hg.mozilla.org/integration/autoland/rev/f402f1bd4caa
Part 5: Add a test for the email tracking protection. r=dimi

Backed out for causing Bp-hybrid bustages on UrlClassifierFeatureEmailTrackingProtection
Backout link
Push with failures
Link to failure log
Failure line :
/builds/worker/checkouts/gecko/netwerk/url-classifier/UrlClassifierFeatureEmailTrackingProtection.cpp:42:6: error: use of undeclared identifier 'nsIClassifiedChannel'

New failure line :
TEST-UNEXPECTED-FAIL | xpcshell.ini:toolkit/components/extensions/test/xpcshell/test_ext_webRequest_urlclassification.js | xpcshell return code: 0
TEST-UNEXPECTED-FAIL | xpcshell.ini:toolkit/components/extensions/test/xpcshell/test_ext_webRequest_urlclassification.js | test_webrequest_url_classification_enum - [test_webrequest_url_classification_enum : 28] schema emailtracking is in IDL - false == true
Failure log

Flags: needinfo?(tihuang)
Pushed by tihuang@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/6c7bd0531bc6
Part 1: Add prefs for email tracking protection. r=dimi
https://hg.mozilla.org/integration/autoland/rev/cd29b0766f86
Part 2: Add flags for the email tracking protections. r=dimi
https://hg.mozilla.org/integration/autoland/rev/1c2556d56a53
Part 3: Implement email tracking url classifier feature. r=dimi
https://hg.mozilla.org/integration/autoland/rev/db926abd402c
Part 4: Add email tracking flags to webrequest. r=mixedpuppy
https://hg.mozilla.org/integration/autoland/rev/f1d59396c406
Part 5: Add a test for the email tracking protection. r=dimi

Backed out for causing condprof xpcshell failures on test_ext_webRequest_urlclassification.js.

Push with failures

Failure log

Backout link

[task 2022-07-15T15:51:30.437Z] 15:51:30     INFO -  TEST-START | xpcshell.ini:toolkit/components/extensions/test/xpcshell/test_ext_webRequest_urlclassification.js
[task 2022-07-15T15:51:30.744Z] 15:51:30  WARNING -  TEST-UNEXPECTED-FAIL | xpcshell.ini:toolkit/components/extensions/test/xpcshell/test_ext_webRequest_urlclassification.js | xpcshell return code: 0
[task 2022-07-15T15:51:30.744Z] 15:51:30     INFO -  TEST-INFO took 305ms
[task 2022-07-15T15:51:30.744Z] 15:51:30     INFO -  >>>>>>>
[task 2022-07-15T15:51:30.752Z] 15:51:30     INFO -  (xpcshell/head.js) | test MAIN run_test pending (1)
[task 2022-07-15T15:51:30.752Z] 15:51:30     INFO -  (xpcshell/head.js) | test run_next_test 0 pending (2)
[task 2022-07-15T15:51:30.752Z] 15:51:30     INFO -  (xpcshell/head.js) | test MAIN run_test finished (2)
[task 2022-07-15T15:51:30.752Z] 15:51:30     INFO -  running event loop
[task 2022-07-15T15:51:30.752Z] 15:51:30     INFO -  xpcshell.ini:toolkit/components/extensions/test/xpcshell/test_ext_webRequest_urlclassification.js | Starting setup check_remote
[task 2022-07-15T15:51:30.752Z] 15:51:30     INFO -  (xpcshell/head.js) | test check_remote pending (2)
[task 2022-07-15T15:51:30.752Z] 15:51:30     INFO -  TEST-PASS | xpcshell.ini:toolkit/components/extensions/test/xpcshell/test_ext_webRequest_urlclassification.js | check_remote - [check_remote : 1] useRemoteWebExtensions matches - false == false
[task 2022-07-15T15:51:30.752Z] 15:51:30     INFO -  TEST-PASS | xpcshell.ini:toolkit/components/extensions/test/xpcshell/test_ext_webRequest_urlclassification.js | check_remote - [check_remote : 1] testing from extension process - true == true
[task 2022-07-15T15:51:30.752Z] 15:51:30     INFO -  (xpcshell/head.js) | test run_next_test 0 finished (2)
[task 2022-07-15T15:51:30.752Z] 15:51:30     INFO -  (xpcshell/head.js) | test run_next_test 1 pending (2)
[task 2022-07-15T15:51:30.752Z] 15:51:30     INFO -  (xpcshell/head.js) | test check_remote finished (2)
[task 2022-07-15T15:51:30.752Z] 15:51:30     INFO -  xpcshell.ini:toolkit/components/extensions/test/xpcshell/test_ext_webRequest_urlclassification.js | Starting test_webrequest_url_classification_enum
[task 2022-07-15T15:51:30.752Z] 15:51:30     INFO -  (xpcshell/head.js) | test test_webrequest_url_classification_enum pending (2)
[task 2022-07-15T15:51:30.752Z] 15:51:30     INFO -  (xpcshell/head.js) | test run_next_test 1 finished (2)
[task 2022-07-15T15:51:30.752Z] 15:51:30     INFO -  TEST-PASS | xpcshell.ini:toolkit/components/extensions/test/xpcshell/test_ext_webRequest_urlclassification.js | test_webrequest_url_classification_enum - [test_webrequest_url_classification_enum : 16] UrlClassificationFlags: ["fingerprinting","fingerprinting_content","cryptomining","cryptomining_content","tracking","tracking_ad","tracking_analytics","tracking_social","tracking_content","any_basic_tracking","any_strict_tracking","any_social_tracking"] - true == true
[task 2022-07-15T15:51:30.752Z] 15:51:30     INFO -  TEST-PASS | xpcshell.ini:toolkit/components/extensions/test/xpcshell/test_ext_webRequest_urlclassification.js | test_webrequest_url_classification_enum - [test_webrequest_url_classification_enum : 28] schema fingerprinting is in IDL - true == true
[task 2022-07-15T15:51:30.752Z] 15:51:30     INFO -  TEST-PASS | xpcshell.ini:toolkit/components/extensions/test/xpcshell/test_ext_webRequest_urlclassification.js | test_webrequest_url_classification_enum - [test_webrequest_url_classification_enum : 28] schema fingerprinting_content is in IDL - true == true
[task 2022-07-15T15:51:30.752Z] 15:51:30     INFO -  TEST-PASS | xpcshell.ini:toolkit/components/extensions/test/xpcshell/test_ext_webRequest_urlclassification.js | test_webrequest_url_classification_enum - [test_webrequest_url_classification_enum : 28] schema cryptomining is in IDL - true == true
[task 2022-07-15T15:51:30.752Z] 15:51:30     INFO -  TEST-PASS | xpcshell.ini:toolkit/components/extensions/test/xpcshell/test_ext_webRequest_urlclassification.js | test_webrequest_url_classification_enum - [test_webrequest_url_classification_enum : 28] schema cryptomining_content is in IDL - true == true
[task 2022-07-15T15:51:30.752Z] 15:51:30     INFO -  TEST-PASS | xpcshell.ini:toolkit/components/extensions/test/xpcshell/test_ext_webRequest_urlclassification.js | test_webrequest_url_classification_enum - [test_webrequest_url_classification_enum : 28] schema tracking is in IDL - true == true
[task 2022-07-15T15:51:30.753Z] 15:51:30     INFO -  TEST-PASS | xpcshell.ini:toolkit/components/extensions/test/xpcshell/test_ext_webRequest_urlclassification.js | test_webrequest_url_classification_enum - [test_webrequest_url_classification_enum : 28] schema tracking_ad is in IDL - true == true
[task 2022-07-15T15:51:30.753Z] 15:51:30     INFO -  TEST-PASS | xpcshell.ini:toolkit/components/extensions/test/xpcshell/test_ext_webRequest_urlclassification.js | test_webrequest_url_classification_enum - [test_webrequest_url_classification_enum : 28] schema tracking_analytics is in IDL - true == true
[task 2022-07-15T15:51:30.753Z] 15:51:30     INFO -  TEST-PASS | xpcshell.ini:toolkit/components/extensions/test/xpcshell/test_ext_webRequest_urlclassification.js | test_webrequest_url_classification_enum - [test_webrequest_url_classification_enum : 28] schema tracking_social is in IDL - true == true
[task 2022-07-15T15:51:30.753Z] 15:51:30     INFO -  TEST-PASS | xpcshell.ini:toolkit/components/extensions/test/xpcshell/test_ext_webRequest_urlclassification.js | test_webrequest_url_classification_enum - [test_webrequest_url_classification_enum : 28] schema tracking_content is in IDL - true == true
[task 2022-07-15T15:51:30.753Z] 15:51:30  WARNING -  TEST-UNEXPECTED-FAIL | xpcshell.ini:toolkit/components/extensions/test/xpcshell/test_ext_webRequest_urlclassification.js | test_webrequest_url_classification_enum - [test_webrequest_url_classification_enum : 28] schema emailtracking is in IDL - false == true
[task 2022-07-15T15:51:30.753Z] 15:51:30     INFO -  /builds/worker/workspace/build/tests/xpcshell/tests/toolkit/components/extensions/test/xpcshell/test_ext_webRequest_urlclassification.js:test_webrequest_url_classification_enum:28
[task 2022-07-15T15:51:30.753Z] 15:51:30     INFO -  /builds/worker/workspace/build/tests/xpcshell/head.js:_do_main:238
[task 2022-07-15T15:51:30.753Z] 15:51:30     INFO -  /builds/worker/workspace/build/tests/xpcshell/head.js:_execute_test:595
[task 2022-07-15T15:51:30.753Z] 15:51:30     INFO -  -e:null:1
[task 2022-07-15T15:51:30.753Z] 15:51:30     INFO -  exiting test
[task 2022-07-15T15:51:30.753Z] 15:51:30     INFO -  Unexpected exception NS_ERROR_ABORT:
[task 2022-07-15T15:51:30.753Z] 15:51:30     INFO -  _abort_failed_test@/builds/worker/workspace/build/tests/xpcshell/head.js:866:20
[task 2022-07-15T15:51:30.753Z] 15:51:30     INFO -  do_report_result@/builds/worker/workspace/build/tests/xpcshell/head.js:967:5
[task 2022-07-15T15:51:30.753Z] 15:51:30     INFO -  Assert<@/builds/worker/workspace/build/tests/xpcshell/head.js:73:21
[task 2022-07-15T15:51:30.753Z] 15:51:30     INFO -  proto.report@resource://testing-common/Assert.jsm:228:10
[task 2022-07-15T15:51:30.753Z] 15:51:30     INFO -  proto.ok@resource://testing-common/Assert.jsm:254:10
[task 2022-07-15T15:51:30.753Z] 15:51:30     INFO -  test_webrequest_url_classification_enum@/builds/worker/workspace/build/tests/xpcshell/tests/toolkit/components/extensions/test/xpcshell/test_ext_webRequest_urlclassification.js:28:9
[task 2022-07-15T15:51:30.753Z] 15:51:30     INFO -  _do_main@/builds/worker/workspace/build/tests/xpcshell/head.js:238:6
[task 2022-07-15T15:51:30.753Z] 15:51:30     INFO -  _execute_test@/builds/worker/workspace/build/tests/xpcshell/head.js:595:5
[task 2022-07-15T15:51:30.753Z] 15:51:30     INFO -  @-e:1:1
[task 2022-07-15T15:51:30.753Z] 15:51:30     INFO -  exiting test
[task 2022-07-15T15:51:30.753Z] 15:51:30     INFO -  <<<<<<<
[task 2022-07-15T15:51:32.084Z] 15:51:32     INFO -  INFO | Result summary:
[task 2022-07-15T15:51:32.084Z] 15:51:32     INFO -  INFO | Passed: 35
[task 2022-07-15T15:51:32.086Z] 15:51:32  WARNING -  INFO | Failed: 1
[task 2022-07-15T15:51:32.086Z] 15:51:32  WARNING -  One or more unittests failed.
[task 2022-07-15T15:51:32.086Z] 15:51:32     INFO -  INFO | Todo: 0
[task 2022-07-15T15:51:32.086Z] 15:51:32     INFO -  INFO | Retried: 1
[task 2022-07-15T15:51:32.086Z] 15:51:32     INFO -  SUITE-END | took 415s
[task 2022-07-15T15:51:32.086Z] 15:51:32     INFO -  Node moz-http2 server shutting down ...
[task 2022-07-15T15:51:32.089Z] 15:51:32     INFO -  http3Server server shutting down ...
[task 2022-07-15T15:51:32.270Z] 15:51:32    ERROR - Return code: 1
[task 2022-07-15T15:51:32.271Z] 15:51:32     INFO - TinderboxPrint: xpcshell-xpcshell<br/>35/<em class="testfail">1</em>/0
[task 2022-07-15T15:51:32.272Z] 15:51:32  WARNING - # TBPL FAILURE #
[task 2022-07-15T15:51:32.272Z] 15:51:32  WARNING - setting return code to 2
[task 2022-07-15T15:51:32.272Z] 15:51:32  WARNING - The xpcshell suite: xpcshell ran with return status: FAILURE
Flags: needinfo?(tihuang)
Flags: needinfo?(tihuang)

From the log, it looks to me that the web_request schema doesn't contain the emailtracking and emailtracking_content when running the conditioned profile test. I cannot reproduce the same failure in my local build with the regular xpcshell test. The schema in my local test has both enums.

It's weird because the difference between the regular test and the conditioned profile test is the profile used for the test. Does this mean that the extension schema is located in the profile instead of the firefox object, or it's some sort of caching mechanism in the profile?

Shane, do you know what can make this test fail in the conditioned profile test? Thanks.

Flags: needinfo?(tihuang) → needinfo?(mixedpuppy)

I can confirm that it's the StartupCache that makes the test fail. I can fix the issue by removing the webext.sc.lz4(StartupCache file for extensions). I also found out that one test has done the same thing to avoid test failure in conditioned profile tests.

I will add another patch to fix the test.

Flags: needinfo?(mixedpuppy)

The patch adds a code to remove the startup cache file "webext.sc.lz4"
before running the tests in test_ext_webRequest_urlclassification.js.
This avoids the test to use an old web_request schema that is cached by
the StartupCache.

Depends on D151051

Pushed by tihuang@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2022fb62ccf5
Part 1: Add prefs for email tracking protection. r=dimi
https://hg.mozilla.org/integration/autoland/rev/1324bc495159
Part 2: Add flags for the email tracking protections. r=dimi
https://hg.mozilla.org/integration/autoland/rev/bd1c7581397b
Part 3: Implement email tracking url classifier feature. r=dimi
https://hg.mozilla.org/integration/autoland/rev/cb8f4b8ff31d
Part 4: Add email tracking flags to webrequest. r=mixedpuppy
https://hg.mozilla.org/integration/autoland/rev/68f89e27d331
Part 5: Add a test for the email tracking protection. r=dimi
https://hg.mozilla.org/integration/autoland/rev/d41d9a65cf6f
Part 6: Removing the startup cache file in the beginning of the test test_ext_webRequest_urlclassification.js. r=mixedpuppy
Regressions: 1817662
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: