Make DownloadItem derive SupportsUserData instead of re-implementing it.

Reviewers:
aa: webstore_installer.*
Done:
sky: mock_download_item.h
achuith: gdata_download_observer.cc
rdsmith, asanka: *

Review URL: https://chromiumcodereview.appspot.com/10833058

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150589 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/content/browser/download/download_manager_impl.cc b/content/browser/download/download_manager_impl.cc
index c1e983e7d..ce33228 100644
--- a/content/browser/download/download_manager_impl.cc
+++ b/content/browser/download/download_manager_impl.cc
@@ -15,6 +15,7 @@
 #include "base/message_loop.h"
 #include "base/stl_util.h"
 #include "base/stringprintf.h"
+#include "base/supports_user_data.h"
 #include "base/synchronization/lock.h"
 #include "base/sys_string_conversions.h"
 #include "build/build_config.h"
@@ -52,26 +53,26 @@
 namespace {
 
 // This is just used to remember which DownloadItems come from SavePage.
-class SavePageExternalData : public DownloadItem::ExternalData {
+class SavePageData : public base::SupportsUserData::Data {
  public:
   // A spoonful of syntactic sugar.
   static bool Get(DownloadItem* item) {
-    return item->GetExternalData(kKey) != NULL;
+    return item->GetUserData(kKey) != NULL;
   }
 
-  explicit SavePageExternalData(DownloadItem* item) {
-    item->SetExternalData(kKey, this);
+  explicit SavePageData(DownloadItem* item) {
+    item->SetUserData(kKey, this);
   }
 
-  virtual ~SavePageExternalData() {}
+  virtual ~SavePageData() {}
 
  private:
   static const char kKey[];
 
-  DISALLOW_COPY_AND_ASSIGN(SavePageExternalData);
+  DISALLOW_COPY_AND_ASSIGN(SavePageData);
 };
 
-const char SavePageExternalData::kKey[] = "DownloadItem SavePageExternalData";
+const char SavePageData::kKey[] = "DownloadItem SavePageData";
 
 void BeginDownload(content::DownloadUrlParameters* params) {
   DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
@@ -566,9 +567,9 @@
 
   DCHECK(!ContainsKey(downloads_, download->GetId()));
   downloads_[download->GetId()] = download;
-  DCHECK(!SavePageExternalData::Get(download));
-  new SavePageExternalData(download);
-  DCHECK(SavePageExternalData::Get(download));
+  DCHECK(!SavePageData::Get(download));
+  new SavePageData(download);
+  DCHECK(SavePageData::Get(download));
 
   // TODO(benjhayden): Fire OnDownloadCreated for SavePackage downloads when
   // we're comfortable with the user interacting with them.
@@ -928,7 +929,7 @@
 
   DownloadItemImpl* item = downloads_[download_id];
   AddDownloadItemToHistory(item, db_handle);
-  if (SavePageExternalData::Get(item)) {
+  if (SavePageData::Get(item)) {
     OnSavePageItemAddedToPersistentStore(item);
   } else {
     OnDownloadItemAddedToPersistentStore(item);