// Copyright 2017 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. module content.mojom; import "mojo/public/mojom/base/file_path.mojom"; import "skia/public/interfaces/bitmap.mojom"; import "ui/gfx/geometry/mojo/geometry.mojom"; import "url/mojom/url.mojom"; struct ShellTestConfiguration { // The current working directory. mojo_base.mojom.FilePath current_working_directory; // The temporary directory of the system. mojo_base.mojom.FilePath temp_path; // The URL of the current layout test. url.mojom.Url test_url; // True if pixel tests are enabled. bool enable_pixel_dumping = true; // True if tests can open external URLs. bool allow_external_pages; // The expected MD5 hash of the pixel results. string expected_pixel_hash; // The initial size of the test window. gfx.mojom.Size initial_size; }; // Results of a CaptureDump call. struct LayoutTestDump { // Audio dump. array? audio; // Layout dump. string? layout; // Image dump. skia.mojom.Bitmap? pixels; string actual_pixel_hash; // Selection rect dump. gfx.mojom.Rect selection_rect; }; interface LayoutTestControl { CaptureDump() => (LayoutTestDump result); [Sync] CompositeWithRaster() => (); // Dumps the frame's contents into a string. DumpFrameLayout() => (string frame_layout_dump); // Replicates test config (for an already started test) to a new renderer // that hosts parts of the main test window. ReplicateTestConfiguration(ShellTestConfiguration config); // Sets the test config for a layout test that is being started. This message // is sent only to a renderer that hosts parts of the main test window. SetTestConfiguration(ShellTestConfiguration config); // Sets up a secondary renderer (renderer that doesn't [yet] host parts of the // main test window) for a layout test. SetupSecondaryRenderer(); };