Part of fix for bug 5455901 Add exports needed for autofill and cookies

Local only exports due to using of autofill and cookies outside chromium.
All changes marked with #ifdef ANDROID

Change-Id: I72dcd7fe0fe546073c271663123ba17469deaa83
diff --git a/chrome/browser/autofill/autofill_manager.h b/chrome/browser/autofill/autofill_manager.h
index 1cce3b7..2e0be21 100644
--- a/chrome/browser/autofill/autofill_manager.h
+++ b/chrome/browser/autofill/autofill_manager.h
@@ -11,6 +11,9 @@
 #include <string>
 #include <vector>
 
+#ifdef ANDROID
+#include "base/base_api.h"
+#endif
 #include "base/basictypes.h"
 #include "base/compiler_specific.h"
 #include "base/gtest_prod_util.h"
@@ -51,7 +54,11 @@
 
 // Manages saving and restoring the user's personal information entered into web
 // forms.
-class AutofillManager : public TabContentsObserver,
+class
+#ifdef ANDROID
+BASE_API
+#endif
+AutofillManager : public TabContentsObserver,
                         public AutofillDownloadManager::Observer {
  public:
   explicit AutofillManager(TabContents* tab_contents);
diff --git a/chrome/browser/autofill/autofill_profile.h b/chrome/browser/autofill/autofill_profile.h
index 4610482..97730f7 100644
--- a/chrome/browser/autofill/autofill_profile.h
+++ b/chrome/browser/autofill/autofill_profile.h
@@ -12,6 +12,9 @@
 #include <string>
 #include <vector>
 
+#ifdef ANDROID
+#include "base/base_api.h"
+#endif
 #include "base/string16.h"
 #include "chrome/browser/autofill/address.h"
 #include "chrome/browser/autofill/autofill_type.h"
@@ -25,7 +28,11 @@
 // implements the FormGroup interface so that owners of this object can request
 // form information from the profile, and the profile will delegate the request
 // to the requested form group type.
-class AutofillProfile : public FormGroup {
+class
+#ifdef ANDROID
+BASE_API
+#endif
+AutofillProfile : public FormGroup {
  public:
   explicit AutofillProfile(const std::string& guid);
 
diff --git a/chrome/browser/autofill/personal_data_manager.h b/chrome/browser/autofill/personal_data_manager.h
index 6acc67f..0031550 100644
--- a/chrome/browser/autofill/personal_data_manager.h
+++ b/chrome/browser/autofill/personal_data_manager.h
@@ -9,6 +9,9 @@
 #include <set>
 #include <vector>
 
+#ifdef ANDROID
+#include "base/base_api.h"
+#endif
 #include "base/memory/ref_counted.h"
 #include "base/memory/scoped_ptr.h"
 #include "base/memory/scoped_vector.h"
@@ -28,7 +31,11 @@
 // Handles loading and saving Autofill profile information to the web database.
 // This class also stores the profiles loaded from the database for use during
 // Autofill.
-class PersonalDataManager
+class
+#ifdef ANDROID
+BASE_API
+#endif
+PersonalDataManager
     : public WebDataServiceConsumer,
       public ProfileSyncServiceObserver,
       public base::RefCountedThreadSafe<PersonalDataManager> {
@@ -36,7 +43,11 @@
   // An interface the PersonalDataManager uses to notify its clients (observers)
   // when it has finished loading personal data from the web database.  Register
   // the observer via PersonalDataManager::SetObserver.
-  class Observer {
+  class
+#ifdef ANDROID
+BASE_API
+#endif
+  Observer {
    public:
     // Notifies the observer that the PersonalDataManager has finished loading.
     // TODO: OnPersonalDataLoaded should be nuked in favor of only
diff --git a/chrome/browser/net/sqlite_persistent_cookie_store.h b/chrome/browser/net/sqlite_persistent_cookie_store.h
index 6b40634..8f16854 100644
--- a/chrome/browser/net/sqlite_persistent_cookie_store.h
+++ b/chrome/browser/net/sqlite_persistent_cookie_store.h
@@ -11,6 +11,9 @@
 #include <string>
 #include <vector>
 
+#ifdef ANDROID
+#include "base/base_api.h"
+#endif
 #include "base/memory/ref_counted.h"
 #include "net/base/cookie_monster.h"
 
@@ -19,7 +22,11 @@
 // Implements the PersistentCookieStore interface in terms of a SQLite database.
 // For documentation about the actual member functions consult the documentation
 // of the parent class |net::CookieMonster::PersistentCookieStore|.
-class SQLitePersistentCookieStore
+class
+#ifdef ANDROID
+BASE_API
+#endif
+SQLitePersistentCookieStore
     : public net::CookieMonster::PersistentCookieStore {
  public:
   explicit SQLitePersistentCookieStore(const FilePath& path);
diff --git a/chrome/browser/profiles/profile.h b/chrome/browser/profiles/profile.h
index 9f56b7e..63f44cb 100644
--- a/chrome/browser/profiles/profile.h
+++ b/chrome/browser/profiles/profile.h
@@ -8,6 +8,9 @@
 #define CHROME_BROWSER_PROFILES_PROFILE_H_
 #pragma once
 
+#ifdef ANDROID
+#include "base/base_api.h"
+#endif
 #include "base/basictypes.h"
 #include "base/logging.h"
 #ifndef ANDROID
@@ -118,7 +121,11 @@
 
 typedef intptr_t ProfileId;
 
-class Profile {
+class
+#ifdef ANDROID
+BASE_API
+#endif
+Profile {
  public:
   // Profile services are accessed with the following parameter. This parameter
   // defines what the caller plans to do with the service.
diff --git a/webkit/glue/form_data.h b/webkit/glue/form_data.h
index f0011c7..4be7412 100644
--- a/webkit/glue/form_data.h
+++ b/webkit/glue/form_data.h
@@ -7,6 +7,9 @@
 
 #include <vector>
 
+#ifdef ANDROID
+#include "base/base_api.h"
+#endif
 #include "base/string_util.h"
 #include "googleurl/src/gurl.h"
 #include "webkit/glue/form_field.h"
@@ -14,7 +17,11 @@
 namespace webkit_glue {
 
 // Holds information about a form to be filled and/or submitted.
-struct FormData {
+struct 
+#ifdef ANDROID
+BASE_API
+#endif
+FormData {
   // The name of the form.
   string16 name;
   // GET or POST.
diff --git a/webkit/glue/form_field.h b/webkit/glue/form_field.h
index f2903fb..4a507a7 100644
--- a/webkit/glue/form_field.h
+++ b/webkit/glue/form_field.h
@@ -7,6 +7,9 @@
 
 #include <vector>
 
+#ifdef ANDROID
+#include "base/base_api.h"
+#endif
 #include "base/string16.h"
 #ifndef ANDROID
 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFormControlElement.h"
@@ -15,7 +18,11 @@
 namespace webkit_glue {
 
 // Stores information about a field in a form.
-struct FormField {
+struct
+#ifdef ANDROID
+BASE_API
+#endif
+FormField {
   FormField();
 #ifndef ANDROID
   explicit FormField(WebKit::WebFormControlElement element);