diff --git a/DEPS b/DEPS
index 8c8a52a..eb63c7e 100644
--- a/DEPS
+++ b/DEPS
@@ -74,7 +74,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling Skia
   # and whatever else without interference from each other.
-  'skia_revision': '0b90fa88a2b5631e538ec9b18e316227330f4498',
+  'skia_revision': '84bfc9589878a95c2a017698398f153a53e54412',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling V8
   # and whatever else without interference from each other.
@@ -639,7 +639,7 @@
     Var('chromium_git') + '/external/khronosgroup/webgl.git' + '@' + '1a8ed15c9c25f2b1ccd97149c94ea245ab982252',
 
   'src/third_party/webrtc':
-    Var('webrtc_git') + '/src.git' + '@' + '67c20ae57100e5878e9734b1c8c53ebd5b5d7bbf', # commit position 20628
+    Var('webrtc_git') + '/src.git' + '@' + 'd5247510dc9cf1b1f8eb1f79310bef702b7804c1', # commit position 20628
 
   'src/third_party/xdg-utils': {
       'url': Var('chromium_git') + '/chromium/deps/xdg-utils.git' + '@' + 'd80274d5869b17b8c9067a1022e4416ee7ed5e0d',
diff --git a/chrome/VERSION b/chrome/VERSION
index a5b163d..28eb9e8 100644
--- a/chrome/VERSION
+++ b/chrome/VERSION
@@ -1,4 +1,4 @@
 MAJOR=65
 MINOR=0
-BUILD=3299
+BUILD=3300
 PATCH=0
diff --git a/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST.json b/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST.json
index e7d283a..9e344c6 100644
--- a/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST.json
+++ b/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST.json
@@ -92800,6 +92800,16 @@
      {}
     ]
    ],
+   "bluetooth/README.md": [
+    [
+     {}
+    ]
+   ],
+   "bluetooth/resources/bluetooth-helpers.js": [
+    [
+     {}
+    ]
+   ],
    "clear-site-data/OWNERS": [
     [
      {}
@@ -93970,7 +93980,12 @@
      {}
     ]
    ],
-   "cookie-store/serviceworker_cookiestore_basic.js": [
+   "cookie-store/serviceworker_cookieStore_arguments.js": [
+    [
+     {}
+    ]
+   ],
+   "cookie-store/serviceworker_cookieStore_basic.js": [
     [
      {}
     ]
@@ -117770,6 +117785,16 @@
      {}
     ]
    ],
+   "css/css-values/support/vh-support-transform-origin-iframe.html": [
+    [
+     {}
+    ]
+   ],
+   "css/css-values/support/vh-support-transform-translate-iframe.html": [
+    [
+     {}
+    ]
+   ],
    "css/css-values/support/vh_not_refreshing_on_chrome_iframe.html": [
     [
      {}
@@ -165654,27 +165679,51 @@
      {}
     ]
    ],
-   "cookie-store/cookieStore_delete_arguments.tentative.html": [
+   "cookie-store/cookieStore_delete_arguments.tentative.window.js": [
     [
-     "/cookie-store/cookieStore_delete_arguments.tentative.html",
+     "/cookie-store/cookieStore_delete_arguments.tentative.window.html",
      {}
     ]
    ],
-   "cookie-store/cookieStore_getAll_arguments.tentative.html": [
+   "cookie-store/cookieStore_getAll_arguments.tentative.window.js": [
     [
-     "/cookie-store/cookieStore_getAll_arguments.tentative.html",
+     "/cookie-store/cookieStore_getAll_arguments.tentative.window.html",
      {}
     ]
    ],
-   "cookie-store/cookieStore_get_arguments.tentative.html": [
+   "cookie-store/cookieStore_getAll_set_basic.tentative.window.js": [
     [
-     "/cookie-store/cookieStore_get_arguments.tentative.html",
+     "/cookie-store/cookieStore_getAll_set_basic.tentative.window.html",
      {}
     ]
    ],
-   "cookie-store/cookieStore_has_arguments.tentative.html": [
+   "cookie-store/cookieStore_get_arguments.tentative.window.js": [
     [
-     "/cookie-store/cookieStore_has_arguments.tentative.html",
+     "/cookie-store/cookieStore_get_arguments.tentative.window.html",
+     {}
+    ]
+   ],
+   "cookie-store/cookieStore_get_delete_basic.tentative.window.js": [
+    [
+     "/cookie-store/cookieStore_get_delete_basic.tentative.window.html",
+     {}
+    ]
+   ],
+   "cookie-store/cookieStore_get_set_basic.tentative.window.js": [
+    [
+     "/cookie-store/cookieStore_get_set_basic.tentative.window.html",
+     {}
+    ]
+   ],
+   "cookie-store/cookieStore_has_arguments.tentative.window.js": [
+    [
+     "/cookie-store/cookieStore_has_arguments.tentative.window.html",
+     {}
+    ]
+   ],
+   "cookie-store/cookieStore_has_basic.tentative.window.js": [
+    [
+     "/cookie-store/cookieStore_has_basic.tentative.window.html",
      {}
     ]
    ],
@@ -165684,9 +165733,9 @@
      {}
     ]
    ],
-   "cookie-store/cookieStore_set_arguments.tentative.html": [
+   "cookie-store/cookieStore_set_arguments.tentative.window.js": [
     [
-     "/cookie-store/cookieStore_set_arguments.tentative.html",
+     "/cookie-store/cookieStore_set_arguments.tentative.window.html",
      {}
     ]
    ],
@@ -165798,24 +165847,6 @@
      {}
     ]
    ],
-   "cookie-store/document_getAll_set.tentative.html": [
-    [
-     "/cookie-store/document_getAll_set.tentative.html",
-     {}
-    ]
-   ],
-   "cookie-store/document_get_delete.tentative.html": [
-    [
-     "/cookie-store/document_get_delete.tentative.html",
-     {}
-    ]
-   ],
-   "cookie-store/document_has.tentative.html": [
-    [
-     "/cookie-store/document_has.tentative.html",
-     {}
-    ]
-   ],
    "cookie-store/expiration.tentative.html": [
     [
      "/cookie-store/expiration.tentative.html",
@@ -165848,12 +165879,6 @@
      }
     ]
    ],
-   "cookie-store/get_set.tentative.window.js": [
-    [
-     "/cookie-store/get_set.tentative.window.html",
-     {}
-    ]
-   ],
    "cookie-store/get_set_get_all.tentative.html": [
     [
      "/cookie-store/get_set_get_all.tentative.html",
@@ -166094,9 +166119,15 @@
      }
     ]
    ],
-   "cookie-store/serviceworker_cookiestore_basic.tentative.https.html": [
+   "cookie-store/serviceworker_cookieStore_arguments.tentative.https.html": [
     [
-     "/cookie-store/serviceworker_cookiestore_basic.tentative.https.html",
+     "/cookie-store/serviceworker_cookieStore_arguments.tentative.https.html",
+     {}
+    ]
+   ],
+   "cookie-store/serviceworker_cookieStore_basic.tentative.https.html": [
+    [
+     "/cookie-store/serviceworker_cookieStore_basic.tentative.https.html",
      {}
     ]
    ],
@@ -224872,18 +224903,6 @@
      {}
     ]
    ],
