| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "extensions/browser/mojo/stash_backend.h" | 5 #include "extensions/browser/mojo/stash_backend.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <utility> | 9 #include <utility> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 95 : on_handle_readable_(on_handle_readable), | 95 : on_handle_readable_(on_handle_readable), |
| 96 has_notified_(false), | 96 has_notified_(false), |
| 97 weak_factory_(this) { | 97 weak_factory_(this) { |
| 98 } | 98 } |
| 99 | 99 |
| 100 StashBackend::~StashBackend() { | 100 StashBackend::~StashBackend() { |
| 101 } | 101 } |
| 102 | 102 |
| 103 void StashBackend::AddToStash(mojo::Array<StashedObjectPtr> stashed_objects) { | 103 void StashBackend::AddToStash(mojo::Array<StashedObjectPtr> stashed_objects) { |
| 104 for (size_t i = 0; i < stashed_objects.size(); i++) { | 104 for (size_t i = 0; i < stashed_objects.size(); i++) { |
| 105 stashed_objects_.push_back(base::WrapUnique(new StashEntry( | 105 stashed_objects_.push_back(base::MakeUnique<StashEntry>( |
| 106 std::move(stashed_objects[i]), | 106 std::move(stashed_objects[i]), |
| 107 has_notified_ ? base::Closure() | 107 has_notified_ ? base::Closure() |
| 108 : base::Bind(&StashBackend::OnHandleReady, | 108 : base::Bind(&StashBackend::OnHandleReady, |
| 109 weak_factory_.GetWeakPtr())))); | 109 weak_factory_.GetWeakPtr()))); |
| 110 } | 110 } |
| 111 } | 111 } |
| 112 | 112 |
| 113 mojo::Array<StashedObjectPtr> StashBackend::RetrieveStash() { | 113 mojo::Array<StashedObjectPtr> StashBackend::RetrieveStash() { |
| 114 has_notified_ = false; | 114 has_notified_ = false; |
| 115 mojo::Array<StashedObjectPtr> result; | 115 mojo::Array<StashedObjectPtr> result; |
| 116 for (auto& entry : stashed_objects_) { | 116 for (auto& entry : stashed_objects_) { |
| 117 result.push_back(entry->Release()); | 117 result.push_back(entry->Release()); |
| 118 } | 118 } |
| 119 stashed_objects_.clear(); | 119 stashed_objects_.clear(); |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 waiters_.clear(); | 163 waiters_.clear(); |
| 164 } | 164 } |
| 165 | 165 |
| 166 void StashBackend::StashEntry::OnHandleReady(MojoResult result) { | 166 void StashBackend::StashEntry::OnHandleReady(MojoResult result) { |
| 167 if (result != MOJO_RESULT_OK) | 167 if (result != MOJO_RESULT_OK) |
| 168 return; | 168 return; |
| 169 on_handle_readable_.Run(); | 169 on_handle_readable_.Run(); |
| 170 } | 170 } |
| 171 | 171 |
| 172 } // namespace extensions | 172 } // namespace extensions |
| OLD | NEW |