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

Unified Diff: chrome/browser/extensions/api/tab_capture/tab_capture_registry.cc

Issue 11734034: Coverity: Remove default TabCaptureRequest constructor. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: nit Created 7 years, 12 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
« no previous file with comments | « chrome/browser/extensions/api/tab_capture/tab_capture_registry.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 3953de0049b504fe7a8da84bd7b802e03a3f007a..bdecda596e86efeece363fd4b006ca5520822351 100644
--- a/chrome/browser/extensions/api/tab_capture/tab_capture_registry.cc
+++ b/chrome/browser/extensions/api/tab_capture/tab_capture_registry.cc
@@ -4,6 +4,8 @@
#include "chrome/browser/extensions/api/tab_capture/tab_capture_registry.h"
+#include <utility>
+
#include "content/public/browser/browser_thread.h"
#include "chrome/browser/extensions/event_names.h"
#include "chrome/browser/extensions/event_router.h"
@@ -21,6 +23,14 @@ using content::BrowserThread;
namespace extensions {
+TabCaptureRegistry::TabCaptureRequest::TabCaptureRequest(
+ std::string extension_id, int tab_id, tab_capture::TabCaptureState status)
+ : extension_id(extension_id), tab_id(tab_id), status(status) {
+}
+
+TabCaptureRegistry::TabCaptureRequest::~TabCaptureRequest() {
+}
+
TabCaptureRegistry::TabCaptureRegistry(Profile* profile)
: proxy_(new MediaObserverProxy()), profile_(profile) {
proxy_->Attach(this);
@@ -44,7 +54,8 @@ void TabCaptureRegistry::HandleRequestUpdateOnUIThread(
std::pair<int, int> key = std::make_pair(render_process_id, render_view_id);
- if (requests_.find(key) == requests_.end()) {
+ DeviceCaptureRequestMap::iterator request_it = requests_.find(key);
+ if (request_it == requests_.end()) {
LOG(ERROR) << "Receiving updates for invalid tab capture request.";
return;
}
@@ -77,19 +88,19 @@ void TabCaptureRegistry::HandleRequestUpdateOnUIThread(
return;
}
- TabCaptureRegistry::TabCaptureRequest& request_info = requests_[key];
- request_info.status = state;
+ TabCaptureRegistry::TabCaptureRequest* request_info = &request_it->second;
+ request_info->status = state;
scoped_ptr<tab_capture::CaptureInfo> info(new tab_capture::CaptureInfo());
- info->tab_id = request_info.tab_id;
- info->status = request_info.status;
+ info->tab_id = request_info->tab_id;
+ info->status = request_info->status;
scoped_ptr<base::ListValue> args(new ListValue());
args->Append(info->ToValue().release());
scoped_ptr<Event> event(new Event(
events::kOnTabCaptureStatusChanged, args.Pass()));
event->restrict_to_profile = profile_;
- router->DispatchEventToExtension(request_info.extension_id, event.Pass());
+ router->DispatchEventToExtension(request_info->extension_id, event.Pass());
}
const TabCaptureRegistry::CaptureRequestList
@@ -130,13 +141,14 @@ void TabCaptureRegistry::Observe(int type,
bool TabCaptureRegistry::AddRequest(const std::pair<int, int> key,
const TabCaptureRequest& request) {
// Currently, we do not allow multiple active captures for same tab.
- if (requests_.find(key) != requests_.end())
- if (requests_[key].status !=
- tab_capture::TAB_CAPTURE_TAB_CAPTURE_STATE_STOPPED &&
- requests_[key].status !=
- tab_capture::TAB_CAPTURE_TAB_CAPTURE_STATE_ERROR)
+ DeviceCaptureRequestMap::iterator it = requests_.find(key);
+ if (it != requests_.end()) {
+ const tab_capture::TabCaptureState state = it->second.status;
+ if (state != tab_capture::TAB_CAPTURE_TAB_CAPTURE_STATE_STOPPED &&
+ state != tab_capture::TAB_CAPTURE_TAB_CAPTURE_STATE_ERROR)
return false;
- requests_[key] = request;
+ }
+ requests_.insert(std::make_pair(key, request));
return true;
}
« no previous file with comments | « chrome/browser/extensions/api/tab_capture/tab_capture_registry.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698