| Index: tools/metrics/histograms/histograms.xml | 
| diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml | 
| index 44d8e14aa2542c704920e814f96086b274716577..0f54f8218e85957ce50cc8864e837364b2ee1d08 100644 | 
| --- a/tools/metrics/histograms/histograms.xml | 
| +++ b/tools/metrics/histograms/histograms.xml | 
| @@ -46665,6 +46665,247 @@ http://cs/file:chrome/histograms.xml - but prefer this file for new entries. | 
| </summary> | 
| </histogram> | 
|  | 
| +<histogram name="PageLoad.Clients.Ads.Google.AdFrameCount" units="AdFrames"> | 
| +  <owner>jkarlin@chromium.org</owner> | 
| +  <summary> | 
| +    The number of frames on the page identified as Google Ad Frames. | 
| + | 
| +    For pages with zero ad frames, the other PageLoad.Clients.Ads metrics are | 
| +    not recorded. | 
| + | 
| +    An ad frame consists of the identified ad frame and all of its children | 
| +    (which may also be ads, but are counted as part of the ancestor ad frame). | 
| +  </summary> | 
| +</histogram> | 
| + | 
| +<histogram name="PageLoad.Clients.Ads.Google.AdFrameCount.TopLevel" | 
| +    units="Frames"> | 
| +  <owner>jkarlin@chromium.org</owner> | 
| +  <summary> | 
| +    The number of top-level frames on the page identified as Google Ad Frames. | 
| + | 
| +    Only recorded if the page has at least one identified ad frame. Bytes are | 
| +    measured as over-the-wire (e.g., compressed) response body KBs and does not | 
| +    include header bytes. An ad frame consists of the identified ad frame and | 
| +    all of its children (which may also be ads, but are counted as part of the | 
| +    ancestor ad frame). | 
| +  </summary> | 
| +</histogram> | 
| + | 
| +<histogram name="PageLoad.Clients.Ads.Google.AdFrameRenavigatedToAd" | 
| +    units="Boolean"> | 
| +  <owner>jkarlin@chromium.org</owner> | 
| +  <summary> | 
| +    When a frame that is (or previously was) an ad frame renavigates, record | 
| +    whether it renavigated to an ad frame or a non-ad frame. | 
| + | 
| +    An ad frame consists of the identified ad frame and all of its children. Its | 
| +    children (which may also be ads) are not counted when they renavigate. | 
| +  </summary> | 
| +</histogram> | 
| + | 
| +<histogram name="PageLoad.Clients.Ads.Google.Bytes.AllAdFrames.Network" | 
| +    units="KB"> | 
| +  <owner>jkarlin@chromium.org</owner> | 
| +  <summary> | 
| +    The size (in KB) of the resources loaded for all of the ad frames on the | 
| +    page that loaded over the network. | 
| + | 
| +    Only recorded if the page has at least one identified ad frame. Bytes are | 
| +    measured as over-the-wire (e.g., compressed) response body KBs and does not | 
| +    include header bytes. An ad frame consists of the identified ad frame and | 
| +    all of its children (which may also be ads, but are counted as part of the | 
| +    ancestor ad frame). | 
| +  </summary> | 
| +</histogram> | 
| + | 
| +<histogram name="PageLoad.Clients.Ads.Google.Bytes.AllAdFrames.Total" | 
| +    units="KB"> | 
| +  <owner>jkarlin@chromium.org</owner> | 
| +  <summary> | 
| +    The size (in KB) of the resources loaded for all of the ad frames on the | 
| +    page. | 
| + | 
| +    Only recorded if the page has at least one identified ad frame. Bytes are | 
| +    measured as over-the-wire (e.g., compressed) response body KBs and does not | 
| +    include header bytes. An ad frame consists of the identified ad frame and | 
| +    all of its children (which may also be ads, but are counted as part of the | 
| +    ancestor ad frame). | 
| +  </summary> | 
| +</histogram> | 
| + | 
| +<histogram name="PageLoad.Clients.Ads.Google.Bytes.Network" units="KB"> | 
| +  <owner>jkarlin@chromium.org</owner> | 
| +  <summary> | 
| +    The size (in KB) of all of the page's resources that loaded over the | 
| +    network. | 
| + | 
| +    Only recorded if the page has at least one identified ad frame. Bytes are | 
| +    measured as over-the-wire (e.g., compressed) response body KBs and does not | 
| +    include header bytes. An ad frame consists of the identified ad frame and | 
| +    all of its children (which may also be ads, but are counted as part of the | 
| +    ancestor ad frame). | 
| +  </summary> | 
| +</histogram> | 
| + | 
| +<histogram name="PageLoad.Clients.Ads.Google.Bytes.NonAdFrames.Total" | 
| +    units="KB"> | 
| +  <owner>jkarlin@chromium.org</owner> | 
| +  <summary> | 
| +    The size (in KB) of all of the page's resources except for those loaded in | 
| +    ad frames. | 
| + | 
| +    Only recorded if the page has at least one identified ad frame. Bytes are | 
| +    measured as over-the-wire (e.g., compressed) response body KBs and does not | 
| +    include header bytes. An ad frame consists of the identified ad frame and | 
| +    all of its children (which may also be ads, but are counted as part of the | 
| +    ancestor ad frame). | 
| +  </summary> | 
| +</histogram> | 
| + | 
| +<histogram name="PageLoad.Clients.Ads.Google.Bytes.PerAdFrame.Network" | 
| +    units="KB"> | 
| +  <owner>jkarlin@chromium.org</owner> | 
| +  <summary> | 
| +    The size (in KB) of the resources loaded for an ad frame from the network. | 
| + | 
| +    Only recorded if the page has at least one identified ad frame. Bytes are | 
| +    measured as over-the-wire (e.g., compressed) response body KBs and does not | 
| +    include header bytes. An ad frame consists of the identified ad frame and | 
| +    all of its children (which may also be ads, but are counted as part of the | 
| +    ancestor ad frame). | 
| +  </summary> | 
| +</histogram> | 
| + | 
| +<histogram name="PageLoad.Clients.Ads.Google.Bytes.PerAdFrame.Total" units="KB"> | 
| +  <owner>jkarlin@chromium.org</owner> | 
| +  <summary> | 
| +    The size (in KB) of the resources loaded for an ad frame. | 
| + | 
| +    Only recorded if the page has at least one identified ad frame. Bytes are | 
| +    measured as over-the-wire (e.g., compressed) response body KBs and does not | 
| +    include header bytes. An ad frame consists of the identified ad frame and | 
| +    all of its children (which may also be ads, but are counted as part of the | 
| +    ancestor ad frame). | 
| +  </summary> | 
| +</histogram> | 
| + | 
| +<histogram name="PageLoad.Clients.Ads.Google.Bytes.PercentAdFrame.Network" | 
| +    units="%"> | 
| +  <owner>jkarlin@chromium.org</owner> | 
| +  <summary> | 
| +    The percentage of bytes loaded for a single ad frame that were loaded over | 
| +    the network. | 
| + | 
| +    Only recorded if the page has at least one identified ad frame. Bytes are | 
| +    measured as over-the-wire (e.g., compressed) response body KBs and does not | 
| +    include header bytes. An ad frame consists of the identified ad frame and | 
| +    all of its children (which may also be ads, but are counted as part of the | 
| +    ancestor ad frame). | 
| +  </summary> | 
| +</histogram> | 
| + | 
| +<histogram name="PageLoad.Clients.Ads.Google.Bytes.PercentAllAdFrames.Network" | 
| +    units="%"> | 
| +  <owner>jkarlin@chromium.org</owner> | 
| +  <summary> | 
| +    The percentage of bytes loaded for all ad frames that were loaded over the | 
| +    network. | 
| + | 
| +    Only recorded if the page has at least one identified ad frame. Bytes are | 
| +    measured as over-the-wire (e.g., compressed) response body KBs and does not | 
| +    include header bytes. An ad frame consists of the identified ad frame and | 
| +    all of its children (which may also be ads, but are counted as part of the | 
| +    ancestor ad frame). | 
| +  </summary> | 
| +</histogram> | 
| + | 
| +<histogram | 
| +    name="PageLoad.Clients.Ads.Google.Bytes.PercentPage.AllAdFrames.Network" | 
| +    units="%"> | 
| +  <owner>jkarlin@chromium.org</owner> | 
| +  <summary> | 
| +    The percentage of bytes loaded for the page (from the network) that came | 
| +    from resource loads in ad frames (from the network). | 
| + | 
| +    Only recorded if the page has at least one identified ad frame. Bytes are | 
| +    measured as over-the-wire (e.g., compressed) response body KBs and does not | 
| +    include header bytes. An ad frame consists of the identified ad frame and | 
| +    all of its children (which may also be ads, but are counted as part of the | 
| +    ancestor ad frame). | 
| +  </summary> | 
| +</histogram> | 
| + | 
| +<histogram | 
| +    name="PageLoad.Clients.Ads.Google.Bytes.PercentPage.AllAdFrames.Total" | 
| +    units="%"> | 
| +  <owner>jkarlin@chromium.org</owner> | 
| +  <summary> | 
| +    The percentage of bytes loaded for the page that came from resource loads in | 
| +    ad frames. | 
| + | 
| +    Only recorded if the page has at least one identified ad frame. Bytes are | 
| +    measured as over-the-wire (e.g., compressed) response body KBs and does not | 
| +    include header bytes. An ad frame consists of the identified ad frame and | 
| +    all of its children (which may also be ads, but are counted as part of the | 
| +    ancestor ad frame). The percentage of the page's prefiltered (e.g., | 
| +    compressed) response body KB loaded from frames (and their child frames) | 
| +    identified as Google Ad Frames. | 
| +  </summary> | 
| +</histogram> | 
| + | 
| +<histogram name="PageLoad.Clients.Ads.Google.Bytes.Total" units="KB"> | 
| +  <owner>jkarlin@chromium.org</owner> | 
| +  <summary> | 
| +    The size (in KB) of all of the page's resources. | 
| + | 
| +    Only recorded if the page has at least one identified ad frame. Bytes are | 
| +    measured as over-the-wire (e.g., compressed) response body KBs and does not | 
| +    include header bytes. An ad frame consists of the identified ad frame and | 
| +    all of its children (which may also be ads, but are counted as part of the | 
| +    ancestor ad frame). | 
| +  </summary> | 
| +</histogram> | 
| + | 
| +<histogram name="PageLoad.Clients.Ads.Google.NonAdFrameRenavigatedToAd" | 
| +    units="Boolean"> | 
| +  <owner>jkarlin@chromium.org</owner> | 
| +  <summary> | 
| +    When a frame that has never been part of an ad frame renavigates, record | 
| +    whether it renavigated to an ad frame or a non-ad frame. | 
| +  </summary> | 
| +</histogram> | 
| + | 
| +<histogram | 
| +    name="PageLoad.Clients.Ads.Google.PercentSubFramesAreAdFrames.TopLevel" | 
| +    units="%"> | 
| +  <owner>jkarlin@chromium.org</owner> | 
| +  <summary> | 
| +    The percentage of top-level frames on the page that are identified as Google | 
| +    Ad Frames. | 
| + | 
| +    Only recorded if the page has at least one identified ad frame. Bytes are | 
| +    measured as over-the-wire (e.g., compressed) response body KBs and does not | 
| +    include header bytes. An ad frame consists of the identified ad frame and | 
| +    all of its children (which may also be ads, but are counted as part of the | 
| +    ancestor ad frame). | 
| +  </summary> | 
| +</histogram> | 
| + | 
| +<histogram name="PageLoad.Clients.Ads.Google.SubFrameCount.TopLevel" | 
| +    units="Frames"> | 
| +  <owner>jkarlin@chromium.org</owner> | 
| +  <summary> | 
| +    The number of top-level frames on the page. | 
| + | 
| +      Only recorded if the page has at least one identified ad frame. Bytes are | 
| +    measured as over-the-wire (e.g., compressed) response body KBs and does not | 
| +    include header bytes. An ad frame consists of the identified ad frame and | 
| +    all of its children (which may also be ads, but are counted as part of the | 
| +    ancestor ad frame). | 
| +  </summary> | 
| +</histogram> | 
| + | 
| <histogram | 
| name="PageLoad.Clients.DataReductionProxy.Experimental.Bytes.Network.CompressionRatio" | 
| units="%"> | 
|  |