Switch SupportsUserData uses to use unique_ptr.

The interface taking a raw pointer is deprecated and being removed.

BUG=690937

Review-Url: https://codereview.chromium.org/2848163002
Cr-Commit-Position: refs/heads/master@{#468244}
diff --git a/chrome/browser/android/bookmarks/partner_bookmarks_shim.cc b/chrome/browser/android/bookmarks/partner_bookmarks_shim.cc
index b1cc322..3be4556c 100644
--- a/chrome/browser/android/bookmarks/partner_bookmarks_shim.cc
+++ b/chrome/browser/android/bookmarks/partner_bookmarks_shim.cc
@@ -65,7 +65,8 @@
 
   data = new PartnerBookmarksShim(
       Profile::FromBrowserContext(browser_context)->GetPrefs());
-  browser_context->SetUserData(kPartnerBookmarksShimUserDataKey, data);
+  browser_context->SetUserData(kPartnerBookmarksShimUserDataKey,
+                               base::WrapUnique(data));
   data->ReloadNodeMapping();
   return data;
 }
diff --git a/chrome/browser/android/bookmarks/partner_bookmarks_shim.h b/chrome/browser/android/bookmarks/partner_bookmarks_shim.h
index e0d3e53..b43cb638 100644
--- a/chrome/browser/android/bookmarks/partner_bookmarks_shim.h
+++ b/chrome/browser/android/bookmarks/partner_bookmarks_shim.h
@@ -33,6 +33,8 @@
 // Note that node->GetTitle() returns an original (unmodified) title.
 class PartnerBookmarksShim : public base::SupportsUserData::Data {
  public:
+  ~PartnerBookmarksShim() override;
+
   // Returns an instance of the shim for a given |browser_context|.
   static PartnerBookmarksShim* BuildForBrowserContext(
       content::BrowserContext* browser_context);
@@ -126,7 +128,6 @@
 
  private:
   explicit PartnerBookmarksShim(PrefService* prefs);
-  ~PartnerBookmarksShim() override;
 
   const bookmarks::BookmarkNode* GetNodeByID(
       const bookmarks::BookmarkNode* parent,
diff --git a/chrome/browser/android/download/chrome_download_delegate.h b/chrome/browser/android/download/chrome_download_delegate.h
index 9e0347b..d1a6e69 100644
--- a/chrome/browser/android/download/chrome_download_delegate.h
+++ b/chrome/browser/android/download/chrome_download_delegate.h
@@ -11,6 +11,8 @@
 class ChromeDownloadDelegate
     : public content::WebContentsUserData<ChromeDownloadDelegate> {
  public:
+  ~ChromeDownloadDelegate() override;
+
   // Returns true iff this request resulted in the tab creating the download
   // to close.
   static bool EnqueueDownloadManagerRequest(jobject chrome_download_delegate,
@@ -33,7 +35,6 @@
  private:
   explicit ChromeDownloadDelegate(content::WebContents* contents);
   friend class content::WebContentsUserData<ChromeDownloadDelegate>;
-  ~ChromeDownloadDelegate() override;
 
   // A reference to the Java ChromeDownloadDelegate object.
   jobject java_ref_;