summaryrefslogtreecommitdiffstats
path: root/sync/internal_api/public/util/weak_handle.h
diff options
context:
space:
mode:
authorrsimha@chromium.org <rsimha@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-02 08:31:51 +0000
committerrsimha@chromium.org <rsimha@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-02 08:31:51 +0000
commitcc7a544c7ed441865a8cabe21409314c857d1831 (patch)
treeed56e6182e951d985abbe2a10c627565e0d90f7e /sync/internal_api/public/util/weak_handle.h
parentdcc72db730c7fb95e9590e01b2e3237d1b13ba98 (diff)
downloadchromium_src-cc7a544c7ed441865a8cabe21409314c857d1831.zip
chromium_src-cc7a544c7ed441865a8cabe21409314c857d1831.tar.gz
chromium_src-cc7a544c7ed441865a8cabe21409314c857d1831.tar.bz2
[sync] Componentize sync: Part 6: Add more SYNC_EXPORTs to files in src/sync/
One of the long term goals of the sync team is to pull sync code out of chrome.dll and into its own component. As of today, several chrome targets depend on various sync targets as defined in sync.gyp. We'd like to move to a world where all chrome targets outside sync.gyp simply depend on the target sync.gyp:sync, which is built into its own component. This patch sets the stage for full componentization by adding SYNC_EXPORT_PRIVATE (and some SYNC_EXPORT) annotations to classes / methods within src/sync so that various chrome targets can reference them. It also makes a few assorted fixes like adding missing destructors, etc. These errors get flagged when component builds are enabled after componentizing sync. The final step of breaking off sync into its own component will be done in https://codereview.chromium.org/11412211. BUG=136928 Review URL: https://codereview.chromium.org/11624037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174801 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync/internal_api/public/util/weak_handle.h')
-rw-r--r--sync/internal_api/public/util/weak_handle.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/sync/internal_api/public/util/weak_handle.h b/sync/internal_api/public/util/weak_handle.h
index bac7c37..57a44bd 100644
--- a/sync/internal_api/public/util/weak_handle.h
+++ b/sync/internal_api/public/util/weak_handle.h
@@ -58,6 +58,7 @@
#include "base/logging.h"
#include "base/memory/ref_counted.h"
#include "base/memory/weak_ptr.h"
+#include "sync/base/sync_export.h"
namespace base {
class MessageLoopProxy;
@@ -99,7 +100,7 @@ struct ParamTraits<T[]> {
// Base class for WeakHandleCore<T> to avoid template bloat. Handles
// the interaction with the owner thread and its message loop.
-class WeakHandleCoreBase {
+class SYNC_EXPORT WeakHandleCoreBase {
public:
// Assumes the current thread is the owner thread.
WeakHandleCoreBase();
@@ -125,7 +126,7 @@ class WeakHandleCoreBase {
// WeakHandleCore<T> contains all the logic for WeakHandle<T>.
template <typename T>
class WeakHandleCore
- : public NON_EXPORTED_BASE(WeakHandleCoreBase),
+ : public WeakHandleCoreBase,
public base::RefCountedThreadSafe<WeakHandleCore<T> > {
public:
// Must be called on |ptr|'s owner thread, which is assumed to be