diff options
author | lukasza <lukasza@chromium.org> | 2016-03-08 16:27:55 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-03-09 00:29:25 +0000 |
commit | 692a9e9ca5bb6d48b1d3c1e565be7205034e9a39 (patch) | |
tree | 2fe34e36825737d45b965996e6fa2e20d1f26b4d /android_webview/browser | |
parent | da9b02d4f7b5c2ad53e6e0573edaf8f48c892ba3 (diff) | |
download | chromium_src-692a9e9ca5bb6d48b1d3c1e565be7205034e9a39.zip chromium_src-692a9e9ca5bb6d48b1d3c1e565be7205034e9a39.tar.gz chromium_src-692a9e9ca5bb6d48b1d3c1e565be7205034e9a39.tar.bz2 |
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
Review URL: https://codereview.chromium.org/1750063002
Cr-Commit-Position: refs/heads/master@{#379992}
Diffstat (limited to 'android_webview/browser')
0 files changed, 0 insertions, 0 deletions