diff options
author | rsimha@chromium.org <rsimha@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-02 08:31:51 +0000 |
---|---|---|
committer | rsimha@chromium.org <rsimha@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-02 08:31:51 +0000 |
commit | cc7a544c7ed441865a8cabe21409314c857d1831 (patch) | |
tree | ed56e6182e951d985abbe2a10c627565e0d90f7e /sync/internal_api/public/util/weak_handle.h | |
parent | dcc72db730c7fb95e9590e01b2e3237d1b13ba98 (diff) | |
download | chromium_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.h | 5 |
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 |