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

Issue 1370013003: OOPIF: Clear old focused frame when focus moves to a cross-process frame. (Closed)

Created:
5 years, 2 months ago by alexmos
Modified:
5 years, 2 months ago
Reviewers:
Charlie Reis, dcheng
CC:
chromium-reviews, mlamouri+watch-content_chromium.org, creis+watch_chromium.org, nasko+codewatch_chromium.org, jam, darin-cc_chromium.org, mkwst+moarreviews-renderer_chromium.org, site-isolation-reviews_chromium.org, dmazzoni
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

OOPIF: Clear old focused frame when focus moves to a cross-process frame. Previously, clicking on a cross-process frame would not tell the old frame's renderer about the focus change. This prevented blur events from firing in the old frame and led to inconsistencies such as multiple focused text fields with multiple blinking carets being visible at the same time. This CL fixes these issues by adding a new IPC that is sent to clear focus when the focused frame is changed cross-process. BUG=530663, 339659, 341918 Committed: https://crrev.com/ca2c6ba98bb00e7b6d301053b8dbc1a45c068134 Cr-Commit-Position: refs/heads/master@{#351897}

Patch Set 1 #

Patch Set 2 : Add test #

Patch Set 3 : Cleanup #

Total comments: 10

Patch Set 4 : Address Charlie's nits #

Total comments: 5

Patch Set 5 : Remove !frame()->page() check from WebLocalFrameImpl::clearFocus() #

Unified diffs Side-by-side diffs Delta from patch set Stats (+159 lines, -0 lines) Patch
M content/browser/frame_host/frame_tree.cc View 1 2 3 1 chunk +11 lines, -0 lines 0 comments Download
M content/browser/frame_host/render_frame_host_impl.h View 1 2 1 chunk +3 lines, -0 lines 0 comments Download
M content/browser/frame_host/render_frame_host_impl.cc View 1 1 chunk +4 lines, -0 lines 0 comments Download
M content/browser/site_per_process_browsertest.cc View 1 2 3 1 chunk +68 lines, -0 lines 0 comments Download
M content/common/frame_messages.h View 1 1 chunk +3 lines, -0 lines 0 comments Download
M content/renderer/render_frame_impl.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/render_frame_impl.cc View 1 2 chunks +5 lines, -0 lines 0 comments Download
A content/test/data/page_with_blur.html View 1 2 1 chunk +20 lines, -0 lines 0 comments Download
A content/test/data/page_with_input_field.html View 1 2 1 chunk +31 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/web/WebLocalFrameImpl.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/web/WebLocalFrameImpl.cpp View 1 2 3 4 1 chunk +7 lines, -0 lines 0 comments Download
M third_party/WebKit/public/web/WebLocalFrame.h View 1 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 16 (4 generated)
alexmos
Charlie - can you please review content/? Daniel - can you please review Blink changes ...
5 years, 2 months ago (2015-09-29 23:37:13 UTC) #2
Charlie Reis
Nice. content/ LGTM with nits. https://codereview.chromium.org/1370013003/diff/40001/content/browser/frame_host/frame_tree.cc File content/browser/frame_host/frame_tree.cc (right): https://codereview.chromium.org/1370013003/diff/40001/content/browser/frame_host/frame_tree.cc#newcode260 content/browser/frame_host/frame_tree.cc:260: node->set_last_focus_time(base::TimeTicks::Now()); nit: Move this ...
5 years, 2 months ago (2015-09-29 23:50:44 UTC) #3
alexmos
https://codereview.chromium.org/1370013003/diff/40001/content/browser/frame_host/frame_tree.cc File content/browser/frame_host/frame_tree.cc (right): https://codereview.chromium.org/1370013003/diff/40001/content/browser/frame_host/frame_tree.cc#newcode260 content/browser/frame_host/frame_tree.cc:260: node->set_last_focus_time(base::TimeTicks::Now()); On 2015/09/29 23:50:44, Charlie Reis wrote: > nit: ...
5 years, 2 months ago (2015-09-30 16:48:20 UTC) #4
dcheng
https://codereview.chromium.org/1370013003/diff/60001/content/browser/frame_host/frame_tree.cc File content/browser/frame_host/frame_tree.cc (right): https://codereview.chromium.org/1370013003/diff/60001/content/browser/frame_host/frame_tree.cc#newcode265 content/browser/frame_host/frame_tree.cc:265: oldFocusedFrame->current_frame_host()->GetSiteInstance() != This almost feels like a check that ...
5 years, 2 months ago (2015-09-30 21:38:34 UTC) #5
alexmos
https://codereview.chromium.org/1370013003/diff/60001/content/browser/frame_host/frame_tree.cc File content/browser/frame_host/frame_tree.cc (right): https://codereview.chromium.org/1370013003/diff/60001/content/browser/frame_host/frame_tree.cc#newcode265 content/browser/frame_host/frame_tree.cc:265: oldFocusedFrame->current_frame_host()->GetSiteInstance() != On 2015/09/30 21:38:34, dcheng wrote: > This ...
5 years, 2 months ago (2015-10-01 00:53:48 UTC) #6
dcheng
lgtm
5 years, 2 months ago (2015-10-01 05:05:03 UTC) #7
Charlie Reis
https://codereview.chromium.org/1370013003/diff/60001/content/browser/frame_host/frame_tree.cc File content/browser/frame_host/frame_tree.cc (right): https://codereview.chromium.org/1370013003/diff/60001/content/browser/frame_host/frame_tree.cc#newcode265 content/browser/frame_host/frame_tree.cc:265: oldFocusedFrame->current_frame_host()->GetSiteInstance() != On 2015/10/01 00:53:48, alexmos wrote: > On ...
5 years, 2 months ago (2015-10-01 18:42:28 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1370013003/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1370013003/80001
5 years, 2 months ago (2015-10-01 19:05:33 UTC) #10
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_compile_dbg_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_compile_dbg_ng/builds/90408)
5 years, 2 months ago (2015-10-01 19:13:33 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1370013003/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1370013003/80001
5 years, 2 months ago (2015-10-01 21:02:38 UTC) #14
commit-bot: I haz the power
Committed patchset #5 (id:80001)
5 years, 2 months ago (2015-10-01 21:52:32 UTC) #15
commit-bot: I haz the power
5 years, 2 months ago (2015-10-01 21:53:22 UTC) #16
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/ca2c6ba98bb00e7b6d301053b8dbc1a45c068134
Cr-Commit-Position: refs/heads/master@{#351897}

Powered by Google App Engine
This is Rietveld 408576698