Index: chrome/browser/extensions/api/tab_capture/tab_capture_registry.cc |
diff --git a/chrome/browser/extensions/api/tab_capture/tab_capture_registry.cc b/chrome/browser/extensions/api/tab_capture/tab_capture_registry.cc |
index 5745674dca96f08803f85f71aa87861fc94d2d2b..c415de6e71da2bf9da465f097dead6b1fa25b302 100644 |
--- a/chrome/browser/extensions/api/tab_capture/tab_capture_registry.cc |
+++ b/chrome/browser/extensions/api/tab_capture/tab_capture_registry.cc |
@@ -8,6 +8,7 @@ |
#include "base/lazy_instance.h" |
#include "base/macros.h" |
+#include "base/memory/ptr_util.h" |
#include "base/values.h" |
#include "chrome/browser/sessions/session_tab_helper.h" |
#include "components/keyed_service/content/browser_context_dependency_manager.h" |
@@ -272,7 +273,7 @@ void TabCaptureRegistry::GetCapturedTabs( |
DCHECK_CURRENTLY_ON(BrowserThread::UI); |
DCHECK(list_of_capture_info); |
list_of_capture_info->Clear(); |
- for (const LiveRequest* request : requests_) { |
+ for (const std::unique_ptr<LiveRequest>& request : requests_) { |
if (request->is_anonymous() || !request->is_verified() || |
request->extension_id() != extension_id) |
continue; |
@@ -287,7 +288,8 @@ void TabCaptureRegistry::OnExtensionUnloaded( |
const Extension* extension, |
UnloadedExtensionInfo::Reason reason) { |
// Cleanup all the requested media streams for this extension. |
- for (ScopedVector<LiveRequest>::iterator it = requests_.begin(); |
+ for (std::vector<std::unique_ptr<LiveRequest>>::iterator it = |
+ requests_.begin(); |
it != requests_.end();) { |
if ((*it)->extension_id() == extension->id()) { |
it = requests_.erase(it); |
@@ -313,8 +315,8 @@ bool TabCaptureRegistry::AddRequest(content::WebContents* target_contents, |
} |
} |
- requests_.push_back( |
- new LiveRequest(target_contents, extension_id, is_anonymous, this)); |
+ requests_.push_back(base::MakeUnique<LiveRequest>( |
+ target_contents, extension_id, is_anonymous, this)); |
return true; |
} |
@@ -436,31 +438,31 @@ void TabCaptureRegistry::DispatchStatusChangeEvent( |
TabCaptureRegistry::LiveRequest* TabCaptureRegistry::FindRequest( |
const content::WebContents* target_contents) const { |
- for (ScopedVector<LiveRequest>::const_iterator it = requests_.begin(); |
- it != requests_.end(); ++it) { |
- if ((*it)->web_contents() == target_contents) |
- return *it; |
+ for (const auto& request : requests_) { |
+ if (request->web_contents() == target_contents) |
+ return request.get(); |
} |
- return NULL; |
+ return nullptr; |
} |
TabCaptureRegistry::LiveRequest* TabCaptureRegistry::FindRequest( |
int original_target_render_process_id, |
int original_target_render_frame_id) const { |
- for (ScopedVector<LiveRequest>::const_iterator it = requests_.begin(); |
- it != requests_.end(); ++it) { |
- if ((*it)->WasOriginallyTargettingRenderFrameID( |
+ for (const std::unique_ptr<LiveRequest>& request : requests_) { |
+ if (request->WasOriginallyTargettingRenderFrameID( |
original_target_render_process_id, |
- original_target_render_frame_id)) |
- return *it; |
+ original_target_render_frame_id)) { |
+ return request.get(); |
+ } |
} |
- return NULL; |
+ return nullptr; |
} |
void TabCaptureRegistry::KillRequest(LiveRequest* request) { |
- for (ScopedVector<LiveRequest>::iterator it = requests_.begin(); |
+ for (std::vector<std::unique_ptr<LiveRequest>>::iterator it = |
+ requests_.begin(); |
it != requests_.end(); ++it) { |
- if ((*it) == request) { |
+ if (it->get() == request) { |
requests_.erase(it); |
return; |
} |