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

Issue 1750063002: Replicate static layout test configuration to all renderers. (Closed)

Created:
4 years, 9 months ago by Łukasz Anforowicz
Modified:
4 years, 9 months ago
CC:
blink-reviews, chromium-reviews, darin-cc_chromium.org, jam, jochen+watch_chromium.org, mkwst+moarreviews-shell_chromium.org, mlamouri+watch-content_chromium.org, mlamouri+watch-test-runner_chromium.org, Peter Beverloo, site-isolation-reviews_chromium.org, alexmos
Base URL:
https://chromium.googlesource.com/chromium/src.git@no-test-finished-in-secondary-frames-please
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Replicate static layout test configuration to all renderers. Currently BlinkTestController sends test configuration whenever the RenderView gets a new host. This is insufficient in the long term - we also need to send test configuration to renderers that do not host the main frame. This CL will ensure that OOPIFs will have a correct value of BlinkTestRunner::is_main_windows_, BlinkTestRunner::test_config_ and other test flags that stay constant throughout the test. This CL also paves the way for replicating dynamic test flags (i.e. dump_as_text or wait_until_done) across OOPIFs in a future CL (i.e. the work-in-progress CL at crrev.com/1715573002). BlinkTestController already tracks all RenderProcessHosts to make sure it can detect a crash not only in the main frame, but also in OOPIFs. This CL extends this tracking to also send test configuration to new RenderProcessHosts. The first message in a test will be a ShellViewMsg_SetTestConfiguration; all subsequent renderers get ShellViewMsg_ReplicateTestConfiguration (differentiation is needed to avoid executing test initialization activities twice). The test configuration ultimately needs to reach a BlinkTestRunner instance in a specific RenderProcess. The CL accomplishes this by sending a message to a RenderFrame known to be present in a new RenderProcess - the message is received by LayoutTestRenderFrameObserver and forwarded to the BlinkTestRunner singleton in the current process. Other alternatives have been ruled out: - Sending a message to a RenderView in a specific process is not possible outside of //content internals. - There is no way for BlinkTestRunner to intercept a message to a RenderProcess. The CL reuses BlinkTestController::send_configuration_to_next_host_ field to track whether it has already send the test configuration to any render hosts. The new code seems consistent with the spirit of https://crrev.com/12595002 which introduced this field. BUG=587175 Committed: https://crrev.com/692a9e9ca5bb6d48b1d3c1e565be7205034e9a39 Cr-Commit-Position: refs/heads/master@{#379992}

Patch Set 1 #

Patch Set 2 : Rebasing... #

Total comments: 2

Patch Set 3 : Rebasing... #

Total comments: 2

Patch Set 4 : Renamed a field to |did_send_initial_test_configuration_|. #

Patch Set 5 : Rebasing... #

Unified diffs Side-by-side diffs Delta from patch set Stats (+81 lines, -57 lines) Patch
M content/shell/browser/layout_test/blink_test_controller.h View 1 2 3 2 chunks +7 lines, -4 lines 0 comments Download
M content/shell/browser/layout_test/blink_test_controller.cc View 1 2 3 7 chunks +32 lines, -43 lines 0 comments Download
M content/shell/common/shell_messages.h View 1 2 1 chunk +5 lines, -1 line 0 comments Download
M content/shell/renderer/layout_test/blink_test_runner.h View 1 1 chunk +4 lines, -1 line 0 comments Download
M content/shell/renderer/layout_test/blink_test_runner.cc View 1 2 3 chunks +11 lines, -8 lines 0 comments Download
M content/shell/renderer/layout_test/layout_test_render_frame_observer.h View 2 chunks +3 lines, -0 lines 0 comments Download
M content/shell/renderer/layout_test/layout_test_render_frame_observer.cc View 3 chunks +19 lines, -0 lines 0 comments Download

Messages

Total messages: 19 (10 generated)
Łukasz Anforowicz
jochen@, can you take a look please?
4 years, 9 months ago (2016-03-03 19:00:45 UTC) #5
jochen (gone - plz use gerrit)
i'd expect that you also need to install notify_done_forwarders for all iframes, or is that ...
4 years, 9 months ago (2016-03-04 12:36:55 UTC) #6
Łukasz Anforowicz
On 2016/03/04 12:36:55, jochen wrote: > i'd expect that you also need to install notify_done_forwarders ...
4 years, 9 months ago (2016-03-04 20:49:45 UTC) #7
jochen (gone - plz use gerrit)
lgtm no matter what you name the variable https://codereview.chromium.org/1750063002/diff/40001/content/shell/browser/layout_test/blink_test_controller.h File content/shell/browser/layout_test/blink_test_controller.h (right): https://codereview.chromium.org/1750063002/diff/40001/content/shell/browser/layout_test/blink_test_controller.h#newcode231 content/shell/browser/layout_test/blink_test_controller.h:231: bool ...
4 years, 9 months ago (2016-03-08 16:28:58 UTC) #8
commit-bot: I haz the power
This CL has an open dependency (Issue 1746393002 Patch 40001). Please resolve the dependency and ...
4 years, 9 months ago (2016-03-08 17:33:45 UTC) #11
Łukasz Anforowicz
Thanks for reviewing. https://codereview.chromium.org/1750063002/diff/40001/content/shell/browser/layout_test/blink_test_controller.h File content/shell/browser/layout_test/blink_test_controller.h (right): https://codereview.chromium.org/1750063002/diff/40001/content/shell/browser/layout_test/blink_test_controller.h#newcode231 content/shell/browser/layout_test/blink_test_controller.h:231: bool need_to_send_test_configuration_to_renderer_; On 2016/03/08 16:28:58, jochen ...
4 years, 9 months ago (2016-03-08 18:12:46 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1750063002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1750063002/80001
4 years, 9 months ago (2016-03-08 20:49:54 UTC) #16
commit-bot: I haz the power
Committed patchset #5 (id:80001)
4 years, 9 months ago (2016-03-09 00:28:08 UTC) #17
commit-bot: I haz the power
4 years, 9 months ago (2016-03-09 00:29:32 UTC) #19
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/692a9e9ca5bb6d48b1d3c1e565be7205034e9a39
Cr-Commit-Position: refs/heads/master@{#379992}

Powered by Google App Engine
This is Rietveld 408576698