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

Unified Diff: extensions/browser/extension_api_frame_id_map.cc

Issue 2002763003: webRequest: reliably determine tabId (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@webRequest-testing-unload
Patch Set: Last nits Created 4 years, 7 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 | « extensions/browser/extension_api_frame_id_map.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: extensions/browser/extension_api_frame_id_map.cc
diff --git a/extensions/browser/extension_api_frame_id_map.cc b/extensions/browser/extension_api_frame_id_map.cc
index d8566f97598cca9bd3f513da1ec5e5baf7dc40c1..561bb89d3f56018e44849b658d422512a7fac75f 100644
--- a/extensions/browser/extension_api_frame_id_map.cc
+++ b/extensions/browser/extension_api_frame_id_map.cc
@@ -110,7 +110,7 @@ int ExtensionApiFrameIdMap::GetFrameId(content::RenderFrameHost* rfh) {
int ExtensionApiFrameIdMap::GetFrameId(
content::NavigationHandle* navigation_handle) {
return navigation_handle->IsInMainFrame()
- ? 0
+ ? kTopFrameId
: navigation_handle->GetFrameTreeNodeId();
}
@@ -123,10 +123,10 @@ int ExtensionApiFrameIdMap::GetParentFrameId(content::RenderFrameHost* rfh) {
int ExtensionApiFrameIdMap::GetParentFrameId(
content::NavigationHandle* navigation_handle) {
if (navigation_handle->IsInMainFrame())
- return -1;
+ return kInvalidFrameId;
if (navigation_handle->IsParentMainFrame())
- return 0;
+ return kTopFrameId;
return navigation_handle->GetParentFrameTreeNodeId();
}
@@ -164,7 +164,7 @@ ExtensionApiFrameIdMap::FrameData ExtensionApiFrameIdMap::KeyToValue(
ExtensionApiFrameIdMap::FrameData ExtensionApiFrameIdMap::LookupFrameDataOnUI(
const RenderFrameIdKey& key,
- bool for_lookup) {
+ bool is_from_io) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
bool lookup_successful = false;
@@ -186,7 +186,7 @@ ExtensionApiFrameIdMap::FrameData ExtensionApiFrameIdMap::LookupFrameDataOnUI(
// TODO(devlin): Depending on how the data looks, this may be removable after
// a few cycles. Check back in M52 to see if it's still needed.
- if (for_lookup) {
+ if (is_from_io) {
UMA_HISTOGRAM_BOOLEAN("Extensions.ExtensionFrameMapLookupSuccessful",
lookup_successful);
}
@@ -201,7 +201,7 @@ void ExtensionApiFrameIdMap::ReceivedFrameDataOnIO(
FrameDataCallbacksMap::iterator map_iter = callbacks_map_.find(key);
if (map_iter == callbacks_map_.end()) {
- // Can happen if ReceivedFrameIdOnIO was called after the frame ID was
+ // Can happen if ReceivedFrameDataOnIO was called after the frame ID was
// resolved (e.g. via GetFrameDataOnIO), but before PostTaskAndReply
// replied.
return;
@@ -269,7 +269,7 @@ void ExtensionApiFrameIdMap::GetFrameDataOnIO(
content::BrowserThread::PostTaskAndReplyWithResult(
content::BrowserThread::UI, FROM_HERE,
base::Bind(&ExtensionApiFrameIdMap::LookupFrameDataOnUI,
- base::Unretained(this), key, true /* for lookup */),
+ base::Unretained(this), key, true /* is_from_io */),
base::Bind(&ExtensionApiFrameIdMap::ReceivedFrameDataOnIO,
base::Unretained(this), key));
}
@@ -293,8 +293,8 @@ bool ExtensionApiFrameIdMap::GetCachedFrameDataOnIO(int render_process_id,
FrameDataMap::const_iterator frame_id_iter = frame_data_map_.find(
RenderFrameIdKey(render_process_id, frame_routing_id));
if (frame_id_iter != frame_data_map_.end()) {
- // This is very likely to happen because CacheFrameId() is called as soon
- // as the frame is created.
+ // This is very likely to happen because CacheFrameData() is called as
+ // soon as the frame is created.
*frame_data_out = frame_id_iter->second;
found = true;
}
@@ -306,6 +306,14 @@ bool ExtensionApiFrameIdMap::GetCachedFrameDataOnIO(int render_process_id,
return found;
}
+ExtensionApiFrameIdMap::FrameData ExtensionApiFrameIdMap::GetFrameData(
+ content::RenderFrameHost* rfh) {
+ DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+
+ const RenderFrameIdKey key(rfh->GetProcess()->GetID(), rfh->GetRoutingID());
+ return LookupFrameDataOnUI(key, false /* is_from_io */);
+}
+
void ExtensionApiFrameIdMap::CacheFrameData(content::RenderFrameHost* rfh) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
@@ -315,7 +323,7 @@ void ExtensionApiFrameIdMap::CacheFrameData(content::RenderFrameHost* rfh) {
}
void ExtensionApiFrameIdMap::CacheFrameData(const RenderFrameIdKey& key) {
- LookupFrameDataOnUI(key, false /* not for lookup */);
+ LookupFrameDataOnUI(key, false /* is_from_io */);
}
void ExtensionApiFrameIdMap::RemoveFrameData(content::RenderFrameHost* rfh) {
« no previous file with comments | « extensions/browser/extension_api_frame_id_map.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698