New issue
Advanced search Search tips

Issue 881345 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

Add UMA and UKM for drive-by-downloads in ads

Project Member Reported by jkarlin@chromium.org, Sep 6

Issue description

We want to measure the number of downloads that occur in ad subframes without user gesture. This gives us an idea of the number of drive-by downloads that happen in ad subframes that we could potentially intervene against.


 
Project Member

Comment 1 by bugdroid1@chromium.org, Oct 8

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

commit f8e5a4f4139eb6a7aeba6ae45204e6ea6565ce2d
Author: Yao Xiao <yaoxia@chromium.org>
Date: Mon Oct 08 16:11:05 2018

Add OnDidInternalNavigationAbort observer method

It allows us to observe mainframe download in PageLoadMetricsObserver.

Bug: 881345
Change-Id: Icc5a3fb9dd645b9bdc291b64030789312614b74d
Reviewed-on: https://chromium-review.googlesource.com/c/1260566
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Josh Karlin <jkarlin@chromium.org>
Commit-Queue: Yao Xiao <yaoxia@chromium.org>
Cr-Commit-Position: refs/heads/master@{#597576}
[modify] https://crrev.com/f8e5a4f4139eb6a7aeba6ae45204e6ea6565ce2d/chrome/browser/page_load_metrics/metrics_web_contents_observer.cc
[modify] https://crrev.com/f8e5a4f4139eb6a7aeba6ae45204e6ea6565ce2d/chrome/browser/page_load_metrics/metrics_web_contents_observer_unittest.cc
[modify] https://crrev.com/f8e5a4f4139eb6a7aeba6ae45204e6ea6565ce2d/chrome/browser/page_load_metrics/page_load_metrics_observer.h
[modify] https://crrev.com/f8e5a4f4139eb6a7aeba6ae45204e6ea6565ce2d/chrome/browser/page_load_metrics/page_load_tracker.cc
[modify] https://crrev.com/f8e5a4f4139eb6a7aeba6ae45204e6ea6565ce2d/chrome/browser/page_load_metrics/page_load_tracker.h
[modify] https://crrev.com/f8e5a4f4139eb6a7aeba6ae45204e6ea6565ce2d/content/public/test/navigation_simulator.cc
[modify] https://crrev.com/f8e5a4f4139eb6a7aeba6ae45204e6ea6565ce2d/content/public/test/navigation_simulator.h
[modify] https://crrev.com/f8e5a4f4139eb6a7aeba6ae45204e6ea6565ce2d/content/public/test/web_contents_tester.h
[modify] https://crrev.com/f8e5a4f4139eb6a7aeba6ae45204e6ea6565ce2d/content/test/navigation_simulator_unittest.cc
[modify] https://crrev.com/f8e5a4f4139eb6a7aeba6ae45204e6ea6565ce2d/content/test/test_web_contents.cc
[modify] https://crrev.com/f8e5a4f4139eb6a7aeba6ae45204e6ea6565ce2d/content/test/test_web_contents.h

Project Member

Comment 2 by bugdroid1@chromium.org, Oct 18

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

commit 52e0e55d4f74fd2b1357c4bf153e9033aca57415
Author: Yao Xiao <yaoxia@chromium.org>
Date: Thu Oct 18 21:03:02 2018

Add UMA metrics for download frame type and gesture type

For each download, it records the following dimensions:
- FrameType: kMainFrame/kSameOriginAdSubframe/kSameOriginNonAdSubframe
             /kCrossOriginAdSubframe/kCrossOriginNonAdSubframe
- GestureType: kWithoutGesture/kWithGesture

The code where download behavior is identifiable and ad bit is accessible
lives in two distinct places. They will be sharing
blink/public/common/download/download_stats.h to log the metrics.

Bug: 881345
Change-Id: Ic9f62b8b4eee3e55212df9e336f0ac10ce962c85
Reviewed-on: https://chromium-review.googlesource.com/c/1230441
Commit-Queue: Yao Xiao <yaoxia@chromium.org>
Reviewed-by: Mark Pearson <mpearson@chromium.org>
Reviewed-by: Ojan Vafai <ojan@chromium.org>
Reviewed-by: Josh Karlin <jkarlin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600900}
[modify] https://crrev.com/52e0e55d4f74fd2b1357c4bf153e9033aca57415/chrome/browser/page_load_metrics/observers/ads_page_load_metrics_observer.cc
[modify] https://crrev.com/52e0e55d4f74fd2b1357c4bf153e9033aca57415/chrome/browser/page_load_metrics/observers/ads_page_load_metrics_observer.h
[modify] https://crrev.com/52e0e55d4f74fd2b1357c4bf153e9033aca57415/chrome/browser/page_load_metrics/observers/ads_page_load_metrics_observer_browsertest.cc
[modify] https://crrev.com/52e0e55d4f74fd2b1357c4bf153e9033aca57415/chrome/test/data/ad_tagging/ad_script.js
[add] https://crrev.com/52e0e55d4f74fd2b1357c4bf153e9033aca57415/chrome/test/data/ad_tagging/ad_script_2.js
[add] https://crrev.com/52e0e55d4f74fd2b1357c4bf153e9033aca57415/chrome/test/data/ad_tagging/allow.zip
[add] https://crrev.com/52e0e55d4f74fd2b1357c4bf153e9033aca57415/chrome/test/data/ad_tagging/disallow.zip
[add] https://crrev.com/52e0e55d4f74fd2b1357c4bf153e9033aca57415/chrome/test/data/ad_tagging/download.html
[modify] https://crrev.com/52e0e55d4f74fd2b1357c4bf153e9033aca57415/chrome/test/data/ad_tagging/frame_factory.html
[modify] https://crrev.com/52e0e55d4f74fd2b1357c4bf153e9033aca57415/third_party/blink/common/BUILD.gn
[add] https://crrev.com/52e0e55d4f74fd2b1357c4bf153e9033aca57415/third_party/blink/common/download/download_stats.cc
[modify] https://crrev.com/52e0e55d4f74fd2b1357c4bf153e9033aca57415/third_party/blink/public/common/BUILD.gn
[add] https://crrev.com/52e0e55d4f74fd2b1357c4bf153e9033aca57415/third_party/blink/public/common/download/download_stats.h
[modify] https://crrev.com/52e0e55d4f74fd2b1357c4bf153e9033aca57415/third_party/blink/renderer/core/html/html_anchor_element.cc
[modify] https://crrev.com/52e0e55d4f74fd2b1357c4bf153e9033aca57415/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/52e0e55d4f74fd2b1357c4bf153e9033aca57415/tools/metrics/histograms/histograms.xml

