Tag WebContents ownership for debugging

Tag WebContents owner and add it as a CrashKey for the
DumpWithoutCrashing in ~WebContentsOfBrowserContext.

The actual tags in this CL is more focused on android and is not
exhaustive. Can keep adding new ones in the future as needed.

Bug: 1407197
Change-Id: I6c0261ae5967fdb01ff2a5f3d0d6fe07f572bd20
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4869854
Reviewed-by: Ted Choc <[email protected]>
Commit-Queue: Bo Liu <[email protected]>
Reviewed-by: Avi Drissman <[email protected]>
Reviewed-by: Finnur Thorarinsson <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1198010}
diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h
index 92872c8..07e4bd3 100644
--- a/content/public/browser/web_contents.h
+++ b/content/public/browser/web_contents.h
@@ -1435,6 +1435,12 @@
   // Enables overscroll history navigation.
   virtual void SetOverscrollNavigationEnabled(bool enabled) = 0;
 
+  // Tag `WebContents` with its owner. Used purely for debugging purposes so it
+  // does not need to be exhaustive or perfectly correct.
+  // TODO(crbug.com/1407197): Remove after bug is fixed.
+  virtual void SetOwnerLocationForDebug(
+      absl::optional<base::Location> owner_location) = 0;
+
  private:
   // This interface should only be implemented inside content.
   friend class WebContentsImpl;