Implement skeleton for responsiveness::Watcher.

This class will eventually be responsible for forwarding task and event metadata
to the Calculator. This class spans the UI and IO threads, so the threading is
tricky. This CL sets up the structure of the class, including all the of
threading details, and reentrancy handling. Future CLs will hook up tasks and
events.

Bug: 859155
Change-Id: I7e8706e82dd07ae54ae9b150a6db7a8113ffdc9b
Reviewed-on: https://chromium-review.googlesource.com/1144226
Reviewed-by: Alexander Timin <[email protected]>
Reviewed-by: Avi Drissman <[email protected]>
Reviewed-by: Timothy Dresser <[email protected]>
Commit-Queue: Erik Chen <[email protected]>
Cr-Commit-Position: refs/heads/master@{#577372}
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
index 0c77b738..c89e41f 100644
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
@@ -1514,6 +1514,8 @@
     "sandbox_parameters_mac.mm",
     "scheduler/responsiveness/calculator.cc",
     "scheduler/responsiveness/calculator.h",
+    "scheduler/responsiveness/watcher.cc",
+    "scheduler/responsiveness/watcher.h",
     "scoped_active_url.cc",
     "scoped_active_url.h",
     "screen_orientation/screen_orientation_provider.cc",