зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1567268 - [2.0] Update GVE and tests to reflect better ETP reporting. r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D40695 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
8ac0d59281
Коммит
94defbb792
|
@ -197,8 +197,8 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
|
||||
@Setting(key = Setting.Key.USE_TRACKING_PROTECTION, value = "true")
|
||||
@Test fun trackingProtection() {
|
||||
val category = ContentBlocking.AT_TEST
|
||||
sessionRule.runtime.settings.contentBlocking.categories = category
|
||||
val category = ContentBlocking.AntiTracking.TEST
|
||||
sessionRule.runtime.settings.contentBlocking.setAntiTracking(category)
|
||||
sessionRule.session.loadTestPath(TRACKERS_PATH)
|
||||
|
||||
sessionRule.waitUntilCalled(
|
||||
|
@ -207,11 +207,15 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
override fun onContentBlocked(session: GeckoSession,
|
||||
event: ContentBlocking.BlockEvent) {
|
||||
assertThat("Category should be set",
|
||||
event.categories,
|
||||
event.antiTrackingCategory,
|
||||
equalTo(category))
|
||||
assertThat("URI should not be null", event.uri, notNullValue())
|
||||
assertThat("URI should match", event.uri, endsWith("tracker.js"))
|
||||
}
|
||||
|
||||
@AssertCalled(false)
|
||||
override fun onContentLoaded(session: GeckoSession, event: ContentBlocking.BlockEvent) {
|
||||
}
|
||||
})
|
||||
|
||||
sessionRule.session.settings.useTrackingProtection = false
|
||||
|
@ -225,6 +229,15 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
override fun onContentBlocked(session: GeckoSession,
|
||||
event: ContentBlocking.BlockEvent) {
|
||||
}
|
||||
|
||||
@AssertCalled(count = 3)
|
||||
override fun onContentLoaded(session: GeckoSession, event: ContentBlocking.BlockEvent) {
|
||||
assertThat("Category should be set",
|
||||
event.antiTrackingCategory,
|
||||
equalTo(category))
|
||||
assertThat("URI should not be null", event.uri, notNullValue())
|
||||
assertThat("URI should match", event.uri, endsWith("tracker.js"))
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -291,9 +304,9 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
|
||||
@Test fun bypassClassifier() {
|
||||
val phishingUri = "https://www.itisatrap.org/firefox/its-a-trap.html"
|
||||
val category = ContentBlocking.SB_PHISHING
|
||||
val category = ContentBlocking.SafeBrowsing.PHISHING
|
||||
|
||||
sessionRule.runtime.settings.contentBlocking.categories = category
|
||||
sessionRule.runtime.settings.contentBlocking.setSafeBrowsing(category)
|
||||
|
||||
sessionRule.session.loadUri(phishingUri + "?bypass=true",
|
||||
GeckoSession.LOAD_FLAGS_BYPASS_CLASSIFIER)
|
||||
|
@ -311,17 +324,16 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
|
||||
@Test fun safebrowsingPhishing() {
|
||||
val phishingUri = "https://www.itisatrap.org/firefox/its-a-trap.html"
|
||||
val category = ContentBlocking.SB_PHISHING
|
||||
val category = ContentBlocking.SafeBrowsing.PHISHING
|
||||
|
||||
sessionRule.runtime.settings.contentBlocking.categories = category
|
||||
sessionRule.runtime.settings.contentBlocking.setSafeBrowsing(category)
|
||||
|
||||
// Add query string to avoid bypassing classifier check because of cache.
|
||||
testLoadExpectError(phishingUri + "?block=true",
|
||||
WebRequestError.ERROR_CATEGORY_SAFEBROWSING,
|
||||
WebRequestError.ERROR_SAFEBROWSING_PHISHING_URI)
|
||||
|
||||
sessionRule.runtime.settings.contentBlocking.categories =
|
||||
ContentBlocking.NONE
|
||||
sessionRule.runtime.settings.contentBlocking.setSafeBrowsing(ContentBlocking.SafeBrowsing.NONE)
|
||||
|
||||
sessionRule.session.loadUri(phishingUri + "?block=false")
|
||||
sessionRule.session.waitForPageStop()
|
||||
|
@ -338,16 +350,15 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
|
||||
@Test fun safebrowsingMalware() {
|
||||
val malwareUri = "https://www.itisatrap.org/firefox/its-an-attack.html"
|
||||
val category = ContentBlocking.SB_MALWARE
|
||||
val category = ContentBlocking.SafeBrowsing.MALWARE
|
||||
|
||||
sessionRule.runtime.settings.contentBlocking.categories = category
|
||||
sessionRule.runtime.settings.contentBlocking.setSafeBrowsing(category)
|
||||
|
||||
testLoadExpectError(malwareUri + "?block=true",
|
||||
WebRequestError.ERROR_CATEGORY_SAFEBROWSING,
|
||||
WebRequestError.ERROR_SAFEBROWSING_MALWARE_URI)
|
||||
|
||||
sessionRule.runtime.settings.contentBlocking.categories =
|
||||
ContentBlocking.NONE
|
||||
sessionRule.runtime.settings.contentBlocking.setSafeBrowsing(ContentBlocking.SafeBrowsing.NONE)
|
||||
|
||||
sessionRule.session.loadUri(malwareUri + "?block=false")
|
||||
sessionRule.session.waitForPageStop()
|
||||
|
@ -364,16 +375,15 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
|
||||
@Test fun safebrowsingUnwanted() {
|
||||
val unwantedUri = "https://www.itisatrap.org/firefox/unwanted.html"
|
||||
val category = ContentBlocking.SB_UNWANTED
|
||||
val category = ContentBlocking.SafeBrowsing.UNWANTED
|
||||
|
||||
sessionRule.runtime.settings.contentBlocking.categories = category
|
||||
sessionRule.runtime.settings.contentBlocking.setSafeBrowsing(category)
|
||||
|
||||
testLoadExpectError(unwantedUri + "?block=true",
|
||||
WebRequestError.ERROR_CATEGORY_SAFEBROWSING,
|
||||
WebRequestError.ERROR_SAFEBROWSING_UNWANTED_URI)
|
||||
|
||||
sessionRule.runtime.settings.contentBlocking.categories =
|
||||
ContentBlocking.NONE
|
||||
sessionRule.runtime.settings.contentBlocking.setSafeBrowsing(ContentBlocking.SafeBrowsing.NONE)
|
||||
|
||||
sessionRule.session.loadUri(unwantedUri + "?block=false")
|
||||
sessionRule.session.waitForPageStop()
|
||||
|
@ -390,16 +400,15 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
|
||||
@Test fun safebrowsingHarmful() {
|
||||
val harmfulUri = "https://www.itisatrap.org/firefox/harmful.html"
|
||||
val category = ContentBlocking.SB_HARMFUL
|
||||
val category = ContentBlocking.SafeBrowsing.HARMFUL
|
||||
|
||||
sessionRule.runtime.settings.contentBlocking.categories = category
|
||||
sessionRule.runtime.settings.contentBlocking.setSafeBrowsing(category)
|
||||
|
||||
testLoadExpectError(harmfulUri + "?block=true",
|
||||
WebRequestError.ERROR_CATEGORY_SAFEBROWSING,
|
||||
WebRequestError.ERROR_SAFEBROWSING_HARMFUL_URI)
|
||||
|
||||
sessionRule.runtime.settings.contentBlocking.categories =
|
||||
ContentBlocking.NONE
|
||||
sessionRule.runtime.settings.contentBlocking.setSafeBrowsing(ContentBlocking.SafeBrowsing.NONE)
|
||||
|
||||
sessionRule.session.loadUri(harmfulUri + "?block=false")
|
||||
sessionRule.session.waitForPageStop()
|
||||
|
|
|
@ -151,7 +151,9 @@ public class GeckoViewActivity extends AppCompatActivity {
|
|||
.remoteDebuggingEnabled(mEnableRemoteDebugging)
|
||||
.consoleOutput(true)
|
||||
.contentBlocking(new ContentBlocking.Settings.Builder()
|
||||
.categories(ContentBlocking.AT_DEFAULT)
|
||||
.antiTracking(ContentBlocking.AntiTracking.DEFAULT)
|
||||
.safeBrowsing(ContentBlocking.SafeBrowsing.DEFAULT)
|
||||
.cookieBehavior(ContentBlocking.CookieBehavior.ACCEPT_NON_TRACKERS)
|
||||
.build())
|
||||
.crashHandler(ExampleCrashHandler.class)
|
||||
.telemetryDelegate(new ExampleTelemetryDelegate());
|
||||
|
@ -1063,24 +1065,42 @@ public class GeckoViewActivity extends AppCompatActivity {
|
|||
@Override
|
||||
public void onContentBlocked(final GeckoSession session,
|
||||
final ContentBlocking.BlockEvent event) {
|
||||
Log.d(LOGTAG, "onContentBlocked " + event.categories +
|
||||
" (" + event.uri + ")");
|
||||
if ((event.categories & ContentBlocking.AT_TEST) != 0) {
|
||||
Log.d(LOGTAG, "onContentBlocked" +
|
||||
" AT: " + event.getAntiTrackingCategory() +
|
||||
" SB: " + event.getSafeBrowsingCategory() +
|
||||
" CB: " + event.getCookieBehaviorCategory() +
|
||||
" URI: " + event.uri);
|
||||
if ((event.getAntiTrackingCategory() &
|
||||
ContentBlocking.AntiTracking.TEST) != 0) {
|
||||
mBlockedTest++;
|
||||
}
|
||||
if ((event.categories & ContentBlocking.AT_AD) != 0) {
|
||||
if ((event.getAntiTrackingCategory() &
|
||||
ContentBlocking.AntiTracking.AD) != 0) {
|
||||
mBlockedAds++;
|
||||
}
|
||||
if ((event.categories & ContentBlocking.AT_ANALYTIC) != 0) {
|
||||
if ((event.getAntiTrackingCategory() &
|
||||
ContentBlocking.AntiTracking.ANALYTIC) != 0) {
|
||||
mBlockedAnalytics++;
|
||||
}
|
||||
if ((event.categories & ContentBlocking.AT_SOCIAL) != 0) {
|
||||
if ((event.getAntiTrackingCategory() &
|
||||
ContentBlocking.AntiTracking.SOCIAL) != 0) {
|
||||
mBlockedSocial++;
|
||||
}
|
||||
if ((event.categories & ContentBlocking.AT_CONTENT) != 0) {
|
||||
if ((event.getAntiTrackingCategory() &
|
||||
ContentBlocking.AntiTracking.CONTENT) != 0) {
|
||||
mBlockedContent++;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onContentLoaded(final GeckoSession session,
|
||||
final ContentBlocking.BlockEvent event) {
|
||||
Log.d(LOGTAG, "onContentLoaded" +
|
||||
" AT: " + event.getAntiTrackingCategory() +
|
||||
" SB: " + event.getSafeBrowsingCategory() +
|
||||
" CB: " + event.getCookieBehaviorCategory() +
|
||||
" URI: " + event.uri);
|
||||
}
|
||||
}
|
||||
|
||||
private class ExampleMediaDelegate
|
||||
|
|
Загрузка…
Ссылка в новой задаче