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

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: 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 be46fd8b8128c5eb43ff8e6d8c75d1861c037bce..fda9ac126329b17e366429e9d0b9a666a7ed0d7f 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -2677,7 +2677,7 @@ void RenderFrameImpl::SetEngagementLevel(const url::Origin& origin,
return;
}
- engagement_levels_[origin] = level;
+ engagement_level_ = std::make_pair(origin, level);
}
// mojom::Frame implementation -------------------------------------------------
@@ -4791,13 +4791,11 @@ 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();
nasko 2017/01/18 22:33:37 Should this be wiped out every time or just when w
dominickn 2017/01/19 00:34:51 Good point. Changed to wipe only when we used it,
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