Chromium Code Reviews| 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(); |