Project Member

Comment 3 by bugdroid1@chromium.org, Nov 2

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

commit bec0db348da09fadb74463b11a0970f70d090e36
Author: Yao Xiao <yaoxia@chromium.org>
Date: Fri Nov 02 17:28:25 2018

Add sandbox bit to download metrics

Also splitted the metrics into 2 (MainFrame, Subframe), so that the
subframe metrics can be constructed using bitwise operations.

Bug: 881345
Change-Id: I9e0e9aeb3d518e3fa5afbc3ff101705e04d87232
Reviewed-on: https://chromium-review.googlesource.com/c/1309096
Reviewed-by: Pavel Feldman <pfeldman@chromium.org>
Reviewed-by: Mark Pearson <mpearson@chromium.org>
Reviewed-by: Josh Karlin <jkarlin@chromium.org>
Commit-Queue: Yao Xiao <yaoxia@chromium.org>
Cr-Commit-Position: refs/heads/master@{#604973}
[modify] https://crrev.com/bec0db348da09fadb74463b11a0970f70d090e36/chrome/browser/page_load_metrics/observers/ads_page_load_metrics_observer.cc
[modify] https://crrev.com/bec0db348da09fadb74463b11a0970f70d090e36/chrome/browser/page_load_metrics/observers/ads_page_load_metrics_observer_browsertest.cc
[modify] https://crrev.com/bec0db348da09fadb74463b11a0970f70d090e36/chrome/test/data/ad_tagging/ad_script.js
[modify] https://crrev.com/bec0db348da09fadb74463b11a0970f70d090e36/chrome/test/data/ad_tagging/create_frame.js
[modify] https://crrev.com/bec0db348da09fadb74463b11a0970f70d090e36/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/bec0db348da09fadb74463b11a0970f70d090e36/content/browser/frame_host/render_frame_host_impl.h
[modify] https://crrev.com/bec0db348da09fadb74463b11a0970f70d090e36/content/public/browser/render_frame_host.h
[modify] https://crrev.com/bec0db348da09fadb74463b11a0970f70d090e36/third_party/blink/common/download/download_stats.cc
[modify] https://crrev.com/bec0db348da09fadb74463b11a0970f70d090e36/third_party/blink/public/common/download/download_stats.h
[modify] https://crrev.com/bec0db348da09fadb74463b11a0970f70d090e36/third_party/blink/renderer/core/html/html_anchor_element.cc
[modify] https://crrev.com/bec0db348da09fadb74463b11a0970f70d090e36/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/bec0db348da09fadb74463b11a0970f70d090e36/tools/metrics/histograms/histograms.xml

Project Member

Comment 4 by bugdroid1@chromium.org, Dec 14

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

commit 7b7edab6333e363c42453f121455425046655d1d
Author: Yao Xiao <yaoxia@chromium.org>
Date: Fri Dec 14 23:22:26 2018

Add UKM for download metrics

Also added GetDocumentCreatedEntryForSourceId() method in test_ukm_recorder
that can be shared among multiple places.

Bug: 881345
Change-Id: I295b9383be197c9c756bfe57c27f819dfcbb8640
Reviewed-on: https://chromium-review.googlesource.com/c/1327229
Commit-Queue: Yao Xiao <yaoxia@chromium.org>
Reviewed-by: Pavel Feldman <pfeldman@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Reviewed-by: Tommi <tommi@chromium.org>
Reviewed-by: Brian White <bcwhite@chromium.org>
Reviewed-by: Ojan Vafai <ojan@chromium.org>
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Reviewed-by: Josh Karlin <jkarlin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616870}
[modify] https://crrev.com/7b7edab6333e363c42453f121455425046655d1d/chrome/browser/media/autoplay_metrics_browsertest.cc
[modify] https://crrev.com/7b7edab6333e363c42453f121455425046655d1d/chrome/browser/page_load_metrics/observers/ads_page_load_metrics_observer.cc
[modify] https://crrev.com/7b7edab6333e363c42453f121455425046655d1d/chrome/browser/page_load_metrics/observers/ads_page_load_metrics_observer_browsertest.cc
[modify] https://crrev.com/7b7edab6333e363c42453f121455425046655d1d/chrome/browser/subresource_filter/ad_tagging_browsertest.cc
[modify] https://crrev.com/7b7edab6333e363c42453f121455425046655d1d/components/ukm/test_ukm_recorder.cc
[modify] https://crrev.com/7b7edab6333e363c42453f121455425046655d1d/components/ukm/test_ukm_recorder.h
[modify] https://crrev.com/7b7edab6333e363c42453f121455425046655d1d/third_party/blink/common/BUILD.gn
[modify] https://crrev.com/7b7edab6333e363c42453f121455425046655d1d/third_party/blink/common/DEPS
[modify] https://crrev.com/7b7edab6333e363c42453f121455425046655d1d/third_party/blink/common/download/download_stats.cc
[modify] https://crrev.com/7b7edab6333e363c42453f121455425046655d1d/third_party/blink/public/common/download/download_stats.h
[modify] https://crrev.com/7b7edab6333e363c42453f121455425046655d1d/third_party/blink/renderer/core/html/html_anchor_element.cc
[modify] https://crrev.com/7b7edab6333e363c42453f121455425046655d1d/tools/metrics/ukm/ukm.xml

Sign in to add a comment