-   "css/css-values/iframe/vh-support-transform-origin-iframe.html": [
-    [
-     "/css/css-values/iframe/vh-support-transform-origin-iframe.html",
-     {}
-    ]
-   ],
-   "css/css-values/iframe/vh-support-transform-translate-iframe.html": [
-    [
-     "/css/css-values/iframe/vh-support-transform-translate-iframe.html",
-     {}
-    ]
-   ],
    "css/css-writing-modes/bidi-table-001.html": [
     [
      "/css/css-writing-modes/bidi-table-001.html",
@@ -234119,6 +234138,10 @@
    "0fdfd724be252565460a4427a4d7919117bdd31f",
    "support"
   ],
+  "bluetooth/README.md": [
+   "570b51035ed737c73da8b266cbe0eb658745286e",
+   "support"
+  ],
   "bluetooth/idl/idl-Bluetooth.html": [
    "5d4d8278b1f24798765974c35777f70fcbfc9cfa",
    "testharness"
@@ -234131,6 +234154,10 @@
    "9367593c5bfe07afb4629791cf6aab70460dcd4c",
    "testharness"
   ],
+  "bluetooth/resources/bluetooth-helpers.js": [
+   "bca57dea31c477c56e8323919f45df6a755101f5",
+   "support"
+  ],
   "clear-site-data/OWNERS": [
    "8c90c19ce29952d868460d36f7b20120b155992c",
    "support"
@@ -236435,28 +236462,44 @@
    "f2c101203c2a2d82a4191164943e79734530d124",
    "support"
   ],
-  "cookie-store/cookieStore_delete_arguments.tentative.html": [
-   "ad3000b3b707a361e43383226cd723843265ba78",
+  "cookie-store/cookieStore_delete_arguments.tentative.window.js": [
+   "f33ce9a975c759ce6da8a5caa371ca026dd537c4",
    "testharness"
   ],
-  "cookie-store/cookieStore_getAll_arguments.tentative.html": [
-   "0161501c4dc852e82dece37d2ec4a5d533142644",
+  "cookie-store/cookieStore_getAll_arguments.tentative.window.js": [
+   "cf818fe92c16dfe42f0ac778f665094533d8ab10",
    "testharness"
   ],
-  "cookie-store/cookieStore_get_arguments.tentative.html": [
-   "8e55d43c17d131674ac7b890ead7c632c095ba4e",
+  "cookie-store/cookieStore_getAll_set_basic.tentative.window.js": [
+   "e6349dab874b99050cbbf5012db93de50612ce56",
    "testharness"
   ],
-  "cookie-store/cookieStore_has_arguments.tentative.html": [
-   "51b9432bc2824ee63861c9a5ba1ee40ba5fbeb6c",
+  "cookie-store/cookieStore_get_arguments.tentative.window.js": [
+   "944e71f01e0d9b9b00f36fff2b84d6a9b93538e1",
+   "testharness"
+  ],
+  "cookie-store/cookieStore_get_delete_basic.tentative.window.js": [
+   "0b8c7725e0824d82c049a45e428a332212419bfd",
+   "testharness"
+  ],
+  "cookie-store/cookieStore_get_set_basic.tentative.window.js": [
+   "7439e63ae3e5b06a43ab168ece73123f90712f25",
+   "testharness"
+  ],
+  "cookie-store/cookieStore_has_arguments.tentative.window.js": [
+   "7512c46b8c7ec0b3ce33e3182671cc8c726a5e4e",
+   "testharness"
+  ],
+  "cookie-store/cookieStore_has_basic.tentative.window.js": [
+   "c53d313cebc3970e28d87c69a5d13a1b5e81529b",
    "testharness"
   ],
   "cookie-store/cookieStore_in_detached_frame.tentative.html": [
    "600452c1a496b8335b27bd24943b8834e37bf4d5",
    "testharness"
   ],
-  "cookie-store/cookieStore_set_arguments.tentative.html": [
-   "c648febf877e643f981f4e52f3d414337326c31d",
+  "cookie-store/cookieStore_set_arguments.tentative.window.js": [
+   "27019d0e79b6754715a292f40e064de53daaf5e8",
    "testharness"
   ],
   "cookie-store/cookieStore_special_names.tentative.html": [
@@ -236515,18 +236558,6 @@
    "179f3ffe69715f9767ec2d2ef661c429fef52bc6",
    "testharness"
   ],
-  "cookie-store/document_getAll_set.tentative.html": [
-   "e72365cef4812eae89a8465abeb7e048e5ff0731",
-   "testharness"
-  ],
-  "cookie-store/document_get_delete.tentative.html": [
-   "f5c79e2a665ef70d7d3abf6dc4fb42dcb453eb78",
-   "testharness"
-  ],
-  "cookie-store/document_has.tentative.html": [
-   "64941b04dc663c01838112f618cdd8f1a5603c12",
-   "testharness"
-  ],
   "cookie-store/expiration.tentative.html": [
    "9bfb18862c9b9f6ace5f97ceb4f9d1da15eed64d",
    "testharness"
@@ -236543,10 +236574,6 @@
    "d708add276da0fc58b6b628f05bacaa2965795ca",
    "testharness"
   ],
-  "cookie-store/get_set.tentative.window.js": [
-   "7439e63ae3e5b06a43ab168ece73123f90712f25",
-   "testharness"
-  ],
   "cookie-store/get_set_get_all.tentative.html": [
    "dc66cbf2b2a939179cae29aaeb39cb44eb488e2a",
    "testharness"
@@ -236679,12 +236706,20 @@
    "b7bc4516ad4ac7ae1bb572191c0c3932c29eb863",
    "support"
   ],
-  "cookie-store/serviceworker_cookiestore_basic.js": [
-   "014e603f394dd9a3394ffef8921c0c870b8577b4",
+  "cookie-store/serviceworker_cookieStore_arguments.js": [
+   "a90956237d63fd51556f2d9e50967522870816d4",
    "support"
   ],
-  "cookie-store/serviceworker_cookiestore_basic.tentative.https.html": [
-   "03084278e3856be71bd3bb94c5de2ef53a1a5a88",
+  "cookie-store/serviceworker_cookieStore_arguments.tentative.https.html": [
+   "3b74e70504793eb570fd15851fac53146af4b86d",
+   "testharness"
+  ],
+  "cookie-store/serviceworker_cookieStore_basic.js": [
+   "38fe0bc6fbf08e5387f81e32348252c481af03c0",
+   "support"
+  ],
+  "cookie-store/serviceworker_cookieStore_basic.tentative.https.html": [
+   "0700dc72bc1e00832546d4a6826a5474600af06c",
    "testharness"
   ],
   "cookies/OWNERS": [
@@ -267356,7 +267391,7 @@
    "support"
   ],
   "css/css-grid/grid-layout-properties.html": [
-   "3ab6d064073e659de4fa0ceb1d2b20a5d0cd42ab",
+   "d30ee96245cf3d25bffc64347a4ee60bfb2b2049",
    "testharness"
   ],
   "css/css-grid/grid-model/display-grid.html": [
@@ -284035,14 +284070,6 @@
    "ea1f5256caff0fc42f8dbf843322e51189cee065",
    "reftest"
   ],
-  "css/css-values/iframe/vh-support-transform-origin-iframe.html": [
-   "e295875de4bc58b51c45db9a87648749bdfc7e8d",
-   "visual"
-  ],
-  "css/css-values/iframe/vh-support-transform-translate-iframe.html": [
-   "3d8502cd78bacbdddb771bed8f028c880f9b105b",
-   "visual"
-  ],
   "css/css-values/initial-background-color.html": [
    "5e071d71a9cc355a62d0165b4ca2840ba0ab8c66",
    "reftest"
@@ -284255,6 +284282,14 @@
    "078e1dd6dd61d36cec239ed75d02051f61fe60a5",
    "support"
   ],
+  "css/css-values/support/vh-support-transform-origin-iframe.html": [
+   "e295875de4bc58b51c45db9a87648749bdfc7e8d",
+   "support"
+  ],
+  "css/css-values/support/vh-support-transform-translate-iframe.html": [
+   "3d8502cd78bacbdddb771bed8f028c880f9b105b",
+   "support"
+  ],
   "css/css-values/support/vh_not_refreshing_on_chrome_iframe.html": [
    "95f9582bf94c0bc60ddee79415b763af8762faf0",
    "support"
@@ -284300,11 +284335,11 @@
    "reftest"
   ],
   "css/css-values/vh-support-transform-origin.html": [
-   "2fc033c3d515ae1afd364f72818cd814d15779c8",
+   "2ddd949c507d93d280e61fc3aaed35463ee1fed0",
    "reftest"
   ],
   "css/css-values/vh-support-transform-translate.html": [
-   "11ade5a7670dbfe781dfaa14d9a2476a586ce34c",
+   "337a80ea54be900454c296910d38254bf20589e6",
    "reftest"
   ],
   "css/css-values/vh-support.html": [
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-grid/grid-layout-properties.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-grid/grid-layout-properties.html
index 2e66fb2..249c4a7 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-grid/grid-layout-properties.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-grid/grid-layout-properties.html
@@ -54,7 +54,7 @@
 
       Object.keys(data).forEach(function(prop){
         test(function(){
-          assert_own_property(myDiv.style, prop)
+          assert_true(prop in myDiv.style)
         }, prop)
 
         if ('initial' in data[prop]) test(function(){
@@ -66,7 +66,7 @@
         var syntaxTests = data[prop]
         Object.keys(syntaxTests).forEach(function(testcase){
           test(function(){
-            assert_own_property(myDiv.style, prop)
+            assert_true(prop in myDiv.style)
             myDiv.style[prop] = syntaxTests[testcase][0]
             assert_equals(myDiv.style[prop], syntaxTests[testcase][0], testcase)
             assert_equals(getComputedStyle(myDiv)[prop], syntaxTests[testcase][1], testcase)
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-values/iframe/vh-support-transform-origin-iframe.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-values/support/vh-support-transform-origin-iframe.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/css/css-values/iframe/vh-support-transform-origin-iframe.html
rename to third_party/WebKit/LayoutTests/external/wpt/css/css-values/support/vh-support-transform-origin-iframe.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-values/iframe/vh-support-transform-translate-iframe.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-values/support/vh-support-transform-translate-iframe.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/css/css-values/iframe/vh-support-transform-translate-iframe.html
rename to third_party/WebKit/LayoutTests/external/wpt/css/css-values/support/vh-support-transform-translate-iframe.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-values/vh-support-transform-origin.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-values/vh-support-transform-origin.html
index 4b06a09..38d17d2 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-values/vh-support-transform-origin.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-values/vh-support-transform-origin.html
@@ -36,7 +36,7 @@
 </head>
 <body>
 
-	<iframe src="iframe/vh-support-transform-origin-iframe.html"></iframe>
+	<iframe src="support/vh-support-transform-origin-iframe.html"></iframe>
 
 </body>
 </html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-values/vh-support-transform-translate.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-values/vh-support-transform-translate.html
index e273026..900b653 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-values/vh-support-transform-translate.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-values/vh-support-transform-translate.html
@@ -36,7 +36,7 @@
 </head>
 <body>
 
-	<iframe src="iframe/vh-support-transform-translate-iframe.html"></iframe>
+	<iframe src="support/vh-support-transform-translate-iframe.html"></iframe>
 
 </body>
 </html>
diff --git a/third_party/WebKit/LayoutTests/fast/harness/results.html b/third_party/WebKit/LayoutTests/fast/harness/results.html
index d32730e..bb74ab54 100644
--- a/third_party/WebKit/LayoutTests/fast/harness/results.html
+++ b/third_party/WebKit/LayoutTests/fast/harness/results.html
@@ -250,6 +250,9 @@
 </pre>
   <p>Text mistmatch groups "Text failure" tests together.
   </p>
+  <h4>5. Rebaseline</h4>
+    <p>Generates a bash script to rebaseline based on new results. @xiaochengh knows the details on how to use it, and @kojii is
+    our one user.</p>
   <h3>Viewing results of a single test</h3>
   <h4>Image results</h4>
   <p>Click on images to zoom in. Select image viewing mode from the popup.</p>
@@ -324,6 +327,7 @@
       <option value="expectation">TestExpectations</option>
       <option value="crashsite">Crash site</option>
       <option value="textmismatch">Text mismatch</option>
+      <option value="rebaseline">Rebaseline script</option>
     </select>
   <span style="margin-left: 20px">
     <button id="copy_report" title="Copy the shown/flagged tests to clipboard in the current format"
@@ -470,6 +474,8 @@
         return {print: Report.printCrashSite, render: Report.renderGroupCrashSite};
       case "textmismatch":
         return {print: Report.printTextMismatch, render: Report.renderGroupTextMismatch};
+      case "rebaseline":
+        return {print: Report.printRebaseline, render: Report.renderResultList};
       case "plain":
       default:
         return {print: Report.printPlainTest, render: Report.renderResultList};
@@ -557,6 +563,44 @@
     Report.printWithKey(test, path, traversal, "text_mismatch");
   },
 
+  printRebaseline: (test, path, traversal) => {
+    let parser = new PathParser(path);
+    let actualNames = [];
+    let expectedNames = [];
+    switch (test.actualFinal) {
+      case "IMAGE+TEXT":
+        actualNames.push("-actual.txt");
+        expectedNames.push("-expected.txt");
+        // fall through IMAGE
+      case "IMAGE":
+        actualNames.push("-actual.png");
+        expectedNames.push("-expected.png");
+      break;
+      case "TEXT":
+        actualNames.push("-actual.txt");
+        expectedNames.push("-expected.txt");
+      break;
+      default:
+        return;
+    }
+    // Change directory if in wrong place
+    let dir = parser.dir;
+    if (dir != traversal.rebaselineDir) {
+      if (traversal.rebaselineDir) {
+        let depth = (traversal.rebaselineDir.match(/\//g) || []).length;
+        traversal.html.push(`<div>cd ${'..' + '/..'.repeat(depth)};</div>`);
+      }
+      traversal.html.push(`<div>mkdir -p ${dir};</div>`);
+      traversal.html.push(`<div>cd ${dir};</div>`);
+      traversal.rebaselineDir = dir;
+    }
+    for (let i=0; i<actualNames.length; i++) {
+      let url = new URL(parser.resultLink(actualNames[i]), window.location.href);
+      traversal.html.push(`<div>wget ${url.href};</div>`);
+      traversal.html.push(`<div>mv ${parser.basename + actualNames[i]} ${parser.basename + expectedNames[i]};</div>`);
+    }
+  },
+
   indicateNone: (report) => {
     let pre = document.createElement("div");
     pre.innerHTML = "<i>None</i>";
diff --git a/third_party/WebKit/Source/build/scripts/core/css/properties/templates/CSSProperty.h.tmpl b/third_party/WebKit/Source/build/scripts/core/css/properties/templates/CSSProperty.h.tmpl
index 8832a39..0b4238a5 100644
--- a/third_party/WebKit/Source/build/scripts/core/css/properties/templates/CSSProperty.h.tmpl
+++ b/third_party/WebKit/Source/build/scripts/core/css/properties/templates/CSSProperty.h.tmpl
@@ -34,11 +34,8 @@
  public:
   CORE_EXPORT static const CSSProperty& Get(CSSPropertyID);
 
-  explicit constexpr CSSProperty(CSSPropertyID id) : CSSUnresolvedProperty(id) {}
-
   bool IsResolvedProperty() const override { return true; }
   WTF::String GetJSPropertyName() const;
-
   virtual bool IsInterpolable() const { return false; }
   virtual bool IsInherited() const { return false; }
   virtual bool IsCompositableProperty() const { return false; }
@@ -72,6 +69,8 @@
                                                    Vector<const CSSProperty*>&);
 
  protected:
+  constexpr CSSProperty() : CSSUnresolvedProperty() {}
+
   static const StylePropertyShorthand& BorderDirections();
   static const CSSProperty& ResolveAfterToPhysicalProperty(
       TextDirection,
diff --git a/third_party/WebKit/Source/build/scripts/core/css/properties/templates/CSSPropertySubclass.h.tmpl b/third_party/WebKit/Source/build/scripts/core/css/properties/templates/CSSPropertySubclass.h.tmpl
index df81e1a..6789fe1 100644
--- a/third_party/WebKit/Source/build/scripts/core/css/properties/templates/CSSPropertySubclass.h.tmpl
+++ b/third_party/WebKit/Source/build/scripts/core/css/properties/templates/CSSPropertySubclass.h.tmpl
@@ -26,14 +26,15 @@
 {% endif %}
 // See src/third_party/WebKit/Source/core/css/properties/README.md
   {% if property.alias_for != None%}
-class {{property_classname}} : public CSSUnresolvedProperty {
+class {{property_classname}} final : public CSSUnresolvedProperty {
  public:
-  constexpr {{property_classname}}(CSSPropertyID id) : CSSUnresolvedProperty(id) {}
+  constexpr {{property_classname}}() : CSSUnresolvedProperty() {}
   {% else %}
-class {{property_classname}} : public {{property.namespace_group}} {
+class {{property_classname}} final : public {{property.namespace_group}} {
  public:
-  constexpr {{property_classname}}(CSSPropertyID id) : {{property.namespace_group}}(id) {}
+  constexpr {{property_classname}}() : {{property.namespace_group}}() {}
   {% endif %}
+  CSSPropertyID PropertyID() const override { return {{property.property_id}}; }
   const char* GetPropertyName() const override { return "{{property.name}}\0"; }
   const WTF::AtomicString& GetPropertyNameAtomicString() const override {
     static const WTF::AtomicString& name = WTF::AtomicString("{{property.name}}\0");
diff --git a/third_party/WebKit/Source/build/scripts/core/css/properties/templates/CSSUnresolvedProperty.cpp.tmpl b/third_party/WebKit/Source/build/scripts/core/css/properties/templates/CSSUnresolvedProperty.cpp.tmpl
index 9c903b5..32dcd26f 100644
--- a/third_party/WebKit/Source/build/scripts/core/css/properties/templates/CSSUnresolvedProperty.cpp.tmpl
+++ b/third_party/WebKit/Source/build/scripts/core/css/properties/templates/CSSUnresolvedProperty.cpp.tmpl
@@ -21,12 +21,12 @@
 namespace blink {
 namespace {
 
-static constexpr Variable property_csspropertyvariable(CSSPropertyVariable);
+static constexpr Variable property_csspropertyvariable;
 {% for _, property_id, classname, namespace_group in property_classes_by_property_id %}
-static constexpr CSS{{namespace_group}}::{{classname}} property_{{property_id.lower()}}({{property_id}});
+static constexpr CSS{{namespace_group}}::{{classname}} property_{{property_id.lower()}};
 {% endfor %}
 {% for _, property_id, classname, namespace_group in alias_classes_by_property_id %}
-static constexpr CSS{{namespace_group}}::{{classname}} property_{{property_id.lower()}}({{property_id}});
+static constexpr CSS{{namespace_group}}::{{classname}} property_{{property_id.lower()}};
 {% endfor %}
 
 } // namespace
diff --git a/third_party/WebKit/Source/build/scripts/core/css/properties/templates/CSSUnresolvedProperty.h.tmpl b/third_party/WebKit/Source/build/scripts/core/css/properties/templates/CSSUnresolvedProperty.h.tmpl
index e94c329..f9f0a0cf 100644
--- a/third_party/WebKit/Source/build/scripts/core/css/properties/templates/CSSUnresolvedProperty.h.tmpl
+++ b/third_party/WebKit/Source/build/scripts/core/css/properties/templates/CSSUnresolvedProperty.h.tmpl
@@ -21,13 +21,14 @@
  public:
   CORE_EXPORT static const CSSUnresolvedProperty& Get(CSSPropertyID);
 
-  explicit constexpr CSSUnresolvedProperty(CSSPropertyID id) : id_(id) {}
-
   // For backwards compatibility when passing around CSSUnresolvedProperty
   // references. In case we need to call a function that hasn't been converted
   // to using property classes yet.
-  CSSPropertyID PropertyID() const { return id_; }
-  bool IDEquals(CSSPropertyID id) const { return id_ == id; }
+  virtual CSSPropertyID PropertyID() const {
+    NOTREACHED();
+    return CSSPropertyInvalid;
+  }
+  bool IDEquals(CSSPropertyID id) const { return PropertyID() == id; }
   virtual bool IsResolvedProperty() const { return false; }
   virtual const char* GetPropertyName() const {
     NOTREACHED();
@@ -49,10 +50,8 @@
 
   CORE_EXPORT static const CSSUnresolvedProperty* GetAliasProperty(CSSPropertyID);
 
- private:
-  const CSSPropertyID id_;
-
  protected:
+  constexpr CSSUnresolvedProperty() {}
   static const CSSUnresolvedProperty& GetNonAliasProperty(CSSPropertyID);
 };
 
diff --git a/third_party/WebKit/Source/core/animation/PropertyHandle.h b/third_party/WebKit/Source/core/animation/PropertyHandle.h
index 2070663a..57c8122 100644
--- a/third_party/WebKit/Source/core/animation/PropertyHandle.h
+++ b/third_party/WebKit/Source/core/animation/PropertyHandle.h
@@ -23,8 +23,7 @@
       : handle_type_(is_presentation_attribute ? kHandlePresentationAttribute
                                                : kHandleCSSProperty),
         css_property_(&property) {
-    DCHECK(!property.IDEquals(CSSPropertyInvalid));
-    DCHECK(!property.IDEquals(CSSPropertyVariable));
+    DCHECK_NE(CSSPropertyVariable, property.PropertyID());
   }
 
   explicit PropertyHandle(const AtomicString& property_name)
diff --git a/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp b/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
index b6a910e..d415977 100644
--- a/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
+++ b/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
@@ -2235,12 +2235,9 @@
     const LayoutObject* layout_object,
     Node* styled_node,
     bool allow_visited_style) {
-  if (property.IDEquals(CSSPropertyInvalid))
-    return nullptr;
   const SVGComputedStyle& svg_style = style.SvgStyle();
   const CSSProperty& resolved_property = property.ResolveDirectionAwareProperty(
       style.Direction(), style.GetWritingMode());
-  DCHECK(!resolved_property.IDEquals(CSSPropertyInvalid));
   switch (resolved_property.PropertyID()) {
     case CSSPropertyBackgroundImage:
     case CSSPropertyWebkitMaskImage: {
diff --git a/third_party/WebKit/Source/core/css/properties/Longhand.h b/third_party/WebKit/Source/core/css/properties/Longhand.h
index 036d8168..5d44172 100644
--- a/third_party/WebKit/Source/core/css/properties/Longhand.h
+++ b/third_party/WebKit/Source/core/css/properties/Longhand.h
@@ -16,8 +16,6 @@
 
 class Longhand : public CSSProperty {
  public:
-  constexpr Longhand(CSSPropertyID id) : CSSProperty(id) {}
-
   // Parses and consumes a longhand property value from the token range.
   // Returns nullptr if the input is invalid.
   virtual const CSSValue* ParseSingleValue(CSSParserTokenRange&,
@@ -36,6 +34,9 @@
     return Color();
   }
   bool IsLonghand() const override { return true; }
+
+ protected:
+  constexpr Longhand() : CSSProperty() {}
 };
 
 DEFINE_TYPE_CASTS(Longhand,
diff --git a/third_party/WebKit/Source/core/css/properties/Shorthand.h b/third_party/WebKit/Source/core/css/properties/Shorthand.h
index 38205f3..1082ae8e 100644
--- a/third_party/WebKit/Source/core/css/properties/Shorthand.h
+++ b/third_party/WebKit/Source/core/css/properties/Shorthand.h
@@ -13,8 +13,6 @@
 
 class Shorthand : public CSSProperty {
  public:
-  constexpr Shorthand(CSSPropertyID id) : CSSProperty(id) {}
-
   // Parses and consumes entire shorthand value from the token range and adds
   // all constituent parsed longhand properties to the 'properties' set.
   // Returns false if the input is invalid.
@@ -28,6 +26,9 @@
     return false;
   }
   bool IsShorthand() const override { return true; }
+
+ protected:
+  constexpr Shorthand() : CSSProperty() {}
 };
 
 DEFINE_TYPE_CASTS(Shorthand,
diff --git a/third_party/WebKit/Source/core/css/properties/longhands/Variable.h b/third_party/WebKit/Source/core/css/properties/longhands/Variable.h
index 8fc6c900..ae06adf5 100644
--- a/third_party/WebKit/Source/core/css/properties/longhands/Variable.h
+++ b/third_party/WebKit/Source/core/css/properties/longhands/Variable.h
@@ -13,12 +13,18 @@
 
 namespace blink {
 
-class Variable : public CSSProperty {
+class Variable final : public CSSProperty {
  public:
-  constexpr Variable(CSSPropertyID id) : CSSProperty(id) {}
+  constexpr Variable() : CSSProperty() {}
 
   bool IsInherited() const override { return true; }
   bool IsAffectedByAll() const override { return false; }
+  CSSPropertyID PropertyID() const override { return CSSPropertyVariable; }
+  const char* GetPropertyName() const override { return "variable\0"; }
+  const WTF::AtomicString& GetPropertyNameAtomicString() const override {
+    static const WTF::AtomicString& name = WTF::AtomicString("variable\0");
+    return name;
+  }
 };
 
 }  // namespace blink
diff --git a/third_party/WebKit/Source/core/loader/ThreadableLoaderTest.cpp b/third_party/WebKit/Source/core/loader/ThreadableLoaderTest.cpp
index ad561fd..a0685353 100644
--- a/third_party/WebKit/Source/core/loader/ThreadableLoaderTest.cpp
+++ b/third_party/WebKit/Source/core/loader/ThreadableLoaderTest.cpp
@@ -335,7 +335,7 @@
     worker_loading_task_runner_ =
         worker_thread_->GetTaskRunner(TaskType::kInternalTest);
 
-    worker_loading_task_runner_->PostTask(BLINK_FROM_HERE,
+    worker_loading_task_runner_->PostTask(FROM_HERE,
                                           CrossThreadBind(&SetUpMockURLs));
     WaitForWorkerThreadSignal();
   }
@@ -343,7 +343,7 @@
   void OnServeRequests() override {
     testing::RunPendingTasks();
     worker_loading_task_runner_->PostTask(
-        BLINK_FROM_HERE, CrossThreadBind(&ServeAsynchronousRequests));
+        FROM_HERE, CrossThreadBind(&ServeAsynchronousRequests));
     WaitForWorkerThreadSignal();
   }
 
@@ -411,7 +411,7 @@
   void WaitForWorkerThreadSignal() {
     WaitableEvent event;
     worker_loading_task_runner_->PostTask(
-        BLINK_FROM_HERE,
+        FROM_HERE,
         CrossThreadBind(&WaitableEvent::Signal, CrossThreadUnretained(&event)));
     event.Wait();
   }
diff --git a/third_party/WebKit/Source/platform/AsyncMethodRunner.h b/third_party/WebKit/Source/platform/AsyncMethodRunner.h
index d4f5536..55fbc71 100644
--- a/third_party/WebKit/Source/platform/AsyncMethodRunner.h
+++ b/third_party/WebKit/Source/platform/AsyncMethodRunner.h
@@ -65,7 +65,7 @@
 
     // FIXME: runAsync should take a TraceLocation and pass it to timer here.
     if (!timer_.IsActive())
-      timer_.StartOneShot(TimeDelta(), BLINK_FROM_HERE);
+      timer_.StartOneShot(TimeDelta(), FROM_HERE);
   }
 
   // If it's scheduled to run the method, cancel it and remember to schedule
@@ -94,7 +94,7 @@
 
     run_when_unpaused_ = false;
     // FIXME: resume should take a TraceLocation and pass it to timer here.
-    timer_.StartOneShot(TimeDelta(), BLINK_FROM_HERE);
+    timer_.StartOneShot(TimeDelta(), FROM_HERE);
   }
 
   void Stop() {
diff --git a/third_party/WebKit/Source/platform/LongTaskDetectorTest.cpp b/third_party/WebKit/Source/platform/LongTaskDetectorTest.cpp
index 4cd653c9..90a9c2fc 100644
--- a/third_party/WebKit/Source/platform/LongTaskDetectorTest.cpp
+++ b/third_party/WebKit/Source/platform/LongTaskDetectorTest.cpp
@@ -54,7 +54,7 @@
 
   void SimulateTask(double duration_seconds) {
     platform_->CurrentThread()->GetWebTaskRunner()->PostTask(
-        BLINK_FROM_HERE,
+        FROM_HERE,
         CrossThreadBind(&LongTaskDetectorTest::DummyTaskWithDuration,
                         CrossThreadUnretained(this), duration_seconds));
     platform_->RunUntilIdle();
diff --git a/third_party/WebKit/Source/platform/Timer.cpp b/third_party/WebKit/Source/platform/Timer.cpp
index 4aaacd2..6e709e5 100644
--- a/third_party/WebKit/Source/platform/Timer.cpp
+++ b/third_party/WebKit/Source/platform/Timer.cpp
@@ -54,7 +54,7 @@
 
 void TimerBase::Start(TimeDelta next_fire_interval,
                       TimeDelta repeat_interval,
-                      const WebTraceLocation& caller) {
+                      const base::Location& caller) {
 #if DCHECK_IS_ON()
   DCHECK_EQ(thread_, CurrentThread());
 #endif
diff --git a/third_party/WebKit/Source/platform/Timer.h b/third_party/WebKit/Source/platform/Timer.h
index 04c0d941..5f0e8a0 100644
--- a/third_party/WebKit/Source/platform/Timer.h
+++ b/third_party/WebKit/Source/platform/Timer.h
@@ -26,6 +26,7 @@
 #ifndef Timer_h
 #define Timer_h
 
+#include "base/location.h"
 #include "base/memory/weak_ptr.h"
 #include "base/time/time.h"
 #include "platform/PlatformExport.h"
@@ -36,7 +37,6 @@
 #include "platform/wtf/Noncopyable.h"
 #include "platform/wtf/Threading.h"
 #include "platform/wtf/Time.h"
-#include "public/platform/WebTraceLocation.h"
 
 namespace blink {
 
@@ -51,23 +51,22 @@
 
   void Start(TimeDelta next_fire_interval,
              TimeDelta repeat_interval,
-             const WebTraceLocation&);
+             const base::Location&);
   void Start(double next_fire_interval,
              double repeat_interval,
-             const WebTraceLocation& from_here) {
+             const base::Location& from_here) {
     Start(TimeDelta::FromSecondsD(next_fire_interval),
           TimeDelta::FromSecondsD(repeat_interval), from_here);
   }
 
-  void StartRepeating(TimeDelta repeat_interval,
-                      const WebTraceLocation& caller) {
+  void StartRepeating(TimeDelta repeat_interval, const base::Location& caller) {
     Start(repeat_interval, repeat_interval, caller);
   }
 
-  void StartOneShot(TimeDelta interval, const WebTraceLocation& caller) {
+  void StartOneShot(TimeDelta interval, const base::Location& caller) {
     Start(interval, TimeDelta(), caller);
   }
-  void StartOneShot(double interval, const WebTraceLocation& caller) {
+  void StartOneShot(double interval, const base::Location& caller) {
     StartOneShot(TimeDelta::FromSecondsD(interval), caller);
   }
 
@@ -75,7 +74,7 @@
   // about it unless you're canceling tens of thousands of tasks.
   virtual void Stop();
   bool IsActive() const;
-  const WebTraceLocation& GetLocation() const { return location_; }
+  const base::Location& GetLocation() const { return location_; }
 
   TimeDelta NextFireIntervalDelta() const;
   double NextFireInterval() const {
@@ -119,7 +118,7 @@
 
   TimeTicks next_fire_time_;   // 0 if inactive
   TimeDelta repeat_interval_;  // 0 if not repeating
-  WebTraceLocation location_;
+  base::Location location_;
   scoped_refptr<WebTaskRunner> web_task_runner_;
 
 #if DCHECK_IS_ON()
diff --git a/third_party/WebKit/Source/platform/TimerPerfTest.cpp b/third_party/WebKit/Source/platform/TimerPerfTest.cpp
index c409610..e4f2670 100644
--- a/third_party/WebKit/Source/platform/TimerPerfTest.cpp
+++ b/third_party/WebKit/Source/platform/TimerPerfTest.cpp
@@ -41,13 +41,13 @@
                                          &TimerPerfTest::RecordStartRunTime);
   Timer<TimerPerfTest> measure_run_end(this, &TimerPerfTest::RecordEndRunTime);
 
-  measure_run_start.StartOneShot(TimeDelta(), BLINK_FROM_HERE);
+  measure_run_start.StartOneShot(TimeDelta(), FROM_HERE);
   base::ThreadTicks post_start = base::ThreadTicks::Now();
   for (int i = 0; i < kNumIterations; i++) {
-    timers[i]->StartOneShot(TimeDelta(), BLINK_FROM_HERE);
+    timers[i]->StartOneShot(TimeDelta(), FROM_HERE);
   }
   base::ThreadTicks post_end = base::ThreadTicks::Now();
-  measure_run_end.StartOneShot(TimeDelta(), BLINK_FROM_HERE);
+  measure_run_end.StartOneShot(TimeDelta(), FROM_HERE);
 
   testing::EnterRunLoop();
 
@@ -71,13 +71,13 @@
                                          &TimerPerfTest::RecordStartRunTime);
   Timer<TimerPerfTest> measure_run_end(this, &TimerPerfTest::RecordEndRunTime);
 
-  measure_run_start.StartOneShot(TimeDelta(), BLINK_FROM_HERE);
+  measure_run_start.StartOneShot(TimeDelta(), FROM_HERE);
   base::ThreadTicks post_start = base::ThreadTicks::Now();
   for (int i = 0; i < kNumIterations; i++) {
-    timers[i]->StartOneShot(TimeDelta(), BLINK_FROM_HERE);
+    timers[i]->StartOneShot(TimeDelta(), FROM_HERE);
   }
   base::ThreadTicks post_end = base::ThreadTicks::Now();
-  measure_run_end.StartOneShot(TimeDelta(), BLINK_FROM_HERE);
+  measure_run_end.StartOneShot(TimeDelta(), FROM_HERE);
 
   base::ThreadTicks cancel_start = base::ThreadTicks::Now();
   for (int i = 0; i < kNumIterations; i++) {
diff --git a/third_party/WebKit/Source/platform/TimerTest.cpp b/third_party/WebKit/Source/platform/TimerTest.cpp
index 679f22e..b88b24ca 100644
--- a/third_party/WebKit/Source/platform/TimerTest.cpp
+++ b/third_party/WebKit/Source/platform/TimerTest.cpp
@@ -102,7 +102,7 @@
       : timer_(this, &OnHeapTimerOwner::Fired), record_(std::move(record)) {}
   ~OnHeapTimerOwner() { record_->SetOwnerIsDestructed(); }
 
-  void StartOneShot(TimeDelta interval, const WebTraceLocation& caller) {
+  void StartOneShot(TimeDelta interval, const base::Location& caller) {
     timer_.StartOneShot(interval, caller);
   }
 
@@ -127,7 +127,7 @@
 
 TEST_F(TimerTest, StartOneShot_Zero) {
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartOneShot(TimeDelta(), BLINK_FROM_HERE);
+  timer.StartOneShot(TimeDelta(), FROM_HERE);
 
   double run_time;
   EXPECT_FALSE(TimeTillNextDelayedTask(&run_time));
@@ -138,7 +138,7 @@
 
 TEST_F(TimerTest, StartOneShot_ZeroAndCancel) {
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartOneShot(TimeDelta(), BLINK_FROM_HERE);
+  timer.StartOneShot(TimeDelta(), FROM_HERE);
 
   double run_time;
   EXPECT_FALSE(TimeTillNextDelayedTask(&run_time));
@@ -151,7 +151,7 @@
 
 TEST_F(TimerTest, StartOneShot_ZeroAndCancelThenRepost) {
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartOneShot(TimeDelta(), BLINK_FROM_HERE);
+  timer.StartOneShot(TimeDelta(), FROM_HERE);
 
   double run_time;
   EXPECT_FALSE(TimeTillNextDelayedTask(&run_time));
@@ -161,7 +161,7 @@
   platform_->RunUntilIdle();
   EXPECT_FALSE(run_times_.size());
 
-  timer.StartOneShot(TimeDelta(), BLINK_FROM_HERE);
+  timer.StartOneShot(TimeDelta(), FROM_HERE);
 
   EXPECT_FALSE(TimeTillNextDelayedTask(&run_time));
 
@@ -171,7 +171,7 @@
 
 TEST_F(TimerTest, StartOneShot_Zero_RepostingAfterRunning) {
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartOneShot(TimeDelta(), BLINK_FROM_HERE);
+  timer.StartOneShot(TimeDelta(), FROM_HERE);
 
   double run_time;
   EXPECT_FALSE(TimeTillNextDelayedTask(&run_time));
@@ -179,7 +179,7 @@
   platform_->RunUntilIdle();
   EXPECT_THAT(run_times_, ElementsAre(start_time_));
 
-  timer.StartOneShot(TimeDelta(), BLINK_FROM_HERE);
+  timer.StartOneShot(TimeDelta(), FROM_HERE);
 
   EXPECT_FALSE(TimeTillNextDelayedTask(&run_time));
 
@@ -189,7 +189,7 @@
 
 TEST_F(TimerTest, StartOneShot_NonZero) {
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartOneShot(TimeDelta::FromSeconds(10), BLINK_FROM_HERE);
+  timer.StartOneShot(TimeDelta::FromSeconds(10), FROM_HERE);
 
   double run_time;
   EXPECT_TRUE(TimeTillNextDelayedTask(&run_time));
@@ -201,7 +201,7 @@
 
 TEST_F(TimerTest, StartOneShot_NonZeroAndCancel) {
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartOneShot(TimeDelta::FromSeconds(10), BLINK_FROM_HERE);
+  timer.StartOneShot(TimeDelta::FromSeconds(10), FROM_HERE);
 
   double run_time;
   EXPECT_TRUE(TimeTillNextDelayedTask(&run_time));
@@ -216,7 +216,7 @@
 
 TEST_F(TimerTest, StartOneShot_NonZeroAndCancelThenRepost) {
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartOneShot(TimeDelta::FromSeconds(10), BLINK_FROM_HERE);
+  timer.StartOneShot(TimeDelta::FromSeconds(10), FROM_HERE);
 
   double run_time;
   EXPECT_TRUE(TimeTillNextDelayedTask(&run_time));
@@ -229,7 +229,7 @@
   EXPECT_FALSE(run_times_.size());
 
   double second_post_time = CurrentTimeTicksInSeconds();
-  timer.StartOneShot(TimeDelta::FromSeconds(10), BLINK_FROM_HERE);
+  timer.StartOneShot(TimeDelta::FromSeconds(10), FROM_HERE);
 
   EXPECT_TRUE(TimeTillNextDelayedTask(&run_time));
   EXPECT_FLOAT_EQ(10.0, run_time);
@@ -240,7 +240,7 @@
 
 TEST_F(TimerTest, StartOneShot_NonZero_RepostingAfterRunning) {
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartOneShot(TimeDelta::FromSeconds(10), BLINK_FROM_HERE);
+  timer.StartOneShot(TimeDelta::FromSeconds(10), FROM_HERE);
 
   double run_time;
   EXPECT_TRUE(TimeTillNextDelayedTask(&run_time));
@@ -249,7 +249,7 @@
   platform_->RunUntilIdle();
   EXPECT_THAT(run_times_, ElementsAre(start_time_ + 10.0));
 
-  timer.StartOneShot(TimeDelta::FromSeconds(20), BLINK_FROM_HERE);
+  timer.StartOneShot(TimeDelta::FromSeconds(20), FROM_HERE);
 
   EXPECT_TRUE(TimeTillNextDelayedTask(&run_time));
   EXPECT_FLOAT_EQ(20.0, run_time);
@@ -260,8 +260,8 @@
 
 TEST_F(TimerTest, PostingTimerTwiceWithSameRunTimeDoesNothing) {
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartOneShot(TimeDelta::FromSeconds(10), BLINK_FROM_HERE);
-  timer.StartOneShot(TimeDelta::FromSeconds(10), BLINK_FROM_HERE);
+  timer.StartOneShot(TimeDelta::FromSeconds(10), FROM_HERE);
+  timer.StartOneShot(TimeDelta::FromSeconds(10), FROM_HERE);
 
   double run_time;
   EXPECT_TRUE(TimeTillNextDelayedTask(&run_time));
@@ -273,8 +273,8 @@
 
 TEST_F(TimerTest, PostingTimerTwiceWithNewerRunTimeCancelsOriginalTask) {
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartOneShot(TimeDelta::FromSeconds(10), BLINK_FROM_HERE);
-  timer.StartOneShot(TimeDelta(), BLINK_FROM_HERE);
+  timer.StartOneShot(TimeDelta::FromSeconds(10), FROM_HERE);
+  timer.StartOneShot(TimeDelta(), FROM_HERE);
 
   platform_->RunUntilIdle();
   EXPECT_THAT(run_times_, ElementsAre(start_time_ + 0.0));
@@ -282,8 +282,8 @@
 
 TEST_F(TimerTest, PostingTimerTwiceWithLaterRunTimeCancelsOriginalTask) {
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartOneShot(TimeDelta(), BLINK_FROM_HERE);
-  timer.StartOneShot(TimeDelta::FromSeconds(10), BLINK_FROM_HERE);
+  timer.StartOneShot(TimeDelta(), FROM_HERE);
+  timer.StartOneShot(TimeDelta::FromSeconds(10), FROM_HERE);
 
   platform_->RunUntilIdle();
   EXPECT_THAT(run_times_, ElementsAre(start_time_ + 10.0));
@@ -291,7 +291,7 @@
 
 TEST_F(TimerTest, StartRepeatingTask) {
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartRepeating(TimeDelta::FromSeconds(1), BLINK_FROM_HERE);
+  timer.StartRepeating(TimeDelta::FromSeconds(1), FROM_HERE);
 
   double run_time;
   EXPECT_TRUE(TimeTillNextDelayedTask(&run_time));
@@ -305,7 +305,7 @@
 
 TEST_F(TimerTest, StartRepeatingTask_ThenCancel) {
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartRepeating(TimeDelta::FromSeconds(1), BLINK_FROM_HERE);
+  timer.StartRepeating(TimeDelta::FromSeconds(1), FROM_HERE);
 
   double run_time;
   EXPECT_TRUE(TimeTillNextDelayedTask(&run_time));
@@ -322,7 +322,7 @@
 
 TEST_F(TimerTest, StartRepeatingTask_ThenPostOneShot) {
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartRepeating(TimeDelta::FromSeconds(1), BLINK_FROM_HERE);
+  timer.StartRepeating(TimeDelta::FromSeconds(1), FROM_HERE);
 
   double run_time;
   EXPECT_TRUE(TimeTillNextDelayedTask(&run_time));
@@ -331,7 +331,7 @@
   RunUntilDeadline(start_time_ + 2.5);
   EXPECT_THAT(run_times_, ElementsAre(start_time_ + 1.0, start_time_ + 2.0));
 
-  timer.StartOneShot(TimeDelta(), BLINK_FROM_HERE);
+  timer.StartOneShot(TimeDelta(), FROM_HERE);
   platform_->RunUntilIdle();
 
   EXPECT_THAT(run_times_, ElementsAre(start_time_ + 1.0, start_time_ + 2.0,
@@ -346,28 +346,28 @@
 
 TEST_F(TimerTest, IsActive_AfterPosting_OneShotZero) {
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartOneShot(TimeDelta(), BLINK_FROM_HERE);
+  timer.StartOneShot(TimeDelta(), FROM_HERE);
 
   EXPECT_TRUE(timer.IsActive());
 }
 
 TEST_F(TimerTest, IsActive_AfterPosting_OneShotNonZero) {
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartOneShot(TimeDelta::FromSeconds(10), BLINK_FROM_HERE);
+  timer.StartOneShot(TimeDelta::FromSeconds(10), FROM_HERE);
 
   EXPECT_TRUE(timer.IsActive());
 }
 
 TEST_F(TimerTest, IsActive_AfterPosting_Repeating) {
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartRepeating(TimeDelta::FromSeconds(1), BLINK_FROM_HERE);
+  timer.StartRepeating(TimeDelta::FromSeconds(1), FROM_HERE);
 
   EXPECT_TRUE(timer.IsActive());
 }
 
 TEST_F(TimerTest, IsActive_AfterRunning_OneShotZero) {
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartOneShot(TimeDelta(), BLINK_FROM_HERE);
+  timer.StartOneShot(TimeDelta(), FROM_HERE);
 
   platform_->RunUntilIdle();
   EXPECT_FALSE(timer.IsActive());
@@ -375,7 +375,7 @@
 
 TEST_F(TimerTest, IsActive_AfterRunning_OneShotNonZero) {
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartOneShot(TimeDelta::FromSeconds(10), BLINK_FROM_HERE);
+  timer.StartOneShot(TimeDelta::FromSeconds(10), FROM_HERE);
 
   platform_->RunUntilIdle();
   EXPECT_FALSE(timer.IsActive());
@@ -383,7 +383,7 @@
 
 TEST_F(TimerTest, IsActive_AfterRunning_Repeating) {
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartRepeating(TimeDelta::FromSeconds(1), BLINK_FROM_HERE);
+  timer.StartRepeating(TimeDelta::FromSeconds(1), FROM_HERE);
 
   RunUntilDeadline(start_time_ + 10);
   EXPECT_TRUE(timer.IsActive());  // It should run until cancelled.
@@ -391,14 +391,14 @@
 
 TEST_F(TimerTest, NextFireInterval_OneShotZero) {
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartOneShot(TimeDelta(), BLINK_FROM_HERE);
+  timer.StartOneShot(TimeDelta(), FROM_HERE);
 
   EXPECT_FLOAT_EQ(0.0, timer.NextFireInterval());
 }
 
 TEST_F(TimerTest, NextFireInterval_OneShotNonZero) {
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartOneShot(TimeDelta::FromSeconds(10), BLINK_FROM_HERE);
+  timer.StartOneShot(TimeDelta::FromSeconds(10), FROM_HERE);
 
   EXPECT_FLOAT_EQ(10.0, timer.NextFireInterval());
 }
@@ -407,7 +407,7 @@
   platform_->SetAutoAdvanceNowToPendingTasks(false);
 
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartOneShot(TimeDelta::FromSeconds(10), BLINK_FROM_HERE);
+  timer.StartOneShot(TimeDelta::FromSeconds(10), FROM_HERE);
 
   platform_->AdvanceClockSeconds(2.0);
   EXPECT_FLOAT_EQ(8.0, timer.NextFireInterval());
@@ -415,7 +415,7 @@
 
 TEST_F(TimerTest, NextFireInterval_Repeating) {
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartRepeating(TimeDelta::FromSeconds(20), BLINK_FROM_HERE);
+  timer.StartRepeating(TimeDelta::FromSeconds(20), FROM_HERE);
 
   EXPECT_FLOAT_EQ(20.0, timer.NextFireInterval());
 }
@@ -428,28 +428,28 @@
 
 TEST_F(TimerTest, RepeatInterval_OneShotZero) {
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartOneShot(TimeDelta(), BLINK_FROM_HERE);
+  timer.StartOneShot(TimeDelta(), FROM_HERE);
 
   EXPECT_FLOAT_EQ(0.0, timer.RepeatInterval());
 }
 
 TEST_F(TimerTest, RepeatInterval_OneShotNonZero) {
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartOneShot(TimeDelta::FromSeconds(10), BLINK_FROM_HERE);
+  timer.StartOneShot(TimeDelta::FromSeconds(10), FROM_HERE);
 
   EXPECT_FLOAT_EQ(0.0, timer.RepeatInterval());
 }
 
 TEST_F(TimerTest, RepeatInterval_Repeating) {
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartRepeating(TimeDelta::FromSeconds(20), BLINK_FROM_HERE);
+  timer.StartRepeating(TimeDelta::FromSeconds(20), FROM_HERE);
 
   EXPECT_FLOAT_EQ(20.0, timer.RepeatInterval());
 }
 
 TEST_F(TimerTest, AugmentRepeatInterval) {
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartRepeating(TimeDelta::FromSeconds(10), BLINK_FROM_HERE);
+  timer.StartRepeating(TimeDelta::FromSeconds(10), FROM_HERE);
   EXPECT_FLOAT_EQ(10.0, timer.RepeatInterval());
   EXPECT_FLOAT_EQ(10.0, timer.NextFireInterval());
 
@@ -471,7 +471,7 @@
   platform_->SetAutoAdvanceNowToPendingTasks(false);
 
   Timer<TimerTest> timer(this, &TimerTest::CountingTask);
-  timer.StartRepeating(TimeDelta::FromSeconds(10), BLINK_FROM_HERE);
+  timer.StartRepeating(TimeDelta::FromSeconds(10), FROM_HERE);
   EXPECT_FLOAT_EQ(10.0, timer.RepeatInterval());
   EXPECT_FLOAT_EQ(10.0, timer.NextFireInterval());
 
@@ -487,7 +487,7 @@
   platform_->SetAutoAdvanceNowToPendingTasks(false);
 
   Timer<TimerTest> timer(this, &TimerTest::RecordNextFireTimeTask);
-  timer.StartRepeating(TimeDelta::FromSeconds(2), BLINK_FROM_HERE);
+  timer.StartRepeating(TimeDelta::FromSeconds(2), FROM_HERE);
 
   RecordNextFireTimeTask(
       &timer);  // Next scheduled task to run at m_startTime + 2.0
@@ -544,7 +544,7 @@
       scheduler::WebTaskRunnerImpl::Create(task_runner, base::nullopt);
   TimerForTest<TimerTest> timer(web_task_runner, this,
                                 &TimerTest::CountingTask);
-  timer.StartOneShot(TimeDelta(), BLINK_FROM_HERE);
+  timer.StartOneShot(TimeDelta(), FROM_HERE);
 
   // Make sure the task was posted on taskRunner.
   EXPECT_FALSE(task_runner->IsEmpty());
@@ -555,7 +555,7 @@
       OnHeapTimerOwner::Record::Create();
   Persistent<OnHeapTimerOwner> owner = new OnHeapTimerOwner(record);
 
-  owner->StartOneShot(TimeDelta(), BLINK_FROM_HERE);
+  owner->StartOneShot(TimeDelta(), FROM_HERE);
 
   EXPECT_FALSE(record->TimerHasFired());
   platform_->RunUntilIdle();
@@ -568,7 +568,7 @@
   Persistent<OnHeapTimerOwner> owner = new OnHeapTimerOwner(record);
 
   record->Dispose();
-  owner->StartOneShot(TimeDelta(), BLINK_FROM_HERE);
+  owner->StartOneShot(TimeDelta(), FROM_HERE);
 
   owner = nullptr;
   ThreadState::Current()->CollectGarbage(BlinkGC::kNoHeapPointersOnStack,
@@ -587,7 +587,7 @@
   Persistent<OnHeapTimerOwner> owner = new OnHeapTimerOwner(record);
 
   record->Dispose();
-  owner->StartOneShot(TimeDelta(), BLINK_FROM_HERE);
+  owner->StartOneShot(TimeDelta(), FROM_HERE);
 
   owner = nullptr;
   ThreadState::Current()->CollectGarbage(BlinkGC::kNoHeapPointersOnStack,
@@ -649,7 +649,7 @@
 
   double start_time = CurrentTimeTicksInSeconds();
 
-  timer.StartOneShot(TimeDelta::FromSeconds(1), BLINK_FROM_HERE);
+  timer.StartOneShot(TimeDelta::FromSeconds(1), FROM_HERE);
 
   platform_->RunForPeriodSeconds(0.5);
 
@@ -689,7 +689,7 @@
 
   double start_time = CurrentTimeTicksInSeconds();
 
-  timer.StartRepeating(TimeDelta::FromSeconds(1), BLINK_FROM_HERE);
+  timer.StartRepeating(TimeDelta::FromSeconds(1), FROM_HERE);
 
   platform_->RunForPeriodSeconds(2.5);
 
diff --git a/third_party/WebKit/Source/platform/WebTaskRunner.cpp b/third_party/WebKit/Source/platform/WebTaskRunner.cpp
index 621aacd..ec52d749 100644
--- a/third_party/WebKit/Source/platform/WebTaskRunner.cpp
+++ b/third_party/WebKit/Source/platform/WebTaskRunner.cpp
@@ -63,7 +63,7 @@
   //   };
   //
   //   foo.m_handle = taskRunner->postCancellableTask(
-  //       BLINK_FROM_HERE, WTF::bind(&Foo::bar, wrapPersistent(foo)));
+  //       FROM_HERE, WTF::bind(&Foo::bar, wrapPersistent(foo)));
   //
   // There is a circular reference in the example above as:
   //   foo -> m_handle -> m_runner -> m_task -> Persistent<Foo> in WTF::bind.
@@ -116,26 +116,26 @@
 // avoid copying the closure later in the call chain. Copying the bound state
 // can lead to data races with ref counted objects like StringImpl. See
 // crbug.com/679915 for more details.
-void WebTaskRunner::PostTask(const WebTraceLocation& location,
+void WebTaskRunner::PostTask(const base::Location& location,
                              CrossThreadClosure task) {
   PostDelayedTask(location,
                   base::BindOnce(&RunCrossThreadClosure, std::move(task)),
                   base::TimeDelta());
 }
 
-void WebTaskRunner::PostDelayedTask(const WebTraceLocation& location,
+void WebTaskRunner::PostDelayedTask(const base::Location& location,
                                     CrossThreadClosure task,
                                     TimeDelta delay) {
   PostDelayedTask(
       location, base::BindOnce(&RunCrossThreadClosure, std::move(task)), delay);
 }
 
-void WebTaskRunner::PostTask(const WebTraceLocation& location,
+void WebTaskRunner::PostTask(const base::Location& location,
                              base::OnceClosure task) {
   PostDelayedTask(location, std::move(task), base::TimeDelta());
 }
 
-TaskHandle WebTaskRunner::PostCancellableTask(const WebTraceLocation& location,
+TaskHandle WebTaskRunner::PostCancellableTask(const base::Location& location,
                                               base::OnceClosure task) {
   DCHECK(RunsTasksInCurrentSequence());
   scoped_refptr<TaskHandle::Runner> runner =
@@ -146,7 +146,7 @@
 }
 
 TaskHandle WebTaskRunner::PostDelayedCancellableTask(
-    const WebTraceLocation& location,
+    const base::Location& location,
     base::OnceClosure task,
     TimeDelta delay) {
   DCHECK(RunsTasksInCurrentSequence());
diff --git a/third_party/WebKit/Source/platform/WebTaskRunner.h b/third_party/WebKit/Source/platform/WebTaskRunner.h
index 8c4959a..1108104 100644
--- a/third_party/WebKit/Source/platform/WebTaskRunner.h
+++ b/third_party/WebKit/Source/platform/WebTaskRunner.h
@@ -7,13 +7,13 @@
 
 #include <memory>
 #include "base/callback.h"
+#include "base/location.h"
 #include "base/single_thread_task_runner.h"
 #include "platform/wtf/Compiler.h"
 #include "platform/wtf/Functional.h"
 #include "platform/wtf/RefCounted.h"
 #include "platform/wtf/Time.h"
 #include "public/platform/WebCommon.h"
-#include "public/platform/WebTraceLocation.h"
 
 namespace base {
 class SingleThreadTaskRunner;
@@ -71,20 +71,20 @@
   // Helpers for posting bound functions as tasks.
 
   // For cross-thread posting. Can be called from any thread.
-  void PostTask(const WebTraceLocation&, CrossThreadClosure);
-  void PostDelayedTask(const WebTraceLocation&,
+  void PostTask(const base::Location&, CrossThreadClosure);
+  void PostDelayedTask(const base::Location&,
                        CrossThreadClosure,
                        TimeDelta delay);
 
   // For same-thread posting. Must be called from the associated WebThread.
-  void PostTask(const WebTraceLocation&, base::OnceClosure);
+  void PostTask(const base::Location&, base::OnceClosure);
 
   // For same-thread cancellable task posting. Returns a TaskHandle object for
   // cancellation.
-  WARN_UNUSED_RESULT TaskHandle PostCancellableTask(const WebTraceLocation&,
+  WARN_UNUSED_RESULT TaskHandle PostCancellableTask(const base::Location&,
                                                     base::OnceClosure);
   WARN_UNUSED_RESULT TaskHandle
-  PostDelayedCancellableTask(const WebTraceLocation&,
+  PostDelayedCancellableTask(const base::Location&,
                              base::OnceClosure,
                              TimeDelta delay);
 
diff --git a/third_party/WebKit/Source/platform/WebTaskRunnerTest.cpp b/third_party/WebKit/Source/platform/WebTaskRunnerTest.cpp
index 3591cc3..264f8b8f 100644
--- a/third_party/WebKit/Source/platform/WebTaskRunnerTest.cpp
+++ b/third_party/WebKit/Source/platform/WebTaskRunnerTest.cpp
@@ -44,7 +44,7 @@
   // Run without cancellation.
   int count = 0;
   TaskHandle handle = task_runner->PostCancellableTask(
-      BLINK_FROM_HERE, WTF::Bind(&Increment, WTF::Unretained(&count)));
+      FROM_HERE, WTF::Bind(&Increment, WTF::Unretained(&count)));
   EXPECT_EQ(0, count);
   EXPECT_TRUE(handle.IsActive());
   task_runner->RunUntilIdle();
@@ -53,7 +53,7 @@
 
   count = 0;
   handle = task_runner->PostDelayedCancellableTask(
-      BLINK_FROM_HERE, WTF::Bind(&Increment, WTF::Unretained(&count)),
+      FROM_HERE, WTF::Bind(&Increment, WTF::Unretained(&count)),
       TimeDelta::FromMilliseconds(1));
   EXPECT_EQ(0, count);
   EXPECT_TRUE(handle.IsActive());
@@ -64,7 +64,7 @@
   // Cancel a task.
   count = 0;
   handle = task_runner->PostCancellableTask(
-      BLINK_FROM_HERE, WTF::Bind(&Increment, WTF::Unretained(&count)));
+      FROM_HERE, WTF::Bind(&Increment, WTF::Unretained(&count)));
   handle.Cancel();
   EXPECT_EQ(0, count);
   EXPECT_FALSE(handle.IsActive());
@@ -75,7 +75,7 @@
   {
     count = 0;
     TaskHandle handle2 = task_runner->PostCancellableTask(
-        BLINK_FROM_HERE, WTF::Bind(&Increment, WTF::Unretained(&count)));
+        FROM_HERE, WTF::Bind(&Increment, WTF::Unretained(&count)));
     EXPECT_TRUE(handle2.IsActive());
   }
   EXPECT_EQ(0, count);
@@ -85,8 +85,8 @@
   // The task should be cancelled when another TaskHandle is assigned on it.
   count = 0;
   handle = task_runner->PostCancellableTask(
-      BLINK_FROM_HERE, WTF::Bind(&Increment, WTF::Unretained(&count)));
-  handle = task_runner->PostCancellableTask(BLINK_FROM_HERE, WTF::Bind([] {}));
+      FROM_HERE, WTF::Bind(&Increment, WTF::Unretained(&count)));
+  handle = task_runner->PostCancellableTask(FROM_HERE, WTF::Bind([] {}));
   EXPECT_EQ(0, count);
   task_runner->RunUntilIdle();
   EXPECT_EQ(0, count);
@@ -94,7 +94,7 @@
   // Self assign should be nop.
   count = 0;
   handle = task_runner->PostCancellableTask(
-      BLINK_FROM_HERE, WTF::Bind(&Increment, WTF::Unretained(&count)));
+      FROM_HERE, WTF::Bind(&Increment, WTF::Unretained(&count)));
 #if defined(__clang__)
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wself-move"
@@ -110,8 +110,8 @@
   // handle->isActive() should switch to false before the task starts running.
   bool is_active = false;
   handle = task_runner->PostCancellableTask(
-      BLINK_FROM_HERE, WTF::Bind(&GetIsActive, WTF::Unretained(&is_active),
-                                 WTF::Unretained(&handle)));
+      FROM_HERE, WTF::Bind(&GetIsActive, WTF::Unretained(&is_active),
+                           WTF::Unretained(&handle)));
   EXPECT_TRUE(handle.IsActive());
   task_runner->RunUntilIdle();
   EXPECT_FALSE(is_active);
@@ -124,7 +124,7 @@
 
   int count = 0;
   TaskHandle handle = task_runner->PostCancellableTask(
-      BLINK_FROM_HERE, WTF::Bind(&Increment, WTF::Unretained(&count)));
+      FROM_HERE, WTF::Bind(&Increment, WTF::Unretained(&count)));
   EXPECT_EQ(0, count);
 
   // TaskHandle::isActive should detect the deletion of posted task.
@@ -139,8 +139,8 @@
   count = 0;
   CancellationTestHelper helper;
   handle = task_runner->PostCancellableTask(
-      BLINK_FROM_HERE, WTF::Bind(&CancellationTestHelper::IncrementCounter,
-                                 helper.GetWeakPtr()));
+      FROM_HERE, WTF::Bind(&CancellationTestHelper::IncrementCounter,
+                           helper.GetWeakPtr()));
   EXPECT_EQ(0, helper.Counter());
 
   // The cancellation of the posted task should be propagated to TaskHandle.
diff --git a/third_party/WebKit/Source/platform/WebThreadSupportingGC.h b/third_party/WebKit/Source/platform/WebThreadSupportingGC.h
index 67a78e91..402c97d2 100644
--- a/third_party/WebKit/Source/platform/WebThreadSupportingGC.h
+++ b/third_party/WebKit/Source/platform/WebThreadSupportingGC.h
@@ -34,22 +34,22 @@
   static std::unique_ptr<WebThreadSupportingGC> CreateForThread(WebThread*);
   ~WebThreadSupportingGC();
 
-  void PostTask(const WebTraceLocation& location, base::OnceClosure task) {
+  void PostTask(const base::Location& location, base::OnceClosure task) {
     thread_->GetWebTaskRunner()->PostTask(location, std::move(task));
   }
 
-  void PostDelayedTask(const WebTraceLocation& location,
+  void PostDelayedTask(const base::Location& location,
                        base::OnceClosure task,
                        TimeDelta delay) {
     thread_->GetWebTaskRunner()->PostDelayedTask(location, std::move(task),
                                                  delay);
   }
 
-  void PostTask(const WebTraceLocation& location, CrossThreadClosure task) {
+  void PostTask(const base::Location& location, CrossThreadClosure task) {
     thread_->GetWebTaskRunner()->PostTask(location, std::move(task));
   }
 
-  void PostDelayedTask(const WebTraceLocation& location,
+  void PostDelayedTask(const base::Location& location,
                        CrossThreadClosure task,
                        TimeDelta delay) {
     thread_->GetWebTaskRunner()->PostDelayedTask(location, std::move(task),
diff --git a/third_party/WebKit/Source/platform/audio/AudioDestination.cpp b/third_party/WebKit/Source/platform/audio/AudioDestination.cpp
index 8b01f9ac..174f9a8c 100644
--- a/third_party/WebKit/Source/platform/audio/AudioDestination.cpp
+++ b/third_party/WebKit/Source/platform/audio/AudioDestination.cpp
@@ -134,7 +134,7 @@
   // is available.
   if (worklet_backing_thread_) {
     worklet_backing_thread_->GetWebTaskRunner()->PostTask(
-        BLINK_FROM_HERE,
+        FROM_HERE,
         CrossThreadBind(&AudioDestination::RequestRender, WrapRefCounted(this),
                         number_of_frames, frames_to_render, delay,
                         delay_timestamp, prior_frames_skipped));
diff --git a/third_party/WebKit/Source/platform/audio/HRTFDatabaseLoader.cpp b/third_party/WebKit/Source/platform/audio/HRTFDatabaseLoader.cpp
index 429246b..bacc42a 100644
--- a/third_party/WebKit/Source/platform/audio/HRTFDatabaseLoader.cpp
+++ b/third_party/WebKit/Source/platform/audio/HRTFDatabaseLoader.cpp
@@ -28,12 +28,12 @@
 
 #include "platform/audio/HRTFDatabaseLoader.h"
 
+#include "base/location.h"
 #include "platform/CrossThreadFunctional.h"
 #include "platform/WaitableEvent.h"
 #include "platform/WebTaskRunner.h"
 #include "platform/wtf/PtrUtil.h"
 #include "public/platform/Platform.h"
-#include "public/platform/WebTraceLocation.h"
 
 namespace blink {
 
@@ -98,8 +98,8 @@
   thread_ = Platform::Current()->CreateThread("HRTF database loader");
   // TODO(alexclarke): Should this be posted as a loading task?
   thread_->GetWebTaskRunner()->PostTask(
-      BLINK_FROM_HERE, CrossThreadBind(&HRTFDatabaseLoader::LoadTask,
-                                       CrossThreadUnretained(this)));
+      FROM_HERE, CrossThreadBind(&HRTFDatabaseLoader::LoadTask,
+                                 CrossThreadUnretained(this)));
 }
 
 HRTFDatabase* HRTFDatabaseLoader::Database() {
@@ -128,9 +128,9 @@
   WaitableEvent sync;
   // TODO(alexclarke): Should this be posted as a loading task?
   thread_->GetWebTaskRunner()->PostTask(
-      BLINK_FROM_HERE, CrossThreadBind(&HRTFDatabaseLoader::CleanupTask,
-                                       CrossThreadUnretained(this),
-                                       CrossThreadUnretained(&sync)));
+      FROM_HERE, CrossThreadBind(&HRTFDatabaseLoader::CleanupTask,
+                                 CrossThreadUnretained(this),
+                                 CrossThreadUnretained(&sync)));
   sync.Wait();
   thread_.reset();
 }
diff --git a/third_party/WebKit/Source/platform/audio/PushPullFIFOMultithreadTest.cpp b/third_party/WebKit/Source/platform/audio/PushPullFIFOMultithreadTest.cpp
index 2f3f1c6..b4dff74 100644
--- a/third_party/WebKit/Source/platform/audio/PushPullFIFOMultithreadTest.cpp
+++ b/third_party/WebKit/Source/platform/audio/PushPullFIFOMultithreadTest.cpp
@@ -37,9 +37,8 @@
     duration_ms_ = duration_ms;
     interval_ms_ = interval_ms;
     client_thread_->GetWebTaskRunner()->PostTask(
-        BLINK_FROM_HERE,
-        CrossThreadBind(&FIFOClient::RunTaskOnOwnThread,
-                        CrossThreadUnretained(this)));
+        FROM_HERE, CrossThreadBind(&FIFOClient::RunTaskOnOwnThread,
+                                   CrossThreadUnretained(this)));
     return done_event_.get();
   }
 
@@ -59,7 +58,7 @@
     RunTask();
     if (elapsed_ms_ < duration_ms_) {
       client_thread_->GetWebTaskRunner()->PostDelayedTask(
-          BLINK_FROM_HERE,
+          FROM_HERE,
           CrossThreadBind(&FIFOClient::RunTaskOnOwnThread,
                           CrossThreadUnretained(this)),
           TimeDelta::FromMillisecondsD(interval_with_jitter));
diff --git a/third_party/WebKit/Source/platform/audio/ReverbConvolver.cpp b/third_party/WebKit/Source/platform/audio/ReverbConvolver.cpp
index 22ed564..52b8ace0 100644
--- a/third_party/WebKit/Source/platform/audio/ReverbConvolver.cpp
+++ b/third_party/WebKit/Source/platform/audio/ReverbConvolver.cpp
@@ -29,6 +29,7 @@
 #include "platform/audio/ReverbConvolver.h"
 
 #include <memory>
+#include "base/location.h"
 #include "platform/CrossThreadFunctional.h"
 #include "platform/WebTaskRunner.h"
 #include "platform/audio/AudioBus.h"
@@ -36,7 +37,6 @@
 #include "platform/wtf/PtrUtil.h"
 #include "public/platform/Platform.h"
 #include "public/platform/WebThread.h"
-#include "public/platform/WebTraceLocation.h"
 
 namespace blink {
 
@@ -199,10 +199,11 @@
 
   // Now that we've buffered more input, post another task to the background
   // thread.
-  if (background_thread_)
+  if (background_thread_) {
     background_thread_->GetWebTaskRunner()->PostTask(
-        BLINK_FROM_HERE, CrossThreadBind(&ReverbConvolver::ProcessInBackground,
-                                         CrossThreadUnretained(this)));
+        FROM_HERE, CrossThreadBind(&ReverbConvolver::ProcessInBackground,
+                                   CrossThreadUnretained(this)));
+  }
 }
 
 void ReverbConvolver::Reset() {
diff --git a/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitor.cpp b/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitor.cpp
index 1229c5e7..0685084 100644
--- a/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitor.cpp
+++ b/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitor.cpp
@@ -107,8 +107,8 @@
     return;
 
   Platform::Current()->CurrentThread()->Scheduler()->PostIdleTask(
-      BLINK_FROM_HERE, WTF::Bind(&ScriptWrappableVisitor::PerformLazyCleanup,
-                                 WTF::Unretained(this)));
+      FROM_HERE, WTF::Bind(&ScriptWrappableVisitor::PerformLazyCleanup,
+                           WTF::Unretained(this)));
   idle_cleanup_task_scheduled_ = true;
 }
 
diff --git a/third_party/WebKit/Source/platform/blob/BlobRegistry.cpp b/third_party/WebKit/Source/platform/blob/BlobRegistry.cpp
index 156859e..712d000 100644
--- a/third_party/WebKit/Source/platform/blob/BlobRegistry.cpp
+++ b/third_party/WebKit/Source/platform/blob/BlobRegistry.cpp
@@ -31,6 +31,7 @@
 #include "platform/blob/BlobRegistry.h"
 
 #include <memory>
+#include "base/location.h"
 #include "base/memory/scoped_refptr.h"
 #include "platform/CrossThreadFunctional.h"
 #include "platform/WebTaskRunner.h"
@@ -48,7 +49,6 @@
 #include "public/platform/WebBlobData.h"
 #include "public/platform/WebBlobRegistry.h"
 #include "public/platform/WebString.h"
-#include "public/platform/WebTraceLocation.h"
 
 namespace blink {
 
diff --git a/third_party/WebKit/Source/platform/exported/Platform.cpp b/third_party/WebKit/Source/platform/exported/Platform.cpp
index 99481ce..69e4d36 100644
--- a/third_party/WebKit/Source/platform/exported/Platform.cpp
+++ b/third_party/WebKit/Source/platform/exported/Platform.cpp
@@ -105,8 +105,7 @@
 static void CallOnMainThreadFunction(WTF::MainThreadFunction function,
                                      void* context) {
   Platform::Current()->MainThread()->GetWebTaskRunner()->PostTask(
-      BLINK_FROM_HERE,
-      CrossThreadBind(function, CrossThreadUnretained(context)));
+      FROM_HERE, CrossThreadBind(function, CrossThreadUnretained(context)));
 }
 
 Platform::Platform() : main_thread_(nullptr) {
diff --git a/third_party/WebKit/Source/platform/fonts/mac/FontCacheMac.mm b/third_party/WebKit/Source/platform/fonts/mac/FontCacheMac.mm
index 7325595..2e119a30 100644
--- a/third_party/WebKit/Source/platform/fonts/mac/FontCacheMac.mm
+++ b/third_party/WebKit/Source/platform/fonts/mac/FontCacheMac.mm
@@ -31,6 +31,7 @@
 
 #import <AppKit/AppKit.h>
 #include <memory>
+#include "base/location.h"
 #include "platform/LayoutTestSupport.h"
 #include "platform/WebTaskRunner.h"
 #include "platform/font_family_names.h"
@@ -42,7 +43,6 @@
 #include "platform/wtf/Functional.h"
 #include "platform/wtf/StdLibExtras.h"
 #include "public/platform/Platform.h"
-#include "public/platform/WebTraceLocation.h"
 
 // Forward declare Mac SPIs.
 // Request for public API: rdar://13803570
@@ -68,7 +68,7 @@
 static void InvalidateFontCache() {
   if (!IsMainThread()) {
     Platform::Current()->MainThread()->GetWebTaskRunner()->PostTask(
-        BLINK_FROM_HERE, WTF::Bind(&InvalidateFontCache));
+        FROM_HERE, WTF::Bind(&InvalidateFontCache));
     return;
   }
   FontCache::GetFontCache()->Invalidate();
diff --git a/third_party/WebKit/Source/platform/graphics/AcceleratedStaticBitmapImage.cpp b/third_party/WebKit/Source/platform/graphics/AcceleratedStaticBitmapImage.cpp
index 955ed8e..2fbe206 100644
--- a/third_party/WebKit/Source/platform/graphics/AcceleratedStaticBitmapImage.cpp
+++ b/third_party/WebKit/Source/platform/graphics/AcceleratedStaticBitmapImage.cpp
@@ -102,7 +102,7 @@
     if (original_skia_image_thread_id_ !=
         Platform::Current()->CurrentThread()->ThreadId()) {
       original_skia_image_task_runner_->PostTask(
-          BLINK_FROM_HERE,
+          FROM_HERE,
           CrossThreadBind(
               &DestroySkImageOnOriginalThread, std::move(original_skia_image_),
               std::move(original_skia_image_context_provider_wrapper_),
diff --git a/third_party/WebKit/Source/platform/graphics/BitmapImage.cpp b/third_party/WebKit/Source/platform/graphics/BitmapImage.cpp
index 960e0112..53c91603 100644
--- a/third_party/WebKit/Source/platform/graphics/BitmapImage.cpp
+++ b/third_party/WebKit/Source/platform/graphics/BitmapImage.cpp
@@ -575,8 +575,7 @@
     frame_timer_ = WTF::WrapUnique(new TaskRunnerTimer<BitmapImage>(
         task_runner_, this, &BitmapImage::AdvanceAnimation));
     frame_timer_->StartOneShot(
-        std::max(desired_frame_start_time_ - time, TimeDelta()),
-        BLINK_FROM_HERE);
+        std::max(desired_frame_start_time_ - time, TimeDelta()), FROM_HERE);
 
     // No frames needed to be skipped to advance to the next frame.
     return Optional<size_t>(0u);
@@ -624,9 +623,8 @@
   // animation can happen during painting and this invalidation is required
   // after the current paint.
   task_runner_->PostTask(
-      BLINK_FROM_HERE,
-      WTF::Bind(&BitmapImage::NotifyObserversOfAnimationAdvance,
-                weak_factory_.GetWeakPtr(), nullptr));
+      FROM_HERE, WTF::Bind(&BitmapImage::NotifyObserversOfAnimationAdvance,
+                           weak_factory_.GetWeakPtr(), nullptr));
 
   // Reset the |desired_frame_start_time_| to the time for starting the
   // |current_frame_index_|. Whenever StartAnimationInternal decides to schedule
@@ -715,7 +713,7 @@
         frame_timer_ = WTF::WrapUnique(new TaskRunnerTimer<BitmapImage>(
             task_runner_, this,
             &BitmapImage::NotifyObserversOfAnimationAdvance));
-        frame_timer_->StartOneShot(TimeDelta(), BLINK_FROM_HERE);
+        frame_timer_->StartOneShot(TimeDelta(), FROM_HERE);
       }
 
       return false;
diff --git a/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.cpp b/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.cpp
index 53d6a19..9b2ece8 100644
--- a/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.cpp
+++ b/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.cpp
@@ -26,6 +26,7 @@
 #include "platform/graphics/Canvas2DLayerBridge.h"
 
 #include <memory>
+#include "base/location.h"
 #include "base/memory/ptr_util.h"
 #include "components/viz/common/resources/transferable_resource.h"
 #include "gpu/command_buffer/client/gles2_interface.h"
@@ -46,7 +47,6 @@
 #include "platform/scheduler/child/web_scheduler.h"
 #include "public/platform/Platform.h"
 #include "public/platform/WebCompositorSupport.h"
-#include "public/platform/WebTraceLocation.h"
 #include "third_party/skia/include/core/SkData.h"
 #include "third_party/skia/include/core/SkSurface.h"
 
@@ -431,11 +431,11 @@
     hibernation_scheduled_ = true;
     if (dont_use_idle_scheduling_for_testing_) {
       Platform::Current()->CurrentThread()->GetWebTaskRunner()->PostTask(
-          BLINK_FROM_HERE, WTF::Bind(&HibernateWrapperForTesting,
-                                     weak_ptr_factory_.GetWeakPtr()));
+          FROM_HERE, WTF::Bind(&HibernateWrapperForTesting,
+                               weak_ptr_factory_.GetWeakPtr()));
     } else {
       Platform::Current()->CurrentThread()->Scheduler()->PostIdleTask(
-          BLINK_FROM_HERE,
+          FROM_HERE,
           WTF::Bind(&HibernateWrapper, weak_ptr_factory_.GetWeakPtr()));
     }
   }
diff --git a/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridgeTest.cpp b/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridgeTest.cpp
index dbe49dd..44161b8a 100644
--- a/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridgeTest.cpp
+++ b/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridgeTest.cpp
@@ -25,6 +25,7 @@
 
 #include "platform/graphics/Canvas2DLayerBridge.h"
 
+#include "base/location.h"
 #include "base/memory/scoped_refptr.h"
 #include "base/run_loop.h"
 #include "build/build_config.h"
@@ -51,7 +52,6 @@
 #include "platform/testing/TestingPlatformSupport.h"
 #include "public/platform/Platform.h"
 #include "public/platform/WebThread.h"
-#include "public/platform/WebTraceLocation.h"
 #include "skia/ext/texture_handle.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
diff --git a/third_party/WebKit/Source/platform/graphics/DeferredImageDecoderTest.cpp b/third_party/WebKit/Source/platform/graphics/DeferredImageDecoderTest.cpp
index 05e48f9..e709d21c 100644
--- a/third_party/WebKit/Source/platform/graphics/DeferredImageDecoderTest.cpp
+++ b/third_party/WebKit/Source/platform/graphics/DeferredImageDecoderTest.cpp
@@ -26,6 +26,7 @@
 #include "platform/graphics/DeferredImageDecoder.h"
 
 #include <memory>
+#include "base/location.h"
 #include "base/memory/scoped_refptr.h"
 #include "build/build_config.h"
 #include "platform/CrossThreadFunctional.h"
@@ -41,7 +42,6 @@
 #include "platform/wtf/PtrUtil.h"
 #include "public/platform/Platform.h"
 #include "public/platform/WebThread.h"
-#include "public/platform/WebTraceLocation.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/skia/include/core/SkImage.h"
 #include "third_party/skia/include/core/SkPixmap.h"
@@ -228,9 +228,8 @@
   std::unique_ptr<WebThread> thread =
       Platform::Current()->CreateThread("RasterThread");
   thread->GetWebTaskRunner()->PostTask(
-      BLINK_FROM_HERE,
-      CrossThreadBind(&RasterizeMain, CrossThreadUnretained(canvas_.get()),
-                      record));
+      FROM_HERE, CrossThreadBind(&RasterizeMain,
+                                 CrossThreadUnretained(canvas_.get()), record));
   thread.reset();
   EXPECT_EQ(0, decode_request_count_);
   EXPECT_EQ(SkColorSetARGB(255, 255, 255, 255), bitmap_.getColor(0, 0));
diff --git a/third_party/WebKit/Source/platform/graphics/ImageFrameGeneratorTest.cpp b/third_party/WebKit/Source/platform/graphics/ImageFrameGeneratorTest.cpp
index 6751f62..3ea746e 100644
--- a/third_party/WebKit/Source/platform/graphics/ImageFrameGeneratorTest.cpp
+++ b/third_party/WebKit/Source/platform/graphics/ImageFrameGeneratorTest.cpp
@@ -26,6 +26,7 @@
 #include "platform/graphics/ImageFrameGenerator.h"
 
 #include <memory>
+#include "base/location.h"
 #include "platform/CrossThreadFunctional.h"
 #include "platform/SharedBuffer.h"
 #include "platform/WebTaskRunner.h"
@@ -36,7 +37,6 @@
 #include "platform/wtf/PtrUtil.h"
 #include "public/platform/Platform.h"
 #include "public/platform/WebThread.h"
-#include "public/platform/WebTraceLocation.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace blink {
@@ -259,7 +259,7 @@
   std::unique_ptr<WebThread> thread =
       Platform::Current()->CreateThread("DecodeThread");
   thread->GetWebTaskRunner()->PostTask(
-      BLINK_FROM_HERE,
+      FROM_HERE,
       CrossThreadBind(&DecodeThreadMain, WTF::RetainedRef(generator_),
                       WTF::RetainedRef(segment_reader_)));
   thread.reset();
diff --git a/third_party/WebKit/Source/platform/graphics/MailboxTextureHolder.cpp b/third_party/WebKit/Source/platform/graphics/MailboxTextureHolder.cpp
index 06a9ef8b..a72b753 100644
--- a/third_party/WebKit/Source/platform/graphics/MailboxTextureHolder.cpp
+++ b/third_party/WebKit/Source/platform/graphics/MailboxTextureHolder.cpp
@@ -140,7 +140,7 @@
     if (texture_thread_task_runner_ &&
         thread_id_ != Platform::Current()->CurrentThread()->ThreadId()) {
       texture_thread_task_runner_->PostTask(
-          BLINK_FROM_HERE,
+          FROM_HERE,
           CrossThreadBind(&ReleaseTexture, is_converted_from_skia_texture_,
                           texture_id_, WTF::Passed(std::move(passed_mailbox)),
                           WTF::Passed(ContextProviderWrapper()),
diff --git a/third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.cpp b/third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.cpp
index ad918e6a..e9d00fb 100644
--- a/third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.cpp
+++ b/third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.cpp
@@ -125,7 +125,7 @@
       ->MainThread()
       ->Scheduler()
       ->CompositorTaskRunner()
-      ->PostTask(BLINK_FROM_HERE,
+      ->PostTask(FROM_HERE,
                  CrossThreadBind(UpdatePlaceholderImage, this->GetWeakPtr(),
                                  WTF::Passed(std::move(dispatcher_task_runner)),
                                  placeholder_canvas_id_, std::move(image),
diff --git a/third_party/WebKit/Source/platform/graphics/OffscreenCanvasPlaceholder.cpp b/third_party/WebKit/Source/platform/graphics/OffscreenCanvasPlaceholder.cpp
index d2d516d..a2a6de7 100644
--- a/third_party/WebKit/Source/platform/graphics/OffscreenCanvasPlaceholder.cpp
+++ b/third_party/WebKit/Source/platform/graphics/OffscreenCanvasPlaceholder.cpp
@@ -98,7 +98,7 @@
   if (placeholder_frame_) {
     placeholder_frame_->Transfer();
     frame_dispatcher_task_runner_->PostTask(
-        BLINK_FROM_HERE,
+        FROM_HERE,
         CrossThreadBind(releaseFrameToDispatcher, std::move(frame_dispatcher_),
                         std::move(placeholder_frame_),
                         placeholder_frame_resource_id_));
@@ -146,7 +146,7 @@
   if (!frame_dispatcher_task_runner_)
     return false;
   frame_dispatcher_task_runner_->PostTask(
-      BLINK_FROM_HERE,
+      FROM_HERE,
       CrossThreadBind(SetSuspendAnimation, frame_dispatcher_, suspend));
   return true;
 }
diff --git a/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.cpp b/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.cpp
index 0c3a463..12ba637 100644
--- a/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.cpp
+++ b/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.cpp
@@ -123,7 +123,7 @@
     scoped_refptr<WebTaskRunner> task_runner =
         Platform::Current()->MainThread()->GetWebTaskRunner();
     task_runner->PostTask(
-        BLINK_FROM_HERE,
+        FROM_HERE,
         CrossThreadBind(&CreateContextProviderOnMainThread,
                         only_if_gpu_compositing,
                         CrossThreadUnretained(&is_gpu_compositing_disabled_),
diff --git a/third_party/WebKit/Source/platform/heap/GCTaskRunner.h b/third_party/WebKit/Source/platform/heap/GCTaskRunner.h
index 18c662c..6eb8b8e 100644
--- a/third_party/WebKit/Source/platform/heap/GCTaskRunner.h
+++ b/third_party/WebKit/Source/platform/heap/GCTaskRunner.h
@@ -32,12 +32,12 @@
 #define GCTaskRunner_h
 
 #include <memory>
+#include "base/location.h"
 #include "platform/CrossThreadFunctional.h"
 #include "platform/WebTaskRunner.h"
 #include "platform/heap/ThreadState.h"
 #include "platform/wtf/PtrUtil.h"
 #include "public/platform/WebThread.h"
-#include "public/platform/WebTraceLocation.h"
 
 namespace blink {
 
diff --git a/third_party/WebKit/Source/platform/heap/HeapTest.cpp b/third_party/WebKit/Source/platform/heap/HeapTest.cpp
index 2ac6bdab..0e4875f 100644
--- a/third_party/WebKit/Source/platform/heap/HeapTest.cpp
+++ b/third_party/WebKit/Source/platform/heap/HeapTest.cpp
@@ -31,6 +31,7 @@
 #include <algorithm>
 #include <memory>
 
+#include "base/location.h"
 #include "build/build_config.h"
 #include "platform/CrossThreadFunctional.h"
 #include "platform/WebTaskRunner.h"
@@ -48,7 +49,6 @@
 #include "platform/wtf/LinkedHashSet.h"
 #include "platform/wtf/PtrUtil.h"
 #include "public/platform/Platform.h"
-#include "public/platform/WebTraceLocation.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace blink {
@@ -458,7 +458,7 @@
       threads.push_back(
           Platform::Current()->CreateThread("blink gc testing thread"));
       threads.back()->GetWebTaskRunner()->PostTask(
-          BLINK_FROM_HERE,
+          FROM_HERE,
           CrossThreadBind(ThreadFunc, CrossThreadUnretained(tester)));
     }
     while (tester->threads_to_finish_) {
@@ -5444,7 +5444,7 @@
     std::unique_ptr<WebThread> worker_thread =
         Platform::Current()->CreateThread("Test Worker Thread");
     worker_thread->GetWebTaskRunner()->PostTask(
-        BLINK_FROM_HERE, CrossThreadBind(WorkerThreadMain));
+        FROM_HERE, CrossThreadBind(WorkerThreadMain));
 
     // Wait for the worker thread initialization. The worker
     // allocates a weak collection where both collection and
@@ -5543,7 +5543,7 @@
     std::unique_ptr<WebThread> worker_thread =
         Platform::Current()->CreateThread("Test Worker Thread");
     worker_thread->GetWebTaskRunner()->PostTask(
-        BLINK_FROM_HERE,
+        FROM_HERE,
         CrossThreadBind(&MemberSameThreadCheckTester::WorkerThreadMain,
                         CrossThreadUnretained(this)));
 
@@ -5586,7 +5586,7 @@
     std::unique_ptr<WebThread> worker_thread =
         Platform::Current()->CreateThread("Test Worker Thread");
     worker_thread->GetWebTaskRunner()->PostTask(
-        BLINK_FROM_HERE,
+        FROM_HERE,
         CrossThreadBind(&PersistentSameThreadCheckTester::WorkerThreadMain,
                         CrossThreadUnretained(this)));
 
@@ -5630,7 +5630,7 @@
         Platform::Current()->CreateThread("Test Worker Thread");
     Persistent<MainThreadObject> main_thread_object = new MainThreadObject();
     worker_thread->GetWebTaskRunner()->PostTask(
-        BLINK_FROM_HERE,
+        FROM_HERE,
         CrossThreadBind(&MarkingSameThreadCheckTester::WorkerThreadMain,
                         CrossThreadUnretained(this),
                         WrapCrossThreadPersistent(main_thread_object.Get())));
@@ -6415,7 +6415,7 @@
       Platform::Current()->CreateThread("Test Worker Thread");
   DestructorLockingObject* object = nullptr;
   worker_thread->GetWebTaskRunner()->PostTask(
-      BLINK_FROM_HERE,
+      FROM_HERE,
       CrossThreadBind(WorkerThreadMainForCrossThreadWeakPersistentTest,
                       CrossThreadUnretained(&object)));
   ParkMainThread();
diff --git a/third_party/WebKit/Source/platform/heap/ThreadState.cpp b/third_party/WebKit/Source/platform/heap/ThreadState.cpp
index 7704e28..63a3970 100644
--- a/third_party/WebKit/Source/platform/heap/ThreadState.cpp
+++ b/third_party/WebKit/Source/platform/heap/ThreadState.cpp
@@ -34,6 +34,7 @@
 
 #include <memory>
 
+#include "base/location.h"
 #include "base/trace_event/process_memory_dump.h"
 #include "build/build_config.h"
 #include "platform/Histogram.h"
@@ -59,7 +60,6 @@
 #include "platform/wtf/allocator/Partitions.h"
 #include "public/platform/Platform.h"
 #include "public/platform/WebThread.h"
-#include "public/platform/WebTraceLocation.h"
 
 #if defined(OS_WIN)
 #include <stddef.h>
@@ -663,8 +663,7 @@
     return;
 
   Platform::Current()->CurrentThread()->Scheduler()->PostNonNestableIdleTask(
-      BLINK_FROM_HERE,
-      WTF::Bind(&ThreadState::PerformIdleGC, WTF::Unretained(this)));
+      FROM_HERE, WTF::Bind(&ThreadState::PerformIdleGC, WTF::Unretained(this)));
   SetGCState(kIdleGCScheduled);
 }
 
@@ -674,7 +673,7 @@
     return;
 
   Platform::Current()->CurrentThread()->Scheduler()->PostIdleTask(
-      BLINK_FROM_HERE,
+      FROM_HERE,
       WTF::Bind(&ThreadState::PerformIdleLazySweep, WTF::Unretained(this)));
 }
 
diff --git a/third_party/WebKit/Source/platform/loader/fetch/BufferingDataPipeWriter.cpp b/third_party/WebKit/Source/platform/loader/fetch/BufferingDataPipeWriter.cpp
index a63dd996..808e062 100644
--- a/third_party/WebKit/Source/platform/loader/fetch/BufferingDataPipeWriter.cpp
+++ b/third_party/WebKit/Source/platform/loader/fetch/BufferingDataPipeWriter.cpp
@@ -18,9 +18,7 @@
     mojo::ScopedDataPipeProducerHandle handle,
     WebTaskRunner* runner)
     : handle_(std::move(handle)),
-      watcher_(BLINK_FROM_HERE,
-               mojo::SimpleWatcher::ArmingPolicy::MANUAL,
-               runner) {
+      watcher_(FROM_HERE, mojo::SimpleWatcher::ArmingPolicy::MANUAL, runner) {
   watcher_.Watch(
       handle_.get(), MOJO_HANDLE_SIGNAL_WRITABLE,
       MOJO_WATCH_CONDITION_SATISFIED,
diff --git a/third_party/WebKit/Source/platform/loader/fetch/MemoryCacheTest.cpp b/third_party/WebKit/Source/platform/loader/fetch/MemoryCacheTest.cpp
index 130e8462..4180c0d2 100644
--- a/third_party/WebKit/Source/platform/loader/fetch/MemoryCacheTest.cpp
+++ b/third_party/WebKit/Source/platform/loader/fetch/MemoryCacheTest.cpp
@@ -214,10 +214,10 @@
   resource2->FinishForTest();
 
   Platform::Current()->CurrentThread()->GetWebTaskRunner()->PostTask(
-      BLINK_FROM_HERE, WTF::Bind(&RunTask1, WrapPersistent(resource1),
-                                 WrapPersistent(resource2)));
+      FROM_HERE, WTF::Bind(&RunTask1, WrapPersistent(resource1),
+                           WrapPersistent(resource2)));
   Platform::Current()->CurrentThread()->GetWebTaskRunner()->PostTask(
-      BLINK_FROM_HERE,
+      FROM_HERE,
       WTF::Bind(&RunTask2,
                 resource1->EncodedSize() + resource1->OverheadSize() +
                     resource2->EncodedSize() + resource2->OverheadSize()));
diff --git a/third_party/WebKit/Source/platform/loader/fetch/RawResourceTest.cpp b/third_party/WebKit/Source/platform/loader/fetch/RawResourceTest.cpp
index 36c76455..e76c6c6 100644
--- a/third_party/WebKit/Source/platform/loader/fetch/RawResourceTest.cpp
+++ b/third_party/WebKit/Source/platform/loader/fetch/RawResourceTest.cpp
@@ -130,8 +130,8 @@
         ->CurrentThread()
         ->Scheduler()
         ->LoadingTaskRunner()
-        ->PostTask(BLINK_FROM_HERE, WTF::Bind(&AddingClient::RemoveClient,
-                                              WrapPersistent(this)));
+        ->PostTask(FROM_HERE, WTF::Bind(&AddingClient::RemoveClient,
+                                        WrapPersistent(this)));
     resource->AddClient(dummy_client_);
   }
   String DebugName() const override { return "AddingClient"; }
diff --git a/third_party/WebKit/Source/platform/loader/fetch/Resource.cpp b/third_party/WebKit/Source/platform/loader/fetch/Resource.cpp
index bc2706d2..81aca3f 100644
--- a/third_party/WebKit/Source/platform/loader/fetch/Resource.cpp
+++ b/third_party/WebKit/Source/platform/loader/fetch/Resource.cpp
@@ -407,9 +407,8 @@
       std::move(finish_observers_));
   finish_observers_.clear();
 
-  task_runner->PostTask(
-      BLINK_FROM_HERE,
-      WTF::Bind(&NotifyFinishObservers, WrapPersistent(new_collections)));
+  task_runner->PostTask(FROM_HERE, WTF::Bind(&NotifyFinishObservers,
+                                             WrapPersistent(new_collections)));
 
   DidRemoveClientOrObserver();
 }
@@ -707,7 +706,7 @@
               ->CurrentThread()
               ->Scheduler()
               ->LoadingTaskRunner()
-              ->PostCancellableTask(BLINK_FROM_HERE,
+              ->PostCancellableTask(FROM_HERE,
                                     WTF::Bind(&Resource::FinishPendingClients,
                                               WrapWeakPersistent(this)));
     }
diff --git a/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp b/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp
index c495ae3f..c0ca4ea7 100644
--- a/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp
+++ b/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp
@@ -354,7 +354,7 @@
     info->SetLoadFinishTime(info->InitialTime());
     scheduled_resource_timing_reports_.push_back(std::move(info));
     if (!resource_timing_report_timer_.IsActive())
-      resource_timing_report_timer_.StartOneShot(TimeDelta(), BLINK_FROM_HERE);
+      resource_timing_report_timer_.StartOneShot(TimeDelta(), FROM_HERE);
   }
 }
 
@@ -1255,7 +1255,7 @@
     // complete or the timer fires.
     keepalive_loaders_task_handle_ =
         Context().GetLoadingTaskRunner()->PostDelayedCancellableTask(
-            BLINK_FROM_HERE,
+            FROM_HERE,
             WTF::Bind(&ResourceFetcher::StopFetchingIncludingKeepaliveLoaders,
                       WrapPersistent(this)),
             kKeepaliveLoadersTimeout);
diff --git a/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.cpp b/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.cpp
index 25d9185d..5bcd2301 100644
--- a/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.cpp
+++ b/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.cpp
@@ -186,7 +186,7 @@
 
 void ResourceLoader::ScheduleCancel() {
   if (!cancel_timer_.IsActive())
-    cancel_timer_.StartOneShot(TimeDelta(), BLINK_FROM_HERE);
+    cancel_timer_.StartOneShot(TimeDelta(), FROM_HERE);
 }
 
 void ResourceLoader::CancelTimerFired(TimerBase*) {
diff --git a/third_party/WebKit/Source/platform/loader/fetch/ResourceResponseTest.cpp b/third_party/WebKit/Source/platform/loader/fetch/ResourceResponseTest.cpp
index d519a3a..ac5a59e 100644
--- a/third_party/WebKit/Source/platform/loader/fetch/ResourceResponseTest.cpp
+++ b/third_party/WebKit/Source/platform/loader/fetch/ResourceResponseTest.cpp
@@ -78,7 +78,7 @@
   RunHeaderRelatedTest(response);
   std::unique_ptr<WebThread> thread =
       Platform::Current()->CreateThread("WorkerThread");
-  thread->GetWebTaskRunner()->PostTask(BLINK_FROM_HERE,
+  thread->GetWebTaskRunner()->PostTask(FROM_HERE,
                                        CrossThreadBind(&RunInThread));
   thread.reset();
 }
diff --git a/third_party/WebKit/Source/platform/mac/ScrollAnimatorMac.mm b/third_party/WebKit/Source/platform/mac/ScrollAnimatorMac.mm
index 817835f..50b3bfd5 100644
--- a/third_party/WebKit/Source/platform/mac/ScrollAnimatorMac.mm
+++ b/third_party/WebKit/Source/platform/mac/ScrollAnimatorMac.mm
@@ -312,7 +312,7 @@
     start_time_ = WTF::CurrentTime();
     // Set the framerate of the animation. NSAnimation uses a default
     // framerate of 60 Hz, so use that here.
-    timer_.StartRepeating(TimeDelta::FromSecondsD(1.0 / 60.0), BLINK_FROM_HERE);
+    timer_.StartRepeating(TimeDelta::FromSecondsD(1.0 / 60.0), FROM_HERE);
   }
 
   void Stop() { timer_.Stop(); }
@@ -1042,7 +1042,7 @@
   // that may cancel this.
   initial_scrollbar_paint_task_handle_ =
       task_runner_->PostDelayedCancellableTask(
-          BLINK_FROM_HERE,
+          FROM_HERE,
           WTF::Bind(&ScrollAnimatorMac::InitialScrollbarPaintTask,
                     WrapWeakPersistent(this)),
           TimeDelta::FromMilliseconds(1));
@@ -1070,9 +1070,8 @@
   if (send_content_area_scrolled_task_handle_.IsActive())
     return;
   send_content_area_scrolled_task_handle_ = task_runner_->PostCancellableTask(
-      BLINK_FROM_HERE,
-      WTF::Bind(&ScrollAnimatorMac::SendContentAreaScrolledTask,
-                WrapWeakPersistent(this)));
+      FROM_HERE, WTF::Bind(&ScrollAnimatorMac::SendContentAreaScrolledTask,
+                           WrapWeakPersistent(this)));
 }
 
 void ScrollAnimatorMac::SendContentAreaScrolledTask() {
diff --git a/third_party/WebKit/Source/platform/network/NetworkStateNotifier.cpp b/third_party/WebKit/Source/platform/network/NetworkStateNotifier.cpp
index ac1590a..1f4d4a3 100644
--- a/third_party/WebKit/Source/platform/network/NetworkStateNotifier.cpp
+++ b/third_party/WebKit/Source/platform/network/NetworkStateNotifier.cpp
@@ -230,7 +230,7 @@
   for (const auto& entry : map) {
     scoped_refptr<WebTaskRunner> task_runner = entry.key;
     task_runner->PostTask(
-        BLINK_FROM_HERE,
+        FROM_HERE,
         CrossThreadBind(&NetworkStateNotifier::NotifyObserversOnTaskRunner,
                         CrossThreadUnretained(this),
                         CrossThreadUnretained(&map), type, task_runner, state));
diff --git a/third_party/WebKit/Source/platform/scheduler/child/web_scheduler.h b/third_party/WebKit/Source/platform/scheduler/child/web_scheduler.h
index baf4780..7bc99cf 100644
--- a/third_party/WebKit/Source/platform/scheduler/child/web_scheduler.h
+++ b/third_party/WebKit/Source/platform/scheduler/child/web_scheduler.h
@@ -5,10 +5,10 @@
 #ifndef THIRD_PARTY_WEBKIT_SOURCE_PLATFORM_SCHEDULER_RENDERER_WEB_SCHEDULER_H_
 #define THIRD_PARTY_WEBKIT_SOURCE_PLATFORM_SCHEDULER_RENDERER_WEB_SCHEDULER_H_
 
+#include "base/location.h"
 #include "platform/scheduler/renderer/web_view_scheduler.h"
 #include "public/platform/WebString.h"
 #include "public/platform/WebThread.h"
-#include "public/platform/WebTraceLocation.h"
 #include "public/platform/scheduler/renderer/renderer_scheduler.h"
 
 #include <memory>
@@ -58,14 +58,14 @@
   // tasks which may be reordered relative to other task types and may be
   // starved for an arbitrarily long time if no idle time is available.
   // Takes ownership of |IdleTask|. Can be called from any thread.
-  virtual void PostIdleTask(const WebTraceLocation&, WebThread::IdleTask) = 0;
+  virtual void PostIdleTask(const base::Location&, WebThread::IdleTask) = 0;
 
   // Like postIdleTask but guarantees that the posted task will not run
   // nested within an already-running task. Posting an idle task as
   // non-nestable may not affect when the task gets run, or it could
   // make it run later than it normally would, but it won't make it
   // run earlier than it normally would.
-  virtual void PostNonNestableIdleTask(const WebTraceLocation&,
+  virtual void PostNonNestableIdleTask(const base::Location&,
                                        WebThread::IdleTask) = 0;
 
   // Returns a WebTaskRunner for loading tasks. Can be called from any thread.
diff --git a/third_party/WebKit/Source/platform/scheduler/child/web_scheduler_impl.cc b/third_party/WebKit/Source/platform/scheduler/child/web_scheduler_impl.cc
index 5fc381a..730edec2 100644
--- a/third_party/WebKit/Source/platform/scheduler/child/web_scheduler_impl.cc
+++ b/third_party/WebKit/Source/platform/scheduler/child/web_scheduler_impl.cc
@@ -5,12 +5,12 @@
 #include "platform/scheduler/child/web_scheduler_impl.h"
 
 #include "base/bind.h"
+#include "base/location.h"
 #include "base/memory/ptr_util.h"
 #include "base/single_thread_task_runner.h"
 #include "platform/scheduler/child/web_task_runner_impl.h"
 #include "platform/scheduler/child/worker_scheduler.h"
 #include "platform/scheduler/renderer/web_view_scheduler.h"
-#include "public/platform/WebTraceLocation.h"
 
 namespace blink {
 namespace scheduler {
@@ -49,7 +49,7 @@
   std::move(task).Run((deadline - base::TimeTicks()).InSecondsF());
 }
 
-void WebSchedulerImpl::PostIdleTask(const blink::WebTraceLocation& location,
+void WebSchedulerImpl::PostIdleTask(const base::Location& location,
                                     blink::WebThread::IdleTask task) {
   DCHECK(idle_task_runner_);
   idle_task_runner_->PostIdleTask(
@@ -58,7 +58,7 @@
 }
 
 void WebSchedulerImpl::PostNonNestableIdleTask(
-    const blink::WebTraceLocation& location,
+    const base::Location& location,
     blink::WebThread::IdleTask task) {
   DCHECK(idle_task_runner_);
   idle_task_runner_->PostNonNestableIdleTask(
diff --git a/third_party/WebKit/Source/platform/scheduler/child/web_scheduler_impl.h b/third_party/WebKit/Source/platform/scheduler/child/web_scheduler_impl.h
index ab30cdb..33ef3e9 100644
--- a/third_party/WebKit/Source/platform/scheduler/child/web_scheduler_impl.h
+++ b/third_party/WebKit/Source/platform/scheduler/child/web_scheduler_impl.h
@@ -35,9 +35,9 @@
   void Shutdown() override;
   bool ShouldYieldForHighPriorityWork() override;
   bool CanExceedIdleDeadlineIfRequired() override;
-  void PostIdleTask(const WebTraceLocation& location,
+  void PostIdleTask(const base::Location& location,
                     WebThread::IdleTask task) override;
-  void PostNonNestableIdleTask(const WebTraceLocation& location,
+  void PostNonNestableIdleTask(const base::Location& location,
                                WebThread::IdleTask task) override;
   WebTaskRunner* LoadingTaskRunner() override;
   WebTaskRunner* TimerTaskRunner() override;
diff --git a/third_party/WebKit/Source/platform/scheduler/child/web_task_runner_impl.cc b/third_party/WebKit/Source/platform/scheduler/child/web_task_runner_impl.cc
index e8ba336..7d39e93 100644
--- a/third_party/WebKit/Source/platform/scheduler/child/web_task_runner_impl.cc
+++ b/third_party/WebKit/Source/platform/scheduler/child/web_task_runner_impl.cc
@@ -11,7 +11,6 @@
 #include "base/memory/ptr_util.h"
 #include "platform/scheduler/base/task_queue.h"
 #include "platform/scheduler/base/time_domain.h"
-#include "public/platform/WebTraceLocation.h"
 
 namespace blink {
 namespace scheduler {
diff --git a/third_party/WebKit/Source/platform/scheduler/child/webthread_base.cc b/third_party/WebKit/Source/platform/scheduler/child/webthread_base.cc
index 1acd091b..fdff86d 100644
--- a/third_party/WebKit/Source/platform/scheduler/child/webthread_base.cc
+++ b/third_party/WebKit/Source/platform/scheduler/child/webthread_base.cc
@@ -10,13 +10,13 @@
 #include <memory>
 #include "base/bind.h"
 #include "base/bind_helpers.h"
+#include "base/location.h"
 #include "base/message_loop/message_loop.h"
 #include "base/pending_task.h"
 #include "base/threading/platform_thread.h"
 #include "platform/scheduler/child/compositor_worker_scheduler.h"
 #include "platform/scheduler/child/webthread_impl_for_worker_scheduler.h"
 #include "platform/scheduler/utility/webthread_impl_for_utility_thread.h"
-#include "public/platform/WebTraceLocation.h"
 #include "public/platform/scheduler/child/single_thread_idle_task_runner.h"
 
 namespace blink {
@@ -92,7 +92,7 @@
   std::move(idle_task).Run((deadline - base::TimeTicks()).InSecondsF());
 }
 
-void WebThreadBase::PostIdleTask(const blink::WebTraceLocation& location,
+void WebThreadBase::PostIdleTask(const base::Location& location,
                                  IdleTask idle_task) {
   GetIdleTaskRunner()->PostIdleTask(
       location, base::BindOnce(&WebThreadBase::RunWebThreadIdleTask,
diff --git a/third_party/WebKit/Source/platform/scheduler/child/webthread_impl_for_worker_scheduler.cc b/third_party/WebKit/Source/platform/scheduler/child/webthread_impl_for_worker_scheduler.cc
index 67200ffa..830779f0 100644
--- a/third_party/WebKit/Source/platform/scheduler/child/webthread_impl_for_worker_scheduler.cc
+++ b/third_party/WebKit/Source/platform/scheduler/child/webthread_impl_for_worker_scheduler.cc
@@ -14,7 +14,6 @@
 #include "platform/scheduler/child/web_scheduler_impl.h"
 #include "platform/scheduler/child/web_task_runner_impl.h"
 #include "platform/scheduler/child/worker_scheduler_impl.h"
-#include "public/platform/WebTraceLocation.h"
 
 namespace blink {
 namespace scheduler {
diff --git a/third_party/WebKit/Source/platform/scheduler/child/webthread_impl_for_worker_scheduler_unittest.cc b/third_party/WebKit/Source/platform/scheduler/child/webthread_impl_for_worker_scheduler_unittest.cc
index 01e114e..0c0f5dc4 100644
--- a/third_party/WebKit/Source/platform/scheduler/child/webthread_impl_for_worker_scheduler_unittest.cc
+++ b/third_party/WebKit/Source/platform/scheduler/child/webthread_impl_for_worker_scheduler_unittest.cc
@@ -4,13 +4,13 @@
 
 #include "platform/scheduler/child/webthread_impl_for_worker_scheduler.h"
 
+#include "base/location.h"
 #include "base/macros.h"
 #include "base/synchronization/waitable_event.h"
 #include "platform/CrossThreadFunctional.h"
 #include "platform/WebTaskRunner.h"
 #include "platform/scheduler/child/web_scheduler_impl.h"
 #include "platform/scheduler/child/worker_scheduler_impl.h"
-#include "public/platform/WebTraceLocation.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -114,7 +114,7 @@
   }));
 
   thread_->GetWebTaskRunner()->PostTask(
-      BLINK_FROM_HERE,
+      FROM_HERE,
       CrossThreadBind(&MockTask::Run, WTF::CrossThreadUnretained(&task)));
   completion.Wait();
 }
@@ -132,7 +132,7 @@
   }));
 
   thread_->GetWebTaskRunner()->PostTask(
-      BLINK_FROM_HERE,
+      FROM_HERE,
       CrossThreadBind(&MockTask::Run, WTF::CrossThreadUnretained(&task)));
   thread_.reset();
 }
@@ -149,11 +149,10 @@
   }));
 
   thread_->PostIdleTask(
-      BLINK_FROM_HERE,
-      base::BindOnce(&MockIdleTask::Run, WTF::Unretained(&task)));
+      FROM_HERE, base::BindOnce(&MockIdleTask::Run, WTF::Unretained(&task)));
   // We need to post a wake-up task or idle work will never happen.
   thread_->GetWebTaskRunner()->PostDelayedTask(
-      BLINK_FROM_HERE, CrossThreadBind([] {}), TimeDelta::FromMilliseconds(50));
+      FROM_HERE, CrossThreadBind([] {}), TimeDelta::FromMilliseconds(50));
 
   completion.Wait();
 }
@@ -165,7 +164,7 @@
   RunOnWorkerThread(FROM_HERE,
                     base::Bind(&AddTaskObserver, thread_.get(), &observer));
   thread_->GetWebTaskRunner()->PostTask(
-      BLINK_FROM_HERE,
+      FROM_HERE,
       CrossThreadBind(&RunTestTask, WTF::CrossThreadUnretained(&calls)));
   RunOnWorkerThread(FROM_HERE,
                     base::Bind(&RemoveTaskObserver, thread_.get(), &observer));
@@ -188,10 +187,10 @@
 
   RunOnWorkerThread(FROM_HERE, base::Bind(&ShutdownOnThread, thread_.get()));
   thread_->GetWebTaskRunner()->PostTask(
-      BLINK_FROM_HERE,
+      FROM_HERE,
       CrossThreadBind(&MockTask::Run, WTF::CrossThreadUnretained(&task)));
   thread_->GetWebTaskRunner()->PostDelayedTask(
-      BLINK_FROM_HERE,
+      FROM_HERE,
       CrossThreadBind(&MockTask::Run,
                       WTF::CrossThreadUnretained(&delayed_task)),
       TimeDelta::FromMilliseconds(50));
diff --git a/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl_unittest.cc b/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl_unittest.cc
index ef8898b..03b5b68 100644
--- a/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl_unittest.cc
+++ b/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl_unittest.cc
@@ -7,6 +7,7 @@
 #include <memory>
 
 #include "base/callback.h"
+#include "base/location.h"
 #include "base/test/simple_test_tick_clock.h"
 #include "components/viz/test/ordered_simple_task_runner.h"
 #include "platform/WebTaskRunner.h"
@@ -15,7 +16,6 @@
 #include "platform/scheduler/renderer/web_view_scheduler_impl.h"
 #include "platform/scheduler/test/create_task_queue_manager_for_test.h"
 #include "platform/testing/RuntimeEnabledFeaturesTestHelpers.h"
-#include "public/platform/WebTraceLocation.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace blink {
@@ -126,7 +126,7 @@
 
   TaskQueue* task_queue_ptr = task_queue.get();
   task_queue_ptr->PostDelayedTask(
-      BLINK_FROM_HERE, MakeRepeatingTask(std::move(task_queue), run_count),
+      FROM_HERE, MakeRepeatingTask(std::move(task_queue), run_count),
       TimeDelta::FromMilliseconds(1));
 }
 
@@ -142,7 +142,7 @@
 
   int run_count = 0;
   ThrottleableTaskQueue()->PostDelayedTask(
-      BLINK_FROM_HERE, MakeRepeatingTask(ThrottleableTaskQueue(), &run_count),
+      FROM_HERE, MakeRepeatingTask(ThrottleableTaskQueue(), &run_count),
       TimeDelta::FromMilliseconds(1));
 
   mock_task_runner_->RunForPeriod(base::TimeDelta::FromSeconds(1));
@@ -156,7 +156,7 @@
 
   int run_count = 0;
   ThrottleableTaskQueue()->PostDelayedTask(
-      BLINK_FROM_HERE, MakeRepeatingTask(ThrottleableTaskQueue(), &run_count),
+      FROM_HERE, MakeRepeatingTask(ThrottleableTaskQueue(), &run_count),
       TimeDelta::FromMilliseconds(1));
 
   mock_task_runner_->RunForPeriod(base::TimeDelta::FromSeconds(1));
@@ -170,7 +170,7 @@
 
   int run_count = 0;
   ThrottleableTaskQueue()->PostDelayedTask(
-      BLINK_FROM_HERE, MakeRepeatingTask(ThrottleableTaskQueue(), &run_count),
+      FROM_HERE, MakeRepeatingTask(ThrottleableTaskQueue(), &run_count),
       TimeDelta::FromMilliseconds(1));
 
   mock_task_runner_->RunForPeriod(base::TimeDelta::FromSeconds(1));
@@ -185,7 +185,7 @@
 
   int run_count = 0;
   ThrottleableTaskQueue()->PostDelayedTask(
-      BLINK_FROM_HERE, MakeRepeatingTask(ThrottleableTaskQueue(), &run_count),
+      FROM_HERE, MakeRepeatingTask(ThrottleableTaskQueue(), &run_count),
       TimeDelta::FromMilliseconds(1));
 
   mock_task_runner_->RunForPeriod(base::TimeDelta::FromSeconds(1));
@@ -200,7 +200,7 @@
 
   int run_count = 0;
   ThrottleableTaskQueue()->PostDelayedTask(
-      BLINK_FROM_HERE, MakeRepeatingTask(ThrottleableTaskQueue(), &run_count),
+      FROM_HERE, MakeRepeatingTask(ThrottleableTaskQueue(), &run_count),
       TimeDelta::FromMilliseconds(1));
 
   mock_task_runner_->RunForPeriod(base::TimeDelta::FromSeconds(1));
@@ -214,7 +214,7 @@
 
   int run_count = 0;
   ThrottleableTaskQueue()->PostDelayedTask(
-      BLINK_FROM_HERE, MakeRepeatingTask(ThrottleableTaskQueue(), &run_count),
+      FROM_HERE, MakeRepeatingTask(ThrottleableTaskQueue(), &run_count),
       TimeDelta::FromMilliseconds(1));
 
   mock_task_runner_->RunForPeriod(base::TimeDelta::FromSeconds(1));
@@ -230,7 +230,7 @@
 
   int run_count = 0;
   ThrottleableTaskQueue()->PostDelayedTask(
-      BLINK_FROM_HERE, MakeRepeatingTask(ThrottleableTaskQueue(), &run_count),
+      FROM_HERE, MakeRepeatingTask(ThrottleableTaskQueue(), &run_count),
       TimeDelta::FromMilliseconds(1));
 
   mock_task_runner_->RunForPeriod(base::TimeDelta::FromSeconds(1));
@@ -240,20 +240,15 @@
 TEST_F(WebFrameSchedulerImplTest, PauseAndResume) {
   int counter = 0;
   LoadingTaskQueue()->PostTask(
-      BLINK_FROM_HERE,
-      base::Bind(&IncrementCounter, base::Unretained(&counter)));
+      FROM_HERE, base::Bind(&IncrementCounter, base::Unretained(&counter)));
   ThrottleableTaskQueue()->PostTask(
-      BLINK_FROM_HERE,
-      base::Bind(&IncrementCounter, base::Unretained(&counter)));
+      FROM_HERE, base::Bind(&IncrementCounter, base::Unretained(&counter)));
   DeferrableTaskQueue()->PostTask(
-      BLINK_FROM_HERE,
-      base::Bind(&IncrementCounter, base::Unretained(&counter)));
+      FROM_HERE, base::Bind(&IncrementCounter, base::Unretained(&counter)));
   PausableTaskQueue()->PostTask(
-      BLINK_FROM_HERE,
-      base::Bind(&IncrementCounter, base::Unretained(&counter)));
+      FROM_HERE, base::Bind(&IncrementCounter, base::Unretained(&counter)));
   UnpausableTaskQueue()->PostTask(
-      BLINK_FROM_HERE,
-      base::Bind(&IncrementCounter, base::Unretained(&counter)));
+      FROM_HERE, base::Bind(&IncrementCounter, base::Unretained(&counter)));
 
   web_frame_scheduler_->SetPaused(true);
 
diff --git a/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl_unittest.cc b/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl_unittest.cc
index 613fdca..71f9645 100644
--- a/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl_unittest.cc
+++ b/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl_unittest.cc
@@ -7,6 +7,7 @@
 #include <memory>
 
 #include "base/callback.h"
+#include "base/location.h"
 #include "base/metrics/field_trial.h"
 #include "base/metrics/field_trial_param_associator.h"
 #include "base/metrics/field_trial_params.h"
@@ -18,7 +19,6 @@
 #include "platform/scheduler/renderer/web_frame_scheduler_impl.h"
 #include "platform/scheduler/test/create_task_queue_manager_for_test.h"
 #include "platform/testing/RuntimeEnabledFeaturesTestHelpers.h"
-#include "public/platform/WebTraceLocation.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -120,7 +120,7 @@
   ++*run_count;
   TaskQueue* task_queue_ptr = task_queue.get();
   task_queue_ptr->PostDelayedTask(
-      BLINK_FROM_HERE, MakeRepeatingTask(std::move(task_queue_ptr), run_count),
+      FROM_HERE, MakeRepeatingTask(std::move(task_queue_ptr), run_count),
       TimeDelta::FromMilliseconds(1));
 }
 
@@ -131,7 +131,7 @@
 
   int run_count = 0;
   ThrottleableTaskQueue()->PostDelayedTask(
-      BLINK_FROM_HERE, MakeRepeatingTask(ThrottleableTaskQueue(), &run_count),
+      FROM_HERE, MakeRepeatingTask(ThrottleableTaskQueue(), &run_count),
       TimeDelta::FromMilliseconds(1));
 
   mock_task_runner_->RunForPeriod(base::TimeDelta::FromSeconds(1));
@@ -144,7 +144,7 @@
 
   int run_count = 0;
   ThrottleableTaskQueue()->PostDelayedTask(
-      BLINK_FROM_HERE, MakeRepeatingTask(ThrottleableTaskQueue(), &run_count),
+      FROM_HERE, MakeRepeatingTask(ThrottleableTaskQueue(), &run_count),
       TimeDelta::FromMilliseconds(1));
 
   mock_task_runner_->RunForPeriod(base::TimeDelta::FromSeconds(1));
@@ -166,7 +166,7 @@
 
   int run_count = 0;
   LoadingTaskQueue()->PostDelayedTask(
-      BLINK_FROM_HERE, MakeRepeatingTask(LoadingTaskQueue(), &run_count),
+      FROM_HERE, MakeRepeatingTask(LoadingTaskQueue(), &run_count),
       TimeDelta::FromMilliseconds(1));
 
   mock_task_runner_->RunForPeriod(base::TimeDelta::FromSeconds(1));
@@ -186,10 +186,10 @@
   int run_count1 = 0;
   int run_count2 = 0;
   ThrottleableTaskQueue()->PostDelayedTask(
-      BLINK_FROM_HERE, MakeRepeatingTask(ThrottleableTaskQueue(), &run_count1),
+      FROM_HERE, MakeRepeatingTask(ThrottleableTaskQueue(), &run_count1),
       TimeDelta::FromMilliseconds(1));
   ThrottleableTaskQueueForScheduler(web_frame_scheduler2.get())
-      ->PostDelayedTask(BLINK_FROM_HERE,
+      ->PostDelayedTask(FROM_HERE,
                         MakeRepeatingTask(ThrottleableTaskQueueForScheduler(
                                               web_frame_scheduler2.get()),
                                           &run_count2),
@@ -234,19 +234,19 @@
   web_view_scheduler_->EnableVirtualTime();
 
   ThrottleableTaskRunner()->PostDelayedTask(
-      BLINK_FROM_HERE,
+      FROM_HERE,
       MakeVirtualTimeRecorderTask(&clock_, ThrottleableTaskRunner(),
                                   &real_times, &virtual_times_ms),
       TimeDelta::FromMilliseconds(2));
 
   ThrottleableTaskRunner()->PostDelayedTask(
-      BLINK_FROM_HERE,
+      FROM_HERE,
       MakeVirtualTimeRecorderTask(&clock_, ThrottleableTaskRunner(),
                                   &real_times, &virtual_times_ms),
       TimeDelta::FromMilliseconds(20));
 
   ThrottleableTaskRunner()->PostDelayedTask(
-      BLINK_FROM_HERE,
+      FROM_HERE,
       MakeVirtualTimeRecorderTask(&clock_, ThrottleableTaskRunner(),
                                   &real_times, &virtual_times_ms),
       TimeDelta::FromMilliseconds(200));
@@ -271,19 +271,19 @@
   web_view_scheduler_->EnableVirtualTime();
 
   LoadingTaskRunner()->PostDelayedTask(
-      BLINK_FROM_HERE,
+      FROM_HERE,
       MakeVirtualTimeRecorderTask(&clock_, LoadingTaskRunner(), &real_times,
                                   &virtual_times_ms),
       TimeDelta::FromMilliseconds(2));
 
   LoadingTaskRunner()->PostDelayedTask(
-      BLINK_FROM_HERE,
+      FROM_HERE,
       MakeVirtualTimeRecorderTask(&clock_, LoadingTaskRunner(), &real_times,
                                   &virtual_times_ms),
       TimeDelta::FromMilliseconds(20));
 
   LoadingTaskRunner()->PostDelayedTask(
-      BLINK_FROM_HERE,
+      FROM_HERE,
       MakeVirtualTimeRecorderTask(&clock_, LoadingTaskRunner(), &real_times,
                                   &virtual_times_ms),
       TimeDelta::FromMilliseconds(200));
@@ -305,7 +305,7 @@
 
   int run_count = 0;
   ThrottleableTaskQueue()->PostDelayedTask(
-      BLINK_FROM_HERE, MakeRepeatingTask(ThrottleableTaskQueue(), &run_count),
+      FROM_HERE, MakeRepeatingTask(ThrottleableTaskQueue(), &run_count),
       TimeDelta::FromMilliseconds(1));
 
   mock_task_runner_->RunTasksWhile(mock_task_runner_->TaskRunCountBelow(2000));
@@ -327,9 +327,8 @@
                          scoped_refptr<TaskQueue> task_queue,
                          std::vector<int>* out_run_order) {
   out_run_order->push_back(index);
-  task_queue->PostTask(
-      BLINK_FROM_HERE,
-      base::Bind(&RunOrderTask, index + 1, base::Unretained(out_run_order)));
+  task_queue->PostTask(FROM_HERE, base::Bind(&RunOrderTask, index + 1,
+                                             base::Unretained(out_run_order)));
 }
 }
 
@@ -340,17 +339,16 @@
   web_view_scheduler_->EnableVirtualTime();
 
   ThrottleableTaskQueue()->PostTask(
-      BLINK_FROM_HERE,
-      base::Bind(&RunOrderTask, 0, base::Unretained(&run_order)));
+      FROM_HERE, base::Bind(&RunOrderTask, 0, base::Unretained(&run_order)));
 
   ThrottleableTaskQueue()->PostDelayedTask(
-      BLINK_FROM_HERE,
+      FROM_HERE,
       base::Bind(&DelayedRunOrderTask, 1, base::Passed(ThrottleableTaskQueue()),
                  base::Unretained(&run_order)),
       TimeDelta::FromMilliseconds(2));
 
   ThrottleableTaskQueue()->PostDelayedTask(
-      BLINK_FROM_HERE,
+      FROM_HERE,
       base::Bind(&DelayedRunOrderTask, 3, base::Passed(ThrottleableTaskQueue()),
                  base::Unretained(&run_order)),
       TimeDelta::FromMilliseconds(4));
@@ -368,17 +366,16 @@
   web_view_scheduler_->EnableVirtualTime();
 
   ThrottleableTaskQueue()->PostTask(
-      BLINK_FROM_HERE,
-      base::Bind(&RunOrderTask, 0, base::Unretained(&run_order)));
+      FROM_HERE, base::Bind(&RunOrderTask, 0, base::Unretained(&run_order)));
 
   ThrottleableTaskQueue()->PostDelayedTask(
-      BLINK_FROM_HERE,
+      FROM_HERE,
       base::Bind(&DelayedRunOrderTask, 1, base::Passed(ThrottleableTaskQueue()),
                  base::Unretained(&run_order)),
       TimeDelta::FromMilliseconds(2));
 
   ThrottleableTaskQueue()->PostDelayedTask(
-      BLINK_FROM_HERE,
+      FROM_HERE,
       base::Bind(&DelayedRunOrderTask, 3, base::Passed(ThrottleableTaskQueue()),
                  base::Unretained(&run_order)),
       TimeDelta::FromMilliseconds(4));
@@ -403,7 +400,7 @@
 
   int run_count = 0;
   ThrottleableTaskQueue()->PostDelayedTask(
-      BLINK_FROM_HERE, MakeRepeatingTask(ThrottleableTaskQueue(), &run_count),
+      FROM_HERE, MakeRepeatingTask(ThrottleableTaskQueue(), &run_count),
       TimeDelta::FromMilliseconds(1));
 
   mock_task_runner_->RunForPeriod(base::TimeDelta::FromSeconds(1));
@@ -422,8 +419,7 @@
 
   ThrottleableTaskQueueForScheduler(web_frame_scheduler.get())
       ->PostDelayedTask(
-          BLINK_FROM_HERE,
-          base::Bind(&RunOrderTask, 1, base::Unretained(&run_order)),
+          FROM_HERE, base::Bind(&RunOrderTask, 1, base::Unretained(&run_order)),
           TimeDelta::FromMilliseconds(1));
 
   mock_task_runner_->RunUntilIdle();
@@ -452,8 +448,7 @@
                 nullptr, WebFrameScheduler::FrameType::kSubframe)
             .release();
     ThrottleableTaskQueueForScheduler(web_frame_scheduler)
-        ->PostDelayedTask(BLINK_FROM_HERE,
-                          MakeDeletionTask(web_frame_scheduler),
+        ->PostDelayedTask(FROM_HERE, MakeDeletionTask(web_frame_scheduler),
                           TimeDelta::FromMilliseconds(1));
   }
   mock_task_runner_->RunUntilIdle();
@@ -461,7 +456,7 @@
 
 TEST_F(WebViewSchedulerImplTest, DeleteWebViewScheduler_InTask) {
   ThrottleableTaskQueue()->PostTask(
-      BLINK_FROM_HERE, MakeDeletionTask(web_view_scheduler_.release()));
+      FROM_HERE, MakeDeletionTask(web_view_scheduler_.release()));
   mock_task_runner_->RunUntilIdle();
 }
 
@@ -478,12 +473,12 @@
 
   int run_count = 0;
   timer_task_queue->PostDelayedTask(
-      BLINK_FROM_HERE, MakeRepeatingTask(timer_task_queue, &run_count),
+      FROM_HERE, MakeRepeatingTask(timer_task_queue, &run_count),
       TimeDelta::FromMilliseconds(1));
 
   // Note this will run at time t = 10s since we start at time t = 5000us.
   // However, we still should run all tasks after frame scheduler deletion.
-  timer_task_queue->PostDelayedTask(BLINK_FROM_HERE,
+  timer_task_queue->PostDelayedTask(FROM_HERE,
                                     MakeDeletionTask(web_frame_scheduler),
                                     TimeDelta::FromMilliseconds(9990));
 
@@ -591,7 +586,7 @@
   web_view_scheduler_->EnableVirtualTime();
 
   ThrottleableTaskQueueForScheduler(web_frame_scheduler.get())
-      ->PostTask(BLINK_FROM_HERE,
+      ->PostTask(FROM_HERE,
                  base::Bind(&RunOrderTask, 1, base::Unretained(&run_order)));
 
   mock_task_runner_->RunUntilIdle();
@@ -614,25 +609,25 @@
   web_view_scheduler_->EnableVirtualTime();
 
   ThrottleableTaskRunner()->PostDelayedTask(
-      BLINK_FROM_HERE,
+      FROM_HERE,
       MakeVirtualTimeRecorderTask(&clock_, ThrottleableTaskRunner(),
                                   &real_times, &virtual_times_ms),
       TimeDelta::FromMilliseconds(1));
 
   ThrottleableTaskRunner()->PostDelayedTask(
-      BLINK_FROM_HERE,
+      FROM_HERE,
       MakeVirtualTimeRecorderTask(&clock_, ThrottleableTaskRunner(),
                                   &real_times, &virtual_times_ms),
       TimeDelta::FromMilliseconds(2));
 
   ThrottleableTaskRunner()->PostDelayedTask(
-      BLINK_FROM_HERE,
+      FROM_HERE,
       MakeVirtualTimeRecorderTask(&clock_, ThrottleableTaskRunner(),
                                   &real_times, &virtual_times_ms),
       TimeDelta::FromMilliseconds(5));
 
   ThrottleableTaskRunner()->PostDelayedTask(
-      BLINK_FROM_HERE,
+      FROM_HERE,
       MakeVirtualTimeRecorderTask(&clock_, ThrottleableTaskRunner(),
                                   &real_times, &virtual_times_ms),
       TimeDelta::FromMilliseconds(7));
@@ -689,14 +684,14 @@
   web_view_scheduler_->AddVirtualTimeObserver(&mock_observer);
   web_view_scheduler_->EnableVirtualTime();
 
-  ThrottleableTaskQueue()->PostDelayedTask(
-      BLINK_FROM_HERE, base::Bind(&NopTask), TimeDelta::FromMilliseconds(200));
+  ThrottleableTaskQueue()->PostDelayedTask(FROM_HERE, base::Bind(&NopTask),
+                                           TimeDelta::FromMilliseconds(200));
 
-  ThrottleableTaskQueue()->PostDelayedTask(
-      BLINK_FROM_HERE, base::Bind(&NopTask), TimeDelta::FromMilliseconds(20));
+  ThrottleableTaskQueue()->PostDelayedTask(FROM_HERE, base::Bind(&NopTask),
+                                           TimeDelta::FromMilliseconds(20));
 
-  ThrottleableTaskQueue()->PostDelayedTask(
-      BLINK_FROM_HERE, base::Bind(&NopTask), TimeDelta::FromMilliseconds(2));
+  ThrottleableTaskQueue()->PostDelayedTask(FROM_HERE, base::Bind(&NopTask),
+                                           TimeDelta::FromMilliseconds(2));
 
   web_view_scheduler_->GrantVirtualTimeBudget(
       base::TimeDelta::FromMilliseconds(1000),
@@ -722,7 +717,7 @@
   if (++(*count) >= max_count)
     return;
 
-  task_queue->PostTask(BLINK_FROM_HERE,
+  task_queue->PostTask(FROM_HERE,
                        base::Bind(&RepostingTask, task_queue, max_count,
                                   base::Unretained(count)));
 }
@@ -742,7 +737,7 @@
   int delayed_task_run_at_count = 0;
   RepostingTask(ThrottleableTaskQueue(), 1000, &count);
   ThrottleableTaskQueue()->PostDelayedTask(
-      BLINK_FROM_HERE,
+      FROM_HERE,
       base::Bind(DelayedTask, base::Unretained(&count),
                  base::Unretained(&delayed_task_run_at_count)),
       base::TimeDelta::FromMilliseconds(10));
@@ -773,7 +768,7 @@
   int delayed_task_run_at_count = 0;
   RepostingTask(ThrottleableTaskQueue(), 1000, &count);
   ThrottleableTaskQueue()->PostDelayedTask(
-      BLINK_FROM_HERE,
+      FROM_HERE,
       base::Bind(DelayedTask, WTF::Unretained(&count),
                  WTF::Unretained(&delayed_task_run_at_count)),
       base::TimeDelta::FromMilliseconds(10));
@@ -801,7 +796,7 @@
   int delayed_task_run_at_count = 0;
   RepostingTask(ThrottleableTaskQueue(), 1000, &count);
   ThrottleableTaskQueue()->PostDelayedTask(
-      BLINK_FROM_HERE,
+      FROM_HERE,
       base::Bind(DelayedTask, WTF::Unretained(&count),
                  WTF::Unretained(&delayed_task_run_at_count)),
       base::TimeDelta::FromMilliseconds(10));
@@ -866,10 +861,10 @@
                                   base::TimeDelta::FromMilliseconds(2500));
 
   ThrottleableTaskQueue()->PostDelayedTask(
-      BLINK_FROM_HERE, base::Bind(&ExpensiveTestTask, &clock_, &run_times),
+      FROM_HERE, base::Bind(&ExpensiveTestTask, &clock_, &run_times),
       TimeDelta::FromMilliseconds(1));
   ThrottleableTaskQueue()->PostDelayedTask(
-      BLINK_FROM_HERE, base::Bind(&ExpensiveTestTask, &clock_, &run_times),
+      FROM_HERE, base::Bind(&ExpensiveTestTask, &clock_, &run_times),
       TimeDelta::FromMilliseconds(1));
 
   mock_task_runner_->RunUntilTime(base::TimeTicks() +
@@ -886,10 +881,10 @@
   web_view_scheduler_->SetPageVisible(false);
 
   ThrottleableTaskQueue()->PostDelayedTask(
-      BLINK_FROM_HERE, base::Bind(&ExpensiveTestTask, &clock_, &run_times),
+      FROM_HERE, base::Bind(&ExpensiveTestTask, &clock_, &run_times),
       TimeDelta::FromMicroseconds(1));
   ThrottleableTaskQueue()->PostDelayedTask(
-      BLINK_FROM_HERE, base::Bind(&ExpensiveTestTask, &clock_, &run_times),
+      FROM_HERE, base::Bind(&ExpensiveTestTask, &clock_, &run_times),
       TimeDelta::FromMicroseconds(1));
 
   mock_task_runner_->RunUntilIdle();
@@ -930,7 +925,7 @@
 
   for (size_t i = 0; i < 3; ++i) {
     ThrottleableTaskQueueForScheduler(web_frame_scheduler1.get())
-        ->PostDelayedTask(BLINK_FROM_HERE,
+        ->PostDelayedTask(FROM_HERE,
                           base::Bind(&ExpensiveTestTask, &clock_, &run_times),
                           TimeDelta::FromMilliseconds(1));
   }
@@ -951,7 +946,7 @@
 
   for (size_t i = 0; i < 3; ++i) {
     ThrottleableTaskQueueForScheduler(web_frame_scheduler1.get())
-        ->PostDelayedTask(BLINK_FROM_HERE,
+        ->PostDelayedTask(FROM_HERE,
                           base::Bind(&ExpensiveTestTask, &clock_, &run_times),
                           TimeDelta::FromMilliseconds(1));
   }
@@ -971,7 +966,7 @@
 
   for (size_t i = 0; i < 3; ++i) {
     ThrottleableTaskQueueForScheduler(web_frame_scheduler2.get())
-        ->PostDelayedTask(BLINK_FROM_HERE,
+        ->PostDelayedTask(FROM_HERE,
                           base::Bind(&ExpensiveTestTask, &clock_, &run_times),
                           TimeDelta::FromMilliseconds(1));
   }
@@ -996,7 +991,7 @@
 
   for (size_t i = 0; i < 3; ++i) {
     ThrottleableTaskQueueForScheduler(web_frame_scheduler1.get())
-        ->PostDelayedTask(BLINK_FROM_HERE,
+        ->PostDelayedTask(FROM_HERE,
                           base::Bind(&ExpensiveTestTask, &clock_, &run_times),
                           TimeDelta::FromMilliseconds(1));
   }
diff --git a/third_party/WebKit/Source/platform/scheduler/renderer/webthread_impl_for_renderer_scheduler.cc b/third_party/WebKit/Source/platform/scheduler/renderer/webthread_impl_for_renderer_scheduler.cc
index 860a48b..242efd14 100644
--- a/third_party/WebKit/Source/platform/scheduler/renderer/webthread_impl_for_renderer_scheduler.cc
+++ b/third_party/WebKit/Source/platform/scheduler/renderer/webthread_impl_for_renderer_scheduler.cc
@@ -4,11 +4,11 @@
 
 #include "platform/scheduler/renderer/webthread_impl_for_renderer_scheduler.h"
 
+#include "base/location.h"
 #include "platform/scheduler/base/task_queue.h"
 #include "platform/scheduler/child/web_task_runner_impl.h"
 #include "platform/scheduler/renderer/renderer_scheduler_impl.h"
 #include "platform/scheduler/renderer/renderer_web_scheduler_impl.h"
-#include "public/platform/WebTraceLocation.h"
 
 namespace blink {
 namespace scheduler {
diff --git a/third_party/WebKit/Source/platform/scheduler/renderer/webthread_impl_for_renderer_scheduler_unittest.cc b/third_party/WebKit/Source/platform/scheduler/renderer/webthread_impl_for_renderer_scheduler_unittest.cc
index cc8019797..1683e13 100644
--- a/third_party/WebKit/Source/platform/scheduler/renderer/webthread_impl_for_renderer_scheduler_unittest.cc
+++ b/third_party/WebKit/Source/platform/scheduler/renderer/webthread_impl_for_renderer_scheduler_unittest.cc
@@ -16,7 +16,6 @@
 #include "platform/WebTaskRunner.h"
 #include "platform/scheduler/renderer/renderer_scheduler_impl.h"
 #include "platform/scheduler/test/create_task_queue_manager_for_test.h"
-#include "public/platform/WebTraceLocation.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -83,7 +82,7 @@
   }
 
   thread_->GetWebTaskRunner()->PostTask(
-      BLINK_FROM_HERE, WTF::Bind(&MockTask::Run, WTF::Unretained(&task)));
+      FROM_HERE, WTF::Bind(&MockTask::Run, WTF::Unretained(&task)));
   base::RunLoop().RunUntilIdle();
   thread_->RemoveTaskObserver(&observer);
 }
@@ -102,7 +101,7 @@
   }
 
   thread_->GetWebTaskRunner()->PostTask(
-      BLINK_FROM_HERE, WTF::Bind(&MockTask::Run, WTF::Unretained(&task)));
+      FROM_HERE, WTF::Bind(&MockTask::Run, WTF::Unretained(&task)));
   base::RunLoop().RunUntilIdle();
   thread_->RemoveTaskObserver(&observer);
 }
@@ -126,9 +125,9 @@
   }
 
   thread_->GetWebTaskRunner()->PostTask(
-      BLINK_FROM_HERE, WTF::Bind(&MockTask::Run, WTF::Unretained(&task1)));
+      FROM_HERE, WTF::Bind(&MockTask::Run, WTF::Unretained(&task1)));
   thread_->GetWebTaskRunner()->PostTask(
-      BLINK_FROM_HERE, WTF::Bind(&MockTask::Run, WTF::Unretained(&task2)));
+      FROM_HERE, WTF::Bind(&MockTask::Run, WTF::Unretained(&task2)));
   base::RunLoop().RunUntilIdle();
   thread_->RemoveTaskObserver(&observer);
 }
@@ -157,11 +156,11 @@
   }
 
   thread_->GetWebTaskRunner()->PostTask(
-      BLINK_FROM_HERE, WTF::Bind(&MockTask::Run, WTF::Unretained(&task1)));
+      FROM_HERE, WTF::Bind(&MockTask::Run, WTF::Unretained(&task1)));
   thread_->GetWebTaskRunner()->PostTask(
-      BLINK_FROM_HERE, WTF::Bind(&MockTask::Run, WTF::Unretained(&task2)));
+      FROM_HERE, WTF::Bind(&MockTask::Run, WTF::Unretained(&task2)));
   thread_->GetWebTaskRunner()->PostTask(
-      BLINK_FROM_HERE, WTF::Bind(&MockTask::Run, WTF::Unretained(&task3)));
+      FROM_HERE, WTF::Bind(&MockTask::Run, WTF::Unretained(&task3)));
   base::RunLoop().RunUntilIdle();
   thread_->RemoveTaskObserver(&observer);
 }
@@ -171,8 +170,7 @@
   // run loop directly.
   base::RunLoop run_loop;
   thread->GetWebTaskRunner()->PostTask(
-      BLINK_FROM_HERE,
-      WTF::Bind(&base::RunLoop::Quit, WTF::Unretained(&run_loop)));
+      FROM_HERE, WTF::Bind(&base::RunLoop::Quit, WTF::Unretained(&run_loop)));
   message_loop->SetNestableTasksAllowed(true);
   run_loop.Run();
 }
diff --git a/third_party/WebKit/Source/platform/scroll/ScrollableArea.cpp b/third_party/WebKit/Source/platform/scroll/ScrollableArea.cpp
index 20f7629..1d6e9b0 100644
--- a/third_party/WebKit/Source/platform/scroll/ScrollableArea.cpp
+++ b/third_party/WebKit/Source/platform/scroll/ScrollableArea.cpp
@@ -606,8 +606,7 @@
   }
 
   if (!scrollbar_captured_ && !mouse_over_scrollbar_) {
-    fade_overlay_scrollbars_timer_->StartOneShot(time_until_disable,
-                                                 BLINK_FROM_HERE);
+    fade_overlay_scrollbars_timer_->StartOneShot(time_until_disable, FROM_HERE);
   }
 }
 
diff --git a/third_party/WebKit/Source/platform/scroll/Scrollbar.cpp b/third_party/WebKit/Source/platform/scroll/Scrollbar.cpp
index 5a6f665..a6b6a623 100644
--- a/third_party/WebKit/Source/platform/scroll/Scrollbar.cpp
+++ b/third_party/WebKit/Source/platform/scroll/Scrollbar.cpp
@@ -216,7 +216,7 @@
       return;
   }
 
-  scroll_timer_.StartOneShot(delay, BLINK_FROM_HERE);
+  scroll_timer_.StartOneShot(delay, FROM_HERE);
 }
 
 void Scrollbar::StopTimerIfNeeded() {
diff --git a/third_party/WebKit/Source/platform/testing/UnitTestHelpers.cpp b/third_party/WebKit/Source/platform/testing/UnitTestHelpers.cpp
index 7e7a321..30a390c 100644
--- a/third_party/WebKit/Source/platform/testing/UnitTestHelpers.cpp
+++ b/third_party/WebKit/Source/platform/testing/UnitTestHelpers.cpp
@@ -27,6 +27,7 @@
 
 #include "base/files/file_path.h"
 #include "base/files/file_util.h"
+#include "base/location.h"
 #include "base/path_service.h"
 #include "base/run_loop.h"
 #include "platform/SharedBuffer.h"
@@ -37,7 +38,6 @@
 #include "public/platform/Platform.h"
 #include "public/platform/WebString.h"
 #include "public/platform/WebThread.h"
-#include "public/platform/WebTraceLocation.h"
 
 namespace blink {
 namespace testing {
@@ -55,7 +55,7 @@
 
 void RunPendingTasks() {
   Platform::Current()->CurrentThread()->GetWebTaskRunner()->PostTask(
-      BLINK_FROM_HERE, WTF::Bind(&ExitRunLoop));
+      FROM_HERE, WTF::Bind(&ExitRunLoop));
 
   // We forbid GC in the tasks. Otherwise the registered GCTaskObserver tries
   // to run GC with NoHeapPointerOnStack.
@@ -66,7 +66,7 @@
 
 void RunDelayedTasks(TimeDelta delay) {
   Platform::Current()->CurrentThread()->GetWebTaskRunner()->PostDelayedTask(
-      BLINK_FROM_HERE, WTF::Bind(&ExitRunLoop), delay);
+      FROM_HERE, WTF::Bind(&ExitRunLoop), delay);
   EnterRunLoop();
 }
 
diff --git a/third_party/WebKit/Source/platform/threading/BackgroundTaskRunner.cpp b/third_party/WebKit/Source/platform/threading/BackgroundTaskRunner.cpp
index 8384224..102b8cd 100644
--- a/third_party/WebKit/Source/platform/threading/BackgroundTaskRunner.cpp
+++ b/third_party/WebKit/Source/platform/threading/BackgroundTaskRunner.cpp
@@ -6,12 +6,11 @@
 
 #include "base/location.h"
 #include "base/task_scheduler/post_task.h"
-#include "public/platform/WebTraceLocation.h"
 
 namespace blink {
 
 void BackgroundTaskRunner::PostOnBackgroundThread(
-    const WebTraceLocation& location,
+    const base::Location& location,
     CrossThreadClosure closure) {
   base::PostTaskWithTraits(location,
                            {base::TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN},
diff --git a/third_party/WebKit/Source/platform/threading/BackgroundTaskRunner.h b/third_party/WebKit/Source/platform/threading/BackgroundTaskRunner.h
index da4a56ab..06d774c7 100644
--- a/third_party/WebKit/Source/platform/threading/BackgroundTaskRunner.h
+++ b/third_party/WebKit/Source/platform/threading/BackgroundTaskRunner.h
@@ -5,15 +5,15 @@
 #ifndef BackgroundTaskRunner_h
 #define BackgroundTaskRunner_h
 
+#include "base/location.h"
 #include "platform/PlatformExport.h"
 #include "platform/wtf/Functional.h"
-#include "public/platform/WebTraceLocation.h"
 
 namespace blink {
 
 namespace BackgroundTaskRunner {
 
-PLATFORM_EXPORT void PostOnBackgroundThread(const WebTraceLocation&,
+PLATFORM_EXPORT void PostOnBackgroundThread(const base::Location&,
                                             CrossThreadClosure);
 
 }  // BackgroundTaskRunner
diff --git a/third_party/WebKit/Source/platform/threading/BackgroundTaskRunnerTest.cpp b/third_party/WebKit/Source/platform/threading/BackgroundTaskRunnerTest.cpp
index 3e2f3d70..64aaaa4 100644
--- a/third_party/WebKit/Source/platform/threading/BackgroundTaskRunnerTest.cpp
+++ b/third_party/WebKit/Source/platform/threading/BackgroundTaskRunnerTest.cpp
@@ -5,11 +5,11 @@
 #include "platform/threading/BackgroundTaskRunner.h"
 
 #include <memory>
+#include "base/location.h"
 #include "base/test/scoped_task_environment.h"
 #include "platform/CrossThreadFunctional.h"
 #include "platform/WaitableEvent.h"
 #include "platform/wtf/PtrUtil.h"
-#include "public/platform/WebTraceLocation.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace blink {
@@ -26,7 +26,7 @@
   base::test::ScopedTaskEnvironment scoped_task_environment;
   std::unique_ptr<WaitableEvent> done_event = std::make_unique<WaitableEvent>();
   BackgroundTaskRunner::PostOnBackgroundThread(
-      BLINK_FROM_HERE,
+      FROM_HERE,
       CrossThreadBind(&PingPongTask, CrossThreadUnretained(done_event.get())));
   // Test passes by not hanging on the following wait().
   done_event->Wait();
diff --git a/ui/keyboard/container_floating_behavior.cc b/ui/keyboard/container_floating_behavior.cc
index 00194e1..e4d63e4e0 100644
--- a/ui/keyboard/container_floating_behavior.cc
+++ b/ui/keyboard/container_floating_behavior.cc
@@ -181,7 +181,6 @@
       // If there is no active drag, start a new one.
       drag_descriptor_.reset(
           new DragDescriptor(keyboard_bounds.origin(), kb_offset));
-      container->SetCapture();
     } else {
       // If there is an active drag, use it to determine the new location of the
       // keyboard.
@@ -208,7 +207,6 @@
 
     // save the current bounds.
     SavePosition(keyboard_bounds.origin());
-    container->ReleaseCapture();
   }
 }