Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3053)

Unified Diff: base/mac/scoped_block.h

Issue 1855483004: [iOS/OS X] Allow base::scoped_nsobject<> to be used when ARC is enabled. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Revert changes to build/config/compiler/BUILD.gn Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: base/mac/scoped_block.h
diff --git a/base/mac/scoped_block.h b/base/mac/scoped_block.h
index bc2688f13ac064d9c1acfd37fedc37d72c52b458..d46a4e3101f174eef879bb3e5b89f81fd7e0c387 100644
--- a/base/mac/scoped_block.h
+++ b/base/mac/scoped_block.h
@@ -14,11 +14,14 @@ namespace mac {
namespace internal {
+id ScopedBlockTraitsRetain(id block);
Mark Mentovai 2016/04/05 00:09:15 Blocks are normally typed as const void*. If you u
+void ScopedBlockTraitsRelease(id block);
+
template <typename B>
struct ScopedBlockTraits {
static B InvalidValue() { return nullptr; }
- static B Retain(B block) { return Block_copy(block); }
- static void Release(B block) { Block_release(block); }
+ static B Retain(B block) { return ScopedBlockTraitsRetain(block); }
+ static void Release(B block) { ScopedBlockTraitsRelease(block); }
};
} // namespace internal
« no previous file with comments | « base/mac/bind_objc_block.h ('k') | base/mac/scoped_block.mm » ('j') | base/mac/scoped_block.mm » ('J')

Powered by Google App Engine
This is Rietveld 408576698