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

Unified Diff: content/renderer/render_frame_impl.cc

Issue 2627393002: Replace std::map with std::pair for (origin, engagement) tuples in RenderFrameImpl. (Closed)
Patch Set: Address comment Created 3 years, 11 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 | « content/renderer/render_frame_impl.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/render_frame_impl.cc
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index ce8f2725ee2b813aa94e0886dfe200be4c48e5da..6e6b03dfe693244eb89d163d929612dfe8eaabd8 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -2684,7 +2684,7 @@ void RenderFrameImpl::SetEngagementLevel(const url::Origin& origin,
return;
}
- engagement_levels_[origin] = level;
+ engagement_level_ = std::make_pair(origin, level);
}
// mojom::Frame implementation -------------------------------------------------
@@ -4826,13 +4826,12 @@ void RenderFrameImpl::SendDidCommitProvisionalLoad(
InternalDocumentStateData* internal_data =
InternalDocumentStateData::FromDocumentState(document_state);
- // Set the correct engagement level on the frame.
- EngagementLevels::iterator engagement_level =
- engagement_levels_.find(url::Origin(frame_->getSecurityOrigin()));
-
- if (engagement_level != engagement_levels_.end())
- frame_->setEngagementLevel(engagement_level->second);
- engagement_levels_.clear();
+ // Set the correct engagement level on the frame, and wipe the cached origin
+ // so this will not be reused accidentally.
+ if (url::Origin(frame_->getSecurityOrigin()) == engagement_level_.first) {
+ frame_->setEngagementLevel(engagement_level_.second);
+ engagement_level_.first = url::Origin();
+ }
FrameHostMsg_DidCommitProvisionalLoad_Params params;
params.http_status_code = response.httpStatusCode();
« no previous file with comments | « content/renderer/render_frame_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698