Coverity: Remove default TabCaptureRequest constructor.

Review URL: https://chromiumcodereview.appspot.com/11734034

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175269 0039d316-1c4b-4281-b951-d872f2087c98
parent d7f5ee8b
...@@ -4,6 +4,8 @@ ...@@ -4,6 +4,8 @@
#include "chrome/browser/extensions/api/tab_capture/tab_capture_registry.h" #include "chrome/browser/extensions/api/tab_capture/tab_capture_registry.h"
#include <utility>
#include "content/public/browser/browser_thread.h" #include "content/public/browser/browser_thread.h"
#include "chrome/browser/extensions/event_names.h" #include "chrome/browser/extensions/event_names.h"
#include "chrome/browser/extensions/event_router.h" #include "chrome/browser/extensions/event_router.h"
...@@ -21,6 +23,14 @@ using content::BrowserThread; ...@@ -21,6 +23,14 @@ using content::BrowserThread;
namespace extensions { 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) TabCaptureRegistry::TabCaptureRegistry(Profile* profile)
: proxy_(new MediaObserverProxy()), profile_(profile) { : proxy_(new MediaObserverProxy()), profile_(profile) {
proxy_->Attach(this); proxy_->Attach(this);
...@@ -44,7 +54,8 @@ void TabCaptureRegistry::HandleRequestUpdateOnUIThread( ...@@ -44,7 +54,8 @@ void TabCaptureRegistry::HandleRequestUpdateOnUIThread(
std::pair<int, int> key = std::make_pair(render_process_id, render_view_id); 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."; LOG(ERROR) << "Receiving updates for invalid tab capture request.";
return; return;
} }
...@@ -77,19 +88,19 @@ void TabCaptureRegistry::HandleRequestUpdateOnUIThread( ...@@ -77,19 +88,19 @@ void TabCaptureRegistry::HandleRequestUpdateOnUIThread(
return; return;
} }
TabCaptureRegistry::TabCaptureRequest& request_info = requests_[key]; TabCaptureRegistry::TabCaptureRequest* request_info = &request_it->second;
request_info.status = state; request_info->status = state;
scoped_ptr<tab_capture::CaptureInfo> info(new tab_capture::CaptureInfo()); scoped_ptr<tab_capture::CaptureInfo> info(new tab_capture::CaptureInfo());
info->tab_id = request_info.tab_id; info->tab_id = request_info->tab_id;
info->status = request_info.status; info->status = request_info->status;
scoped_ptr<base::ListValue> args(new ListValue()); scoped_ptr<base::ListValue> args(new ListValue());
args->Append(info->ToValue().release()); args->Append(info->ToValue().release());
scoped_ptr<Event> event(new Event( scoped_ptr<Event> event(new Event(
events::kOnTabCaptureStatusChanged, args.Pass())); events::kOnTabCaptureStatusChanged, args.Pass()));
event->restrict_to_profile = profile_; event->restrict_to_profile = profile_;
router->DispatchEventToExtension(request_info.extension_id, event.Pass()); router->DispatchEventToExtension(request_info->extension_id, event.Pass());
} }
const TabCaptureRegistry::CaptureRequestList const TabCaptureRegistry::CaptureRequestList
...@@ -130,13 +141,14 @@ void TabCaptureRegistry::Observe(int type, ...@@ -130,13 +141,14 @@ void TabCaptureRegistry::Observe(int type,
bool TabCaptureRegistry::AddRequest(const std::pair<int, int> key, bool TabCaptureRegistry::AddRequest(const std::pair<int, int> key,
const TabCaptureRequest& request) { const TabCaptureRequest& request) {
// Currently, we do not allow multiple active captures for same tab. // Currently, we do not allow multiple active captures for same tab.
if (requests_.find(key) != requests_.end()) DeviceCaptureRequestMap::iterator it = requests_.find(key);
if (requests_[key].status != if (it != requests_.end()) {
tab_capture::TAB_CAPTURE_TAB_CAPTURE_STATE_STOPPED && const tab_capture::TabCaptureState state = it->second.status;
requests_[key].status != if (state != tab_capture::TAB_CAPTURE_TAB_CAPTURE_STATE_STOPPED &&
tab_capture::TAB_CAPTURE_TAB_CAPTURE_STATE_ERROR) state != tab_capture::TAB_CAPTURE_TAB_CAPTURE_STATE_ERROR)
return false; return false;
requests_[key] = request; }
requests_.insert(std::make_pair(key, request));
return true; return true;
} }
......
...@@ -29,14 +29,14 @@ class TabCaptureRegistry : public ProfileKeyedService, ...@@ -29,14 +29,14 @@ class TabCaptureRegistry : public ProfileKeyedService,
public content::NotificationObserver { public content::NotificationObserver {
public: public:
struct TabCaptureRequest { struct TabCaptureRequest {
TabCaptureRequest(std::string extension_id,
int tab_id,
tab_capture::TabCaptureState status);
~TabCaptureRequest();
std::string extension_id; std::string extension_id;
int tab_id; int tab_id;
tab_capture::TabCaptureState status; tab_capture::TabCaptureState status;
TabCaptureRequest() : tab_id(-1) {}
TabCaptureRequest(std::string extension_id, int tab_id,
tab_capture::TabCaptureState status)
: extension_id(extension_id), tab_id(tab_id), status(status) {}
}; };
typedef std::vector<TabCaptureRequest> CaptureRequestList; typedef std::vector<TabCaptureRequest> CaptureRequestList;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment