WebKit Bugzilla
Attachment 357148 Details for
Bug 192162
: webkitpy: Implement device type specific expected results
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-192162-20181212095704.patch (text/plain), 72.26 KB, created by
Jonathan Bedard
on 2018-12-12 09:57:06 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Jonathan Bedard
Created:
2018-12-12 09:57:06 PST
Size:
72.26 KB
patch
obsolete
>Index: Tools/ChangeLog >=================================================================== >--- Tools/ChangeLog (revision 239108) >+++ Tools/ChangeLog (working copy) >@@ -1,3 +1,63 @@ >+2018-12-12 Jonathan Bedard <jbedard@apple.com> >+ >+ webkitpy: Implement device type specific expected results >+ https://bugs.webkit.org/show_bug.cgi?id=192162 >+ <rdar://problem/46345449> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Allows *-expected* files to define device type for device-specific expected results. >+ >+ * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py: >+ (Worker._update_test_input): >+ * Scripts/webkitpy/layout_tests/controllers/manager.py: >+ (Manager._custom_devices_for_test): >+ (Manager.run): >+ (Manager.print_expectations): >+ (Manager._custom_device_for_test): Deleted. >+ * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py: >+ (ManagerTest.test_uses_custom_device.MockCustomDevicePort): >+ (ManagerTest.test_uses_custom_device.get_manager): >+ (ManagerTest): >+ (ManagerTest.test_uses_custom_device): >+ * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py: >+ (SingleTestRunner._expected_driver_output): >+ * Scripts/webkitpy/port/base.py: >+ (Port): >+ (Port._expected_baselines_for_suffixes): >+ (Port._expected_baselines_for_suffixes.expectation_suffix_for_device_type): >+ (Port.expected_baselines): >+ (Port.expected_filename): >+ (Port.expected_checksum): >+ (Port.expected_image): >+ (Port.expected_audio): >+ (Port.expected_text): >+ (Port.reference_files): >+ (Port.potential_test_names_from_expected_file): >+ * Scripts/webkitpy/port/device_port.py: >+ (DevicePort.setup_test_run): >+ * Scripts/webkitpy/port/driver.py: >+ (Driver): >+ (Driver.device_type): >+ (DriverProxy): >+ (DriverProxy.device_type): >+ * Scripts/webkitpy/port/ios_simulator.py: >+ (IOSSimulatorPort): >+ * Scripts/webkitpy/test/main.py: >+ (Tester._run_tests): >+ * Scripts/webkitpy/xcode/device_type.py: >+ (DeviceType): >+ (DeviceType.types_for_layout_test): >+ (DeviceType.__hash__): >+ (DeviceType.__cmp__): >+ (DeviceType.__cmp__.compute_priority): >+ (DeviceType.__ne__): >+ * Scripts/webkitpy/xcode/device_type_unittest.py: >+ (DeviceTypeTest.test_comparison_lower_case): >+ (DeviceTypeTest): >+ (DeviceTypeTest.test_order): >+ (DeviceTypeTest.test_from_layout_test): >+ > 2018-12-12 Commit Queue <commit-queue@webkit.org> > > Unreviewed, rolling out r239103. >Index: Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py >=================================================================== >--- Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py (revision 239075) >+++ Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py (working copy) >@@ -294,7 +294,8 @@ class Worker(object): > def _update_test_input(self, test_input): > if test_input.reference_files is None: > # Lazy initialization. >- test_input.reference_files = self._port.reference_files(test_input.test_name) >+ device_type = getattr(getattr(self._port.target_host(self._worker_number), 'platform_device', None), 'device_type', None) >+ test_input.reference_files = self._port.reference_files(test_input.test_name, device_type) > if test_input.reference_files: > test_input.should_run_pixel_test = True > else: >Index: Tools/Scripts/webkitpy/layout_tests/controllers/manager.py >=================================================================== >--- Tools/Scripts/webkitpy/layout_tests/controllers/manager.py (revision 239075) >+++ Tools/Scripts/webkitpy/layout_tests/controllers/manager.py (working copy) >@@ -1,5 +1,6 @@ > # Copyright (C) 2010 Google Inc. All rights reserved. > # Copyright (C) 2010 Gabor Rapcsanyi (rgabor@inf.u-szeged.hu), University of Szeged >+# Copyright (C) 2018 Apple Inc. All rights reserved. > # > # Redistribution and use in source and binary forms, with or without > # modification, are permitted provided that the following conditions are >@@ -103,15 +104,14 @@ class Manager(object): > def _needs_web_platform_test(self, test): > return self.web_platform_test_subdir in test or self.webkit_specific_web_platform_test_subdir in test > >- def _custom_device_for_test(self, test): >- # FIXME: This is a terrible way to do device-specific expected results https://bugs.webkit.org/show_bug.cgi?id=192162 >- for device_type in self._port.CUSTOM_DEVICE_TYPES: >- if device_type.hardware_family and device_type.hardware_family.lower() + self._port.TEST_PATH_SEPARATOR in test: >- return device_type >- if device_type.hardware_family and device_type.hardware_type and \ >- (device_type.hardware_family + device_type.hardware_type).lower().replace(' ', '') + self._port.TEST_PATH_SEPARATOR in test: >- return device_type >- return None >+ def _custom_devices_for_test(self, test): >+ if not self._filesystem.exists(test): >+ test = self._filesystem.join(self._port.layout_tests_dir(), test) >+ >+ types_for_test = [typ for typ in DeviceType.types_for_layout_test(test, filesystem=self._filesystem)] >+ if len(filter(lambda typ: self._port.max_child_processes(device_type=typ), types_for_test)) != 1: >+ return [typ for typ in types_for_test if typ] >+ return [typ or self._port.DEFAULT_DEVICE_TYPE for typ in types_for_test] > > def _http_tests(self, test_names): > return set(test for test in test_names if self._is_http_test(test)) >@@ -208,21 +208,9 @@ class Manager(object): > # Look for tests with custom device requirements. > test_device_mapping = defaultdict(list) > for test_file in tests_to_run: >- test_device_mapping[self._custom_device_for_test(test_file) or self._port.DEFAULT_DEVICE_TYPE].append(test_file) >- >- # Order device types from most specific to least specific in the hopes that some of the more specific device >- # types will match the less specific device types. >- device_type_order = [] >- types_with_family = [] >- remaining_types = [] >- for device_type in test_device_mapping.iterkeys(): >- if device_type and device_type.hardware_family and device_type.hardware_type: >- device_type_order.append(device_type) >- elif device_type and device_type.hardware_family: >- types_with_family.append(device_type) >- else: >- remaining_types.append(device_type) >- device_type_order.extend(types_with_family + remaining_types) >+ for device_type in self._custom_devices_for_test(test_file): >+ test_device_mapping[device_type].append(test_file) >+ device_type_order = [typ or self._port.DEFAULT_DEVICE_TYPE for typ in sorted(test_device_mapping.iterkeys())] > > needs_http = any((self._is_http_test(test) and not self._needs_web_platform_test(test)) for test in tests_to_run) > needs_web_platform_test_server = any(self._needs_web_platform_test(test) for test in tests_to_run) >@@ -265,7 +253,7 @@ class Manager(object): > > # This loop looks for any less-specific device types which match the current device type > index = 0 >- while index < len(device_type_order): >+ while index < len(device_type_order) and device_type: > if device_type_order[index] == device_type: > tests.extend(test_device_mapping[device_type_order[index]]) > >@@ -605,18 +593,13 @@ class Manager(object): > # Look for tests with custom device requirements. > custom_device_tests = defaultdict(list) > for test_file in tests_to_run: >- custom_device = self._custom_device_for_test(test_file) >- if custom_device: >- custom_device_tests[custom_device].append(test_file) >- else: >- default_device_tests.append(test_file) >+ for device_type in self._custom_devices_for_test(test_file): >+ custom_device_tests[device_type].append(test_file) > >- if custom_device_tests: >- for device_type, tests in custom_device_tests.iteritems(): >+ for device_type, tests in custom_device_tests.iteritems(): >+ if device_type: > _log.debug('{} tests use device {}'.format(len(tests), device_type)) > >- self._print_expectations_for_subset(None, test_col_width, tests_to_run, tests_to_skip) >- > for device_type, tests in custom_device_tests.iteritems(): > self._print_expectations_for_subset(device_type, test_col_width, tests) > >Index: Tools/Scripts/webkitpy/layout_tests/controllers/manager_unittest.py >=================================================================== >--- Tools/Scripts/webkitpy/layout_tests/controllers/manager_unittest.py (revision 239075) >+++ Tools/Scripts/webkitpy/layout_tests/controllers/manager_unittest.py (working copy) >@@ -34,6 +34,7 @@ import time > import unittest > > from webkitpy.common.host_mock import MockHost >+from webkitpy.common.system.filesystem_mock import MockFileSystem > from webkitpy.layout_tests.controllers.manager import Manager > from webkitpy.layout_tests.models import test_expectations > from webkitpy.layout_tests.models.test_run_results import TestRunResults >@@ -108,16 +109,22 @@ class ManagerTest(unittest.TestCase): > > def test_uses_custom_device(self): > class MockCustomDevicePort(TestPort): >- CUSTOM_DEVICE_TYPES = [DeviceType(hardware_family='iPad')] > > def __init__(self, host): > super(MockCustomDevicePort, self).__init__(host) > > def get_manager(): > host = MockHost() >+ host.filesystem = MockFileSystem(files={ >+ '/test.checkout/LayoutTests/fast/lasers.html': 'blah', >+ '/test.checkout/LayoutTests/fast/lasers-expected/ipad.txt': 'blah', >+ '/test.checkout/LayoutTests/fast/phasers.html': 'blah', >+ '/test.checkout/LayoutTests/fast/phasers-expected.txt': 'blah', >+ }) > port = MockCustomDevicePort(host) >- manager = Manager(port, options=MockOptions(test_list=['fast/ipad/lasers.html'], http=True), printer=Mock()) >+ manager = Manager(port, options=MockOptions(test_list=['fast/lasers.html', 'fast/phasers.html'], http=True), printer=Mock()) > return manager > > manager = get_manager() >- self.assertTrue(manager._custom_device_for_test('fast/ipad/lasers.html') == DeviceType(hardware_family='iPad')) >+ self.assertEqual(manager._custom_devices_for_test('fast/phasers.html'), [None]) >+ self.assertEqual(manager._custom_devices_for_test('fast/lasers.html'), [DeviceType.from_string('iPad')]) >Index: Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py >=================================================================== >--- Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py (revision 239075) >+++ Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py (working copy) >@@ -1,4 +1,5 @@ > # Copyright (C) 2011 Google Inc. All rights reserved. >+# Copyright (C) 2018 Apple Inc. All rights reserved. > # > # Redistribution and use in source and binary forms, with or without > # modification, are permitted provided that the following conditions are >@@ -74,10 +75,10 @@ class SingleTestRunner(object): > _log.error('%s is a reftest, but has an unused expectation file. Please remove %s.', self._test_name, expected_filename) > > def _expected_driver_output(self): >- return DriverOutput(self._port.expected_text(self._test_name), >- self._port.expected_image(self._test_name), >- self._port.expected_checksum(self._test_name), >- self._port.expected_audio(self._test_name)) >+ return DriverOutput(self._port.expected_text(self._test_name, device_type=self._driver.device_type), >+ self._port.expected_image(self._test_name, device_type=self._driver.device_type), >+ self._port.expected_checksum(self._test_name, device_type=self._driver.device_type), >+ self._port.expected_audio(self._test_name, device_type=self._driver.device_type)) > > def _should_fetch_expected_checksum(self): > return self._should_run_pixel_test and not (self._options.new_baseline or self._options.reset_results) >Index: Tools/Scripts/webkitpy/port/base.py >=================================================================== >--- Tools/Scripts/webkitpy/port/base.py (revision 239075) >+++ Tools/Scripts/webkitpy/port/base.py (working copy) >@@ -1,5 +1,5 @@ > # Copyright (C) 2010 Google Inc. All rights reserved. >-# Copyright (C) 2013 Apple Inc. All rights reserved. >+# Copyright (C) 2013-2018 Apple Inc. All rights reserved. > # > # Redistribution and use in source and binary forms, with or without > # modification, are permitted provided that the following conditions are >@@ -61,6 +61,7 @@ from webkitpy.port.factory import PortFa > from webkitpy.layout_tests.servers import apache_http_server, http_server, http_server_base > from webkitpy.layout_tests.servers import web_platform_test_server > from webkitpy.layout_tests.servers import websocket_server >+from webkitpy.xcode.device_type import DeviceType > > _log = logging.getLogger(__name__) > >@@ -82,7 +83,6 @@ class Port(object): > DEFAULT_ARCHITECTURE = 'x86' > > DEFAULT_DEVICE_TYPE = None >- CUSTOM_DEVICE_TYPES = [] > > @classmethod > def determine_full_port_name(cls, host, options, port_name): >@@ -408,13 +408,30 @@ class Port(object): > """Returns a tuple of all of the non-reftest baseline extensions we use. The extensions include the leading '.'.""" > return ('.wav', '.webarchive', '.txt', '.png') > >- def _expected_baselines_for_suffixes(self, test_name, suffixes, all_baselines=False): >+ def _expected_baselines_for_suffixes(self, test_name, suffixes, all_baselines=False, device_type=None): > baseline_search_path = self.baseline_search_path() + [self.layout_tests_dir()] > >+ def expectation_suffix_for_device_type(device_type, suffix): >+ if not device_type: >+ return '-expected' + suffix >+ return '-expected{}-{}{}.{}'.format( >+ suffix.split('.')[0], >+ device_type.hardware_family.replace(' ', '-'), >+ ('-' + device_type.hardware_type.replace(' ', '-')) if device_type.hardware_type else '', >+ suffix.split('.')[-1], >+ ) >+ > baselines = [] > for platform_dir in baseline_search_path: >+ types = DeviceType.types_for_layout_test(self._filesystem.join(platform_dir, test_name), filesystem=self._filesystem) >+ valid_types = [typ for typ in types if not device_type or (typ and device_type in typ)] >+ if not valid_types and not types[-1]: >+ valid_types = [None] >+ elif not valid_types: >+ continue >+ > for suffix in suffixes: >- baseline_filename = self._filesystem.splitext(test_name)[0] + '-expected' + suffix >+ baseline_filename = self._filesystem.splitext(test_name)[0] + expectation_suffix_for_device_type(valid_types[0], suffix) > if self._filesystem.exists(self._filesystem.join(platform_dir, baseline_filename)): > baselines.append((platform_dir, baseline_filename)) > >@@ -425,10 +442,10 @@ class Port(object): > return baselines > > for suffix in suffixes: >- baselines.append((None, self._filesystem.splitext(test_name)[0] + '-expected' + suffix)) >+ baselines.append((None, self._filesystem.splitext(test_name)[0] + expectation_suffix_for_device_type(None, suffix))) > return baselines > >- def expected_baselines(self, test_name, suffix, all_baselines=False): >+ def expected_baselines(self, test_name, suffix, all_baselines=False, device_type=None): > """Given a test name, finds where the baseline results are located. > > Args: >@@ -455,9 +472,9 @@ class Port(object): > conjunction with the other baseline and filename routines that are > platform specific. > """ >- return self._expected_baselines_for_suffixes(test_name, [suffix], all_baselines=all_baselines) >+ return self._expected_baselines_for_suffixes(test_name, [suffix], all_baselines=all_baselines, device_type=device_type) > >- def expected_filename(self, test_name, suffix, return_default=True): >+ def expected_filename(self, test_name, suffix, return_default=True, device_type=None): > """Given a test name, returns an absolute path to its expected results. > > If no expected results are found in any of the searched directories, >@@ -477,14 +494,14 @@ class Port(object): > This routine is generic but is implemented here to live alongside > the other baseline and filename manipulation routines. > """ >- platform_dir, baseline_filename = self.expected_baselines(test_name, suffix)[0] >+ platform_dir, baseline_filename = self.expected_baselines(test_name, suffix, device_type=device_type)[0] > if platform_dir or return_default: > return self._filesystem.join(platform_dir or self.layout_tests_dir(), baseline_filename) > return None > >- def expected_checksum(self, test_name): >+ def expected_checksum(self, test_name, device_type=None): > """Returns the checksum of the image we expect the test to produce, or None if it is a text-only test.""" >- png_path = self.expected_filename(test_name, '.png') >+ png_path = self.expected_filename(test_name, '.png', device_type=device_type) > > if self._filesystem.exists(png_path): > with self._filesystem.open_binary_file_for_reading(png_path) as filehandle: >@@ -492,29 +509,29 @@ class Port(object): > > return None > >- def expected_image(self, test_name): >+ def expected_image(self, test_name, device_type=None): > """Returns the image we expect the test to produce.""" >- baseline_path = self.expected_filename(test_name, '.png') >+ baseline_path = self.expected_filename(test_name, '.png', device_type=device_type) > if not self._filesystem.exists(baseline_path): > return None > return self._filesystem.read_binary_file(baseline_path) > >- def expected_audio(self, test_name): >- baseline_path = self.expected_filename(test_name, '.wav') >+ def expected_audio(self, test_name, device_type=None): >+ baseline_path = self.expected_filename(test_name, '.wav', device_type=device_type) > if not self._filesystem.exists(baseline_path): > return None > return self._filesystem.read_binary_file(baseline_path) > >- def expected_text(self, test_name): >+ def expected_text(self, test_name, device_type=None): > """Returns the text output we expect the test to produce, or None > if we don't expect there to be any text output. > End-of-line characters are normalized to '\n'.""" > # FIXME: DRT output is actually utf-8, but since we don't decode the > # output from DRT (instead treating it as a binary string), we read the > # baselines as a binary string, too. >- baseline_path = self.expected_filename(test_name, '.txt') >+ baseline_path = self.expected_filename(test_name, '.txt', device_type=device_type) > if not self._filesystem.exists(baseline_path): >- baseline_path = self.expected_filename(test_name, '.webarchive') >+ baseline_path = self.expected_filename(test_name, '.webarchive', device_type=device_type) > if not self._filesystem.exists(baseline_path): > return None > text = self._filesystem.read_binary_file(baseline_path) >@@ -543,7 +560,7 @@ class Port(object): > parsed_list.setdefault(filesystem.join(test_dirpath, test_file), []).append((expectation_type, filesystem.join(test_dirpath, ref_file))) > return parsed_list > >- def reference_files(self, test_name): >+ def reference_files(self, test_name, device_type=None): > """Return a list of expectation (== or !=) and filename pairs""" > > if self.get_option('treat_ref_tests_as_pixel_tests'): >@@ -558,7 +575,7 @@ class Port(object): > for part1 in ['', '-mismatch']: > for part2 in self._supported_reference_extensions: > suffixes.append(part1 + part2) >- for platform_dir, baseline_filename in self._expected_baselines_for_suffixes(test_name, suffixes): >+ for platform_dir, baseline_filename in self._expected_baselines_for_suffixes(test_name, suffixes, device_type=device_type): > if not platform_dir: > continue > result.append(( >@@ -570,7 +587,7 @@ class Port(object): > def potential_test_names_from_expected_file(self, path): > """Return potential test names if any from a potential expected file path, relative to LayoutTests directory.""" > >- if not '-expected.' in path: >+ if not any(element in path for element in ['-expected/', '-expected.', '-expected-']): > return None > > if path.startswith('platform' + self._filesystem.sep): >@@ -627,7 +644,6 @@ class Port(object): > return False > > @staticmethod >- # If any changes are made here be sure to update the isUsedInReftest method in old-run-webkit-tests as well. > def is_reference_html_file(filesystem, dirname, filename): > if filename.startswith('ref-') or filename.startswith('notref-'): > return True >Index: Tools/Scripts/webkitpy/port/device_port.py >=================================================================== >--- Tools/Scripts/webkitpy/port/device_port.py (revision 239075) >+++ Tools/Scripts/webkitpy/port/device_port.py (working copy) >@@ -146,7 +146,7 @@ class DevicePort(DarwinPort): > device_type, > use_booted_simulator=not self.get_option('dedicated_simulators', False), > use_existing_simulator=False, >- allow_incomplete_match=True, >+ allow_incomplete_match=False, > ) > self.DEVICE_MANAGER.initialize_devices( > [request] * self.child_processes(), >Index: Tools/Scripts/webkitpy/port/driver.py >=================================================================== >--- Tools/Scripts/webkitpy/port/driver.py (revision 239075) >+++ Tools/Scripts/webkitpy/port/driver.py (working copy) >@@ -1,5 +1,5 @@ > # Copyright (C) 2011 Google Inc. All rights reserved. >-# Copyright (c) 2015, 2016 Apple Inc. All rights reserved. >+# Copyright (c) 2015-2018 Apple Inc. All rights reserved. > # > # Redistribution and use in source and binary forms, with or without > # modification, are permitted provided that the following conditions are >@@ -182,6 +182,10 @@ class Driver(object): > def __del__(self): > self.stop() > >+ @property >+ def device_type(self): >+ return getattr(getattr(self._target_host, 'platform_device', None), 'device_type', None) >+ > def run_test(self, driver_input, stop_when_done): > """Run a single test and return the results. > >@@ -719,6 +723,10 @@ class DriverProxy(object): > def _make_driver(self, pixel_tests): > return self._driver_instance_constructor(self._port, self._worker_number, pixel_tests, self._no_timeout) > >+ @property >+ def device_type(self): >+ return self._driver.device_type >+ > # FIXME: this should be a @classmethod (or implemented on Port instead). > def is_http_test(self, test_name): > return self._driver.is_http_test(test_name) >Index: Tools/Scripts/webkitpy/port/ios_simulator.py >=================================================================== >--- Tools/Scripts/webkitpy/port/ios_simulator.py (revision 239075) >+++ Tools/Scripts/webkitpy/port/ios_simulator.py (working copy) >@@ -43,7 +43,6 @@ class IOSSimulatorPort(IOSPort): > DEVICE_MANAGER = SimulatedDeviceManager > > DEFAULT_DEVICE_TYPE = DeviceType(hardware_family='iPhone', hardware_type='SE') >- CUSTOM_DEVICE_TYPES = [DeviceType(hardware_family='iPad'), DeviceType(hardware_family='iPhone', hardware_type='7')] > SDK = apple_additions().get_sdk('iphonesimulator') if apple_additions() else 'iphonesimulator' > > @staticmethod >Index: Tools/Scripts/webkitpy/test/main.py >=================================================================== >--- Tools/Scripts/webkitpy/test/main.py (revision 239075) >+++ Tools/Scripts/webkitpy/test/main.py (working copy) >@@ -178,8 +178,8 @@ class Tester(object): > # We autoinstall everything up so that we can run tests concurrently > # and not have to worry about autoinstalling packages concurrently. > self.printer.write_update("Checking autoinstalled packages ...") >- from webkitpy.thirdparty import autoinstall_everything >- autoinstall_everything() >+ #from webkitpy.thirdparty import autoinstall_everything >+ #autoinstall_everything() > > if will_run_lldb_webkit_tests: > self.printer.write_update('Building lldbWebKitTester ...') >Index: Tools/Scripts/webkitpy/xcode/device_type.py >=================================================================== >--- Tools/Scripts/webkitpy/xcode/device_type.py (revision 239075) >+++ Tools/Scripts/webkitpy/xcode/device_type.py (working copy) >@@ -1,4 +1,4 @@ >-# Copyright (C) 2017 Apple Inc. All rights reserved. >+# Copyright (C) 2017-2018 Apple Inc. All rights reserved. > # > # Redistribution and use in source and binary forms, with or without > # modification, are permitted provided that the following conditions >@@ -21,6 +21,7 @@ > # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > > from webkitpy.common.version_name_map import VersionNameMap >+from webkitpy.common.system.filesystem import FileSystem > > > # This class is designed to match device types. Because it is used for matching, 'None' is treated as a wild-card. >@@ -56,6 +57,41 @@ class DeviceType(object): > hardware_type=' '.join(split_str[family_index + 1:]) if len(split_str) > family_index + 1 else None, > software_version=version) > >+ @classmethod >+ def types_for_layout_test(cls, filename, filesystem=None): >+ filesystem = filesystem or FileSystem() >+ stripped_filename = filesystem.splitext(filename)[0] >+ >+ matching_expectations = filesystem.glob(stripped_filename + '-expected*') >+ if not matching_expectations: >+ return [None] >+ >+ result = [] >+ has_default = False >+ for expectation in matching_expectations: >+ stripped_expectation = filesystem.splitext(expectation)[0][len(stripped_filename) + len('-expected'):] >+ if stripped_expectation and stripped_expectation.startswith('-mismatch'): >+ stripped_expectation = stripped_expectation[len('-mismatch'):] >+ if not stripped_expectation: >+ has_default = True >+ continue >+ >+ device_string = '' >+ dash_state = False >+ for character in stripped_expectation[1:]: >+ if character == '-' and not dash_state: >+ device_string += ' ' >+ dash_state = True >+ else: >+ device_string += character >+ dash_state = False >+ result.append(cls.from_string(device_string)) >+ >+ result = sorted(result) >+ if has_default: >+ result.append(None) >+ return result >+ > def _define_software_variant_from_hardware_family(self): > if self.hardware_family is None: > return >@@ -114,6 +150,27 @@ class DeviceType(object): > version=VersionNameMap.map().to_name(self.software_version, platform=self.software_variant.lower()) if self.software_version else self.software_variant, > ) > >+ def __hash__(self): >+ result = 0 >+ for element in [self.hardware_family, self.hardware_type, self.software_version, self.software_variant]: >+ result ^= hash(element) >+ return result >+ >+ def __cmp__(self, other): >+ >+ # Order device types from most specific to least specific in the hopes that some of the more specific device >+ # types will match the less specific device types. >+ def compute_priority(obj): >+ if not obj: >+ return 3 >+ if self.hardware_family and self.hardware_type: >+ return 2 >+ if self.hardware_family: >+ return 1 >+ return 0 >+ >+ return compute_priority(other) - compute_priority(self) >+ > # This technique of matching treats 'None' a wild-card. > def __eq__(self, other): > assert isinstance(other, DeviceType) >@@ -127,6 +184,9 @@ class DeviceType(object): > return False > return True > >+ def __ne__(self, other): >+ return not (self == other) >+ > def __contains__(self, other): > assert isinstance(other, DeviceType) > if self.hardware_family is not None and (not other.hardware_family or self.hardware_family.lower() != other.hardware_family.lower()): >Index: Tools/Scripts/webkitpy/xcode/device_type_unittest.py >=================================================================== >--- Tools/Scripts/webkitpy/xcode/device_type_unittest.py (revision 239075) >+++ Tools/Scripts/webkitpy/xcode/device_type_unittest.py (working copy) >@@ -1,4 +1,4 @@ >-# Copyright (C) 2017 Apple Inc. All rights reserved. >+# Copyright (C) 2017-2018 Apple Inc. All rights reserved. > # > # Redistribution and use in source and binary forms, with or without > # modification, are permitted provided that the following conditions >@@ -155,3 +155,13 @@ class DeviceTypeTest(unittest.TestCase): > self.assertTrue(DeviceType.from_string('iphone 6s') in DeviceType.from_string('iPhone')) > self.assertTrue(DeviceType.from_string('iPhone 6s') in DeviceType.from_string('iphone')) > self.assertTrue(DeviceType.from_string('iphone 6s') in DeviceType.from_string('iphone')) >+ >+ def test_order(self): >+ self.assertEqual( >+ sorted([DeviceType.from_string('iPhone X'), None, DeviceType(software_variant='iOS'), DeviceType.from_string('iPhone')]), >+ [None, DeviceType.from_string('iPhone X'), DeviceType.from_string('iPhone'), DeviceType(software_variant='iOS')], >+ ) >+ >+ def test_from_layout_test(self): >+ # Testing pending verification of implementation details >+ pass >Index: LayoutTests/ChangeLog >=================================================================== >--- LayoutTests/ChangeLog (revision 239075) >+++ LayoutTests/ChangeLog (working copy) >@@ -1,3 +1,59 @@ >+2018-12-12 Jonathan Bedard <jbedard@apple.com> >+ >+ webkitpy: Implement device type specific expected results >+ https://bugs.webkit.org/show_bug.cgi?id=192162 >+ <rdar://problem/46345449> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Use new DeviceType specific expectation format for iPad and iPhone 7 tests. >+ >+ * fast/events/touch/ios/iphone7/force-press-event-expected-iphone-7.txt: Copied from LayoutTests/fast/events/touch/ios/iphone7/force-press-event-expected.txt. >+ * fast/events/touch/ios/iphone7/force-press-event-expected.txt: Removed. >+ * fast/events/touch/ios/iphone7/force-press-on-link-expected-iphone-7.txt: Copied from LayoutTests/fast/events/touch/ios/iphone7/force-press-on-link-expected.txt. >+ * fast/events/touch/ios/iphone7/force-press-on-link-expected.txt: Removed. >+ * fast/events/touch/ios/iphone7/prevent-default-touchmove-prevents-scrolling-expected-iphone-7.txt: Copied from LayoutTests/fast/events/touch/ios/iphone7/prevent-default-touchmove-prevents-scrolling-expected.txt. >+ * fast/events/touch/ios/iphone7/prevent-default-touchmove-prevents-scrolling-expected.txt: Removed. >+ * fast/forms/ios/ipad/choose-select-option-expected-ipad.txt: Copied from LayoutTests/fast/forms/ios/ipad/choose-select-option-expected.txt. >+ * fast/forms/ios/ipad/choose-select-option-expected.txt: Removed. >+ * fast/forms/ios/ipad/focus-input-via-button-expected-ipad.txt: Copied from LayoutTests/fast/forms/ios/ipad/focus-input-via-button-expected.txt. >+ * fast/forms/ios/ipad/focus-input-via-button-expected.txt: Removed. >+ * fast/forms/ios/ipad/multiple-select-updates-renderer-expected-ipad.txt: Copied from LayoutTests/fast/forms/ios/ipad/multiple-select-updates-renderer-expected.txt. >+ * fast/forms/ios/ipad/multiple-select-updates-renderer-expected.txt: Removed. >+ * fast/forms/ios/ipad/select-form-run-twice-expected-ipad.txt: Copied from LayoutTests/fast/forms/ios/ipad/select-form-run-twice-expected.txt. >+ * fast/forms/ios/ipad/select-form-run-twice-expected.txt: Removed. >+ * fast/forms/ios/ipad/select-with-title-expected-ipad.txt: Copied from LayoutTests/fast/forms/ios/ipad/select-with-title-expected.txt. >+ * fast/forms/ios/ipad/select-with-title-expected.txt: Removed. >+ * fast/forms/ios/ipad/unfocus-inside-fixed-hittest-expected-ipad.txt: Copied from LayoutTests/fast/forms/ios/ipad/unfocus-inside-fixed-hittest-expected.txt. >+ * fast/forms/ios/ipad/unfocus-inside-fixed-hittest-expected.txt: Removed. >+ * fast/text-autosizing/ios/ipad/programmatic-text-size-adjust-expected-ipad.txt: Copied from LayoutTests/fast/text-autosizing/ios/ipad/programmatic-text-size-adjust-expected.txt. >+ * fast/text-autosizing/ios/ipad/programmatic-text-size-adjust-expected.txt: Removed. >+ * fast/text-autosizing/ios/ipad/text-size-adjust-inline-style-expected-ipad.html: Copied from LayoutTests/fast/text-autosizing/ios/ipad/text-size-adjust-inline-style-expected.html. >+ * fast/text-autosizing/ios/ipad/text-size-adjust-inline-style-expected.html: Removed. >+ * fast/text/ipad/bold-tall-body-text-style-expected-mismatch-ipad.html: Copied from LayoutTests/fast/text/ipad/bold-tall-body-text-style-expected-mismatch.html. >+ * fast/text/ipad/bold-tall-body-text-style-expected-mismatch.html: Removed. >+ * fast/viewport/ios/ipad/empty-meta-expected-ipad.txt: Copied from LayoutTests/fast/viewport/ios/ipad/empty-meta-expected.txt. >+ * fast/viewport/ios/ipad/empty-meta-expected.txt: Removed. >+ * fast/viewport/ios/ipad/meta-viewport-ignored-expected-ipad.txt: Copied from LayoutTests/fast/viewport/ios/ipad/meta-viewport-ignored-expected.txt. >+ * fast/viewport/ios/ipad/meta-viewport-ignored-expected.txt: Removed. >+ * fast/viewport/ios/ipad/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport-expected-ipad.txt: Copied from LayoutTests/fast/viewport/ios/ipad/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport-expected.txt. >+ * fast/viewport/ios/ipad/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport-expected.txt: Removed. >+ * fast/viewport/ios/ipad/viewport-unchanged-by-minimum-effective-width-if-not-ignore-meta-viewport-expected-ipad.txt: Copied from LayoutTests/fast/viewport/ios/ipad/viewport-unchanged-by-minimum-effective-width-if-not-ignore-meta-viewport-expected.txt. >+ * fast/viewport/ios/ipad/viewport-unchanged-by-minimum-effective-width-if-not-ignore-meta-viewport-expected.txt: Removed. >+ * fast/viewport/ios/ipad/width-is-device-width-expected-ipad.txt: Copied from LayoutTests/fast/viewport/ios/ipad/width-is-device-width-expected.txt. >+ * fast/viewport/ios/ipad/width-is-device-width-expected.txt: Removed. >+ * http/tests/security/mixedContent/insecure-script-redirects-to-basic-auth-secure-script-expected.https.txt: Removed. >+ * media/controls/ipad/close-page-with-picture-in-picture-video-assertion-failure-expected-ipad.txt: Copied from LayoutTests/media/controls/ipad/close-page-with-picture-in-picture-video-assertion-failure-expected.txt. >+ * media/controls/ipad/close-page-with-picture-in-picture-video-assertion-failure-expected.txt: Removed. >+ * media/modern-media-controls/media-documents/ipad/media-document-audio-ios-sizing-expected-ipad.txt: Copied from LayoutTests/media/modern-media-controls/media-documents/ipad/media-document-audio-ios-sizing-expected.txt. >+ * media/modern-media-controls/media-documents/ipad/media-document-audio-ios-sizing-expected.txt: Removed. >+ * media/modern-media-controls/media-documents/ipad/media-document-video-ios-sizing-expected-ipad.txt: Copied from LayoutTests/media/modern-media-controls/media-documents/ipad/media-document-video-ios-sizing-expected.txt. >+ * media/modern-media-controls/media-documents/ipad/media-document-video-ios-sizing-expected.txt: Removed. >+ * media/modern-media-controls/pip-support/ipad/pip-support-enabled-expected-ipad.txt: Copied from LayoutTests/media/modern-media-controls/pip-support/ipad/pip-support-enabled-expected.txt. >+ * media/modern-media-controls/pip-support/ipad/pip-support-enabled-expected.txt: Removed. >+ * tiled-drawing/ios/iphone7/compositing-layers-deep-color-expected-iphone-7.txt: Copied from LayoutTests/tiled-drawing/ios/iphone7/compositing-layers-deep-color-expected.txt. >+ * tiled-drawing/ios/iphone7/compositing-layers-deep-color-expected.txt: Removed. >+ > 2018-12-10 Brent Fulgham <bfulgham@apple.com> > > SVGViewSpec objects should mark relevant SVG elements >Index: LayoutTests/fast/events/touch/ios/iphone7/force-press-event-expected-iphone-7.txt >=================================================================== >--- LayoutTests/fast/events/touch/ios/iphone7/force-press-event-expected-iphone-7.txt (revision 239075) (from LayoutTests/fast/events/touch/ios/iphone7/force-press-event-expected.txt:239075) >+++ LayoutTests/fast/events/touch/ios/iphone7/force-press-event-expected-iphone-7.txt (working copy) >@@ -0,0 +1 @@ >+PASS: Generated increasing force >Index: LayoutTests/fast/events/touch/ios/iphone7/force-press-event-expected.txt >=================================================================== >--- LayoutTests/fast/events/touch/ios/iphone7/force-press-event-expected.txt (revision 239075) >+++ LayoutTests/fast/events/touch/ios/iphone7/force-press-event-expected.txt (nonexistent) >@@ -1 +0,0 @@ >-PASS: Generated increasing force >Index: LayoutTests/fast/events/touch/ios/iphone7/force-press-on-link-expected-iphone-7.txt >=================================================================== >--- LayoutTests/fast/events/touch/ios/iphone7/force-press-on-link-expected-iphone-7.txt (revision 239075) (from LayoutTests/fast/events/touch/ios/iphone7/force-press-on-link-expected.txt:239075) >+++ LayoutTests/fast/events/touch/ios/iphone7/force-press-on-link-expected-iphone-7.txt (working copy) >@@ -0,0 +1 @@ >+PASS: correct page loaded in popover >Index: LayoutTests/fast/events/touch/ios/iphone7/force-press-on-link-expected.txt >=================================================================== >--- LayoutTests/fast/events/touch/ios/iphone7/force-press-on-link-expected.txt (revision 239075) >+++ LayoutTests/fast/events/touch/ios/iphone7/force-press-on-link-expected.txt (nonexistent) >@@ -1 +0,0 @@ >-PASS: correct page loaded in popover >Index: LayoutTests/fast/events/touch/ios/iphone7/prevent-default-touchmove-prevents-scrolling-expected-iphone-7.txt >=================================================================== >--- LayoutTests/fast/events/touch/ios/iphone7/prevent-default-touchmove-prevents-scrolling-expected-iphone-7.txt (revision 239075) (from LayoutTests/fast/events/touch/ios/iphone7/prevent-default-touchmove-prevents-scrolling-expected.txt:239075) >+++ LayoutTests/fast/events/touch/ios/iphone7/prevent-default-touchmove-prevents-scrolling-expected-iphone-7.txt (working copy) >@@ -0,0 +1,10 @@ >+Test that preventing default on touchmove will prevent scrolling in overflow:scroll. >+ >+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". >+ >+ >+PASS document.getElementById('scroller').scrollTop is 0 >+PASS successfullyParsed is true >+ >+TEST COMPLETE >+ >Index: LayoutTests/fast/events/touch/ios/iphone7/prevent-default-touchmove-prevents-scrolling-expected.txt >=================================================================== >--- LayoutTests/fast/events/touch/ios/iphone7/prevent-default-touchmove-prevents-scrolling-expected.txt (revision 239075) >+++ LayoutTests/fast/events/touch/ios/iphone7/prevent-default-touchmove-prevents-scrolling-expected.txt (nonexistent) >@@ -1,10 +0,0 @@ >-Test that preventing default on touchmove will prevent scrolling in overflow:scroll. >- >-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". >- >- >-PASS document.getElementById('scroller').scrollTop is 0 >-PASS successfullyParsed is true >- >-TEST COMPLETE >- >Index: LayoutTests/fast/forms/ios/ipad/choose-select-option-expected-ipad.txt >=================================================================== >--- LayoutTests/fast/forms/ios/ipad/choose-select-option-expected-ipad.txt (revision 239075) (from LayoutTests/fast/forms/ios/ipad/choose-select-option-expected.txt:239075) >+++ LayoutTests/fast/forms/ios/ipad/choose-select-option-expected-ipad.txt (working copy) >@@ -0,0 +1,4 @@ >+Tests that a basic select element works >+ >+ >+Successfully handled oninput, value is now "april" >Index: LayoutTests/fast/forms/ios/ipad/choose-select-option-expected.txt >=================================================================== >--- LayoutTests/fast/forms/ios/ipad/choose-select-option-expected.txt (revision 239075) >+++ LayoutTests/fast/forms/ios/ipad/choose-select-option-expected.txt (nonexistent) >@@ -1,4 +0,0 @@ >-Tests that a basic select element works >- >- >-Successfully handled oninput, value is now "april" >Index: LayoutTests/fast/forms/ios/ipad/focus-input-via-button-expected-ipad.txt >=================================================================== >--- LayoutTests/fast/forms/ios/ipad/focus-input-via-button-expected-ipad.txt (revision 239075) (from LayoutTests/fast/forms/ios/ipad/focus-input-via-button-expected.txt:239075) >+++ LayoutTests/fast/forms/ios/ipad/focus-input-via-button-expected-ipad.txt (working copy) >@@ -0,0 +1,7 @@ >+Tests zooming into a text input on tap. >+ >+Click to focus input >+ >+tap location { x: 20.000, y: 62.000 } >+scale 1.500 >+visibleRect { left: 0.000, top: 654.667, width: 512.000, height: 669.333 } >Index: LayoutTests/fast/forms/ios/ipad/focus-input-via-button-expected.txt >=================================================================== >--- LayoutTests/fast/forms/ios/ipad/focus-input-via-button-expected.txt (revision 239075) >+++ LayoutTests/fast/forms/ios/ipad/focus-input-via-button-expected.txt (nonexistent) >@@ -1,7 +0,0 @@ >-Tests zooming into a text input on tap. >- >-Click to focus input >- >-tap location { x: 20.000, y: 62.000 } >-scale 1.500 >-visibleRect { left: 0.000, top: 654.667, width: 512.000, height: 669.333 } >Index: LayoutTests/fast/forms/ios/ipad/multiple-select-updates-renderer-expected-ipad.txt >=================================================================== >--- LayoutTests/fast/forms/ios/ipad/multiple-select-updates-renderer-expected-ipad.txt (revision 239075) (from LayoutTests/fast/forms/ios/ipad/multiple-select-updates-renderer-expected.txt:239075) >+++ LayoutTests/fast/forms/ios/ipad/multiple-select-updates-renderer-expected-ipad.txt (working copy) >@@ -0,0 +1,2 @@ >+ >+PASS >Index: LayoutTests/fast/forms/ios/ipad/multiple-select-updates-renderer-expected.txt >=================================================================== >--- LayoutTests/fast/forms/ios/ipad/multiple-select-updates-renderer-expected.txt (revision 239075) >+++ LayoutTests/fast/forms/ios/ipad/multiple-select-updates-renderer-expected.txt (nonexistent) >@@ -1,2 +0,0 @@ >- >-PASS >Index: LayoutTests/fast/forms/ios/ipad/select-form-run-twice-expected-ipad.txt >=================================================================== >--- LayoutTests/fast/forms/ios/ipad/select-form-run-twice-expected-ipad.txt (revision 239075) (from LayoutTests/fast/forms/ios/ipad/select-form-run-twice-expected.txt:239075) >+++ LayoutTests/fast/forms/ios/ipad/select-form-run-twice-expected-ipad.txt (working copy) >@@ -0,0 +1,8 @@ >+This is the top >+ >+First Click >+Final Click >+ >+March June >+PASS: hit testing found #nextButton after first select interaction >+PASS: hit testing found #finalTarget after select interaction >Index: LayoutTests/fast/forms/ios/ipad/select-form-run-twice-expected.txt >=================================================================== >--- LayoutTests/fast/forms/ios/ipad/select-form-run-twice-expected.txt (revision 239075) >+++ LayoutTests/fast/forms/ios/ipad/select-form-run-twice-expected.txt (nonexistent) >@@ -1,8 +0,0 @@ >-This is the top >- >-First Click >-Final Click >- >-March June >-PASS: hit testing found #nextButton after first select interaction >-PASS: hit testing found #finalTarget after select interaction >Index: LayoutTests/fast/forms/ios/ipad/select-with-title-expected-ipad.txt >=================================================================== >--- LayoutTests/fast/forms/ios/ipad/select-with-title-expected-ipad.txt (revision 239075) (from LayoutTests/fast/forms/ios/ipad/select-with-title-expected.txt:239075) >+++ LayoutTests/fast/forms/ios/ipad/select-with-title-expected-ipad.txt (working copy) >@@ -0,0 +1,6 @@ >+PASS successfullyParsed is true >+ >+TEST COMPLETE >+PASS popoverTitle is document.getElementById('select').title >+ >+ >Index: LayoutTests/fast/forms/ios/ipad/select-with-title-expected.txt >=================================================================== >--- LayoutTests/fast/forms/ios/ipad/select-with-title-expected.txt (revision 239075) >+++ LayoutTests/fast/forms/ios/ipad/select-with-title-expected.txt (nonexistent) >@@ -1,6 +0,0 @@ >-PASS successfullyParsed is true >- >-TEST COMPLETE >-PASS popoverTitle is document.getElementById('select').title >- >- >Index: LayoutTests/fast/forms/ios/ipad/unfocus-inside-fixed-hittest-expected-ipad.txt >=================================================================== >--- LayoutTests/fast/forms/ios/ipad/unfocus-inside-fixed-hittest-expected-ipad.txt (revision 239075) (from LayoutTests/fast/forms/ios/ipad/unfocus-inside-fixed-hittest-expected.txt:239075) >+++ LayoutTests/fast/forms/ios/ipad/unfocus-inside-fixed-hittest-expected-ipad.txt (working copy) >@@ -0,0 +1,6 @@ >+This is the top >+ >+Click Me >+ >+June >+PASS: hit testing found #target after select interaction >Index: LayoutTests/fast/forms/ios/ipad/unfocus-inside-fixed-hittest-expected.txt >=================================================================== >--- LayoutTests/fast/forms/ios/ipad/unfocus-inside-fixed-hittest-expected.txt (revision 239075) >+++ LayoutTests/fast/forms/ios/ipad/unfocus-inside-fixed-hittest-expected.txt (nonexistent) >@@ -1,6 +0,0 @@ >-This is the top >- >-Click Me >- >-June >-PASS: hit testing found #target after select interaction >Index: LayoutTests/fast/text-autosizing/ios/ipad/programmatic-text-size-adjust-expected-ipad.txt >=================================================================== >--- LayoutTests/fast/text-autosizing/ios/ipad/programmatic-text-size-adjust-expected-ipad.txt (revision 239075) (from LayoutTests/fast/text-autosizing/ios/ipad/programmatic-text-size-adjust-expected.txt:239075) >+++ LayoutTests/fast/text-autosizing/ios/ipad/programmatic-text-size-adjust-expected-ipad.txt (working copy) >@@ -0,0 +1,23 @@ >+Tests programmatically setting and getting -webkit-text-size-adjust. >+ >+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". >+ >+ >+Initial value of webkitTextSizeAdjust: >+PASS document.getElementById("test").style.webkitTextSizeAdjust is "" >+ >+webkitTextSizeAdjust = "auto": >+PASS document.getElementById("test").style.webkitTextSizeAdjust is "auto" >+ >+webkitTextSizeAdjust = "none": >+PASS document.getElementById("test").style.webkitTextSizeAdjust is "none" >+ >+webkitTextSizeAdjust = "200%": >+PASS document.getElementById("test").style.webkitTextSizeAdjust is "200%" >+ >+webkitTextSizeAdjust = "dummy" (invalid value): >+PASS document.getElementById("test").style.webkitTextSizeAdjust is "200%" >+PASS successfullyParsed is true >+ >+TEST COMPLETE >+ >Index: LayoutTests/fast/text-autosizing/ios/ipad/programmatic-text-size-adjust-expected.txt >=================================================================== >--- LayoutTests/fast/text-autosizing/ios/ipad/programmatic-text-size-adjust-expected.txt (revision 239075) >+++ LayoutTests/fast/text-autosizing/ios/ipad/programmatic-text-size-adjust-expected.txt (nonexistent) >@@ -1,23 +0,0 @@ >-Tests programmatically setting and getting -webkit-text-size-adjust. >- >-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". >- >- >-Initial value of webkitTextSizeAdjust: >-PASS document.getElementById("test").style.webkitTextSizeAdjust is "" >- >-webkitTextSizeAdjust = "auto": >-PASS document.getElementById("test").style.webkitTextSizeAdjust is "auto" >- >-webkitTextSizeAdjust = "none": >-PASS document.getElementById("test").style.webkitTextSizeAdjust is "none" >- >-webkitTextSizeAdjust = "200%": >-PASS document.getElementById("test").style.webkitTextSizeAdjust is "200%" >- >-webkitTextSizeAdjust = "dummy" (invalid value): >-PASS document.getElementById("test").style.webkitTextSizeAdjust is "200%" >-PASS successfullyParsed is true >- >-TEST COMPLETE >- >Index: LayoutTests/fast/text-autosizing/ios/ipad/text-size-adjust-inline-style-expected-ipad.html >=================================================================== >--- LayoutTests/fast/text-autosizing/ios/ipad/text-size-adjust-inline-style-expected-ipad.html (revision 239075) (from LayoutTests/fast/text-autosizing/ios/ipad/text-size-adjust-inline-style-expected.html:239075) >+++ LayoutTests/fast/text-autosizing/ios/ipad/text-size-adjust-inline-style-expected-ipad.html (working copy) >@@ -0,0 +1,23 @@ >+<!DOCTYPE html> >+<html> >+<head> >+<style> >+@font-face { >+ font-family: Ahem; >+ src: url("../../../../resources/Ahem.ttf"); >+} >+p { >+ font-family: Ahem; >+ font-size: 20px; >+} >+</style> >+</head> >+<body> >+<p style="font-size: 20px">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p> >+<p style="font-size: 20px">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p> >+<p style="font-size: 10px">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p> >+<p style="font-size: 20px">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p> >+<p style="font-size: 30px">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p> >+<p style="font-size: 40px">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p> >+</body> >+</html> >Index: LayoutTests/fast/text-autosizing/ios/ipad/text-size-adjust-inline-style-expected.html >=================================================================== >--- LayoutTests/fast/text-autosizing/ios/ipad/text-size-adjust-inline-style-expected.html (revision 239075) >+++ LayoutTests/fast/text-autosizing/ios/ipad/text-size-adjust-inline-style-expected.html (nonexistent) >@@ -1,23 +0,0 @@ >-<!DOCTYPE html> >-<html> >-<head> >-<style> >-@font-face { >- font-family: Ahem; >- src: url("../../../../resources/Ahem.ttf"); >-} >-p { >- font-family: Ahem; >- font-size: 20px; >-} >-</style> >-</head> >-<body> >-<p style="font-size: 20px">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p> >-<p style="font-size: 20px">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p> >-<p style="font-size: 10px">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p> >-<p style="font-size: 20px">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p> >-<p style="font-size: 30px">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p> >-<p style="font-size: 40px">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p> >-</body> >-</html> >Index: LayoutTests/fast/text/ipad/bold-tall-body-text-style-expected-mismatch-ipad.html >=================================================================== >--- LayoutTests/fast/text/ipad/bold-tall-body-text-style-expected-mismatch-ipad.html (revision 239075) (from LayoutTests/fast/text/ipad/bold-tall-body-text-style-expected-mismatch.html:239075) >+++ LayoutTests/fast/text/ipad/bold-tall-body-text-style-expected-mismatch-ipad.html (working copy) >@@ -0,0 +1,8 @@ >+<!DOCTYPE html> >+<html> >+<head> >+</head> >+<body> >+<div style="font: -apple-system-tall-body; text-rendering: optimizeLegibility;"><span style="font-family: '.SFUIText-Light'; display: inline-block; transform-origin: left top; transform: scale(10);">Hello</span></div> >+</body> >+</html> >Index: LayoutTests/fast/text/ipad/bold-tall-body-text-style-expected-mismatch.html >=================================================================== >--- LayoutTests/fast/text/ipad/bold-tall-body-text-style-expected-mismatch.html (revision 239075) >+++ LayoutTests/fast/text/ipad/bold-tall-body-text-style-expected-mismatch.html (nonexistent) >@@ -1,8 +0,0 @@ >-<!DOCTYPE html> >-<html> >-<head> >-</head> >-<body> >-<div style="font: -apple-system-tall-body; text-rendering: optimizeLegibility;"><span style="font-family: '.SFUIText-Light'; display: inline-block; transform-origin: left top; transform: scale(10);">Hello</span></div> >-</body> >-</html> >Index: LayoutTests/fast/viewport/ios/ipad/empty-meta-expected-ipad.txt >=================================================================== >--- LayoutTests/fast/viewport/ios/ipad/empty-meta-expected-ipad.txt (revision 239075) (from LayoutTests/fast/viewport/ios/ipad/empty-meta-expected.txt:239075) >+++ LayoutTests/fast/viewport/ios/ipad/empty-meta-expected-ipad.txt (working copy) >@@ -0,0 +1,6 @@ >+Viewport: >+ >+scale 0.78376 >+maxScale 5.00000 >+minScale 0.78376 >+visibleRect {"left":"0.00000","top":"0.00000","width":"979.88843","height":"1281.00000"} >Index: LayoutTests/fast/viewport/ios/ipad/empty-meta-expected.txt >=================================================================== >--- LayoutTests/fast/viewport/ios/ipad/empty-meta-expected.txt (revision 239075) >+++ LayoutTests/fast/viewport/ios/ipad/empty-meta-expected.txt (nonexistent) >@@ -1,6 +0,0 @@ >-Viewport: >- >-scale 0.78376 >-maxScale 5.00000 >-minScale 0.78376 >-visibleRect {"left":"0.00000","top":"0.00000","width":"979.88843","height":"1281.00000"} >Index: LayoutTests/fast/viewport/ios/ipad/meta-viewport-ignored-expected-ipad.txt >=================================================================== >--- LayoutTests/fast/viewport/ios/ipad/meta-viewport-ignored-expected-ipad.txt (revision 239075) (from LayoutTests/fast/viewport/ios/ipad/meta-viewport-ignored-expected.txt:239075) >+++ LayoutTests/fast/viewport/ios/ipad/meta-viewport-ignored-expected-ipad.txt (working copy) >@@ -0,0 +1,6 @@ >+Viewport: >+ >+scale 1.00000 >+maxScale 5.00000 >+minScale 1.00000 >+visibleRect {"left":"0.00000","top":"0.00000","width":"768.00000","height":"1004.00000"} >Index: LayoutTests/fast/viewport/ios/ipad/meta-viewport-ignored-expected.txt >=================================================================== >--- LayoutTests/fast/viewport/ios/ipad/meta-viewport-ignored-expected.txt (revision 239075) >+++ LayoutTests/fast/viewport/ios/ipad/meta-viewport-ignored-expected.txt (nonexistent) >@@ -1,6 +0,0 @@ >-Viewport: >- >-scale 1.00000 >-maxScale 5.00000 >-minScale 1.00000 >-visibleRect {"left":"0.00000","top":"0.00000","width":"768.00000","height":"1004.00000"} >Index: LayoutTests/fast/viewport/ios/ipad/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport-expected-ipad.txt >=================================================================== >--- LayoutTests/fast/viewport/ios/ipad/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport-expected-ipad.txt (revision 239075) (from LayoutTests/fast/viewport/ios/ipad/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport-expected.txt:239075) >+++ LayoutTests/fast/viewport/ios/ipad/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport-expected-ipad.txt (working copy) >@@ -0,0 +1,41 @@ >+setMinimumEffectiveWidth(640.00) >+window size: [768, 1004] >+square size: [77, 100] >+zoom scale: 1.00 >+ >+setMinimumEffectiveWidth(768.00) >+window size: [768, 1004] >+square size: [77, 100] >+zoom scale: 1.00 >+ >+setMinimumEffectiveWidth(834.00) >+window size: [834, 1090] >+square size: [83, 109] >+zoom scale: 0.92 >+ >+setMinimumEffectiveWidth(980.00) >+window size: [980, 1281] >+square size: [98, 128] >+zoom scale: 0.78 >+ >+setMinimumEffectiveWidth(1024.00) >+window size: [1024, 1339] >+square size: [102, 134] >+zoom scale: 0.75 >+ >+setMinimumEffectiveWidth(1112.00) >+window size: [1112, 1454] >+square size: [111, 145] >+zoom scale: 0.69 >+ >+setMinimumEffectiveWidth(1280.00) >+window size: [1280, 1673] >+square size: [128, 167] >+zoom scale: 0.60 >+ >+setMinimumEffectiveWidth(1336.00) >+window size: [1336, 1747] >+square size: [134, 175] >+zoom scale: 0.57 >+ >+ >Index: LayoutTests/fast/viewport/ios/ipad/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport-expected.txt >=================================================================== >--- LayoutTests/fast/viewport/ios/ipad/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport-expected.txt (revision 239075) >+++ LayoutTests/fast/viewport/ios/ipad/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport-expected.txt (nonexistent) >@@ -1,41 +0,0 @@ >-setMinimumEffectiveWidth(640.00) >-window size: [768, 1004] >-square size: [77, 100] >-zoom scale: 1.00 >- >-setMinimumEffectiveWidth(768.00) >-window size: [768, 1004] >-square size: [77, 100] >-zoom scale: 1.00 >- >-setMinimumEffectiveWidth(834.00) >-window size: [834, 1090] >-square size: [83, 109] >-zoom scale: 0.92 >- >-setMinimumEffectiveWidth(980.00) >-window size: [980, 1281] >-square size: [98, 128] >-zoom scale: 0.78 >- >-setMinimumEffectiveWidth(1024.00) >-window size: [1024, 1339] >-square size: [102, 134] >-zoom scale: 0.75 >- >-setMinimumEffectiveWidth(1112.00) >-window size: [1112, 1454] >-square size: [111, 145] >-zoom scale: 0.69 >- >-setMinimumEffectiveWidth(1280.00) >-window size: [1280, 1673] >-square size: [128, 167] >-zoom scale: 0.60 >- >-setMinimumEffectiveWidth(1336.00) >-window size: [1336, 1747] >-square size: [134, 175] >-zoom scale: 0.57 >- >- >Index: LayoutTests/fast/viewport/ios/ipad/viewport-unchanged-by-minimum-effective-width-if-not-ignore-meta-viewport-expected-ipad.txt >=================================================================== >--- LayoutTests/fast/viewport/ios/ipad/viewport-unchanged-by-minimum-effective-width-if-not-ignore-meta-viewport-expected-ipad.txt (revision 239075) (from LayoutTests/fast/viewport/ios/ipad/viewport-unchanged-by-minimum-effective-width-if-not-ignore-meta-viewport-expected.txt:239075) >+++ LayoutTests/fast/viewport/ios/ipad/viewport-unchanged-by-minimum-effective-width-if-not-ignore-meta-viewport-expected-ipad.txt (working copy) >@@ -0,0 +1,41 @@ >+setMinimumEffectiveWidth(640.00) >+window size: [980, 1281] >+square size: [98, 128] >+zoom scale: 0.78 >+ >+setMinimumEffectiveWidth(768.00) >+window size: [980, 1281] >+square size: [98, 128] >+zoom scale: 0.78 >+ >+setMinimumEffectiveWidth(834.00) >+window size: [980, 1281] >+square size: [98, 128] >+zoom scale: 0.78 >+ >+setMinimumEffectiveWidth(980.00) >+window size: [980, 1281] >+square size: [98, 128] >+zoom scale: 0.78 >+ >+setMinimumEffectiveWidth(1024.00) >+window size: [980, 1281] >+square size: [98, 128] >+zoom scale: 0.78 >+ >+setMinimumEffectiveWidth(1112.00) >+window size: [980, 1281] >+square size: [98, 128] >+zoom scale: 0.78 >+ >+setMinimumEffectiveWidth(1280.00) >+window size: [980, 1281] >+square size: [98, 128] >+zoom scale: 0.78 >+ >+setMinimumEffectiveWidth(1336.00) >+window size: [980, 1281] >+square size: [98, 128] >+zoom scale: 0.78 >+ >+ >Index: LayoutTests/fast/viewport/ios/ipad/viewport-unchanged-by-minimum-effective-width-if-not-ignore-meta-viewport-expected.txt >=================================================================== >--- LayoutTests/fast/viewport/ios/ipad/viewport-unchanged-by-minimum-effective-width-if-not-ignore-meta-viewport-expected.txt (revision 239075) >+++ LayoutTests/fast/viewport/ios/ipad/viewport-unchanged-by-minimum-effective-width-if-not-ignore-meta-viewport-expected.txt (nonexistent) >@@ -1,41 +0,0 @@ >-setMinimumEffectiveWidth(640.00) >-window size: [980, 1281] >-square size: [98, 128] >-zoom scale: 0.78 >- >-setMinimumEffectiveWidth(768.00) >-window size: [980, 1281] >-square size: [98, 128] >-zoom scale: 0.78 >- >-setMinimumEffectiveWidth(834.00) >-window size: [980, 1281] >-square size: [98, 128] >-zoom scale: 0.78 >- >-setMinimumEffectiveWidth(980.00) >-window size: [980, 1281] >-square size: [98, 128] >-zoom scale: 0.78 >- >-setMinimumEffectiveWidth(1024.00) >-window size: [980, 1281] >-square size: [98, 128] >-zoom scale: 0.78 >- >-setMinimumEffectiveWidth(1112.00) >-window size: [980, 1281] >-square size: [98, 128] >-zoom scale: 0.78 >- >-setMinimumEffectiveWidth(1280.00) >-window size: [980, 1281] >-square size: [98, 128] >-zoom scale: 0.78 >- >-setMinimumEffectiveWidth(1336.00) >-window size: [980, 1281] >-square size: [98, 128] >-zoom scale: 0.78 >- >- >Index: LayoutTests/fast/viewport/ios/ipad/width-is-device-width-expected-ipad.txt >=================================================================== >--- LayoutTests/fast/viewport/ios/ipad/width-is-device-width-expected-ipad.txt (revision 239075) (from LayoutTests/fast/viewport/ios/ipad/width-is-device-width-expected.txt:239075) >+++ LayoutTests/fast/viewport/ios/ipad/width-is-device-width-expected-ipad.txt (working copy) >@@ -0,0 +1,6 @@ >+Viewport: width=device-width >+ >+scale 1.00000 >+maxScale 5.00000 >+minScale 1.00000 >+visibleRect {"left":"0.00000","top":"0.00000","width":"768.00000","height":"1004.00000"} >Index: LayoutTests/fast/viewport/ios/ipad/width-is-device-width-expected.txt >=================================================================== >--- LayoutTests/fast/viewport/ios/ipad/width-is-device-width-expected.txt (revision 239075) >+++ LayoutTests/fast/viewport/ios/ipad/width-is-device-width-expected.txt (nonexistent) >@@ -1,6 +0,0 @@ >-Viewport: width=device-width >- >-scale 1.00000 >-maxScale 5.00000 >-minScale 1.00000 >-visibleRect {"left":"0.00000","top":"0.00000","width":"768.00000","height":"1004.00000"} >Index: LayoutTests/http/tests/security/mixedContent/insecure-script-redirects-to-basic-auth-secure-script-expected.https.txt >=================================================================== >--- LayoutTests/http/tests/security/mixedContent/insecure-script-redirects-to-basic-auth-secure-script-expected.https.txt (revision 239075) >+++ LayoutTests/http/tests/security/mixedContent/insecure-script-redirects-to-basic-auth-secure-script-expected.https.txt (nonexistent) >@@ -1,5 +0,0 @@ >-CONSOLE MESSAGE: [blocked] The page at https://127.0.0.1:8443/security/mixedContent/resources/frame-with-insecure-script-redirects-to-basic-auth-secure-script.html was not allowed to run insecure content from http://127.0.0.1:8080/resources/redirect.php?url=https://localhost:8443/security/mixedContent/resources/subresource/protected-script.php. >- >-This test opens a new window to a secure page that loads an insecure script that redirects to a secure script guarded by basic authentication. The secure script should be blocked because it requires credentials and was loaded via an insecure redirect. >- >-PASS did not load script. >Index: LayoutTests/media/controls/ipad/close-page-with-picture-in-picture-video-assertion-failure-expected-ipad.txt >=================================================================== >--- LayoutTests/media/controls/ipad/close-page-with-picture-in-picture-video-assertion-failure-expected-ipad.txt (revision 239075) (from LayoutTests/media/controls/ipad/close-page-with-picture-in-picture-video-assertion-failure-expected.txt:239075) >+++ LayoutTests/media/controls/ipad/close-page-with-picture-in-picture-video-assertion-failure-expected-ipad.txt (working copy) >@@ -0,0 +1,10 @@ >+This tests that closing a window that is presenting a video in picture-in-picture does not cause an assertion failure in a debug build. To run this test by hand, click the Open new window button then click the picture-in-picture button (tap the video on iOS). >+ >+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". >+ >+ >+PASS did not cause an assertion failure. >+PASS successfullyParsed is true >+ >+TEST COMPLETE >+ >Index: LayoutTests/media/controls/ipad/close-page-with-picture-in-picture-video-assertion-failure-expected.txt >=================================================================== >--- LayoutTests/media/controls/ipad/close-page-with-picture-in-picture-video-assertion-failure-expected.txt (revision 239075) >+++ LayoutTests/media/controls/ipad/close-page-with-picture-in-picture-video-assertion-failure-expected.txt (nonexistent) >@@ -1,10 +0,0 @@ >-This tests that closing a window that is presenting a video in picture-in-picture does not cause an assertion failure in a debug build. To run this test by hand, click the Open new window button then click the picture-in-picture button (tap the video on iOS). >- >-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". >- >- >-PASS did not cause an assertion failure. >-PASS successfullyParsed is true >- >-TEST COMPLETE >- >Index: LayoutTests/media/modern-media-controls/media-documents/ipad/media-document-audio-ios-sizing-expected-ipad.txt >=================================================================== >--- LayoutTests/media/modern-media-controls/media-documents/ipad/media-document-audio-ios-sizing-expected-ipad.txt (revision 239075) (from LayoutTests/media/modern-media-controls/media-documents/ipad/media-document-audio-ios-sizing-expected.txt:239075) >+++ LayoutTests/media/modern-media-controls/media-documents/ipad/media-document-audio-ios-sizing-expected-ipad.txt (working copy) >@@ -0,0 +1,12 @@ >+Testing the size of the media element in an audio media document on iOS. >+ >+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". >+ >+ >+PASS getComputedStyle(media).width became "650px" >+PASS getComputedStyle(media).height is "50px" >+ >+PASS successfullyParsed is true >+ >+TEST COMPLETE >+ >Index: LayoutTests/media/modern-media-controls/media-documents/ipad/media-document-audio-ios-sizing-expected.txt >=================================================================== >--- LayoutTests/media/modern-media-controls/media-documents/ipad/media-document-audio-ios-sizing-expected.txt (revision 239075) >+++ LayoutTests/media/modern-media-controls/media-documents/ipad/media-document-audio-ios-sizing-expected.txt (nonexistent) >@@ -1,12 +0,0 @@ >-Testing the size of the media element in an audio media document on iOS. >- >-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". >- >- >-PASS getComputedStyle(media).width became "650px" >-PASS getComputedStyle(media).height is "50px" >- >-PASS successfullyParsed is true >- >-TEST COMPLETE >- >Index: LayoutTests/media/modern-media-controls/media-documents/ipad/media-document-video-ios-sizing-expected-ipad.txt >=================================================================== >--- LayoutTests/media/modern-media-controls/media-documents/ipad/media-document-video-ios-sizing-expected-ipad.txt (revision 239075) (from LayoutTests/media/modern-media-controls/media-documents/ipad/media-document-video-ios-sizing-expected.txt:239075) >+++ LayoutTests/media/modern-media-controls/media-documents/ipad/media-document-video-ios-sizing-expected-ipad.txt (working copy) >@@ -0,0 +1,12 @@ >+Testing the size of the media element in a video media document on iOS. >+ >+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". >+ >+ >+PASS getComputedStyle(media).width became "700px" >+PASS getComputedStyle(media).height is "525px" >+ >+PASS successfullyParsed is true >+ >+TEST COMPLETE >+ >Index: LayoutTests/media/modern-media-controls/media-documents/ipad/media-document-video-ios-sizing-expected.txt >=================================================================== >--- LayoutTests/media/modern-media-controls/media-documents/ipad/media-document-video-ios-sizing-expected.txt (revision 239075) >+++ LayoutTests/media/modern-media-controls/media-documents/ipad/media-document-video-ios-sizing-expected.txt (nonexistent) >@@ -1,12 +0,0 @@ >-Testing the size of the media element in a video media document on iOS. >- >-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". >- >- >-PASS getComputedStyle(media).width became "700px" >-PASS getComputedStyle(media).height is "525px" >- >-PASS successfullyParsed is true >- >-TEST COMPLETE >- >Index: LayoutTests/media/modern-media-controls/pip-support/ipad/pip-support-enabled-expected-ipad.txt >=================================================================== >--- LayoutTests/media/modern-media-controls/pip-support/ipad/pip-support-enabled-expected-ipad.txt (revision 239075) (from LayoutTests/media/modern-media-controls/pip-support/ipad/pip-support-enabled-expected.txt:239075) >+++ LayoutTests/media/modern-media-controls/pip-support/ipad/pip-support-enabled-expected-ipad.txt (working copy) >@@ -0,0 +1,12 @@ >+Testing the PipSupport behavior. >+ >+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". >+ >+ >+PASS mediaController.controls.pipButton.enabled is true >+PASS mediaController.controls.pipButton.enabled is false >+ >+PASS successfullyParsed is true >+ >+TEST COMPLETE >+ >Index: LayoutTests/media/modern-media-controls/pip-support/ipad/pip-support-enabled-expected.txt >=================================================================== >--- LayoutTests/media/modern-media-controls/pip-support/ipad/pip-support-enabled-expected.txt (revision 239075) >+++ LayoutTests/media/modern-media-controls/pip-support/ipad/pip-support-enabled-expected.txt (nonexistent) >@@ -1,12 +0,0 @@ >-Testing the PipSupport behavior. >- >-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". >- >- >-PASS mediaController.controls.pipButton.enabled is true >-PASS mediaController.controls.pipButton.enabled is false >- >-PASS successfullyParsed is true >- >-TEST COMPLETE >- >Index: LayoutTests/tiled-drawing/ios/iphone7/compositing-layers-deep-color-expected-iphone-7.txt >=================================================================== >--- LayoutTests/tiled-drawing/ios/iphone7/compositing-layers-deep-color-expected-iphone-7.txt (revision 239075) (from LayoutTests/tiled-drawing/ios/iphone7/compositing-layers-deep-color-expected.txt:239075) >+++ LayoutTests/tiled-drawing/ios/iphone7/compositing-layers-deep-color-expected-iphone-7.txt (working copy) >@@ -0,0 +1,40 @@ >+Box >+Box >+(GraphicsLayer >+ (anchor 0.00 0.00) >+ (bounds 5018.00 2018.00) >+ (deep color 1) >+ (children 1 >+ (GraphicsLayer >+ (bounds 5018.00 2018.00) >+ (contentsOpaque 1) >+ (tile cache coverage 0, 0 1024 x 1024) >+ (tile size 512 x 512) >+ (top left tile 0, 0 tiles grid 2 x 2) >+ (in window 1) >+ (deep color 1) >+ (children 2 >+ (GraphicsLayer >+ (position 18.00 10.00) >+ (bounds 100.00 100.00) >+ (contentsOpaque 1) >+ (drawsContent 1) >+ (deep color 1) >+ ) >+ (GraphicsLayer >+ (position 18.00 120.00) >+ (bounds 5000.00 100.00) >+ (usingTiledLayer 1) >+ (contentsOpaque 1) >+ (drawsContent 1) >+ (tile cache coverage 0, 0 1024 x 100) >+ (tile size 512 x 512) >+ (top left tile 0, 0 tiles grid 2 x 1) >+ (in window 1) >+ (deep color 1) >+ ) >+ ) >+ ) >+ ) >+) >+ >Index: LayoutTests/tiled-drawing/ios/iphone7/compositing-layers-deep-color-expected.txt >=================================================================== >--- LayoutTests/tiled-drawing/ios/iphone7/compositing-layers-deep-color-expected.txt (revision 239075) >+++ LayoutTests/tiled-drawing/ios/iphone7/compositing-layers-deep-color-expected.txt (nonexistent) >@@ -1,40 +0,0 @@ >-Box >-Box >-(GraphicsLayer >- (anchor 0.00 0.00) >- (bounds 5018.00 2018.00) >- (deep color 1) >- (children 1 >- (GraphicsLayer >- (bounds 5018.00 2018.00) >- (contentsOpaque 1) >- (tile cache coverage 0, 0 1024 x 1024) >- (tile size 512 x 512) >- (top left tile 0, 0 tiles grid 2 x 2) >- (in window 1) >- (deep color 1) >- (children 2 >- (GraphicsLayer >- (position 18.00 10.00) >- (bounds 100.00 100.00) >- (contentsOpaque 1) >- (drawsContent 1) >- (deep color 1) >- ) >- (GraphicsLayer >- (position 18.00 120.00) >- (bounds 5000.00 100.00) >- (usingTiledLayer 1) >- (contentsOpaque 1) >- (drawsContent 1) >- (tile cache coverage 0, 0 1024 x 100) >- (tile size 512 x 512) >- (top left tile 0, 0 tiles grid 2 x 1) >- (in window 1) >- (deep color 1) >- ) >- ) >- ) >- ) >-) >-
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 192162
:
356960
|
356967
|
357055
|
357148
|
357149
|
357154
|
357170
|
357194
|
357205
|
357231
|
357275
|
359090
|
359383
|
359398
|
359433
|
359444
|
359448