Add lock for WebViewRendererState
This commit is contained in:
parent
f1bca5dd0f
commit
c1f3d22910
2 changed files with 6 additions and 0 deletions
|
@ -20,21 +20,25 @@ WebViewRendererState::~WebViewRendererState() {
|
|||
}
|
||||
|
||||
bool WebViewRendererState::IsGuest(int render_process_id) {
|
||||
base::AutoLock auto_lock(lock_);
|
||||
return webview_info_map_.find(render_process_id) !=
|
||||
webview_info_map_.end();
|
||||
}
|
||||
|
||||
void WebViewRendererState::AddGuest(int guest_process_id,
|
||||
const WebViewInfo& webview_info) {
|
||||
base::AutoLock auto_lock(lock_);
|
||||
webview_info_map_[guest_process_id] = webview_info;
|
||||
}
|
||||
|
||||
void WebViewRendererState::RemoveGuest(int guest_process_id) {
|
||||
base::AutoLock auto_lock(lock_);
|
||||
webview_info_map_.erase(guest_process_id);
|
||||
}
|
||||
|
||||
bool WebViewRendererState::GetInfo(int guest_process_id,
|
||||
WebViewInfo* webview_info) {
|
||||
base::AutoLock auto_lock(lock_);
|
||||
WebViewInfoMap::iterator iter = webview_info_map_.find(guest_process_id);
|
||||
if (iter != webview_info_map_.end()) {
|
||||
*webview_info = iter->second;
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
|
||||
#include "base/files/file_path.h"
|
||||
#include "base/memory/singleton.h"
|
||||
#include "base/synchronization/lock.h"
|
||||
|
||||
namespace content {
|
||||
class WebContents;
|
||||
|
@ -56,6 +57,7 @@ class WebViewRendererState {
|
|||
void RemoveGuest(int render_process_id);
|
||||
|
||||
WebViewInfoMap webview_info_map_;
|
||||
base::Lock lock_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(WebViewRendererState);
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue