Add UseCounter for weird body+viewport scrolling

BUG=580570

Review URL: https://codereview.chromium.org/1619963002

Cr-Commit-Position: refs/heads/master@{#370990}
diff --git a/third_party/WebKit/Source/core/dom/Document.cpp b/third_party/WebKit/Source/core/dom/Document.cpp
index 681c3f1..8635fbe 100644
--- a/third_party/WebKit/Source/core/dom/Document.cpp
+++ b/third_party/WebKit/Source/core/dom/Document.cpp
@@ -1637,6 +1637,12 @@
         } else {
             ASSERT(element == documentElement());
             overflowStyle = documentElementStyle.get();
+
+            // The body element has its own scrolling box, independent from the viewport.
+            // This is a bit of a weird edge case in the CSS spec that we might want to try to
+            // eliminate some day (eg. for ScrollTopLeftInterop - see http://crbug.com/157855).
+            if (bodyStyle && !bodyStyle->isOverflowVisible())
+                UseCounter::count(*this, UseCounter::BodyScrollsInAdditionToViewport);
         }
     }
 
diff --git a/third_party/WebKit/Source/core/frame/UseCounter.h b/third_party/WebKit/Source/core/frame/UseCounter.h
index 8f72e4f..b000b003 100644
--- a/third_party/WebKit/Source/core/frame/UseCounter.h
+++ b/third_party/WebKit/Source/core/frame/UseCounter.h
@@ -982,6 +982,7 @@
         MouseWheelEvent = 1125,
         WheelEvent = 1126,
         MouseWheelAndWheelEvent = 1127,
+        BodyScrollsInAdditionToViewport = 1128,
 
         // Add new features immediately above this line. Don't change assigned
         // numbers of any item, and don't reuse removed slots.