Index: webkit/child/web_discardable_memory_impl.cc |
diff --git a/webkit/child/web_discardable_memory_impl.cc b/webkit/child/web_discardable_memory_impl.cc |
index 0e2663c00e9fccf184fdb74ced5593450c066de6..285f1b0de9a47dce20dedad2610ee2dca244ae96 100644 |
--- a/webkit/child/web_discardable_memory_impl.cc |
+++ b/webkit/child/web_discardable_memory_impl.cc |
@@ -6,14 +6,16 @@ |
namespace webkit_glue { |
-WebDiscardableMemoryImpl::WebDiscardableMemoryImpl() |
- : discardable_(new base::DiscardableMemory()) { |
-} |
- |
WebDiscardableMemoryImpl::~WebDiscardableMemoryImpl() {} |
-bool WebDiscardableMemoryImpl::InitializeAndLock(size_t size) { |
- return discardable_->InitializeAndLock(size); |
+// static |
+scoped_ptr<WebDiscardableMemoryImpl> |
+WebDiscardableMemoryImpl::CreateLockedMemory(size_t size) { |
+ scoped_ptr<base::DiscardableMemory> memory( |
+ base::DiscardableMemory::CreateLockedMemory(size)); |
+ if (!memory) |
+ return scoped_ptr<WebDiscardableMemoryImpl>(); |
+ return make_scoped_ptr(new WebDiscardableMemoryImpl(memory.Pass())); |
} |
bool WebDiscardableMemoryImpl::lock() { |
@@ -30,12 +32,17 @@ bool WebDiscardableMemoryImpl::lock() { |
} |
} |
+void WebDiscardableMemoryImpl::unlock() { |
+ discardable_->Unlock(); |
+} |
+ |
void* WebDiscardableMemoryImpl::data() { |
return discardable_->Memory(); |
} |
-void WebDiscardableMemoryImpl::unlock() { |
- discardable_->Unlock(); |
+WebDiscardableMemoryImpl::WebDiscardableMemoryImpl( |
+ scoped_ptr<base::DiscardableMemory> memory) |
+ : discardable_(memory.Pass()) { |
} |
} // namespace webkit_glue |