webview: fix partition attribute

This commit is contained in:
Robo 2015-08-06 20:31:05 +05:30
parent c65ccb6857
commit d180d3b168
7 changed files with 74 additions and 13 deletions

View file

@ -48,7 +48,7 @@ void WebViewManager::AddGuest(int guest_instance_id,
content::WebContents* web_contents,
const WebViewInfo& info) {
base::AutoLock auto_lock(lock_);
web_contents_embdder_map_[guest_instance_id] = { web_contents, embedder };
web_contents_embedder_map_[guest_instance_id] = { web_contents, embedder };
webview_info_map_[web_contents] = info;
// Map the element in embedder to guest.
@ -59,11 +59,12 @@ void WebViewManager::AddGuest(int guest_instance_id,
void WebViewManager::RemoveGuest(int guest_instance_id) {
base::AutoLock auto_lock(lock_);
if (!ContainsKey(web_contents_embdder_map_, guest_instance_id))
if (!ContainsKey(web_contents_embedder_map_, guest_instance_id))
return;
auto web_contents = web_contents_embdder_map_[guest_instance_id].web_contents;
web_contents_embdder_map_.erase(guest_instance_id);
auto web_contents =
web_contents_embedder_map_[guest_instance_id].web_contents;
web_contents_embedder_map_.erase(guest_instance_id);
webview_info_map_.erase(web_contents);
// Remove the record of element in embedder too.
@ -82,15 +83,15 @@ content::WebContents* WebViewManager::GetGuestByInstanceID(
return nullptr;
int guest_instance_id = element_instance_id_to_guest_map_[key];
if (ContainsKey(web_contents_embdder_map_, guest_instance_id))
return web_contents_embdder_map_[guest_instance_id].web_contents;
if (ContainsKey(web_contents_embedder_map_, guest_instance_id))
return web_contents_embedder_map_[guest_instance_id].web_contents;
else
return nullptr;
}
bool WebViewManager::ForEachGuest(content::WebContents* embedder_web_contents,
const GuestCallback& callback) {
for (auto& item : web_contents_embdder_map_)
for (auto& item : web_contents_embedder_map_)
if (item.second.embedder == embedder_web_contents &&
callback.Run(item.second.web_contents))
return true;