diff options
author | dpranke@chromium.org <dpranke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-13 22:11:57 +0000 |
---|---|---|
committer | dpranke@chromium.org <dpranke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-13 22:11:57 +0000 |
commit | 8d128d6b9ef0096c874fafb9f80cbb5a03c98f4c (patch) | |
tree | 6d15da0c38831ea9180d3d90caa66d5adc7cb000 /content | |
parent | 8ea5d4bd1f750572bec6b6b73732bba147f0be42 (diff) | |
download | chromium_src-8d128d6b9ef0096c874fafb9f80cbb5a03c98f4c.zip chromium_src-8d128d6b9ef0096c874fafb9f80cbb5a03c98f4c.tar.gz chromium_src-8d128d6b9ef0096c874fafb9f80cbb5a03c98f4c.tar.bz2 |
Annotate all of the functions in content that need to be exported, in preparation for creating a content shared library.
R=darin@chromium.org, jam@chromium.org, willchan@chromium.org
BUG=90442
TEST=everything still compiles
Review URL: http://codereview.chromium.org/7800015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100975 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
141 files changed, 566 insertions, 352 deletions
diff --git a/content/app/content_main.h b/content/app/content_main.h index 386902d..f12f542 100644 --- a/content/app/content_main.h +++ b/content/app/content_main.h @@ -7,6 +7,7 @@ #pragma once #include "build/build_config.h" +#include "content/common/content_export.h" #if defined(OS_WIN) #include <windows.h> @@ -28,13 +29,13 @@ class ContentMainDelegate; // |sandbox_info| should be initialized using InitializeSandboxInfo from // content_main_win.h -int ContentMain(HINSTANCE instance, - sandbox::SandboxInterfaceInfo* sandbox_info, - ContentMainDelegate* delegate); +CONTENT_EXPORT int ContentMain(HINSTANCE instance, + sandbox::SandboxInterfaceInfo* sandbox_info, + ContentMainDelegate* delegate); #else -int ContentMain(int argc, - const char** argv, - ContentMainDelegate* delegate); +CONTENT_EXPORT int ContentMain(int argc, + char** argv, + ContentMainDelegate* delegate); #endif } // namespace content diff --git a/content/browser/accessibility/browser_accessibility_manager.h b/content/browser/accessibility/browser_accessibility_manager.h index 62f4a4a..e69a1f0 100644 --- a/content/browser/accessibility/browser_accessibility_manager.h +++ b/content/browser/accessibility/browser_accessibility_manager.h @@ -11,6 +11,7 @@ #include "base/hash_tables.h" #include "base/memory/scoped_ptr.h" #include "build/build_config.h" +#include "content/common/content_export.h" #include "ui/gfx/native_widget_types.h" #include "webkit/glue/webaccessibility.h" @@ -24,7 +25,7 @@ using webkit_glue::WebAccessibility; struct ViewHostMsg_AccessibilityNotification_Params; // Class that can perform actions on behalf of the BrowserAccessibilityManager. -class BrowserAccessibilityDelegate { +class CONTENT_EXPORT BrowserAccessibilityDelegate { public: virtual ~BrowserAccessibilityDelegate() {} virtual void SetAccessibilityFocus(int acc_obj_id) = 0; diff --git a/content/browser/accessibility/browser_accessibility_state.h b/content/browser/accessibility/browser_accessibility_state.h index 82cb8a3..62e19eb 100644 --- a/content/browser/accessibility/browser_accessibility_state.h +++ b/content/browser/accessibility/browser_accessibility_state.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -7,6 +7,7 @@ #pragma once #include "base/basictypes.h" +#include "content/common/content_export.h" template <typename T> struct DefaultSingletonTraits; @@ -27,7 +28,7 @@ template <typename T> struct DefaultSingletonTraits; // when VoiceOver is launched and unset when VoiceOver is closed. This is an // improvement over reading defaults preference values (which has no callback // mechanism). -class BrowserAccessibilityState { +class CONTENT_EXPORT BrowserAccessibilityState { public: // Returns the singleton instance. static BrowserAccessibilityState* GetInstance(); diff --git a/content/browser/appcache/chrome_appcache_service.h b/content/browser/appcache/chrome_appcache_service.h index 3aff0cf..a599517 100644 --- a/content/browser/appcache/chrome_appcache_service.h +++ b/content/browser/appcache/chrome_appcache_service.h @@ -6,8 +6,10 @@ #define CONTENT_BROWSER_APPCACHE_CHROME_APPCACHE_SERVICE_H_ #pragma once +#include "base/compiler_specific.h" #include "base/memory/ref_counted.h" #include "content/browser/browser_thread.h" +#include "content/common/content_export.h" #include "content/common/notification_observer.h" #include "content/common/notification_registrar.h" #include "webkit/appcache/appcache_policy.h" @@ -28,11 +30,14 @@ class ResourceContext; // // All methods, except the ctor, are expected to be called on // the IO thread (unless specifically called out in doc comments). -class ChromeAppCacheService +// +// TODO(dpranke): Fix dependencies on AppCacheService so that we don't have +// to worry about clients calling AppCacheService methods. +class CONTENT_EXPORT ChromeAppCacheService : public base::RefCountedThreadSafe<ChromeAppCacheService, BrowserThread::DeleteOnIOThread>, - public appcache::AppCacheService, - public appcache::AppCachePolicy, + NON_EXPORTED_BASE(public appcache::AppCacheService), + NON_EXPORTED_BASE(public appcache::AppCachePolicy), public NotificationObserver { public: explicit ChromeAppCacheService(quota::QuotaManagerProxy* proxy); @@ -43,6 +48,8 @@ class ChromeAppCacheService scoped_refptr<quota::SpecialStoragePolicy> special_storage_policy); private: + friend class base::RefCountedThreadSafe<ChromeAppCacheService, + BrowserThread::DeleteOnIOThread>; friend class BrowserThread; friend class DeleteTask<ChromeAppCacheService>; diff --git a/content/browser/browser_child_process_host.h b/content/browser/browser_child_process_host.h index cc04b2a..bf5b881 100644 --- a/content/browser/browser_child_process_host.h +++ b/content/browser/browser_child_process_host.h @@ -11,15 +11,17 @@ #include "content/browser/child_process_launcher.h" #include "content/common/child_process_host.h" #include "content/common/child_process_info.h" +#include "content/common/content_export.h" // Plugins/workers and other child processes that live on the IO thread should // derive from this class. // // [Browser]RenderProcessHost is the main exception that doesn't derive from // this class. That project lives on the UI thread. -class BrowserChildProcessHost : public ChildProcessHost, - public ChildProcessInfo, - public ChildProcessLauncher::Client { +class CONTENT_EXPORT BrowserChildProcessHost : + public ChildProcessHost, + public ChildProcessInfo, + public ChildProcessLauncher::Client { public: virtual ~BrowserChildProcessHost(); @@ -31,7 +33,7 @@ class BrowserChildProcessHost : public ChildProcessHost, // this should be done from the IO thread and that the iterator should not be // kept around as it may be invalidated on subsequent event processing in the // event loop. - class Iterator { + class CONTENT_EXPORT Iterator { public: Iterator(); explicit Iterator(ChildProcessInfo::ProcessType type); diff --git a/content/browser/browser_message_filter.h b/content/browser/browser_message_filter.h index 674d492..2ad88b8 100644 --- a/content/browser/browser_message_filter.h +++ b/content/browser/browser_message_filter.h @@ -8,12 +8,14 @@ #include "base/process.h" #include "content/browser/browser_thread.h" +#include "content/common/content_export.h" #include "ipc/ipc_channel_proxy.h" // Base class for message filters in the browser process. You can receive and // send messages on any thread. -class BrowserMessageFilter : public IPC::ChannelProxy::MessageFilter, - public IPC::Message::Sender { +class CONTENT_EXPORT BrowserMessageFilter : + public IPC::ChannelProxy::MessageFilter, + public IPC::Message::Sender { public: BrowserMessageFilter(); virtual ~BrowserMessageFilter(); diff --git a/content/browser/browser_thread.h b/content/browser/browser_thread.h index 3c47fc0..2e79897 100644 --- a/content/browser/browser_thread.h +++ b/content/browser/browser_thread.h @@ -10,6 +10,7 @@ #include "base/synchronization/lock.h" #include "base/task.h" #include "base/threading/thread.h" +#include "content/common/content_export.h" #if defined(UNIT_TEST) #include "base/logging.h" @@ -39,7 +40,7 @@ class MessageLoopProxy; // task is posted to is guaranteed to outlive the current thread, then no locks // are used. You should never need to cache pointers to MessageLoops, since // they're not thread safe. -class BrowserThread : public base::Thread { +class CONTENT_EXPORT BrowserThread : public base::Thread { public: // An enumeration of the well-known threads. // NOTE: threads must be listed in the order of their life-time, with each diff --git a/content/browser/browser_url_handler.h b/content/browser/browser_url_handler.h index 881c080..4fd625b 100644 --- a/content/browser/browser_url_handler.h +++ b/content/browser/browser_url_handler.h @@ -18,6 +18,7 @@ #include "base/gtest_prod_util.h" #include "base/memory/singleton.h" +#include "content/common/content_export.h" class GURL; @@ -27,7 +28,7 @@ class BrowserContext; // BrowserURLHandler manages the list of all special URLs and manages // dispatching the URL handling to registered handlers. -class BrowserURLHandler { +class CONTENT_EXPORT BrowserURLHandler { public: // The type of functions that can process a URL. // If a handler handles |url|, it should : diff --git a/content/browser/browsing_instance.h b/content/browser/browsing_instance.h index b550659..5d7de84 100644 --- a/content/browser/browsing_instance.h +++ b/content/browser/browsing_instance.h @@ -8,6 +8,7 @@ #include "base/hash_tables.h" #include "base/memory/ref_counted.h" +#include "content/common/content_export.h" class GURL; class SiteInstance; @@ -55,7 +56,8 @@ class BrowserContext; // site_instance_unittest.cc. // /////////////////////////////////////////////////////////////////////////////// -class BrowsingInstance : public base::RefCounted<BrowsingInstance> { +class CONTENT_EXPORT BrowsingInstance + : public base::RefCounted<BrowsingInstance> { public: // Create a new BrowsingInstance. explicit BrowsingInstance(content::BrowserContext* context); diff --git a/content/browser/cancelable_request.h b/content/browser/cancelable_request.h index 18819ed..a9e6f4f 100644 --- a/content/browser/cancelable_request.h +++ b/content/browser/cancelable_request.h @@ -100,6 +100,7 @@ #include "base/synchronization/lock.h" #include "base/task.h" #include "build/build_config.h" +#include "content/common/content_export.h" class CancelableRequestBase; class CancelableRequestConsumerBase; @@ -113,7 +114,7 @@ class CancelableRequestConsumerBase; // It is intended that providers inherit from this class to provide the // necessary functionality. -class CancelableRequestProvider { +class CONTENT_EXPORT CancelableRequestProvider { public: // Identifies a specific request from this provider. typedef int Handle; @@ -514,7 +515,7 @@ extern template class CancelableRequestConsumerT<int, 0>; // other thread for the callback, but will still be destroyed properly. // Non-templatized base class that provides cancellation -class CancelableRequestBase +class CONTENT_EXPORT CancelableRequestBase : public base::RefCountedThreadSafe<CancelableRequestBase> { public: friend class CancelableRequestProvider; diff --git a/content/browser/cert_store.h b/content/browser/cert_store.h index 294e932..326f1b8 100644 --- a/content/browser/cert_store.h +++ b/content/browser/cert_store.h @@ -10,6 +10,7 @@ #include "base/memory/singleton.h" #include "base/synchronization/lock.h" +#include "content/common/content_export.h" #include "content/common/notification_observer.h" #include "content/common/notification_registrar.h" #include "net/base/x509_certificate.h" @@ -24,7 +25,7 @@ // Note that the cert ids will overflow if we register more than 2^32 - 1 certs // in 1 browsing session (which is highly unlikely to happen). -class CertStore : public NotificationObserver { +class CONTENT_EXPORT CertStore : public NotificationObserver { public: // Returns the singleton instance of the CertStore. static CertStore* GetInstance(); diff --git a/content/browser/child_process_launcher.h b/content/browser/child_process_launcher.h index f1f6369..9cd12e7 100644 --- a/content/browser/child_process_launcher.h +++ b/content/browser/child_process_launcher.h @@ -9,15 +9,16 @@ #include "base/basictypes.h" #include "base/memory/ref_counted.h" #include "base/process_util.h" +#include "content/common/content_export.h" class CommandLine; // Launches a process asynchronously and notifies the client of the process // handle when it's available. It's used to avoid blocking the calling thread // on the OS since often it can take > 100 ms to create the process. -class ChildProcessLauncher { +class CONTENT_EXPORT ChildProcessLauncher { public: - class Client { + class CONTENT_EXPORT Client { public: // Will be called on the thread that the ChildProcessLauncher was // constructed on. diff --git a/content/browser/child_process_security_policy.h b/content/browser/child_process_security_policy.h index 1ce1f3d..943fd2d 100644 --- a/content/browser/child_process_security_policy.h +++ b/content/browser/child_process_security_policy.h @@ -15,6 +15,7 @@ #include "base/gtest_prod_util.h" #include "base/memory/singleton.h" #include "base/synchronization/lock.h" +#include "content/common/content_export.h" class FilePath; class GURL; @@ -26,7 +27,7 @@ class GURL; // // ChildProcessSecurityPolicy is a singleton that may be used on any thread. // -class ChildProcessSecurityPolicy { +class CONTENT_EXPORT ChildProcessSecurityPolicy { public: // Object can only be created through GetInstance() so the constructor is // private. diff --git a/content/browser/chrome_blob_storage_context.h b/content/browser/chrome_blob_storage_context.h index 3b97011..a6680f9 100644 --- a/content/browser/chrome_blob_storage_context.h +++ b/content/browser/chrome_blob_storage_context.h @@ -9,6 +9,7 @@ #include "base/memory/ref_counted.h" #include "base/memory/scoped_ptr.h" #include "content/browser/browser_thread.h" +#include "content/common/content_export.h" class GURL; @@ -23,7 +24,7 @@ class BlobStorageController; // // All methods, except the ctor, are expected to be called on // the IO thread (unless specifically called out in doc comments). -class ChromeBlobStorageContext +class CONTENT_EXPORT ChromeBlobStorageContext : public base::RefCountedThreadSafe<ChromeBlobStorageContext, BrowserThread::DeleteOnIOThread> { public: @@ -36,6 +37,8 @@ class ChromeBlobStorageContext } private: + friend class base::RefCountedThreadSafe<ChromeBlobStorageContext, + BrowserThread::DeleteOnIOThread>; friend class BrowserThread; friend class DeleteTask<ChromeBlobStorageContext>; diff --git a/content/browser/debugger/devtools_agent_host.h b/content/browser/debugger/devtools_agent_host.h index 7208e72..95c9754 100644 --- a/content/browser/debugger/devtools_agent_host.h +++ b/content/browser/debugger/devtools_agent_host.h @@ -6,6 +6,8 @@ #define CONTENT_BROWSER_DEBUGGER_DEVTOOLS_AGENT_HOST_H_ #pragma once +#include "content/common/content_export.h" + namespace IPC { class Message; } @@ -13,7 +15,7 @@ class Message; // Describes interface for managing devtools agents from the browser process. class DevToolsAgentHost { public: - class CloseListener { + class CONTENT_EXPORT CloseListener { public: virtual void AgentHostClosing(DevToolsAgentHost*) = 0; protected: diff --git a/content/browser/debugger/devtools_client_host.h b/content/browser/debugger/devtools_client_host.h index 796d7fe..f629818 100644 --- a/content/browser/debugger/devtools_client_host.h +++ b/content/browser/debugger/devtools_client_host.h @@ -10,6 +10,7 @@ #include <vector> #include "base/basictypes.h" +#include "content/common/content_export.h" namespace IPC { class Message; @@ -21,9 +22,9 @@ class TabContents; // Describes interface for managing devtools clients from browser process. There // are currently two types of clients: devtools windows and TCP socket // debuggers. -class DevToolsClientHost { +class CONTENT_EXPORT DevToolsClientHost { public: - class CloseListener { + class CONTENT_EXPORT CloseListener { public: CloseListener() {} virtual ~CloseListener() {} diff --git a/content/browser/debugger/devtools_http_protocol_handler.h b/content/browser/debugger/devtools_http_protocol_handler.h index ff09fec..a5c396a 100644 --- a/content/browser/debugger/devtools_http_protocol_handler.h +++ b/content/browser/debugger/devtools_http_protocol_handler.h @@ -13,6 +13,7 @@ #include "base/memory/ref_counted.h" #include "base/memory/scoped_ptr.h" +#include "content/common/content_export.h" #include "net/server/http_server.h" #include "net/url_request/url_request.h" @@ -50,7 +51,7 @@ class DevToolsHttpProtocolHandler }; // Takes ownership over |delegate|. - static scoped_refptr<DevToolsHttpProtocolHandler> Start( + CONTENT_EXPORT static scoped_refptr<DevToolsHttpProtocolHandler> Start( const std::string& ip, int port, const std::string& frontend_url, @@ -58,7 +59,7 @@ class DevToolsHttpProtocolHandler // Called from the main thread in order to stop protocol handler. // Will schedule tear down task on IO thread. - void Stop(); + CONTENT_EXPORT void Stop(); private: friend class base::RefCountedThreadSafe<DevToolsHttpProtocolHandler>; diff --git a/content/browser/debugger/devtools_manager.h b/content/browser/debugger/devtools_manager.h index 6aa43f9..de7b88a 100644 --- a/content/browser/debugger/devtools_manager.h +++ b/content/browser/debugger/devtools_manager.h @@ -11,6 +11,7 @@ #include "content/browser/debugger/devtools_agent_host.h" #include "content/browser/debugger/devtools_client_host.h" +#include "content/common/content_export.h" namespace IPC { class Message; @@ -32,8 +33,9 @@ typedef std::map<std::string, std::string> DevToolsRuntimeProperties; // Methods below that accept inspected RenderViewHost as a parameter are // just convenience methods that call corresponding methods accepting // DevToolAgentHost. -class DevToolsManager : public DevToolsClientHost::CloseListener, - public DevToolsAgentHost::CloseListener { +class CONTENT_EXPORT DevToolsManager + : public DevToolsClientHost::CloseListener, + public DevToolsAgentHost::CloseListener { public: static DevToolsManager* GetInstance(); diff --git a/content/browser/disposition_utils.h b/content/browser/disposition_utils.h index ba8c9e5..a531350 100644 --- a/content/browser/disposition_utils.h +++ b/content/browser/disposition_utils.h @@ -6,6 +6,7 @@ #define CONTENT_BROWSER_DISPOSITION_UTILS_H_ #pragma once +#include "content/common/content_export.h" #include "webkit/glue/window_open_disposition.h" namespace disposition_utils { @@ -13,11 +14,11 @@ namespace disposition_utils { // Translates event flags from a click on a link into the user's desired // window disposition. For example, a middle click would mean to open // a background tab. -WindowOpenDisposition DispositionFromClick(bool middle_button, - bool alt_key, - bool ctrl_key, - bool meta_key, - bool shift_key); +CONTENT_EXPORT WindowOpenDisposition DispositionFromClick(bool middle_button, + bool alt_key, + bool ctrl_key, + bool meta_key, + bool shift_key); } diff --git a/content/browser/download/base_file.h b/content/browser/download/base_file.h index 1e45321..7076ef1 100644 --- a/content/browser/download/base_file.h +++ b/content/browser/download/base_file.h @@ -12,6 +12,7 @@ #include "base/memory/linked_ptr.h" #include "base/memory/scoped_ptr.h" #include "content/browser/power_save_blocker.h" +#include "content/common/content_export.h" #include "googleurl/src/gurl.h" #include "net/base/net_errors.h" @@ -24,7 +25,7 @@ class FileStream; // File being downloaded and saved to disk. This is a base class // for DownloadFile and SaveFile, which keep more state information. -class BaseFile { +class CONTENT_EXPORT BaseFile { public: BaseFile(const FilePath& full_path, const GURL& source_url, diff --git a/content/browser/download/download_file.h b/content/browser/download/download_file.h index bddeb3e..f42a1af 100644 --- a/content/browser/download/download_file.h +++ b/content/browser/download/download_file.h @@ -13,6 +13,7 @@ #include "content/browser/download/base_file.h" #include "content/browser/download/download_request_handle.h" #include "content/browser/download/download_types.h" +#include "content/common/content_export.h" struct DownloadCreateInfo; class DownloadManager; @@ -22,7 +23,7 @@ class ResourceDispatcherHost; // operations for one download. These objects live only for the duration that // the download is 'in progress': once the download has been completed or // cancelled, the DownloadFile is destroyed. -class DownloadFile : public BaseFile { +class CONTENT_EXPORT DownloadFile : public BaseFile { public: DownloadFile(const DownloadCreateInfo* info, DownloadManager* download_manager); diff --git a/content/browser/download/download_file_manager.h b/content/browser/download/download_file_manager.h index 5b237b1..db5a796 100644 --- a/content/browser/download/download_file_manager.h +++ b/content/browser/download/download_file_manager.h @@ -49,6 +49,7 @@ #include "base/memory/ref_counted.h" #include "base/timer.h" #include "content/browser/download/download_request_handle.h" +#include "content/common/content_export.h" #include "net/base/net_errors.h" #include "ui/gfx/native_widget_types.h" @@ -72,7 +73,7 @@ class DownloadFileManager explicit DownloadFileManager(ResourceDispatcherHost* rdh); // Called on shutdown on the UI thread. - void Shutdown(); + CONTENT_EXPORT void Shutdown(); // Called on the IO or UI threads. int GetNextId(); diff --git a/content/browser/download/download_item.h b/content/browser/download/download_item.h index 6e32d08..e9f7d1d 100644 --- a/content/browser/download/download_item.h +++ b/content/browser/download/download_item.h @@ -27,6 +27,7 @@ #include "base/timer.h" #include "content/browser/download/download_request_handle.h" #include "content/browser/download/download_state_info.h" +#include "content/common/content_export.h" #include "googleurl/src/gurl.h" #include "net/base/net_errors.h" @@ -40,7 +41,7 @@ struct DownloadPersistentStoreInfo; // Destination tab's download view, may refer to a given DownloadItem. // // This is intended to be used only on the UI thread. -class DownloadItem { +class CONTENT_EXPORT DownloadItem { public: enum DownloadState { // Download is actively progressing. @@ -98,7 +99,7 @@ class DownloadItem { // Interface that observers of a particular download must implement in order // to receive updates to the download's status. - class Observer { + class CONTENT_EXPORT Observer { public: virtual void OnDownloadUpdated(DownloadItem* download) = 0; diff --git a/content/browser/download/download_manager.h b/content/browser/download/download_manager.h index 994db82..2536c93 100644 --- a/content/browser/download/download_manager.h +++ b/content/browser/download/download_manager.h @@ -46,6 +46,7 @@ #include "content/browser/download/download_item.h" #include "content/browser/download/download_request_handle.h" #include "content/browser/download/download_status_updater_delegate.h" +#include "content/common/content_export.h" #include "net/base/net_errors.h" class DownloadFileManager; @@ -62,7 +63,7 @@ class BrowserContext; } // Browser's download manager: manages all downloads and destination view. -class DownloadManager +class CONTENT_EXPORT DownloadManager : public base::RefCountedThreadSafe<DownloadManager, BrowserThread::DeleteOnUIThread>, public DownloadStatusUpdaterDelegate { @@ -75,7 +76,7 @@ class DownloadManager // Interface to implement for observers that wish to be informed of changes // to the DownloadManager's collection of downloads. - class Observer { + class CONTENT_EXPORT Observer { public: // New or deleted download, observers should query us for the current set // of downloads. @@ -276,6 +277,8 @@ class DownloadManager friend class DownloadManagerTest; friend class MockDownloadManager; + friend class base::RefCountedThreadSafe<DownloadManager, + BrowserThread::DeleteOnUIThread>; friend struct BrowserThread::DeleteOnThread<BrowserThread::UI>; friend class DeleteTask<DownloadManager>; diff --git a/content/browser/download/download_persistent_store_info.h b/content/browser/download/download_persistent_store_info.h index 7ac0853..948d048 100644 --- a/content/browser/download/download_persistent_store_info.h +++ b/content/browser/download/download_persistent_store_info.h @@ -13,13 +13,14 @@ #include "base/file_path.h" #include "base/time.h" +#include "content/common/content_export.h" #include "googleurl/src/gurl.h" class DownloadItem; // Contains the information that is stored in the download system's persistent // store (or refers to it). Managed by the DownloadItem. -struct DownloadPersistentStoreInfo { +struct CONTENT_EXPORT DownloadPersistentStoreInfo { // TODO(ahendrickson) -- Reduce the number of constructors. DownloadPersistentStoreInfo(); DownloadPersistentStoreInfo(const FilePath& path, diff --git a/content/browser/download/download_state_info.h b/content/browser/download/download_state_info.h index 7392e63..85367ca 100644 --- a/content/browser/download/download_state_info.h +++ b/content/browser/download/download_state_info.h @@ -7,6 +7,7 @@ #pragma once #include "base/file_path.h" +#include "content/common/content_export.h" #include "content/common/page_transition_types.h" // Contains information relating to the process of determining what to do with @@ -25,7 +26,7 @@ struct DownloadStateInfo { bool dangerous_url); // Indicates if the download is dangerous. - bool IsDangerous() const; + CONTENT_EXPORT bool IsDangerous() const; // The original name for a dangerous download, specified by the request. FilePath target_name; diff --git a/content/browser/download/download_stats.h b/content/browser/download/download_stats.h index 0007bcf..7ca7a23 100644 --- a/content/browser/download/download_stats.h +++ b/content/browser/download/download_stats.h @@ -11,6 +11,7 @@ #include <string> #include "base/basictypes.h" +#include "content/common/content_export.h" namespace base { class TimeTicks; @@ -67,7 +68,7 @@ enum DownloadCountTypes { }; // Increment one of the above counts. -void RecordDownloadCount(DownloadCountTypes type); +CONTENT_EXPORT void RecordDownloadCount(DownloadCountTypes type); // Record COMPLETED_COUNT and how long the download took. void RecordDownloadCompleted(const base::TimeTicks& start, int64 download_len); diff --git a/content/browser/download/download_status_updater.h b/content/browser/download/download_status_updater.h index 195d68e..410fa2d 100644 --- a/content/browser/download/download_status_updater.h +++ b/content/browser/download/download_status_updater.h @@ -10,11 +10,12 @@ #include "base/basictypes.h" #include "base/gtest_prod_util.h" #include "base/memory/weak_ptr.h" +#include "content/common/content_export.h" class DownloadStatusUpdaterDelegate; // Keeps track of download progress for the entire browser. -class DownloadStatusUpdater +class CONTENT_EXPORT DownloadStatusUpdater : public base::SupportsWeakPtr<DownloadStatusUpdater> { public: DownloadStatusUpdater(); diff --git a/content/browser/download/download_status_updater_delegate.h b/content/browser/download/download_status_updater_delegate.h index 72c2eda..c80e432 100644 --- a/content/browser/download/download_status_updater_delegate.h +++ b/content/browser/download/download_status_updater_delegate.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -6,8 +6,9 @@ #define CONTENT_BROWSER_DOWNLOAD_DOWNLOAD_STATUS_UPDATER_DELEGATE_H_ #include "base/basictypes.h" +#include "content/common/content_export.h" -class DownloadStatusUpdaterDelegate { +class CONTENT_EXPORT DownloadStatusUpdaterDelegate { public: // Returns true if the progress is known (i.e. we know the final size // of all downloads). diff --git a/content/browser/download/drag_download_file.h b/content/browser/download/drag_download_file.h index 621a368..18228f08 100644 --- a/content/browser/download/drag_download_file.h +++ b/content/browser/download/drag_download_file.h @@ -6,13 +6,16 @@ #define CONTENT_BROWSER_DOWNLOAD_DRAG_DOWNLOAD_FILE_H_ #pragma once +#include "base/compiler_specific.h" #include "base/file_path.h" #include "base/memory/linked_ptr.h" #include "content/browser/download/download_file.h" #include "content/browser/download/download_item.h" #include "content/browser/download/download_manager.h" +#include "content/common/content_export.h" #include "googleurl/src/gurl.h" #include "ui/base/dragdrop/download_file_interface.h" +#include "ui/base/ui_export.h" class TabContents; @@ -20,9 +23,10 @@ namespace net { class FileStream; } -class DragDownloadFile : public ui::DownloadFileProvider, - public DownloadManager::Observer, - public DownloadItem::Observer { +class CONTENT_EXPORT DragDownloadFile + : public ui::DownloadFileProvider, + public DownloadManager::Observer, + public DownloadItem::Observer { public: // On Windows, we need to download into a temporary file. Two threads are // involved: background drag-and-drop thread and UI thread. diff --git a/content/browser/download/drag_download_util.h b/content/browser/download/drag_download_util.h index 7eef73f..965c6f2 100644 --- a/content/browser/download/drag_download_util.h +++ b/content/browser/download/drag_download_util.h @@ -10,6 +10,7 @@ #include "base/memory/ref_counted.h" #include "base/string16.h" #include "content/browser/download/drag_download_file.h" +#include "content/common/content_export.h" #include "ui/base/dragdrop/download_file_interface.h" class FilePath; @@ -29,10 +30,10 @@ namespace drag_download_util { // appropriately. // For example, we can have // text/plain:example.txt:http://example.com/example.txt -bool ParseDownloadMetadata(const string16& metadata, - string16* mime_type, - FilePath* file_name, - GURL* url); +CONTENT_EXPORT bool ParseDownloadMetadata(const string16& metadata, + string16* mime_type, + FilePath* file_name, + GURL* url); // Create a new file at the specified path. If the file already exists, try to // insert the sequential unifier to produce a new file, like foo-01.txt. diff --git a/content/browser/download/mhtml_generation_manager.h b/content/browser/download/mhtml_generation_manager.h index 49cd8ec..9271327 100644 --- a/content/browser/download/mhtml_generation_manager.h +++ b/content/browser/download/mhtml_generation_manager.h @@ -11,12 +11,13 @@ #include "base/platform_file.h" #include "base/process.h" #include "content/browser/browser_thread.h" +#include "content/common/content_export.h" #include "ipc/ipc_platform_file.h" class FilePath; class TabContents; -class MHTMLGenerationManager +class CONTENT_EXPORT MHTMLGenerationManager : public base::RefCountedThreadSafe<MHTMLGenerationManager, BrowserThread::DeleteOnUIThread> { public: diff --git a/content/browser/download/save_file_manager.h b/content/browser/download/save_file_manager.h index 5f555ed..e8419cf 100644 --- a/content/browser/download/save_file_manager.h +++ b/content/browser/download/save_file_manager.h @@ -65,6 +65,7 @@ #include "base/hash_tables.h" #include "base/memory/ref_counted.h" #include "content/browser/download/save_types.h" +#include "content/common/content_export.h" class FilePath; class GURL; @@ -87,7 +88,7 @@ class SaveFileManager explicit SaveFileManager(ResourceDispatcherHost* rdh); // Lifetime management. - void Shutdown(); + CONTENT_EXPORT void Shutdown(); // Called on the IO thread. This generates unique IDs for // SaveFileResourceHandler objects (there's one per file in a SavePackage). diff --git a/content/browser/download/save_package.h b/content/browser/download/save_package.h index 824a336..4204e30 100644 --- a/content/browser/download/save_package.h +++ b/content/browser/download/save_package.h @@ -19,6 +19,7 @@ #include "base/task.h" #include "content/browser/download/download_manager.h" #include "content/browser/tab_contents/tab_contents_observer.h" +#include "content/common/content_export.h" #include "googleurl/src/gurl.h" class GURL; @@ -49,10 +50,11 @@ class Time; // saved. Each file is represented by a SaveItem, and all SaveItems are owned // by the SavePackage. SaveItems are created when a user initiates a page // saving job, and exist for the duration of one tab's life time. -class SavePackage : public base::RefCountedThreadSafe<SavePackage>, - public TabContentsObserver, - public DownloadItem::Observer, - public base::SupportsWeakPtr<SavePackage> { +class CONTENT_EXPORT SavePackage + : public base::RefCountedThreadSafe<SavePackage>, + public TabContentsObserver, + public DownloadItem::Observer, + public base::SupportsWeakPtr<SavePackage> { public: enum SavePackageType { // The value of the save type before its set by the user. diff --git a/content/browser/file_system/browser_file_system_helper.h b/content/browser/file_system/browser_file_system_helper.h index 9af8031..7d8cdce 100644 --- a/content/browser/file_system/browser_file_system_helper.h +++ b/content/browser/file_system/browser_file_system_helper.h @@ -7,6 +7,7 @@ #include "base/memory/ref_counted.h" #include "base/memory/scoped_ptr.h" +#include "content/common/content_export.h" #include "webkit/fileapi/file_system_context.h" namespace quota { @@ -15,7 +16,8 @@ class SpecialStoragePolicy; // Helper method that returns FileSystemContext constructed for // the browser process. -scoped_refptr<fileapi::FileSystemContext> CreateFileSystemContext( +CONTENT_EXPORT scoped_refptr<fileapi::FileSystemContext> +CreateFileSystemContext( const FilePath& profile_path, bool is_incognito, quota::SpecialStoragePolicy* special_storage_policy, diff --git a/content/browser/font_list_async.h b/content/browser/font_list_async.h index 9693dfb..e9e9435 100644 --- a/content/browser/font_list_async.h +++ b/content/browser/font_list_async.h @@ -8,6 +8,7 @@ #include "base/callback.h" #include "base/memory/ref_counted.h" #include "base/memory/scoped_ptr.h" +#include "content/common/content_export.h" namespace base { class ListValue; @@ -18,7 +19,8 @@ namespace content { // Wraps ownership of a ListValue so we can send it across threads without // having ownership problems (for example if the calling thread goes away // before the callback is executed, we want the ListValue to be destroyed. -struct FontListResult : public base::RefCountedThreadSafe<FontListResult> { +struct CONTENT_EXPORT FontListResult + : public base::RefCountedThreadSafe<FontListResult> { FontListResult(); ~FontListResult(); @@ -36,7 +38,7 @@ struct FontListResult : public base::RefCountedThreadSafe<FontListResult> { // If the caller wants to take ownership of the ListValue, it can just do // FontListResult.list.release() or use scoped_ptr.swap() because this value // isn't used for anything else. -void GetFontListAsync( +CONTENT_EXPORT void GetFontListAsync( const base::Callback<void(scoped_refptr<FontListResult>)>& callback); } // namespace content diff --git a/content/browser/geolocation/access_token_store.h b/content/browser/geolocation/access_token_store.h index df3ec61..e40bb92 100644 --- a/content/browser/geolocation/access_token_store.h +++ b/content/browser/geolocation/access_token_store.h @@ -20,6 +20,7 @@ #include "base/memory/ref_counted.h" #include "base/string16.h" #include "content/browser/cancelable_request.h" +#include "content/common/content_export.h" #include "googleurl/src/gurl.h" class GURL; @@ -52,8 +53,8 @@ class AccessTokenStore : public base::RefCountedThreadSafe<AccessTokenStore>, protected: friend class base::RefCountedThreadSafe<AccessTokenStore>; - AccessTokenStore(); - virtual ~AccessTokenStore(); + CONTENT_EXPORT AccessTokenStore(); + CONTENT_EXPORT virtual ~AccessTokenStore(); virtual void DoLoadAccessTokens( scoped_refptr<CancelableRequest<LoadAccessTokensCallbackType> > req) = 0; diff --git a/content/browser/geolocation/geolocation_permission_context.h b/content/browser/geolocation/geolocation_permission_context.h index ff6b7dc..ddbade7 100644 --- a/content/browser/geolocation/geolocation_permission_context.h +++ b/content/browser/geolocation/geolocation_permission_context.h @@ -8,13 +8,14 @@ #include "base/basictypes.h" #include "base/memory/ref_counted.h" +#include "content/common/content_export.h" class GURL; // GeolocationPermissionContext must be implemented by the embedder, to provide // the policy and logic for the Geolocation permissions flow. // This includes both prompting the user and persisting results, as required. -class GeolocationPermissionContext +class CONTENT_EXPORT GeolocationPermissionContext : public base::RefCountedThreadSafe<GeolocationPermissionContext> { public: // The renderer is requesting permission to use Geolocation. diff --git a/content/browser/geolocation/geolocation_provider.h b/content/browser/geolocation/geolocation_provider.h index 0f3db353..c57e692 100644 --- a/content/browser/geolocation/geolocation_provider.h +++ b/content/browser/geolocation/geolocation_provider.h @@ -10,6 +10,7 @@ #include "base/threading/thread.h" #include "content/browser/geolocation/geolocation_observer.h" +#include "content/common/content_export.h" #include "content/common/geoposition.h" #include "googleurl/src/gurl.h" @@ -41,7 +42,7 @@ class GeolocationProvider : public base::Thread, public GeolocationObserver { // via AddObserver(). Returns true if the observer was removed. bool RemoveObserver(GeolocationObserver* delegate); - void OnPermissionGranted(const GURL& requesting_frame); + CONTENT_EXPORT void OnPermissionGranted(const GURL& requesting_frame); bool HasPermissionBeenGranted() const; // GeolocationObserver @@ -50,7 +51,7 @@ class GeolocationProvider : public base::Thread, public GeolocationObserver { // Gets a pointer to the singleton instance of the location relayer, which // is in turn bound to the browser's global context objects. Ownership is NOT // returned. - static GeolocationProvider* GetInstance(); + CONTENT_EXPORT static GeolocationProvider* GetInstance(); typedef std::map<GeolocationObserver*, GeolocationObserverOptions> ObserverMap; diff --git a/content/browser/gpu/gpu_blacklist.h b/content/browser/gpu/gpu_blacklist.h index 8020163..c912c67 100644 --- a/content/browser/gpu/gpu_blacklist.h +++ b/content/browser/gpu/gpu_blacklist.h @@ -14,6 +14,7 @@ #include "base/memory/ref_counted.h" #include "base/memory/scoped_ptr.h" #include "base/values.h" +#include "content/common/content_export.h" #include "content/common/gpu/gpu_feature_flags.h" class Version; @@ -23,7 +24,7 @@ namespace base { class DictionaryValue; } -class GpuBlacklist { +class CONTENT_EXPORT GpuBlacklist { public: enum OsType { kOsLinux, diff --git a/content/browser/gpu/gpu_data_manager.h b/content/browser/gpu/gpu_data_manager.h index a5a40d0..87d6147 100644 --- a/content/browser/gpu/gpu_data_manager.h +++ b/content/browser/gpu/gpu_data_manager.h @@ -15,13 +15,14 @@ #include "base/synchronization/lock.h" #include "base/task.h" #include "base/values.h" +#include "content/common/content_export.h" #include "content/common/gpu/gpu_feature_flags.h" #include "content/common/gpu/gpu_info.h" class CommandLine; class GpuBlacklist; -class GpuDataManager { +class CONTENT_EXPORT GpuDataManager { public: // Getter for the singleton. This will return NULL on failure. static GpuDataManager* GetInstance(); diff --git a/content/browser/gpu/gpu_process_host.h b/content/browser/gpu/gpu_process_host.h index 08f583d..b337176 100644 --- a/content/browser/gpu/gpu_process_host.h +++ b/content/browser/gpu/gpu_process_host.h @@ -13,6 +13,7 @@ #include "base/memory/linked_ptr.h" #include "base/threading/non_thread_safe.h" #include "content/browser/browser_child_process_host.h" +#include "content/common/content_export.h" #include "content/common/gpu/gpu_info.h" #include "content/common/gpu/gpu_process_launch_causes.h" #include "ui/gfx/native_widget_types.h" @@ -42,9 +43,9 @@ class GpuProcessHost : public BrowserChildProcessHost, // Helper function to send the given message to the GPU process on the IO // thread. Calls GetForRenderer and if a host is returned, sends it. // Can be called from any thread. - static void SendOnIO(int renderer_id, - content::CauseForGpuLaunch cause, - IPC::Message* message); + CONTENT_EXPORT static void SendOnIO(int renderer_id, + content::CauseForGpuLaunch cause, + IPC::Message* message); // Get the GPU process host for the GPU process with the given ID. Returns // null if the process no longer exists. @@ -153,7 +154,7 @@ class GpuProcessHost : public BrowserChildProcessHost, // Master switch for enabling/disabling GPU acceleration for the current // browser session. It does not change the acceleration settings for // existing tabs, just the future ones. - static bool gpu_enabled_; + CONTENT_EXPORT static bool gpu_enabled_; DISALLOW_COPY_AND_ASSIGN(GpuProcessHost); }; diff --git a/content/browser/gpu/gpu_process_host_ui_shim.h b/content/browser/gpu/gpu_process_host_ui_shim.h index 7729fa2..40115ff 100644 --- a/content/browser/gpu/gpu_process_host_ui_shim.h +++ b/content/browser/gpu/gpu_process_host_ui_shim.h @@ -18,6 +18,7 @@ #include "base/memory/linked_ptr.h" #include "base/memory/ref_counted.h" #include "base/threading/non_thread_safe.h" +#include "content/common/content_export.h" #include "content/common/message_router.h" namespace gfx { @@ -62,7 +63,7 @@ class GpuProcessHostUIShim static void Destroy(int host_id); // Destroy all remaining GpuProcessHostUIShims. - static void DestroyAll(); + CONTENT_EXPORT static void DestroyAll(); static GpuProcessHostUIShim* FromID(int host_id); diff --git a/content/browser/host_zoom_map.h b/content/browser/host_zoom_map.h index 65b9766..0eb86c4 100644 --- a/content/browser/host_zoom_map.h +++ b/content/browser/host_zoom_map.h @@ -17,6 +17,7 @@ #include "base/memory/ref_counted.h" #include "base/synchronization/lock.h" #include "content/browser/browser_thread.h" +#include "content/common/content_export.h" #include "content/common/notification_observer.h" #include "content/common/notification_registrar.h" @@ -28,7 +29,7 @@ class GURL; // HostZoomMap needs to be deleted on the UI thread because it listens // to notifications on there (and holds a NotificationRegistrar). -class HostZoomMap +class CONTENT_EXPORT HostZoomMap : public NotificationObserver, public base::RefCountedThreadSafe<HostZoomMap, BrowserThread::DeleteOnUIThread> { @@ -80,6 +81,8 @@ class HostZoomMap HostZoomMap* GetOriginal() const { return original_; } private: + friend class base::RefCountedThreadSafe<HostZoomMap, + BrowserThread::DeleteOnUIThread>; friend struct BrowserThread::DeleteOnThread<BrowserThread::UI>; friend class DeleteTask<HostZoomMap>; diff --git a/content/browser/in_process_webkit/dom_storage_context.h b/content/browser/in_process_webkit/dom_storage_context.h index a23dc83..09b0ef6 100644 --- a/content/browser/in_process_webkit/dom_storage_context.h +++ b/content/browser/in_process_webkit/dom_storage_context.h @@ -14,6 +14,7 @@ #include "base/memory/ref_counted.h" #include "base/string16.h" #include "base/time.h" +#include "content/common/content_export.h" class DOMStorageArea; class DOMStorageMessageFilter; @@ -31,7 +32,7 @@ class SpecialStoragePolicy; // on the WebKit thread unless noted otherwise. // // NOTE: Virtual methods facilitate mocking functions for testing. -class DOMStorageContext { +class CONTENT_EXPORT DOMStorageContext { public: DOMStorageContext(WebKitContext* webkit_context, quota::SpecialStoragePolicy* special_storage_policy); diff --git a/content/browser/in_process_webkit/indexed_db_context.h b/content/browser/in_process_webkit/indexed_db_context.h index 92c614b..4094109 100644 --- a/content/browser/in_process_webkit/indexed_db_context.h +++ b/content/browser/in_process_webkit/indexed_db_context.h @@ -16,6 +16,7 @@ #include "base/memory/ref_counted.h" #include "base/memory/scoped_ptr.h" #include "content/browser/browser_thread.h" +#include "content/common/content_export.h" #include "googleurl/src/gurl.h" class GURL; @@ -35,7 +36,8 @@ class QuotaManagerProxy; class SpecialStoragePolicy; } -class IndexedDBContext : public base::RefCountedThreadSafe<IndexedDBContext> { +class CONTENT_EXPORT IndexedDBContext + : public base::RefCountedThreadSafe<IndexedDBContext> { public: IndexedDBContext(WebKitContext* webkit_context, quota::SpecialStoragePolicy* special_storage_policy, diff --git a/content/browser/in_process_webkit/indexed_db_key_utility_client.h b/content/browser/in_process_webkit/indexed_db_key_utility_client.h index c822775..d8bebc6 100644 --- a/content/browser/in_process_webkit/indexed_db_key_utility_client.h +++ b/content/browser/in_process_webkit/indexed_db_key_utility_client.h @@ -10,6 +10,7 @@ #include "base/memory/ref_counted.h" #include "base/string16.h" +#include "content/common/content_export.h" class IndexedDBKey; class SerializedScriptValue; @@ -39,7 +40,7 @@ class IndexedDBKeyUtilityClient { const string16& key_path); // Shut down the underlying implementation. Must be called on the IO thread. - static void Shutdown(); + CONTENT_EXPORT static void Shutdown(); private: friend struct base::DefaultLazyInstanceTraits<IndexedDBKeyUtilityClient>; diff --git a/content/browser/in_process_webkit/session_storage_namespace.h b/content/browser/in_process_webkit/session_storage_namespace.h index b801bc2..47e6f32 100644 --- a/content/browser/in_process_webkit/session_storage_namespace.h +++ b/content/browser/in_process_webkit/session_storage_namespace.h @@ -8,6 +8,7 @@ #include "base/basictypes.h" #include "base/memory/ref_counted.h" +#include "content/common/content_export.h" class WebKitContext; @@ -32,7 +33,7 @@ class SessionStorageNamespace SessionStorageNamespace(WebKitContext* webkit_context, int64 id); friend class base::RefCountedThreadSafe<SessionStorageNamespace>; - ~SessionStorageNamespace(); + CONTENT_EXPORT ~SessionStorageNamespace(); scoped_refptr<WebKitContext> webkit_context_; diff --git a/content/browser/in_process_webkit/webkit_context.h b/content/browser/in_process_webkit/webkit_context.h index 8d404ce..c2f21a5 100644 --- a/content/browser/in_process_webkit/webkit_context.h +++ b/content/browser/in_process_webkit/webkit_context.h @@ -14,6 +14,7 @@ #include "base/time.h" #include "content/browser/in_process_webkit/dom_storage_context.h" #include "content/browser/in_process_webkit/indexed_db_context.h" +#include "content/common/content_export.h" namespace base { class MessageLoopProxy; @@ -31,7 +32,8 @@ class SpecialStoragePolicy; // // This class is created on the UI thread and accessed on the UI, IO, and WebKit // threads. -class WebKitContext : public base::RefCountedThreadSafe<WebKitContext> { +class CONTENT_EXPORT WebKitContext + : public base::RefCountedThreadSafe<WebKitContext> { public: WebKitContext(bool is_incognito, const FilePath& data_path, quota::SpecialStoragePolicy* special_storage_policy, diff --git a/content/browser/javascript_dialogs.h b/content/browser/javascript_dialogs.h index cc17a71..997c599 100644 --- a/content/browser/javascript_dialogs.h +++ b/content/browser/javascript_dialogs.h @@ -7,6 +7,7 @@ #pragma once #include "base/string16.h" +#include "content/common/content_export.h" #include "ui/gfx/native_widget_types.h" class GURL; @@ -18,7 +19,7 @@ class Message; namespace content { -class DialogDelegate { +class CONTENT_EXPORT DialogDelegate { public: // Returns the root native window with which to associate the dialog. virtual gfx::NativeWindow GetDialogRootWindow() = 0; @@ -32,7 +33,7 @@ class DialogDelegate { // A class that invokes a JavaScript dialog must implement this interface to // allow the dialog implementation to get needed information and return results. -class JavaScriptDialogDelegate : public DialogDelegate { +class CONTENT_EXPORT JavaScriptDialogDelegate : public DialogDelegate { public: // This callback is invoked when the dialog is closed. virtual void OnDialogClosed(IPC::Message* reply_msg, diff --git a/content/browser/net/browser_online_state_observer.h b/content/browser/net/browser_online_state_observer.h index 1e5e71a..9a5b62b 100644 --- a/content/browser/net/browser_online_state_observer.h +++ b/content/browser/net/browser_online_state_observer.h @@ -7,11 +7,12 @@ #pragma once #include "base/basictypes.h" +#include "content/common/content_export.h" #include "net/base/network_change_notifier.h" // Listens for changes to the online state and manages sending // updates to each RenderProcess via RenderProcessHost IPC. -class BrowserOnlineStateObserver +class CONTENT_EXPORT BrowserOnlineStateObserver : public net::NetworkChangeNotifier::OnlineStateObserver { public: BrowserOnlineStateObserver(); diff --git a/content/browser/net/url_request_failed_dns_job.h b/content/browser/net/url_request_failed_dns_job.h index 55d1bac..852371f 100644 --- a/content/browser/net/url_request_failed_dns_job.h +++ b/content/browser/net/url_request_failed_dns_job.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // This class simulates what wininet does when a dns lookup fails. @@ -8,6 +8,7 @@ #pragma once #include "base/task.h" +#include "content/common/content_export.h" #include "net/url_request/url_request_job.h" class URLRequestFailedDnsJob : public net::URLRequestJob { @@ -23,7 +24,7 @@ class URLRequestFailedDnsJob : public net::URLRequestJob { static const char kTestUrl[]; // Adds the testing URLs to the net::URLRequestFilter. - static void AddUrlHandler(); + CONTENT_EXPORT static void AddUrlHandler(); private: virtual ~URLRequestFailedDnsJob(); diff --git a/content/browser/net/url_request_mock_http_job.h b/content/browser/net/url_request_mock_http_job.h index 8c6b5fb..e2c68f8 100644 --- a/content/browser/net/url_request_mock_http_job.h +++ b/content/browser/net/url_request_mock_http_job.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // @@ -10,11 +10,12 @@ #include <string> +#include "content/common/content_export.h" #include "net/url_request/url_request_file_job.h" class FilePath; -class URLRequestMockHTTPJob : public net::URLRequestFileJob { +class CONTENT_EXPORT URLRequestMockHTTPJob : public net::URLRequestFileJob { public: URLRequestMockHTTPJob(net::URLRequest* request, const FilePath& file_path); diff --git a/content/browser/net/url_request_slow_download_job.h b/content/browser/net/url_request_slow_download_job.h index cef2adc..9cbde81 100644 --- a/content/browser/net/url_request_slow_download_job.h +++ b/content/browser/net/url_request_slow_download_job.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // This class simulates a slow download. This used in a UI test to test the @@ -13,6 +13,7 @@ #include <vector> #include "base/task.h" +#include "content/common/content_export.h" #include "net/url_request/url_request_job.h" class URLRequestSlowDownloadJob : public net::URLRequestJob { @@ -38,7 +39,7 @@ class URLRequestSlowDownloadJob : public net::URLRequestJob { static const char kFinishDownloadUrl[]; // Adds the testing URLs to the net::URLRequestFilter. - static void AddUrlHandler(); + CONTENT_EXPORT static void AddUrlHandler(); private: virtual ~URLRequestSlowDownloadJob(); diff --git a/content/browser/net/url_request_slow_http_job.h b/content/browser/net/url_request_slow_http_job.h index cc0458b..06d7ce6 100644 --- a/content/browser/net/url_request_slow_http_job.h +++ b/content/browser/net/url_request_slow_http_job.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // @@ -10,6 +10,7 @@ #include "base/timer.h" #include "content/browser/net/url_request_mock_http_job.h" +#include "content/common/content_export.h" class URLRequestSlowHTTPJob : public URLRequestMockHTTPJob { public: @@ -20,7 +21,7 @@ class URLRequestSlowHTTPJob : public URLRequestMockHTTPJob { static net::URLRequest::ProtocolFactory Factory; // Adds the testing URLs to the net::URLRequestFilter. - static void AddUrlHandler(const FilePath& base_path); + CONTENT_EXPORT static void AddUrlHandler(const FilePath& base_path); // Given the path to a file relative to base_path_, construct a mock URL. static GURL GetMockUrl(const FilePath& path); diff --git a/content/browser/plugin_service.h b/content/browser/plugin_service.h index c75f467..23ef03b 100644 --- a/content/browser/plugin_service.h +++ b/content/browser/plugin_service.h @@ -20,6 +20,7 @@ #include "content/browser/plugin_process_host.h" #include "content/browser/ppapi_plugin_process_host.h" #include "content/browser/ppapi_broker_process_host.h" +#include "content/common/content_export.h" #include "content/common/notification_observer.h" #include "content/common/notification_registrar.h" #include "googleurl/src/gurl.h" @@ -45,7 +46,7 @@ class PluginServiceFilter; // This must be created on the main thread but it's only called on the IO/file // thread. -class PluginService +class CONTENT_EXPORT PluginService : public base::WaitableEventWatcher::Delegate, public NotificationObserver { public: diff --git a/content/browser/renderer_host/backing_store_manager.h b/content/browser/renderer_host/backing_store_manager.h index 26dcd1c..0ea14b8 100644 --- a/content/browser/renderer_host/backing_store_manager.h +++ b/content/browser/renderer_host/backing_store_manager.h @@ -10,6 +10,7 @@ #include "base/basictypes.h" #include "base/process.h" +#include "content/common/content_export.h" #include "ui/gfx/rect.h" #include "ui/gfx/size.h" #include "ui/gfx/surface/transport_dib.h" @@ -59,7 +60,7 @@ class BackingStoreManager { static void RemoveBackingStore(RenderWidgetHost* host); // Removes all backing stores. - static void RemoveAllBackingStores(); + CONTENT_EXPORT static void RemoveAllBackingStores(); // Expires the given backing store. This emulates something getting evicted // from the cache for the purpose of testing. Returns true if the host was @@ -67,7 +68,7 @@ class BackingStoreManager { static bool ExpireBackingStoreForTest(RenderWidgetHost* host); // Current size in bytes of the backing store cache. - static size_t MemorySize(); + CONTENT_EXPORT static size_t MemorySize(); private: // Not intended for instantiation. diff --git a/content/browser/renderer_host/backing_store_skia.h b/content/browser/renderer_host/backing_store_skia.h index 57ff118a..c1d5169 100644 --- a/content/browser/renderer_host/backing_store_skia.h +++ b/content/browser/renderer_host/backing_store_skia.h @@ -8,6 +8,7 @@ #include "base/memory/scoped_ptr.h" #include "content/browser/renderer_host/backing_store.h" +#include "content/common/content_export.h" #include "third_party/skia/include/core/SkBitmap.h" class SkCanvas; @@ -22,10 +23,14 @@ class Canvas; // RWHVV, and then this backing store will be removed. class BackingStoreSkia : public BackingStore { public: - BackingStoreSkia(RenderWidgetHost* widget, const gfx::Size& size); + CONTENT_EXPORT BackingStoreSkia( + RenderWidgetHost* widget, + const gfx::Size& size); + virtual ~BackingStoreSkia(); - void SkiaShowRect(const gfx::Point& point, gfx::Canvas* canvas); + CONTENT_EXPORT void SkiaShowRect(const gfx::Point& point, + gfx::Canvas* canvas); // BackingStore implementation. virtual size_t MemorySize(); diff --git a/content/browser/renderer_host/render_process_host.h b/content/browser/renderer_host/render_process_host.h index 2262024..2164634 100644 --- a/content/browser/renderer_host/render_process_host.h +++ b/content/browser/renderer_host/render_process_host.h @@ -13,6 +13,7 @@ #include "base/process.h" #include "base/process_util.h" #include "base/time.h" +#include "content/common/content_export.h" #include "ipc/ipc_channel_proxy.h" #include "ui/gfx/native_widget_types.h" #include "ui/gfx/surface/transport_dib.h" @@ -38,8 +39,8 @@ class URLRequestContextGetter; // The concrete implementation of this class for normal use is the // BrowserRenderProcessHost. It may also be implemented by a testing interface // for mocking purposes. -class RenderProcessHost : public IPC::Channel::Sender, - public IPC::Channel::Listener { +class CONTENT_EXPORT RenderProcessHost : public IPC::Channel::Sender, + public IPC::Channel::Listener { public: typedef IDMap<RenderProcessHost>::iterator iterator; diff --git a/content/browser/renderer_host/render_view_host.h b/content/browser/renderer_host/render_view_host.h index 1771256..ef02a82 100644 --- a/content/browser/renderer_host/render_view_host.h +++ b/content/browser/renderer_host/render_view_host.h @@ -14,6 +14,7 @@ #include "base/observer_list.h" #include "base/process_util.h" #include "content/browser/renderer_host/render_widget_host.h" +#include "content/common/content_export.h" #include "content/common/window_container_type.h" #include "net/base/load_states.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebConsoleMessage.h" @@ -94,7 +95,7 @@ class URLRequestContextGetter; // if we want to bring that and other functionality down into this object so // it can be shared by others. // -class RenderViewHost : public RenderWidgetHost { +class CONTENT_EXPORT RenderViewHost : public RenderWidgetHost { public: // Returns the RenderViewHost given its ID and the ID of its render process. // Returns NULL if the IDs do not correspond to a live RenderViewHost. diff --git a/content/browser/renderer_host/render_view_host_delegate.h b/content/browser/renderer_host/render_view_host_delegate.h index e46a5dc..428a5bf 100644 --- a/content/browser/renderer_host/render_view_host_delegate.h +++ b/content/browser/renderer_host/render_view_host_delegate.h @@ -15,6 +15,7 @@ #include "base/process_util.h" #include "base/string16.h" #include "base/values.h" +#include "content/common/content_export.h" #include "content/common/view_types.h" #include "content/common/window_container_type.h" #include "ipc/ipc_channel.h" @@ -64,11 +65,11 @@ class Size; // exposing a more generic Send function on RenderViewHost and a response // listener here to serve that need. // -class RenderViewHostDelegate : public IPC::Channel::Listener { +class CONTENT_EXPORT RenderViewHostDelegate : public IPC::Channel::Listener { public: // View ---------------------------------------------------------------------- // Functions that can be routed directly to a view-specific class. - class View { + class CONTENT_EXPORT View { public: // The page is trying to open a new page (e.g. a popup window). The window // should be created associated with the given route, but it should not be diff --git a/content/browser/renderer_host/render_view_host_factory.h b/content/browser/renderer_host/render_view_host_factory.h index 5d0f58d..267dcf2 100644 --- a/content/browser/renderer_host/render_view_host_factory.h +++ b/content/browser/renderer_host/render_view_host_factory.h @@ -1,4 +1,4 @@ -// Copyright (c) 2009 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -7,6 +7,7 @@ #pragma once #include "base/basictypes.h" +#include "content/common/content_export.h" class RenderViewHost; class RenderViewHostDelegate; @@ -59,7 +60,7 @@ class RenderViewHostFactory { private: // The current globally registered factory. This is NULL when we should // create the default RenderViewHosts. - static RenderViewHostFactory* factory_; + CONTENT_EXPORT static RenderViewHostFactory* factory_; DISALLOW_COPY_AND_ASSIGN(RenderViewHostFactory); }; diff --git a/content/browser/renderer_host/render_view_host_observer.h b/content/browser/renderer_host/render_view_host_observer.h index 2c3b7492..21e0c70 100644 --- a/content/browser/renderer_host/render_view_host_observer.h +++ b/content/browser/renderer_host/render_view_host_observer.h @@ -6,14 +6,15 @@ #define CONTENT_BROWSER_RENDERER_HOST_RENDER_VIEW_HOST_OBSERVER_H_ #include "ipc/ipc_channel.h" +#include "content/common/content_export.h" class RenderViewHost; struct ViewMsg_Navigate_Params; // An observer API implemented by classes which want to filter IPC messages from // RenderViewHost. -class RenderViewHostObserver : public IPC::Channel::Listener, - public IPC::Message::Sender { +class CONTENT_EXPORT RenderViewHostObserver : public IPC::Channel::Listener, + public IPC::Message::Sender { public: protected: diff --git a/content/browser/renderer_host/render_widget_fullscreen_host.h b/content/browser/renderer_host/render_widget_fullscreen_host.h index fce2200..63b7070 100644 --- a/content/browser/renderer_host/render_widget_fullscreen_host.h +++ b/content/browser/renderer_host/render_widget_fullscreen_host.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -6,8 +6,9 @@ #define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_FULLSCREEN_HOST_H_ #include "content/browser/renderer_host/render_widget_host.h" +#include "content/common/content_export.h" -class RenderWidgetFullscreenHost : public RenderWidgetHost { +class CONTENT_EXPORT RenderWidgetFullscreenHost : public RenderWidgetHost { public: RenderWidgetFullscreenHost(RenderProcessHost* process, int routing_id); }; diff --git a/content/browser/renderer_host/render_widget_host.h b/content/browser/renderer_host/render_widget_host.h index 776bbc6..16cfd97 100644 --- a/content/browser/renderer_host/render_widget_host.h +++ b/content/browser/renderer_host/render_widget_host.h @@ -15,6 +15,7 @@ #include "base/process_util.h" #include "base/string16.h" #include "base/timer.h" +#include "content/common/content_export.h" #include "content/common/native_web_keyboard_event.h" #include "content/common/property_bag.h" #include "ipc/ipc_channel.h" @@ -123,8 +124,8 @@ struct ViewHostMsg_UpdateRect_Params; // anything else. When the view is live, these messages are forwarded to it by // the RenderWidgetHost's IPC message map. // -class RenderWidgetHost : public IPC::Channel::Listener, - public IPC::Channel::Sender { +class CONTENT_EXPORT RenderWidgetHost : public IPC::Channel::Listener, + public IPC::Channel::Sender { public: // Used as the details object for a // RENDER_WIDGET_HOST_DID_RECEIVE_PAINT_AT_SIZE_ACK notification. diff --git a/content/browser/renderer_host/render_widget_host_view.h b/content/browser/renderer_host/render_widget_host_view.h index 3a85148..08b500f 100644 --- a/content/browser/renderer_host/render_widget_host_view.h +++ b/content/browser/renderer_host/render_widget_host_view.h @@ -14,6 +14,7 @@ #include <vector> #include "base/process_util.h" +#include "content/common/content_export.h" #include "third_party/skia/include/core/SkBitmap.h" #include "third_party/skia/include/core/SkColor.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebInputEvent.h" @@ -64,7 +65,7 @@ struct WebScreenInfo; // changes. class RenderWidgetHostView { public: - virtual ~RenderWidgetHostView(); + CONTENT_EXPORT virtual ~RenderWidgetHostView(); // Platform-specific creator. Use this to construct new RenderWidgetHostViews // rather than using RenderWidgetHostViewWin & friends. @@ -315,7 +316,7 @@ class RenderWidgetHostView { // Subclasses should override this method to do what is appropriate to set // the custom background for their platform. - virtual void SetBackground(const SkBitmap& background); + CONTENT_EXPORT virtual void SetBackground(const SkBitmap& background); const SkBitmap& background() const { return background_; } virtual void OnAccessibilityNotifications( diff --git a/content/browser/renderer_host/render_widget_host_view_win.h b/content/browser/renderer_host/render_widget_host_view_win.h index 0f68b42..a1656a6 100644 --- a/content/browser/renderer_host/render_widget_host_view_win.h +++ b/content/browser/renderer_host/render_widget_host_view_win.h @@ -13,12 +13,14 @@ #include <vector> +#include "base/compiler_specific.h" #include "base/memory/scoped_ptr.h" #include "base/memory/scoped_vector.h" #include "base/task.h" #include "base/win/scoped_comptr.h" #include "content/browser/accessibility/browser_accessibility_manager.h" #include "content/browser/renderer_host/render_widget_host_view.h" +#include "content/common/content_export.h" #include "content/common/notification_observer.h" #include "content/common/notification_registrar.h" #include "ui/base/win/ime_input.h" @@ -44,7 +46,7 @@ class ViewProp; typedef CWinTraits<WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS, 0> RenderWidgetHostHWNDTraits; -extern const wchar_t kRenderWidgetHostHWNDClass[]; +CONTENT_EXPORT extern const wchar_t kRenderWidgetHostHWNDClass[]; /////////////////////////////////////////////////////////////////////////////// // RenderWidgetHostViewWin @@ -70,14 +72,14 @@ class RenderWidgetHostViewWin public BrowserAccessibilityDelegate { public: // The view will associate itself with the given widget. - explicit RenderWidgetHostViewWin(RenderWidgetHost* widget); + CONTENT_EXPORT explicit RenderWidgetHostViewWin(RenderWidgetHost* widget); virtual ~RenderWidgetHostViewWin(); - void CreateWnd(HWND parent); + CONTENT_EXPORT void CreateWnd(HWND parent); void ScheduleComposite(); - IAccessible* GetIAccessible(); + CONTENT_EXPORT IAccessible* GetIAccessible(); DECLARE_WND_CLASS_EX(kRenderWidgetHostHWNDClass, CS_DBLCLKS, 0); diff --git a/content/browser/renderer_host/resource_dispatcher_host.h b/content/browser/renderer_host/resource_dispatcher_host.h index 731657f..2bbde89 100644 --- a/content/browser/renderer_host/resource_dispatcher_host.h +++ b/content/browser/renderer_host/resource_dispatcher_host.h @@ -24,6 +24,7 @@ #include "base/timer.h" #include "content/browser/renderer_host/resource_queue.h" #include "content/common/child_process_info.h" +#include "content/common/content_export.h" #include "content/common/content_notification_types.h" #include "ipc/ipc_message.h" #include "net/url_request/url_request.h" @@ -59,7 +60,7 @@ namespace webkit_blob { class DeletableFileReference; } -class ResourceDispatcherHost : public net::URLRequest::Delegate { +class CONTENT_EXPORT ResourceDispatcherHost : public net::URLRequest::Delegate { public: explicit ResourceDispatcherHost( const ResourceQueue::DelegateSet& resource_queue_delegates); diff --git a/content/browser/renderer_host/resource_dispatcher_host_login_delegate.h b/content/browser/renderer_host/resource_dispatcher_host_login_delegate.h index e0e63c3..ba60db3 100644 --- a/content/browser/renderer_host/resource_dispatcher_host_login_delegate.h +++ b/content/browser/renderer_host/resource_dispatcher_host_login_delegate.h @@ -8,11 +8,12 @@ #include "base/basictypes.h" #include "base/memory/ref_counted.h" +#include "content/common/content_export.h" // Interface for getting login credentials for HTTP auth requests. When the // implementation has the credentials, it shoudl call the Requests's SetAuth // method. -class ResourceDispatcherHostLoginDelegate +class CONTENT_EXPORT ResourceDispatcherHostLoginDelegate : public base::RefCountedThreadSafe<ResourceDispatcherHostLoginDelegate> { public: ResourceDispatcherHostLoginDelegate(); diff --git a/content/browser/renderer_host/resource_dispatcher_host_request_info.h b/content/browser/renderer_host/resource_dispatcher_host_request_info.h index 0867c6c..5a0e0a2 100644 --- a/content/browser/renderer_host/resource_dispatcher_host_request_info.h +++ b/content/browser/renderer_host/resource_dispatcher_host_request_info.h @@ -11,6 +11,7 @@ #include "base/basictypes.h" #include "base/time.h" #include "content/common/child_process_info.h" +#include "content/common/content_export.h" #include "content/common/page_transition_types.h" #include "net/base/load_states.h" #include "net/url_request/url_request.h" @@ -71,7 +72,8 @@ class ResourceDispatcherHostRequestInfo : public net::URLRequest::UserData { ResourceDispatcherHostLoginDelegate* login_delegate() const { return login_delegate_.get(); } - void set_login_delegate(ResourceDispatcherHostLoginDelegate* ld); + CONTENT_EXPORT void set_login_delegate( + ResourceDispatcherHostLoginDelegate* ld); // Pointer to the SSL auth, or NULL if there is none for this request. SSLClientAuthHandler* ssl_client_auth_handler() const { diff --git a/content/browser/renderer_host/resource_queue.h b/content/browser/renderer_host/resource_queue.h index 835b367..9ad148df 100644 --- a/content/browser/renderer_host/resource_queue.h +++ b/content/browser/renderer_host/resource_queue.h @@ -1,4 +1,4 @@ -// Copyright (c) 2009 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -10,6 +10,7 @@ #include <set> #include "base/basictypes.h" +#include "content/common/content_export.h" namespace net { class URLRequest; @@ -39,7 +40,7 @@ class ResourceQueueDelegate { virtual void WillShutdownResourceQueue() = 0; protected: - virtual ~ResourceQueueDelegate(); + CONTENT_EXPORT virtual ~ResourceQueueDelegate(); }; // Makes it easy to delay starting URL requests until specified conditions are @@ -76,8 +77,8 @@ class ResourceQueue { // A delegate should call StartDelayedRequest when it wants to allow the // request to start. If it was the last delegate that demanded the request // to be delayed, the request will be started. - void StartDelayedRequest(ResourceQueueDelegate* delegate, - const GlobalRequestID& request_id); + CONTENT_EXPORT void StartDelayedRequest(ResourceQueueDelegate* delegate, + const GlobalRequestID& request_id); private: typedef std::map<GlobalRequestID, net::URLRequest*> RequestMap; diff --git a/content/browser/resource_context.h b/content/browser/resource_context.h index f2ac4c5..f53de50 100644 --- a/content/browser/resource_context.h +++ b/content/browser/resource_context.h @@ -10,6 +10,7 @@ #include "base/basictypes.h" #include "base/callback.h" #include "base/memory/ref_counted.h" +#include "content/common/content_export.h" class ChromeAppCacheService; class ChromeBlobStorageContext; @@ -39,7 +40,7 @@ namespace content { // resource loading. It lives on the IO thread, although it is constructed on // the UI thread. ResourceContext doesn't own anything it points to, it just // holds pointers to relevant objects to resource loading. -class ResourceContext { +class CONTENT_EXPORT ResourceContext { public: virtual ~ResourceContext(); diff --git a/content/browser/site_instance.h b/content/browser/site_instance.h index 84a0bdc..6ff2588 100644 --- a/content/browser/site_instance.h +++ b/content/browser/site_instance.h @@ -7,6 +7,7 @@ #pragma once #include "content/browser/renderer_host/render_process_host.h" +#include "content/common/content_export.h" #include "content/common/notification_observer.h" #include "content/common/notification_registrar.h" #include "googleurl/src/gurl.h" @@ -51,8 +52,8 @@ class BrowserContext; // tabs with no NavigationEntries or in NavigationEntries in the history. // /////////////////////////////////////////////////////////////////////////////// -class SiteInstance : public base::RefCounted<SiteInstance>, - public NotificationObserver { +class CONTENT_EXPORT SiteInstance : public base::RefCounted<SiteInstance>, + public NotificationObserver { public: // Returns a unique ID for this SiteInstance. int32 id() { return id_; } diff --git a/content/browser/speech/speech_input_manager.h b/content/browser/speech/speech_input_manager.h index dbfcf1f..a68e790 100644 --- a/content/browser/speech/speech_input_manager.h +++ b/content/browser/speech/speech_input_manager.h @@ -6,6 +6,7 @@ #define CONTENT_BROWSER_SPEECH_SPEECH_INPUT_MANAGER_H_ #include "base/basictypes.h" +#include "content/common/content_export.h" #include "content/common/speech_input_result.h" #include "ui/gfx/rect.h" @@ -30,13 +31,13 @@ class SpeechInputManager { virtual ~Delegate() {} }; - SpeechInputManager(); + CONTENT_EXPORT SpeechInputManager(); // Invokes the platform provided microphone settings UI in a non-blocking way, // via the BrowserThread::FILE thread. static void ShowAudioInputSettings(); - virtual ~SpeechInputManager(); + CONTENT_EXPORT virtual ~SpeechInputManager(); // Handlers for requests from render views. diff --git a/content/browser/speech/speech_recognizer.h b/content/browser/speech/speech_recognizer.h index 264194d..f109e92 100644 --- a/content/browser/speech/speech_recognizer.h +++ b/content/browser/speech/speech_recognizer.h @@ -14,6 +14,7 @@ #include "content/browser/speech/audio_encoder.h" #include "content/browser/speech/endpointer/endpointer.h" #include "content/browser/speech/speech_recognition_request.h" +#include "content/common/content_export.h" #include "media/audio/audio_input_controller.h" namespace speech_input { @@ -78,27 +79,27 @@ class SpeechRecognizer virtual ~Delegate() {} }; - SpeechRecognizer(Delegate* delegate, - int caller_id, - const std::string& language, - const std::string& grammar, - bool censor_results, - const std::string& hardware_info, - const std::string& origin_url); + CONTENT_EXPORT SpeechRecognizer(Delegate* delegate, + int caller_id, + const std::string& language, + const std::string& grammar, + bool censor_results, + const std::string& hardware_info, + const std::string& origin_url); virtual ~SpeechRecognizer(); // Starts audio recording and does recognition after recording ends. The same // SpeechRecognizer instance can be used multiple times for speech recognition // though each recognition request can be made only after the previous one // completes (i.e. after receiving Delegate::DidCompleteRecognition). - bool StartRecording(); + CONTENT_EXPORT bool StartRecording(); // Stops recording audio and starts recognition. - void StopRecording(); + CONTENT_EXPORT void StopRecording(); // Stops recording audio and cancels recognition. Any audio recorded so far // gets discarded. - void CancelRecognition(); + CONTENT_EXPORT void CancelRecognition(); // AudioInputController::EventHandler methods. virtual void OnCreated(media::AudioInputController* controller) { } diff --git a/content/browser/ssl/ssl_client_auth_handler.h b/content/browser/ssl/ssl_client_auth_handler.h index 4657c84..9905a68 100644 --- a/content/browser/ssl/ssl_client_auth_handler.h +++ b/content/browser/ssl/ssl_client_auth_handler.h @@ -9,6 +9,7 @@ #include "base/basictypes.h" #include "base/memory/ref_counted.h" #include "content/browser/browser_thread.h" +#include "content/common/content_export.h" #include "content/common/notification_observer.h" #include "content/common/notification_registrar.h" #include "net/base/ssl_cert_request_info.h" @@ -22,7 +23,7 @@ class X509Certificate; // authentication by the user. // It is self-owned and deletes itself when the UI reports the user selection or // when the net::URLRequest is cancelled. -class SSLClientAuthHandler +class CONTENT_EXPORT SSLClientAuthHandler : public base::RefCountedThreadSafe<SSLClientAuthHandler, BrowserThread::DeleteOnIOThread> { public: @@ -54,6 +55,8 @@ class SSLClientAuthHandler virtual ~SSLClientAuthHandler(); private: + friend class base::RefCountedThreadSafe<SSLClientAuthHandler, + BrowserThread::DeleteOnIOThread>; friend class BrowserThread; friend class DeleteTask<SSLClientAuthHandler>; @@ -74,7 +77,7 @@ class SSLClientAuthHandler DISALLOW_COPY_AND_ASSIGN(SSLClientAuthHandler); }; -class SSLClientAuthObserver : public NotificationObserver { +class CONTENT_EXPORT SSLClientAuthObserver : public NotificationObserver { public: SSLClientAuthObserver(net::SSLCertRequestInfo* cert_request_info, SSLClientAuthHandler* handler); diff --git a/content/browser/ssl/ssl_error_handler.h b/content/browser/ssl/ssl_error_handler.h index b0084d3..d5a360a 100644 --- a/content/browser/ssl/ssl_error_handler.h +++ b/content/browser/ssl/ssl_error_handler.h @@ -12,6 +12,7 @@ #include "base/memory/ref_counted.h" #include "content/browser/renderer_host/global_request_id.h" #include "content/browser/ssl/ssl_manager.h" +#include "content/common/content_export.h" #include "googleurl/src/gurl.h" #include "webkit/glue/resource_type.h" @@ -55,7 +56,7 @@ class SSLErrorHandler : public base::RefCountedThreadSafe<SSLErrorHandler> { // Cancels the associated net::URLRequest. // This method can be called from OnDispatchFailed and OnDispatched. - void CancelRequest(); + CONTENT_EXPORT void CancelRequest(); // Continue the net::URLRequest ignoring any previous errors. Note that some // errors cannot be ignored, in which case this will result in the request diff --git a/content/browser/ssl/ssl_host_state.h b/content/browser/ssl/ssl_host_state.h index 943f44e..7bceaa7 100644 --- a/content/browser/ssl/ssl_host_state.h +++ b/content/browser/ssl/ssl_host_state.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -10,8 +10,10 @@ #include <map> #include <set> +#include "base/compiler_specific.h" #include "base/basictypes.h" #include "base/threading/non_thread_safe.h" +#include "content/common/content_export.h" #include "googleurl/src/gurl.h" #include "net/base/x509_certificate.h" @@ -23,7 +25,8 @@ // from the SSLManager because this state is shared across many navigation // controllers. -class SSLHostState : public base::NonThreadSafe { +class CONTENT_EXPORT SSLHostState + : NON_EXPORTED_BASE(public base::NonThreadSafe) { public: SSLHostState(); ~SSLHostState(); diff --git a/content/browser/ssl/ssl_manager.h b/content/browser/ssl/ssl_manager.h index 07e3a57..1e59e7b 100644 --- a/content/browser/ssl/ssl_manager.h +++ b/content/browser/ssl/ssl_manager.h @@ -11,6 +11,7 @@ #include "base/basictypes.h" #include "base/memory/scoped_ptr.h" #include "content/browser/ssl/ssl_policy_backend.h" +#include "content/common/content_export.h" #include "content/common/notification_observer.h" #include "content/common/notification_registrar.h" #include "googleurl/src/gurl.h" @@ -59,11 +60,11 @@ class SSLManager : public NotificationObserver { int cert_status, int security_bits, int connection_status); - static bool DeserializeSecurityInfo(const std::string& state, - int* cert_id, - int* cert_status, - int* security_bits, - int* connection_status); + CONTENT_EXPORT static bool DeserializeSecurityInfo(const std::string& state, + int* cert_id, + int* cert_status, + int* security_bits, + int* connection_status); // Construct an SSLManager for the specified tab. // If |delegate| is NULL, SSLPolicy::GetDefaultPolicy() is used. @@ -86,7 +87,7 @@ class SSLManager : public NotificationObserver { void DidRunInsecureContent(const std::string& security_origin); // Called to determine if there were any processed SSL errors from request. - bool ProcessedSSLErrorFromRequest() const; + CONTENT_EXPORT bool ProcessedSSLErrorFromRequest() const; // Entry point for navigation. This function begins the process of updating // the security UI when the main frame navigates to a new URL. diff --git a/content/browser/tab_contents/interstitial_page.h b/content/browser/tab_contents/interstitial_page.h index 8be72fd..d3b4c70 100644 --- a/content/browser/tab_contents/interstitial_page.h +++ b/content/browser/tab_contents/interstitial_page.h @@ -12,6 +12,7 @@ #include "base/memory/scoped_ptr.h" #include "base/process_util.h" #include "content/browser/renderer_host/render_view_host_delegate.h" +#include "content/common/content_export.h" #include "content/common/notification_observer.h" #include "content/common/notification_registrar.h" #include "content/common/renderer_preferences.h" @@ -40,8 +41,8 @@ enum ResourceRequestAction { CANCEL }; -class InterstitialPage : public NotificationObserver, - public RenderViewHostDelegate { +class CONTENT_EXPORT InterstitialPage : public NotificationObserver, + public RenderViewHostDelegate { public: // The different state of actions the user can take in an interstitial. enum ActionState { diff --git a/content/browser/tab_contents/navigation_controller.h b/content/browser/tab_contents/navigation_controller.h index 62aa198..d63a1ed 100644 --- a/content/browser/tab_contents/navigation_controller.h +++ b/content/browser/tab_contents/navigation_controller.h @@ -15,6 +15,7 @@ #include "base/time.h" #include "googleurl/src/gurl.h" #include "content/browser/ssl/ssl_manager.h" +#include "content/common/content_export.h" #include "content/common/navigation_types.h" #include "content/common/page_transition_types.h" @@ -34,7 +35,7 @@ struct LoadCommittedDetails; // // The NavigationController also owns all TabContents for the tab. This is to // make sure that we have at most one TabContents instance per type. -class NavigationController { +class CONTENT_EXPORT NavigationController { public: enum ReloadType { diff --git a/content/browser/tab_contents/navigation_details.h b/content/browser/tab_contents/navigation_details.h index ba121ae..7ed97ae 100644 --- a/content/browser/tab_contents/navigation_details.h +++ b/content/browser/tab_contents/navigation_details.h @@ -8,6 +8,7 @@ #include <string> #include "content/common/navigation_types.h" +#include "content/common/content_export.h" #include "googleurl/src/gurl.h" class NavigationEntry; @@ -18,7 +19,7 @@ namespace content { // Provides the details for a NOTIFY_NAV_ENTRY_COMMITTED notification. // TODO(brettw) this mostly duplicates ProvisionalLoadDetails, it would be // nice to unify these somehow. -struct LoadCommittedDetails { +struct CONTENT_EXPORT LoadCommittedDetails { // By default, the entry will be filled according to a new main frame // navigation. LoadCommittedDetails(); diff --git a/content/browser/tab_contents/navigation_entry.h b/content/browser/tab_contents/navigation_entry.h index c86e75d..2ed55b8 100644 --- a/content/browser/tab_contents/navigation_entry.h +++ b/content/browser/tab_contents/navigation_entry.h @@ -10,6 +10,7 @@ #include "base/basictypes.h" #include "base/memory/ref_counted.h" +#include "content/common/content_export.h" #include "content/common/page_transition_types.h" #include "content/common/page_type.h" #include "content/common/security_style.h" @@ -28,7 +29,7 @@ class SiteInstance; // URL which is used for our user interface. // //////////////////////////////////////////////////////////////////////////////// -class NavigationEntry { +class CONTENT_EXPORT NavigationEntry { public: // SSL ----------------------------------------------------------------------- @@ -50,7 +51,7 @@ class NavigationEntry { RAN_INSECURE_CONTENT = 1 << 1, }; - SSLStatus(); + CONTENT_EXPORT SSLStatus(); bool Equals(const SSLStatus& status) const { return security_style_ == status.security_style_ && diff --git a/content/browser/tab_contents/page_navigator.h b/content/browser/tab_contents/page_navigator.h index 64ac29d..a1bccd8 100644 --- a/content/browser/tab_contents/page_navigator.h +++ b/content/browser/tab_contents/page_navigator.h @@ -12,13 +12,14 @@ #include <string> +#include "content/common/content_export.h" #include "content/common/page_transition_types.h" #include "googleurl/src/gurl.h" #include "webkit/glue/window_open_disposition.h" class TabContents; -struct OpenURLParams { +struct CONTENT_EXPORT OpenURLParams { OpenURLParams(const GURL& url, const GURL& referrer, WindowOpenDisposition disposition, @@ -43,7 +44,7 @@ class TabContents; OpenURLParams(); }; -class PageNavigator { +class CONTENT_EXPORT PageNavigator { public: // Deprecated. Please use the one-argument variant instead. // TODO(adriansc): Remove this method when refactoring changed all call sites. diff --git a/content/browser/tab_contents/render_view_host_manager.h b/content/browser/tab_contents/render_view_host_manager.h index d074546..1fe6a4f 100644 --- a/content/browser/tab_contents/render_view_host_manager.h +++ b/content/browser/tab_contents/render_view_host_manager.h @@ -10,6 +10,7 @@ #include "base/logging.h" #include "base/memory/scoped_ptr.h" #include "content/browser/renderer_host/render_view_host_delegate.h" +#include "content/common/content_export.h" #include "content/common/notification_observer.h" #include "content/common/notification_registrar.h" #include "content/browser/site_instance.h" @@ -41,7 +42,7 @@ class RenderViewHostManager // There is additional complexity that some of the functions we need in // TabContents are inherited and non-virtual. These are named with // "RenderManager" so that the duplicate implementation of them will be clear. - class Delegate { + class CONTENT_EXPORT Delegate { public: // See tab_contents.h's implementation for more. virtual bool CreateRenderViewForRenderManager( diff --git a/content/browser/tab_contents/tab_contents.h b/content/browser/tab_contents/tab_contents.h index 8b8e4ed..1146cd8 100644 --- a/content/browser/tab_contents/tab_contents.h +++ b/content/browser/tab_contents/tab_contents.h @@ -25,6 +25,7 @@ #include "content/browser/tab_contents/render_view_host_manager.h" #include "content/browser/tab_contents/tab_contents_observer.h" #include "content/browser/webui/web_ui.h" +#include "content/common/content_export.h" #include "content/common/property_bag.h" #include "content/common/renderer_preferences.h" #include "net/base/load_states.h" @@ -58,10 +59,10 @@ struct ViewHostMsg_RunFileChooser_Params; // Describes what goes in the main content area of a tab. TabContents is // the only type of TabContents, and these should be merged together. -class TabContents : public PageNavigator, - public RenderViewHostDelegate, - public RenderViewHostManager::Delegate, - public content::JavaScriptDialogDelegate { +class CONTENT_EXPORT TabContents : public PageNavigator, + public RenderViewHostDelegate, + public RenderViewHostManager::Delegate, + public content::JavaScriptDialogDelegate { public: // Flags passed to the TabContentsDelegate.NavigationStateChanged to tell it // what has changed. Combine them to update more than one thing. diff --git a/content/browser/tab_contents/tab_contents_delegate.h b/content/browser/tab_contents/tab_contents_delegate.h index 5a69298a..c9a5b77 100644 --- a/content/browser/tab_contents/tab_contents_delegate.h +++ b/content/browser/tab_contents/tab_contents_delegate.h @@ -11,6 +11,7 @@ #include "base/basictypes.h" #include "content/browser/tab_contents/navigation_entry.h" +#include "content/common/content_export.h" #include "content/common/navigation_types.h" #include "content/common/page_transition_types.h" #include "ui/gfx/native_widget_types.h" @@ -44,7 +45,7 @@ class FilePath; // Objects implement this interface to get notified about changes in the // TabContents and to provide necessary functionality. -class TabContentsDelegate { +class CONTENT_EXPORT TabContentsDelegate { public: TabContentsDelegate(); diff --git a/content/browser/tab_contents/tab_contents_observer.h b/content/browser/tab_contents/tab_contents_observer.h index e3d0405..72db868 100644 --- a/content/browser/tab_contents/tab_contents_observer.h +++ b/content/browser/tab_contents/tab_contents_observer.h @@ -6,6 +6,7 @@ #define CONTENT_BROWSER_TAB_CONTENTS_TAB_CONTENTS_OBSERVER_H_ #include "content/browser/tab_contents/navigation_controller.h" +#include "content/common/content_export.h" #include "content/common/page_transition_types.h" #include "ipc/ipc_channel.h" #include "webkit/glue/window_open_disposition.h" @@ -15,8 +16,8 @@ struct ViewHostMsg_FrameNavigate_Params; // An observer API implemented by classes which are interested in various page // load events from TabContents. They also get a chance to filter IPC messages. -class TabContentsObserver : public IPC::Channel::Listener, - public IPC::Message::Sender { +class CONTENT_EXPORT TabContentsObserver : public IPC::Channel::Listener, + public IPC::Message::Sender { public: virtual void RenderViewCreated(RenderViewHost* render_view_host); virtual void NavigateToPendingEntry( diff --git a/content/browser/tab_contents/tab_contents_view.h b/content/browser/tab_contents/tab_contents_view.h index 0726150..8134ac5 100644 --- a/content/browser/tab_contents/tab_contents_view.h +++ b/content/browser/tab_contents/tab_contents_view.h @@ -10,6 +10,7 @@ #include "base/basictypes.h" #include "content/browser/renderer_host/render_view_host_delegate.h" +#include "content/common/content_export.h" #include "ui/gfx/native_widget_types.h" #include "ui/gfx/rect.h" #include "ui/gfx/size.h" @@ -23,7 +24,7 @@ class TabContents; // dependent web contents views. The TabContents uses this interface to talk to // them. View-related messages will also get forwarded directly to this class // from RenderViewHost via RenderViewHostDelegate::View. -class TabContentsView : public RenderViewHostDelegate::View { +class CONTENT_EXPORT TabContentsView : public RenderViewHostDelegate::View { public: virtual ~TabContentsView(); diff --git a/content/browser/trace_controller.h b/content/browser/trace_controller.h index 4c3d9f3..1e7d41b 100644 --- a/content/browser/trace_controller.h +++ b/content/browser/trace_controller.h @@ -13,6 +13,7 @@ #include "base/memory/ref_counted.h" #include "base/memory/singleton.h" #include "base/task.h" +#include "content/common/content_export.h" class TraceMessageFilter; @@ -36,7 +37,7 @@ class TraceSubscriber { // trace status and collect trace data. Only the browser UI thread is allowed // to interact with the TraceController object. All calls on the TraceSubscriber // happen on the UI thread. -class TraceController { +class CONTENT_EXPORT TraceController { public: static TraceController* GetInstance(); diff --git a/content/browser/user_metrics.h b/content/browser/user_metrics.h index 7c322b1..ae04af3 100644 --- a/content/browser/user_metrics.h +++ b/content/browser/user_metrics.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -8,6 +8,8 @@ #include <string> +#include "content/common/content_export.h" + // This module provides some helper functions for logging actions tracked by // the user metrics system. @@ -21,7 +23,7 @@ struct UserMetricsAction { }; -class UserMetrics { +class CONTENT_EXPORT UserMetrics { public: // Record that the user performed an action. // "Action" here means a user-generated event: diff --git a/content/browser/utility_process_host.h b/content/browser/utility_process_host.h index 1f68c2f..9018818 100644 --- a/content/browser/utility_process_host.h +++ b/content/browser/utility_process_host.h @@ -13,6 +13,7 @@ #include "base/memory/ref_counted.h" #include "content/browser/browser_child_process_host.h" #include "content/browser/browser_thread.h" +#include "content/common/content_export.h" // This class acts as the browser-side host to a utility child process. A // utility process is a short-lived sandboxed process that is created to run @@ -21,12 +22,12 @@ // If you need multiple batches of work to be done in the sandboxed process, // use StartBatchMode(), then multiple calls to StartFooBar(p), // then finish with EndBatchMode(). -class UtilityProcessHost : public BrowserChildProcessHost { +class CONTENT_EXPORT UtilityProcessHost : public BrowserChildProcessHost { public: // An interface to be implemented by consumers of the utility process to // get results back. All functions are called on the thread passed along // to UtilityProcessHost. - class Client : public base::RefCountedThreadSafe<Client> { + class CONTENT_EXPORT Client : public base::RefCountedThreadSafe<Client> { public: Client(); diff --git a/content/browser/webui/web_ui.h b/content/browser/webui/web_ui.h index 377df55..80f0342 100644 --- a/content/browser/webui/web_ui.h +++ b/content/browser/webui/web_ui.h @@ -13,6 +13,7 @@ #include "base/callback_old.h" #include "base/compiler_specific.h" #include "base/string16.h" +#include "content/common/content_export.h" #include "content/common/page_transition_types.h" #include "ipc/ipc_channel.h" @@ -32,7 +33,7 @@ class Value; // // NOTE: If you're creating a new WebUI for Chrome code, make sure you extend // ChromeWebUI. -class WebUI : public IPC::Channel::Listener { +class CONTENT_EXPORT WebUI : public IPC::Channel::Listener { public: explicit WebUI(TabContents* contents); virtual ~WebUI(); @@ -198,7 +199,7 @@ class WebUI : public IPC::Channel::Listener { // Messages sent from the DOM are forwarded via the WebUI to handler // classes. These objects are owned by WebUI and destroyed when the // host is destroyed. -class WebUIMessageHandler { +class CONTENT_EXPORT WebUIMessageHandler { public: WebUIMessageHandler(); virtual ~WebUIMessageHandler(); diff --git a/content/common/child_process.h b/content/common/child_process.h index e3786ae..53b77a5 100644 --- a/content/common/child_process.h +++ b/content/common/child_process.h @@ -10,12 +10,13 @@ #include "base/memory/scoped_ptr.h" #include "base/threading/thread.h" #include "base/synchronization/waitable_event.h" +#include "content/common/content_export.h" class ChildThread; // Base class for child processes of the browser process (i.e. renderer and // plugin host). This is a singleton object for each child process. -class ChildProcess { +class CONTENT_EXPORT ChildProcess { public: // Child processes should have an object that derives from this class. // Normally you would immediately call set_main_thread after construction. diff --git a/content/common/child_process_host.h b/content/common/child_process_host.h index 20708c2..5ffb8d9 100644 --- a/content/common/child_process_host.h +++ b/content/common/child_process_host.h @@ -17,6 +17,7 @@ #include "base/basictypes.h" #include "base/memory/scoped_ptr.h" +#include "content/common/content_export.h" #include "content/common/content_notification_types.h" #include "ipc/ipc_channel_proxy.h" @@ -30,8 +31,8 @@ class Message; // Provides common functionality for hosting a child process and processing IPC // messages between the host and the child process. Subclasses are responsible // for the actual launching and terminating of the child processes. -class ChildProcessHost : public IPC::Channel::Listener, - public IPC::Message::Sender { +class CONTENT_EXPORT ChildProcessHost : public IPC::Channel::Listener, + public IPC::Message::Sender { public: // These flags may be passed to GetChildPath in order to alter its behavior, diff --git a/content/common/child_process_info.h b/content/common/child_process_info.h index a0c8c27..a0f6e10 100644 --- a/content/common/child_process_info.h +++ b/content/common/child_process_info.h @@ -10,9 +10,10 @@ #include "base/process.h" #include "base/string16.h" +#include "content/common/content_export.h" // Holds information about a child process. -class ChildProcessInfo { +class CONTENT_EXPORT ChildProcessInfo { public: // NOTE: Do not remove or reorder the elements in this enum, and only add new // items at the end. We depend on these specific values in a histogram. diff --git a/content/common/child_process_messages.h b/content/common/child_process_messages.h index b48275d..a503423 100644 --- a/content/common/child_process_messages.h +++ b/content/common/child_process_messages.h @@ -5,9 +5,13 @@ // Common IPC messages used for child processes. // Multiply-included message file, hence no include guard. +#include "content/common/content_export.h" #include "googleurl/src/gurl.h" #include "ipc/ipc_message_macros.h" +#undef IPC_MESSAGE_EXPORT +#define IPC_MESSAGE_EXPORT CONTENT_EXPORT + #define IPC_MESSAGE_START ChildProcessMsgStart // Messages sent from the browser to the child process. diff --git a/content/common/child_thread.h b/content/common/child_thread.h index e1d34e8..8956ff2 100644 --- a/content/common/child_thread.h +++ b/content/common/child_thread.h @@ -8,6 +8,7 @@ #include "base/basictypes.h" #include "base/memory/scoped_ptr.h" +#include "content/common/content_export.h" #include "content/common/message_router.h" #include "webkit/glue/resource_loader_bridge.h" @@ -24,8 +25,8 @@ class SyncMessageFilter; } // The main thread of a child process derives from this class. -class ChildThread : public IPC::Channel::Listener, - public IPC::Message::Sender { +class CONTENT_EXPORT ChildThread : public IPC::Channel::Listener, + public IPC::Message::Sender { public: // Creates the thread. ChildThread(); diff --git a/content/common/common_param_traits.h b/content/common/common_param_traits.h index 077d734..916f67b 100644 --- a/content/common/common_param_traits.h +++ b/content/common/common_param_traits.h @@ -16,6 +16,7 @@ #include "base/memory/ref_counted.h" #include "base/platform_file.h" +#include "content/common/content_export.h" #include "content/common/dom_storage_common.h" #include "googleurl/src/gurl.h" #include "ipc/ipc_message_utils.h" @@ -46,7 +47,7 @@ class Range; namespace IPC { template <> -struct ParamTraits<GURL> { +struct CONTENT_EXPORT ParamTraits<GURL> { typedef GURL param_type; static void Write(Message* m, const param_type& p); static bool Read(const Message* m, void** iter, param_type* p); @@ -62,7 +63,7 @@ struct ParamTraits<ResourceType::Type> { }; template <> -struct ParamTraits<net::URLRequestStatus> { +struct CONTENT_EXPORT ParamTraits<net::URLRequestStatus> { typedef net::URLRequestStatus param_type; static void Write(Message* m, const param_type& p); static bool Read(const Message* m, void** iter, param_type* r); @@ -70,7 +71,7 @@ struct ParamTraits<net::URLRequestStatus> { }; template <> -struct ParamTraits<scoped_refptr<net::UploadData> > { +struct CONTENT_EXPORT ParamTraits<scoped_refptr<net::UploadData> > { typedef scoped_refptr<net::UploadData> param_type; static void Write(Message* m, const param_type& p); static bool Read(const Message* m, void** iter, param_type* r); @@ -78,7 +79,7 @@ struct ParamTraits<scoped_refptr<net::UploadData> > { }; template<> -struct ParamTraits<net::HostPortPair> { +struct CONTENT_EXPORT ParamTraits<net::HostPortPair> { typedef net::HostPortPair param_type; static void Write(Message* m, const param_type& p); static bool Read(const Message* m, void** iter, param_type* r); @@ -110,7 +111,7 @@ struct ParamTraits<base::PlatformFileInfo> { }; template <> -struct ParamTraits<gfx::Point> { +struct CONTENT_EXPORT ParamTraits<gfx::Point> { typedef gfx::Point param_type; static void Write(Message* m, const param_type& p); static bool Read(const Message* m, void** iter, param_type* r); @@ -118,7 +119,7 @@ struct ParamTraits<gfx::Point> { }; template <> -struct ParamTraits<gfx::Size> { +struct CONTENT_EXPORT ParamTraits<gfx::Size> { typedef gfx::Size param_type; static void Write(Message* m, const param_type& p); static bool Read(const Message* m, void** iter, param_type* r); @@ -126,7 +127,7 @@ struct ParamTraits<gfx::Size> { }; template <> -struct ParamTraits<gfx::Rect> { +struct CONTENT_EXPORT ParamTraits<gfx::Rect> { typedef gfx::Rect param_type; static void Write(Message* m, const param_type& p); static bool Read(const Message* m, void** iter, param_type* r); @@ -166,7 +167,7 @@ struct ParamTraits<gfx::NativeWindow> { }; template <> -struct ParamTraits<ui::Range> { +struct CONTENT_EXPORT ParamTraits<ui::Range> { typedef ui::Range param_type; static void Write(Message* m, const param_type& p); static bool Read(const Message* m, void** iter, param_type* r); @@ -214,7 +215,7 @@ struct ParamTraits<TransportDIB::Id> { #endif template <> -struct ParamTraits<SkBitmap> { +struct CONTENT_EXPORT ParamTraits<SkBitmap> { typedef SkBitmap param_type; static void Write(Message* m, const param_type& p); diff --git a/content/common/content_client.h b/content/common/content_client.h index dc2d7901..9f5521f 100644 --- a/content/common/content_client.h +++ b/content/common/content_client.h @@ -12,6 +12,7 @@ #include "base/basictypes.h" #include "base/string16.h" #include "build/build_config.h" +#include "content/common/content_export.h" class CommandLine; class GURL; @@ -40,11 +41,11 @@ class ContentUtilityClient; // Setter and getter for the client. The client should be set early, before any // content code is called. -void SetContentClient(ContentClient* client); -ContentClient* GetContentClient(); +CONTENT_EXPORT void SetContentClient(ContentClient* client); +CONTENT_EXPORT ContentClient* GetContentClient(); // Interface that the embedder implements. -class ContentClient { +class CONTENT_EXPORT ContentClient { public: ContentClient(); virtual ~ContentClient(); diff --git a/content/common/content_constants.h b/content/common/content_constants.h index ad900d0..dd3a9d4 100644 --- a/content/common/content_constants.h +++ b/content/common/content_constants.h @@ -10,6 +10,8 @@ #include <stddef.h> // For size_t +#include "content/common/content_export.h" + namespace content { extern const unsigned int kMaxRendererProcessCount; @@ -28,12 +30,12 @@ extern const size_t kMaxTitleChars; // a data: URI may be legitimately massive, but the full URI would kill all // known operating systems if you dropped it into a UI control. extern const size_t kMaxURLChars; -extern const size_t kMaxURLDisplayChars; +CONTENT_EXPORT extern const size_t kMaxURLDisplayChars; // The render view and render process id associated with the default plugin // instance. -extern const char kDefaultPluginRenderViewId[]; -extern const char kDefaultPluginRenderProcessId[]; +CONTENT_EXPORT extern const char kDefaultPluginRenderViewId[]; +CONTENT_EXPORT extern const char kDefaultPluginRenderProcessId[]; extern const char kStatsFilename[]; extern const int kStatsMaxThreads; diff --git a/content/common/content_counters.h b/content/common/content_counters.h index 16dc638..11ccee3 100644 --- a/content/common/content_counters.h +++ b/content/common/content_counters.h @@ -8,6 +8,8 @@ #define CONTENT_COMMON_CONTENT_COUNTERS_H_ #pragma once +#include "content/common/content_export.h" + namespace base { class StatsCounter; class StatsCounterTimer; @@ -19,7 +21,7 @@ namespace content { class Counters { public: // The amount of time spent in chrome initialization. - static base::StatsCounterTimer& chrome_main(); + CONTENT_EXPORT static base::StatsCounterTimer& chrome_main(); // The amount of time spent in renderer initialization. static base::StatsCounterTimer& renderer_main(); diff --git a/content/common/content_export.h b/content/common/content_export.h index dd76009..fc91b72c 100644 --- a/content/common/content_export.h +++ b/content/common/content_export.h @@ -6,8 +6,7 @@ #define CONTENT_COMMON_CONTENT_EXPORT_H_ #pragma once -// TODO(dpranke): Uncomment to enable component build of content. -#if 0 // defined(COMPONENT_BUILD) +#if 0 // TODO(dpranke): Uncomment: defined(COMPONENT_BUILD). #if defined(WIN32) #if defined(CONTENT_IMPLEMENTATION) diff --git a/content/common/content_paths.h b/content/common/content_paths.h index cdf07a7..b2f4cce 100644 --- a/content/common/content_paths.h +++ b/content/common/content_paths.h @@ -6,6 +6,8 @@ #define CONTENT_COMMON_CONTENT_PATHS_H_ #pragma once +#include "content/common/content_export.h" + // This file declares path keys for the content module. These can be used with // the PathService to access various special directories and files. @@ -24,7 +26,7 @@ enum { }; // Call once to register the provider for the path keys defined above. -void RegisterPathProvider(); +CONTENT_EXPORT void RegisterPathProvider(); } // namespace content diff --git a/content/common/content_switches.h b/content/common/content_switches.h index 478b9b8..eef89e0 100644 --- a/content/common/content_switches.h +++ b/content/common/content_switches.h @@ -9,48 +9,49 @@ #pragma once #include "build/build_config.h" +#include "content/common/content_export.h" namespace switches { -extern const char kAllowFileAccessFromFiles[]; -extern const char kAllowRunningInsecureContent[]; +CONTENT_EXPORT extern const char kAllowFileAccessFromFiles[]; +CONTENT_EXPORT extern const char kAllowRunningInsecureContent[]; extern const char kAllowSandboxDebugging[]; extern const char kBrowserAssertTest[]; extern const char kBrowserCrashTest[]; extern const char kBrowserSubprocessPath[]; // TODO(jam): this doesn't belong in content. -extern const char kChromeFrame[]; -extern const char kDisable3DAPIs[]; -extern const char kDisableAccelerated2dCanvas[]; -extern const char kDisableAcceleratedCompositing[]; -extern const char kDisableAcceleratedLayers[]; -extern const char kDisableAcceleratedPlugins[]; -extern const char kDisableAcceleratedVideo[]; -extern const char kDisableAltWinstation[]; -extern const char kDisableApplicationCache[]; +CONTENT_EXPORT extern const char kChromeFrame[]; +CONTENT_EXPORT extern const char kDisable3DAPIs[]; +CONTENT_EXPORT extern const char kDisableAccelerated2dCanvas[]; +CONTENT_EXPORT extern const char kDisableAcceleratedCompositing[]; +CONTENT_EXPORT extern const char kDisableAcceleratedLayers[]; +CONTENT_EXPORT extern const char kDisableAcceleratedPlugins[]; +CONTENT_EXPORT extern const char kDisableAcceleratedVideo[]; +CONTENT_EXPORT extern const char kDisableAltWinstation[]; +CONTENT_EXPORT extern const char kDisableApplicationCache[]; extern const char kDisableAudio[]; extern const char kDisableBackingStoreLimit[]; -extern const char kDisableDatabases[]; +CONTENT_EXPORT extern const char kDisableDatabases[]; extern const char kDisableDataTransferItems[]; extern const char kDisableDesktopNotifications[]; extern const char kDisableDeviceOrientation[]; -extern const char kDisableExperimentalWebGL[]; +CONTENT_EXPORT extern const char kDisableExperimentalWebGL[]; extern const char kDisableFileSystem[]; extern const char kDisableGeolocation[]; -extern const char kDisableGLMultisampling[]; +CONTENT_EXPORT extern const char kDisableGLMultisampling[]; extern const char kDisableGLSLTranslator[]; extern const char kDisableGpuSandbox[]; extern const char kDisableGpuWatchdog[]; -extern const char kDisableHangMonitor[]; +CONTENT_EXPORT extern const char kDisableHangMonitor[]; extern const char kDisableIndexedDatabase[]; -extern const char kDisableJava[]; -extern const char kDisableJavaScript[]; +CONTENT_EXPORT extern const char kDisableJava[]; +CONTENT_EXPORT extern const char kDisableJavaScript[]; extern const char kDisableJavaScriptI18NAPI[]; -extern const char kDisableLocalStorage[]; -extern const char kDisableLogging[]; -extern const char kDisableSmoothScrolling[]; -extern const char kDisablePlugins[]; -extern const char kDisablePopupBlocking[]; +CONTENT_EXPORT extern const char kDisableLocalStorage[]; +CONTENT_EXPORT extern const char kDisableLogging[]; +CONTENT_EXPORT extern const char kDisableSmoothScrolling[]; +CONTENT_EXPORT extern const char kDisablePlugins[]; +CONTENT_EXPORT extern const char kDisablePopupBlocking[]; extern const char kDisableRendererAccessibility[]; extern const char kDisableSSLFalseStart[]; extern const char kDisableSeccompSandbox[]; @@ -58,18 +59,18 @@ extern const char kDisableSessionStorage[]; extern const char kDisableSharedWorkers[]; extern const char kDisableSpeechInput[]; extern const char kDisableSpellcheckAPI[]; -extern const char kDisableWebAudio[]; +CONTENT_EXPORT extern const char kDisableWebAudio[]; extern const char kDisableWebSockets[]; extern const char kEnableAccelerated2dCanvas[]; -extern const char kEnableAcceleratedDrawing[]; +CONTENT_EXPORT extern const char kEnableAcceleratedDrawing[]; extern const char kEnableAccessibility[]; extern const char kEnableAccessibilityLogging[]; -extern const char kEnableBenchmarking[]; -extern const char kEnableDNSCertProvenanceChecking[]; -extern const char kEnableDeviceMotion[]; -extern const char kDisableFullScreen[]; +CONTENT_EXPORT extern const char kEnableBenchmarking[]; +CONTENT_EXPORT extern const char kEnableDNSCertProvenanceChecking[]; +CONTENT_EXPORT extern const char kEnableDeviceMotion[]; +CONTENT_EXPORT extern const char kDisableFullScreen[]; extern const char kEnableGPUPlugin[]; -extern const char kEnableLogging[]; +CONTENT_EXPORT extern const char kEnableLogging[]; extern const char kEnableMediaStream[]; extern const char kEnableMonitorProfile[]; extern const char kEnableOriginBoundCerts[]; @@ -78,80 +79,85 @@ extern const char kEnableSSLCachedInfo[]; extern const char kEnableSandboxLogging[]; extern const char kEnableSeccompSandbox[]; extern const char kEnableStatsTable[]; -extern const char kEnableTcpFastOpen[]; +CONTENT_EXPORT extern const char kEnableStatsTable[]; +CONTENT_EXPORT extern const char kEnableTcpFastOpen[]; extern const char kEnableVideoFullscreen[]; extern const char kEnableVideoLogging[]; -extern const char kEnableWebIntents[]; -extern const char kExperimentalLocationFeatures[]; +CONTENT_EXPORT extern const char kEnableWebIntents[]; +CONTENT_EXPORT extern const char kExperimentalLocationFeatures[]; // TODO(jam): this doesn't belong in content. -extern const char kExtensionProcess[]; +CONTENT_EXPORT extern const char kExtensionProcess[]; extern const char kExtraPluginDir[]; extern const char kForceFieldTestNameAndValue[]; extern const char kForceRendererAccessibility[]; extern const char kGpuLauncher[]; -extern const char kGpuProcess[]; +CONTENT_EXPORT extern const char kGpuProcess[]; extern const char kGpuStartupDialog[]; -extern const char kIgnoreGpuBlacklist[]; +CONTENT_EXPORT extern const char kIgnoreGpuBlacklist[]; extern const char kInProcessGPU[]; extern const char kInProcessPlugins[]; -extern const char kInProcessWebGL[]; +CONTENT_EXPORT extern const char kInProcessWebGL[]; extern const char kJavaScriptFlags[]; extern const char kLoadPlugin[]; -extern const char kLoggingLevel[]; +CONTENT_EXPORT extern const char kLoggingLevel[]; extern const char kLogPluginMessages[]; extern const char kLowLatencyAudio[]; // TODO(jam): this doesn't belong in content. -extern const char kNaClBrokerProcess[]; -extern const char kNaClLoaderProcess[]; -extern const char kNoDisplayingInsecureContent[]; +CONTENT_EXPORT extern const char kNaClBrokerProcess[]; +CONTENT_EXPORT extern const char kNaClLoaderProcess[]; +// TODO(bradchen): remove kNaClLinuxHelper switch. +// This switch enables the experimental lightweight nacl_helper for Linux. +// It will be going away soon, when the helper is enabled permanently. +extern const char kNaClLinuxHelper[]; +CONTENT_EXPORT extern const char kNoDisplayingInsecureContent[]; extern const char kNoJsRandomness[]; -extern const char kNoReferrers[]; -extern const char kNoSandbox[]; -extern const char kPlaybackMode[]; +CONTENT_EXPORT extern const char kNoReferrers[]; +CONTENT_EXPORT extern const char kNoSandbox[]; +CONTENT_EXPORT extern const char kPlaybackMode[]; extern const char kPluginLauncher[]; -extern const char kPluginPath[]; -extern const char kPluginProcess[]; +CONTENT_EXPORT extern const char kPluginPath[]; +CONTENT_EXPORT extern const char kPluginProcess[]; extern const char kPluginStartupDialog[]; -extern const char kPpapiBrokerProcess[]; -extern const char kPpapiFlashArgs[]; -extern const char kPpapiFlashPath[]; -extern const char kPpapiFlashVersion[]; +CONTENT_EXPORT extern const char kPpapiBrokerProcess[]; +CONTENT_EXPORT extern const char kPpapiFlashArgs[]; +CONTENT_EXPORT extern const char kPpapiFlashPath[]; +CONTENT_EXPORT extern const char kPpapiFlashVersion[]; extern const char kPpapiOutOfProcess[]; extern const char kPpapiPluginLauncher[]; -extern const char kPpapiPluginProcess[]; +CONTENT_EXPORT extern const char kPpapiPluginProcess[]; extern const char kPpapiStartupDialog[]; extern const char kProcessPerSite[]; -extern const char kProcessPerTab[]; -extern const char kProcessType[]; +CONTENT_EXPORT extern const char kProcessPerTab[]; +CONTENT_EXPORT extern const char kProcessType[]; // TODO(jam): this doesn't belong in content. extern const char kProfileImportProcess[]; -extern const char kRecordMode[]; +CONTENT_EXPORT extern const char kRecordMode[]; extern const char kRegisterPepperPlugins[]; -extern const char kRemoteShellPort[]; +CONTENT_EXPORT extern const char kRemoteShellPort[]; extern const char kRendererAssertTest[]; extern const char kRendererCmdPrefix[]; extern const char kRendererCrashTest[]; -extern const char kRendererProcess[]; +CONTENT_EXPORT extern const char kRendererProcess[]; extern const char kRendererStartupDialog[]; // TODO(jam): this doesn't belong in content. -extern const char kServiceProcess[]; +CONTENT_EXPORT extern const char kServiceProcess[]; extern const char kShowPaintRects[]; extern const char kSimpleDataSource[]; -extern const char kSingleProcess[]; +CONTENT_EXPORT extern const char kSingleProcess[]; extern const char kSQLiteIndexedDatabase[]; extern const char kTestSandbox[]; extern const char kUnlimitedQuotaForFiles[]; -extern const char kUserAgent[]; +CONTENT_EXPORT extern const char kUserAgent[]; extern const char kUtilityCmdPrefix[]; -extern const char kUtilityProcess[]; +CONTENT_EXPORT extern const char kUtilityProcess[]; extern const char kUtilityProcessAllowedDir[]; -extern const char kWaitForDebuggerChildren[]; +CONTENT_EXPORT extern const char kWaitForDebuggerChildren[]; extern const char kWebCoreLogChannels[]; extern const char kWebWorkerProcessPerCore[]; extern const char kWebWorkerShareProcesses[]; -extern const char kWorkerProcess[]; -extern const char kZygoteCmdPrefix[]; -extern const char kZygoteProcess[]; +CONTENT_EXPORT extern const char kWorkerProcess[]; +CONTENT_EXPORT extern const char kZygoteCmdPrefix[]; +CONTENT_EXPORT extern const char kZygoteProcess[]; #if defined(OS_WIN) extern const char kAuditHandles[]; diff --git a/content/common/devtools_messages.h b/content/common/devtools_messages.h index 6536f40..5f09147 100644 --- a/content/common/devtools_messages.h +++ b/content/common/devtools_messages.h @@ -42,6 +42,7 @@ #include <map> #include <string> +#include "content/common/content_export.h" #include "ipc/ipc_message_macros.h" // Singly-included section. @@ -52,6 +53,9 @@ typedef std::map<std::string, std::string> DevToolsRuntimeProperties; #endif // CONTENT_COMMON_DEVTOOLS_MESSAGES_H_ +#undef IPC_MESSAGE_EXPORT +#define IPC_MESSAGE_EXPORT CONTENT_EXPORT + #define IPC_MESSAGE_START DevToolsMsgStart // These are messages sent from DevToolsAgent to DevToolsClient through the diff --git a/content/common/gpu/gpu_feature_flags.h b/content/common/gpu/gpu_feature_flags.h index 99c6576..47ec196 100644 --- a/content/common/gpu/gpu_feature_flags.h +++ b/content/common/gpu/gpu_feature_flags.h @@ -12,6 +12,7 @@ #include <string> #include "base/basictypes.h" +#include "content/common/content_export.h" class GpuFeatureFlags { public: @@ -33,7 +34,7 @@ class GpuFeatureFlags { // flags are OR combination of GpuFeatureType. void set_flags(uint32 flags); - uint32 flags() const; + CONTENT_EXPORT uint32 flags() const; // Resets each flag by OR with the corresponding flag in "other". void Combine(const GpuFeatureFlags& other); diff --git a/content/common/hi_res_timer_manager.h b/content/common/hi_res_timer_manager.h index 5c3ae38..ff2ff1f 100644 --- a/content/common/hi_res_timer_manager.h +++ b/content/common/hi_res_timer_manager.h @@ -7,10 +7,12 @@ #pragma once #include "base/system_monitor/system_monitor.h" +#include "content/common/content_export.h" // Ensures that the Windows high resolution timer is only used // when not running on battery power. -class HighResolutionTimerManager : public base::SystemMonitor::PowerObserver { +class CONTENT_EXPORT HighResolutionTimerManager + : public base::SystemMonitor::PowerObserver { public: HighResolutionTimerManager(); virtual ~HighResolutionTimerManager(); diff --git a/content/common/json_value_serializer.h b/content/common/json_value_serializer.h index afb18f8..4b11e52 100644 --- a/content/common/json_value_serializer.h +++ b/content/common/json_value_serializer.h @@ -11,8 +11,9 @@ #include "base/basictypes.h" #include "base/file_path.h" #include "base/values.h" +#include "content/common/content_export.h" -class JSONStringValueSerializer : public base::ValueSerializer { +class CONTENT_EXPORT JSONStringValueSerializer : public base::ValueSerializer { public: // json_string is the string that will be source of the deserialization // or the destination of the serialization. The caller of the constructor @@ -66,7 +67,7 @@ class JSONStringValueSerializer : public base::ValueSerializer { DISALLOW_COPY_AND_ASSIGN(JSONStringValueSerializer); }; -class JSONFileValueSerializer : public base::ValueSerializer { +class CONTENT_EXPORT JSONFileValueSerializer : public base::ValueSerializer { public: // json_file_patch is the path of a file that will be source of the // deserialization or the destination of the serialization. diff --git a/content/common/native_web_keyboard_event.h b/content/common/native_web_keyboard_event.h index 7de71a4..631273e 100644 --- a/content/common/native_web_keyboard_event.h +++ b/content/common/native_web_keyboard_event.h @@ -7,7 +7,9 @@ #pragma once #include "base/basictypes.h" +#include "base/compiler_specific.h" #include "build/build_config.h" +#include "content/common/content_export.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebInputEvent.h" #if defined(OS_WIN) @@ -24,7 +26,8 @@ typedef struct _GdkEventKey GdkEventKey; // Owns a platform specific event; used to pass own and pass event through // platform independent code. -struct NativeWebKeyboardEvent : public WebKit::WebKeyboardEvent { +struct CONTENT_EXPORT NativeWebKeyboardEvent : + NON_EXPORTED_BASE(public WebKit::WebKeyboardEvent) { NativeWebKeyboardEvent(); #if defined(OS_WIN) diff --git a/content/common/net/url_fetcher.h b/content/common/net/url_fetcher.h index 00ff56f..0d73d64 100644 --- a/content/common/net/url_fetcher.h +++ b/content/common/net/url_fetcher.h @@ -22,6 +22,7 @@ #include "base/message_loop.h" #include "base/platform_file.h" #include "base/time.h" +#include "content/common/content_export.h" class FilePath; class GURL; @@ -68,7 +69,7 @@ typedef std::vector<std::string> ResponseCookies; // NOTE: By default URLFetcher requests are NOT intercepted, except when // interception is explicitly enabled in tests. -class URLFetcher { +class CONTENT_EXPORT URLFetcher { public: enum RequestType { GET, @@ -80,7 +81,7 @@ class URLFetcher { // was received. static const int kInvalidHttpResponseCode; - class Delegate { + class CONTENT_EXPORT Delegate { public: // TODO(skerner): This will be removed in favor of the |source|-only // version below. Leaving this for now to make the initial code review diff --git a/content/common/notification_details.h b/content/common/notification_details.h index 1e822a9..50c7b23 100644 --- a/content/common/notification_details.h +++ b/content/common/notification_details.h @@ -10,11 +10,12 @@ #pragma once #include "base/basictypes.h" +#include "content/common/content_export.h" // Do not declare a NotificationDetails directly--use either // "Details<detailsclassname>(detailsclasspointer)" or // NotificationService::NoDetails(). -class NotificationDetails { +class CONTENT_EXPORT NotificationDetails { public: NotificationDetails(); NotificationDetails(const NotificationDetails& other); diff --git a/content/common/notification_observer.h b/content/common/notification_observer.h index 49f74de..5fa0cb9 100644 --- a/content/common/notification_observer.h +++ b/content/common/notification_observer.h @@ -6,12 +6,14 @@ #define CONTENT_COMMON_NOTIFICATION_OBSERVER_H_ #pragma once +#include "content/common/content_export.h" + class NotificationDetails; class NotificationSource; // This is the base class for notification observers. When a matching // notification is posted to the notification service, Observe is called. -class NotificationObserver { +class CONTENT_EXPORT NotificationObserver { public: NotificationObserver(); virtual ~NotificationObserver(); diff --git a/content/common/notification_registrar.h b/content/common/notification_registrar.h index 9d054bf..912958d 100644 --- a/content/common/notification_registrar.h +++ b/content/common/notification_registrar.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -9,6 +9,7 @@ #include <vector> #include "base/basictypes.h" +#include "content/common/content_export.h" #include "content/common/content_notification_types.h" class NotificationObserver; @@ -21,7 +22,7 @@ class NotificationSource; // class and use it to register your notifications instead of going through the // notification service directly. It will automatically unregister them for // you. -class NotificationRegistrar { +class CONTENT_EXPORT NotificationRegistrar { public: // This class must not be derived from (we don't have a virtual destructor so // it won't work). Instead, use it as a member in your class. diff --git a/content/common/notification_service.h b/content/common/notification_service.h index a9cd210..b8192e0 100644 --- a/content/common/notification_service.h +++ b/content/common/notification_service.h @@ -13,13 +13,14 @@ #include <map> #include "base/observer_list.h" +#include "content/common/content_export.h" #include "content/common/content_notification_types.h" #include "content/common/notification_details.h" #include "content/common/notification_source.h" class NotificationObserver; -class NotificationService { +class CONTENT_EXPORT NotificationService { public: // Returns the NotificationService object for the current thread, or NULL if // none. diff --git a/content/common/notification_source.h b/content/common/notification_source.h index db5977b..791b4d0 100644 --- a/content/common/notification_source.h +++ b/content/common/notification_source.h @@ -10,11 +10,12 @@ #pragma once #include "base/basictypes.h" +#include "content/common/content_export.h" // Do not declare a NotificationSource directly--use either // "Source<sourceclassname>(sourceclasspointer)" or // NotificationService::AllSources(). -class NotificationSource { +class CONTENT_EXPORT NotificationSource { public: NotificationSource(const NotificationSource& other); ~NotificationSource(); diff --git a/content/common/page_transition_types.h b/content/common/page_transition_types.h index 1bd6ec9..5aaeeac 100644 --- a/content/common/page_transition_types.h +++ b/content/common/page_transition_types.h @@ -7,9 +7,10 @@ #pragma once #include "base/basictypes.h" +#include "content/common/content_export.h" // This class is for scoping only. -class PageTransition { +class CONTENT_EXPORT PageTransition { public: // Types of transitions between pages. These are stored in the history // database to separate visits, and are reported by the renderer for page diff --git a/content/common/pepper_plugin_registry.h b/content/common/pepper_plugin_registry.h index d714e2f..ee2404a4 100644 --- a/content/common/pepper_plugin_registry.h +++ b/content/common/pepper_plugin_registry.h @@ -12,12 +12,13 @@ #include <vector> #include "base/file_path.h" +#include "content/common/content_export.h" #include "ppapi/proxy/proxy_channel.h" #include "webkit/plugins/ppapi/plugin_delegate.h" #include "webkit/plugins/ppapi/plugin_module.h" #include "webkit/plugins/webplugininfo.h" -struct PepperPluginInfo { +struct CONTENT_EXPORT PepperPluginInfo { PepperPluginInfo(); ~PepperPluginInfo(); @@ -71,7 +72,8 @@ class PepperPluginRegistry // has no need to load the pepper plugin modules. It will re-compute the // plugin list every time it is called. Generally, code in the registry should // be using the cached plugin_list_ instead. - static void ComputeList(std::vector<PepperPluginInfo>* plugins); + CONTENT_EXPORT static void ComputeList( + std::vector<PepperPluginInfo>* plugins); // Loads the (native) libraries but does not initialize them (i.e., does not // call PPP_InitializeModule). This is needed by the zygote on Linux to get diff --git a/content/common/plugin_messages.h b/content/common/plugin_messages.h index c3c7ed1..2dc4959 100644 --- a/content/common/plugin_messages.h +++ b/content/common/plugin_messages.h @@ -6,6 +6,7 @@ #include "build/build_config.h" #include "content/common/common_param_traits.h" +#include "content/common/content_export.h" #include "content/common/webkit_param_traits.h" #include "ipc/ipc_channel_handle.h" #include "ipc/ipc_message_macros.h" @@ -17,6 +18,9 @@ #include "base/file_descriptor_posix.h" #endif +#undef IPC_MESSAGE_EXPORT +#define IPC_MESSAGE_EXPORT CONTENT_EXPORT + #define IPC_MESSAGE_START PluginMsgStart IPC_STRUCT_BEGIN(PluginMsg_Init_Params) diff --git a/content/common/property_bag.h b/content/common/property_bag.h index 0e2e204..b83cc58 100644 --- a/content/common/property_bag.h +++ b/content/common/property_bag.h @@ -9,6 +9,7 @@ #include <map> #include "base/basictypes.h" +#include "content/common/content_export.h" template <typename T> class linked_ptr; @@ -42,7 +43,7 @@ class PropertyAccessorBase; // // accessor->SetProperty(object, 22); // } -class PropertyBag { +class CONTENT_EXPORT PropertyBag { public: // The type that uniquely identifies a property type. typedef int PropID; @@ -93,7 +94,7 @@ class PropertyBag { // Manages getting the unique IDs to identify a property. Callers should use // PropertyAccessor below instead. -class PropertyAccessorBase { +class CONTENT_EXPORT PropertyAccessorBase { public: PropertyAccessorBase(); virtual ~PropertyAccessorBase() {} diff --git a/content/common/renderer_preferences.h b/content/common/renderer_preferences.h index 9d5cb0a..e622464 100644 --- a/content/common/renderer_preferences.h +++ b/content/common/renderer_preferences.h @@ -13,6 +13,7 @@ #define CONTENT_COMMON_RENDERER_PREFERENCES_H_ #pragma once +#include "content/common/content_export.h" #include "third_party/skia/include/core/SkColor.h" enum RendererPreferencesHintingEnum { @@ -32,7 +33,7 @@ enum RendererPreferencesSubpixelRenderingEnum { RENDERER_PREFERENCES_SUBPIXEL_RENDERING_VBGR, }; -struct RendererPreferences { +struct CONTENT_EXPORT RendererPreferences { RendererPreferences(); // Whether the renderer's current browser context accept drops from the OS diff --git a/content/common/resource_dispatcher_delegate.h b/content/common/resource_dispatcher_delegate.h index e973dd7..c19ed57 100644 --- a/content/common/resource_dispatcher_delegate.h +++ b/content/common/resource_dispatcher_delegate.h @@ -6,11 +6,12 @@ #define CONTENT_COMMON_RESOURCE_DISPATCHER_DELEGATE_H_ #pragma once +#include "content/common/content_export.h" #include "webkit/glue/resource_loader_bridge.h" // Interface that allows observing request events and optionally replacing the // peer. -class ResourceDispatcherDelegate { +class CONTENT_EXPORT ResourceDispatcherDelegate { public: ResourceDispatcherDelegate(); virtual ~ResourceDispatcherDelegate(); diff --git a/content/common/resource_response.h b/content/common/resource_response.h index 0473e32..8c949a3 100644 --- a/content/common/resource_response.h +++ b/content/common/resource_response.h @@ -11,6 +11,7 @@ #include <string> #include "base/memory/ref_counted.h" +#include "content/common/content_export.h" #include "googleurl/src/gurl.h" #include "net/url_request/url_request_status.h" #include "webkit/glue/resource_loader_bridge.h" @@ -31,7 +32,8 @@ struct SyncLoadResult : ResourceResponseHead { }; // Simple wrapper that refcounts ResourceResponseHead. -struct ResourceResponse : public base::RefCounted<ResourceResponse> { +struct CONTENT_EXPORT ResourceResponse + : public base::RefCounted<ResourceResponse> { ResourceResponse(); ResourceResponseHead response_head; diff --git a/content/common/sandbox_init_wrapper.h b/content/common/sandbox_init_wrapper.h index c144992..fcc096a 100644 --- a/content/common/sandbox_init_wrapper.h +++ b/content/common/sandbox_init_wrapper.h @@ -15,6 +15,8 @@ #include <string> #include "base/basictypes.h" +#include "content/common/content_export.h" + #if defined(OS_WIN) #include "sandbox/src/sandbox.h" #endif @@ -23,7 +25,7 @@ class CommandLine; #if defined(OS_WIN) -class SandboxInitWrapper { +class CONTENT_EXPORT SandboxInitWrapper { public: SandboxInitWrapper() : broker_services_(), target_services_() { } // SetServices() needs to be called before InitializeSandbox() on Win32 with diff --git a/content/common/sandbox_policy.h b/content/common/sandbox_policy.h index 55dc0c5..4d87717 100644 --- a/content/common/sandbox_policy.h +++ b/content/common/sandbox_policy.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -7,6 +7,7 @@ #pragma once #include "base/process.h" +#include "content/common/content_export.h" class CommandLine; class FilePath; @@ -15,12 +16,14 @@ namespace sandbox { class BrokerServices; -void InitBrokerServices(sandbox::BrokerServices* broker_services); +CONTENT_EXPORT void InitBrokerServices( + sandbox::BrokerServices* broker_services); // Starts a sandboxed process with the given directory unsandboxed // and returns a handle to it. -base::ProcessHandle StartProcessWithAccess(CommandLine* cmd_line, - const FilePath& exposed_dir); +CONTENT_EXPORT base::ProcessHandle StartProcessWithAccess( + CommandLine* cmd_line, + const FilePath& exposed_dir); } // namespace sandbox diff --git a/content/common/section_util_win.h b/content/common/section_util_win.h index b07239a..fa08df9 100644 --- a/content/common/section_util_win.h +++ b/content/common/section_util_win.h @@ -8,6 +8,8 @@ #include <windows.h> +#include "content/common/content_export.h" + namespace chrome { // Duplicates a section handle from another process to the current process. @@ -16,7 +18,10 @@ HANDLE GetSectionFromProcess(HANDLE section, HANDLE process, bool read_only); // Duplicates a section handle from the current process for use in another // process. Returns the new valid handle or NULL on failure. -HANDLE GetSectionForProcess(HANDLE section, HANDLE process, bool read_only); +CONTENT_EXPORT HANDLE GetSectionForProcess( + HANDLE section, + HANDLE process, + bool read_only); } // namespace chrome diff --git a/content/common/url_constants.h b/content/common/url_constants.h index 726ec7d..78f7e2f 100644 --- a/content/common/url_constants.h +++ b/content/common/url_constants.h @@ -8,6 +8,8 @@ #define CONTENT_COMMON_URL_CONSTANTS_H_ #pragma once +#include "content/common/content_export.h" + namespace chrome { // Null terminated list of schemes that are savable. @@ -16,29 +18,29 @@ extern const char* kSavableSchemes[]; // Canonical schemes you can use as input to GURL.SchemeIs(). // TODO(jam): some of these don't below in the content layer, but are accessed // from there. -extern const char kAboutScheme[]; -extern const char kBlobScheme[]; -extern const char kChromeDevToolsScheme[]; -extern const char kChromeInternalScheme[]; -extern const char kChromeUIScheme[]; // The scheme used for WebUIs. -extern const char kCrosScheme[]; // The scheme used for ChromeOS. -extern const char kDataScheme[]; -extern const char kExtensionScheme[]; -extern const char kFileScheme[]; -extern const char kFileSystemScheme[]; -extern const char kFtpScheme[]; -extern const char kHttpScheme[]; -extern const char kHttpsScheme[]; -extern const char kJavaScriptScheme[]; -extern const char kMailToScheme[]; -extern const char kMetadataScheme[]; -extern const char kViewSourceScheme[]; +CONTENT_EXPORT extern const char kAboutScheme[]; +CONTENT_EXPORT extern const char kBlobScheme[]; +CONTENT_EXPORT extern const char kChromeDevToolsScheme[]; +CONTENT_EXPORT extern const char kChromeInternalScheme[]; +CONTENT_EXPORT extern const char kChromeUIScheme[]; // Used for WebUIs. +CONTENT_EXPORT extern const char kCrosScheme[]; // Used for ChromeOS. +CONTENT_EXPORT extern const char kDataScheme[]; +CONTENT_EXPORT extern const char kExtensionScheme[]; +CONTENT_EXPORT extern const char kFileScheme[]; +CONTENT_EXPORT extern const char kFileSystemScheme[]; +CONTENT_EXPORT extern const char kFtpScheme[]; +CONTENT_EXPORT extern const char kHttpScheme[]; +CONTENT_EXPORT extern const char kHttpsScheme[]; +CONTENT_EXPORT extern const char kJavaScriptScheme[]; +CONTENT_EXPORT extern const char kMailToScheme[]; +CONTENT_EXPORT extern const char kMetadataScheme[]; +CONTENT_EXPORT extern const char kViewSourceScheme[]; // Used to separate a standard scheme and the hostname: "://". -extern const char kStandardSchemeSeparator[]; +CONTENT_EXPORT extern const char kStandardSchemeSeparator[]; // About URLs (including schemes). -extern const char kAboutBlankURL[]; +CONTENT_EXPORT extern const char kAboutBlankURL[]; extern const char kAboutCrashURL[]; // Special URL used to start a navigation to an error page. diff --git a/content/common/view_messages.h b/content/common/view_messages.h index d127d71..25ca41b 100644 --- a/content/common/view_messages.h +++ b/content/common/view_messages.h @@ -8,6 +8,7 @@ #include "base/process.h" #include "base/shared_memory.h" #include "content/common/common_param_traits.h" +#include "content/common/content_export.h" #include "content/common/css_colors.h" #include "content/common/edit_command.h" #include "content/common/navigation_gesture.h" @@ -195,6 +196,9 @@ struct ViewMsg_StopFinding_Params { #endif // CONTENT_COMMON_VIEW_MESSAGES_H_ +#undef IPC_MESSAGE_EXPORT +#define IPC_MESSAGE_EXPORT CONTENT_EXPORT + #define IPC_MESSAGE_START ViewMsgStart IPC_ENUM_TRAITS(CSSColors::CSSColorName) diff --git a/content/common/view_types.h b/content/common/view_types.h index ae82e4f..6859180 100644 --- a/content/common/view_types.h +++ b/content/common/view_types.h @@ -7,9 +7,10 @@ #pragma once #include "base/basictypes.h" +#include "content/common/content_export.h" // Indicates different types of views -class ViewType { +class CONTENT_EXPORT ViewType { public: enum Type { INVALID, diff --git a/content/common/webkit_param_traits.h b/content/common/webkit_param_traits.h index a937581..8fce34e 100644 --- a/content/common/webkit_param_traits.h +++ b/content/common/webkit_param_traits.h @@ -17,6 +17,7 @@ #include <string> #include "base/memory/ref_counted.h" +#include "content/common/content_export.h" #include "ipc/ipc_message_utils.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebInputEvent.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebTextDirection.h" @@ -227,7 +228,7 @@ struct SimilarTypeTraits<WindowOpenDisposition> { }; template <> -struct ParamTraits<webkit_glue::PasswordForm> { +struct CONTENT_EXPORT ParamTraits<webkit_glue::PasswordForm> { typedef webkit_glue::PasswordForm param_type; static void Write(Message* m, const param_type& p); static bool Read(const Message* m, void** iter, param_type* p); diff --git a/content/renderer/p2p/host_address_request.h b/content/renderer/p2p/host_address_request.h index 72789aa..9a3de71 100644 --- a/content/renderer/p2p/host_address_request.h +++ b/content/renderer/p2p/host_address_request.h @@ -9,6 +9,7 @@ #include "base/callback.h" #include "base/memory/ref_counted.h" +#include "content/common/content_export.h" #include "net/base/net_util.h" namespace base { @@ -24,8 +25,8 @@ class P2PSocketDispatcher; // // TODO(sergeyu): Name of this class may be confusing. Rename it to // something else, e.g. P2PHostnameResolver. -class P2PHostAddressRequest : - public base::RefCountedThreadSafe<P2PHostAddressRequest> { +class CONTENT_EXPORT P2PHostAddressRequest + : public base::RefCountedThreadSafe<P2PHostAddressRequest> { public: typedef base::Callback<void(const net::IPAddressNumber&)> DoneCallback; diff --git a/content/renderer/p2p/ipc_network_manager.h b/content/renderer/p2p/ipc_network_manager.h index 3fa1705..83d236a 100644 --- a/content/renderer/p2p/ipc_network_manager.h +++ b/content/renderer/p2p/ipc_network_manager.h @@ -9,6 +9,7 @@ #include "base/task.h" #include "base/compiler_specific.h" +#include "content/common/content_export.h" #include "content/renderer/p2p/socket_dispatcher.h" #include "net/base/net_util.h" #include "third_party/libjingle/source/talk/base/network.h" @@ -21,7 +22,7 @@ class IpcNetworkManager : public talk_base::NetworkManagerBase, public P2PSocketDispatcher::NetworkListObserver { public: // Constructor doesn't take ownership of the |socket_dispatcher|. - IpcNetworkManager(P2PSocketDispatcher* socket_dispatcher); + CONTENT_EXPORT IpcNetworkManager(P2PSocketDispatcher* socket_dispatcher); virtual ~IpcNetworkManager(); virtual void StartUpdating() OVERRIDE; diff --git a/content/renderer/p2p/ipc_socket_factory.h b/content/renderer/p2p/ipc_socket_factory.h index 035e178..9c20fbb 100644 --- a/content/renderer/p2p/ipc_socket_factory.h +++ b/content/renderer/p2p/ipc_socket_factory.h @@ -6,6 +6,7 @@ #define CONTENT_RENDERER_P2P_IPC_SOCKET_FACTORY_H_ #include "base/basictypes.h" +#include "content/common/content_export.h" #include "third_party/libjingle/source/talk/base/packetsocketfactory.h" namespace content { @@ -20,7 +21,8 @@ class P2PSocketDispatcher; // created on. class IpcPacketSocketFactory : public talk_base::PacketSocketFactory { public: - explicit IpcPacketSocketFactory(P2PSocketDispatcher* socket_dispatcher); + CONTENT_EXPORT explicit IpcPacketSocketFactory( + P2PSocketDispatcher* socket_dispatcher); virtual ~IpcPacketSocketFactory(); virtual talk_base::AsyncPacketSocket* CreateUdpSocket( diff --git a/content/renderer/pepper_plugin_delegate_impl.h b/content/renderer/pepper_plugin_delegate_impl.h index b254488..ca2b3fd 100644 --- a/content/renderer/pepper_plugin_delegate_impl.h +++ b/content/renderer/pepper_plugin_delegate_impl.h @@ -14,6 +14,7 @@ #include "base/id_map.h" #include "base/memory/ref_counted.h" #include "base/memory/weak_ptr.h" +#include "content/common/content_export.h" #include "ppapi/proxy/broker_dispatcher.h" #include "ppapi/proxy/proxy_channel.h" #include "webkit/plugins/ppapi/plugin_delegate.h" @@ -128,7 +129,8 @@ class PepperPluginDelegateImpl // the second is that the plugin failed to initialize. In this case, // |*pepper_plugin_was_registered| will be set to true and the caller should // not fall back on any other plugin types. - scoped_refptr<webkit::ppapi::PluginModule> CreatePepperPluginModule( + CONTENT_EXPORT scoped_refptr<webkit::ppapi::PluginModule> + CreatePepperPluginModule( const webkit::WebPluginInfo& webplugin_info, bool* pepper_plugin_was_registered); @@ -303,7 +305,7 @@ class PepperPluginDelegateImpl OVERRIDE; virtual ::ppapi::Preferences GetPreferences() OVERRIDE; - int GetRoutingId() const; + CONTENT_EXPORT int GetRoutingId() const; private: void PublishInitialPolicy( diff --git a/content/renderer/render_process_observer.h b/content/renderer/render_process_observer.h index 2850170..2652017 100644 --- a/content/renderer/render_process_observer.h +++ b/content/renderer/render_process_observer.h @@ -8,12 +8,13 @@ #include "base/basictypes.h" #include "ipc/ipc_message.h" +#include "content/common/content_export.h" class GURL; // Base class for objects that want to filter control IPC messages and get // notified of events. -class RenderProcessObserver : public IPC::Message::Sender { +class CONTENT_EXPORT RenderProcessObserver : public IPC::Message::Sender { public: RenderProcessObserver(); virtual ~RenderProcessObserver(); diff --git a/content/renderer/render_thread.h b/content/renderer/render_thread.h index 893e4ce..da651ef 100644 --- a/content/renderer/render_thread.h +++ b/content/renderer/render_thread.h @@ -16,6 +16,7 @@ #include "base/timer.h" #include "build/build_config.h" #include "content/common/child_thread.h" +#include "content/common/content_export.h" #include "content/common/css_colors.h" #include "content/common/gpu/gpu_process_launch_causes.h" #include "ipc/ipc_channel_proxy.h" @@ -91,7 +92,7 @@ class Extension; // understand by moving everything to the abstract interface and saying that // there should never be a NULL RenderThread::current(). Tests would be // responsible for setting up the mock one. -class RenderThreadBase { +class CONTENT_EXPORT RenderThreadBase { public: virtual ~RenderThreadBase() {} @@ -119,8 +120,8 @@ class RenderThreadBase { // Most of the communication occurs in the form of IPC messages. They are // routed to the RenderThread according to the routing IDs of the messages. // The routing IDs correspond to RenderView instances. -class RenderThread : public RenderThreadBase, - public ChildThread { +class CONTENT_EXPORT RenderThread : public RenderThreadBase, + public ChildThread { public: // Grabs the IPC channel name from the command line. RenderThread(); diff --git a/content/renderer/render_view.h b/content/renderer/render_view.h index cadbc81..9c8d31e 100644 --- a/content/renderer/render_view.h +++ b/content/renderer/render_view.h @@ -23,6 +23,7 @@ #include "build/build_config.h" #include "content/renderer/render_view_selection.h" #include "content/renderer/renderer_webcookiejar_impl.h" +#include "content/common/content_export.h" #include "content/common/edit_command.h" #include "content/common/navigation_gesture.h" #include "content/common/page_zoom.h" @@ -189,16 +190,16 @@ class RenderView : public RenderWidget, // Visit all RenderViews with a live WebView (i.e., RenderViews that have // been closed but not yet destroyed are excluded). - static void ForEach(RenderViewVisitor* visitor); + CONTENT_EXPORT static void ForEach(RenderViewVisitor* visitor); // Returns the RenderView containing the given WebView. - static RenderView* FromWebView(WebKit::WebView* webview); + CONTENT_EXPORT static RenderView* FromWebView(WebKit::WebView* webview); // Sets the "next page id" counter. static void SetNextPageID(int32 next_page_id); // May return NULL when the view is closing. - WebKit::WebView* webview() const; + CONTENT_EXPORT WebKit::WebView* webview() const; // Called by a GraphicsContext associated with this view when swapbuffers // is posted, completes or is aborted. @@ -241,10 +242,10 @@ class RenderView : public RenderWidget, void RemoveObserver(RenderViewObserver* observer); // Evaluates a string of JavaScript in a particular frame. - void EvaluateScript(const string16& frame_xpath, - const string16& jscript, - int id, - bool notify_result); + CONTENT_EXPORT void EvaluateScript(const string16& frame_xpath, + const string16& jscript, + int id, + bool notify_result); // Adds the given file chooser request to the file_chooser_completion_ queue // (see that var for more) and requests the chooser be displayed if there are @@ -259,17 +260,18 @@ class RenderView : public RenderWidget, void SetReportLoadProgressEnabled(bool enabled); // Gets the focused node. If no such node exists then the node will be isNull. - WebKit::WebNode GetFocusedNode() const; + CONTENT_EXPORT WebKit::WebNode GetFocusedNode() const; // Returns true if the parameter node is a textfield, text area or a content // editable div. - bool IsEditableNode(const WebKit::WebNode& node); + CONTENT_EXPORT bool IsEditableNode(const WebKit::WebNode& node); - void LoadNavigationErrorPage(WebKit::WebFrame* frame, - const WebKit::WebURLRequest& failed_request, - const WebKit::WebURLError& error, - const std::string& html, - bool replace); + CONTENT_EXPORT void LoadNavigationErrorPage( + WebKit::WebFrame* frame, + const WebKit::WebURLRequest& failed_request, + const WebKit::WebURLError& error, + const std::string& html, + bool replace); // Plugin-related functions -------------------------------------------------- // (See also WebPluginPageDelegate implementation.) @@ -278,13 +280,14 @@ class RenderView : public RenderWidget, void PluginCrashed(const FilePath& plugin_path); // Create a new NPAPI plugin. - WebKit::WebPlugin* CreateNPAPIPlugin(WebKit::WebFrame* frame, - const WebKit::WebPluginParams& params, - const FilePath& path, - const std::string& mime_type); + CONTENT_EXPORT WebKit::WebPlugin* CreateNPAPIPlugin( + WebKit::WebFrame* frame, + const WebKit::WebPluginParams& params, + const FilePath& path, + const std::string& mime_type); // Create a new Pepper plugin. - WebKit::WebPlugin* CreatePepperPlugin( + CONTENT_EXPORT WebKit::WebPlugin* CreatePepperPlugin( WebKit::WebFrame* frame, const WebKit::WebPluginParams& params, const FilePath& path, @@ -295,8 +298,9 @@ class RenderView : public RenderWidget, webkit::ppapi::PluginInstance* plugin); // Create a new plugin without checking the content settings. - WebKit::WebPlugin* CreatePluginNoCheck(WebKit::WebFrame* frame, - const WebKit::WebPluginParams& params); + CONTENT_EXPORT WebKit::WebPlugin* CreatePluginNoCheck( + WebKit::WebFrame* frame, + const WebKit::WebPluginParams& params); // Informs the render view that a PPAPI plugin has gained or lost focus. void PpapiPluginFocusChanged(); diff --git a/content/renderer/render_view_observer.h b/content/renderer/render_view_observer.h index 78ce58f..de5dda5 100644 --- a/content/renderer/render_view_observer.h +++ b/content/renderer/render_view_observer.h @@ -7,6 +7,7 @@ #pragma once #include "base/basictypes.h" +#include "content/common/content_export.h" #include "ipc/ipc_channel.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebIconURL.h" @@ -26,8 +27,8 @@ struct WebURLError; // Base class for objects that want to filter incoming IPCs, and also get // notified of changes to the frame. -class RenderViewObserver : public IPC::Channel::Listener, - public IPC::Message::Sender { +class CONTENT_EXPORT RenderViewObserver : public IPC::Channel::Listener, + public IPC::Message::Sender { public: // By default, observers will be deleted when the RenderView goes away. If // they want to outlive it, they can override this function. diff --git a/content/renderer/v8_value_converter.h b/content/renderer/v8_value_converter.h index 6c3c6a9..4c74f2f 100644 --- a/content/renderer/v8_value_converter.h +++ b/content/renderer/v8_value_converter.h @@ -5,6 +5,7 @@ #ifndef CHROME_RENDERER_V8_VALUE_CONVERTER_H_ #define CHROME_RENDERER_V8_VALUE_CONVERTER_H_ +#include "content/common/content_export.h" #include "v8/include/v8.h" namespace base { @@ -20,7 +21,7 @@ class Value; // Only the JSON types (null, boolean, string, number, array, and object) are // supported by default. Additional types can be allowed with e.g. // set_allow_date(), set_allow_regexp(). -class V8ValueConverter { +class CONTENT_EXPORT V8ValueConverter { public: V8ValueConverter(); diff --git a/content/renderer/web_ui_bindings.h b/content/renderer/web_ui_bindings.h index 0d49c96..b8f8c81 100644 --- a/content/renderer/web_ui_bindings.h +++ b/content/renderer/web_ui_bindings.h @@ -6,6 +6,7 @@ #define CONTENT_RENDERER_WEB_UI_BINDINGS_H_ #pragma once +#include "content/common/content_export.h" #include "ipc/ipc_message.h" #include "webkit/glue/cpp_bound_class.h" @@ -14,8 +15,8 @@ // in the browser process. class DOMBoundBrowserObject : public CppBoundClass { public: - DOMBoundBrowserObject(); - virtual ~DOMBoundBrowserObject(); + CONTENT_EXPORT DOMBoundBrowserObject(); + CONTENT_EXPORT virtual ~DOMBoundBrowserObject(); // Set the message channel back to the browser. void set_message_sender(IPC::Message::Sender* sender) { diff --git a/content/utility/utility_thread.h b/content/utility/utility_thread.h index 18605d8..bc19482 100644 --- a/content/utility/utility_thread.h +++ b/content/utility/utility_thread.h @@ -13,6 +13,7 @@ #include "base/compiler_specific.h" #include "base/string16.h" #include "content/common/child_thread.h" +#include "content/common/content_export.h" class IndexedDBKey; class SerializedScriptValue; @@ -28,7 +29,7 @@ class UtilityThread : public ChildThread { virtual ~UtilityThread(); // Releases the process if we are not (or no longer) in batch mode. - void ReleaseProcessIfNeeded(); + CONTENT_EXPORT void ReleaseProcessIfNeeded(); // Returns the one utility thread. static UtilityThread* current() { |