diff --git a/DEPS b/DEPS index 32fff9a..5f6a152 100644 --- a/DEPS +++ b/DEPS
@@ -195,7 +195,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling Skia # and whatever else without interference from each other. - 'skia_revision': '46a324a16c4b28a2d01af305e6a469d7017e0a4a', + 'skia_revision': 'a4b9169fb6b35baf997e59bdce94663b8db34596', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling V8 # and whatever else without interference from each other. @@ -207,7 +207,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling ANGLE # and whatever else without interference from each other. - 'angle_revision': '8956bfb9c99d9d810022b6054486ed3811f99cb5', + 'angle_revision': '275a495dbb2d97c83d6c6721717d059919708d8d', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling SwiftShader # and whatever else without interference from each other. @@ -215,7 +215,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling PDFium # and whatever else without interference from each other. - 'pdfium_revision': 'b70f99dcd33477cd588e7758fa5c2af345a172f8', + 'pdfium_revision': '1553832ddd6cd96d6278c84c8b557a0ce6cd9bd7', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling BoringSSL # and whatever else without interference from each other. @@ -314,11 +314,11 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling feed # and whatever else without interference from each other. - 'shaderc_revision': 'c626b912dc4568867b29c5b221df6aac75390ab5', + 'shaderc_revision': '9f09e3fd0930520f2bed6d63ca57cba8e7226377', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling feed # and whatever else without interference from each other. - 'dawn_revision': 'ccf01e74ec70fc0b5edc9a0dd87f902b6388afce', + 'dawn_revision': 'cbec3179ef87cf995bd2669da302d530c8c3d93b', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling feed # and whatever else without interference from each other. @@ -357,7 +357,7 @@ 'ukey2_revision': '0275885d8e6038c39b8a8ca55e75d1d4d1727f47', # the commit queue can handle CLs rolling feed # and whatever else without interference from each other. - 'tint_revision': 'f18d737b4e9318a1817126852edb6cc596ff1f5e', + 'tint_revision': 'bc80805c4b04d0e8cd9dad12bef32927363b9787', # TODO(crbug.com/941824): The values below need to be kept in sync # between //DEPS and //buildtools/DEPS, so if you're updating one, @@ -1326,7 +1326,7 @@ 'packages': [ { 'package': 'fuchsia/third_party/aemu/linux-amd64', - 'version': 'NHKI_hy9EiYHTk25-SwU9lqq_Nmk1LQ748n-ZAtBu9YC' + 'version': 'YEwxmLueKzfWQ45Ra0k7ltVc0M2D3uGXlGL3w8rOaagC' }, ], 'condition': 'host_os == "linux" and checkout_fuchsia', @@ -1542,7 +1542,7 @@ Var('chromium_git') + '/v8/v8.git' + '@' + Var('v8_revision'), 'src-internal': { - 'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@c92cc9537f569a4dc5a64c7953278ac38f3fbaff', + 'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@6ccf763c563e002eb22d6166029fb53a27ee114a', 'condition': 'checkout_src_internal', },
diff --git a/PRESUBMIT.py b/PRESUBMIT.py index be1c69e..1a60f44 100644 --- a/PRESUBMIT.py +++ b/PRESUBMIT.py
@@ -7,6 +7,17 @@ See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts for more details about the presubmit API built into depot_tools. """ +# Run this function to enable ALL Check... functions will serve as entry +# points into our code, and we will individually time and report their results +# to ResultDB +class VersionError(Exception): pass +if __name__ == '__builtin__': + try: + REQUIRE_PRESUBMIT_VERSION(1) + except NameError: + raise VersionError("Your depot_tools is out of date, and doesn't define the" + " function REQUIRE_PRESUBMIT_VERSION needed to enable" + " the new version of presubmit checks.") _EXCLUDED_PATHS = ( @@ -1458,7 +1469,7 @@ def _IsProtoFile(input_api, file_path): return input_api.os_path.splitext(file_path)[1] == ".proto" -def _CheckNoProductionCodeUsingTestOnlyFunctions(input_api, output_api): +def CheckNoProductionCodeUsingTestOnlyFunctions(input_api, output_api): """Attempts to prevent use of functions intended only for testing in non-testing code. For now this is just a best-effort implementation that ignores header files and may have some false positives. A @@ -1501,7 +1512,7 @@ return [] -def _CheckNoProductionCodeUsingTestOnlyFunctionsJava(input_api, output_api): +def CheckNoProductionCodeUsingTestOnlyFunctionsJava(input_api, output_api): """This is a simplified version of _CheckNoProductionCodeUsingTestOnlyFunctions for Java files. """ @@ -1547,7 +1558,7 @@ return [] -def _CheckNoIOStreamInHeaders(input_api, output_api): +def CheckNoIOStreamInHeaders(input_api, output_api): """Checks to make sure no .h files include <iostream>.""" files = [] pattern = input_api.re.compile(r'^#include\s*<iostream>', @@ -1590,7 +1601,7 @@ return [] -def _CheckNoUNIT_TESTInSourceFiles(input_api, output_api): +def CheckNoUNIT_TESTInSourceFiles(input_api, output_api): """Checks to make sure no source files use UNIT_TEST.""" problems = [] for f in input_api.AffectedFiles(): @@ -1606,7 +1617,7 @@ return [output_api.PresubmitPromptWarning('UNIT_TEST is only for headers.\n' + '\n'.join(problems))] -def _CheckNoDISABLETypoInTests(input_api, output_api): +def CheckNoDISABLETypoInTests(input_api, output_api): """Checks to prevent attempts to disable tests with DISABLE_ prefix. This test warns if somebody tries to disable a test with the DISABLE_ prefix @@ -1660,7 +1671,7 @@ ] -def _CheckDCHECK_IS_ONHasBraces(input_api, output_api): +def CheckDCHECK_IS_ONHasBraces(input_api, output_api): """Checks to make sure DCHECK_IS_ON() does not skip the parentheses.""" errors = [] pattern = input_api.re.compile(r'DCHECK_IS_ON\b(?!\(\))', @@ -1698,7 +1709,7 @@ return histogram_name in chunk -def _CheckUmaHistogramChanges(input_api, output_api): +def CheckUmaHistogramChangesOnUpload(input_api, output_api): """Check that UMA histogram names in touched lines can still be found in other lines of the patch or in histograms.xml. Note that this check would not catch the reverse: changes in histograms.xml not matched in the code itself.""" @@ -1784,7 +1795,7 @@ '%s or the modifications of it:' % (histograms_xml_path), problems)] -def _CheckFlakyTestUsage(input_api, output_api): +def CheckFlakyTestUsage(input_api, output_api): """Check that FlakyTest annotation is our own instead of the android one""" pattern = input_api.re.compile(r'import android.test.FlakyTest;') files = [] @@ -1800,7 +1811,7 @@ return [] -def _CheckNoNewWStrings(input_api, output_api): +def CheckNoNewWStrings(input_api, output_api): """Checks to make sure we don't introduce use of wstrings.""" problems = [] for f in input_api.AffectedFiles(): @@ -1829,7 +1840,7 @@ '\n'.join(problems))] -def _CheckNoDEPSGIT(input_api, output_api): +def CheckNoDEPSGIT(input_api, output_api): """Make sure .DEPS.git is never modified manually.""" if any(f.LocalPath().endswith('.DEPS.git') for f in input_api.AffectedFiles()): @@ -1843,7 +1854,7 @@ return [] -def _CheckValidHostsInDEPS(input_api, output_api): +def CheckValidHostsInDEPSOnUpload(input_api, output_api): """Checks that DEPS file deps are from allowed_hosts.""" # Run only if DEPS file has been modified to annoy fewer bystanders. if all(f.LocalPath() != 'DEPS' for f in input_api.AffectedFiles()): @@ -1892,7 +1903,7 @@ return result -def _CheckNoBannedFunctions(input_api, output_api): +def CheckNoBannedFunctions(input_api, output_api): """Make sure that banned functions are not used.""" warnings = [] errors = [] @@ -1993,7 +2004,7 @@ return result -def _CheckNoDeprecatedMojoTypes(input_api, output_api): +def CheckNoDeprecatedMojoTypes(input_api, output_api): """Make sure that old Mojo types are not used.""" warnings = [] errors = [] @@ -2031,7 +2042,7 @@ return result -def _CheckNoPragmaOnce(input_api, output_api): +def CheckNoPragmaOnce(input_api, output_api): """Make sure that banned functions are not used.""" files = [] pattern = input_api.re.compile(r'^#pragma\s+once', @@ -2051,7 +2062,7 @@ return [] -def _CheckNoTrinaryTrueFalse(input_api, output_api): +def CheckNoTrinaryTrueFalse(input_api, output_api): """Checks to make sure we don't introduce use of foo ? true : false.""" problems = [] pattern = input_api.re.compile(r'\?\s*(true|false)\s*:\s*(true|false)') @@ -2070,7 +2081,7 @@ '\n'.join(problems))] -def _CheckUnwantedDependencies(input_api, output_api): +def CheckUnwantedDependencies(input_api, output_api): """Runs checkdeps on #include and import statements added in this change. Breaking - rules is an error, breaking ! rules is a warning. @@ -2109,6 +2120,7 @@ warning_descriptions = [] error_subjects = set() warning_subjects = set() + for path, rule_type, rule_description in deps_checker.CheckAddedCppIncludes( added_includes): path = input_api.os_path.relpath(path, input_api.PresubmitLocalPath()) @@ -2158,7 +2170,7 @@ return results -def _CheckFilePermissions(input_api, output_api): +def CheckFilePermissions(input_api, output_api): """Check that all files have their permissions properly set.""" if input_api.platform == 'win32': return [] @@ -2183,7 +2195,7 @@ long_text=error.output)] -def _CheckNoAuraWindowPropertyHInHeaders(input_api, output_api): +def CheckNoAuraWindowPropertyHInHeaders(input_api, output_api): """Makes sure we don't include ui/aura/window_property.h in header files. """ @@ -2216,7 +2228,7 @@ return errors -def _CheckForVersionControlConflicts(input_api, output_api): +def CheckForVersionControlConflicts(input_api, output_api): """Usually this is not intentional and will cause a compile failure.""" errors = [] for f in input_api.AffectedFiles(): @@ -2229,7 +2241,7 @@ return results -def _CheckGoogleSupportAnswerUrl(input_api, output_api): +def CheckGoogleSupportAnswerUrlOnUpload(input_api, output_api): pattern = input_api.re.compile('support\.google\.com\/chrome.*/answer') errors = [] for f in input_api.AffectedFiles(): @@ -2245,7 +2257,7 @@ return results -def _CheckHardcodedGoogleHostsInLowerLayers(input_api, output_api): +def CheckHardcodedGoogleHostsInLowerLayers(input_api, output_api): def FilterFile(affected_file): """Filter function for use with input_api.AffectedSourceFiles, below. This filters out everything except non-test files from @@ -2279,7 +2291,7 @@ return [] -def _CheckChromeOsSyncedPrefRegistration(input_api, output_api): +def CheckChromeOsSyncedPrefRegistration(input_api, output_api): """Warns if Chrome OS C++ files register syncable prefs as browser prefs.""" def FileFilter(affected_file): """Includes directories known to be Chrome OS only.""" @@ -2320,7 +2332,7 @@ # TODO: add unit tests. -def _CheckNoAbbreviationInPngFileName(input_api, output_api): +def CheckNoAbbreviationInPngFileName(input_api, output_api): """Makes sure there are no abbreviations in the name of PNG files. The native_client_sdk directory is excluded because it has auto-generated PNG files for documentation. @@ -2414,7 +2426,7 @@ return results -def _CheckAddedDepsHaveTargetApprovals(input_api, output_api): +def CheckAddedDepsHaveTargetApprovals(input_api, output_api): """When a dependency prefixed with + is added to a DEPS file, we want to make sure that the change is reviewed by an OWNER of the target file or directory, to avoid layering violations from being @@ -2493,7 +2505,7 @@ # TODO: add unit tests. -def _CheckSpamLogging(input_api, output_api): +def CheckSpamLogging(input_api, output_api): file_inclusion_pattern = [r'.+%s' % _IMPLEMENTATION_EXTENSIONS] files_to_skip = (_EXCLUDED_PATHS + _TEST_CODE_EXCLUDED_PATHS + @@ -2572,7 +2584,7 @@ return [] -def _CheckForAnonymousVariables(input_api, output_api): +def CheckForAnonymousVariables(input_api, output_api): """These types are all expected to hold locks while in scope and so should never be anonymous (which causes them to be immediately destroyed).""" @@ -2628,7 +2640,7 @@ return [] -def _CheckUniquePtr(input_api, output_api): +def CheckUniquePtrOnUpload(input_api, output_api): # Returns whether |template_str| is of the form <T, U...> for some types T # and U. Assumes that |template_str| is already in the form <...>. def HasMoreThanOneArg(template_str): @@ -2726,7 +2738,7 @@ return errors -def _CheckUserActionUpdate(input_api, output_api): +def CheckUserActionUpdate(input_api, output_api): """Checks if any new user action has been added.""" if any('actions.xml' == input_api.os_path.basename(f) for f in input_api.LocalPaths()): @@ -2798,7 +2810,7 @@ return e -def _CheckParseErrors(input_api, output_api): +def CheckParseErrors(input_api, output_api): """Check that IDL and JSON files do not contain syntax errors.""" actions = { '.idl': _GetIDLParseError, @@ -2852,7 +2864,7 @@ return results -def _CheckJavaStyle(input_api, output_api): +def CheckJavaStyle(input_api, output_api): """Runs checkstyle on changed java files and returns errors if any exist.""" import sys original_sys_path = sys.path @@ -2869,7 +2881,7 @@ files_to_skip=_EXCLUDED_PATHS + input_api.DEFAULT_FILES_TO_SKIP) -def _CheckPythonDevilInit(input_api, output_api): +def CheckPythonDevilInit(input_api, output_api): """Checks to make sure devil is initialized correctly in python scripts.""" script_common_initialize_pattern = input_api.re.compile( r'script_common\.InitializeEnvironment\(') @@ -3068,7 +3080,7 @@ return to_check -def _CheckSecurityOwners(input_api, output_api): +def CheckSecurityOwners(input_api, output_api): """Checks that affected files involving IPC have an IPC OWNERS rule.""" to_check = _GetOwnersFilesToCheckForIpcOwners(input_api) _AddOwnersFilesToCheckForFuchsiaSecurityOwners(input_api, to_check) @@ -3158,7 +3170,7 @@ return files_to_functions -def _CheckSecurityChanges(input_api, output_api): +def CheckSecurityChanges(input_api, output_api): """Checks that changes involving security-critical functions are reviewed by the security team. """ @@ -3194,7 +3206,7 @@ return [] -def _CheckSetNoParent(input_api, output_api): +def CheckSetNoParent(input_api, output_api): """Checks that set noparent is only used together with an OWNERS file in //build/OWNERS.setnoparent (see also //docs/code_reviews.md#owners-files-details) @@ -3259,7 +3271,7 @@ return results -def _CheckUselessForwardDeclarations(input_api, output_api): +def CheckUselessForwardDeclarations(input_api, output_api): """Checks that added or removed lines in non third party affected header files do not lead to new useless class or struct forward declaration. @@ -3730,7 +3742,7 @@ return args -def _CheckPydepsNeedsUpdating(input_api, output_api, checker_for_tests=None): +def CheckPydepsNeedsUpdating(input_api, output_api, checker_for_tests=None): """Checks if a .pydeps file needs to be regenerated.""" # This check is for Python dependency lists (.pydeps files), and involves # paths not only in the PRESUBMIT.py, but also in the .pydeps files. It @@ -3792,7 +3804,7 @@ return results -def _CheckSingletonInHeaders(input_api, output_api): +def CheckSingletonInHeaders(input_api, output_api): """Checks to make sure no header files have |Singleton<|.""" def FileFilter(affected_file): # It's ok for base/memory/singleton.h to have |Singleton<|. @@ -3852,7 +3864,7 @@ # TODO: add unit tests -def _CheckNoDeprecatedCss(input_api, output_api): +def CheckNoDeprecatedCss(input_api, output_api): """ Make sure that we don't use deprecated CSS properties, functions or values. Our external documentation and iOS CSS for dom distiller @@ -3880,7 +3892,7 @@ return results -def _CheckForRelativeIncludes(input_api, output_api): +def CheckForRelativeIncludes(input_api, output_api): bad_files = {} for f in input_api.AffectedFiles(include_deletes=False): if (f.LocalPath().startswith('third_party') and @@ -3918,7 +3930,7 @@ return results -def _CheckForCcIncludes(input_api, output_api): +def CheckForCcIncludes(input_api, output_api): """Check that nobody tries to include a cc file. It's a relatively common error which results in duplicate symbols in object files. This may not always break the build until someone later gets @@ -4058,7 +4070,7 @@ return _CheckWATCHLISTSEntries(first_value, second_value, input_api) -def _CheckWATCHLISTS(input_api, output_api): +def CheckWATCHLISTS(input_api, output_api): for f in input_api.AffectedFiles(include_deletes=False): if f.LocalPath() == 'WATCHLISTS': contents = input_api.ReadFile(f, 'r') @@ -4087,7 +4099,7 @@ return [] -def _CheckNewHeaderWithoutGnChange(input_api, output_api): +def CheckNewHeaderWithoutGnChangeOnUpload(input_api, output_api): """Checks that newly added header files have corresponding GN changes. Note that this is only a heuristic. To be precise, run script: build/check_gn_headers.py. @@ -4127,7 +4139,7 @@ return [] -def _CheckCorrectProductNameInMessages(input_api, output_api): +def CheckCorrectProductNameInMessages(input_api, output_api): """Check that Chromium-branded strings don't include "Chrome" or vice versa. This assumes we won't intentionally reference one product from the other @@ -4171,7 +4183,7 @@ return all_problems -def _CheckBuildtoolsRevisionsAreInSync(input_api, output_api): +def CheckBuildtoolsRevisionsAreInSync(input_api, output_api): # TODO(crbug.com/941824): We need to make sure the entries in # //buildtools/DEPS are kept in sync with the entries in //DEPS # so that users of //buildtools in other projects get the same tooling @@ -4211,7 +4223,7 @@ return [] -def _CheckForTooLargeFiles(input_api, output_api): +def CheckForTooLargeFiles(input_api, output_api): """Avoid large files, especially binary files, in the repository since git doesn't scale well for those. They will be in everyone's repo clones forever, forever making Chromium slower to clone and work @@ -4243,7 +4255,7 @@ return [] -def _CheckFuzzTargets(input_api, output_api): +def CheckFuzzTargetsOnUpload(input_api, output_api): """Checks specific for fuzz target sources.""" EXPORTED_SYMBOLS = [ 'LLVMFuzzerInitialize', @@ -4324,7 +4336,7 @@ return errors -def _AndroidSpecificOnUploadChecks(input_api, output_api): +def ChecksAndroidSpecificOnUpload(input_api, output_api): """Groups upload checks that target android code.""" results = [] results.extend(_CheckAndroidCrLogUsage(input_api, output_api)) @@ -4340,7 +4352,7 @@ results.extend(_CheckAndroidNoBannedImports(input_api, output_api)) return results -def _AndroidSpecificOnCommitChecks(input_api, output_api): +def ChecksAndroidSpecificOnCommit(input_api, output_api): """Groups commit checks that target android code.""" results = [] results.extend(_CheckAndroidXmlStyle(input_api, output_api, False)) @@ -4361,7 +4373,7 @@ r"^ui[\\/]views[\\/]accessibility[\\/]", ) -def _CheckAccessibilityRelnotesField(input_api, output_api): +def CheckAccessibilityRelnotesField(input_api, output_api): """Checks that commits to accessibility code contain an AX-Relnotes field in their commit message.""" def FileFilter(affected_file): @@ -4395,7 +4407,7 @@ return [output_api.PresubmitNotifyResult(message)] -def _CommonChecks(input_api, output_api): +def ChecksCommon(input_api, output_api): """Checks common to both upload and commit.""" results = [] results.extend(input_api.canned_checks.PanProjectChecks( @@ -4407,67 +4419,13 @@ results.extend( input_api.canned_checks.CheckAuthorizedAuthor(input_api, output_api)) - results.extend(_CheckAccessibilityRelnotesField(input_api, output_api)) - results.extend( - _CheckNoProductionCodeUsingTestOnlyFunctions(input_api, output_api)) - results.extend( - _CheckNoProductionCodeUsingTestOnlyFunctionsJava(input_api, output_api)) - results.extend(_CheckNoIOStreamInHeaders(input_api, output_api)) - results.extend(_CheckNoUNIT_TESTInSourceFiles(input_api, output_api)) - results.extend(_CheckNoDISABLETypoInTests(input_api, output_api)) - results.extend(_CheckDCHECK_IS_ONHasBraces(input_api, output_api)) - results.extend(_CheckNoNewWStrings(input_api, output_api)) - results.extend(_CheckNoDEPSGIT(input_api, output_api)) - results.extend(_CheckNoBannedFunctions(input_api, output_api)) - results.extend(_CheckNoDeprecatedMojoTypes(input_api, output_api)) - results.extend(_CheckNoPragmaOnce(input_api, output_api)) - results.extend(_CheckNoTrinaryTrueFalse(input_api, output_api)) - results.extend(_CheckUnwantedDependencies(input_api, output_api)) - results.extend(_CheckFilePermissions(input_api, output_api)) - results.extend(_CheckNoAuraWindowPropertyHInHeaders(input_api, output_api)) - results.extend(_CheckForVersionControlConflicts(input_api, output_api)) - results.extend(_CheckPatchFiles(input_api, output_api)) - results.extend(_CheckHardcodedGoogleHostsInLowerLayers(input_api, output_api)) - results.extend(_CheckChromeOsSyncedPrefRegistration(input_api, output_api)) - results.extend(_CheckNoAbbreviationInPngFileName(input_api, output_api)) - results.extend(_CheckBuildConfigMacrosWithoutInclude(input_api, output_api)) - results.extend(_CheckForInvalidOSMacros(input_api, output_api)) - results.extend(_CheckForInvalidIfDefinedMacros(input_api, output_api)) - results.extend(_CheckFlakyTestUsage(input_api, output_api)) - results.extend(_CheckAddedDepsHaveTargetApprovals(input_api, output_api)) results.extend( input_api.canned_checks.CheckChangeHasNoTabs( input_api, output_api, source_file_filter=lambda x: x.LocalPath().endswith('.grd'))) - results.extend(_CheckSpamLogging(input_api, output_api)) - results.extend(_CheckForAnonymousVariables(input_api, output_api)) - results.extend(_CheckUserActionUpdate(input_api, output_api)) - results.extend(_CheckNoDeprecatedCss(input_api, output_api)) - results.extend(_CheckParseErrors(input_api, output_api)) - results.extend(_CheckForIPCRules(input_api, output_api)) - results.extend(_CheckForLongPathnames(input_api, output_api)) - results.extend(_CheckForIncludeGuards(input_api, output_api)) - results.extend(_CheckForWindowsLineEndings(input_api, output_api)) - results.extend(_CheckSingletonInHeaders(input_api, output_api)) - results.extend(_CheckPydepsNeedsUpdating(input_api, output_api)) - results.extend(_CheckJavaStyle(input_api, output_api)) - results.extend(_CheckSecurityOwners(input_api, output_api)) - results.extend(_CheckSecurityChanges(input_api, output_api)) - results.extend(_CheckSetNoParent(input_api, output_api)) - results.extend(_CheckUselessForwardDeclarations(input_api, output_api)) - results.extend(_CheckForRelativeIncludes(input_api, output_api)) - results.extend(_CheckForCcIncludes(input_api, output_api)) - results.extend(_CheckWATCHLISTS(input_api, output_api)) results.extend(input_api.RunTests( input_api.canned_checks.CheckVPythonSpec(input_api, output_api))) - results.extend(_CheckStrings(input_api, output_api)) - results.extend(_CheckTranslationExpectations(input_api, output_api)) - results.extend(_CheckCorrectProductNameInMessages(input_api, output_api)) - results.extend(_CheckBuildtoolsRevisionsAreInSync(input_api, output_api)) - results.extend(_CheckForTooLargeFiles(input_api, output_api)) - results.extend(_CheckPythonDevilInit(input_api, output_api)) - results.extend(_CheckStableMojomChanges(input_api, output_api)) dirmd_bin = input_api.os_path.join( input_api.PresubmitLocalPath(), 'third_party', 'depot_tools', 'dirmd') @@ -4493,7 +4451,7 @@ return results -def _CheckPatchFiles(input_api, output_api): +def CheckPatchFiles(input_api, output_api): problems = [f.LocalPath() for f in input_api.AffectedFiles() if f.LocalPath().endswith(('.orig', '.rej'))] if problems: @@ -4503,7 +4461,7 @@ return [] -def _CheckBuildConfigMacrosWithoutInclude(input_api, output_api): +def CheckBuildConfigMacrosWithoutInclude(input_api, output_api): # Excludes OS_CHROMEOS, which is not defined in build_config.h. macro_re = input_api.re.compile(r'^\s*#(el)?if.*\bdefined\(((OS_(?!CHROMEOS)|' 'COMPILER_|ARCH_CPU_|WCHAR_T_IS_)[^)]*)') @@ -4585,7 +4543,7 @@ return results -def _CheckForInvalidOSMacros(input_api, output_api): +def CheckForInvalidOSMacros(input_api, output_api): """Check all affected files for invalid OS macros.""" bad_macros = [] for f in input_api.AffectedSourceFiles(None): @@ -4632,7 +4590,7 @@ return results -def _CheckForInvalidIfDefinedMacros(input_api, output_api): +def CheckForInvalidIfDefinedMacros(input_api, output_api): """Check all affected files for invalid "if defined" macros.""" bad_macros = [] skipped_paths = ['third_party/sqlite/', 'third_party/abseil-cpp/'] @@ -4651,7 +4609,7 @@ bad_macros)] -def _CheckForIPCRules(input_api, output_api): +def CheckForIPCRules(input_api, output_api): """Check for same IPC rules described in http://www.chromium.org/Home/chromium-security/education/security-tips-for-ipc """ @@ -4676,7 +4634,7 @@ return [] -def _CheckForLongPathnames(input_api, output_api): +def CheckForLongPathnames(input_api, output_api): """Check to make sure no files being submitted have long paths. This causes issues on Windows. """ @@ -4694,7 +4652,7 @@ return [] -def _CheckForIncludeGuards(input_api, output_api): +def CheckForIncludeGuards(input_api, output_api): """Check that header files have proper guards against multiple inclusion. If a file should not have such guards (and it probably should) then it should include the string "no-include-guard-because-multiply-included". @@ -4806,7 +4764,7 @@ return errors -def _CheckForWindowsLineEndings(input_api, output_api): +def CheckForWindowsLineEndings(input_api, output_api): """Check source code and known ascii text files for Windows style line endings. """ @@ -4836,10 +4794,10 @@ return [] -def _CheckSyslogUseWarning(input_api, output_api, source_file_filter=None): +def CheckSyslogUseWarningOnUpload(input_api, output_api, src_file_filter=None): """Checks that all source files use SYSLOG properly.""" syslog_files = [] - for f in input_api.AffectedSourceFiles(source_file_filter): + for f in input_api.AffectedSourceFiles(src_file_filter): for line_number, line in f.ChangedContents(): if 'SYSLOG' in line: syslog_files.append(f.LocalPath() + ':' + str(line_number)) @@ -4853,17 +4811,8 @@ def CheckChangeOnUpload(input_api, output_api): results = [] - results.extend(_CommonChecks(input_api, output_api)) - results.extend(_CheckValidHostsInDEPS(input_api, output_api)) results.extend( input_api.canned_checks.CheckPatchFormatted(input_api, output_api)) - results.extend(_CheckUmaHistogramChanges(input_api, output_api)) - results.extend(_AndroidSpecificOnUploadChecks(input_api, output_api)) - results.extend(_CheckSyslogUseWarning(input_api, output_api)) - results.extend(_CheckGoogleSupportAnswerUrl(input_api, output_api)) - results.extend(_CheckUniquePtr(input_api, output_api)) - results.extend(_CheckNewHeaderWithoutGnChange(input_api, output_api)) - results.extend(_CheckFuzzTargets(input_api, output_api)) return results @@ -4893,8 +4842,6 @@ def CheckChangeOnCommit(input_api, output_api): results = [] - results.extend(_CommonChecks(input_api, output_api)) - results.extend(_AndroidSpecificOnCommitChecks(input_api, output_api)) # Make sure the tree is 'open'. results.extend(input_api.canned_checks.CheckTreeIsOpen( input_api, @@ -4912,7 +4859,7 @@ return results -def _CheckStrings(input_api, output_api): +def CheckStrings(input_api, output_api): """Check string ICU syntax validity and if translation screenshots exist.""" # Skip translation screenshots check if a SkipTranslationScreenshotsCheck # footer is set to true. @@ -5223,7 +5170,7 @@ return results -def _CheckTranslationExpectations(input_api, output_api, +def CheckTranslationExpectations(input_api, output_api, repo_root=None, translation_expectations_path=None, grd_files=None): @@ -5268,7 +5215,7 @@ return [] -def _CheckStableMojomChanges(input_api, output_api): +def CheckStableMojomChanges(input_api, output_api): """Changes to [Stable] mojom types must preserve backward-compatibility.""" changed_mojoms = input_api.AffectedFiles( include_deletes=True,
diff --git a/PRESUBMIT_test.py b/PRESUBMIT_test.py index 111f2b2..cb9461d 100755 --- a/PRESUBMIT_test.py +++ b/PRESUBMIT_test.py
@@ -8,6 +8,7 @@ import unittest import PRESUBMIT + from PRESUBMIT_test_mocks import MockFile, MockAffectedFile from PRESUBMIT_test_mocks import MockInputApi, MockOutputApi @@ -52,7 +53,7 @@ MockFile('some/path/foo.java', diff_java), MockFile('tools/metrics/histograms/histograms.xml', diff_xml), ] - warnings = PRESUBMIT._CheckUmaHistogramChanges(mock_input_api, + warnings = PRESUBMIT.CheckUmaHistogramChangesOnUpload(mock_input_api, MockOutputApi()) self.assertEqual(0, len(warnings)) @@ -65,7 +66,7 @@ MockFile('some/path/foo.cc', diff_cc), MockFile('some/path/foo.java', diff_java), ] - warnings = PRESUBMIT._CheckUmaHistogramChanges(mock_input_api, + warnings = PRESUBMIT.CheckUmaHistogramChangesOnUpload(mock_input_api, MockOutputApi()) self.assertEqual(1, len(warnings)) self.assertEqual('warning', warnings[0].type) @@ -86,7 +87,7 @@ MockFile('some/path/foo.java', diff_java), MockFile('tools/metrics/histograms/histograms.xml', diff_xml), ] - warnings = PRESUBMIT._CheckUmaHistogramChanges(mock_input_api, + warnings = PRESUBMIT.CheckUmaHistogramChangesOnUpload(mock_input_api, MockOutputApi()) self.assertEqual(1, len(warnings)) self.assertEqual('warning', warnings[0].type) @@ -107,7 +108,7 @@ MockFile('some/path/foo.java', diff_java), MockFile('tools/metrics/histograms/histograms.xml', diff_xml), ] - warnings = PRESUBMIT._CheckUmaHistogramChanges(mock_input_api, + warnings = PRESUBMIT.CheckUmaHistogramChangesOnUpload(mock_input_api, MockOutputApi()) self.assertEqual(0, len(warnings)) @@ -124,7 +125,7 @@ MockFile('some/path/foo.java', diff_java), MockFile('tools/metrics/histograms/histograms.xml', diff_xml), ] - warnings = PRESUBMIT._CheckUmaHistogramChanges(mock_input_api, + warnings = PRESUBMIT.CheckUmaHistogramChangesOnUpload(mock_input_api, MockOutputApi()) self.assertEqual(0, len(warnings)) @@ -146,7 +147,7 @@ MockFile('some/path/foo.java', diff_java), MockFile('tools/metrics/histograms/histograms.xml', diff_xml), ] - warnings = PRESUBMIT._CheckUmaHistogramChanges(mock_input_api, + warnings = PRESUBMIT.CheckUmaHistogramChangesOnUpload(mock_input_api, MockOutputApi()) self.assertEqual(0, len(warnings)) @@ -164,7 +165,7 @@ MockFile('some/path/foo.java', diff_java), MockFile('tools/metrics/histograms/histograms.xml', diff_xml), ] - warnings = PRESUBMIT._CheckUmaHistogramChanges(mock_input_api, + warnings = PRESUBMIT.CheckUmaHistogramChangesOnUpload(mock_input_api, MockOutputApi()) self.assertEqual(0, len(warnings)) @@ -177,7 +178,7 @@ MockFile('some/path/foo.cc', diff_cc), MockFile('some/path/foo.java', diff_java), ] - warnings = PRESUBMIT._CheckUmaHistogramChanges(mock_input_api, + warnings = PRESUBMIT.CheckUmaHistogramChangesOnUpload(mock_input_api, MockOutputApi()) self.assertEqual(0, len(warnings)) @@ -194,7 +195,7 @@ MockFile('some/path/foo2.cc', diff_cc2), MockFile('some/path/foo.java', diff_java), ] - warnings = PRESUBMIT._CheckUmaHistogramChanges(mock_input_api, + warnings = PRESUBMIT.CheckUmaHistogramChangesOnUpload(mock_input_api, MockOutputApi()) self.assertEqual(1, len(warnings)) self.assertEqual('warning', warnings[0].type) @@ -211,7 +212,7 @@ MockFile('some/path2/bar.h.rej', ''), ] - results = PRESUBMIT._CheckPatchFiles(mock_input_api, MockOutputApi()) + results = PRESUBMIT.CheckPatchFiles(mock_input_api, MockOutputApi()) self.assertEqual(1, len(results)) self.assertEqual(2, len(results[0].items)) self.assertTrue('foo.cc.rej' in results[0].items[0]) @@ -225,7 +226,7 @@ MockFile('other/path/qux.cc', ''), ] - results = PRESUBMIT._CheckPatchFiles(mock_input_api, MockOutputApi()) + results = PRESUBMIT.CheckPatchFiles(mock_input_api, MockOutputApi()) self.assertEqual(1, len(results)) self.assertEqual(1, len(results[0].items)) self.assertTrue('qux.h.orig' in results[0].items[0]) @@ -236,7 +237,7 @@ MockFile('other/path/qux.h', ''), MockFile('other/path/qux.cc', ''), ] - results = PRESUBMIT._CheckPatchFiles(mock_input_api, MockOutputApi()) + results = PRESUBMIT.CheckPatchFiles(mock_input_api, MockOutputApi()) self.assertEqual(0, len(results)) @@ -254,7 +255,7 @@ MockAffectedFile('foo.h', diff_foo_h), MockAffectedFile('foo2.h', diff_foo2_h), MockAffectedFile('bad.h', diff_bad_h)] - warnings = PRESUBMIT._CheckSingletonInHeaders(mock_input_api, + warnings = PRESUBMIT.CheckSingletonInHeaders(mock_input_api, MockOutputApi()) self.assertEqual(1, len(warnings)) self.assertEqual(1, len(warnings[0].items)) @@ -265,7 +266,7 @@ diff_cc = ['Foo* foo = base::Singleton<Foo>::get();'] mock_input_api = MockInputApi() mock_input_api.files = [MockAffectedFile('some/path/foo.cc', diff_cc)] - warnings = PRESUBMIT._CheckSingletonInHeaders(mock_input_api, + warnings = PRESUBMIT.CheckSingletonInHeaders(mock_input_api, MockOutputApi()) self.assertEqual(0, len(warnings)) @@ -687,7 +688,7 @@ contents_with_user_action)] self.assertEqual( - [], PRESUBMIT._CheckUserActionUpdate(input_api, MockOutputApi())) + [], PRESUBMIT.CheckUserActionUpdate(input_api, MockOutputApi())) def testUserMetricsActionNotAddedToActions(self): input_api = MockInputApi() @@ -699,7 +700,7 @@ input_api.files = [MockFile(file_with_user_action, contents_with_user_action)] - output = PRESUBMIT._CheckUserActionUpdate(input_api, MockOutputApi()) + output = PRESUBMIT.CheckUserActionUpdate(input_api, MockOutputApi()) self.assertEqual( ('File %s line %d: %s is missing in ' 'tools/metrics/actions/actions.xml. Please run ' @@ -743,12 +744,12 @@ PRESUBMIT._ParseGclientArgs = self.old_ParseGclientArgs def _RunCheck(self): - return PRESUBMIT._CheckPydepsNeedsUpdating(self.mock_input_api, + return PRESUBMIT.CheckPydepsNeedsUpdating(self.mock_input_api, self.mock_output_api, checker_for_tests=self.checker) def testAddedPydep(self): - # PRESUBMIT._CheckPydepsNeedsUpdating is only implemented for Linux. + # PRESUBMIT.CheckPydepsNeedsUpdating is only implemented for Linux. if self.mock_input_api.platform != 'linux2': return [] @@ -772,7 +773,7 @@ self.assertEqual(0, len(results)) def testRemovedPydep(self): - # PRESUBMIT._CheckPydepsNeedsUpdating is only implemented for Linux. + # PRESUBMIT.CheckPydepsNeedsUpdating is only implemented for Linux. if self.mock_input_api.platform != 'linux2': return [] @@ -787,7 +788,7 @@ self.assertTrue('PYDEPS_FILES' in str(results[0])) def testRandomPyIgnored(self): - # PRESUBMIT._CheckPydepsNeedsUpdating is only implemented for Linux. + # PRESUBMIT.CheckPydepsNeedsUpdating is only implemented for Linux. if self.mock_input_api.platform != 'linux2': return [] @@ -799,7 +800,7 @@ self.assertEqual(0, len(results), 'Unexpected results: %r' % results) def testRelevantPyNoChange(self): - # PRESUBMIT._CheckPydepsNeedsUpdating is only implemented for Linux. + # PRESUBMIT.CheckPydepsNeedsUpdating is only implemented for Linux. if self.mock_input_api.platform != 'linux2': return [] @@ -817,7 +818,7 @@ self.assertEqual(0, len(results), 'Unexpected results: %r' % results) def testRelevantPyOneChange(self): - # PRESUBMIT._CheckPydepsNeedsUpdating is only implemented for Linux. + # PRESUBMIT.CheckPydepsNeedsUpdating is only implemented for Linux. if self.mock_input_api.platform != 'linux2': return [] @@ -836,7 +837,7 @@ self.assertTrue('File is stale' in str(results[0])) def testRelevantPyTwoChanges(self): - # PRESUBMIT._CheckPydepsNeedsUpdating is only implemented for Linux. + # PRESUBMIT.CheckPydepsNeedsUpdating is only implemented for Linux. if self.mock_input_api.platform != 'linux2': return [] @@ -855,7 +856,7 @@ self.assertTrue('File is stale' in str(results[1])) def testRelevantAndroidPyInNonAndroidCheckout(self): - # PRESUBMIT._CheckPydepsNeedsUpdating is only implemented for Linux. + # PRESUBMIT.CheckPydepsNeedsUpdating is only implemented for Linux. if self.mock_input_api.platform != 'linux2': return [] @@ -1012,7 +1013,7 @@ '#endif', ]), ] - msgs = PRESUBMIT._CheckForIncludeGuards( + msgs = PRESUBMIT.CheckForIncludeGuards( mock_input_api, mock_output_api) expected_fail_count = 8 self.assertEqual(expected_fail_count, len(msgs), @@ -1066,7 +1067,7 @@ mock_input_api.change.footers['AX-Relnotes'] = [ 'Important user facing change'] - msgs = PRESUBMIT._CheckAccessibilityRelnotesField( + msgs = PRESUBMIT.CheckAccessibilityRelnotesField( mock_input_api, mock_output_api) self.assertEqual(0, len(msgs), 'Expected %d messages, found %d: %s' @@ -1083,7 +1084,7 @@ ] mock_input_api.change.DescriptionText = lambda : 'Commit description' - msgs = PRESUBMIT._CheckAccessibilityRelnotesField( + msgs = PRESUBMIT.CheckAccessibilityRelnotesField( mock_input_api, mock_output_api) self.assertEqual(1, len(msgs), 'Expected %d messages, found %d: %s' @@ -1103,7 +1104,7 @@ ] mock_input_api.change.DescriptionText = lambda : 'Commit description' - msgs = PRESUBMIT._CheckAccessibilityRelnotesField( + msgs = PRESUBMIT.CheckAccessibilityRelnotesField( mock_input_api, mock_output_api) self.assertEqual(0, len(msgs), 'Expected %d messages, found %d: %s' @@ -1136,7 +1137,7 @@ ] mock_input_api.change.DescriptionText = lambda : 'Commit description' - msgs = PRESUBMIT._CheckAccessibilityRelnotesField( + msgs = PRESUBMIT.CheckAccessibilityRelnotesField( mock_input_api, mock_output_api) self.assertEqual(1, len(msgs), 'Expected %d messages, found %d: %s, for file %s' @@ -1157,7 +1158,7 @@ mock_input_api.change.DescriptionText = lambda : ('Description:\n' + 'AX-Relnotes: solves all accessibility issues forever') - msgs = PRESUBMIT._CheckAccessibilityRelnotesField( + msgs = PRESUBMIT.CheckAccessibilityRelnotesField( mock_input_api, mock_output_api) self.assertEqual(0, len(msgs), 'Expected %d messages, found %d: %s' @@ -1174,7 +1175,7 @@ mock_input_api.change.DescriptionText = lambda : ('Description:\n' + 'This change has no AX-Relnotes: we should print a warning') - msgs = PRESUBMIT._CheckAccessibilityRelnotesField( + msgs = PRESUBMIT.CheckAccessibilityRelnotesField( mock_input_api, mock_output_api) self.assertTrue("Missing 'AX-Relnotes:' field" in msgs[0].message, 'Missing AX-Relnotes field message not found in errors') @@ -1191,7 +1192,7 @@ mock_input_api.change.DescriptionText = lambda : ('Description:\n' + 'ax-relnotes= this is a valid format for accessibiliy relnotes') - msgs = PRESUBMIT._CheckAccessibilityRelnotesField( + msgs = PRESUBMIT.CheckAccessibilityRelnotesField( mock_input_api, mock_output_api) self.assertEqual(0, len(msgs), 'Expected %d messages, found %d: %s' @@ -1547,7 +1548,7 @@ ' "https://support.google.com/chrome/a/answer/123456";']), ] - warnings = PRESUBMIT._CheckGoogleSupportAnswerUrl( + warnings = PRESUBMIT.CheckGoogleSupportAnswerUrlOnUpload( input_api, MockOutputApi()) self.assertEqual(1, len(warnings)) self.assertEqual(2, len(warnings[0].items)) @@ -1560,7 +1561,7 @@ ' "https://support.google.com/chrome/?p=cpn_crash_reports";']), ] - warnings = PRESUBMIT._CheckGoogleSupportAnswerUrl( + warnings = PRESUBMIT.CheckGoogleSupportAnswerUrlOnUpload( input_api, MockOutputApi()) self.assertEqual(0, len(warnings)) @@ -1578,7 +1579,7 @@ ['char* host = "https://clients1.google.com";']), ] - warnings = PRESUBMIT._CheckHardcodedGoogleHostsInLowerLayers( + warnings = PRESUBMIT.CheckHardcodedGoogleHostsInLowerLayers( input_api, MockOutputApi()) self.assertEqual(1, len(warnings)) self.assertEqual(3, len(warnings[0].items)) @@ -1590,7 +1591,7 @@ ['char* host = "https://www.aol.com"; // google.com']) ] - warnings = PRESUBMIT._CheckHardcodedGoogleHostsInLowerLayers( + warnings = PRESUBMIT.CheckHardcodedGoogleHostsInLowerLayers( input_api, MockOutputApi()) self.assertEqual(0, len(warnings)) @@ -1611,7 +1612,7 @@ MockFile('components/exo/file.cc', ['PrefRegistrySyncable::SYNCABLE_PREF']), ] - warnings = PRESUBMIT._CheckChromeOsSyncedPrefRegistration( + warnings = PRESUBMIT.CheckChromeOsSyncedPrefRegistration( input_api, MockOutputApi()) self.assertEqual(1, len(warnings)) @@ -1621,7 +1622,7 @@ MockFile('chromeos/file.cc', ['PrefRegistrySyncable::SYNCABLE_OS_PREF']), ] - warnings = PRESUBMIT._CheckChromeOsSyncedPrefRegistration( + warnings = PRESUBMIT.CheckChromeOsSyncedPrefRegistration( input_api, MockOutputApi()) self.assertEqual(0, len(warnings)) @@ -1635,7 +1636,7 @@ MockFile('content/browser/file.cc', ['PrefRegistrySyncable::SYNCABLE_PREF']), ] - warnings = PRESUBMIT._CheckChromeOsSyncedPrefRegistration( + warnings = PRESUBMIT.CheckChromeOsSyncedPrefRegistration( input_api, MockOutputApi()) self.assertEqual(0, len(warnings)) @@ -1646,7 +1647,7 @@ ['PrefRegistrySyncable::SYNCABLE_PREF', 'PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF']), ] - warnings = PRESUBMIT._CheckChromeOsSyncedPrefRegistration( + warnings = PRESUBMIT.CheckChromeOsSyncedPrefRegistration( input_api, MockOutputApi()) self.assertEqual(2, len(warnings)) @@ -1662,7 +1663,7 @@ 'class DummyClass;' ]) ] - warnings = PRESUBMIT._CheckUselessForwardDeclarations(mock_input_api, + warnings = PRESUBMIT.CheckUselessForwardDeclarations(mock_input_api, MockOutputApi()) self.assertEqual(0, len(warnings)) @@ -1676,7 +1677,7 @@ '};' ]) ] - warnings = PRESUBMIT._CheckUselessForwardDeclarations(mock_input_api, + warnings = PRESUBMIT.CheckUselessForwardDeclarations(mock_input_api, MockOutputApi()) self.assertEqual(0, len(warnings)) @@ -1690,7 +1691,7 @@ 'SomeStructPtr *p2;' ]) ] - warnings = PRESUBMIT._CheckUselessForwardDeclarations(mock_input_api, + warnings = PRESUBMIT.CheckUselessForwardDeclarations(mock_input_api, MockOutputApi()) self.assertEqual(2, len(warnings)) @@ -1704,7 +1705,7 @@ 'std::unique_ptr<UsefulClass> p;' ]) ] - warnings = PRESUBMIT._CheckUselessForwardDeclarations(mock_input_api, + warnings = PRESUBMIT.CheckUselessForwardDeclarations(mock_input_api, MockOutputApi()) self.assertEqual(2, len(warnings)) @@ -1720,7 +1721,7 @@ 'struct DummyStruct;', ]) ] - warnings = PRESUBMIT._CheckUselessForwardDeclarations(mock_input_api, + warnings = PRESUBMIT.CheckUselessForwardDeclarations(mock_input_api, MockOutputApi()) self.assertEqual(4, len(warnings)) @@ -1735,7 +1736,7 @@ mock_output_api = MockOutputApi() - errors = PRESUBMIT._CheckForRelativeIncludes( + errors = PRESUBMIT.CheckForRelativeIncludes( mock_input_api, mock_output_api) self.assertEqual(0, len(errors)) @@ -1747,7 +1748,7 @@ mock_output_api = MockOutputApi() - errors = PRESUBMIT._CheckForRelativeIncludes( + errors = PRESUBMIT.CheckForRelativeIncludes( mock_input_api, mock_output_api) self.assertEqual(0, len(errors)) @@ -1760,7 +1761,7 @@ mock_output_api = MockOutputApi() - errors = PRESUBMIT._CheckForRelativeIncludes( + errors = PRESUBMIT.CheckForRelativeIncludes( mock_input_api, mock_output_api) self.assertEqual(0, len(errors)) @@ -1772,7 +1773,7 @@ mock_output_api = MockOutputApi() - errors = PRESUBMIT._CheckForRelativeIncludes( + errors = PRESUBMIT.CheckForRelativeIncludes( mock_input_api, mock_output_api) self.assertEqual(1, len(errors)) @@ -1785,7 +1786,7 @@ mock_output_api = MockOutputApi() - errors = PRESUBMIT._CheckForRelativeIncludes( + errors = PRESUBMIT.CheckForRelativeIncludes( mock_input_api, mock_output_api) self.assertEqual(1, len(errors)) @@ -1799,7 +1800,7 @@ mock_output_api = MockOutputApi() - errors = PRESUBMIT._CheckForCcIncludes( + errors = PRESUBMIT.CheckForCcIncludes( mock_input_api, mock_output_api) self.assertEqual(0, len(errors)) @@ -1811,7 +1812,7 @@ mock_output_api = MockOutputApi() - errors = PRESUBMIT._CheckForCcIncludes( + errors = PRESUBMIT.CheckForCcIncludes( mock_input_api, mock_output_api) self.assertEqual(0, len(errors)) @@ -1823,7 +1824,7 @@ mock_output_api = MockOutputApi() - errors = PRESUBMIT._CheckForCcIncludes( + errors = PRESUBMIT.CheckForCcIncludes( mock_input_api, mock_output_api) self.assertEqual(0, len(errors)) @@ -1836,7 +1837,7 @@ mock_output_api = MockOutputApi() - errors = PRESUBMIT._CheckForCcIncludes( + errors = PRESUBMIT.CheckForCcIncludes( mock_input_api, mock_output_api) self.assertEqual(0, len(errors)) @@ -1848,7 +1849,7 @@ mock_output_api = MockOutputApi() - errors = PRESUBMIT._CheckForCcIncludes( + errors = PRESUBMIT.CheckForCcIncludes( mock_input_api, mock_output_api) self.assertEqual(1, len(errors)) @@ -1861,7 +1862,7 @@ mock_output_api = MockOutputApi() - errors = PRESUBMIT._CheckForCcIncludes( + errors = PRESUBMIT.CheckForCcIncludes( mock_input_api, mock_output_api) self.assertEqual(1, len(errors)) @@ -1872,7 +1873,7 @@ mock_input_api.files = [ MockAffectedFile('base/stuff.h', ''), ] - warnings = PRESUBMIT._CheckNewHeaderWithoutGnChange( + warnings = PRESUBMIT.CheckNewHeaderWithoutGnChangeOnUpload( mock_input_api, MockOutputApi()) self.assertEqual(1, len(warnings)) self.assertTrue('base/stuff.h' in warnings[0].items) @@ -1882,7 +1883,7 @@ mock_input_api.files = [ MockAffectedFile('base/stuff.h', '', action='M'), ] - warnings = PRESUBMIT._CheckNewHeaderWithoutGnChange( + warnings = PRESUBMIT.CheckNewHeaderWithoutGnChangeOnUpload( mock_input_api, MockOutputApi()) self.assertEqual(0, len(warnings)) @@ -1891,7 +1892,7 @@ mock_input_api.files = [ MockAffectedFile('base/stuff.h', '', action='D'), ] - warnings = PRESUBMIT._CheckNewHeaderWithoutGnChange( + warnings = PRESUBMIT.CheckNewHeaderWithoutGnChangeOnUpload( mock_input_api, MockOutputApi()) self.assertEqual(0, len(warnings)) @@ -1901,7 +1902,7 @@ MockAffectedFile('base/stuff.h', ''), MockAffectedFile('base/BUILD.gn', 'stuff.h'), ] - warnings = PRESUBMIT._CheckNewHeaderWithoutGnChange( + warnings = PRESUBMIT.CheckNewHeaderWithoutGnChangeOnUpload( mock_input_api, MockOutputApi()) self.assertEqual(0, len(warnings)) @@ -1911,7 +1912,7 @@ MockAffectedFile('base/stuff.h', ''), MockAffectedFile('base/files.gni', 'stuff.h'), ] - warnings = PRESUBMIT._CheckNewHeaderWithoutGnChange( + warnings = PRESUBMIT.CheckNewHeaderWithoutGnChangeOnUpload( mock_input_api, MockOutputApi()) self.assertEqual(0, len(warnings)) @@ -1921,7 +1922,7 @@ MockAffectedFile('base/stuff.h', ''), MockAffectedFile('base/stuff.cc', 'stuff.h'), ] - warnings = PRESUBMIT._CheckNewHeaderWithoutGnChange( + warnings = PRESUBMIT.CheckNewHeaderWithoutGnChangeOnUpload( mock_input_api, MockOutputApi()) self.assertEqual(1, len(warnings)) @@ -1931,7 +1932,7 @@ MockAffectedFile('base/stuff.h', ''), MockAffectedFile('base/BUILD.gn', 'stuff_h'), ] - warnings = PRESUBMIT._CheckNewHeaderWithoutGnChange( + warnings = PRESUBMIT.CheckNewHeaderWithoutGnChangeOnUpload( mock_input_api, MockOutputApi()) self.assertEqual(1, len(warnings)) @@ -1942,7 +1943,7 @@ MockAffectedFile('base/another.h', ''), MockAffectedFile('base/BUILD.gn', 'another.h\nstuff.h'), ] - warnings = PRESUBMIT._CheckNewHeaderWithoutGnChange( + warnings = PRESUBMIT.CheckNewHeaderWithoutGnChangeOnUpload( mock_input_api, MockOutputApi()) self.assertEqual(0, len(warnings)) @@ -1953,7 +1954,7 @@ MockAffectedFile('base/another.h', ''), MockAffectedFile('base/BUILD.gn', 'another_h\nstuff.h'), ] - warnings = PRESUBMIT._CheckNewHeaderWithoutGnChange( + warnings = PRESUBMIT.CheckNewHeaderWithoutGnChangeOnUpload( mock_input_api, MockOutputApi()) self.assertEqual(1, len(warnings)) self.assertFalse('base/stuff.h' in warnings[0].items) @@ -1966,7 +1967,7 @@ MockAffectedFile('base/another.h', ''), MockAffectedFile('base/BUILD.gn', 'another_h\nstuff_h'), ] - warnings = PRESUBMIT._CheckNewHeaderWithoutGnChange( + warnings = PRESUBMIT.CheckNewHeaderWithoutGnChangeOnUpload( mock_input_api, MockOutputApi()) self.assertEqual(1, len(warnings)) self.assertTrue('base/stuff.h' in warnings[0].items) @@ -1988,7 +1989,7 @@ '</message>', ]), ] - warnings = PRESUBMIT._CheckCorrectProductNameInMessages( + warnings = PRESUBMIT.CheckCorrectProductNameInMessages( mock_input_api, MockOutputApi()) self.assertEqual(0, len(warnings)) @@ -2006,7 +2007,7 @@ '</message>', ]), ] - warnings = PRESUBMIT._CheckCorrectProductNameInMessages( + warnings = PRESUBMIT.CheckCorrectProductNameInMessages( mock_input_api, MockOutputApi()) self.assertEqual(1, len(warnings)) self.assertTrue('chrome/app/chromium_strings.grd' in warnings[0].items[0]) @@ -2025,7 +2026,7 @@ '</message>', ]), ] - warnings = PRESUBMIT._CheckCorrectProductNameInMessages( + warnings = PRESUBMIT.CheckCorrectProductNameInMessages( mock_input_api, MockOutputApi()) self.assertEqual(1, len(warnings)) self.assertTrue( @@ -2046,7 +2047,7 @@ '</message>', ]), ] - warnings = PRESUBMIT._CheckCorrectProductNameInMessages( + warnings = PRESUBMIT.CheckCorrectProductNameInMessages( mock_input_api, MockOutputApi()) self.assertEqual(1, len(warnings)) self.assertTrue( @@ -2080,7 +2081,7 @@ '</message>', ]), ] - warnings = PRESUBMIT._CheckCorrectProductNameInMessages( + warnings = PRESUBMIT.CheckCorrectProductNameInMessages( mock_input_api, MockOutputApi()) self.assertEqual(2, len(warnings)) self.assertTrue( @@ -2102,7 +2103,7 @@ 'const service_manager::Manifest& GetManifest() {}', ])] mock_output_api = MockOutputApi() - errors = PRESUBMIT._CheckSecurityOwners( + errors = PRESUBMIT.CheckSecurityOwners( mock_input_api, mock_output_api) self.assertEqual(1, len(errors)) self.assertEqual( @@ -2117,7 +2118,7 @@ 'const char kNoEnforcement[] = "not a manifest!";', ])] mock_output_api = MockOutputApi() - errors = PRESUBMIT._CheckSecurityOwners( + errors = PRESUBMIT.CheckSecurityOwners( mock_input_api, mock_output_api) self.assertEqual([], errors) @@ -2131,7 +2132,7 @@ 'library test.fidl' ])] mock_output_api = MockOutputApi() - errors = PRESUBMIT._CheckSecurityOwners( + errors = PRESUBMIT.CheckSecurityOwners( mock_input_api, mock_output_api) self.assertEqual(1, len(errors)) self.assertEqual( @@ -2146,7 +2147,7 @@ '{ "that is no": "manifest!" }' ])] mock_output_api = MockOutputApi() - errors = PRESUBMIT._CheckSecurityOwners( + errors = PRESUBMIT.CheckSecurityOwners( mock_input_api, mock_output_api) self.assertEqual(1, len(errors)) self.assertEqual( @@ -2161,7 +2162,7 @@ '{ "that is no": "manifest!" }' ])] mock_output_api = MockOutputApi() - errors = PRESUBMIT._CheckSecurityOwners( + errors = PRESUBMIT.CheckSecurityOwners( mock_input_api, mock_output_api) self.assertEqual(1, len(errors)) self.assertEqual( @@ -2176,7 +2177,7 @@ 'const char kNoEnforcement[] = "Security?!? Pah!";', ])] mock_output_api = MockOutputApi() - errors = PRESUBMIT._CheckSecurityOwners( + errors = PRESUBMIT.CheckSecurityOwners( mock_input_api, mock_output_api) self.assertEqual([], errors) @@ -2252,7 +2253,7 @@ mock_output_api = MockOutputApi() self._mockChangeOwnerAndReviewers( mock_input_api, 'owner@chromium.org', ['banana@chromium.org']) - result = PRESUBMIT._CheckSecurityChanges(mock_input_api, mock_output_api) + result = PRESUBMIT.CheckSecurityChanges(mock_input_api, mock_output_api) self.assertEquals(1, len(result)) self.assertEquals(result[0].type, 'notify') self.assertEquals(result[0].message, @@ -2271,7 +2272,7 @@ mock_output_api = MockOutputApi() self._mockChangeOwnerAndReviewers( mock_input_api, 'owner@chromium.org', ['banana@chromium.org']) - result = PRESUBMIT._CheckSecurityChanges(mock_input_api, mock_output_api) + result = PRESUBMIT.CheckSecurityChanges(mock_input_api, mock_output_api) self.assertEquals(1, len(result)) self.assertEquals(result[0].type, 'error') self.assertEquals(result[0].message, @@ -2290,7 +2291,7 @@ self._mockChangeOwnerAndReviewers( mock_input_api, 'owner@chromium.org', ['apple@chromium.org', 'banana@chromium.org']) - result = PRESUBMIT._CheckSecurityChanges(mock_input_api, mock_output_api) + result = PRESUBMIT.CheckSecurityChanges(mock_input_api, mock_output_api) self.assertEquals(0, len(result)) def testChangeOwnerIsSecurityOwner(self): @@ -2302,7 +2303,7 @@ mock_output_api = MockOutputApi() self._mockChangeOwnerAndReviewers( mock_input_api, 'orange@chromium.org', ['pear@chromium.org']) - result = PRESUBMIT._CheckSecurityChanges(mock_input_api, mock_output_api) + result = PRESUBMIT.CheckSecurityChanges(mock_input_api, mock_output_api) self.assertEquals(1, len(result)) @@ -2321,7 +2322,7 @@ ['set_owned_by_client()']), ] - results = PRESUBMIT._CheckNoBannedFunctions(input_api, MockOutputApi()) + results = PRESUBMIT.CheckNoBannedFunctions(input_api, MockOutputApi()) # warnings are results[0], errors are results[1] self.assertEqual(2, len(results)) @@ -2353,7 +2354,7 @@ ] # warnings are errors[0], errors are errors[1] - errors = PRESUBMIT._CheckNoBannedFunctions(input_api, MockOutputApi()) + errors = PRESUBMIT.CheckNoBannedFunctions(input_api, MockOutputApi()) self.assertEqual(2, len(errors)) self.assertTrue('some/cpp/problematic/file1.cc' in errors[1].message) self.assertTrue('some/cpp/problematic/file2.cc' in errors[0].message) @@ -2380,7 +2381,7 @@ ['TEST_F(SomeTest, TestThis) { EXPECT_OCMOCK_VERIFY(aMock); }']), ] - errors = PRESUBMIT._CheckNoBannedFunctions(input_api, MockOutputApi()) + errors = PRESUBMIT.CheckNoBannedFunctions(input_api, MockOutputApi()) self.assertEqual(1, len(errors)) self.assertTrue('some/ios/file.mm' in errors[0].message) self.assertTrue('another/ios_file.mm' in errors[0].message) @@ -2405,7 +2406,7 @@ ['mojo::ConvertTo<>']), ] - results = PRESUBMIT._CheckNoBannedFunctions(input_api, MockOutputApi()) + results = PRESUBMIT.CheckNoBannedFunctions(input_api, MockOutputApi()) # warnings are results[0], errors are results[1] self.assertEqual(2, len(results)) @@ -2510,7 +2511,7 @@ input_api.files.append(MockFile(os.path.join(path, test_case['file']), [test_case['type']])) - results = PRESUBMIT._CheckNoDeprecatedMojoTypes(input_api, MockOutputApi()) + results = PRESUBMIT.CheckNoDeprecatedMojoTypes(input_api, MockOutputApi()) # warnings are results[0], errors are results[1] self.assertEqual(2, len(results)) @@ -2542,7 +2543,7 @@ MockFile('some/path/foo.cpp', ['foo_for_test();']), ] - results = PRESUBMIT._CheckNoProductionCodeUsingTestOnlyFunctions( + results = PRESUBMIT.CheckNoProductionCodeUsingTestOnlyFunctions( mock_input_api, MockOutputApi()) self.assertEqual(1, len(results)) self.assertEqual(4, len(results[0].items)) @@ -2560,7 +2561,7 @@ MockFile('some/path/foo.cpp', ['// foo_for_test();']), ] - results = PRESUBMIT._CheckNoProductionCodeUsingTestOnlyFunctions( + results = PRESUBMIT.CheckNoProductionCodeUsingTestOnlyFunctions( mock_input_api, MockOutputApi()) self.assertEqual(0, len(results)) @@ -2578,7 +2579,7 @@ ]) ] - results = PRESUBMIT._CheckNoProductionCodeUsingTestOnlyFunctionsJava( + results = PRESUBMIT.CheckNoProductionCodeUsingTestOnlyFunctionsJava( mock_input_api, MockOutputApi()) self.assertEqual(1, len(results)) self.assertEqual(4, len(results[0].items)) @@ -2607,7 +2608,7 @@ ]), ] - results = PRESUBMIT._CheckNoProductionCodeUsingTestOnlyFunctionsJava( + results = PRESUBMIT.CheckNoProductionCodeUsingTestOnlyFunctionsJava( mock_input_api, MockOutputApi()) self.assertEqual(0, len(results)) @@ -2652,7 +2653,7 @@ MockFile('dir/baz-p.cc', ['std::unique_ptr<T<P>>()']), ] - results = PRESUBMIT._CheckUniquePtr(mock_input_api, MockOutputApi()) + results = PRESUBMIT.CheckUniquePtrOnUpload(mock_input_api, MockOutputApi()) self.assertEqual(1, len(results)) self.assertTrue('nullptr' in results[0].message) self.assertEqual(2, len(results[0].items)) @@ -2680,7 +2681,7 @@ 'auto p = std::unique_ptr<std::pair<T, D>>(new std::pair(T, D));']), ] - results = PRESUBMIT._CheckUniquePtr(mock_input_api, MockOutputApi()) + results = PRESUBMIT.CheckUniquePtrOnUpload(mock_input_api, MockOutputApi()) self.assertEqual(1, len(results)) self.assertTrue('std::make_unique' in results[0].message) self.assertEqual(6, len(results[0].items)) @@ -2712,7 +2713,7 @@ 'auto p = std::unique_ptr<T, D>(new T(), D());']), ] - results = PRESUBMIT._CheckUniquePtr(mock_input_api, MockOutputApi()) + results = PRESUBMIT.CheckUniquePtrOnUpload(mock_input_api, MockOutputApi()) self.assertEqual(0, len(results)) class CheckNoDirectIncludesHeadersWhichRedefineStrCat(unittest.TestCase): @@ -2936,7 +2937,7 @@ self.NEW_GRD_CONTENTS1, action='M'), MockAffectedFile('part.grdp', self.NEW_GRDP_CONTENTS1, self.NEW_GRDP_CONTENTS1, action='M')]) - warnings = PRESUBMIT._CheckStrings(input_api, + warnings = PRESUBMIT.CheckStrings(input_api, MockOutputApi()) self.assertEqual(0, len(warnings)) @@ -2946,7 +2947,7 @@ self.NEW_GRD_CONTENTS1, action='M'), MockAffectedFile('part.grdp', self.NEW_GRDP_CONTENTS2, self.NEW_GRDP_CONTENTS1, action='M')]) - warnings = PRESUBMIT._CheckStrings(input_api, + warnings = PRESUBMIT.CheckStrings(input_api, MockOutputApi()) self.assertEqual(1, len(warnings)) self.assertEqual(self.GENERATE_SIGNATURES_MESSAGE, warnings[0].message) @@ -2962,7 +2963,7 @@ self.OLD_GRD_CONTENTS, action='M'), MockAffectedFile('part.grdp', self.NEW_GRDP_CONTENTS2, self.OLD_GRDP_CONTENTS, action='M')]) - warnings = PRESUBMIT._CheckStrings(input_api, + warnings = PRESUBMIT.CheckStrings(input_api, MockOutputApi()) self.assertEqual(1, len(warnings)) self.assertEqual('error', warnings[0].type) @@ -2990,7 +2991,7 @@ MockAffectedFile( os.path.join('test_grd', 'IDS_TEST1.png'), 'binary', action='A') ]) - warnings = PRESUBMIT._CheckStrings(input_api, + warnings = PRESUBMIT.CheckStrings(input_api, MockOutputApi()) self.assertEqual(2, len(warnings)) self.assertEqual('error', warnings[0].type) @@ -3027,7 +3028,7 @@ os.path.join('part_grdp', 'IDS_PART_TEST1.png'), 'binary', action='A') ]) - warnings = PRESUBMIT._CheckStrings(input_api, + warnings = PRESUBMIT.CheckStrings(input_api, MockOutputApi()) self.assertEqual(2, len(warnings)) self.assertEqual('error', warnings[0].type) @@ -3074,7 +3075,7 @@ 'binary', action='A'), ]) - warnings = PRESUBMIT._CheckStrings(input_api, + warnings = PRESUBMIT.CheckStrings(input_api, MockOutputApi()) self.assertEqual([], warnings) @@ -3102,7 +3103,7 @@ MockFile(os.path.join('part_grdp', 'IDS_PART_TEST2.png.sha1'), 'binary', '') ]) - warnings = PRESUBMIT._CheckStrings(input_api, + warnings = PRESUBMIT.CheckStrings(input_api, MockOutputApi()) self.assertEqual(1, len(warnings)) self.assertEqual('error', warnings[0].type) @@ -3143,7 +3144,7 @@ 'old_contents', action='D') ]) - warnings = PRESUBMIT._CheckStrings(input_api, + warnings = PRESUBMIT.CheckStrings(input_api, MockOutputApi()) self.assertEqual(1, len(warnings)) self.assertEqual('error', warnings[0].type) @@ -3183,7 +3184,7 @@ 'binary', action='D') ]) - warnings = PRESUBMIT._CheckStrings(input_api, + warnings = PRESUBMIT.CheckStrings(input_api, MockOutputApi()) self.assertEqual([], warnings) @@ -3194,7 +3195,7 @@ self.NEW_GRD_CONTENTS1, action='M'), MockAffectedFile('part.grdp', self.NEW_GRDP_CONTENTS_ICU_SYNTAX_OK2, self.NEW_GRDP_CONTENTS1, action='M')]) - results = PRESUBMIT._CheckStrings(input_api, MockOutputApi()) + results = PRESUBMIT.CheckStrings(input_api, MockOutputApi()) # We expect no ICU syntax errors. icu_errors = [e for e in results if e.message == self.ICU_SYNTAX_ERROR_MESSAGE] @@ -3206,7 +3207,7 @@ self.NEW_GRD_CONTENTS_ICU_SYNTAX_OK1, action='M'), MockAffectedFile('part.grdp', self.NEW_GRDP_CONTENTS_ICU_SYNTAX_OK2, self.NEW_GRDP_CONTENTS_ICU_SYNTAX_OK1, action='M')]) - results = PRESUBMIT._CheckStrings(input_api, MockOutputApi()) + results = PRESUBMIT.CheckStrings(input_api, MockOutputApi()) # We expect no ICU syntax errors. icu_errors = [e for e in results if e.message == self.ICU_SYNTAX_ERROR_MESSAGE] @@ -3218,7 +3219,7 @@ self.NEW_GRD_CONTENTS1, action='M'), MockAffectedFile('part.grdp', self.NEW_GRDP_CONTENTS_ICU_SYNTAX_ERROR, self.NEW_GRD_CONTENTS1, action='M')]) - results = PRESUBMIT._CheckStrings(input_api, MockOutputApi()) + results = PRESUBMIT.CheckStrings(input_api, MockOutputApi()) # We expect 2 ICU syntax errors. icu_errors = [e for e in results if e.message == self.ICU_SYNTAX_ERROR_MESSAGE] @@ -3235,7 +3236,7 @@ self.NEW_GRD_CONTENTS_ICU_SYNTAX_OK1, action='M'), MockAffectedFile('part.grdp', self.NEW_GRDP_CONTENTS_ICU_SYNTAX_ERROR, self.NEW_GRDP_CONTENTS_ICU_SYNTAX_OK1, action='M')]) - results = PRESUBMIT._CheckStrings(input_api, MockOutputApi()) + results = PRESUBMIT.CheckStrings(input_api, MockOutputApi()) # We expect 2 ICU syntax errors. icu_errors = [e for e in results if e.message == self.ICU_SYNTAX_ERROR_MESSAGE] @@ -3274,7 +3275,7 @@ # under tools/translation/testdata. This is OK because the presubmit won't # run in the first place since there are no modified grd/grps in input_api. grd_files = ['doesnt_exist_doesnt_matter.grd'] - warnings = PRESUBMIT._CheckTranslationExpectations( + warnings = PRESUBMIT.CheckTranslationExpectations( input_api, MockOutputApi(), self.REPO_ROOT, self.EXPECTATIONS, grd_files) self.assertEqual(0, len(warnings)) @@ -3292,7 +3293,7 @@ # List of all grd files in the repo. grd_files = ['test.grd', 'unlisted.grd', 'not_translated.grd', 'internal.grd'] - warnings = PRESUBMIT._CheckTranslationExpectations( + warnings = PRESUBMIT.CheckTranslationExpectations( input_api, MockOutputApi(), self.REPO_ROOT, self.EXPECTATIONS, grd_files) self.assertEqual(0, len(warnings)) @@ -3309,7 +3310,7 @@ # unlisted.grd is listed under tools/translation/testdata but is not # included in translation expectations. grd_files = ['unlisted.grd', 'not_translated.grd', 'internal.grd'] - warnings = PRESUBMIT._CheckTranslationExpectations( + warnings = PRESUBMIT.CheckTranslationExpectations( input_api, MockOutputApi(), self.REPO_ROOT, self.EXPECTATIONS, grd_files) self.assertEqual(1, len(warnings)) @@ -3333,7 +3334,7 @@ # included in translation expectations. grd_files = ['test.grd', 'unlisted.grd', 'not_translated.grd', 'internal.grd'] - warnings = PRESUBMIT._CheckTranslationExpectations( + warnings = PRESUBMIT.CheckTranslationExpectations( input_api, MockOutputApi(), self.REPO_ROOT, self.EXPECTATIONS_WITHOUT_UNLISTED_FILE, grd_files) self.assertEqual(1, len(warnings)) @@ -3360,7 +3361,7 @@ # test.grd is not listed under tools/translation/testdata but is included # in translation expectations. grd_files = ['unlisted.grd', 'not_translated.grd', 'internal.grd'] - warnings = PRESUBMIT._CheckTranslationExpectations( + warnings = PRESUBMIT.CheckTranslationExpectations( input_api, MockOutputApi(), self.REPO_ROOT, self.EXPECTATIONS_WITHOUT_UNLISTED_FILE, grd_files) self.assertEqual(1, len(warnings)) @@ -3408,7 +3409,7 @@ MockFile('some/path/foo_unittest.cc', test.splitlines()), ] - results = PRESUBMIT._CheckNoDISABLETypoInTests(mock_input_api, + results = PRESUBMIT.CheckNoDISABLETypoInTests(mock_input_api, MockOutputApi()) self.assertEqual( 1, @@ -3426,7 +3427,7 @@ MockFile('some/path/foo.cc', 'TEST_F(FoobarTest, DISABLE_Foo)'), ] - results = PRESUBMIT._CheckNoDISABLETypoInTests(mock_input_api, + results = PRESUBMIT.CheckNoDISABLETypoInTests(mock_input_api, MockOutputApi()) self.assertEqual(0, len(results)) @@ -3436,7 +3437,7 @@ MockFile('some/path/foo.cc', 'TEST_F(FoobarTest, Foo)', action='D'), ] - results = PRESUBMIT._CheckNoDISABLETypoInTests(mock_input_api, + results = PRESUBMIT.CheckNoDISABLETypoInTests(mock_input_api, MockOutputApi()) self.assertEqual(0, len(results)) @@ -3454,7 +3455,7 @@ mock_input_api.files = [] for fname, contents in files.items(): mock_input_api.files.append(MockFile(fname, contents.splitlines())) - return PRESUBMIT._CheckBuildtoolsRevisionsAreInSync(mock_input_api, + return PRESUBMIT.CheckBuildtoolsRevisionsAreInSync(mock_input_api, MockOutputApi()) def testOneFileChangedButNotTheOther(self): @@ -3491,7 +3492,7 @@ mock_input_api.files = [] for fname, contents in files.items(): mock_input_api.files.append(MockFile(fname, contents.splitlines())) - return PRESUBMIT._CheckFuzzTargets(mock_input_api, MockOutputApi()) + return PRESUBMIT.CheckFuzzTargetsOnUpload(mock_input_api, MockOutputApi()) def testLibFuzzerSourcesIgnored(self): results = self._check({ @@ -3535,7 +3536,7 @@ ]) ] mock_output_api = MockOutputApi() - errors = PRESUBMIT._CheckSetNoParent(mock_input_api, mock_output_api) + errors = PRESUBMIT.CheckSetNoParent(mock_input_api, mock_output_api) self.assertEqual(1, len(errors)) self.assertTrue('goat/OWNERS:1' in errors[0].long_text) self.assertTrue('goat/OWNERS:3' in errors[0].long_text) @@ -3553,7 +3554,7 @@ ]) ] mock_output_api = MockOutputApi() - errors = PRESUBMIT._CheckSetNoParent(mock_input_api, mock_output_api) + errors = PRESUBMIT.CheckSetNoParent(mock_input_api, mock_output_api) self.assertEqual([], errors) @@ -3562,7 +3563,7 @@ mock_input_api = MockInputApi() mock_input_api.files = affected_files mock_output_api = MockOutputApi() - return PRESUBMIT._CheckStableMojomChanges( + return PRESUBMIT.CheckStableMojomChanges( mock_input_api, mock_output_api) def testSafeChangePasses(self):
diff --git a/android_webview/browser/aw_print_manager.cc b/android_webview/browser/aw_print_manager.cc index 0c7ef5b..557f556 100644 --- a/android_webview/browser/aw_print_manager.cc +++ b/android_webview/browser/aw_print_manager.cc
@@ -83,7 +83,7 @@ IPC::Message* reply_msg) { // Unlike the printing_message_filter, we do process this in UI thread. DCHECK_CURRENTLY_ON(content::BrowserThread::UI); - PrintMsg_Print_Params params; + printing::mojom::PrintParams params; printing::RenderParamsFromPrintSettings(*settings_, ¶ms); params.document_cookie = cookie_; PrintHostMsg_GetDefaultPrintSettings::WriteReplyParams(reply_msg, params);
diff --git a/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java b/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java index 84a990b..72d1fcd 100644 --- a/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java +++ b/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java
@@ -27,6 +27,7 @@ import org.chromium.android_webview.policy.AwPolicyProvider; import org.chromium.android_webview.proto.MetricsBridgeRecords.HistogramRecord; import org.chromium.android_webview.safe_browsing.AwSafeBrowsingConfigHelper; +import org.chromium.base.BaseSwitches; import org.chromium.base.CommandLine; import org.chromium.base.ContextUtils; import org.chromium.base.Log; @@ -185,7 +186,7 @@ try (ScopedSysTraceEvent e1 = ScopedSysTraceEvent.scoped( "AwBrowserProcess.handleMinidumpsAndSetMetricsConsent")) { final boolean enableMinidumpUploadingForTesting = CommandLine.getInstance().hasSwitch( - AwSwitches.CRASH_UPLOADS_ENABLED_FOR_TESTING_SWITCH); + BaseSwitches.ENABLE_CRASH_REPORTER_FOR_TESTING); if (enableMinidumpUploadingForTesting) { handleMinidumps(true /* enabled */); }
diff --git a/android_webview/java/src/org/chromium/android_webview/common/AwSwitches.java.tmpl b/android_webview/java/src/org/chromium/android_webview/common/AwSwitches.java.tmpl index 699c1291..257719c2 100644 --- a/android_webview/java/src/org/chromium/android_webview/common/AwSwitches.java.tmpl +++ b/android_webview/java/src/org/chromium/android_webview/common/AwSwitches.java.tmpl
@@ -11,10 +11,6 @@ {NATIVE_STRINGS} - // Native switch kEnableCrashReporterForTesting in //base/base_switches.h - public static final String CRASH_UPLOADS_ENABLED_FOR_TESTING_SWITCH = - "enable-crash-reporter-for-testing"; - // Do not instantiate this class. private AwSwitches() {{}} }}
diff --git a/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java b/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java index e576617..5d9af1b 100644 --- a/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java +++ b/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java
@@ -4,6 +4,7 @@ package org.chromium.android_webview.common; +import org.chromium.base.BaseSwitches; import org.chromium.components.metrics.MetricsSwitches; /** @@ -53,7 +54,7 @@ + "choice to opt-out."), Flag.commandLine(AwSwitches.WEBVIEW_LOG_JS_CONSOLE_MESSAGES, "Mirrors JavaScript console messages to system logs."), - Flag.commandLine(AwSwitches.CRASH_UPLOADS_ENABLED_FOR_TESTING_SWITCH, + Flag.commandLine(BaseSwitches.ENABLE_CRASH_REPORTER_FOR_TESTING, "Used for turning on Breakpad crash reporting in a debug environment where " + "crash reporting is typically compiled but disabled."), Flag.commandLine("disable-gpu-rasterization",
diff --git a/android_webview/nonembedded/java/src/org/chromium/android_webview/devui/CrashesListFragment.java b/android_webview/nonembedded/java/src/org/chromium/android_webview/devui/CrashesListFragment.java index c131afc2b..1521977 100644 --- a/android_webview/nonembedded/java/src/org/chromium/android_webview/devui/CrashesListFragment.java +++ b/android_webview/nonembedded/java/src/org/chromium/android_webview/devui/CrashesListFragment.java
@@ -32,7 +32,6 @@ import androidx.annotation.Nullable; import androidx.annotation.WorkerThread; -import org.chromium.android_webview.common.AwSwitches; import org.chromium.android_webview.common.DeveloperModeUtils; import org.chromium.android_webview.common.PlatformServiceBridge; import org.chromium.android_webview.common.crash.CrashInfo; @@ -40,6 +39,7 @@ import org.chromium.android_webview.common.crash.CrashUploadUtil; import org.chromium.android_webview.devui.util.CrashBugUrlFactory; import org.chromium.android_webview.devui.util.WebViewCrashInfoCollector; +import org.chromium.base.BaseSwitches; import org.chromium.base.CommandLine; import org.chromium.base.Log; import org.chromium.base.metrics.RecordHistogram; @@ -145,14 +145,13 @@ } private boolean isCrashUploadsEnabledFromCommandLine() { - return CommandLine.getInstance().hasSwitch( - AwSwitches.CRASH_UPLOADS_ENABLED_FOR_TESTING_SWITCH); + return CommandLine.getInstance().hasSwitch(BaseSwitches.ENABLE_CRASH_REPORTER_FOR_TESTING); } private boolean isCrashUploadsEnabledFromFlagsUi() { if (DeveloperModeUtils.isDeveloperModeEnabled(mContext.getPackageName())) { Boolean flagValue = DeveloperModeUtils.getFlagOverrides(mContext.getPackageName()) - .get(AwSwitches.CRASH_UPLOADS_ENABLED_FOR_TESTING_SWITCH); + .get(BaseSwitches.ENABLE_CRASH_REPORTER_FOR_TESTING); return Boolean.TRUE.equals(flagValue); } return false;
diff --git a/android_webview/nonembedded/java/src/org/chromium/android_webview/services/AwMinidumpUploaderDelegate.java b/android_webview/nonembedded/java/src/org/chromium/android_webview/services/AwMinidumpUploaderDelegate.java index b2bbf64..b71d2a4 100644 --- a/android_webview/nonembedded/java/src/org/chromium/android_webview/services/AwMinidumpUploaderDelegate.java +++ b/android_webview/nonembedded/java/src/org/chromium/android_webview/services/AwMinidumpUploaderDelegate.java
@@ -9,9 +9,9 @@ import androidx.annotation.VisibleForTesting; -import org.chromium.android_webview.common.AwSwitches; import org.chromium.android_webview.common.PlatformServiceBridge; import org.chromium.android_webview.common.crash.SystemWideCrashDirectories; +import org.chromium.base.BaseSwitches; import org.chromium.base.CommandLine; import org.chromium.base.ContextUtils; import org.chromium.base.ThreadUtils; @@ -108,7 +108,7 @@ // on the main thread, but before the current worker thread started - so this thread // will have seen the initialization of the CommandLine. return CommandLine.getInstance().hasSwitch( - AwSwitches.CRASH_UPLOADS_ENABLED_FOR_TESTING_SWITCH); + BaseSwitches.ENABLE_CRASH_REPORTER_FOR_TESTING); } }; }
diff --git a/ash/home_screen/drag_window_from_shelf_controller.cc b/ash/home_screen/drag_window_from_shelf_controller.cc index 7f9c550..c22daf2 100644 --- a/ash/home_screen/drag_window_from_shelf_controller.cc +++ b/ash/home_screen/drag_window_from_shelf_controller.cc
@@ -306,9 +306,11 @@ ReshowHiddenWindowsOnDragEnd(); window_drag_result_ = ShelfWindowDragResult::kDragCanceled; + // When the drag is cancelled, the window should restore to its original snap + // position. OnDragEnded(previous_location_in_screen_, /*should_drop_window_in_overview=*/false, - /*snap_position=*/SplitViewController::NONE); + /*snap_position=*/initial_snap_position_); WindowState::Get(window_)->DeleteDragDetails(); } @@ -376,6 +378,11 @@ // to be detached from splitview before start dragging. SplitViewController* split_view_controller = SplitViewController::Get(Shell::GetPrimaryRootWindow()); + // Preserve initial snap position + if (split_view_controller->IsWindowInSplitView(window_)) { + initial_snap_position_ = + split_view_controller->GetPositionOfSnappedWindow(window_); + } split_view_controller->OnWindowDragStarted(window_); // Note SplitViewController::OnWindowDragStarted() may open overview. if (Shell::Get()->overview_controller()->InOverviewSession()) @@ -569,11 +576,15 @@ const gfx::PointF& location_in_screen, base::Optional<float> velocity_y) const { if (!Shell::Get()->overview_controller()->InOverviewSession() || - ShouldRestoreToOriginalBounds(location_in_screen) || ShouldGoToHomeScreen(location_in_screen, velocity_y)) { return SplitViewController::NONE; } + // When dragging ends but restore to original bounds, we should restore + // window's initial snap position + if (ShouldRestoreToOriginalBounds(location_in_screen)) + return initial_snap_position_; + return GetSnapPosition(location_in_screen); }
diff --git a/ash/home_screen/drag_window_from_shelf_controller.h b/ash/home_screen/drag_window_from_shelf_controller.h index 245ed2c..e52445c9 100644 --- a/ash/home_screen/drag_window_from_shelf_controller.h +++ b/ash/home_screen/drag_window_from_shelf_controller.h
@@ -205,6 +205,9 @@ bool during_window_restoration_callback_ = false; + SplitViewController::SnapPosition initial_snap_position_ = + SplitViewController::NONE; + SplitViewController::SnapPosition end_snap_position_ = SplitViewController::NONE;
diff --git a/ash/home_screen/drag_window_from_shelf_controller_unittest.cc b/ash/home_screen/drag_window_from_shelf_controller_unittest.cc index 00177d8..0c9e5617 100644 --- a/ash/home_screen/drag_window_from_shelf_controller_unittest.cc +++ b/ash/home_screen/drag_window_from_shelf_controller_unittest.cc
@@ -1154,4 +1154,56 @@ parent)); } +// Tests that when dragging a snapped window is cancelled, the window +// still keep at the original snap position. +TEST_F(DragWindowFromShelfControllerTest, + KeepSplitWindowSnappedAfterRestoreToOriginalBounds) { + UpdateDisplay("400x400"); + const gfx::Rect shelf_bounds = + Shelf::ForWindow(Shell::GetPrimaryRootWindow())->GetIdealBounds(); + + auto window1 = CreateTestWindow(); + auto window2 = CreateTestWindow(); + + // In splitview mode, the snapped windows will stay visible during dragging. + split_view_controller()->SnapWindow(window1.get(), SplitViewController::LEFT); + split_view_controller()->SnapWindow(window2.get(), + SplitViewController::RIGHT); + + // Try to drag a left snapped window from shelf, but finally restore to + // original bounds. + StartDrag(window1.get(), shelf_bounds.left_center(), HotseatState::kExtended); + Drag(gfx::Point(0, 200), 1.f, 1.f); + EndDrag(shelf_bounds.bottom_left(), /*velocity_y=*/base::nullopt); + // Ensure that the window still keep its initial snap position. + EXPECT_TRUE(split_view_controller()->IsWindowInSplitView(window1.get())); + EXPECT_EQ(split_view_controller()->GetPositionOfSnappedWindow(window1.get()), + SplitViewController::LEFT); + // Try to drag a right snapped window from shelf, and finally drop to + // overview. + StartDrag(window2.get(), shelf_bounds.right_center(), + HotseatState::kExtended); + Drag(gfx::Point(400, 200), 1.f, 1.f); + DragWindowFromShelfControllerTestApi().WaitUntilOverviewIsShown( + window_drag_controller()); + OverviewController* overview_controller = Shell::Get()->overview_controller(); + OverviewSession* overview_session = overview_controller->overview_session(); + EndDrag(gfx::Point(200, 200), /*velocity_y=*/base::nullopt); + // Ensure that the window is not in splitview but in overview. + EXPECT_FALSE(split_view_controller()->IsWindowInSplitView(window2.get())); + EXPECT_TRUE(overview_session->IsWindowInOverview(window2.get())); + + // Try to drag the left window again within the restore distance. + StartDrag(window1.get(), shelf_bounds.left_center(), HotseatState::kExtended); + Drag(gfx::Point(0, 200), 1.f, 1.f); + EndDrag(shelf_bounds.bottom_left(), /*velocity_y=*/base::nullopt); + // Ensure that the left window still keep snapped. + EXPECT_TRUE(split_view_controller()->IsWindowInSplitView(window1.get())); + EXPECT_EQ(split_view_controller()->GetPositionOfSnappedWindow(window1.get()), + SplitViewController::LEFT); + // Ensure that the right window is still in the overview. + EXPECT_FALSE(split_view_controller()->IsWindowInSplitView(window2.get())); + EXPECT_TRUE(overview_session->IsWindowInOverview(window2.get())); +} + } // namespace ash
diff --git a/ash/public/cpp/ash_switches.h b/ash/public/cpp/ash_switches.h index 2cbfa434..6a697e72 100644 --- a/ash/public/cpp/ash_switches.h +++ b/ash/public/cpp/ash_switches.h
@@ -40,16 +40,6 @@ ASH_PUBLIC_EXPORT extern const char kAshUiModeClamshell[]; ASH_PUBLIC_EXPORT extern const char kAshUiModeTablet[]; ASH_PUBLIC_EXPORT extern const char kAshHideNotificationsForFactory[]; -ASH_PUBLIC_EXPORT extern const char kAshShelfColor[]; -ASH_PUBLIC_EXPORT extern const char kAshShelfColorEnabled[]; -ASH_PUBLIC_EXPORT extern const char kAshShelfColorDisabled[]; -ASH_PUBLIC_EXPORT extern const char kAshShelfColorScheme[]; -ASH_PUBLIC_EXPORT extern const char kAshShelfColorSchemeLightMuted[]; -ASH_PUBLIC_EXPORT extern const char kAshShelfColorSchemeLightVibrant[]; -ASH_PUBLIC_EXPORT extern const char kAshShelfColorSchemeNormalMuted[]; -ASH_PUBLIC_EXPORT extern const char kAshShelfColorSchemeNormalVibrant[]; -ASH_PUBLIC_EXPORT extern const char kAshShelfColorSchemeDarkMuted[]; -ASH_PUBLIC_EXPORT extern const char kAshShelfColorSchemeDarkVibrant[]; ASH_PUBLIC_EXPORT extern const char kAshSideVolumeButtonPosition[]; ASH_PUBLIC_EXPORT extern const char kAshTouchHud[]; ASH_PUBLIC_EXPORT extern const char kAuraLegacyPowerButton[];
diff --git a/ash/public/cpp/external_arc/message_center/arc_notification_item_impl.cc b/ash/public/cpp/external_arc/message_center/arc_notification_item_impl.cc index 910967f..f4a521d9 100644 --- a/ash/public/cpp/external_arc/message_center/arc_notification_item_impl.cc +++ b/ash/public/cpp/external_arc/message_center/arc_notification_item_impl.cc
@@ -92,8 +92,10 @@ if (data->small_icon) rich_data.small_image = gfx::Image::CreateFrom1xBitmap(*data->small_icon); - rich_data.accessible_name = base::UTF8ToUTF16( - data->accessible_name.value_or(data->title + "\n" + data->message)); + if (data->accessible_name.has_value()) + rich_data.accessible_name = + base::UTF8ToUTF16(data->accessible_name.value()); + if (manager_->IsOpeningSettingsSupported() && !is_setting_shown) { rich_data.settings_button_handler = message_center::SettingsButtonHandler::DELEGATE;
diff --git a/base/BUILD.gn b/base/BUILD.gn index a834e10..a457fe12 100644 --- a/base/BUILD.gn +++ b/base/BUILD.gn
@@ -3458,12 +3458,20 @@ jar_excluded_patterns = [ "*/BuildConfig.class" ] } + java_cpp_strings("java_switches_srcjar") { + # External code should depend on ":base_java" instead. + visibility = [ ":*" ] + sources = [ "base_switches.cc" ] + template = "android/java/src/org/chromium/base/BaseSwitches.java.tmpl" + } + android_library("base_java") { srcjar_deps = [ ":base_android_java_enums_srcjar", ":base_build_config_gen", ":base_java_aidl", ":base_native_libraries_gen", + ":java_switches_srcjar", ] deps = [ @@ -3481,7 +3489,6 @@ "android/java/src/org/chromium/base/ApiCompatibilityUtils.java", "android/java/src/org/chromium/base/ApkAssets.java", "android/java/src/org/chromium/base/ApplicationStatus.java", - "android/java/src/org/chromium/base/BaseSwitches.java", "android/java/src/org/chromium/base/BuildInfo.java", "android/java/src/org/chromium/base/BundleUtils.java", "android/java/src/org/chromium/base/Callback.java",
diff --git a/base/android/java/src/org/chromium/base/BaseSwitches.java b/base/android/java/src/org/chromium/base/BaseSwitches.java deleted file mode 100644 index a2753f7..0000000 --- a/base/android/java/src/org/chromium/base/BaseSwitches.java +++ /dev/null
@@ -1,48 +0,0 @@ -// Copyright 2013 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. - -package org.chromium.base; - -/** - * Contains all of the command line switches that are specific to the base/ - * portion of Chromium on Android. - */ -public abstract class BaseSwitches { - // Block ChildProcessMain thread of render process service until a Java debugger is attached. - // To pause even earlier: am set-debug-app org.chromium.chrome:sandbox_process0 - // However, this flag is convenient when you don't know the process number, or want - // all renderers to pause (set-debug-app applies to only one process at a time). - public static final String RENDERER_WAIT_FOR_JAVA_DEBUGGER = "renderer-wait-for-java-debugger"; - - // Force low-end device mode when set. - public static final String ENABLE_LOW_END_DEVICE_MODE = "enable-low-end-device-mode"; - - // Force disabling of low-end device mode when set. - public static final String DISABLE_LOW_END_DEVICE_MODE = "disable-low-end-device-mode"; - - // Adds additional thread idle time information into the trace event output. - public static final String ENABLE_IDLE_TRACING = "enable-idle-tracing"; - - // Default country code to be used for search engine localization. - public static final String DEFAULT_COUNTRY_CODE_AT_INSTALL = "default-country-code"; - - // Enables the reached code profiler. - public static final String ENABLE_REACHED_CODE_PROFILER = "enable-reached-code-profiler"; - - // Specifies the profiling interval for reached code profiler in microseconds. - public static final String REACHED_CODE_SAMPLING_INTERVAL_US = - "reached-code-sampling-interval-us"; - - // Comma-separated list of feature names to enable. - public static final String ENABLE_FEATURES = "enable-features"; - - // This option can be used to force field trials when testing changes locally. - public static final String FORCE_FIELD_TRIALS_SWITCH = "force-fieldtrials"; - - // The field trial parameters and their values when testing changes locally. - public static final String FORCE_FIELD_TRIAL_PARAMS_SWITCH = "force-fieldtrial-params"; - - // Prevent instantiation. - private BaseSwitches() {} -}
diff --git a/base/android/java/src/org/chromium/base/BaseSwitches.java.tmpl b/base/android/java/src/org/chromium/base/BaseSwitches.java.tmpl new file mode 100644 index 0000000..842c9fa --- /dev/null +++ b/base/android/java/src/org/chromium/base/BaseSwitches.java.tmpl
@@ -0,0 +1,25 @@ +// Copyright 2020 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. + +package org.chromium.base; + +/** + * Contains all of the command line switches that are specific to the base/ + * portion of Chromium on Android. + */ +public final class BaseSwitches {{ + +{NATIVE_STRINGS} + + // Prefer CommonSwitches.RENDERER_WAIT_FOR_JAVA_DEBUGGER where possible. + // Block ChildProcessMain thread of render process service until a Java debugger + // is attached. To pause even earlier: am set-debug-app + // org.chromium.chrome:sandbox_process0 However, this flag is convenient when + // you don't know the process number, or want all renderers to pause + // (set-debug-app applies to only one process at a time). + public static final String RENDERER_WAIT_FOR_JAVA_DEBUGGER = "renderer-wait-for-java-debugger"; + + // Prevent instantiation. + private BaseSwitches() {{}} +}}
diff --git a/base/base_switches.cc b/base/base_switches.cc index a5179af..88401ce 100644 --- a/base/base_switches.cc +++ b/base/base_switches.cc
@@ -140,6 +140,16 @@ // Specifies the profiling interval in microseconds for reached code profiler. const char kReachedCodeSamplingIntervalUs[] = "reached-code-sampling-interval-us"; + +// Default country code to be used for search engine localization. +const char kDefaultCountryCodeAtInstall[] = "default-country-code"; + +// Adds additional thread idle time information into the trace event output. +const char kEnableIdleTracing[] = "enable-idle-tracing"; + +// The field trial parameters and their values when testing changes locally. +const char kForceFieldTrialParams[] = "force-fieldtrial-params"; + #endif #if defined(OS_LINUX)
diff --git a/base/base_switches.h b/base/base_switches.h index 22c4098..5c3e961 100644 --- a/base/base_switches.h +++ b/base/base_switches.h
@@ -50,7 +50,9 @@ #if defined(OS_ANDROID) extern const char kEnableReachedCodeProfiler[]; extern const char kReachedCodeSamplingIntervalUs[]; -extern const char kOrderfileMemoryOptimization[]; +extern const char kDefaultCountryCodeAtInstall[]; +extern const char kEnableIdleTracing[]; +extern const char kForceFieldTrialParams[]; #endif #if defined(OS_LINUX)
diff --git a/base/big_endian.cc b/base/big_endian.cc index a706c4a..95a6388d 100644 --- a/base/big_endian.cc +++ b/base/big_endian.cc
@@ -12,17 +12,19 @@ namespace base { BigEndianReader::BigEndianReader(const char* buf, size_t len) - : ptr_(buf), end_(ptr_ + len) {} + : ptr_(buf), end_(ptr_ + len) { + CHECK_LE(ptr_, end_); +} bool BigEndianReader::Skip(size_t len) { - if (ptr_ + len > end_) + if (len > remaining()) return false; ptr_ += len; return true; } bool BigEndianReader::ReadBytes(void* out, size_t len) { - if (ptr_ + len > end_) + if (len > remaining()) return false; memcpy(out, ptr_, len); ptr_ += len; @@ -30,7 +32,7 @@ } bool BigEndianReader::ReadPiece(base::StringPiece* out, size_t len) { - if (ptr_ + len > end_) + if (len > remaining()) return false; *out = base::StringPiece(ptr_, len); ptr_ += len; @@ -39,7 +41,7 @@ template<typename T> bool BigEndianReader::Read(T* value) { - if (ptr_ + sizeof(T) > end_) + if (sizeof(T) > remaining()) return false; ReadBigEndian<T>(ptr_, value); ptr_ += sizeof(T); @@ -86,17 +88,19 @@ } BigEndianWriter::BigEndianWriter(char* buf, size_t len) - : ptr_(buf), end_(ptr_ + len) {} + : ptr_(buf), end_(ptr_ + len) { + CHECK_LE(ptr_, end_); +} bool BigEndianWriter::Skip(size_t len) { - if (ptr_ + len > end_) + if (len > remaining()) return false; ptr_ += len; return true; } bool BigEndianWriter::WriteBytes(const void* buf, size_t len) { - if (ptr_ + len > end_) + if (len > remaining()) return false; memcpy(ptr_, buf, len); ptr_ += len; @@ -105,7 +109,7 @@ template<typename T> bool BigEndianWriter::Write(T value) { - if (ptr_ + sizeof(T) > end_) + if (sizeof(T) > remaining()) return false; WriteBigEndian<T>(ptr_, value); ptr_ += sizeof(T);
diff --git a/base/big_endian_unittest.cc b/base/big_endian_unittest.cc index 07c208a..9dc513fe 100644 --- a/base/big_endian_unittest.cc +++ b/base/big_endian_unittest.cc
@@ -6,6 +6,8 @@ #include <stdint.h> +#include <limits> + #include "base/strings/string_piece.h" #include "testing/gtest/include/gtest/gtest.h" @@ -128,6 +130,20 @@ EXPECT_EQ(0u, reader.remaining()); } +TEST(BigEndianReaderTest, SafePointerMath) { + char data[] = "foo"; + BigEndianReader reader(data, sizeof(data)); + // The test should fail without ever dereferencing the |dummy_buf| pointer. + char* dummy_buf = reinterpret_cast<char*>(0xdeadbeef); + // Craft an extreme length value that would cause |reader.data() + len| to + // overflow. + size_t extreme_length = std::numeric_limits<size_t>::max() - 1; + base::StringPiece piece; + EXPECT_FALSE(reader.Skip(extreme_length)); + EXPECT_FALSE(reader.ReadBytes(dummy_buf, extreme_length)); + EXPECT_FALSE(reader.ReadPiece(&piece, extreme_length)); +} + TEST(BigEndianWriterTest, WritesValues) { char expected[] = { 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF, 0x1A, 0x2B, 0x3C }; @@ -171,4 +187,16 @@ EXPECT_EQ(0u, writer.remaining()); } +TEST(BigEndianWriterTest, SafePointerMath) { + char data[3]; + BigEndianWriter writer(data, sizeof(data)); + // The test should fail without ever dereferencing the |dummy_buf| pointer. + const char* dummy_buf = reinterpret_cast<const char*>(0xdeadbeef); + // Craft an extreme length value that would cause |reader.data() + len| to + // overflow. + size_t extreme_length = std::numeric_limits<size_t>::max() - 1; + EXPECT_FALSE(writer.Skip(extreme_length)); + EXPECT_FALSE(writer.WriteBytes(dummy_buf, extreme_length)); +} + } // namespace base
diff --git a/base/callback_list.h b/base/callback_list.h index 2dec964..78bea71 100644 --- a/base/callback_list.h +++ b/base/callback_list.h
@@ -65,10 +65,9 @@ // // UNSUPPORTED: // -// * Calling Notify() reentrantly during callback notification. // * Destroying the CallbackList during callback notification. // -// Both of these are possible to support, but not currently necessary. +// This is possible to support, but not currently necessary. namespace base { @@ -85,12 +84,13 @@ template <typename CallbackList> struct CallbackListTraits; +// NOTE: It's important that Callbacks provide iterator stability when items are +// added to the end, so e.g. a std::vector<> is not suitable here. template <typename Signature> struct CallbackListTraits<OnceCallbackList<Signature>> { using CallbackType = OnceCallback<Signature>; using Callbacks = std::list<CallbackType>; }; - template <typename Signature> struct CallbackListTraits<RepeatingCallbackList<Signature>> { using CallbackType = RepeatingCallback<Signature>; @@ -112,8 +112,8 @@ explicit Subscription(base::OnceClosure destruction_closure) : destruction_closure_(std::move(destruction_closure)) {} - Subscription(const Subscription&) = delete; - Subscription& operator=(const Subscription&) = delete; + Subscription(Subscription&&) = default; + Subscription& operator=(Subscription&&) = default; ~Subscription() { std::move(destruction_closure_).Run(); } @@ -160,38 +160,59 @@ removal_callback_ = removal_callback; } - // Returns whether the list of registered callbacks is empty. This may not be - // called while Notify() is traversing the list (since the results could be - // inaccurate). + // Returns whether the list of registered callbacks is empty (from an external + // perspective -- meaning no remaining callbacks are live). bool empty() const { - DCHECK(!iterating_); - return callbacks_.empty(); + return std::all_of(callbacks_.cbegin(), callbacks_.cend(), + [](const auto& callback) { return callback.is_null(); }); } // Calls all registered callbacks that are not canceled beforehand. If any // callbacks are unregistered, notifies any registered removal callback at the // end. + // + // Arguments must be copyable, since they must be supplied to all callbacks. + // Move-only types would be destructively modified by passing them to the + // first callback and not reach subsequent callbacks as intended. + // + // Notify() may be called re-entrantly, in which case the nested call + // completes before the outer one continues. Callbacks are only ever added at + // the end and canceled callbacks are not pruned from the list until the + // outermost iteration completes, so existing iterators should never be + // invalidated. However, this does mean that a callback added during a nested + // call can be notified by outer calls -- meaning it will be notified about + // things that happened before it was added -- if its subscription outlives + // the reentrant Notify() call. template <typename... RunArgs> void Notify(RunArgs&&... args) { - // Calling Notify() reentrantly is currently unsupported. - DCHECK(!iterating_); - if (empty()) return; // Nothing to do. - // Canceled callbacks should be removed from the list whenever notification - // isn't in progress, so right now all callbacks should be valid. - const auto callback_valid = [](const auto& cb) { return !cb.is_null(); }; - DCHECK(std::all_of(callbacks_.cbegin(), callbacks_.cend(), callback_valid)); - { AutoReset<bool> iterating(&iterating_, true); + // Skip any callbacks that are canceled during iteration. - for (auto it = callbacks_.begin(); it != callbacks_.end(); - it = std::find_if(it, callbacks_.end(), callback_valid)) + // NOTE: Since RunCallback() may call Add(), it's not safe to cache the + // value of callbacks_.end() across loop iterations. + const auto next_valid = [this](const auto it) { + return std::find_if_not(it, callbacks_.end(), [](const auto& callback) { + return callback.is_null(); + }); + }; + for (auto it = next_valid(callbacks_.begin()); it != callbacks_.end(); + it = next_valid(it)) + // NOTE: Intentionally does not call std::forward<RunArgs>(args)..., + // since that would allow move-only arguments. static_cast<CallbackListImpl*>(this)->RunCallback(it++, args...); } + // Re-entrant invocations shouldn't prune anything from the list. This can + // invalidate iterators from underneath higher call frames. It's safe to + // simply do nothing, since the outermost frame will continue through here + // and prune all null callbacks below. + if (iterating_) + return; + // Any null callbacks remaining in the list were canceled due to // Subscription destruction during iteration, and can safely be erased now. const size_t erased_callbacks = @@ -259,6 +280,8 @@ // splice() removes them from |callbacks_| without invalidating those. null_callbacks_.splice(null_callbacks_.end(), this->callbacks_, it); + // NOTE: Intentionally does not call std::forward<RunArgs>(args)...; see + // comments in Notify(). std::move(*it).Run(args...); } @@ -288,6 +311,8 @@ // Runs the current callback, which may cancel it or any other callbacks. template <typename... RunArgs> void RunCallback(typename Traits::Callbacks::iterator it, RunArgs&&... args) { + // NOTE: Intentionally does not call std::forward<RunArgs>(args)...; see + // comments in Notify(). it->Run(args...); }
diff --git a/base/callback_list_unittest.cc b/base/callback_list_unittest.cc index 8632dcdf..8c10472 100644 --- a/base/callback_list_unittest.cc +++ b/base/callback_list_unittest.cc
@@ -393,6 +393,62 @@ cb_reg.Notify(); } +// empty() should be callable during iteration, and return false if not all the +// remaining callbacks in the list are null. +TEST(CallbackListTest, NonEmptyListDuringIteration) { + // Declare items such that |cb_reg| is torn down before the subscriptions. + // This ensures the removal callback's invariant that the callback list is + // nonempty will always hold. + Remover<RepeatingClosureList> remover; + Listener listener; + std::unique_ptr<RepeatingClosureList::Subscription> remover_sub, listener_sub; + RepeatingClosureList cb_reg; + cb_reg.set_removal_callback(base::BindRepeating( + [](const RepeatingClosureList* callbacks) { + EXPECT_FALSE(callbacks->empty()); + }, + Unretained(&cb_reg))); + + remover_sub = cb_reg.Add( + BindRepeating(&Remover<RepeatingClosureList>::IncrementTotalAndRemove, + Unretained(&remover))); + listener_sub = cb_reg.Add( + BindRepeating(&Listener::IncrementTotal, Unretained(&listener))); + + // |remover| will remove |listener|. + remover.SetSubscriptionToRemove(std::move(listener_sub)); + + cb_reg.Notify(); + + EXPECT_EQ(1, remover.total()); + EXPECT_EQ(0, listener.total()); +} + +// empty() should be callable during iteration, and return true if all the +// remaining callbacks in the list are null. +TEST(CallbackListTest, EmptyListDuringIteration) { + OnceClosureList cb_reg; + cb_reg.set_removal_callback(base::BindRepeating( + [](const OnceClosureList* callbacks) { EXPECT_TRUE(callbacks->empty()); }, + Unretained(&cb_reg))); + + Remover<OnceClosureList> remover; + Listener listener; + std::unique_ptr<OnceClosureList::Subscription> remover_sub = + cb_reg.Add(BindOnce(&Remover<OnceClosureList>::IncrementTotalAndRemove, + Unretained(&remover))); + std::unique_ptr<OnceClosureList::Subscription> listener_sub = + cb_reg.Add(BindOnce(&Listener::IncrementTotal, Unretained(&listener))); + + // |remover| will remove |listener|. + remover.SetSubscriptionToRemove(std::move(listener_sub)); + + cb_reg.Notify(); + + EXPECT_EQ(1, remover.total()); + EXPECT_EQ(0, listener.total()); +} + TEST(CallbackListTest, RemovalCallback) { Counter remove_count; RepeatingClosureList cb_reg; @@ -444,6 +500,25 @@ subscription.reset(); } +// Subscriptions should be movable. +TEST(CallbackListTest, MoveSubscription) { + RepeatingClosureList cb_reg; + Listener listener; + std::unique_ptr<RepeatingClosureList::Subscription> subscription1 = + cb_reg.Add( + BindRepeating(&Listener::IncrementTotal, Unretained(&listener))); + cb_reg.Notify(); + EXPECT_EQ(1, listener.total()); + + auto subscription2 = std::move(subscription1); + cb_reg.Notify(); + EXPECT_EQ(2, listener.total()); + + subscription2.reset(); + cb_reg.Notify(); + EXPECT_EQ(2, listener.total()); +} + TEST(CallbackListTest, CancelBeforeRunning) { OnceClosureList cb_reg; Listener a; @@ -461,5 +536,71 @@ EXPECT_EQ(0, a.total()); } +// Verifies Notify() can be called reentrantly and what its expected effects +// are. +TEST(CallbackListTest, ReentrantNotify) { + RepeatingClosureList cb_reg; + Listener a, b, c, d; + std::unique_ptr<RepeatingClosureList::Subscription> a_subscription, + c_subscription; + + // A callback to run for |a|. + const auto a_callback = + [](RepeatingClosureList* callbacks, Listener* a, + std::unique_ptr<RepeatingClosureList::Subscription>* a_subscription, + const Listener* b, Listener* c, + std::unique_ptr<RepeatingClosureList::Subscription>* c_subscription, + Listener* d) { + // This should be the first callback. + EXPECT_EQ(0, a->total()); + EXPECT_EQ(0, b->total()); + EXPECT_EQ(0, c->total()); + EXPECT_EQ(0, d->total()); + + // Increment |a| once. + a->IncrementTotal(); + + // Prevent |a| from being incremented again during the reentrant + // Notify(). Since this is the first callback, this also verifies the + // inner Notify() doesn't assume the first callback (or all callbacks) + // are valid. + a_subscription->reset(); + + // Add |c| and |d| to be incremented by the reentrant Notify(). + *c_subscription = callbacks->Add( + BindRepeating(&Listener::IncrementTotal, Unretained(c))); + std::unique_ptr<RepeatingClosureList::Subscription> d_subscription = + callbacks->Add( + BindRepeating(&Listener::IncrementTotal, Unretained(d))); + + // Notify reentrantly. This should not increment |a|, but all the + // others should be incremented. + callbacks->Notify(); + EXPECT_EQ(1, b->total()); + EXPECT_EQ(1, c->total()); + EXPECT_EQ(1, d->total()); + + // Since |d_subscription| is locally scoped, it should be canceled + // before the outer Notify() increments |d|. |c_subscription| already + // exists and thus |c| should get incremented again by the outer + // Notify() even though it wasn't subscribed when that was called. + }; + + // Add |a| and |b| to the list to be notified, and notify. + a_subscription = cb_reg.Add( + BindRepeating(a_callback, Unretained(&cb_reg), Unretained(&a), + Unretained(&a_subscription), Unretained(&b), Unretained(&c), + Unretained(&c_subscription), Unretained(&d))); + std::unique_ptr<RepeatingClosureList::Subscription> b_subscription = + cb_reg.Add(BindRepeating(&Listener::IncrementTotal, Unretained(&b))); + + // Execute both notifications and check the cumulative effect. + cb_reg.Notify(); + EXPECT_EQ(1, a.total()); + EXPECT_EQ(2, b.total()); + EXPECT_EQ(2, c.total()); + EXPECT_EQ(1, d.total()); +} + } // namespace } // namespace base
diff --git a/build/android/gradle/cmake.jinja b/build/android/gradle/cmake.jinja index 996a521..b7273880 100644 --- a/build/android/gradle/cmake.jinja +++ b/build/android/gradle/cmake.jinja
@@ -15,12 +15,11 @@ ) {% endif %} -{% for name, target in native.targets.iteritems() %} -{% if target.sources is defined %} -add_library("{{ name }}" -{% for path in target.sources %} +# Android studio will index faster when adding all sources into one library. +{% if native.sources is defined %} +add_library("chromium" +{% for path in native.sources %} {{ path }} {% endfor %} ) {% endif %} -{% endfor %}
diff --git a/build/android/gradle/generate_gradle.py b/build/android/gradle/generate_gradle.py index affa6c64..bbbde51 100755 --- a/build/android/gradle/generate_gradle.py +++ b/build/android/gradle/generate_gradle.py
@@ -587,29 +587,39 @@ # Example: //chrome/android:monochrome def _GetNative(relative_func, target_names): + """Returns an object containing native c++ sources list and its included path + + Iterate through all target_names and their deps to get the list of included + paths and sources.""" out_dir = constants.GetOutDirectory() with open(os.path.join(out_dir, 'project.json'), 'r') as project_file: projects = json.load(project_file) project_targets = projects['targets'] root_dir = projects['build_settings']['root_path'] - targets = {} includes = set() + processed_target = set() + targets_stack = list(target_names) + sources = [] + + while targets_stack: + target_name = targets_stack.pop() + if target_name in processed_target: + continue + processed_target.add(target_name) + target = project_targets[target_name] + includes.update(target.get('include_dirs', [])) + targets_stack.extend(target.get('deps', [])) + # Ignore generated files + sources.extend(f for f in target.get('sources', []) + if f.endswith('.cc') and not f.startswith('//out')) + def process_paths(paths): # Ignores leading // return relative_func( sorted(os.path.join(root_dir, path[2:]) for path in paths)) - for target_name in target_names: - target = project_targets[target_name] - includes.update(target.get('include_dirs', [])) - sources = [f for f in target.get('sources', []) if f.endswith('.cc')] - if sources: - # CMake does not like forward slashes or colons for the target name. - filtered_name = target_name.replace('/', '.').replace(':', '-') - targets[filtered_name] = { - 'sources': process_paths(sources), - } + return { - 'targets': targets, + 'sources': process_paths(sources), 'includes': process_paths(includes), }
diff --git a/build/android/gradle/root.jinja b/build/android/gradle/root.jinja index 549dc24..15b5e101 100644 --- a/build/android/gradle/root.jinja +++ b/build/android/gradle/root.jinja
@@ -20,7 +20,7 @@ {% elif channel == 'beta' %} classpath "com.android.tools.build:gradle:4.0.0-rc01" {% else %} - classpath "com.android.tools.build:gradle:3.6.3" + classpath "com.android.tools.build:gradle:4.0.1" {% endif %} } }
diff --git a/build/lacros/test_runner.py b/build/lacros/test_runner.py index 6d38458d..99932cea 100755 --- a/build/lacros/test_runner.py +++ b/build/lacros/test_runner.py
@@ -55,6 +55,9 @@ # Base GS URL to store prebuilt ash-chrome. _GS_URL_BASE = 'gs://ash-chromium-on-linux-prebuilts/x86_64' +# Latest file version. +_GS_URL_LATEST_FILE = _GS_URL_BASE + '/latest/ash-chromium.txt' + # GS path to the zipped ash-chrome build with any given version. _GS_ASH_CHROME_PATH = 'ash-chromium.zip' @@ -198,12 +201,10 @@ gsutil = download_from_google_storage.Gsutil( download_from_google_storage.GSUTIL_DEFAULT_PATH) - # gsutil.check_call returns (code, out, err), and each path in the output is - # of format: gs://ash-chromium-on-linux-prebuilts/x86_64/{cr-commit-position} - _, output, _ = gsutil.check_call('ls', _GS_URL_BASE) - latest_gs_path = sorted(output.splitlines())[-1] - return latest_gs_path.rstrip('/').split('/')[-1] - + with tempfile.NamedTemporaryFile() as tmp: + gsutil.check_call('cp', _GS_URL_LATEST_FILE, tmp.name) + with open(tmp.name, 'r') as f: + return f.read().strip() def _RunTestWithAshChrome(args, forward_args): """Runs tests with ash-chrome.
diff --git a/build/toolchain/concurrent_links.gni b/build/toolchain/concurrent_links.gni index 1f427ee6..c4637454 100644 --- a/build/toolchain/concurrent_links.gni +++ b/build/toolchain/concurrent_links.gni
@@ -45,21 +45,30 @@ } else { _args = [ "--mem_per_link_gb=4" ] } - } else if (is_android && !is_component_build && symbol_level == 2) { - # Full debug symbols require large memory for link. - _args = [ "--mem_per_link_gb=25" ] - } else if (is_android && !is_debug && !using_sanitizer && is_java_debug && - disable_android_lint && symbol_level < 2) { + } else if (is_android) { # The link pool is also shared with: - # * ProGuard / R8 + # * R8 + # * 10gb per run for 72-core machine MonochromePublic.apk, Aug 2020. + # * 4.5gb per run for 8-core machine MonochromePublic.apk, Aug 2020. # * Android Lint - # Increase the number of concurrent links for release bots that have - # ProGuard and Lint disabled, and that do not enable sanitizers (which use a - # lot of RAM). - if (symbol_level == 1) { - _args = [ "--mem_per_link_gb=6" ] + # * 2gb per run for MonochromePublic.apk, Aug 2020. + if (!is_component_build && symbol_level == 2) { + # Full debug symbols require large memory for link. + _args = [ "--mem_per_link_gb=25" ] + } else if (!is_java_debug) { + # R8 requires more ram than linker. + # TODO(crbug.com/1098333): Do not decrease on bots with low CPU counts. + _args = [ "--mem_per_link_gb=10" ] + } else if (!is_debug && !using_sanitizer && symbol_level < 2) { + # Increase the number of concurrent links for release bots that have + # ProGuard and sanitizers disabled (which use a lot of RAM). + if (symbol_level == 1) { + _args = [ "--mem_per_link_gb=6" ] + } else { + _args = [ "--mem_per_link_gb=4" ] + } } else { - _args = [ "--mem_per_link_gb=4" ] + _args = [] } } else if (is_linux && !is_chromeos && symbol_level == 0) { # Memory consumption on link without debug symbols is low on linux.
diff --git a/cc/layers/layer.cc b/cc/layers/layer.cc index 8ca906a4..cfff4d3 100644 --- a/cc/layers/layer.cc +++ b/cc/layers/layer.cc
@@ -52,7 +52,6 @@ Region non_fast_scrollable_region; TouchActionRegion touch_action_region; ElementId element_id; - ElementId frame_element_id; } inputs; void* layer_tree_inputs; int int_fields[6]; @@ -1355,7 +1354,6 @@ layer->UnionUpdateRect(inputs_.update_rect); layer->SetHasWillChangeTransformHint(has_will_change_transform_hint()); - layer->SetFrameElementId(inputs_.frame_element_id); layer->SetNeedsPushProperties(); // debug_info_->invalidations, if exist, will be cleared in the function. @@ -1465,13 +1463,6 @@ SetNeedsCommit(); } -void Layer::SetFrameElementId(ElementId frame_element_id) { - if (inputs_.frame_element_id == frame_element_id) - return; - inputs_.frame_element_id = frame_element_id; - SetNeedsCommit(); -} - void Layer::SetTrilinearFiltering(bool trilinear_filtering) { auto& inputs = EnsureLayerTreeInputs(); if (inputs.trilinear_filtering == trilinear_filtering)
diff --git a/cc/layers/layer.h b/cc/layers/layer.h index a2da205..8a8d212 100644 --- a/cc/layers/layer.h +++ b/cc/layers/layer.h
@@ -557,9 +557,6 @@ return inputs_.has_will_change_transform_hint; } - void SetFrameElementId(ElementId frame_element_id); - ElementId frame_element_id() const { return inputs_.frame_element_id; } - // For layer tree mode only. // Sets or gets if trilinear filtering should be used to scaling the contents // of this layer and its subtree. When set the layer and its subtree will be @@ -857,8 +854,6 @@ TouchActionRegion touch_action_region; ElementId element_id; - // ElementId of the document that this layer was created by. - ElementId frame_element_id; }; // These inputs are used in layer tree mode (ui compositor) only. Most of them
diff --git a/cc/layers/layer_impl.cc b/cc/layers/layer_impl.cc index ae9b960..cda2c0f 100644 --- a/cc/layers/layer_impl.cc +++ b/cc/layers/layer_impl.cc
@@ -370,7 +370,6 @@ // depend on it. Referencing element id on a layer is // deprecated. http://crbug.com/709137 layer->SetElementId(element_id_); - layer->SetFrameElementId(frame_element_id_); layer->has_transform_node_ = has_transform_node_; layer->offset_to_transform_parent_ = offset_to_transform_parent_;
diff --git a/cc/layers/layer_impl.h b/cc/layers/layer_impl.h index 7f3dddc8..3df5d1e 100644 --- a/cc/layers/layer_impl.h +++ b/cc/layers/layer_impl.h
@@ -180,11 +180,6 @@ void SetElementId(ElementId element_id); ElementId element_id() const { return element_id_; } - void SetFrameElementId(ElementId frame_element_id) { - frame_element_id_ = frame_element_id; - } - ElementId frame_element_id() const { return frame_element_id_; } - bool IsAffectedByPageScale() const; bool Is3dSorted() const { return GetSortingContextId() != 0; } @@ -514,8 +509,6 @@ private: ElementId element_id_; - // Element ID of the document containing this layer. - ElementId frame_element_id_; // Rect indicating what was repainted/updated during update. // Note that plugin layers bypass this and leave it empty. // This is in the layer's space.
diff --git a/cc/trees/layer_tree_host_impl_unittest.cc b/cc/trees/layer_tree_host_impl_unittest.cc index 9c54b70..025bc3c6 100644 --- a/cc/trees/layer_tree_host_impl_unittest.cc +++ b/cc/trees/layer_tree_host_impl_unittest.cc
@@ -17528,5 +17528,98 @@ ScrollEnd(); } +TEST_F(LayerTreeHostImplTest, FrameElementIdHitTestSimple) { + SetupDefaultRootLayer(gfx::Size(100, 100)); + + LayerImpl* frame_layer = AddLayer(); + frame_layer->SetBounds(gfx::Size(50, 50)); + frame_layer->SetDrawsContent(true); + frame_layer->SetHitTestable(true); + CopyProperties(root_layer(), frame_layer); + CreateTransformNode(frame_layer).frame_element_id = ElementId(0x10); + + UpdateDrawProperties(host_impl_->active_tree()); + + EXPECT_EQ(host_impl_->FindFrameElementIdAtPoint(gfx::PointF(10, 10)), + ElementId(0x10)); +} + +TEST_F(LayerTreeHostImplTest, FrameElementIdHitTestOverlap) { + SetupDefaultRootLayer(gfx::Size(100, 100)); + + LayerImpl* frame_layer = AddLayer(); + frame_layer->SetBounds(gfx::Size(50, 50)); + frame_layer->SetHitTestable(true); + CopyProperties(root_layer(), frame_layer); + CreateTransformNode(frame_layer).frame_element_id = ElementId(0x10); + + LayerImpl* occluding_frame_layer = AddLayer(); + occluding_frame_layer->SetBounds(gfx::Size(50, 50)); + occluding_frame_layer->SetHitTestable(true); + CopyProperties(root_layer(), occluding_frame_layer); + CreateTransformNode(occluding_frame_layer).frame_element_id = ElementId(0x20); + occluding_frame_layer->SetOffsetToTransformParent(gfx::Vector2dF(25, 25)); + + UpdateDrawProperties(host_impl_->active_tree()); + + EXPECT_EQ(host_impl_->FindFrameElementIdAtPoint(gfx::PointF(30, 30)), + ElementId(0x20)); +} + +TEST_F(LayerTreeHostImplTest, FrameElementIdHitTestOverlapSimpleClip) { + SetupDefaultRootLayer(gfx::Size(100, 100)); + + LayerImpl* frame_layer = AddLayer(); + frame_layer->SetBounds(gfx::Size(50, 50)); + frame_layer->SetHitTestable(true); + CopyProperties(root_layer(), frame_layer); + CreateTransformNode(frame_layer).frame_element_id = ElementId(0x10); + + LayerImpl* clipped_frame_layer = AddLayer(); + clipped_frame_layer->SetBounds(gfx::Size(50, 50)); + clipped_frame_layer->SetHitTestable(true); + CopyProperties(root_layer(), clipped_frame_layer); + CreateTransformNode(clipped_frame_layer).frame_element_id = ElementId(0x20); + clipped_frame_layer->SetOffsetToTransformParent(gfx::Vector2dF(25, 25)); + + // Create a clip excluding the overlapped region. + auto& clip_node = CreateClipNode(clipped_frame_layer); + clip_node.clip = gfx::RectF(40, 40, 10, 10); + + UpdateDrawProperties(host_impl_->active_tree()); + + // Ensure that the overlapping (clipped) layer isn't targeted. + EXPECT_EQ(host_impl_->FindFrameElementIdAtPoint(gfx::PointF(30, 30)), + ElementId(0x10)); +} + +TEST_F(LayerTreeHostImplTest, FrameElementIdHitTestOverlapRoundedCorners) { + SetupDefaultRootLayer(gfx::Size(100, 100)); + + LayerImpl* frame_layer = AddLayer(); + frame_layer->SetBounds(gfx::Size(50, 50)); + frame_layer->SetHitTestable(true); + CopyProperties(root_layer(), frame_layer); + CreateTransformNode(frame_layer).frame_element_id = ElementId(0x10); + + LayerImpl* rounded_frame_layer = AddLayer(); + rounded_frame_layer->SetBounds(gfx::Size(50, 50)); + rounded_frame_layer->SetHitTestable(true); + CopyProperties(root_layer(), rounded_frame_layer); + CreateTransformNode(rounded_frame_layer).frame_element_id = ElementId(0x20); + rounded_frame_layer->SetOffsetToTransformParent(gfx::Vector2dF(25, 25)); + + // Add rounded corners to the layer, which are unable to be hit tested by the + // simple quad-based logic. + CreateEffectNode(rounded_frame_layer).rounded_corner_bounds = + gfx::RRectF(25, 25, 50, 50, 5); + + UpdateDrawProperties(host_impl_->active_tree()); + + // The lookup should bail out in the presence of a complex clip/mask on the + // target chain. + EXPECT_FALSE(host_impl_->FindFrameElementIdAtPoint(gfx::PointF(30, 30))); +} + } // namespace } // namespace cc
diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc index 4b0b9ad..d1ced35d 100644 --- a/cc/trees/layer_tree_impl.cc +++ b/cc/trees/layer_tree_impl.cc
@@ -2388,11 +2388,6 @@ layer.non_fast_scrollable_region(), &layer); } -struct HitTestFramedVisibleScrollableOrTouchableFunctor { - bool operator()(LayerImpl* layer) const { - return layer->HitTestable() && layer->frame_element_id(); - } -}; ElementId LayerTreeImpl::FindFrameElementIdAtPoint( const gfx::PointF& screen_space_point) { @@ -2402,10 +2397,18 @@ return {}; FindClosestMatchingLayerState state; FindClosestMatchingLayer(screen_space_point, layer_list_[0].get(), - HitTestFramedVisibleScrollableOrTouchableFunctor(), + HitTestVisibleScrollableOrTouchableFunctor(), &state); if (auto* layer = state.closest_match) { + ElementId frame_element_id; + auto* node = + property_trees()->transform_tree.Node(layer->transform_tree_index()); + while (node && !frame_element_id) { + frame_element_id = node->frame_element_id; + node = property_trees()->transform_tree.parent(node); + } + // TODO(https://crbug.com/1058870): Permit hit testing only if the framed // element hit has a simple mask/clip. We don't have enough information // about complex masks/clips on the impl-side to do accurate hit testing. @@ -2414,7 +2417,7 @@ layer->effect_tree_index()); if (!layer_hit_test_region_is_masked) - return layer->frame_element_id(); + return frame_element_id; } return {}; }
diff --git a/cc/trees/layer_tree_impl_unittest.cc b/cc/trees/layer_tree_impl_unittest.cc index 883f356..e319e5801 100644 --- a/cc/trees/layer_tree_impl_unittest.cc +++ b/cc/trees/layer_tree_impl_unittest.cc
@@ -2549,91 +2549,6 @@ EXPECT_EQ(filter_map.size(), 1u); } -TEST_F(LayerTreeImplTest, FrameElementIdHitTestSimple) { - LayerImpl* frame_layer = AddLayer<LayerImpl>(); - frame_layer->SetBounds(gfx::Size(50, 50)); - frame_layer->SetDrawsContent(true); - frame_layer->SetHitTestable(true); - frame_layer->SetFrameElementId(ElementId(0x10)); - CopyProperties(root_layer(), frame_layer); - - UpdateDrawProperties(host_impl().active_tree()); - - EXPECT_EQ(host_impl().FindFrameElementIdAtPoint(gfx::PointF(10, 10)), - ElementId(0x10)); -} - -TEST_F(LayerTreeImplTest, FrameElementIdHitTestOverlap) { - LayerImpl* frame_layer = AddLayer<LayerImpl>(); - frame_layer->SetBounds(gfx::Size(50, 50)); - frame_layer->SetHitTestable(true); - frame_layer->SetFrameElementId(ElementId(0x10)); - CopyProperties(root_layer(), frame_layer); - - LayerImpl* occluding_frame_layer = AddLayer<LayerImpl>(); - occluding_frame_layer->SetBounds(gfx::Size(50, 50)); - occluding_frame_layer->SetHitTestable(true); - occluding_frame_layer->SetFrameElementId(ElementId(0x20)); - CopyProperties(root_layer(), occluding_frame_layer); - occluding_frame_layer->SetOffsetToTransformParent(gfx::Vector2dF(25, 25)); - - UpdateDrawProperties(host_impl().active_tree()); - - EXPECT_EQ(host_impl().FindFrameElementIdAtPoint(gfx::PointF(30, 30)), - ElementId(0x20)); -} - -TEST_F(LayerTreeImplTest, FrameElementIdHitTestOverlapSimpleClip) { - LayerImpl* frame_layer = AddLayer<LayerImpl>(); - frame_layer->SetBounds(gfx::Size(50, 50)); - frame_layer->SetHitTestable(true); - frame_layer->SetFrameElementId(ElementId(0x10)); - CopyProperties(root_layer(), frame_layer); - - LayerImpl* clipped_frame_layer = AddLayer<LayerImpl>(); - clipped_frame_layer->SetBounds(gfx::Size(50, 50)); - clipped_frame_layer->SetHitTestable(true); - clipped_frame_layer->SetFrameElementId(ElementId(0x20)); - CopyProperties(root_layer(), clipped_frame_layer); - clipped_frame_layer->SetOffsetToTransformParent(gfx::Vector2dF(25, 25)); - - // Create a clip excluding the overlapped region. - auto& clip_node = CreateClipNode(clipped_frame_layer); - clip_node.clip = gfx::RectF(40, 40, 10, 10); - - UpdateDrawProperties(host_impl().active_tree()); - - // Ensure that the overlapping (clipped) layer isn't targeted. - EXPECT_EQ(host_impl().FindFrameElementIdAtPoint(gfx::PointF(30, 30)), - ElementId(0x10)); -} - -TEST_F(LayerTreeImplTest, FrameElementIdHitTestOverlapRoundedCorners) { - LayerImpl* frame_layer = AddLayer<LayerImpl>(); - frame_layer->SetBounds(gfx::Size(50, 50)); - frame_layer->SetHitTestable(true); - frame_layer->SetFrameElementId(ElementId(0x10)); - CopyProperties(root_layer(), frame_layer); - - LayerImpl* rounded_frame_layer = AddLayer<LayerImpl>(); - rounded_frame_layer->SetBounds(gfx::Size(50, 50)); - rounded_frame_layer->SetHitTestable(true); - rounded_frame_layer->SetFrameElementId(ElementId(0x20)); - CopyProperties(root_layer(), rounded_frame_layer); - rounded_frame_layer->SetOffsetToTransformParent(gfx::Vector2dF(25, 25)); - - // Add rounded corners to the layer, which are unable to be hit tested by the - // simple quad-based logic. - CreateEffectNode(rounded_frame_layer).rounded_corner_bounds = - gfx::RRectF(25, 25, 50, 50, 5); - - UpdateDrawProperties(host_impl().active_tree()); - - // The lookup should bail out in the presence of a complex clip/mask on the - // target chain. - EXPECT_FALSE(host_impl().FindFrameElementIdAtPoint(gfx::PointF(30, 30))); -} - class LayerTreeImplOcclusionSettings : public LayerListSettings { public: explicit LayerTreeImplOcclusionSettings(bool enabled) {
diff --git a/cc/trees/transform_node.h b/cc/trees/transform_node.h index 47bb059e..d0257a6a 100644 --- a/cc/trees/transform_node.h +++ b/cc/trees/transform_node.h
@@ -121,6 +121,9 @@ float maximum_animation_scale; float starting_animation_scale; + // Element ID of the document containing this node. + ElementId frame_element_id; + bool operator==(const TransformNode& other) const; void set_to_parent(const gfx::Transform& transform) {
diff --git a/chrome/VERSION b/chrome/VERSION index d7e73f5b..a97e651 100644 --- a/chrome/VERSION +++ b/chrome/VERSION
@@ -1,4 +1,4 @@ MAJOR=86 MINOR=0 -BUILD=4230 +BUILD=4231 PATCH=0
diff --git a/chrome/android/chrome_test_java_sources.gni b/chrome/android/chrome_test_java_sources.gni index 1b7c8a3..9f2e8ed 100644 --- a/chrome/android/chrome_test_java_sources.gni +++ b/chrome/android/chrome_test_java_sources.gni
@@ -282,6 +282,7 @@ "javatests/src/org/chromium/chrome/browser/notifications/channels/ChannelsUpdaterTest.java", "javatests/src/org/chromium/chrome/browser/notifications/channels/SiteChannelsManagerTest.java", "javatests/src/org/chromium/chrome/browser/notifications/settings/NotificationSettingsTest.java", + "javatests/src/org/chromium/chrome/browser/ntp/IncognitoDescriptionViewRenderTest.java", "javatests/src/org/chromium/chrome/browser/ntp/IncognitoNewTabPageTest.java", "javatests/src/org/chromium/chrome/browser/ntp/NewTabPageLoadTest.java", "javatests/src/org/chromium/chrome/browser/ntp/NewTabPageNavigationTest.java",
diff --git a/chrome/android/features/autofill_assistant/java/res/layout/autofill_assistant_header.xml b/chrome/android/features/autofill_assistant/java/res/layout/autofill_assistant_header.xml index 9185a74..9689c17 100644 --- a/chrome/android/features/autofill_assistant/java/res/layout/autofill_assistant_header.xml +++ b/chrome/android/features/autofill_assistant/java/res/layout/autofill_assistant_header.xml
@@ -8,7 +8,6 @@ android:layout_height="wrap_content"> <LinearLayout - android:id="@+id/header_top_container" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="56dp"
diff --git a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantBottomBarCoordinator.java b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantBottomBarCoordinator.java index 9a6819b1..b246ed73 100644 --- a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantBottomBarCoordinator.java +++ b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantBottomBarCoordinator.java
@@ -151,8 +151,6 @@ // We don't want to animate the carousels children views as they are already animated by the // recyclers ItemAnimator, so we exclude them to avoid a clash between the animations. mLayoutTransition.excludeChildren(mActionsCoordinator.getView(), /* exclude= */ true); - mLayoutTransition.excludeChildren( - mHeaderCoordinator.getCarouselView(), /* exclude= */ true); // do not animate the contents of the payment method section inside the section choice list, // since the animation is not required and causes a rendering crash. @@ -192,11 +190,7 @@ controller.addObserver(new EmptyBottomSheetObserver() { @Override public void onSheetStateChanged(int newState) { - // Note: recycler view updates while the bottom sheet is SCROLLING result in a - // BottomSheet assertion. - if (newState != BottomSheetController.SheetState.SCROLLING) { - maybeShowHeaderChips(); - } + maybeShowHeaderChip(); } @Override @@ -262,8 +256,10 @@ } private void setupAnimations(AssistantModel model, ViewGroup rootView) { + // Animate when the chip in the header changes. model.getHeaderModel().addObserver((source, propertyKey) -> { - if (propertyKey == AssistantHeaderModel.CHIPS_VISIBLE) { + if (propertyKey == AssistantHeaderModel.CHIP + || propertyKey == AssistantHeaderModel.CHIP_VISIBLE) { animateChildren(rootView); } }); @@ -299,12 +295,12 @@ TransitionManager.beginDelayedTransition(rootView, mLayoutTransition); } - private void maybeShowHeaderChips() { - boolean showChips = + private void maybeShowHeaderChip() { + boolean showChip = mBottomSheetController.getSheetState() == BottomSheetController.SheetState.PEEK && mPeekHeightCoordinator.getPeekMode() == AssistantPeekHeightCoordinator.PeekMode.HANDLE_HEADER; - mModel.getHeaderModel().set(AssistantHeaderModel.CHIPS_VISIBLE, showChips); + mModel.getHeaderModel().set(AssistantHeaderModel.CHIP_VISIBLE, showChip); } /** @@ -354,7 +350,7 @@ /** Set the peek mode. */ void setPeekMode(@AssistantPeekHeightCoordinator.PeekMode int peekMode) { mPeekHeightCoordinator.setPeekMode(peekMode); - maybeShowHeaderChips(); + maybeShowHeaderChip(); } /** Expand the bottom sheet. */
diff --git a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantUiController.java b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantUiController.java index dfc3750..674fef83 100644 --- a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantUiController.java +++ b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantUiController.java
@@ -18,6 +18,7 @@ import org.chromium.chrome.browser.autofill_assistant.carousel.AssistantCarouselModel; import org.chromium.chrome.browser.autofill_assistant.carousel.AssistantChip; import org.chromium.chrome.browser.autofill_assistant.carousel.AssistantChip.Type; +import org.chromium.chrome.browser.autofill_assistant.header.AssistantHeaderModel; import org.chromium.chrome.browser.autofill_assistant.metrics.DropOutReason; import org.chromium.chrome.browser.customtabs.CustomTabActivity; import org.chromium.chrome.browser.profiles.Profile; @@ -282,56 +283,55 @@ } /** - * Creates an action button which executes the action {@code actionIndex}. + * Adds an action button to the chip list, which executes the action {@code actionIndex}. */ @CalledByNative - private AssistantChip createActionButton(int icon, String text, int actionIndex, + private void addActionButton(List<AssistantChip> chips, int icon, String text, int actionIndex, boolean disabled, boolean sticky, String identifier) { - return new AssistantChip(AssistantChip.Type.BUTTON_HAIRLINE, icon, text, disabled, sticky, - identifier, () -> safeNativeOnUserActionSelected(actionIndex)); + chips.add(new AssistantChip(AssistantChip.Type.BUTTON_HAIRLINE, icon, text, disabled, + sticky, identifier, () -> safeNativeOnUserActionSelected(actionIndex))); } /** - * Creates a highlighted action button which executes the action {@code actionIndex}. + * Adds a highlighted action button to the chip list, which executes the action {@code + * actionIndex}. */ @CalledByNative - private AssistantChip createHighlightedActionButton(int icon, String text, int actionIndex, - boolean disabled, boolean sticky, String identifier) { - return new AssistantChip(Type.BUTTON_FILLED_BLUE, icon, text, disabled, sticky, identifier, - () -> safeNativeOnUserActionSelected(actionIndex)); + private void addHighlightedActionButton(List<AssistantChip> chips, int icon, String text, + int actionIndex, boolean disabled, boolean sticky, String identifier) { + chips.add(new AssistantChip(Type.BUTTON_FILLED_BLUE, icon, text, disabled, sticky, + identifier, () -> safeNativeOnUserActionSelected(actionIndex))); } /** - * Creates a cancel action button. If the keyboard is currently shown, it dismisses the - * keyboard. Otherwise, it shows the snackbar and then executes {@code actionIndex}, or shuts - * down Autofill Assistant if {@code actionIndex} is {@code -1}. + * Adds a cancel action button to the chip list. If the keyboard is currently shown, it + * dismisses the keyboard. Otherwise, it shows the snackbar and then executes + * {@code actionIndex}, or shuts down Autofill Assistant if {@code actionIndex} is {@code -1}. */ @CalledByNative - private AssistantChip createCancelButton(int icon, String text, int actionIndex, + private void addCancelButton(List<AssistantChip> chips, int icon, String text, int actionIndex, boolean disabled, boolean sticky, String identifier) { - return new AssistantChip(AssistantChip.Type.BUTTON_HAIRLINE, icon, text, disabled, sticky, - identifier, () -> safeNativeOnCancelButtonClicked(actionIndex)); + chips.add(new AssistantChip(AssistantChip.Type.BUTTON_HAIRLINE, icon, text, disabled, + sticky, identifier, () -> safeNativeOnCancelButtonClicked(actionIndex))); } /** * Adds a close action button to the chip list, which shuts down Autofill Assistant. */ @CalledByNative - private AssistantChip createCloseButton( - int icon, String text, boolean disabled, boolean sticky, String identifier) { - return new AssistantChip(AssistantChip.Type.BUTTON_HAIRLINE, icon, text, disabled, sticky, - identifier, this::safeNativeOnCloseButtonClicked); - } - - @CalledByNative - private static void appendChipToList(List<AssistantChip> chips, AssistantChip chip) { - chips.add(chip); + private void addCloseButton(List<AssistantChip> chips, int icon, String text, boolean disabled, + boolean sticky, String identifier) { + chips.add(new AssistantChip(AssistantChip.Type.BUTTON_HAIRLINE, icon, text, disabled, + sticky, identifier, this::safeNativeOnCloseButtonClicked)); } @CalledByNative private void setActions(List<AssistantChip> chips) { - // TODO(b/144075373): Move this to AssistantCarouselModel. - getModel().getActionsModel().setChips(chips); + // TODO(b/144075373): Move this to AssistantCarouselModel and AssistantHeaderModel. Move + // header chip logic to native. + AssistantCarouselModel model = getModel().getActionsModel(); + model.setChips(chips); + setHeaderChip(chips); } @CalledByNative @@ -358,6 +358,19 @@ model.setChips(newChips); } + private void setHeaderChip(List<AssistantChip> chips) { + // The header chip is the first sticky chip found in the actions. + AssistantChip headerChip = null; + for (AssistantChip chip : chips) { + if (chip.isSticky()) { + headerChip = chip; + break; + } + } + + getModel().getHeaderModel().set(AssistantHeaderModel.CHIP, headerChip); + } + @CalledByNative private void setViewportMode(@AssistantViewportMode int mode) { mCoordinator.getBottomBarCoordinator().setViewportMode(mode);
diff --git a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/carousel/AssistantChipAdapter.java b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/carousel/AssistantChipAdapter.java index f449346..4ce5656 100644 --- a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/carousel/AssistantChipAdapter.java +++ b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/carousel/AssistantChipAdapter.java
@@ -22,7 +22,7 @@ public class AssistantChipAdapter extends RecyclerView.Adapter<AssistantChipViewHolder> { private final List<AssistantChip> mChips = new ArrayList<>(); - public void setChips(List<AssistantChip> chips) { + void setChips(List<AssistantChip> chips) { DiffUtil.DiffResult diffResult = DiffUtil.calculateDiff(new DiffUtil.Callback() { @Override public int getOldListSize() {
diff --git a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/header/AssistantHeaderCoordinator.java b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/header/AssistantHeaderCoordinator.java index 7f97029f..7653718e 100644 --- a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/header/AssistantHeaderCoordinator.java +++ b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/header/AssistantHeaderCoordinator.java
@@ -5,19 +5,13 @@ package org.chromium.chrome.browser.autofill_assistant.header; import android.content.Context; -import android.graphics.Rect; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; - import org.chromium.chrome.autofill_assistant.R; import org.chromium.chrome.browser.autofill_assistant.AutofillAssistantUiController; -import org.chromium.chrome.browser.autofill_assistant.carousel.AssistantChipAdapter; import org.chromium.chrome.browser.autofill_assistant.header.AssistantHeaderViewBinder.ViewHolder; import org.chromium.chrome.browser.signin.DisplayableProfileData; import org.chromium.chrome.browser.signin.IdentityServicesProvider; @@ -38,7 +32,6 @@ private final ImageView mProfileView; private final String mSignedInAccountName; private final ViewHolder mViewHolder; - private final RecyclerView mChipsContainer; public AssistantHeaderCoordinator(Context context, AssistantHeaderModel model) { // Create the poodle and insert it before the status message. We have to create a view @@ -63,52 +56,8 @@ identityManager.getPrimaryAccountInfo(ConsentLevel.SYNC)); setupProfileImage(); - mChipsContainer = new RecyclerView(context); - final int innerChipSpacing = context.getResources().getDimensionPixelSize( - R.dimen.autofill_assistant_actions_spacing); - mChipsContainer.addItemDecoration(new RecyclerView.ItemDecoration() { - @Override - public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, - @NonNull RecyclerView parent, @NonNull RecyclerView.State state) { - outRect.top = 0; - outRect.bottom = 0; - - if (state.getItemCount() <= 1) { - return; - } - - // If old position != NO_POSITION, it means the carousel is being animated and we - // should use that position in our logic. - int position = parent.getChildAdapterPosition(view); - RecyclerView.ViewHolder viewHolder = parent.getChildViewHolder(view); - if (viewHolder != null && viewHolder.getOldPosition() != RecyclerView.NO_POSITION) { - position = viewHolder.getOldPosition(); - } - - if (position == RecyclerView.NO_POSITION) { - return; - } - - outRect.left = position == 0 ? 0 : innerChipSpacing; - outRect.right = 0; - } - }); - - AssistantChipAdapter chipAdapter = new AssistantChipAdapter(); - mChipsContainer.setAdapter(chipAdapter); - LinearLayoutManager layoutManager = new LinearLayoutManager(context); - layoutManager.setOrientation(LinearLayoutManager.HORIZONTAL); - mChipsContainer.setLayoutManager(layoutManager); - mView.setPadding(mChipsContainer.getPaddingLeft(), mChipsContainer.getPaddingTop(), - context.getResources().getDimensionPixelSize( - R.dimen.autofill_assistant_profile_icon_padding), - mChipsContainer.getPaddingBottom()); - ViewGroup topContainer = mView.findViewById(R.id.header_top_container); - topContainer.addView(mChipsContainer); - // Bind view and mediator through the model. - mViewHolder = - new AssistantHeaderViewBinder.ViewHolder(context, mView, poodle, mChipsContainer); + mViewHolder = new AssistantHeaderViewBinder.ViewHolder(context, mView, poodle); AssistantHeaderViewBinder viewBinder = new AssistantHeaderViewBinder(); PropertyModelChangeProcessor.create(model, mViewHolder, viewBinder); @@ -128,11 +77,6 @@ return mView; } - /** Returns the view containing the chips. */ - public View getCarouselView() { - return mChipsContainer; - } - /** * Cleanup resources when this goes out of scope. */
diff --git a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/header/AssistantHeaderModel.java b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/header/AssistantHeaderModel.java index 7c86cc3..1fc9fc8 100644 --- a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/header/AssistantHeaderModel.java +++ b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/header/AssistantHeaderModel.java
@@ -4,8 +4,6 @@ package org.chromium.chrome.browser.autofill_assistant.header; -import android.support.annotation.VisibleForTesting; - import org.chromium.base.annotations.CalledByNative; import org.chromium.base.annotations.JNINamespace; import org.chromium.chrome.browser.autofill_assistant.carousel.AssistantChip; @@ -20,9 +18,6 @@ */ @JNINamespace("autofill_assistant") public class AssistantHeaderModel extends PropertyModel { - public static final WritableObjectPropertyKey<List<AssistantChip>> CHIPS = - new WritableObjectPropertyKey<>(); - public static final WritableObjectPropertyKey<String> STATUS_MESSAGE = new WritableObjectPropertyKey<>(); @@ -50,7 +45,10 @@ public static final WritableObjectPropertyKey<Runnable> FEEDBACK_BUTTON_CALLBACK = new WritableObjectPropertyKey<>(); - public static final WritableBooleanPropertyKey CHIPS_VISIBLE = new WritableBooleanPropertyKey(); + public static final WritableObjectPropertyKey<AssistantChip> CHIP = + new WritableObjectPropertyKey<>(); + + public static final WritableBooleanPropertyKey CHIP_VISIBLE = new WritableBooleanPropertyKey(); public static final WritableBooleanPropertyKey DISABLE_ANIMATIONS_FOR_TESTING = new WritableBooleanPropertyKey(); @@ -58,8 +56,7 @@ public AssistantHeaderModel() { super(STATUS_MESSAGE, BUBBLE_MESSAGE, PROGRESS, PROGRESS_ACTIVE_STEP, PROGRESS_BAR_ERROR, PROGRESS_VISIBLE, USE_STEP_PROGRESS_BAR, STEP_PROGRESS_BAR_ICONS, SPIN_POODLE, - FEEDBACK_BUTTON_CALLBACK, CHIPS, CHIPS_VISIBLE, DISABLE_ANIMATIONS_FOR_TESTING); - set(CHIPS, new ArrayList<>()); + FEEDBACK_BUTTON_CALLBACK, CHIP, CHIP_VISIBLE, DISABLE_ANIMATIONS_FOR_TESTING); } @CalledByNative @@ -130,16 +127,4 @@ private void setDisableAnimations(boolean disableAnimations) { set(DISABLE_ANIMATIONS_FOR_TESTING, disableAnimations); } - - @CalledByNative - @VisibleForTesting - public void setChips(List<AssistantChip> chips) { - // Move last chip (cancel) to first position. For legacy reasons, native builds this list - // such that the cancel chip is last, but the regular carousel will show it in the left-most - // position and the header should mirror this. - if (chips.size() > 1) { - chips.add(0, chips.remove(chips.size() - 1)); - } - set(CHIPS, chips); - } }
diff --git a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/header/AssistantHeaderViewBinder.java b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/header/AssistantHeaderViewBinder.java index e3cc10c..c5941419 100644 --- a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/header/AssistantHeaderViewBinder.java +++ b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/header/AssistantHeaderViewBinder.java
@@ -11,12 +11,11 @@ import android.widget.TextView; import androidx.annotation.Nullable; -import androidx.recyclerview.widget.DefaultItemAnimator; -import androidx.recyclerview.widget.RecyclerView; import org.chromium.chrome.autofill_assistant.R; import org.chromium.chrome.browser.autofill_assistant.AssistantTextUtils; -import org.chromium.chrome.browser.autofill_assistant.carousel.AssistantChipAdapter; +import org.chromium.chrome.browser.autofill_assistant.carousel.AssistantChip; +import org.chromium.chrome.browser.autofill_assistant.carousel.AssistantChipViewHolder; import org.chromium.chrome.browser.settings.SettingsLauncher; import org.chromium.chrome.browser.settings.SettingsLauncherImpl; import org.chromium.chrome.browser.sync.settings.SyncAndServicesSettings; @@ -46,12 +45,12 @@ final AssistantStepProgressBar mStepProgressBar; final View mProfileIconView; final PopupMenu mProfileIconMenu; - final RecyclerView mChipsContainer; + @Nullable + AssistantChipViewHolder mChip; @Nullable TextBubble mTextBubble; - ViewHolder(Context context, ViewGroup headerView, AnimatedPoodle poodle, - RecyclerView chipsContainer) { + ViewHolder(Context context, ViewGroup headerView, AnimatedPoodle poodle) { mContext = context; mPoodle = poodle; mHeader = headerView; @@ -63,7 +62,6 @@ mProfileIconMenu = new PopupMenu(context, mProfileIconView); mProfileIconMenu.inflate(R.menu.profile_icon_menu); mProfileIconView.setOnClickListener(unusedView -> mProfileIconMenu.show()); - mChipsContainer = chipsContainer; } void disableAnimations(boolean disable) { @@ -72,8 +70,6 @@ // Hiding the animated poodle seems to be the easiest way to disable its animation since // {@link LogoView#setAnimationEnabled(boolean)} is private. mPoodle.getView().setVisibility(View.INVISIBLE); - ((DefaultItemAnimator) mChipsContainer.getItemAnimator()) - .setSupportsChangeAnimations(!disable); } void updateProgressBarVisibility(boolean visible, boolean useStepProgressBar) { @@ -114,13 +110,11 @@ view.mPoodle.setSpinEnabled(model.get(AssistantHeaderModel.SPIN_POODLE)); } else if (AssistantHeaderModel.FEEDBACK_BUTTON_CALLBACK == propertyKey) { setProfileMenuListener(view, model.get(AssistantHeaderModel.FEEDBACK_BUTTON_CALLBACK)); - } else if (AssistantHeaderModel.CHIPS == propertyKey) { - view.mChipsContainer.invalidateItemDecorations(); - ((AssistantChipAdapter) view.mChipsContainer.getAdapter()) - .setChips(model.get(AssistantHeaderModel.CHIPS)); - maybeShowChips(model, view); - } else if (AssistantHeaderModel.CHIPS_VISIBLE == propertyKey) { - maybeShowChips(model, view); + } else if (AssistantHeaderModel.CHIP == propertyKey) { + bindChip(view, model.get(AssistantHeaderModel.CHIP)); + maybeShowChip(model, view); + } else if (AssistantHeaderModel.CHIP_VISIBLE == propertyKey) { + maybeShowChip(model, view); } else if (AssistantHeaderModel.BUBBLE_MESSAGE == propertyKey) { showOrDismissBubble(model, view); } else if (AssistantHeaderModel.DISABLE_ANIMATIONS_FOR_TESTING == propertyKey) { @@ -130,18 +124,45 @@ } } - private void maybeShowChips(AssistantHeaderModel model, ViewHolder view) { - if (model.get(AssistantHeaderModel.CHIPS_VISIBLE) - && !model.get(AssistantHeaderModel.CHIPS).isEmpty()) { - view.mChipsContainer.setVisibility(View.VISIBLE); + private void maybeShowChip(AssistantHeaderModel model, ViewHolder view) { + if (model.get(AssistantHeaderModel.CHIP_VISIBLE) + && model.get(AssistantHeaderModel.CHIP) != null) { + view.mChip.getView().setVisibility(View.VISIBLE); view.mProfileIconView.setVisibility(View.GONE); } else { - view.mChipsContainer.setVisibility(View.GONE); + if (view.mChip != null) { + view.mChip.getView().setVisibility(View.GONE); + } view.mProfileIconView.setVisibility(View.VISIBLE); } } + private void bindChip(ViewHolder view, @Nullable AssistantChip chip) { + if (chip == null) { + return; + } + + int viewType = AssistantChipViewHolder.getViewType(chip); + + // If there is already a chip in the header but with incompatible type, remove it. + ViewGroup parent = (ViewGroup) view.mStatusMessage.getParent(); + if (view.mChip != null && view.mChip.getType() != viewType) { + parent.removeView(view.mChip.getView()); + view.mChip = null; + } + + // If there is no chip already in the header, create one and add it at the end of the + // header. + if (view.mChip == null) { + view.mChip = AssistantChipViewHolder.create(view.mHeader, viewType); + parent.addView(view.mChip.getView()); + } + + // Bind the chip to the view. + view.mChip.bind(chip); + } + private void setProfileMenuListener(ViewHolder view, @Nullable Runnable feedbackCallback) { view.mProfileIconMenu.setOnMenuItemClickListener(item -> { int itemId = item.getItemId();
diff --git a/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantAccessibilityIntegrationTest.java b/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantAccessibilityIntegrationTest.java index ef1b9953..32fdce4 100644 --- a/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantAccessibilityIntegrationTest.java +++ b/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantAccessibilityIntegrationTest.java
@@ -40,6 +40,7 @@ import org.junit.runner.RunWith; import org.chromium.base.test.util.CommandLineFlags; +import org.chromium.base.test.util.DisabledTest; import org.chromium.chrome.autofill_assistant.R; import org.chromium.chrome.browser.autofill_assistant.proto.ActionProto; import org.chromium.chrome.browser.autofill_assistant.proto.ChipProto; @@ -192,6 +193,7 @@ @Test @MediumTest + @DisabledTest(message = "Flaky test. crbug.com/1114867") public void testBottomSheetListensToAccessibilityChanges() throws Exception { ArrayList<ActionProto> list = new ArrayList<>();
diff --git a/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantBottomsheetTest.java b/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantBottomsheetTest.java index 2e61a5f..b2d652a8 100644 --- a/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantBottomsheetTest.java +++ b/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantBottomsheetTest.java
@@ -409,6 +409,7 @@ @Test @MediumTest + @DisabledTest(message = "Flaky test. crbug.com/1114818") public void testBottomSheetAutoCollapseAndExpand() { ArrayList<ActionProto> list = new ArrayList<>(); // Prompt.
diff --git a/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantHeaderUiTest.java b/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantHeaderUiTest.java index cad8a5de..9a19708 100644 --- a/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantHeaderUiTest.java +++ b/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantHeaderUiTest.java
@@ -7,7 +7,6 @@ import static androidx.test.espresso.Espresso.onView; import static androidx.test.espresso.action.ViewActions.click; import static androidx.test.espresso.assertion.PositionAssertions.isRightOf; -import static androidx.test.espresso.assertion.ViewAssertions.doesNotExist; import static androidx.test.espresso.assertion.ViewAssertions.matches; import static androidx.test.espresso.matcher.ViewMatchers.isDescendantOfA; import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed; @@ -53,9 +52,6 @@ import org.chromium.components.browser_ui.widget.MaterialProgressBar; import org.chromium.content_public.browser.test.util.TestThreadUtils; -import java.util.ArrayList; -import java.util.List; - /** * Tests for the Autofill Assistant header. */ @@ -210,17 +206,15 @@ chipText, /* disabled= */ false, /* sticky= */ false, "", () -> {}); // Set the header chip without displaying it. - List<AssistantChip> chips = new ArrayList<>(); - chips.add(chip); - TestThreadUtils.runOnUiThreadBlocking(() -> model.setChips(chips)); + TestThreadUtils.runOnUiThreadBlocking(() -> model.set(AssistantHeaderModel.CHIP, chip)); Matcher<View> chipMatcher = allOf(isDescendantOfA(is(coordinator.getView())), withText(chipText)); - onView(chipMatcher).check(doesNotExist()); + onView(chipMatcher).check(matches(not(isDisplayed()))); // Show the chip TestThreadUtils.runOnUiThreadBlocking( - () -> model.set(AssistantHeaderModel.CHIPS_VISIBLE, true)); + () -> model.set(AssistantHeaderModel.CHIP_VISIBLE, true)); onView(chipMatcher) .check(matches(isDisplayed())) .check(isRightOf(withId(R.id.status_message)));
diff --git a/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/InstantStartTest.java b/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/InstantStartTest.java index 12cca848..d3cbf76 100644 --- a/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/InstantStartTest.java +++ b/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/InstantStartTest.java
@@ -42,7 +42,6 @@ import org.junit.Assert; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.chromium.base.Callback; @@ -122,9 +121,6 @@ public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule(); @Rule - public TestRule mProcessor = new Features.InstrumentationProcessor(); - - @Rule public ChromeRenderTestRule mRenderTestRule = ChromeRenderTestRule.Builder.withPublicCorpus().build();
diff --git a/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceLayoutPerfTest.java b/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceLayoutPerfTest.java index 91e1b70f..4b5ea9c 100644 --- a/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceLayoutPerfTest.java +++ b/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceLayoutPerfTest.java
@@ -24,7 +24,6 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.chromium.base.Log; @@ -82,9 +81,6 @@ @Rule public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule(); - @Rule - public TestRule mProcessor = new Features.InstrumentationProcessor(); - @SuppressWarnings("FieldCanBeLocal") private EmbeddedTestServer mTestServer; private StartSurfaceLayout mStartSurfaceLayout;
diff --git a/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceLayoutTest.java b/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceLayoutTest.java index 9f363f7..65cb0ee 100644 --- a/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceLayoutTest.java +++ b/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceLayoutTest.java
@@ -77,7 +77,6 @@ import org.junit.ClassRule; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.chromium.base.Callback; @@ -181,9 +180,6 @@ public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule(); @Rule - public TestRule mProcessor = new Features.InstrumentationProcessor(); - - @Rule public ChromeRenderTestRule mRenderTestRule = ChromeRenderTestRule.Builder.withPublicCorpus().build();
diff --git a/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceTest.java b/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceTest.java index d3f6edb9..cb0100e4 100644 --- a/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceTest.java +++ b/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceTest.java
@@ -59,7 +59,6 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.chromium.base.metrics.RecordHistogram; @@ -92,7 +91,6 @@ import org.chromium.chrome.test.ChromeTabbedActivityTestRule; import org.chromium.chrome.test.util.ChromeTabUtils; import org.chromium.chrome.test.util.OverviewModeBehaviorWatcher; -import org.chromium.chrome.test.util.browser.Features; import org.chromium.chrome.test.util.browser.Features.EnableFeatures; import org.chromium.content_public.browser.test.util.CriteriaHelper; import org.chromium.content_public.browser.test.util.TestThreadUtils; @@ -134,9 +132,6 @@ @Rule public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule(); - @Rule - public TestRule mProcessor = new Features.InstrumentationProcessor(); - private final boolean mUseInstantStart; private final boolean mImmediateReturn;
diff --git a/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/ConditionalTabStripTest.java b/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/ConditionalTabStripTest.java index 49accfe1..72e78e3 100644 --- a/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/ConditionalTabStripTest.java +++ b/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/ConditionalTabStripTest.java
@@ -49,7 +49,6 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.chromium.base.metrics.RecordHistogram; @@ -114,9 +113,6 @@ @Rule public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule(); - @Rule - public TestRule mProcessor = new Features.InstrumentationProcessor(); - @Before public void setUp() { // For this test suite, the session time is set to be 0 by default so that we can start a
diff --git a/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGridAccessibilityHelperTest.java b/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGridAccessibilityHelperTest.java index ed51acb..9881f0e9 100644 --- a/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGridAccessibilityHelperTest.java +++ b/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGridAccessibilityHelperTest.java
@@ -33,7 +33,6 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.chromium.base.test.util.CommandLineFlags; @@ -78,9 +77,6 @@ @Rule public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule(); - @Rule - public TestRule mProcessor = new Features.InstrumentationProcessor(); - @Before public void setUp() { mActivityTestRule.startMainActivityFromLauncher();
diff --git a/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogTest.java b/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogTest.java index 457664d..67977e8 100644 --- a/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogTest.java +++ b/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogTest.java
@@ -69,7 +69,6 @@ import org.junit.BeforeClass; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.chromium.base.test.params.ParameterAnnotations; @@ -124,9 +123,6 @@ ChromeRenderTestRule.Builder.withPublicCorpus().build(); @Rule - public TestRule mProcessor = new Features.InstrumentationProcessor(); - - @Rule public IntentsTestRule<ChromeActivity> mShareActivityTestRule = new IntentsTestRule<>(ChromeActivity.class, false, false);
diff --git a/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGridIphTest.java b/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGridIphTest.java index 8e4a3d1..ea73f959 100644 --- a/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGridIphTest.java +++ b/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGridIphTest.java
@@ -48,7 +48,6 @@ import org.junit.ClassRule; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.chromium.base.test.util.CommandLineFlags; @@ -105,9 +104,6 @@ public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule(); @Rule - public TestRule mProcessor = new Features.InstrumentationProcessor(); - - @Rule public ChromeRenderTestRule mRenderTestRule = ChromeRenderTestRule.Builder.withPublicCorpus().build();
diff --git a/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupPopupUiTest.java b/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupPopupUiTest.java index 3a7a5710..c24ed9e 100644 --- a/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupPopupUiTest.java +++ b/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupPopupUiTest.java
@@ -39,7 +39,6 @@ import org.junit.After; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.chromium.base.test.util.CommandLineFlags; @@ -82,9 +81,6 @@ @Rule public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule(); - @Rule - public TestRule mProcessor = new Features.InstrumentationProcessor(); - @After public void tearDown() { mActivityTestRule.getActivity().setRequestedOrientation(
diff --git a/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiTest.java b/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiTest.java index 6e530d97..52eedcf 100644 --- a/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiTest.java +++ b/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiTest.java
@@ -31,7 +31,6 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.chromium.base.test.util.CommandLineFlags; @@ -66,9 +65,6 @@ public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule(); @Rule - public TestRule mProcessor = new Features.InstrumentationProcessor(); - - @Rule public ChromeRenderTestRule mRenderTestRule = ChromeRenderTestRule.Builder.withPublicCorpus().build();
diff --git a/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabSelectionEditorTest.java b/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabSelectionEditorTest.java index 80b8fd5..3cb24c7 100644 --- a/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabSelectionEditorTest.java +++ b/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabSelectionEditorTest.java
@@ -14,7 +14,6 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.chromium.base.BaseSwitches; @@ -35,7 +34,6 @@ import org.chromium.chrome.test.ChromeTabbedActivityTestRule; import org.chromium.chrome.test.util.ChromeRenderTestRule; import org.chromium.chrome.test.util.ChromeTabUtils; -import org.chromium.chrome.test.util.browser.Features; import org.chromium.chrome.test.util.browser.Features.DisableFeatures; import org.chromium.chrome.test.util.browser.Features.EnableFeatures; import org.chromium.content_public.browser.test.util.CriteriaHelper; @@ -60,9 +58,6 @@ public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule(); @Rule - public TestRule mProcessor = new Features.InstrumentationProcessor(); - - @Rule public ChromeRenderTestRule mRenderTestRule = ChromeRenderTestRule.Builder.withPublicCorpus().build();
diff --git a/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabSuggestionMessageCardTest.java b/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabSuggestionMessageCardTest.java index a1da2e03..49a35fb 100644 --- a/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabSuggestionMessageCardTest.java +++ b/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabSuggestionMessageCardTest.java
@@ -24,7 +24,6 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.chromium.base.test.util.CommandLineFlags; @@ -62,9 +61,6 @@ @Rule public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule(); - @Rule - public TestRule mProcessor = new Features.InstrumentationProcessor(); - private final TabSelectionEditorTestingRobot mTabSelectionEditorTestingRobot = new TabSelectionEditorTestingRobot(); private final String mClosingSuggestionMessage =
diff --git a/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMultiWindowTest.java b/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMultiWindowTest.java index d4c0bc3..d3766b19 100644 --- a/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMultiWindowTest.java +++ b/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMultiWindowTest.java
@@ -29,7 +29,6 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.chromium.base.test.util.CommandLineFlags; @@ -61,9 +60,6 @@ @Rule public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule(); - @Rule - public TestRule mProcessor = new Features.InstrumentationProcessor(); - @Before public void setUp() { mActivityTestRule.startMainActivityFromLauncher();
diff --git a/chrome/android/java/res/layout/incognito_description_layout.xml b/chrome/android/java/res/layout/incognito_description_layout.xml index c701378..6462690d 100644 --- a/chrome/android/java/res/layout/incognito_description_layout.xml +++ b/chrome/android/java/res/layout/incognito_description_layout.xml
@@ -63,6 +63,8 @@ android:id="@+id/learn_more" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:minHeight="@dimen/min_touch_target_size" + android:gravity="center_vertical" android:text="@string/learn_more" android:textAppearance="@style/TextAppearance.IncognitoNewTabLearnMoreLinkModern" app:leading="@dimen/text_size_medium_leading" /> @@ -74,7 +76,6 @@ android:layout_gravity="center" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginTop="24dp" android:padding="16dp"> <ImageView
diff --git a/chrome/android/java/res/layout/new_tab_page_snippets_expandable_header_with_menu.xml b/chrome/android/java/res/layout/new_tab_page_snippets_expandable_header_with_menu.xml index 42eccbd..324a9d5f 100644 --- a/chrome/android/java/res/layout/new_tab_page_snippets_expandable_header_with_menu.xml +++ b/chrome/android/java/res/layout/new_tab_page_snippets_expandable_header_with_menu.xml
@@ -24,7 +24,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" - android:textAppearance="@style/TextAppearance.TextSmall.Secondary" + android:textAppearance="@style/TextAppearance.TextAccentMediumThick.Secondary" android:textDirection="locale" /> <org.chromium.components.browser_ui.widget.listmenu.ListMenuButton
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/background_task_scheduler/OWNERS b/chrome/android/java/src/org/chromium/chrome/browser/background_task_scheduler/OWNERS index 1b0fad7..12400e3 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/background_task_scheduler/OWNERS +++ b/chrome/android/java/src/org/chromium/chrome/browser/background_task_scheduler/OWNERS
@@ -1,4 +1 @@ -mheikal@chromium.org -hanxi@chromium.org - file://components/background_task_scheduler/OWNERS
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarkswidget/OWNERS b/chrome/android/java/src/org/chromium/chrome/browser/bookmarkswidget/OWNERS new file mode 100644 index 0000000..50bb1fa7b --- /dev/null +++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarkswidget/OWNERS
@@ -0,0 +1 @@ +file://chrome/android/java/src/org/chromium/chrome/browser/bookmarks/OWNERS
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/IncognitoDescriptionView.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/IncognitoDescriptionView.java index 50d55a5..c7872ee 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/IncognitoDescriptionView.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/IncognitoDescriptionView.java
@@ -55,6 +55,7 @@ private static final int BULLETPOINTS_HORIZONTAL_SPACING_DP = 40; private static final int CONTENT_WIDTH_DP = 600; private static final int WIDE_LAYOUT_THRESHOLD_DP = 720; + private static final int COOKIES_CONTROL_MARGIN_TOP_DP = 24; /** Default constructor needed to inflate via XML. */ public IncognitoDescriptionView(Context context, AttributeSet attrs) { @@ -108,7 +109,7 @@ mSubtitle = findViewById(R.id.new_tab_incognito_subtitle); mLearnMore = findViewById(R.id.learn_more); mParagraphs = new TextView[] {mSubtitle, findViewById(R.id.new_tab_incognito_features), - findViewById(R.id.new_tab_incognito_warning), mLearnMore}; + findViewById(R.id.new_tab_incognito_warning)}; mBulletpointsContainer = findViewById(R.id.new_tab_incognito_bulletpoints_container); mCookieControlsCard = findViewById(R.id.cookie_controls_card); mCookieControlsToggle = findViewById(R.id.cookie_controls_card_toggle); @@ -256,6 +257,20 @@ paragraph.setLayoutParams(paragraph.getLayoutParams()); // Apply the new layout. } + // Set up margins of learn more link to maintain a constant space between link text + // and other views. + int innerSpacing = (int) ((getContext().getResources().getDimensionPixelSize( + R.dimen.min_touch_target_size) + - mLearnMore.getTextSize()) + / 2); + int learnMoreSpacingTop = spacingPx - innerSpacing; + int learnMoreSpacingBottom = + dpToPx(getContext(), COOKIES_CONTROL_MARGIN_TOP_DP) - innerSpacing; + LinearLayout.LayoutParams params = (LayoutParams) mLearnMore.getLayoutParams(); + params.setMargins( + 0, Math.max(learnMoreSpacingTop, 0), 0, Math.max(learnMoreSpacingBottom, 0)); + mLearnMore.requestLayout(); + ((LinearLayout.LayoutParams) mHeader.getLayoutParams()).setMargins(0, spacingPx, 0, 0); mHeader.setLayoutParams(mHeader.getLayoutParams()); // Apply the new layout. }
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerTest.java index dca5f17..95a647a 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerTest.java
@@ -24,7 +24,6 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.chromium.base.MathUtils; @@ -74,9 +73,6 @@ @Rule public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule(); - @Rule - public TestRule mProcessor = new Features.InstrumentationProcessor(); - private long mLastDownTime; private TabModelSelector mTabModelSelector;
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/DetachedResourceRequestTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/DetachedResourceRequestTest.java index b840207..69f30b1 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/DetachedResourceRequestTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/DetachedResourceRequestTest.java
@@ -25,7 +25,6 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.chromium.base.task.PostTask; @@ -65,8 +64,6 @@ public class DetachedResourceRequestTest { @Rule public CustomTabActivityTestRule mCustomTabActivityTestRule = new CustomTabActivityTestRule(); - @Rule - public TestRule mProcessor = new Features.InstrumentationProcessor(); private CustomTabsConnection mConnection; private Context mContext;
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/download/DownloadInfoBarControllerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/download/DownloadInfoBarControllerTest.java index ad1ee2e..f1e8f4a 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/download/DownloadInfoBarControllerTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/download/DownloadInfoBarControllerTest.java
@@ -11,13 +11,12 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; -import org.chromium.base.test.BaseJUnit4ClassRunner; import org.chromium.base.test.util.Feature; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.test.ChromeBrowserTestRule; +import org.chromium.chrome.test.ChromeJUnit4ClassRunner; import org.chromium.chrome.test.util.browser.Features; import org.chromium.components.offline_items_collection.LegacyHelpers; import org.chromium.components.offline_items_collection.OfflineItem; @@ -33,15 +32,12 @@ * Test class to validate that the {@link DownloadInfoBarController} correctly represents the state * of the downloads in the current chrome session. */ -@RunWith(BaseJUnit4ClassRunner.class) +@RunWith(ChromeJUnit4ClassRunner.class) @Features.EnableFeatures(ChromeFeatureList.DOWNLOAD_PROGRESS_INFOBAR) public class DownloadInfoBarControllerTest { @Rule public final ChromeBrowserTestRule mBrowserTestRule = new ChromeBrowserTestRule(); - @Rule - public TestRule mProcessor = new Features.InstrumentationProcessor(); - private static final String MESSAGE_SPEEDING_UP = "Speeding up your download."; private static final String MESSAGE_DOWNLOADING_FILE = "Downloading file."; private static final String MESSAGE_DOWNLOADING_TWO_FILES = "Downloading 2 files.";
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/download/DownloadManagerServiceTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/download/DownloadManagerServiceTest.java index 060f3f9..3bcc9a6c 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/download/DownloadManagerServiceTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/download/DownloadManagerServiceTest.java
@@ -17,16 +17,15 @@ import org.junit.Assert; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; -import org.chromium.base.test.BaseJUnit4ClassRunner; import org.chromium.base.test.util.DisabledTest; import org.chromium.base.test.util.Feature; import org.chromium.base.test.util.UrlUtils; import org.chromium.chrome.browser.download.DownloadManagerServiceTest.MockDownloadNotifier.MethodID; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.test.ChromeBrowserTestRule; +import org.chromium.chrome.test.ChromeJUnit4ClassRunner; import org.chromium.chrome.test.util.browser.Features; import org.chromium.components.offline_items_collection.ContentId; import org.chromium.components.offline_items_collection.OfflineItem.Progress; @@ -47,12 +46,10 @@ /** * Test for DownloadManagerService. */ -@RunWith(BaseJUnit4ClassRunner.class) +@RunWith(ChromeJUnit4ClassRunner.class) public class DownloadManagerServiceTest { @Rule public final ChromeBrowserTestRule mBrowserTestRule = new ChromeBrowserTestRule(); - @Rule - public TestRule mProcessor = new Features.InstrumentationProcessor(); private static final int UPDATE_DELAY_FOR_TEST = 1; private static final int DELAY_BETWEEN_CALLS = 10; private static final int LONG_UPDATE_DELAY_FOR_TEST = 500;
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/homepage/settings/HomepageSettingsFragmentTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/homepage/settings/HomepageSettingsFragmentTest.java index 385661a..33d53bf 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/homepage/settings/HomepageSettingsFragmentTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/homepage/settings/HomepageSettingsFragmentTest.java
@@ -12,7 +12,6 @@ import org.junit.Assert; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.chromium.base.test.util.Feature; @@ -94,9 +93,6 @@ @Rule public HomepageTestRule mHomepageTestRule = new HomepageTestRule(); - @Rule - public TestRule mFeatureProcessor = new Features.InstrumentationProcessor(); - private ChromeSwitchPreference mSwitch; private RadioButtonGroupHomepagePreference mRadioGroupPreference; private TextMessagePreference mManagedText;
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/homepage/settings/HomepageSettingsFragmentWithEditorTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/homepage/settings/HomepageSettingsFragmentWithEditorTest.java index d0dfff7..7e0dbf8 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/homepage/settings/HomepageSettingsFragmentWithEditorTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/homepage/settings/HomepageSettingsFragmentWithEditorTest.java
@@ -10,15 +10,14 @@ import org.junit.Assert; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; -import org.chromium.base.test.BaseJUnit4ClassRunner; import org.chromium.base.test.util.Feature; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.homepage.HomepageManager; import org.chromium.chrome.browser.homepage.HomepageTestRule; import org.chromium.chrome.browser.settings.SettingsActivityTestRule; +import org.chromium.chrome.test.ChromeJUnit4ClassRunner; import org.chromium.chrome.test.util.browser.Features; import org.chromium.components.browser_ui.settings.ChromeSwitchPreference; import org.chromium.components.embedder_support.util.UrlConstants; @@ -33,7 +32,7 @@ * @see HomepageSettingsFragmentTest Tests when ChromeFeatureList#HOMEPAGE_SETTINGS_UI_CONVERSION is * enabled. */ -@RunWith(BaseJUnit4ClassRunner.class) +@RunWith(ChromeJUnit4ClassRunner.class) // clang-format off @Features.DisableFeatures({ ChromeFeatureList.HOMEPAGE_SETTINGS_UI_CONVERSION, ChromeFeatureList.CHROME_DUET}) @@ -60,9 +59,6 @@ @Rule public HomepageTestRule mHomepageTestRule = new HomepageTestRule(); - @Rule - public TestRule mFeatureProcessor = new Features.InstrumentationProcessor(); - private ChromeSwitchPreference mSwitch; private Preference mHomepageEditor;
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/incognito/IncognitoCookieLeakageTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/incognito/IncognitoCookieLeakageTest.java index 0ce5771..dadc03e 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/incognito/IncognitoCookieLeakageTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/incognito/IncognitoCookieLeakageTest.java
@@ -16,7 +16,6 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.chromium.base.test.params.ParameterAnnotations.UseMethodParameter; @@ -34,7 +33,6 @@ import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.test.ChromeActivityTestRule; import org.chromium.chrome.test.ChromeJUnit4RunnerDelegate; -import org.chromium.chrome.test.util.browser.Features; import org.chromium.chrome.test.util.browser.Features.EnableFeatures; import org.chromium.content_public.browser.test.util.Criteria; import org.chromium.content_public.browser.test.util.CriteriaHelper; @@ -68,9 +66,6 @@ @Rule public CustomTabActivityTestRule mCustomTabActivityTestRule = new CustomTabActivityTestRule(); - @Rule - public TestRule mProcessor = new Features.InstrumentationProcessor(); - @Before public void setUp() throws TimeoutException { mTestServer = EmbeddedTestServer.createAndStartServer(InstrumentationRegistry.getContext());
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/incognito/IncognitoDownloadLeakageTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/incognito/IncognitoDownloadLeakageTest.java index 648274d..3165a2c 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/incognito/IncognitoDownloadLeakageTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/incognito/IncognitoDownloadLeakageTest.java
@@ -19,7 +19,6 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.chromium.base.test.params.ParameterAnnotations.UseMethodParameter; @@ -41,7 +40,6 @@ import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.test.ChromeActivityTestRule; import org.chromium.chrome.test.ChromeJUnit4RunnerDelegate; -import org.chromium.chrome.test.util.browser.Features; import org.chromium.chrome.test.util.browser.Features.EnableFeatures; import org.chromium.components.offline_items_collection.ContentId; import org.chromium.components.offline_items_collection.OfflineContentProvider; @@ -134,9 +132,6 @@ @Rule public CustomTabActivityTestRule mCustomTabActivityTestRule = new CustomTabActivityTestRule(); - @Rule - public TestRule mProcessor = new Features.InstrumentationProcessor(); - @Before public void setUp() throws Exception { mTestServer = EmbeddedTestServer.createAndStartServer(InstrumentationRegistry.getContext());
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/incognito/IncognitoHistoryLeakageTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/incognito/IncognitoHistoryLeakageTest.java index e480aca..dd0cc45 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/incognito/IncognitoHistoryLeakageTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/incognito/IncognitoHistoryLeakageTest.java
@@ -16,7 +16,6 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.chromium.base.test.params.ParameterAnnotations.UseMethodParameter; @@ -38,7 +37,6 @@ import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.test.ChromeActivityTestRule; import org.chromium.chrome.test.ChromeJUnit4RunnerDelegate; -import org.chromium.chrome.test.util.browser.Features; import org.chromium.chrome.test.util.browser.Features.EnableFeatures; import org.chromium.content_public.browser.NavigationEntry; import org.chromium.content_public.browser.NavigationHistory; @@ -74,9 +72,6 @@ @Rule public CustomTabActivityTestRule mCustomTabActivityTestRule = new CustomTabActivityTestRule(); - @Rule - public TestRule mProcessor = new Features.InstrumentationProcessor(); - @Before public void setUp() throws TimeoutException { mTestServer = EmbeddedTestServer.createAndStartServer(InstrumentationRegistry.getContext());
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/incognito/IncognitoPermissionLeakageTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/incognito/IncognitoPermissionLeakageTest.java index 0dd47957..5569034 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/incognito/IncognitoPermissionLeakageTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/incognito/IncognitoPermissionLeakageTest.java
@@ -24,7 +24,6 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.chromium.base.test.params.ParameterAnnotations.UseMethodParameter; @@ -44,7 +43,6 @@ import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.test.ChromeActivityTestRule; import org.chromium.chrome.test.ChromeJUnit4RunnerDelegate; -import org.chromium.chrome.test.util.browser.Features; import org.chromium.chrome.test.util.browser.Features.EnableFeatures; import org.chromium.chrome.test.util.browser.LocationSettingsTestUtil; import org.chromium.content_public.browser.test.util.Criteria; @@ -83,9 +81,6 @@ @Rule public CustomTabActivityTestRule mCustomTabActivityTestRule = new CustomTabActivityTestRule(); - @Rule - public TestRule mProcessor = new Features.InstrumentationProcessor(); - @Before public void setUp() throws TimeoutException { mTestServer = EmbeddedTestServer.createAndStartServer(InstrumentationRegistry.getContext());
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/incognito/IncognitoStorageLeakageTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/incognito/IncognitoStorageLeakageTest.java index 43256301..d0533d4d 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/incognito/IncognitoStorageLeakageTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/incognito/IncognitoStorageLeakageTest.java
@@ -16,7 +16,6 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.chromium.base.test.params.ParameterAnnotations.UseMethodParameter; @@ -33,7 +32,6 @@ import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.test.ChromeActivityTestRule; import org.chromium.chrome.test.ChromeJUnit4RunnerDelegate; -import org.chromium.chrome.test.util.browser.Features; import org.chromium.chrome.test.util.browser.Features.EnableFeatures; import org.chromium.content_public.browser.test.util.Criteria; import org.chromium.content_public.browser.test.util.CriteriaHelper; @@ -72,9 +70,6 @@ @Rule public CustomTabActivityTestRule mCustomTabActivityTestRule = new CustomTabActivityTestRule(); - @Rule - public TestRule mProcessor = new Features.InstrumentationProcessor(); - @Before public void setUp() throws TimeoutException { mTestServer = EmbeddedTestServer.createAndStartServer(InstrumentationRegistry.getContext());
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/IncognitoDescriptionViewRenderTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/IncognitoDescriptionViewRenderTest.java new file mode 100644 index 0000000..871fb2b --- /dev/null +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/IncognitoDescriptionViewRenderTest.java
@@ -0,0 +1,69 @@ +// Copyright 2020 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. + +package org.chromium.chrome.browser.ntp; + +import android.app.Activity; +import android.view.View; + +import androidx.test.filters.MediumTest; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.runner.RunWith; + +import org.chromium.base.test.params.ParameterAnnotations; +import org.chromium.base.test.params.ParameterAnnotations.UseRunnerDelegate; +import org.chromium.base.test.params.ParameterSet; +import org.chromium.base.test.params.ParameterizedRunner; +import org.chromium.base.test.util.Feature; +import org.chromium.chrome.R; +import org.chromium.chrome.test.ChromeJUnit4RunnerDelegate; +import org.chromium.chrome.test.util.ChromeRenderTestRule; +import org.chromium.content_public.browser.test.util.TestThreadUtils; +import org.chromium.ui.test.util.DummyUiActivityTestCase; +import org.chromium.ui.test.util.NightModeTestUtils; + +import java.io.IOException; +import java.util.List; + +/** + * Render test of incognito description in the incognito ntp. + */ +@RunWith(ParameterizedRunner.class) +@UseRunnerDelegate(ChromeJUnit4RunnerDelegate.class) +public class IncognitoDescriptionViewRenderTest extends DummyUiActivityTestCase { + @ParameterAnnotations.ClassParameter + private static List<ParameterSet> sClassParams = + new NightModeTestUtils.NightModeParams().getParameters(); + + @Rule + public ChromeRenderTestRule mRenderTestRule = + ChromeRenderTestRule.Builder.withPublicCorpus().build(); + + public IncognitoDescriptionViewRenderTest(boolean nightModeEnabled) { + NightModeTestUtils.setUpNightModeForDummyUiActivity(nightModeEnabled); + mRenderTestRule.setNightModeEnabled(nightModeEnabled); + } + + @Override + public void setUpTest() throws Exception { + super.setUpTest(); + TestThreadUtils.runOnUiThreadBlocking(() -> { + Activity activity = getActivity(); + activity.setContentView(R.layout.incognito_description_layout); + }); + } + + @Test + @MediumTest + @Feature({"RenderTest"}) + public void testRender_IncognitoDescriptionView() throws IOException { + View view = getActivity().findViewById(android.R.id.content); + TestThreadUtils.runOnUiThreadBlocking(() -> { + view.setBackgroundResource(R.color.ntp_bg_incognito); + }); + mRenderTestRule.render(view, "incognito_description_view"); + } +}
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/cards/promo/HomepagePromoTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/cards/promo/HomepagePromoTest.java index 6f68842..66d8d080 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/cards/promo/HomepagePromoTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/cards/promo/HomepagePromoTest.java
@@ -36,7 +36,6 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; @@ -110,8 +109,6 @@ new BasePartnerBrowserCustomizationIntegrationTestRule(); @Rule public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule(); - @Rule - public TestRule mProcessor = new Features.InstrumentationProcessor(); @Mock private Tracker mTracker;
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettingsTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettingsTest.java index f252824..13f335b 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettingsTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettingsTest.java
@@ -81,7 +81,6 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; @@ -89,7 +88,6 @@ import org.chromium.base.Callback; import org.chromium.base.CollectionUtil; import org.chromium.base.IntStringCallback; -import org.chromium.base.test.BaseJUnit4ClassRunner; import org.chromium.base.test.util.DisabledTest; import org.chromium.base.test.util.Feature; import org.chromium.base.test.util.ScalableTimeout; @@ -111,7 +109,7 @@ import org.chromium.chrome.browser.settings.SettingsLauncherImpl; import org.chromium.chrome.browser.sync.ProfileSyncService; import org.chromium.chrome.test.ChromeBrowserTestRule; -import org.chromium.chrome.test.util.browser.Features; +import org.chromium.chrome.test.ChromeJUnit4ClassRunner; import org.chromium.chrome.test.util.browser.Features.DisableFeatures; import org.chromium.chrome.test.util.browser.Features.EnableFeatures; import org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference; @@ -135,7 +133,7 @@ /** * Tests for the "Save Passwords" settings screen. */ -@RunWith(BaseJUnit4ClassRunner.class) +@RunWith(ChromeJUnit4ClassRunner.class) public class PasswordSettingsTest { private static final long UI_UPDATING_TIMEOUT_MS = 3000; @Mock @@ -145,9 +143,6 @@ public final ChromeBrowserTestRule mBrowserTestRule = new ChromeBrowserTestRule(); @Rule - public TestRule mProcessor = new Features.InstrumentationProcessor(); - - @Rule public IntentsTestRule<HistoryActivity> mHistoryActivityTestRule = new IntentsTestRule<>(HistoryActivity.class, false, false);
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/shape_detection/ShapeDetectionTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/shape_detection/ShapeDetectionTest.java index d3a95751..c55c016 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/shape_detection/ShapeDetectionTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/shape_detection/ShapeDetectionTest.java
@@ -25,6 +25,7 @@ import org.chromium.chrome.test.ChromeActivityTestRule; import org.chromium.chrome.test.ChromeJUnit4ClassRunner; import org.chromium.chrome.test.util.ChromeRestriction; +import org.chromium.chrome.test.util.ChromeTabUtils; import org.chromium.chrome.test.util.browser.TabTitleObserver; import org.chromium.content_public.browser.test.util.TestThreadUtils; import org.chromium.net.test.EmbeddedTestServer; @@ -92,8 +93,8 @@ mActivityTestRule.loadUrl( testServer.getURL("/chrome/test/data/android/text_detection.html")); titleObserver.waitForTitleUpdate(10); - - Assert.assertEquals(TEXT_TEST_EXPECTED_TAB_TITLE, tab.getTitle()); + Assert.assertEquals( + TEXT_TEST_EXPECTED_TAB_TITLE, ChromeTabUtils.getTitleOnUiThread(tab)); } finally { testServer.stopAndDestroyServer(); }
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/signin/AccountPickerBottomSheetTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/signin/AccountPickerBottomSheetTest.java index fcc90c79a..8bf90d8 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/signin/AccountPickerBottomSheetTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/signin/AccountPickerBottomSheetTest.java
@@ -85,10 +85,6 @@ /* fullName= */ null, /* givenName= */ null); @Rule - public final Features.InstrumentationProcessor mProcessor = - new Features.InstrumentationProcessor(); - - @Rule public final ChromeRenderTestRule mRenderTestRule = ChromeRenderTestRule.Builder.withPublicCorpus().setRevision(0).build();
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/tasks/ReturnToChromeTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/tasks/ReturnToChromeTest.java index b6509f16..e968f1f 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/tasks/ReturnToChromeTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/tasks/ReturnToChromeTest.java
@@ -25,7 +25,6 @@ import org.junit.Assert; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.chromium.base.ActivityState; @@ -58,7 +57,6 @@ import org.chromium.chrome.test.util.ApplicationTestUtils; import org.chromium.chrome.test.util.ChromeRenderTestRule; import org.chromium.chrome.test.util.ChromeTabUtils; -import org.chromium.chrome.test.util.browser.Features; import org.chromium.chrome.test.util.browser.Features.EnableFeatures; import org.chromium.components.embedder_support.util.UrlConstants; import org.chromium.content_public.browser.test.util.Criteria; @@ -100,9 +98,6 @@ public ChromeRenderTestRule mRenderTestRule = ChromeRenderTestRule.Builder.withPublicCorpus().build(); - @Rule - public TestRule mProcessor = new Features.InstrumentationProcessor(); - class ActivityInflationObserver implements ActivityStateListener, InflationObserver { @Override public void onActivityStateChange(Activity activity, @ActivityState int newState) {
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/toolbar/top/AdaptiveToolbarTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/toolbar/top/AdaptiveToolbarTest.java index c3ab2e0..d569feb 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/toolbar/top/AdaptiveToolbarTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/toolbar/top/AdaptiveToolbarTest.java
@@ -31,7 +31,6 @@ import org.junit.After; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.chromium.base.test.util.CommandLineFlags; @@ -69,9 +68,6 @@ @Rule public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule(); - @Rule - public TestRule mProcessor = new Features.InstrumentationProcessor(); - @After public void tearDown() { CachedFeatureFlags.setForTesting(ChromeFeatureList.TAB_GRID_LAYOUT_ANDROID, null);
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/background_task_scheduler/OWNERS b/chrome/android/junit/src/org/chromium/chrome/browser/background_task_scheduler/OWNERS new file mode 100644 index 0000000..046f66af --- /dev/null +++ b/chrome/android/junit/src/org/chromium/chrome/browser/background_task_scheduler/OWNERS
@@ -0,0 +1 @@ +file://chrome/android/java/src/org/chromium/chrome/browser/background_task_scheduler/OWNERS
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/download/DownloadResumptionSchedulerTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/download/DownloadResumptionSchedulerTest.java index 9e845e38..fedfd40c 100644 --- a/chrome/android/junit/src/org/chromium/chrome/browser/download/DownloadResumptionSchedulerTest.java +++ b/chrome/android/junit/src/org/chromium/chrome/browser/download/DownloadResumptionSchedulerTest.java
@@ -58,7 +58,7 @@ public MockitoRule mockitoRule = MockitoJUnit.rule(); @Rule - public TestRule mProcessor = new Features.InstrumentationProcessor(); + public TestRule mProcessor = new Features.JUnitProcessor(); @Before public void setUp() {
diff --git a/chrome/app/chrome_command_ids.h b/chrome/app/chrome_command_ids.h index 41ab7b4..da2209a 100644 --- a/chrome/app/chrome_command_ids.h +++ b/chrome/app/chrome_command_ids.h
@@ -411,6 +411,9 @@ #define IDC_CONTENT_CONTEXT_QUICK_ANSWERS_INLINE_QUERY 52414 #endif +// Tab Search +#define IDC_TAB_SEARCH 52500 + // NOTE: The last valid command value is 57343 (0xDFFF) // See http://msdn.microsoft.com/en-us/library/t2zechd4(VS.71).aspx
diff --git a/chrome/app/printing_strings.grdp b/chrome/app/printing_strings.grdp index ce48ae6..17ddb65 100644 --- a/chrome/app/printing_strings.grdp +++ b/chrome/app/printing_strings.grdp
@@ -317,10 +317,10 @@ <message name="IDS_PRINT_PREVIEW_EULA_URL" desc="Message shown to user when their printer has a EULA associated with its PPD. This message is hyperlinked to the EULA."> End User License Agreement </message> - <message name="IDS_PRINT_PREVIEW_PRINTER_STATUS_DEVICE_ERROR" desc="Error label to show under the destination dropdown when the printer has a device error."> - Printer device error + <message name="IDS_PRINT_PREVIEW_PRINTER_STATUS_DEVICE_ERROR" desc="Error label to show under the destination dropdown when there is a mechanical error inside the printer."> + Mechanical issue. Check printer </message> - <message name="IDS_PRINT_PREVIEW_PRINTER_STATUS_DOOR_OPEN" desc="Error label to show under the destination dropdown when the printer has an open door."> + <message name="IDS_PRINT_PREVIEW_PRINTER_STATUS_DOOR_OPEN" desc="Error label to show under the destination dropdown when the printer has an open cover or door."> Printer door is open </message> <message name="IDS_PRINT_PREVIEW_PRINTER_STATUS_LOW_ON_INK" desc="Error label to show under the destination dropdown when the printer is low on ink."> @@ -335,26 +335,26 @@ <message name="IDS_PRINT_PREVIEW_PRINTER_STATUS_OUT_OF_PAPER" desc="Error label to show under the destination dropdown when the printer is out of paper."> Out of paper </message> - <message name="IDS_PRINT_PREVIEW_PRINTER_STATUS_OUPUT_ALMOST_FULL" desc="Error label to show under the destination dropdown when the printer's output area is almost full."> - Output area is almost full + <message name="IDS_PRINT_PREVIEW_PRINTER_STATUS_OUPUT_ALMOST_FULL" desc="Error label to show under the destination dropdown when the printer's output tray is almost full."> + Output tray is almost full </message> - <message name="IDS_PRINT_PREVIEW_PRINTER_STATUS_OUPUT_FULL" desc="Error label to show under the destination dropdown when the printer's output area is full."> - Output area is full + <message name="IDS_PRINT_PREVIEW_PRINTER_STATUS_OUPUT_FULL" desc="Error label to show under the destination dropdown when the printer's output tray is full."> + Output tray is full </message> <message name="IDS_PRINT_PREVIEW_PRINTER_STATUS_PAPER_JAM" desc="Error label to show under the destination dropdown when the printer has a paper jam."> Paper is jammed </message> - <message name="IDS_PRINT_PREVIEW_PRINTER_STATUS_PAUSED" desc="Error label to show under the destination dropdown when the printer is in a paused state."> + <message name="IDS_PRINT_PREVIEW_PRINTER_STATUS_PAUSED" desc="Error label to show under the destination dropdown when someone has put the printer into a paused state."> Printer is paused </message> - <message name="IDS_PRINT_PREVIEW_PRINTER_STATUS_PRINTER_QUEUE_FULL" desc="Error label to show under the destination dropdown when the printer has a full queue."> + <message name="IDS_PRINT_PREVIEW_PRINTER_STATUS_PRINTER_QUEUE_FULL" desc="Error label to show under the destination dropdown when the printer's job queue is full and is temporarily unable to accept more print jobs."> Printer queue is full </message> <message name="IDS_PRINT_PREVIEW_PRINTER_STATUS_PRINTER_UNREACHABLE" desc="Error label to show under the destination dropdown when the device is attempting to schedule a print job on the printer but can't get a connection to the printer"> Can’t connect to printer </message> - <message name="IDS_PRINT_PREVIEW_PRINTER_STATUS_STOPPED" desc="Error label to show under the destination dropdown when the printer is in a stopped state."> - Printer is stopped + <message name="IDS_PRINT_PREVIEW_PRINTER_STATUS_STOPPED" desc="Error label to show under the destination dropdown when the printer is in the process of stopping or the printer is powered down."> + Printer has stopped </message> <message name="IDS_PRINT_PREVIEW_PRINTER_STATUS_TRAY_MISSING" desc="Error label to show under the destination dropdown when the printer is missing a tray."> Tray is missing
diff --git a/chrome/app/printing_strings_grdp/IDS_PRINT_PREVIEW_PRINTER_STATUS_DEVICE_ERROR.png.sha1 b/chrome/app/printing_strings_grdp/IDS_PRINT_PREVIEW_PRINTER_STATUS_DEVICE_ERROR.png.sha1 index 14048ee..6df8008 100644 --- a/chrome/app/printing_strings_grdp/IDS_PRINT_PREVIEW_PRINTER_STATUS_DEVICE_ERROR.png.sha1 +++ b/chrome/app/printing_strings_grdp/IDS_PRINT_PREVIEW_PRINTER_STATUS_DEVICE_ERROR.png.sha1
@@ -1 +1 @@ -5edd6baee151e5822dc87d55712fa8f091f4c431 \ No newline at end of file +244101c0c0c16f6c38a5b703edce4cc7d85b24f2 \ No newline at end of file
diff --git a/chrome/app/printing_strings_grdp/IDS_PRINT_PREVIEW_PRINTER_STATUS_DOOR_OPEN.png.sha1 b/chrome/app/printing_strings_grdp/IDS_PRINT_PREVIEW_PRINTER_STATUS_DOOR_OPEN.png.sha1 index c1c07be2..0721b260 100644 --- a/chrome/app/printing_strings_grdp/IDS_PRINT_PREVIEW_PRINTER_STATUS_DOOR_OPEN.png.sha1 +++ b/chrome/app/printing_strings_grdp/IDS_PRINT_PREVIEW_PRINTER_STATUS_DOOR_OPEN.png.sha1
@@ -1 +1 @@ -f2be6e1ffc9a5a4ddea272ab1fde1da72737d5f0 \ No newline at end of file +309a7d172e6f8e06f2845372cbf249bd3cefa90a \ No newline at end of file
diff --git a/chrome/app/printing_strings_grdp/IDS_PRINT_PREVIEW_PRINTER_STATUS_OUPUT_ALMOST_FULL.png.sha1 b/chrome/app/printing_strings_grdp/IDS_PRINT_PREVIEW_PRINTER_STATUS_OUPUT_ALMOST_FULL.png.sha1 index ef84d26..58ce889 100644 --- a/chrome/app/printing_strings_grdp/IDS_PRINT_PREVIEW_PRINTER_STATUS_OUPUT_ALMOST_FULL.png.sha1 +++ b/chrome/app/printing_strings_grdp/IDS_PRINT_PREVIEW_PRINTER_STATUS_OUPUT_ALMOST_FULL.png.sha1
@@ -1 +1 @@ -71cda66a9b0656f26ccb9032b8fa9dbd649f6740 \ No newline at end of file +0f05408aa9841d53e82d007af9fa03b4ffe9c45b \ No newline at end of file
diff --git a/chrome/app/printing_strings_grdp/IDS_PRINT_PREVIEW_PRINTER_STATUS_OUPUT_FULL.png.sha1 b/chrome/app/printing_strings_grdp/IDS_PRINT_PREVIEW_PRINTER_STATUS_OUPUT_FULL.png.sha1 index 7b00498..2041128 100644 --- a/chrome/app/printing_strings_grdp/IDS_PRINT_PREVIEW_PRINTER_STATUS_OUPUT_FULL.png.sha1 +++ b/chrome/app/printing_strings_grdp/IDS_PRINT_PREVIEW_PRINTER_STATUS_OUPUT_FULL.png.sha1
@@ -1 +1 @@ -fd3a1cb57450d9e7b28bab6cb6323f2e50149c03 \ No newline at end of file +732d0a55940816fbba896da0d1d46a22db2d6b0d \ No newline at end of file
diff --git a/chrome/app/printing_strings_grdp/IDS_PRINT_PREVIEW_PRINTER_STATUS_PAUSED.png.sha1 b/chrome/app/printing_strings_grdp/IDS_PRINT_PREVIEW_PRINTER_STATUS_PAUSED.png.sha1 index b49d6de..61735a0 100644 --- a/chrome/app/printing_strings_grdp/IDS_PRINT_PREVIEW_PRINTER_STATUS_PAUSED.png.sha1 +++ b/chrome/app/printing_strings_grdp/IDS_PRINT_PREVIEW_PRINTER_STATUS_PAUSED.png.sha1
@@ -1 +1 @@ -5a75e0cc91b5eaaf976ff880a896df347b7beb7e \ No newline at end of file +e6ed5247e4c4a3b73ff705423f1fbdd3348bf95b \ No newline at end of file
diff --git a/chrome/app/printing_strings_grdp/IDS_PRINT_PREVIEW_PRINTER_STATUS_PRINTER_QUEUE_FULL.png.sha1 b/chrome/app/printing_strings_grdp/IDS_PRINT_PREVIEW_PRINTER_STATUS_PRINTER_QUEUE_FULL.png.sha1 index ddcaa9f..d9964c4 100644 --- a/chrome/app/printing_strings_grdp/IDS_PRINT_PREVIEW_PRINTER_STATUS_PRINTER_QUEUE_FULL.png.sha1 +++ b/chrome/app/printing_strings_grdp/IDS_PRINT_PREVIEW_PRINTER_STATUS_PRINTER_QUEUE_FULL.png.sha1
@@ -1 +1 @@ -3c52e8fcb4d9823432bbd77e3a56a6e917fac121 \ No newline at end of file +62975e9f0dad10de4bdb95d94b7e5676d7f11ead \ No newline at end of file
diff --git a/chrome/app/printing_strings_grdp/IDS_PRINT_PREVIEW_PRINTER_STATUS_STOPPED.png.sha1 b/chrome/app/printing_strings_grdp/IDS_PRINT_PREVIEW_PRINTER_STATUS_STOPPED.png.sha1 index 36e1c7d..67712f86 100644 --- a/chrome/app/printing_strings_grdp/IDS_PRINT_PREVIEW_PRINTER_STATUS_STOPPED.png.sha1 +++ b/chrome/app/printing_strings_grdp/IDS_PRINT_PREVIEW_PRINTER_STATUS_STOPPED.png.sha1
@@ -1 +1 @@ -6d53f3ed901ed9222bc8254828685bbf3f274eb4 \ No newline at end of file +ad7ec5f1578de28d24ecfbdb016d168e5c9a53d1 \ No newline at end of file
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc index fa71d01..5f34d211 100644 --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc
@@ -2777,6 +2777,10 @@ ENABLE_DISABLE_VALUE_TYPE(switches::kEnableDeviceDiscoveryNotifications, switches::kDisableDeviceDiscoveryNotifications)}, #endif // BUILDFLAG(ENABLE_SERVICE_DISCOVERY) + {"force-enable-devices-page", + flag_descriptions::kForceEnableDevicesPageName, + flag_descriptions::kForceEnableDevicesPageDescription, kOsDesktop, + FEATURE_VALUE_TYPE(features::kForceEnableDevicesPage)}, #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) {"enable-webgl2-compute-context", flag_descriptions::kWebGL2ComputeContextName, @@ -5820,6 +5824,10 @@ {"os-settings-polymer3", flag_descriptions::kOsSettingsPolymer3Name, flag_descriptions::kOsSettingsPolymer3Description, kOsCrOS, FEATURE_VALUE_TYPE(chromeos::features::kOsSettingsPolymer3)}, + {"release-notes-notification", + flag_descriptions::kReleaseNotesNotificationName, + flag_descriptions::kReleaseNotesNotificationDescription, kOsCrOS, + FEATURE_VALUE_TYPE(chromeos::features::kReleaseNotesNotification)}, #endif // defined(OS_CHROMEOS) {"passive-mixed-content-warning",
diff --git a/chrome/browser/android/autofill_assistant/ui_controller_android.cc b/chrome/browser/android/autofill_assistant/ui_controller_android.cc index ed485f8..a01ed3e 100644 --- a/chrome/browser/android/autofill_assistant/ui_controller_android.cc +++ b/chrome/browser/android/autofill_assistant/ui_controller_android.cc
@@ -678,13 +678,11 @@ JNIEnv* env = AttachCurrentThread(); bool has_close_or_cancel = false; - auto jchips = Java_AutofillAssistantUiController_createChipList(env); - auto jsticky_chips = Java_AutofillAssistantUiController_createChipList(env); + auto chips = Java_AutofillAssistantUiController_createChipList(env); int user_action_count = static_cast<int>(user_actions.size()); for (int i = 0; i < user_action_count; i++) { const auto& action = user_actions[i]; const Chip& chip = action.chip(); - base::android::ScopedJavaLocalRef<jobject> jchip; switch (chip.type) { default: // Ignore actions with other chip types or with no chips. break; @@ -694,17 +692,16 @@ // can hide all the chips except for the cancel chip when the keyboard // is showing. // TODO(b/149543425): Find a better way to do this. - jchip = - Java_AutofillAssistantUiController_createHighlightedActionButton( - env, java_object_, chip.icon, - base::android::ConvertUTF8ToJavaString(env, chip.text), i, - !action.enabled(), chip.sticky, - base::android::ConvertUTF8ToJavaString(env, "")); + Java_AutofillAssistantUiController_addHighlightedActionButton( + env, java_object_, chips, chip.icon, + base::android::ConvertUTF8ToJavaString(env, chip.text), i, + !action.enabled(), chip.sticky, + base::android::ConvertUTF8ToJavaString(env, "")); break; case NORMAL_ACTION: - jchip = Java_AutofillAssistantUiController_createActionButton( - env, java_object_, chip.icon, + Java_AutofillAssistantUiController_addActionButton( + env, java_object_, chips, chip.icon, base::android::ConvertUTF8ToJavaString(env, chip.text), i, !action.enabled(), chip.sticky, base::android::ConvertUTF8ToJavaString(env, "")); @@ -713,8 +710,8 @@ case CANCEL_ACTION: // A Cancel button sneaks in an UNDO snackbar before executing the // action, while a close button behaves like a normal button. - jchip = Java_AutofillAssistantUiController_createCancelButton( - env, java_object_, chip.icon, + Java_AutofillAssistantUiController_addCancelButton( + env, java_object_, chips, chip.icon, base::android::ConvertUTF8ToJavaString(env, chip.text), i, !action.enabled(), chip.sticky, base::android::ConvertUTF8ToJavaString(env, kCancelChipIdentifier)); @@ -722,8 +719,8 @@ break; case CLOSE_ACTION: - jchip = Java_AutofillAssistantUiController_createActionButton( - env, java_object_, chip.icon, + Java_AutofillAssistantUiController_addActionButton( + env, java_object_, chips, chip.icon, base::android::ConvertUTF8ToJavaString(env, chip.text), i, !action.enabled(), chip.sticky, base::android::ConvertUTF8ToJavaString(env, "")); @@ -731,50 +728,33 @@ break; case DONE_ACTION: - jchip = - Java_AutofillAssistantUiController_createHighlightedActionButton( - env, java_object_, chip.icon, - base::android::ConvertUTF8ToJavaString(env, chip.text), i, - !action.enabled(), chip.sticky, - base::android::ConvertUTF8ToJavaString(env, "")); + Java_AutofillAssistantUiController_addHighlightedActionButton( + env, java_object_, chips, chip.icon, + base::android::ConvertUTF8ToJavaString(env, chip.text), i, + !action.enabled(), chip.sticky, + base::android::ConvertUTF8ToJavaString(env, "")); has_close_or_cancel = true; break; } - if (jchip) { - Java_AutofillAssistantUiController_appendChipToList(env, jchips, jchip); - if (chip.sticky) { - Java_AutofillAssistantUiController_appendChipToList(env, jsticky_chips, - jchip); - } - } } if (!has_close_or_cancel) { - base::android::ScopedJavaLocalRef<jobject> jcancel_chip; if (ui_delegate_->GetState() == AutofillAssistantState::STOPPED) { - jcancel_chip = Java_AutofillAssistantUiController_createCloseButton( - env, java_object_, ICON_CLEAR, + Java_AutofillAssistantUiController_addCloseButton( + env, java_object_, chips, ICON_CLEAR, base::android::ConvertUTF8ToJavaString(env, ""), /* disabled= */ false, /* sticky= */ true, base::android::ConvertUTF8ToJavaString(env, "")); } else if (ui_delegate_->GetState() != AutofillAssistantState::INACTIVE) { - jcancel_chip = Java_AutofillAssistantUiController_createCancelButton( - env, java_object_, ICON_CLEAR, + Java_AutofillAssistantUiController_addCancelButton( + env, java_object_, chips, ICON_CLEAR, base::android::ConvertUTF8ToJavaString(env, ""), -1, /* disabled= */ false, /* sticky= */ true, base::android::ConvertUTF8ToJavaString(env, kCancelChipIdentifier)); } - if (jcancel_chip) { - Java_AutofillAssistantUiController_appendChipToList(env, jchips, - jcancel_chip); - Java_AutofillAssistantUiController_appendChipToList(env, jsticky_chips, - jcancel_chip); - } } - Java_AutofillAssistantUiController_setActions(env, java_object_, jchips); - Java_AssistantHeaderModel_setChips(AttachCurrentThread(), GetHeaderModel(), - jsticky_chips); + Java_AutofillAssistantUiController_setActions(env, java_object_, chips); } void UiControllerAndroid::OnUserActionsChanged(
diff --git a/chrome/browser/android/background_task_scheduler/OWNERS b/chrome/browser/android/background_task_scheduler/OWNERS new file mode 100644 index 0000000..12400e3 --- /dev/null +++ b/chrome/browser/android/background_task_scheduler/OWNERS
@@ -0,0 +1 @@ +file://components/background_task_scheduler/OWNERS
diff --git a/chrome/browser/android/omnibox/autocomplete_controller_android.cc b/chrome/browser/android/omnibox/autocomplete_controller_android.cc index ee4274c..c6956d03 100644 --- a/chrome/browser/android/omnibox/autocomplete_controller_android.cc +++ b/chrome/browser/android/omnibox/autocomplete_controller_android.cc
@@ -55,6 +55,7 @@ #include "components/open_from_clipboard/clipboard_recent_content.h" #include "components/prefs/pref_service.h" #include "components/query_tiles/android/tile_conversion_bridge.h" +#include "components/search_engines/omnibox_focus_type.h" #include "components/search_engines/template_url_service.h" #include "components/sessions/content/session_tab_helper.h" #include "components/url_formatter/url_formatter.h" @@ -137,7 +138,7 @@ AutocompleteInput input(base::string16(), metrics::OmniboxEventProto::NTP, ChromeAutocompleteSchemeClassifier(profile)); input.set_current_url(GURL(chrome::kChromeUINewTabURL)); - input.set_from_omnibox_focus(true); + input.set_focus_type(OmniboxFocusType::ON_FOCUS); controller_->Start(input); // Delete ourselves after 10s. This is enough time to cache results or // give up if the results haven't been received. @@ -248,7 +249,7 @@ ChromeAutocompleteSchemeClassifier(profile_)); input_.set_current_url(current_url); input_.set_current_title(current_title); - input_.set_from_omnibox_focus(true); + input_.set_focus_type(OmniboxFocusType::ON_FOCUS); is_query_started_from_tiles_ = false; autocomplete_controller_->Start(input_); } @@ -307,7 +308,8 @@ OmniboxLog log( // For zero suggest, record an empty input string instead of the // current URL. - input_.from_omnibox_focus() ? base::string16() : input_.text(), + input_.focus_type() != OmniboxFocusType::DEFAULT ? base::string16() + : input_.text(), false, /* don't know */ input_.type(), false, /* not keyword mode */ OmniboxEventProto::INVALID, true, selected_index,
diff --git a/chrome/browser/autocomplete/search_provider_unittest.cc b/chrome/browser/autocomplete/search_provider_unittest.cc index fed78be..d5ba23a 100644 --- a/chrome/browser/autocomplete/search_provider_unittest.cc +++ b/chrome/browser/autocomplete/search_provider_unittest.cc
@@ -42,6 +42,7 @@ #include "components/omnibox/browser/suggestion_answer.h" #include "components/omnibox/common/omnibox_features.h" #include "components/prefs/pref_service.h" +#include "components/search_engines/omnibox_focus_type.h" #include "components/search_engines/search_engine_type.h" #include "components/search_engines/search_engines_switches.h" #include "components/search_engines/search_terms_data.h" @@ -3788,7 +3789,7 @@ metrics::OmniboxEventProto::OTHER, ChromeAutocompleteSchemeClassifier(&profile_)); input.set_prefer_keyword(true); - input.set_from_omnibox_focus(true); + input.set_focus_type(OmniboxFocusType::ON_FOCUS); provider_->Start(input, false); EXPECT_TRUE(provider_->matches().empty()); } @@ -3820,7 +3821,7 @@ metrics::OmniboxEventProto::OTHER, ChromeAutocompleteSchemeClassifier(&profile_)); input.set_prefer_keyword(true); - input.set_from_omnibox_focus(true); + input.set_focus_type(OmniboxFocusType::ON_FOCUS); if (!GetParam()) { // The warm-up feature ought to be disabled. // The provider immediately terminates with no matches.
diff --git a/chrome/browser/browser_commands_unittest.cc b/chrome/browser/browser_commands_unittest.cc index 31f6320..2e9e6eb 100644 --- a/chrome/browser/browser_commands_unittest.cc +++ b/chrome/browser/browser_commands_unittest.cc
@@ -4,12 +4,14 @@ #include <stddef.h> +#include "base/test/scoped_feature_list.h" #include "chrome/app/chrome_command_ids.h" #include "chrome/browser/bookmarks/bookmark_model_factory.h" #include "chrome/browser/ui/browser_command_controller.h" #include "chrome/browser/ui/browser_commands.h" #include "chrome/browser/ui/browser_finder.h" #include "chrome/browser/ui/tabs/tab_strip_model.h" +#include "chrome/browser/ui/ui_features.h" #include "chrome/browser/ui/zoom/chrome_zoom_level_prefs.h" #include "chrome/common/pref_names.h" #include "chrome/common/url_constants.h" @@ -490,4 +492,16 @@ } } +TEST_F(BrowserCommandsTest, TabSearchDisabled) { + EXPECT_FALSE(chrome::IsCommandEnabled(browser(), IDC_TAB_SEARCH)); +} + +TEST_F(BrowserCommandsTest, TabSearchEnabled) { + base::test::ScopedFeatureList feature_list; + feature_list.InitAndEnableFeature(features::kTabSearch); + auto browser = + CreateBrowser(profile(), Browser::TYPE_NORMAL, false, window()); + EXPECT_TRUE(chrome::IsCommandEnabled(browser.get(), IDC_TAB_SEARCH)); +} + } // namespace
diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd index 6a77bf40..badf56a1 100644 --- a/chrome/browser/browser_resources.grd +++ b/chrome/browser/browser_resources.grd
@@ -151,6 +151,7 @@ <if expr="enable_service_discovery"> <include name="IDR_LOCAL_DISCOVERY_HTML" file="resources\local_discovery\local_discovery.html" flattenhtml="true" allowexternalscript="true" type="BINDATA" /> + <include name="IDR_LOCAL_DISCOVERY_WARNING_HTML" file="resources\local_discovery\local_discovery_warning.html" type="BINDATA" /> <include name="IDR_LOCAL_DISCOVERY_CSS" file="resources\local_discovery\local_discovery.css" flattenhtml="true" type="BINDATA" /> <include name="IDR_LOCAL_DISCOVERY_JS" file="resources\local_discovery\local_discovery.js" flattenhtml="true" type="BINDATA" /> </if>
diff --git a/chrome/browser/chromeos/BUILD.gn b/chrome/browser/chromeos/BUILD.gn index ea61dc36..a53bca1 100644 --- a/chrome/browser/chromeos/BUILD.gn +++ b/chrome/browser/chromeos/BUILD.gn
@@ -3320,6 +3320,7 @@ "policy/extension_install_event_log_uploader_unittest.cc", "policy/extension_install_event_logger_unittest.cc", "policy/external_data_handlers/device_native_printers_external_data_handler_unittest.cc", + "policy/external_data_handlers/device_print_servers_external_data_handler_unittest.cc", "policy/fake_affiliated_invalidation_service_provider.cc", "policy/fake_affiliated_invalidation_service_provider.h", "policy/heartbeat_scheduler_unittest.cc",
diff --git a/chrome/browser/chromeos/accessibility/select_to_speak_browsertest.cc b/chrome/browser/chromeos/accessibility/select_to_speak_browsertest.cc index 56937e9a..609d1bc 100644 --- a/chrome/browser/chromeos/accessibility/select_to_speak_browsertest.cc +++ b/chrome/browser/chromeos/accessibility/select_to_speak_browsertest.cc
@@ -403,7 +403,9 @@ EXPECT_EQ(focus_rings.size(), 0u); } -IN_PROC_BROWSER_TEST_F(SelectToSpeakTest, ContinuesReadingDuringResize) { +// TODO(https://crbug.com/1114854): test is flaky. +IN_PROC_BROWSER_TEST_F(SelectToSpeakTest, + DISABLED_ContinuesReadingDuringResize) { ActivateSelectToSpeakInWindowBounds( "data:text/html;charset=utf-8,<p>First paragraph</p>" "<div id='resize' style='width:300px; font-size: 10em'>"
diff --git a/chrome/browser/chromeos/arc/test/test_arc_session_manager.cc b/chrome/browser/chromeos/arc/test/test_arc_session_manager.cc index 1eb6a00..a8f42fa2 100644 --- a/chrome/browser/chromeos/arc/test/test_arc_session_manager.cc +++ b/chrome/browser/chromeos/arc/test/test_arc_session_manager.cc
@@ -22,7 +22,8 @@ // Create empty prop files so ArcSessionManager's property expansion code // works like production. for (const char* filename : - {"default.prop", "build.prop", "vendor_build.prop"}) { + {"default.prop", "build.prop", "vendor_build.prop", + "system_ext_build.prop", "product_build.prop", "odm_build.prop"}) { if (base::WriteFile(source_dir->Append(filename), "", 1) != 1) return false; }
diff --git a/chrome/browser/chromeos/policy/external_data_handlers/device_print_servers_external_data_handler.cc b/chrome/browser/chromeos/policy/external_data_handlers/device_print_servers_external_data_handler.cc index 49f3cbd1..3dd1192 100644 --- a/chrome/browser/chromeos/policy/external_data_handlers/device_print_servers_external_data_handler.cc +++ b/chrome/browser/chromeos/policy/external_data_handlers/device_print_servers_external_data_handler.cc
@@ -6,8 +6,19 @@ #include <utility> +#include "base/memory/weak_ptr.h" +#include "chrome/browser/chromeos/printing/print_servers_provider.h" +#include "chrome/browser/chromeos/printing/print_servers_provider_factory.h" #include "components/policy/policy_constants.h" +namespace { + +base::WeakPtr<chromeos::PrintServersProvider> GetDevicePrintServersProvider() { + return chromeos::PrintServersProviderFactory::Get()->GetForDevice(); +} + +} // namespace + namespace policy { DevicePrintServersExternalDataHandler::DevicePrintServersExternalDataHandler( @@ -21,16 +32,21 @@ DevicePrintServersExternalDataHandler:: ~DevicePrintServersExternalDataHandler() = default; +void DevicePrintServersExternalDataHandler::OnDeviceExternalDataSet( + const std::string& policy) { + GetDevicePrintServersProvider()->ClearData(); +} + void DevicePrintServersExternalDataHandler::OnDeviceExternalDataCleared( const std::string& policy) { - // TODO(b/123933434): Handle when data is cleared. + GetDevicePrintServersProvider()->ClearData(); } void DevicePrintServersExternalDataHandler::OnDeviceExternalDataFetched( const std::string& policy, std::unique_ptr<std::string> data, const base::FilePath& file_path) { - // TODO(b/123933434): Handle |data|. + GetDevicePrintServersProvider()->SetData(std::move(data)); } void DevicePrintServersExternalDataHandler::Shutdown() {
diff --git a/chrome/browser/chromeos/policy/external_data_handlers/device_print_servers_external_data_handler.h b/chrome/browser/chromeos/policy/external_data_handlers/device_print_servers_external_data_handler.h index ec9d000..d27e2df 100644 --- a/chrome/browser/chromeos/policy/external_data_handlers/device_print_servers_external_data_handler.h +++ b/chrome/browser/chromeos/policy/external_data_handlers/device_print_servers_external_data_handler.h
@@ -28,6 +28,7 @@ ~DevicePrintServersExternalDataHandler() override; // DeviceCloudExternalDataPolicyHandler: + void OnDeviceExternalDataSet(const std::string& policy) override; void OnDeviceExternalDataCleared(const std::string& policy) override; void OnDeviceExternalDataFetched(const std::string& policy, std::unique_ptr<std::string> data,
diff --git a/chrome/browser/chromeos/policy/external_data_handlers/device_print_servers_external_data_handler_unittest.cc b/chrome/browser/chromeos/policy/external_data_handlers/device_print_servers_external_data_handler_unittest.cc new file mode 100644 index 0000000..165caea --- /dev/null +++ b/chrome/browser/chromeos/policy/external_data_handlers/device_print_servers_external_data_handler_unittest.cc
@@ -0,0 +1,143 @@ +// Copyright 2020 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. + +#include "chrome/browser/chromeos/policy/external_data_handlers/device_print_servers_external_data_handler.h" + +#include <memory> +#include <string> + +#include "chrome/browser/chromeos/printing/print_server.h" +#include "chrome/browser/chromeos/printing/print_servers_provider.h" +#include "chrome/browser/chromeos/printing/print_servers_provider_factory.h" +#include "components/policy/core/common/mock_policy_service.h" +#include "components/policy/core/common/policy_namespace.h" +#include "components/policy/policy_constants.h" +#include "components/policy/proto/chrome_device_policy.pb.h" +#include "components/sync_preferences/testing_pref_service_syncable.h" +#include "content/public/test/browser_task_environment.h" +#include "testing/gmock/include/gmock/gmock.h" +#include "testing/gtest/include/gtest/gtest.h" + +using ::testing::Pointee; +using ::testing::UnorderedElementsAre; + +namespace policy { + +namespace { + +// An example device native printers configuration file. +constexpr char kDeviceExternalPrintServersContentsJson[] = R"json( +[ + { + "id": "First", + "display_name": "LexaPrint", + "url": "ipp://192.168.1.5", + }, { + "id": "Second", + "display_name": "Color Laser", + "url":"ipps://print-server.intranet.example.com:443/ipp/cl2k4", + } +])json"; + +constexpr char kAllowlistPrefName[] = "test"; + +class TestObserver : public chromeos::PrintServersProvider::Observer { + public: + ~TestObserver() override = default; + + // Callback from PrintServersProvider::Observer. + void OnServersChanged( + bool complete, + const std::vector<chromeos::PrintServer>& servers) override { + print_servers_ = servers; + } + + const std::vector<chromeos::PrintServer>* GetPrintServers() { + return &print_servers_; + } + + private: + std::vector<chromeos::PrintServer> print_servers_; +}; + +} // namespace + +class DevicePrintServersExternalDataHandlerTest : public testing::Test { + protected: + void SetUp() override { + EXPECT_CALL(policy_service_, + AddObserver(policy::POLICY_DOMAIN_CHROME, testing::_)) + .Times(1); + EXPECT_CALL(policy_service_, + RemoveObserver(policy::POLICY_DOMAIN_CHROME, testing::_)) + .Times(1); + + print_servers_provider_ = + chromeos::PrintServersProviderFactory::Get()->GetForDevice(); + pref_service_.registry()->RegisterListPref(kAllowlistPrefName); + print_servers_provider_->SetAllowlistPref(&pref_service_, + kAllowlistPrefName); + device_print_servers_external_data_handler_ = + std::make_unique<DevicePrintServersExternalDataHandler>( + &policy_service_); + } + + void TearDown() override { + chromeos::PrintServersProviderFactory::Get()->Shutdown(); + device_print_servers_external_data_handler_->Shutdown(); + } + + // Everything must be called on Chrome_UIThread. + content::BrowserTaskEnvironment task_environment_; + + sync_preferences::TestingPrefServiceSyncable pref_service_; + + MockPolicyService policy_service_; + std::unique_ptr<DevicePrintServersExternalDataHandler> + device_print_servers_external_data_handler_; + base::WeakPtr<chromeos::PrintServersProvider> print_servers_provider_; +}; + +TEST_F(DevicePrintServersExternalDataHandlerTest, OnDataFetched) { + TestObserver obs; + print_servers_provider_->AddObserver(&obs); + EXPECT_TRUE(obs.GetPrintServers()->empty()); + + device_print_servers_external_data_handler_->OnDeviceExternalDataSet( + key::kDeviceExternalPrintServers); + device_print_servers_external_data_handler_->OnDeviceExternalDataFetched( + key::kDeviceExternalPrintServers, + std::make_unique<std::string>(kDeviceExternalPrintServersContentsJson), + base::FilePath()); + task_environment_.RunUntilIdle(); + + chromeos::PrintServer first("First", GURL("http://192.168.1.5:631"), + "LexaPrint"); + chromeos::PrintServer second( + "Second", GURL("https://print-server.intranet.example.com:443/ipp/cl2k4"), + "Color Laser"); + + EXPECT_THAT(obs.GetPrintServers(), + Pointee(UnorderedElementsAre(first, second))); +} + +TEST_F(DevicePrintServersExternalDataHandlerTest, OnDataCleared) { + TestObserver obs; + print_servers_provider_->AddObserver(&obs); + EXPECT_TRUE(obs.GetPrintServers()->empty()); + + device_print_servers_external_data_handler_->OnDeviceExternalDataSet( + key::kDeviceExternalPrintServers); + device_print_servers_external_data_handler_->OnDeviceExternalDataFetched( + key::kDeviceExternalPrintServers, + std::make_unique<std::string>(kDeviceExternalPrintServersContentsJson), + base::FilePath()); + device_print_servers_external_data_handler_->OnDeviceExternalDataCleared( + key::kDeviceExternalPrintServers); + task_environment_.RunUntilIdle(); + + EXPECT_TRUE(obs.GetPrintServers()->empty()); +} + +} // namespace policy
diff --git a/chrome/browser/chromeos/printing/cups_printers_manager.cc b/chrome/browser/chromeos/printing/cups_printers_manager.cc index 2bcead0..98ea7b0a 100644 --- a/chrome/browser/chromeos/printing/cups_printers_manager.cc +++ b/chrome/browser/chromeos/printing/cups_printers_manager.cc
@@ -762,4 +762,9 @@ PrintServersProvider::RegisterProfilePrefs(registry); } +// static +void CupsPrintersManager::RegisterLocalStatePrefs(PrefRegistrySimple* registry) { + PrintServersProvider::RegisterLocalStatePrefs(registry); +} + } // namespace chromeos
diff --git a/chrome/browser/chromeos/printing/cups_printers_manager.h b/chrome/browser/chromeos/printing/cups_printers_manager.h index 06807f5..91793fc 100644 --- a/chrome/browser/chromeos/printing/cups_printers_manager.h +++ b/chrome/browser/chromeos/printing/cups_printers_manager.h
@@ -15,6 +15,7 @@ #include "chromeos/printing/uri.h" #include "components/keyed_service/core/keyed_service.h" +class PrefRegistrySimple; class PrefService; class Profile; @@ -76,9 +77,12 @@ PrinterEventTracker* event_tracker, PrefService* pref_service); - // Register the printing preferences with the |registry|. + // Register the profile printing preferences with the |registry|. static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry); + // Register the printing preferences with the |registry|. + static void RegisterLocalStatePrefs(PrefRegistrySimple* registry); + ~CupsPrintersManager() override = default; // Get the known printers in the given class.
diff --git a/chrome/browser/chromeos/printing/print_servers_provider.cc b/chrome/browser/chromeos/printing/print_servers_provider.cc index 658e03d..0a1bd72 100644 --- a/chrome/browser/chromeos/printing/print_servers_provider.cc +++ b/chrome/browser/chromeos/printing/print_servers_provider.cc
@@ -340,6 +340,12 @@ } // static +void PrintServersProvider::RegisterLocalStatePrefs( + PrefRegistrySimple* registry) { + registry->RegisterListPref(prefs::kDeviceExternalPrintServersAllowlist); +} + +// static std::unique_ptr<PrintServersProvider> PrintServersProvider::Create() { return std::make_unique<PrintServersProviderImpl>(); }
diff --git a/chrome/browser/chromeos/printing/print_servers_provider.h b/chrome/browser/chromeos/printing/print_servers_provider.h index a90438c..6ef3a76 100644 --- a/chrome/browser/chromeos/printing/print_servers_provider.h +++ b/chrome/browser/chromeos/printing/print_servers_provider.h
@@ -13,6 +13,7 @@ #include "base/memory/weak_ptr.h" #include "chrome/browser/chromeos/printing/print_server.h" +class PrefRegistrySimple; class PrefService; namespace user_prefs { @@ -43,6 +44,7 @@ }; static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry); + static void RegisterLocalStatePrefs(PrefRegistrySimple* registry); static std::unique_ptr<PrintServersProvider> Create(); virtual ~PrintServersProvider() = default;
diff --git a/chrome/browser/chromeos/printing/print_servers_provider_factory.cc b/chrome/browser/chromeos/printing/print_servers_provider_factory.cc index 5ae54d37..c1b5565 100644 --- a/chrome/browser/chromeos/printing/print_servers_provider_factory.cc +++ b/chrome/browser/chromeos/printing/print_servers_provider_factory.cc
@@ -43,6 +43,15 @@ return GetForAccountId(user->GetAccountId()); } +base::WeakPtr<PrintServersProvider> +PrintServersProviderFactory::GetForDevice() { + DCHECK_CURRENTLY_ON(content::BrowserThread::UI); + if (!device_provider_) { + device_provider_ = PrintServersProvider::Create(); + } + return device_provider_->AsWeakPtr(); +} + void PrintServersProviderFactory::RemoveForAccountId( const AccountId& account_id) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); @@ -52,6 +61,7 @@ void PrintServersProviderFactory::Shutdown() { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); providers_by_user_.clear(); + device_provider_ = nullptr; } PrintServersProviderFactory::PrintServersProviderFactory() = default;
diff --git a/chrome/browser/chromeos/printing/print_servers_provider_factory.h b/chrome/browser/chromeos/printing/print_servers_provider_factory.h index acbd881..b03aff3b 100644 --- a/chrome/browser/chromeos/printing/print_servers_provider_factory.h +++ b/chrome/browser/chromeos/printing/print_servers_provider_factory.h
@@ -38,6 +38,12 @@ // returned object remains valid until RemoveForUserId or Shutdown is called. base::WeakPtr<PrintServersProvider> GetForProfile(Profile* profile); + // Returns a WeakPtr to the PrintServersProvider registered for the device. + // If requested PrintServersProvider does not exist, the object is + // created and registered. The returned object remains valid until Shutdown is + // called. Returns nullptr if called after Shutdown or during unit tests. + base::WeakPtr<PrintServersProvider> GetForDevice(); + // Deletes the PrintServersProvider registered for |account_id|. void RemoveForAccountId(const AccountId& account_id); @@ -49,6 +55,8 @@ std::map<AccountId, std::unique_ptr<PrintServersProvider>> providers_by_user_; + std::unique_ptr<PrintServersProvider> device_provider_; + DISALLOW_COPY_AND_ASSIGN(PrintServersProviderFactory); };
diff --git a/chrome/browser/chromeos/settings/device_settings_provider.cc b/chrome/browser/chromeos/settings/device_settings_provider.cc index cf20b70..dbc2a70 100644 --- a/chrome/browser/chromeos/settings/device_settings_provider.cc +++ b/chrome/browser/chromeos/settings/device_settings_provider.cc
@@ -93,7 +93,6 @@ kDevicePrintersAccessMode, kDevicePrintersBlocklist, kDevicePrintersAllowlist, - kDeviceExternalPrintServersAllowlist, kDevicePowerwashAllowed, kDeviceQuirksDownloadEnabled, kDeviceRebootOnUserSignout, @@ -935,16 +934,6 @@ new_values_cache->SetValue(kDevicePrintersAllowlist, std::move(list)); } - if (policy.has_external_print_servers_allowlist()) { - base::Value list(base::Value::Type::LIST); - const em::DeviceExternalPrintServersAllowlistProto& proto( - policy.external_print_servers_allowlist()); - for (const auto& id : proto.allowlist()) - list.Append(id); - new_values_cache->SetValue(kDeviceExternalPrintServersAllowlist, - std::move(list)); - } - if (policy.has_device_reboot_on_user_signout()) { const em::DeviceRebootOnUserSignoutProto& container( policy.device_reboot_on_user_signout());
diff --git a/chrome/browser/download/android/javatests/src/org/chromium/chrome/browser/download/StringUtilsTest.java b/chrome/browser/download/android/javatests/src/org/chromium/chrome/browser/download/StringUtilsTest.java index d1921f0..9ca3655 100644 --- a/chrome/browser/download/android/javatests/src/org/chromium/chrome/browser/download/StringUtilsTest.java +++ b/chrome/browser/download/android/javatests/src/org/chromium/chrome/browser/download/StringUtilsTest.java
@@ -11,9 +11,7 @@ import androidx.test.filters.SmallTest; import org.junit.Assert; -import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.chromium.base.test.util.Feature; @@ -30,9 +28,6 @@ @RunWith(ChromeJUnit4ClassRunner.class) @Features.DisableFeatures(ChromeFeatureList.DOWNLOAD_FILE_PROVIDER) public class StringUtilsTest { - @Rule - public TestRule mFeaturesProcessorRule = new Features.InstrumentationProcessor(); - @Test @SmallTest @Feature({"Download"})
diff --git a/chrome/browser/extensions/api/bookmarks/bookmark_apitest.cc b/chrome/browser/extensions/api/bookmarks/bookmark_apitest.cc index 658df15..83b39930e 100644 --- a/chrome/browser/extensions/api/bookmarks/bookmark_apitest.cc +++ b/chrome/browser/extensions/api/bookmarks/bookmark_apitest.cc
@@ -45,17 +45,14 @@ INSTANTIATE_TEST_SUITE_P(EventPage, BookmarksApiTest, ::testing::Values(ContextType::kEventPage)); +// Flaky on all platforms but Mac. https://crbug.com/1112903 +#if defined(OS_MAC) INSTANTIATE_TEST_SUITE_P(ServiceWorker, BookmarksApiTest, ::testing::Values(ContextType::kServiceWorker)); - -// Flaky on all platforms but Mac. https://crbug.com/1112903 -#if defined(OS_MAC) -#define MAYBE_Bookmarks Bookmarks -#else -#define MAYBE_Bookmarks DISABLED_Bookmarks #endif -IN_PROC_BROWSER_TEST_P(BookmarksApiTest, MAYBE_Bookmarks) { + +IN_PROC_BROWSER_TEST_P(BookmarksApiTest, Bookmarks) { // Add test managed bookmarks to verify that the bookmarks API can read them // and can't modify them. Profile* profile = browser()->profile();
diff --git a/chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc b/chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc index 46a1a75..e5524a5 100644 --- a/chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc +++ b/chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc
@@ -1200,6 +1200,7 @@ #if !defined(OS_CHROMEOS) IN_PROC_BROWSER_TEST_F(DownloadExtensionTest, DownloadsShowFunction) { + platform_util::internal::DisableShellOperationsForTesting(); ScopedCancellingItem item(CreateFirstSlowTestDownload()); ASSERT_TRUE(item.get());
diff --git a/chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc b/chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc index f363e0e..e2ff356 100644 --- a/chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc +++ b/chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc
@@ -12,29 +12,11 @@ #include "base/base64.h" #include "base/base_paths.h" #include "base/files/file_util.h" -#include "base/json/json_writer.h" -#include "base/lazy_instance.h" +#include "base/logging.h" #include "base/path_service.h" #include "base/rand_util.h" -#include "base/strings/utf_string_conversions.h" -#include "base/values.h" #include "build/build_config.h" -#include "chrome/browser/browser_process.h" -#include "chrome/browser/extensions/api/enterprise_reporting_private/prefs.h" -#include "chrome/browser/policy/chrome_browser_policy_connector.h" -#include "chrome/browser/policy/chrome_policy_conversions_client.h" -#include "chrome/browser/profiles/profile.h" -#include "chrome/common/channel_info.h" -#include "chrome/common/pref_names.h" #include "components/enterprise/browser/controller/browser_dm_token_storage.h" -#include "components/policy/core/browser/policy_conversions.h" -#include "components/policy/core/common/cloud/cloud_policy_client.h" -#include "components/policy/core/common/cloud/cloud_policy_util.h" -#include "components/policy/core/common/cloud/machine_level_user_cloud_policy_manager.h" -#include "components/policy/proto/device_management_backend.pb.h" -#include "components/prefs/pref_service.h" -#include "components/version_info/channel.h" -#include "components/version_info/version_info.h" #if defined(OS_WIN) #include "base/win/registry.h" @@ -51,194 +33,9 @@ #include "crypto/apple_keychain.h" #endif -namespace em = enterprise_management; - namespace extensions { namespace { -// JSON keys in the extension arguments. -const char kBrowserReport[] = "browserReport"; -const char kChromeUserProfileReport[] = "chromeUserProfileReport"; -const char kChromeSignInUser[] = "chromeSignInUser"; -const char kExtensionData[] = "extensionData"; -const char kPlugins[] = "plugins"; -const char kSafeBrowsingWarnings[] = "safeBrowsingWarnings"; -const char kSafeBrowsingWarningsClickThrough[] = - "safeBrowsingWarningsClickThrough"; - -// JSON keys in the os_info field. -const char kOS[] = "os"; -const char kOSArch[] = "arch"; -const char kOSVersion[] = "os_version"; - -const char kDefaultDictionary[] = "{}"; -const char kDefaultList[] = "[]"; - -enum Type { - LIST, - DICTIONARY, -}; - -std::string GetChromePath() { - base::FilePath path; - base::PathService::Get(base::DIR_EXE, &path); - return path.AsUTF8Unsafe(); -} - -std::string GetProfileId(const Profile* profile) { - return profile->GetOriginalProfile()->GetPath().AsUTF8Unsafe(); -} - -// Returns last policy fetch timestamp of machine level user cloud policy if -// it exists. Otherwise, returns zero. -int64_t GetMachineLevelUserCloudPolicyFetchTimestamp() { - policy::MachineLevelUserCloudPolicyManager* manager = - g_browser_process->browser_policy_connector() - ->machine_level_user_cloud_policy_manager(); - if (!manager || !manager->IsClientRegistered()) - return 0; - return manager->core()->client()->last_policy_timestamp().ToJavaTime(); -} - -void AppendAdditionalBrowserInformation(em::ChromeDesktopReportRequest* request, - Profile* profile) { - const PrefService* prefs = profile->GetPrefs(); - - // Set Chrome version number - request->mutable_browser_report()->set_browser_version( - version_info::GetVersionNumber()); - // Set Chrome channel - request->mutable_browser_report()->set_channel( - policy::ConvertToProtoChannel(chrome::GetChannel())); - - // Add a new profile report if extension doesn't report any profile. - if (request->browser_report().chrome_user_profile_reports_size() == 0) - request->mutable_browser_report()->add_chrome_user_profile_reports(); - - DCHECK_EQ(1, request->browser_report().chrome_user_profile_reports_size()); - - // Set Chrome executable path - request->mutable_browser_report()->set_executable_path(GetChromePath()); - - // Set profile ID for the first profile. - request->mutable_browser_report() - ->mutable_chrome_user_profile_reports(0) - ->set_id(GetProfileId(profile)); - - // Set the profile name - request->mutable_browser_report() - ->mutable_chrome_user_profile_reports(0) - ->set_name(prefs->GetString(prefs::kProfileName)); - - if (prefs->GetBoolean(enterprise_reporting::kReportPolicyData)) { - // Set policy data of the first profile. Extension will report this data in - // the future. - auto client = - std::make_unique<policy::ChromePolicyConversionsClient>(profile); - request->mutable_browser_report() - ->mutable_chrome_user_profile_reports(0) - ->set_policy_data(policy::DictionaryPolicyConversions(std::move(client)) - .EnablePrettyPrint(false) - .ToJSON()); - - int64_t timestamp = GetMachineLevelUserCloudPolicyFetchTimestamp(); - if (timestamp > 0) { - request->mutable_browser_report() - ->mutable_chrome_user_profile_reports(0) - ->set_policy_fetched_timestamp(timestamp); - } - } -} - -bool UpdateJSONEncodedStringEntry(const base::Value& dict_value, - const char key[], - std::string* entry, - const Type type) { - if (const base::Value* value = dict_value.FindKey(key)) { - if ((type == DICTIONARY && !value->is_dict()) || - (type == LIST && !value->is_list())) { - return false; - } - base::JSONWriter::Write(*value, entry); - } else { - if (type == DICTIONARY) - *entry = kDefaultDictionary; - else if (type == LIST) - *entry = kDefaultList; - } - - return true; -} - -void AppendPlatformInformation(em::ChromeDesktopReportRequest* request, - const PrefService* prefs) { - base::Value os_info = base::Value(base::Value::Type::DICTIONARY); - os_info.SetKey(kOS, base::Value(policy::GetOSPlatform())); - os_info.SetKey(kOSVersion, base::Value(policy::GetOSVersion())); - os_info.SetKey(kOSArch, base::Value(policy::GetOSArchitecture())); - base::JSONWriter::Write(os_info, request->mutable_os_info()); - - const char kComputerName[] = "computername"; - base::Value machine_name = base::Value(base::Value::Type::DICTIONARY); - machine_name.SetKey(kComputerName, base::Value(policy::GetMachineName())); - base::JSONWriter::Write(machine_name, request->mutable_machine_name()); - - const char kUsername[] = "username"; - base::Value os_user = base::Value(base::Value::Type::DICTIONARY); - os_user.SetKey(kUsername, base::Value(policy::GetOSUsername())); - base::JSONWriter::Write(os_user, request->mutable_os_user()); - -#if defined(OS_WIN) - request->set_serial_number( - policy::BrowserDMTokenStorage::Get()->RetrieveSerialNumber()); -#endif -} - -std::unique_ptr<em::ChromeUserProfileReport> -GenerateChromeUserProfileReportRequest(const base::Value& profile_report, - const PrefService* prefs) { - if (!profile_report.is_dict()) - return nullptr; - - std::unique_ptr<em::ChromeUserProfileReport> request = - std::make_unique<em::ChromeUserProfileReport>(); - - if (!UpdateJSONEncodedStringEntry(profile_report, kChromeSignInUser, - request->mutable_chrome_signed_in_user(), - DICTIONARY)) { - return nullptr; - } - - if (prefs->GetBoolean( - enterprise_reporting::kReportExtensionsAndPluginsData)) { - if (!UpdateJSONEncodedStringEntry(profile_report, kExtensionData, - request->mutable_extension_data(), - LIST) || - !UpdateJSONEncodedStringEntry(profile_report, kPlugins, - request->mutable_plugins(), LIST)) { - return nullptr; - } - } - - if (prefs->GetBoolean(enterprise_reporting::kReportSafeBrowsingData)) { - if (const base::Value* count = - profile_report.FindKey(kSafeBrowsingWarnings)) { - if (!count->is_int()) - return nullptr; - request->set_safe_browsing_warnings(count->GetInt()); - } - - if (const base::Value* count = - profile_report.FindKey(kSafeBrowsingWarningsClickThrough)) { - if (!count->is_int()) - return nullptr; - request->set_safe_browsing_warnings_click_through(count->GetInt()); - } - } - - return request; -} - #if defined(OS_WIN) const wchar_t kDefaultRegistryPath[] = L"SOFTWARE\\Google\\Endpoint Verification"; @@ -429,40 +226,6 @@ } // namespace -std::unique_ptr<em::ChromeDesktopReportRequest> -GenerateChromeDesktopReportRequest(const base::DictionaryValue& report, - Profile* profile) { - std::unique_ptr<em::ChromeDesktopReportRequest> request = - std::make_unique<em::ChromeDesktopReportRequest>(); - - const PrefService* prefs = profile->GetPrefs(); - - AppendPlatformInformation(request.get(), prefs); - - if (const base::Value* browser_report = - report.FindKeyOfType(kBrowserReport, base::Value::Type::DICTIONARY)) { - if (const base::Value* profile_reports = browser_report->FindKeyOfType( - kChromeUserProfileReport, base::Value::Type::LIST)) { - if (!profile_reports->GetList().empty()) { - DCHECK_EQ(1u, profile_reports->GetList().size()); - // Currently, profile send their browser reports individually. - std::unique_ptr<em::ChromeUserProfileReport> profile_report_request = - GenerateChromeUserProfileReportRequest( - profile_reports->GetList()[0], prefs); - if (!profile_report_request) - return nullptr; - request->mutable_browser_report() - ->mutable_chrome_user_profile_reports() - ->AddAllocated(profile_report_request.release()); - } - } - } - - AppendAdditionalBrowserInformation(request.get(), profile); - - return request; -} - // Sets the path used to store Endpoint Verification data for tests. void OverrideEndpointVerificationDirForTesting(const base::FilePath& path) { *GetEndpointVerificationDirOverride() = path;
diff --git a/chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.h b/chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.h index 993985de..c99b9c48 100644 --- a/chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.h +++ b/chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.h
@@ -11,13 +11,6 @@ #include "base/callback.h" #include "base/files/file_path.h" -#include "components/policy/proto/device_management_backend.pb.h" - -class Profile; - -namespace base { -class DictionaryValue; -} // namespace base namespace extensions { @@ -33,12 +26,6 @@ kDataRecordRetrievalError, }; -// Transfer the input from Json file to protobuf. Return nullptr if the input -// is not valid. -std::unique_ptr<enterprise_management::ChromeDesktopReportRequest> -GenerateChromeDesktopReportRequest(const base::DictionaryValue& report, - Profile* profile); - // Override the path where Endpoint Verification data is stored for tests. void OverrideEndpointVerificationDirForTesting(const base::FilePath& path);
diff --git a/chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper_unittest.cc b/chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper_unittest.cc deleted file mode 100644 index dcbb596..0000000 --- a/chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper_unittest.cc +++ /dev/null
@@ -1,330 +0,0 @@ -// Copyright 2018 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. - -#include "chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.h" - -#include "base/json/json_reader.h" -#include "base/json/string_escape.h" -#include "base/strings/stringprintf.h" -#include "base/values.h" -#include "build/build_config.h" -#include "chrome/browser/extensions/api/enterprise_reporting_private/prefs.h" -#include "chrome/common/pref_names.h" -#include "chrome/test/base/testing_profile.h" -#include "components/policy/core/common/cloud/cloud_policy_util.h" -#include "components/policy/proto/device_management_backend.pb.h" -#include "components/prefs/pref_service.h" -#include "content/public/test/browser_task_environment.h" -#include "testing/gtest/include/gtest/gtest.h" - -#if !defined(OS_CHROMEOS) -#include "components/enterprise/browser/controller/fake_browser_dm_token_storage.h" -#endif // !defined(OS_CHROMEOS) - -namespace em = enterprise_management; - -namespace extensions { - -class ChromeDesktopReportRequestGeneratorTest : public ::testing::Test { - protected: - content::BrowserTaskEnvironment task_environment_; - - TestingProfile profile_; - -#if !defined(OS_CHROMEOS) - policy::FakeBrowserDMTokenStorage dm_token_storage_; -#endif // !defined(OS_CHROMEOS) -}; - -TEST_F(ChromeDesktopReportRequestGeneratorTest, OSInfo) { - std::unique_ptr<em::ChromeDesktopReportRequest> request; - std::string expected_os_info; - - expected_os_info = base::StringPrintf( - R"({"arch":"%s","os":"%s","os_version":"%s"})", - policy::GetOSArchitecture().c_str(), policy::GetOSPlatform().c_str(), - policy::GetOSVersion().c_str()); - request = - GenerateChromeDesktopReportRequest(base::DictionaryValue(), &profile_); - ASSERT_TRUE(request); - EXPECT_EQ(expected_os_info, request->os_info()); -} - -TEST_F(ChromeDesktopReportRequestGeneratorTest, MachineName) { - std::unique_ptr<em::ChromeDesktopReportRequest> request; - std::string expected_machine_name; - - expected_machine_name = base::StringPrintf(R"({"computername":"%s"})", - policy::GetMachineName().c_str()); - request = - GenerateChromeDesktopReportRequest(base::DictionaryValue(), &profile_); - ASSERT_TRUE(request); - EXPECT_EQ(expected_machine_name, request->machine_name()); -} - -TEST_F(ChromeDesktopReportRequestGeneratorTest, OSUsername) { - std::unique_ptr<em::ChromeDesktopReportRequest> request; - std::string expected_os_username, os_username_escaped; - - // The username needs to be escaped as the name can contain slashes. - base::EscapeJSONString(policy::GetOSUsername(), false, &os_username_escaped); - expected_os_username = - base::StringPrintf(R"({"username":"%s"})", os_username_escaped.c_str()); - - request = - GenerateChromeDesktopReportRequest(base::DictionaryValue(), &profile_); - ASSERT_TRUE(request); - EXPECT_EQ(expected_os_username, request->os_user()); -} - -TEST_F(ChromeDesktopReportRequestGeneratorTest, ProfileName) { - // Set the profile name to a known value to compare against. - const std::string test_name("TEST"); - profile_.GetPrefs()->SetString(prefs::kProfileName, test_name); - - // An empty report suffices for this test. The information of interest is - // sourced from the profile - std::unique_ptr<em::ChromeDesktopReportRequest> request = - GenerateChromeDesktopReportRequest(base::DictionaryValue(), &profile_); - ASSERT_TRUE(request); - - // Make sure the user name was set in the proto. - EXPECT_EQ(test_name, - request->browser_report().chrome_user_profile_reports(0).name()); -} - -TEST_F(ChromeDesktopReportRequestGeneratorTest, ExtensionList) { - std::unique_ptr<em::ChromeDesktopReportRequest> request; - std::unique_ptr<base::DictionaryValue> report; - std::string expected_extension_list; - - // Extension list will be a empty list by default. - expected_extension_list = "[]"; - report = base::DictionaryValue::From(base::JSONReader::ReadDeprecated( - R"({"browserReport": {"chromeUserProfileReport":[{}]}})")); - ASSERT_TRUE(report); - request = GenerateChromeDesktopReportRequest(*report, &profile_); - ASSERT_TRUE(request); - EXPECT_EQ(expected_extension_list, request->browser_report() - .chrome_user_profile_reports(0) - .extension_data()); - - // Extension list will be copied from the |report|. - expected_extension_list = R"([{"id":"1\\\""}])"; - report = base::DictionaryValue::From(base::JSONReader::ReadDeprecated( - R"({"browserReport": - {"chromeUserProfileReport": - [ - {"extensionData": [{"id":"1\\\""}]} - ] - } - })")); - ASSERT_TRUE(report); - request = GenerateChromeDesktopReportRequest(*report, &profile_); - ASSERT_TRUE(request); - EXPECT_EQ(expected_extension_list, request->browser_report() - .chrome_user_profile_reports(0) - .extension_data()); -} - -TEST_F(ChromeDesktopReportRequestGeneratorTest, PluginList) { - std::unique_ptr<em::ChromeDesktopReportRequest> request; - std::unique_ptr<base::DictionaryValue> report; - std::string expected_plugin_list; - - expected_plugin_list = R"([{"id":"1\\\""}])"; - report = base::DictionaryValue::From(base::JSONReader::ReadDeprecated( - R"({"browserReport": - {"chromeUserProfileReport": - [ - {"plugins": [{"id":"1\\\""}]} - ] - } - })")); - ASSERT_TRUE(report); - request = GenerateChromeDesktopReportRequest(*report, &profile_); - ASSERT_TRUE(request); - EXPECT_EQ(expected_plugin_list, - request->browser_report().chrome_user_profile_reports(0).plugins()); -} - -TEST_F(ChromeDesktopReportRequestGeneratorTest, SignedInUser) { - std::unique_ptr<em::ChromeDesktopReportRequest> request; - std::unique_ptr<base::DictionaryValue> report; - std::string expected_signed_in_user; - - expected_signed_in_user = R"({"email":"a\\@example.com"})"; - report = base::DictionaryValue::From(base::JSONReader::ReadDeprecated( - R"({"browserReport": - {"chromeUserProfileReport": - [ - {"chromeSignInUser": {"email":"a\\@example.com"}} - ] - } - })")); - ASSERT_TRUE(report); - request = GenerateChromeDesktopReportRequest(*report, &profile_); - ASSERT_TRUE(request); - EXPECT_EQ(expected_signed_in_user, request->browser_report() - .chrome_user_profile_reports(0) - .chrome_signed_in_user()); -} - -TEST_F(ChromeDesktopReportRequestGeneratorTest, ProfileID) { - std::unique_ptr<em::ChromeDesktopReportRequest> request; - - // |chrome_user_profile_report| will be created with Profile ID by default. - request = - GenerateChromeDesktopReportRequest(base::DictionaryValue(), &profile_); - ASSERT_TRUE(request); - EXPECT_EQ(profile_.GetPath().AsUTF8Unsafe(), - request->browser_report().chrome_user_profile_reports(0).id()); - - // Profile ID will be merged into the first item of - // |chrome_user_profile_reports| - std::unique_ptr<base::DictionaryValue> report = base::DictionaryValue::From( - base::JSONReader::ReadDeprecated(R"({"browserReport": - {"chromeUserProfileReport":[ - {"extensionData": [{"id":"1"}]} - ]} - })")); - ASSERT_TRUE(report); - request = GenerateChromeDesktopReportRequest(*report, &profile_); - ASSERT_TRUE(request); - EXPECT_EQ(profile_.GetPath().AsUTF8Unsafe(), - request->browser_report().chrome_user_profile_reports(0).id()); -} - -TEST_F(ChromeDesktopReportRequestGeneratorTest, InvalidInput) { - // |request| will not be generated if the type of input is invalid. - std::unique_ptr<base::DictionaryValue> report; - report = base::DictionaryValue::From(base::JSONReader::ReadDeprecated( - R"({"browserReport": - {"chromeUserProfileReport":[{"extensionData":{}}]}})")); - ASSERT_TRUE(report); - EXPECT_FALSE(GenerateChromeDesktopReportRequest(*report, &profile_)); - - report = base::DictionaryValue::From(base::JSONReader::ReadDeprecated( - R"({"browserReport": - {"chromeUserProfileReport":[{"chromeSignInUser":""}]}})")); - ASSERT_TRUE(report); - EXPECT_FALSE(GenerateChromeDesktopReportRequest(*report, &profile_)); -} - -TEST_F(ChromeDesktopReportRequestGeneratorTest, SafeBrowsing) { - profile_.GetPrefs()->SetBoolean(enterprise_reporting::kReportSafeBrowsingData, - true); - - std::unique_ptr<base::DictionaryValue> report; - report = base::DictionaryValue::From( - base::JSONReader::ReadDeprecated(R"({"browserReport": - {"chromeUserProfileReport":[{ - "safeBrowsingWarnings":"invalid" - }] - } - })")); - ASSERT_TRUE(report); - EXPECT_FALSE(GenerateChromeDesktopReportRequest(*report, &profile_)); - - report = base::DictionaryValue::From(base::JSONReader::ReadDeprecated( - R"({"browserReport": - {"chromeUserProfileReport":[{ - "safeBrowsingWarningsClickThrough": "invalid"}] - } - })")); - ASSERT_TRUE(report); - EXPECT_FALSE(GenerateChromeDesktopReportRequest(*report, &profile_)); - - report = base::DictionaryValue::From(base::JSONReader::ReadDeprecated( - R"({"browserReport": - {"chromeUserProfileReport":[{ - "safeBrowsingWarnings":3, - "safeBrowsingWarningsClickThrough":1 - }] - } - })")); - ASSERT_TRUE(report); - std::unique_ptr<em::ChromeDesktopReportRequest> request = - GenerateChromeDesktopReportRequest(*report, &profile_); - ASSERT_TRUE(request); - EXPECT_EQ(3u, request->browser_report() - .chrome_user_profile_reports(0) - .safe_browsing_warnings()); - EXPECT_EQ(1u, request->browser_report() - .chrome_user_profile_reports(0) - .safe_browsing_warnings_click_through()); -} - -TEST_F(ChromeDesktopReportRequestGeneratorTest, DontReportPolicyData) { - PrefService* prefs = profile_.GetPrefs(); - prefs->SetBoolean(enterprise_reporting::kReportPolicyData, false); - - std::unique_ptr<em::ChromeDesktopReportRequest> request = - GenerateChromeDesktopReportRequest(base::DictionaryValue(), &profile_); - - ASSERT_TRUE(request); - const em::ChromeUserProfileReport& profile = - request->browser_report().chrome_user_profile_reports(0); - EXPECT_FALSE(profile.has_policy_data()); - EXPECT_FALSE(profile.has_policy_fetched_timestamp()); -} - -TEST_F(ChromeDesktopReportRequestGeneratorTest, - DontReportExtensionsOrPluginsData) { - PrefService* prefs = profile_.GetPrefs(); - prefs->SetBoolean(enterprise_reporting::kReportExtensionsAndPluginsData, - false); - - std::unique_ptr<base::DictionaryValue> report = base::DictionaryValue::From( - base::JSONReader::ReadDeprecated(R"({"browserReport": - {"chromeUserProfileReport":[ - {"extensionData": [{"id":"1"}], - "plugins": [{"id":"2"}] - }]}})")); - ASSERT_TRUE(report); - std::unique_ptr<em::ChromeDesktopReportRequest> request = - GenerateChromeDesktopReportRequest(*report, &profile_); - ASSERT_TRUE(request); - EXPECT_FALSE(request->browser_report() - .chrome_user_profile_reports(0) - .has_extension_data()); - EXPECT_FALSE( - request->browser_report().chrome_user_profile_reports(0).has_plugins()); -} - -TEST_F(ChromeDesktopReportRequestGeneratorTest, DontReportSafeBrowsingData) { - PrefService* prefs = profile_.GetPrefs(); - prefs->SetBoolean(enterprise_reporting::kReportSafeBrowsingData, false); - - std::unique_ptr<base::DictionaryValue> report = base::DictionaryValue::From( - base::JSONReader::ReadDeprecated(R"({"browserReport": - {"chromeUserProfileReport":[ - {"safeBrowsingWarnings" : 1, - "safeBrowsingWarningsClickThrough": 2 - }]}})")); - ASSERT_TRUE(report); - std::unique_ptr<em::ChromeDesktopReportRequest> request = - GenerateChromeDesktopReportRequest(*report, &profile_); - ASSERT_TRUE(request); - EXPECT_FALSE(request->browser_report() - .chrome_user_profile_reports(0) - .has_safe_browsing_warnings()); - EXPECT_FALSE(request->browser_report() - .chrome_user_profile_reports(0) - .has_safe_browsing_warnings_click_through()); -} - -TEST_F(ChromeDesktopReportRequestGeneratorTest, SerialNumberNotEmpty) { - std::unique_ptr<em::ChromeDesktopReportRequest> request; - request = - GenerateChromeDesktopReportRequest(base::DictionaryValue(), &profile_); - ASSERT_TRUE(request); -#if defined(OS_WIN) - EXPECT_NE(request->serial_number(), std::string()); -#else - EXPECT_TRUE(request->serial_number().empty()); -#endif -} - -} // namespace extensions
diff --git a/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc b/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc index ab1b540..2d56bf07 100644 --- a/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc +++ b/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc
@@ -6,46 +6,20 @@ #include <memory> #include <utility> -#include <vector> #include "base/bind.h" -#include "base/json/json_writer.h" -#include "base/location.h" +#include "base/strings/stringprintf.h" #include "base/task/post_task.h" #include "base/task/thread_pool.h" #include "base/values.h" #include "build/build_config.h" -#include "chrome/browser/browser_process.h" #include "chrome/browser/extensions/api/enterprise_reporting_private/device_info_fetcher.h" -#include "chrome/browser/net/system_network_context_manager.h" -#include "chrome/browser/policy/chrome_browser_policy_connector.h" -#include "chrome/browser/profiles/profile.h" #include "components/enterprise/browser/controller/browser_dm_token_storage.h" -#include "components/policy/core/common/cloud/cloud_policy_client.h" -#include "components/policy/core/common/cloud/device_management_service.h" -#include "components/policy/proto/device_management_backend.pb.h" -#include "services/network/public/cpp/shared_url_loader_factory.h" - -namespace em = enterprise_management; namespace extensions { -namespace { - -void LogReportError(const std::string& reason) { - VLOG(1) << "Enterprise report is not uploaded: " << reason; -} -void LogReportErrorCode(const std::string& reason, long int code) { - VLOG(1) << "Enterprise report is not uploaded: " << reason - << " code: " << code; -} - -} // namespace namespace enterprise_reporting { -const char kInvalidInputErrorMessage[] = "The report is not valid."; -const char kUploadFailed[] = "Failed to upload the report."; -const char kDeviceNotEnrolled[] = "This device has not been enrolled yet."; const char kDeviceIdNotFound[] = "Failed to retrieve the device id."; const char kEndpointVerificationRetrievalFailed[] = "Failed to retrieve the endpoint verification data."; @@ -55,105 +29,6 @@ } // namespace enterprise_reporting -// UploadDesktopReport - -EnterpriseReportingPrivateUploadChromeDesktopReportFunction:: - EnterpriseReportingPrivateUploadChromeDesktopReportFunction() - : EnterpriseReportingPrivateUploadChromeDesktopReportFunction( - g_browser_process->system_network_context_manager() - ->GetSharedURLLoaderFactory()) {} - -EnterpriseReportingPrivateUploadChromeDesktopReportFunction:: - EnterpriseReportingPrivateUploadChromeDesktopReportFunction( - scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory) { - policy::DeviceManagementService* device_management_service = - g_browser_process->browser_policy_connector() - ->device_management_service(); - // Initial the DeviceManagementService if it exist and hasn't been initialized - if (device_management_service) - device_management_service->ScheduleInitialization(0); - - cloud_policy_client_ = std::make_unique<policy::CloudPolicyClient>( - device_management_service, std::move(url_loader_factory), - policy::CloudPolicyClient::DeviceDMTokenCallback()); - dm_token_ = policy::BrowserDMTokenStorage::Get()->RetrieveDMToken(); - client_id_ = policy::BrowserDMTokenStorage::Get()->RetrieveClientId(); -} - -EnterpriseReportingPrivateUploadChromeDesktopReportFunction:: - ~EnterpriseReportingPrivateUploadChromeDesktopReportFunction() {} - -// static -EnterpriseReportingPrivateUploadChromeDesktopReportFunction* -EnterpriseReportingPrivateUploadChromeDesktopReportFunction::CreateForTesting( - scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory) { - return new EnterpriseReportingPrivateUploadChromeDesktopReportFunction( - url_loader_factory); -} - -ExtensionFunction::ResponseAction -EnterpriseReportingPrivateUploadChromeDesktopReportFunction::Run() { - VLOG(1) << "Uploading enterprise report"; - - if (!dm_token_.is_valid() || client_id_.empty()) { - LogReportError("Device is not enrolled."); - return RespondNow(Error(enterprise_reporting::kDeviceNotEnrolled)); - } - std::unique_ptr< - api::enterprise_reporting_private::UploadChromeDesktopReport::Params> - params(api::enterprise_reporting_private::UploadChromeDesktopReport:: - Params::Create(*args_)); - EXTENSION_FUNCTION_VALIDATE(params.get()); - std::unique_ptr<em::ChromeDesktopReportRequest> request = - GenerateChromeDesktopReportRequest( - params->report.additional_properties, - Profile::FromBrowserContext(browser_context())); - if (!request) { - LogReportError("The input from extension is not valid."); - return RespondNow(Error(enterprise_reporting::kInvalidInputErrorMessage)); - } - - if (!cloud_policy_client_->is_registered()) - cloud_policy_client_->SetupRegistration(dm_token_.value(), client_id_, - std::vector<std::string>()); - - cloud_policy_client_->UploadChromeDesktopReport( - std::move(request), - base::BindOnce( - &EnterpriseReportingPrivateUploadChromeDesktopReportFunction:: - OnReportUploaded, - this)); - return RespondLater(); -} - -void EnterpriseReportingPrivateUploadChromeDesktopReportFunction:: - SetCloudPolicyClientForTesting( - std::unique_ptr<policy::CloudPolicyClient> client) { - cloud_policy_client_ = std::move(client); -} - -void EnterpriseReportingPrivateUploadChromeDesktopReportFunction:: - SetRegistrationInfoForTesting(const policy::DMToken& dm_token, - const std::string& client_id) { - dm_token_ = dm_token; - client_id_ = client_id; -} - -void EnterpriseReportingPrivateUploadChromeDesktopReportFunction:: - OnReportUploaded(bool status) { - // Schedule to delete |cloud_policy_client_| later, as we'll be deleted right - // after calling Respond but |cloud_policy_client_| is not done yet. - base::ThreadTaskRunnerHandle::Get()->DeleteSoon( - FROM_HERE, cloud_policy_client_.release()); - if (status) { - VLOG(1) << "The enterprise report has been uploaded."; - Respond(NoArguments()); - } else { - LogReportError("Server error."); - Respond(Error(enterprise_reporting::kUploadFailed)); - } -} - // GetDeviceId EnterpriseReportingPrivateGetDeviceIdFunction:: @@ -207,7 +82,7 @@ reinterpret_cast<const uint8_t*>(data.data()), reinterpret_cast<const uint8_t*>(data.data() + data.size()))))); } else { - LogReportErrorCode("Endpoint Verification secret retrieval error.", status); + VLOG(1) << "Endpoint Verification secret retrieval error: " << status; Respond(Error(base::StringPrintf( enterprise_reporting::kEndpointVerificationSecretRetrievalFailed, static_cast<long int>(status)))); @@ -254,8 +129,8 @@ Respond(NoArguments()); return; default: - LogReportErrorCode("Endpoint Verification data retrieval error.", - static_cast<long int>(status)); + VLOG(1) << "Endpoint Verification data retrieval error: " + << static_cast<long int>(status); Respond( Error(enterprise_reporting::kEndpointVerificationRetrievalFailed)); } @@ -291,7 +166,7 @@ VLOG(1) << "The Endpoint Verification data was stored."; Respond(NoArguments()); } else { - LogReportError("Endpoint Verification data storage error."); + VLOG(1) << "Endpoint Verification data storage error."; Respond(Error(enterprise_reporting::kEndpointVerificationStoreFailed)); } }
diff --git a/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h b/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h index 1778b6c..4de4e4d4 100644 --- a/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h +++ b/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h
@@ -8,68 +8,17 @@ #include <memory> #include <string> -#include "base/memory/ref_counted.h" #include "chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.h" #include "chrome/common/extensions/api/enterprise_reporting_private.h" -#include "components/policy/core/common/cloud/dm_token.h" #include "extensions/browser/extension_function.h" -namespace policy { -class CloudPolicyClient; -} - -namespace network { -class SharedURLLoaderFactory; -} - namespace extensions { namespace enterprise_reporting { -extern const char kInvalidInputErrorMessage[]; -extern const char kUploadFailed[]; -extern const char kDeviceNotEnrolled[]; extern const char kDeviceIdNotFound[]; } // namespace enterprise_reporting -class EnterpriseReportingPrivateUploadChromeDesktopReportFunction - : public ExtensionFunction { - public: - DECLARE_EXTENSION_FUNCTION( - "enterprise.reportingPrivate.uploadChromeDesktopReport", - ENTERPRISEREPORTINGPRIVATE_UPLOADCHROMEDESKTOPREPORT) - EnterpriseReportingPrivateUploadChromeDesktopReportFunction(); - - // ExtensionFunction - ExtensionFunction::ResponseAction Run() override; - - void SetCloudPolicyClientForTesting( - std::unique_ptr<policy::CloudPolicyClient> client); - void SetRegistrationInfoForTesting(const policy::DMToken& dm_token, - const std::string& client_id); - - // Used by tests that want to overrode the URLLoaderFactory used to simulate - // network requests. - static EnterpriseReportingPrivateUploadChromeDesktopReportFunction* - CreateForTesting( - scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory); - - private: - explicit EnterpriseReportingPrivateUploadChromeDesktopReportFunction( - scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory); - - ~EnterpriseReportingPrivateUploadChromeDesktopReportFunction() override; - - // Callback once Chrome get the response from the DM Server. - void OnReportUploaded(bool status); - - std::unique_ptr<policy::CloudPolicyClient> cloud_policy_client_; - policy::DMToken dm_token_; - std::string client_id_; - - DISALLOW_COPY_AND_ASSIGN( - EnterpriseReportingPrivateUploadChromeDesktopReportFunction); -}; class EnterpriseReportingPrivateGetDeviceIdFunction : public ExtensionFunction { public:
diff --git a/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_unittest.cc b/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_unittest.cc index 1d27af9..7c1b424 100644 --- a/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_unittest.cc +++ b/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_unittest.cc
@@ -4,131 +4,30 @@ #include "chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h" -#include "base/bind.h" #include "base/files/scoped_temp_dir.h" #include "base/macros.h" -#include "base/path_service.h" -#include "base/strings/stringprintf.h" #include "build/build_config.h" #include "chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.h" #include "chrome/browser/extensions/extension_api_unittest.h" #include "chrome/browser/extensions/extension_function_test_utils.h" #include "chrome/common/extensions/api/enterprise_reporting_private.h" #include "components/enterprise/browser/controller/fake_browser_dm_token_storage.h" -#include "components/policy/core/common/cloud/mock_cloud_policy_client.h" -#include "services/network/public/cpp/weak_wrapper_shared_url_loader_factory.h" -#include "services/network/test/test_url_loader_factory.h" -#include "testing/gmock/include/gmock/gmock.h" +#include "testing/gtest/include/gtest/gtest.h" #if defined(OS_WIN) #include "base/test/test_reg_util_win.h" #endif -using ::testing::_; -using ::testing::Invoke; -using ::testing::WithArgs; - namespace enterprise_reporting_private = ::extensions::api::enterprise_reporting_private; namespace extensions { namespace { -const char kFakeDMToken[] = "fake-dm-token"; const char kFakeClientId[] = "fake-client-id"; -const char kFakeMachineNameReport[] = "{\"computername\":\"name\"}"; } // namespace -// Test for API enterprise.reportingPrivate.uploadChromeDesktopReport -class EnterpriseReportingPrivateUploadChromeDesktopReportTest - : public ExtensionApiUnittest { - public: - EnterpriseReportingPrivateUploadChromeDesktopReportTest() {} - - ExtensionFunction* CreateChromeDesktopReportingFunction( - const std::string& dm_token) { - EnterpriseReportingPrivateUploadChromeDesktopReportFunction* function = - EnterpriseReportingPrivateUploadChromeDesktopReportFunction:: - CreateForTesting(test_url_loader_factory_.GetSafeWeakWrapper()); - auto client = std::make_unique<policy::MockCloudPolicyClient>( - test_url_loader_factory_.GetSafeWeakWrapper()); - client_ = client.get(); - function->SetCloudPolicyClientForTesting(std::move(client)); - if (dm_token.empty()) { - function->SetRegistrationInfoForTesting( - policy::DMToken::CreateEmptyTokenForTesting(), kFakeClientId); - } else { - function->SetRegistrationInfoForTesting( - policy::DMToken::CreateValidTokenForTesting(dm_token), kFakeClientId); - } - return function; - } - - std::string GenerateArgs(const char* name) { - return base::StringPrintf("[{\"machineName\":%s}]", name); - } - - std::string GenerateInvalidReport() { - // This report is invalid as the chromeSignInUser dictionary should not be - // wrapped in a list. - return std::string( - "[{\"browserReport\": " - "{\"chromeUserProfileReport\":[{\"chromeSignInUser\":\"Name\"}]}}]"); - } - - policy::MockCloudPolicyClient* client_; - - private: - network::TestURLLoaderFactory test_url_loader_factory_; - policy::FakeBrowserDMTokenStorage storage_; - - DISALLOW_COPY_AND_ASSIGN( - EnterpriseReportingPrivateUploadChromeDesktopReportTest); -}; - -TEST_F(EnterpriseReportingPrivateUploadChromeDesktopReportTest, - DeviceIsNotEnrolled) { - ASSERT_EQ(enterprise_reporting::kDeviceNotEnrolled, - RunFunctionAndReturnError( - CreateChromeDesktopReportingFunction(std::string()), - GenerateArgs(kFakeMachineNameReport))); -} - -TEST_F(EnterpriseReportingPrivateUploadChromeDesktopReportTest, - ReportIsNotValid) { - ASSERT_EQ(enterprise_reporting::kInvalidInputErrorMessage, - RunFunctionAndReturnError( - CreateChromeDesktopReportingFunction(kFakeDMToken), - GenerateInvalidReport())); -} - -TEST_F(EnterpriseReportingPrivateUploadChromeDesktopReportTest, UploadFailed) { - ExtensionFunction* function = - CreateChromeDesktopReportingFunction(kFakeDMToken); - EXPECT_CALL(*client_, SetupRegistration(kFakeDMToken, kFakeClientId, _)) - .Times(1); - EXPECT_CALL(*client_, UploadChromeDesktopReportProxy(_, _)) - .WillOnce(WithArgs<1>(policy::ScheduleStatusCallback(false))); - ASSERT_EQ(enterprise_reporting::kUploadFailed, - RunFunctionAndReturnError(function, - GenerateArgs(kFakeMachineNameReport))); - ::testing::Mock::VerifyAndClearExpectations(client_); -} - -TEST_F(EnterpriseReportingPrivateUploadChromeDesktopReportTest, - UploadSucceeded) { - ExtensionFunction* function = - CreateChromeDesktopReportingFunction(kFakeDMToken); - EXPECT_CALL(*client_, SetupRegistration(kFakeDMToken, kFakeClientId, _)) - .Times(1); - EXPECT_CALL(*client_, UploadChromeDesktopReportProxy(_, _)) - .WillOnce(WithArgs<1>(policy::ScheduleStatusCallback(true))); - ASSERT_EQ(nullptr, RunFunctionAndReturnValue( - function, GenerateArgs(kFakeMachineNameReport))); - ::testing::Mock::VerifyAndClearExpectations(client_); -} - // Test for API enterprise.reportingPrivate.getDeviceId class EnterpriseReportingPrivateGetDeviceIdTest : public ExtensionApiUnittest { public:
diff --git a/chrome/browser/extensions/content_script_apitest.cc b/chrome/browser/extensions/content_script_apitest.cc index f9c9c16..faef6c0 100644 --- a/chrome/browser/extensions/content_script_apitest.cc +++ b/chrome/browser/extensions/content_script_apitest.cc
@@ -1105,8 +1105,9 @@ void SetUpOnMainThread() override; - // Whether the extension's content script should also match data: URLs. - virtual bool IncludeMatchDataUrls() { return false; } + // Whether the extension's content script should specify + // match_origin_as_fallback as true. + virtual bool IncludeMatchOriginAsFallback() { return false; } // Returns true if the extension's content script executed in the specified // |frame|. @@ -1198,8 +1199,8 @@ }] })"; const char* extra_property = ""; - if (IncludeMatchDataUrls()) - extra_property = R"("match_data_urls": true,)"; + if (IncludeMatchOriginAsFallback()) + extra_property = R"("match_origin_as_fallback": true,)"; std::string manifest = base::StringPrintf(kManifest, extra_property); test_extension_dir_.WriteManifest(manifest); @@ -1368,11 +1369,11 @@ public: ContentScriptDataURLTest() { feature_list_.InitAndEnableFeature( - extensions_features::kContentScriptsOnDataUrls); + extensions_features::kContentScriptsMatchOriginAsFallback); } ~ContentScriptDataURLTest() override = default; - bool IncludeMatchDataUrls() override { return true; } + bool IncludeMatchOriginAsFallback() override { return true; } private: base::test::ScopedFeatureList feature_list_;
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json index e546ac0..c3532dd 100644 --- a/chrome/browser/flag-metadata.json +++ b/chrome/browser/flag-metadata.json
@@ -2503,6 +2503,11 @@ "expiry_milestone": 89 }, { + "name": "force-enable-devices-page", + "owners": [ "thestig", "rbpotter", "dhoss" ], + "expiry_milestone": 88 + }, + { "name": "force-preferred-interval-for-video", "owners": [ "khushalsagar" ], "expiry_milestone": 89 @@ -3767,6 +3772,11 @@ "expiry_milestone": 79 }, { + "name": "release-notes-notification", + "owners": [ "//chromeos/components/help_app_ui/OWNERS" ], + "expiry_milestone": 90 + }, + { "name": "reload-sad-tab", "owners": [ "gambard", "bling-flags" ], "expiry_milestone": 85
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc index 6c5019b2..dcdb4f3 100644 --- a/chrome/browser/flag_descriptions.cc +++ b/chrome/browser/flag_descriptions.cc
@@ -330,8 +330,10 @@ const char kAutoScreenBrightnessName[] = "Auto Screen Brightness model"; const char kAutoScreenBrightnessDescription[] = - "Uses Auto Screen Brightness model to adjust screen brightness based on " - "ambient light"; + "Uses Auto Screen Brightness ML model (if it exists) to adjust screen " + "brightness based on ambient light. If disabled, screen brightness " + "will be controlled by the heuristic method from power (and only on " + "devices that have ambient light sensors)."; const char kAvatarToolbarButtonName[] = "Avatar Toolbar Button"; const char kAvatarToolbarButtonDescription[] = @@ -502,6 +504,12 @@ const char kDeviceDiscoveryNotificationsDescription[] = "Device discovery notifications on local network."; +const char kForceEnableDevicesPageName[] = "Force enable chrome://devices page"; +const char kForceEnableDevicesPageDescription[] = + "With this flag on, the chrome://devices page will show its previous " + "content, instead of a warning message. Note: chrome://devices is " + "no longer supported, and this flag will be permanently removed in M88."; + const char kDisableBestEffortTasksName[] = "Skip best effort tasks"; const char kDisableBestEffortTasksDescription[] = "With this flag on, tasks of the lowest priority will not be executed " @@ -4140,6 +4148,10 @@ "Creates release notes app in settings menu that shows a webview " "describing new OS features."; +const char kReleaseNotesNotificationName[] = "Release Notes Notification"; +const char kReleaseNotesNotificationDescription[] = + "Enables the release notes notification and suggestion chip"; + const char kScanningUIName[] = "Scanning UI"; const char kScanningUIDescription[] = "An experimental UI that allows users to interact with a connected "
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h index 593cf64..4fd808b 100644 --- a/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h
@@ -312,6 +312,9 @@ extern const char kDeviceDiscoveryNotificationsName[]; extern const char kDeviceDiscoveryNotificationsDescription[]; +extern const char kForceEnableDevicesPageName[]; +extern const char kForceEnableDevicesPageDescription[]; + extern const char kDisableBestEffortTasksName[]; extern const char kDisableBestEffortTasksDescription[]; @@ -2419,6 +2422,9 @@ extern const char kReleaseNotesName[]; extern const char kReleaseNotesDescription[]; +extern const char kReleaseNotesNotificationName[]; +extern const char kReleaseNotesNotificationDescription[]; + extern const char kScanningUIName[]; extern const char kScanningUIDescription[];
diff --git a/chrome/browser/global_keyboard_shortcuts_mac.mm b/chrome/browser/global_keyboard_shortcuts_mac.mm index 332ef25..8539450 100644 --- a/chrome/browser/global_keyboard_shortcuts_mac.mm +++ b/chrome/browser/global_keyboard_shortcuts_mac.mm
@@ -166,6 +166,7 @@ {true, false, false, true, kVK_ANSI_L, IDC_SHOW_DOWNLOADS}, {true, true, false, false, kVK_ANSI_C, IDC_DEV_TOOLS_INSPECT}, {true, false, false, true, kVK_ANSI_C, IDC_DEV_TOOLS_INSPECT}, + {true, true, false, false, kVK_ANSI_E, IDC_TAB_SEARCH}, {true, false, false, true, kVK_DownArrow, IDC_FOCUS_NEXT_PANE}, {true, false, false, true, kVK_UpArrow, IDC_FOCUS_PREVIOUS_PANE},
diff --git a/chrome/browser/platform_util.cc b/chrome/browser/platform_util.cc index d1a4eb700..e105e55 100644 --- a/chrome/browser/platform_util.cc +++ b/chrome/browser/platform_util.cc
@@ -55,6 +55,10 @@ shell_operations_allowed = false; } +bool AreShellOperationsAllowed() { + return shell_operations_allowed; +} + } // namespace internal void OpenItem(Profile* profile,
diff --git a/chrome/browser/platform_util_internal.h b/chrome/browser/platform_util_internal.h index 3c6f02c..372ad40 100644 --- a/chrome/browser/platform_util_internal.h +++ b/chrome/browser/platform_util_internal.h
@@ -24,6 +24,9 @@ // Prevent shell or external applications from being invoked during testing. void DisableShellOperationsForTesting(); +// Returns false if DisableShellOperationsForTesting() has been called. +bool AreShellOperationsAllowed(); + } // namespace internal } // namespace platform_util
diff --git a/chrome/browser/platform_util_linux.cc b/chrome/browser/platform_util_linux.cc index 86cb40c..cbe3372 100644 --- a/chrome/browser/platform_util_linux.cc +++ b/chrome/browser/platform_util_linux.cc
@@ -85,6 +85,11 @@ {"file://" + full_path.value()}); // List of file(s) to highlight. writer.AppendString({}); // startup-id + // Skip opening the folder during browser tests, to avoid leaving an open + // file explorer window behind. + if (!internal::AreShellOperationsAllowed()) + return; + filemanager_proxy_->CallMethod( &show_items_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, base::BindOnce(&ShowItemHelper::ShowItemInFolderResponse,
diff --git a/chrome/browser/platform_util_win.cc b/chrome/browser/platform_util_win.cc index a990aac..0f72f94 100644 --- a/chrome/browser/platform_util_win.cc +++ b/chrome/browser/platform_util_win.cc
@@ -66,6 +66,11 @@ const ITEMIDLIST* highlight[] = {file_item}; + // Skip opening the folder during browser tests, to avoid leaving an open + // file explorer window behind. + if (!platform_util::internal::AreShellOperationsAllowed()) + return; + hr = SHOpenFolderAndSelectItems(dir_item, base::size(highlight), highlight, 0); if (FAILED(hr)) {
diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc index 991a13c..1112812 100644 --- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc +++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
@@ -939,6 +939,9 @@ { key::kNativePrintersBulkWhitelist, prefs::kRecommendedNativePrintersWhitelist, base::Value::Type::LIST }, + { key::kDeviceExternalPrintServersAllowlist, + prefs::kDeviceExternalPrintServersAllowlist, + base::Value::Type::LIST }, { key::kAllowedLanguages, prefs::kAllowedLanguages, base::Value::Type::LIST },
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc index 5344b93..89ce953 100644 --- a/chrome/browser/prefs/browser_prefs.cc +++ b/chrome/browser/prefs/browser_prefs.cc
@@ -770,7 +770,9 @@ ChromeOSMetricsProvider::RegisterPrefs(registry); chromeos::ArcKioskAppManager::RegisterPrefs(registry); chromeos::AudioDevicesPrefHandlerImpl::RegisterPrefs(registry); + chromeos::cert_provisioning::RegisterLocalStatePrefs(registry); chromeos::ChromeUserManagerImpl::RegisterPrefs(registry); + chromeos::CupsPrintersManager::RegisterLocalStatePrefs(registry); chromeos::DemoModeDetector::RegisterPrefs(registry); chromeos::DemoModeResourcesRemover::RegisterLocalStatePrefs(registry); chromeos::DemoSession::RegisterLocalStatePrefs(registry); @@ -831,7 +833,6 @@ policy::SystemFeaturesDisableListPolicyHandler::RegisterPrefs(registry); quirks::QuirksManager::RegisterPrefs(registry); UpgradeDetectorChromeos::RegisterPrefs(registry); - chromeos::cert_provisioning::RegisterLocalStatePrefs(registry); #endif // defined(OS_CHROMEOS) #if defined(OS_MAC)
diff --git a/chrome/browser/printing/print_browsertest.cc b/chrome/browser/printing/print_browsertest.cc index 811e729..ce485040 100644 --- a/chrome/browser/printing/print_browsertest.cc +++ b/chrome/browser/printing/print_browsertest.cc
@@ -126,8 +126,8 @@ } // PrintingMessageFilter::TestDelegate: - PrintMsg_Print_Params GetPrintParams() override { - PrintMsg_Print_Params params; + mojom::PrintParams GetPrintParams() override { + mojom::PrintParams params; params.page_size = gfx::Size(612, 792); params.content_size = gfx::Size(540, 720); params.printable_area = gfx::Rect(612, 792);
diff --git a/chrome/browser/printing/printing_message_filter.cc b/chrome/browser/printing/printing_message_filter.cc index fb5d4834..762e2618 100644 --- a/chrome/browser/printing/printing_message_filter.cc +++ b/chrome/browser/printing/printing_message_filter.cc
@@ -160,10 +160,8 @@ void PrintingMessageFilter::OnGetDefaultPrintSettingsReply( std::unique_ptr<PrinterQuery> printer_query, IPC::Message* reply_msg) { - PrintMsg_Print_Params params; - if (!printer_query || printer_query->last_status() != PrintingContext::OK) { - params.Reset(); - } else { + mojom::PrintParams params; + if (printer_query && printer_query->last_status() == PrintingContext::OK) { RenderParamsFromPrintSettings(printer_query->settings(), ¶ms); params.document_cookie = printer_query->cookie(); }
diff --git a/chrome/browser/printing/printing_message_filter.h b/chrome/browser/printing/printing_message_filter.h index 9fbea6d..adb4ff6 100644 --- a/chrome/browser/printing/printing_message_filter.h +++ b/chrome/browser/printing/printing_message_filter.h
@@ -15,13 +15,13 @@ #include "build/build_config.h" #include "components/keyed_service/core/keyed_service_shutdown_notifier.h" #include "components/prefs/pref_member.h" +#include "components/printing/common/print.mojom-forward.h" #include "content/public/browser/browser_message_filter.h" #include "content/public/browser/browser_thread.h" #include "printing/buildflags/buildflags.h" struct PrintHostMsg_PreviewIds; struct PrintHostMsg_ScriptedPrint_Params; -struct PrintMsg_Print_Params; class Profile; namespace printing { @@ -36,7 +36,7 @@ class TestDelegate { public: // Returns the print params to be used in OnUpdatePrintSettingsReply(). - virtual PrintMsg_Print_Params GetPrintParams() = 0; + virtual mojom::PrintParams GetPrintParams() = 0; protected: virtual ~TestDelegate() = default;
diff --git a/chrome/browser/renderer_context_menu/render_view_context_menu.cc b/chrome/browser/renderer_context_menu/render_view_context_menu.cc index db1db22..36258d63 100644 --- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc +++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc
@@ -198,6 +198,12 @@ #endif // BUILDFLAG(ENABLE_PRINT_PREVIEW) #endif // BUILDFLAG(ENABLE_PRINTING) +#if BUILDFLAG(ENABLE_SUPERVISED_USERS) +#include "chrome/browser/supervised_user/supervised_user_service.h" +#include "chrome/browser/supervised_user/supervised_user_service_factory.h" +#include "chrome/browser/supervised_user/supervised_user_url_filter.h" +#endif + #if BUILDFLAG(GOOGLE_CHROME_BRANDING) #include "chrome/grit/theme_resources.h" #include "ui/base/resource/resource_bundle.h" @@ -2550,6 +2556,18 @@ return false; } +#if BUILDFLAG(ENABLE_SUPERVISED_USERS) + Profile* const profile = Profile::FromBrowserContext(browser_context_); + if (profile->IsChild()) { + SupervisedUserService* supervised_user_service = + SupervisedUserServiceFactory::GetForProfile(profile); + SupervisedUserURLFilter* url_filter = supervised_user_service->GetURLFilter(); + if (url_filter->GetFilteringBehaviorForURL(params_.link_url) != + SupervisedUserURLFilter::FilteringBehavior::ALLOW) + return false; + } +#endif + return params_.link_url.is_valid() && ProfileIOData::IsHandledProtocol(params_.link_url.scheme()); }
diff --git a/chrome/browser/renderer_context_menu/render_view_context_menu_browsertest.cc b/chrome/browser/renderer_context_menu/render_view_context_menu_browsertest.cc index efeed74..dcb85308 100644 --- a/chrome/browser/renderer_context_menu/render_view_context_menu_browsertest.cc +++ b/chrome/browser/renderer_context_menu/render_view_context_menu_browsertest.cc
@@ -42,6 +42,7 @@ #include "chrome/browser/web_applications/components/web_app_provider_base.h" #include "chrome/common/chrome_features.h" #include "chrome/common/chrome_render_frame.mojom.h" +#include "chrome/common/pref_names.h" #include "chrome/common/render_messages.h" #include "chrome/common/web_application_info.h" #include "chrome/test/base/in_process_browser_test.h" @@ -93,6 +94,13 @@ #include "ui/gfx/codec/jpeg_codec.h" #include "ui/gfx/codec/png_codec.h" +#if BUILDFLAG(ENABLE_SUPERVISED_USERS) +#include "chrome/browser/supervised_user/supervised_user_constants.h" +#include "chrome/browser/supervised_user/supervised_user_service.h" +#include "chrome/browser/supervised_user/supervised_user_service_factory.h" +#include "chrome/browser/supervised_user/supervised_user_url_filter.h" +#endif + #if defined(OS_CHROMEOS) #include "ash/public/cpp/window_pin_type.h" #include "ash/public/cpp/window_properties.h" @@ -388,6 +396,34 @@ EXPECT_FALSE(menu->IsCommandIdEnabled(IDC_CONTENT_CONTEXT_SAVELINKAS)); } +#if BUILDFLAG(ENABLE_SUPERVISED_USERS) +IN_PROC_BROWSER_TEST_F(ContextMenuBrowserTest, + SaveLinkAsEntryIsDisabledForUrlsNotAccessibleForChild) { + // Set up child user profile. + Profile* profile = browser()->profile(); + browser()->profile()->GetPrefs()->SetString( + prefs::kSupervisedUserId, supervised_users::kChildAccountSUID); + + // Block access to http://www.google.com/ in the URL filter. + SupervisedUserService* supervised_user_service = + SupervisedUserServiceFactory::GetForProfile(profile); + SupervisedUserURLFilter* url_filter = supervised_user_service->GetURLFilter(); + std::map<std::string, bool> hosts; + hosts["www.google.com"] = false; + url_filter->SetManualHosts(std::move(hosts)); + + base::RunLoop().RunUntilIdle(); + + std::unique_ptr<TestRenderViewContextMenu> menu = + CreateContextMenuMediaTypeNone(GURL("http://www.google.com/"), + GURL("http://www.google.com/")); + + ASSERT_TRUE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_SAVELINKAS)); + EXPECT_FALSE(menu->IsCommandIdEnabled(IDC_CONTENT_CONTEXT_SAVELINKAS)); +} + +#endif + #if defined(OS_CHROMEOS) IN_PROC_BROWSER_TEST_F(ContextMenuBrowserTest, ContextMenuEntriesAreDisabledInLockedFullscreen) {
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/background/background.js b/chrome/browser/resources/chromeos/accessibility/chromevox/background/background.js index a2a2e804..018350a 100644 --- a/chrome/browser/resources/chromeos/accessibility/chromevox/background/background.js +++ b/chrome/browser/resources/chromeos/accessibility/chromevox/background/background.js
@@ -161,46 +161,46 @@ // ChromeVox starts. sessionStorage.setItem('darkScreen', 'false'); - // A self-contained class to start and stop progress sounds before any - // speech has been generated on startup. This is important in cases where - // speech is severely delayed. - /** @implements {TtsCapturingEventListener} */ - const ProgressPlayer = class { - constructor() { - ChromeVox.tts.addCapturingEventListener(this); - ChromeVox.earcons.playEarcon(Earcon.CHROMEVOX_LOADING); - } + // A self-contained class to start and stop progress sounds before any + // speech has been generated on startup. This is important in cases where + // speech is severely delayed. + /** @implements {TtsCapturingEventListener} */ + const ProgressPlayer = class { + constructor() { + ChromeVox.tts.addCapturingEventListener(this); + ChromeVox.earcons.playEarcon(Earcon.CHROMEVOX_LOADING); + } - /** @override */ - onTtsStart() { - ChromeVox.earcons.playEarcon(Earcon.CHROMEVOX_LOADED); - ChromeVox.tts.removeCapturingEventListener(this); - } + /** @override */ + onTtsStart() { + ChromeVox.earcons.playEarcon(Earcon.CHROMEVOX_LOADED); + ChromeVox.tts.removeCapturingEventListener(this); + } - /** @override */ - onTtsEnd() {} - /** @override */ - onTtsInterrupted() {} - }; - new ProgressPlayer(); + /** @override */ + onTtsEnd() {} + /** @override */ + onTtsInterrupted() {} + }; + new ProgressPlayer(); - chrome.commandLinePrivate.hasSwitch( - 'enable-experimental-accessibility-chromevox-tutorial', (enabled) => { - if (!enabled) { - return; + chrome.commandLinePrivate.hasSwitch( + 'enable-experimental-accessibility-chromevox-tutorial', (enabled) => { + if (!enabled) { + return; + } + + chrome.loginState.getSessionState((sessionState) => { + // If starting ChromeVox from OOBE, start the ChromeVox tutorial. + // Use a timeout to allow ChromeVox to initialize first. + if (sessionState === + chrome.loginState.SessionState.IN_OOBE_SCREEN) { + setTimeout(() => { + (new PanelCommand(PanelCommandType.TUTORIAL)).send(); + }, 1000); } - - chrome.loginState.getSessionState((sessionState) => { - // If starting ChromeVox from OOBE, start the ChromeVox tutorial. - // Use a timeout to allow ChromeVox to initialize first. - if (sessionState === - chrome.loginState.SessionState.IN_OOBE_SCREEN) { - setTimeout(() => { - (new PanelCommand(PanelCommandType.TUTORIAL)).send(); - }, 1000); - } - }); }); + }); } /**
diff --git a/chrome/browser/resources/local_discovery/local_discovery_warning.html b/chrome/browser/resources/local_discovery/local_discovery_warning.html new file mode 100644 index 0000000..b94695fe5 --- /dev/null +++ b/chrome/browser/resources/local_discovery/local_discovery_warning.html
@@ -0,0 +1,32 @@ +<!doctype html> +<html dir="$i18n{textdirection}" lang="$i18n{language}"> +<head> + <meta charset="utf-8"> + <title>$i18n{devicesTitle}</title> + <link rel="stylesheet" href="chrome://resources/css/chrome_shared.css"> +</head> +<style> + body { + margin: 21px 10px 24px 10px; + } + + h1 { + margin: 0 0 13px 0; + } + + header { + border-bottom: 1px solid #eee; + max-width: 718px; + } + + div { + margin-top: 23px; + } +</style> +<body> + <header> + <h1>$i18n{devicesTitle}</h1> + </header> + <div>$i18nRaw{cloudPrintDeprecationWarning}</div> +</body> +</html>
diff --git a/chrome/browser/resources/print_preview/native_layer.js b/chrome/browser/resources/print_preview/native_layer.js index e653a8c..00b830f 100644 --- a/chrome/browser/resources/print_preview/native_layer.js +++ b/chrome/browser/resources/print_preview/native_layer.js
@@ -380,7 +380,7 @@ /** @override */ signIn() { - chrome.send('signIn', [true]); + chrome.send('signIn'); } // <if expr="chromeos">
diff --git a/chrome/browser/safe_browsing/android/java/src/org/chromium/chrome/browser/safe_browsing/settings/SecuritySettingsFragment.java b/chrome/browser/safe_browsing/android/java/src/org/chromium/chrome/browser/safe_browsing/settings/SecuritySettingsFragment.java index 15eb416a..de505ca 100644 --- a/chrome/browser/safe_browsing/android/java/src/org/chromium/chrome/browser/safe_browsing/settings/SecuritySettingsFragment.java +++ b/chrome/browser/safe_browsing/android/java/src/org/chromium/chrome/browser/safe_browsing/settings/SecuritySettingsFragment.java
@@ -52,7 +52,7 @@ safeBrowsingStateString = context.getString(R.string.safe_browsing_standard_protection_title); } else if (safeBrowsingState == SafeBrowsingState.NO_SAFE_BROWSING) { - safeBrowsingStateString = context.getString(R.string.safe_browsing_no_protection_title); + return context.getString(R.string.prefs_safe_browsing_no_protection_summary); } else { assert false : "Should not be reached"; }
diff --git a/chrome/browser/safe_browsing/android/javatests/src/org/chromium/chrome/browser/safe_browsing/settings/SecuritySettingsFragmentTest.java b/chrome/browser/safe_browsing/android/javatests/src/org/chromium/chrome/browser/safe_browsing/settings/SecuritySettingsFragmentTest.java index bc74ae9..032e68f 100644 --- a/chrome/browser/safe_browsing/android/javatests/src/org/chromium/chrome/browser/safe_browsing/settings/SecuritySettingsFragmentTest.java +++ b/chrome/browser/safe_browsing/android/javatests/src/org/chromium/chrome/browser/safe_browsing/settings/SecuritySettingsFragmentTest.java
@@ -17,7 +17,6 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; @@ -57,9 +56,6 @@ public SettingsActivityTestRule<SecuritySettingsFragment> mTestRule = new SettingsActivityTestRule<>(SecuritySettingsFragment.class); - @Rule - public TestRule mFeatureProcessor = new Features.InstrumentationProcessor(); - @Mock private SettingsLauncher mSettingsLauncher;
diff --git a/chrome/browser/safe_browsing/android/javatests/src/org/chromium/chrome/browser/safe_browsing/settings/StandardProtectionSettingsFragmentTest.java b/chrome/browser/safe_browsing/android/javatests/src/org/chromium/chrome/browser/safe_browsing/settings/StandardProtectionSettingsFragmentTest.java index 313f2bcd..0c2a726 100644 --- a/chrome/browser/safe_browsing/android/javatests/src/org/chromium/chrome/browser/safe_browsing/settings/StandardProtectionSettingsFragmentTest.java +++ b/chrome/browser/safe_browsing/android/javatests/src/org/chromium/chrome/browser/safe_browsing/settings/StandardProtectionSettingsFragmentTest.java
@@ -11,7 +11,6 @@ import org.junit.Assert; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.chromium.base.test.util.Feature; @@ -53,9 +52,6 @@ @Rule public final ChromeBrowserTestRule mBrowserTestRule = new ChromeBrowserTestRule(); - @Rule - public TestRule mFeatureProcessor = new Features.InstrumentationProcessor(); - private ChromeSwitchPreference mExtendedReportingPreference; private ChromeSwitchPreference mPasswordLeakDetectionPreference;
diff --git a/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc b/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc index f381eb0..39a63d4 100644 --- a/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc +++ b/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc
@@ -46,6 +46,7 @@ #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/ui_test_utils.h" #include "components/google/core/common/google_util.h" +#include "components/omnibox/browser/omnibox_prefs.h" #include "components/permissions/permission_util.h" #include "components/prefs/pref_service.h" #include "components/safe_browsing/content/browser/threat_details.h" @@ -93,6 +94,16 @@ #include "third_party/blink/public/common/features.h" #include "ui/base/l10n/l10n_util.h" +#if BUILDFLAG(ENABLE_EXTENSIONS) +// Delayed warnings feature checks if the Suspicious Site Reporter extension +// is installed. These includes are to fake-install this extension. +#include "chrome/browser/extensions/chrome_extension_test_notification_observer.h" +#include "chrome/browser/extensions/crx_installer.h" +#include "extensions/browser/notification_types.h" +#include "extensions/browser/test_extension_registry_observer.h" +#include "extensions/common/extension.h" +#endif + using chrome_browser_interstitials::SecurityInterstitialIDNTest; using content::BrowserThread; using content::NavigationController; @@ -1845,6 +1856,8 @@ host_resolver()->AddRule("*", "127.0.0.1"); content::SetupCrossSiteRedirector(embedded_test_server()); ASSERT_TRUE(embedded_test_server()->Start()); + SafeBrowsingUserInteractionObserver:: + ResetSuspiciousSiteReporterExtensionIdForTesting(); } void CreatedBrowserMainParts( @@ -1971,6 +1984,34 @@ } protected: +#if BUILDFLAG(ENABLE_EXTENSIONS) + // Installs an extension and returns its ID. + std::string InstallTestExtension() { + base::FilePath path = ui_test_utils::GetTestFilePath( + base::FilePath().AppendASCII("extensions"), + base::FilePath().AppendASCII("theme.crx")); + extensions::ExtensionService* service = + extensions::ExtensionSystem::Get(browser()->profile()) + ->extension_service(); + scoped_refptr<extensions::CrxInstaller> installer = + extensions::CrxInstaller::CreateSilent(service); + + extensions::ChromeExtensionTestNotificationObserver observer(browser()); + observer.Watch(extensions::NOTIFICATION_CRX_INSTALLER_DONE, + content::Source<extensions::CrxInstaller>(installer.get())); + + installer->set_install_cause(extension_misc::INSTALL_CAUSE_AUTOMATION); + installer->set_install_immediately(true); + installer->set_allow_silent_install(true); + installer->set_off_store_install_allow_reason( + extensions::CrxInstaller::OffStoreInstallAllowedInTest); + installer->set_creation_flags(extensions::Extension::FROM_WEBSTORE); + installer->InstallCrx(path); + observer.Wait(); + return observer.last_loaded_extension_id(); + } +#endif + base::test::ScopedFeatureList scoped_feature_list_; private: @@ -2048,6 +2089,57 @@ DelayedWarningEvent::kWarningShownOnKeypress, 1); } +// Same as KeyPress_WarningShown, but user disabled URL elision by enabling +// "Always Show Full URLs" option. A separate histogram must be recorded. +IN_PROC_BROWSER_TEST_P(SafeBrowsingBlockingPageDelayedWarningBrowserTest, + KeyPress_WarningShown_UrlElisionDisabled) { + browser()->profile()->GetPrefs()->SetBoolean( + omnibox::kPreventUrlElisionsInOmnibox, true); + + base::HistogramTester histograms; + NavigateAndAssertNoInterstitial(); + + // Type something. An interstitial should be shown. + EXPECT_TRUE(TypeAndWaitForInterstitial(browser())); + + EXPECT_TRUE(ClickAndWaitForDetach(browser(), "primary-button")); + AssertNoInterstitial(browser(), false); // Assert the interstitial is gone + EXPECT_EQ(GURL(url::kAboutBlankURL), // Back to "about:blank" + browser()->tab_strip_model()->GetActiveWebContents()->GetURL()); + + histograms.ExpectTotalCount(kDelayedWarningsWithElisionDisabledHistogram, 2); + histograms.ExpectBucketCount(kDelayedWarningsWithElisionDisabledHistogram, + DelayedWarningEvent::kPageLoaded, 1); + histograms.ExpectBucketCount(kDelayedWarningsWithElisionDisabledHistogram, + DelayedWarningEvent::kWarningShownOnKeypress, 1); +} + +// Same as KeyPress_WarningShown_UrlElisionDisabled, but user disabled URL +// elision by installing Suspicious Site Reporter extension. +IN_PROC_BROWSER_TEST_P(SafeBrowsingBlockingPageDelayedWarningBrowserTest, + KeyPress_WarningShown_UrlElisionDisabled_Extension) { + const std::string extension_id = InstallTestExtension(); + SafeBrowsingUserInteractionObserver:: + SetSuspiciousSiteReporterExtensionIdForTesting(extension_id.c_str()); + + base::HistogramTester histograms; + NavigateAndAssertNoInterstitial(); + + // Type something. An interstitial should be shown. + EXPECT_TRUE(TypeAndWaitForInterstitial(browser())); + + EXPECT_TRUE(ClickAndWaitForDetach(browser(), "primary-button")); + AssertNoInterstitial(browser(), false); // Assert the interstitial is gone + EXPECT_EQ(GURL(url::kAboutBlankURL), // Back to "about:blank" + browser()->tab_strip_model()->GetActiveWebContents()->GetURL()); + + histograms.ExpectTotalCount(kDelayedWarningsWithElisionDisabledHistogram, 2); + histograms.ExpectBucketCount(kDelayedWarningsWithElisionDisabledHistogram, + DelayedWarningEvent::kPageLoaded, 1); + histograms.ExpectBucketCount(kDelayedWarningsWithElisionDisabledHistogram, + DelayedWarningEvent::kWarningShownOnKeypress, 1); +} + IN_PROC_BROWSER_TEST_P(SafeBrowsingBlockingPageDelayedWarningBrowserTest, KeyPress_ESC_WarningNotShown) { base::HistogramTester histograms;
diff --git a/chrome/browser/safe_browsing/user_interaction_observer.cc b/chrome/browser/safe_browsing/user_interaction_observer.cc index e70b0b9..c5ceafd9 100644 --- a/chrome/browser/safe_browsing/user_interaction_observer.cc +++ b/chrome/browser/safe_browsing/user_interaction_observer.cc
@@ -8,14 +8,25 @@ #include "base/metrics/field_trial_params.h" #include "base/metrics/histogram_functions.h" +#include "chrome/browser/profiles/profile.h" +#include "components/omnibox/browser/omnibox_prefs.h" +#include "components/prefs/pref_service.h" #include "components/safe_browsing/core/features.h" #include "content/public/browser/navigation_handle.h" #include "content/public/browser/render_view_host.h" #include "content/public/browser/web_contents.h" #include "third_party/blink/public/common/input/web_mouse_event.h" -namespace safe_browsing { +#if BUILDFLAG(ENABLE_EXTENSIONS) +#include "extensions/browser/extension_registry.h" +#endif // BUILDFLAG(ENABLE_EXTENSIONS) +namespace { +// Id for extension that enables users to report sites to Safe Browsing. +const char kPreventElisionExtensionId[] = "jknemblkbdhdcpllfgbfekkdciegfboi"; +} // namespace + +namespace safe_browsing { // If true, a delayed warning will be shown when the user clicks on the page. // If false, the warning won't be shown, but a metric will be recorded on the // first click. @@ -24,16 +35,36 @@ const char kDelayedWarningsHistogram[] = "SafeBrowsing.DelayedWarnings.Event"; +const char kDelayedWarningsWithElisionDisabledHistogram[] = + "SafeBrowsing.DelayedWarnings.Event_UrlElisionDisabled"; + namespace { const char kWebContentsUserDataKey[] = "web_contents_safe_browsing_user_interaction_observer"; -void RecordUMA(DelayedWarningEvent event) { - base::UmaHistogramEnumeration(kDelayedWarningsHistogram, event); +bool IsUrlElisionDisabled(Profile* profile, + const char* suspicious_site_reporter_extension_id) { + if (profile && + profile->GetPrefs()->GetBoolean(omnibox::kPreventUrlElisionsInOmnibox)) { + return true; + } +#if BUILDFLAG(ENABLE_EXTENSIONS) + DCHECK(suspicious_site_reporter_extension_id); + if (profile && extensions::ExtensionRegistry::Get(profile) + ->enabled_extensions() + .Contains(suspicious_site_reporter_extension_id)) { + return true; + } +#endif + return false; } } // namespace +// static +const char* SafeBrowsingUserInteractionObserver:: + suspicious_site_reporter_extension_id_ = kPreventElisionExtensionId; + SafeBrowsingUserInteractionObserver::SafeBrowsingUserInteractionObserver( content::WebContents* web_contents, const security_interstitials::UnsafeResource& resource, @@ -224,6 +255,29 @@ // DO NOT add code past this point. |this| is destroyed. } +// static +void SafeBrowsingUserInteractionObserver:: + SetSuspiciousSiteReporterExtensionIdForTesting(const char* extension_id) { + suspicious_site_reporter_extension_id_ = extension_id; +} + +// static +void SafeBrowsingUserInteractionObserver:: + ResetSuspiciousSiteReporterExtensionIdForTesting() { + suspicious_site_reporter_extension_id_ = kPreventElisionExtensionId; +} + +void SafeBrowsingUserInteractionObserver::RecordUMA(DelayedWarningEvent event) { + Profile* profile = + Profile::FromBrowserContext(web_contents()->GetBrowserContext()); + if (IsUrlElisionDisabled(profile, suspicious_site_reporter_extension_id_)) { + base::UmaHistogramEnumeration(kDelayedWarningsWithElisionDisabledHistogram, + event); + } else { + base::UmaHistogramEnumeration(kDelayedWarningsHistogram, event); + } +} + bool SafeBrowsingUserInteractionObserver::HandleKeyPress( const content::NativeWebKeyboardEvent& event) { // Allow non-character keys such as ESC. These can be used to exit fullscreen,
diff --git a/chrome/browser/safe_browsing/user_interaction_observer.h b/chrome/browser/safe_browsing/user_interaction_observer.h index 9d730fc..c3c250f3 100644 --- a/chrome/browser/safe_browsing/user_interaction_observer.h +++ b/chrome/browser/safe_browsing/user_interaction_observer.h
@@ -57,9 +57,15 @@ kMaxValue = kWarningShownOnPaste, }; -// Name of the histogram. +// Name of the recorded histogram when the user did not disable URL elision via +// "Always Show Full URLs" menu option or by installing Suspicious Site Reporter +// extension. extern const char kDelayedWarningsHistogram[]; +// Same as kDelayedWarningsHistogram but only recorded if the user disabled +// URL elision. +extern const char kDelayedWarningsWithElisionDisabledHistogram[]; + // Observes user interactions and shows an interstitial if necessary. // Only created when an interstitial was about to be displayed but was delayed // due to the Delayed Warnings experiment. Deleted once the interstitial is @@ -114,7 +120,13 @@ // a desktop capture. Shows the delayed interstitial immediately. void OnDesktopCaptureRequest(); + static void SetSuspiciousSiteReporterExtensionIdForTesting( + const char* extension_id); + static void ResetSuspiciousSiteReporterExtensionIdForTesting(); + private: + void RecordUMA(DelayedWarningEvent event); + bool HandleKeyPress(const content::NativeWebKeyboardEvent& event); bool HandleMouseEvent(const blink::WebMouseEvent& event); @@ -137,6 +149,9 @@ // However, this hook is also called for the initial navigation, so we ignore // it the first time the hook is called. bool initial_navigation_finished_ = false; + + // Id of the Suspicious Site Reporter extension. Only set in tests. + static const char* suspicious_site_reporter_extension_id_; }; } // namespace safe_browsing
diff --git a/chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/link_to_text/LinkToTextCoordinatorTest.java b/chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/link_to_text/LinkToTextCoordinatorTest.java index acf02d95..4058b31 100644 --- a/chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/link_to_text/LinkToTextCoordinatorTest.java +++ b/chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/link_to_text/LinkToTextCoordinatorTest.java
@@ -10,48 +10,39 @@ import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.verify; -import android.content.Context; -import android.support.test.rule.ActivityTestRule; +import android.app.Activity; import androidx.test.filters.SmallTest; import org.junit.Assert; import org.junit.Before; -import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; +import org.robolectric.Robolectric; -import org.chromium.base.test.util.DisabledTest; +import org.chromium.base.test.BaseRobolectricTestRunner; import org.chromium.chrome.browser.share.share_sheet.ChromeOptionShareCallback; -import org.chromium.chrome.test.ChromeJUnit4ClassRunner; import org.chromium.ui.base.WindowAndroid; -import org.chromium.ui.test.util.DummyUiActivity; /** * Tests for {@link LinkToTextCoordinator}. */ -@RunWith(ChromeJUnit4ClassRunner.class) +@RunWith(BaseRobolectricTestRunner.class) public class LinkToTextCoordinatorTest { - @Rule - public ActivityTestRule<DummyUiActivity> mActivityTestRule = - new ActivityTestRule<>(DummyUiActivity.class); - @Mock private ChromeOptionShareCallback mShareCallback; - @Mock private WindowAndroid mWindow; - private Context mContext; + private Activity mAcivity; private static final String SELECTED_TEXT = "selection"; private static final String VISIBLE_URL = "www.example.com"; @Before - public void setUp() { - mContext = mActivityTestRule.getActivity(); - + public void setUpTest() { + mAcivity = Robolectric.setupActivity(Activity.class); MockitoAnnotations.initMocks(this); doNothing() .when(mShareCallback) @@ -60,32 +51,29 @@ @Test @SmallTest - @DisabledTest(message = "https://crbug.com/1111408") public void getTextToShareTest() { String selector = "selector"; String expectedTextToShare = "\"selection\"\nwww.example.com:~:text=selector"; LinkToTextCoordinator coordinator = new LinkToTextCoordinator( - mContext, mWindow, mShareCallback, VISIBLE_URL, SELECTED_TEXT); + mAcivity, mWindow, mShareCallback, VISIBLE_URL, SELECTED_TEXT); Assert.assertEquals(expectedTextToShare, coordinator.getTextToShare(selector)); } @Test @SmallTest - @DisabledTest(message = "https://crbug.com/1111408") public void getTextToShareTest_EmptySelector() { String selector = ""; String expectedTextToShare = "\"selection\"\nwww.example.com"; LinkToTextCoordinator coordinator = new LinkToTextCoordinator( - mContext, mWindow, mShareCallback, VISIBLE_URL, SELECTED_TEXT); + mAcivity, mWindow, mShareCallback, VISIBLE_URL, SELECTED_TEXT); Assert.assertEquals(expectedTextToShare, coordinator.getTextToShare(selector)); } @Test @SmallTest - @DisabledTest(message = "https://crbug.com/1111408") public void onSelectorReadyTest() { LinkToTextCoordinator coordinator = new LinkToTextCoordinator( - mContext, mWindow, mShareCallback, VISIBLE_URL, SELECTED_TEXT); + mAcivity, mWindow, mShareCallback, VISIBLE_URL, SELECTED_TEXT); // OnSelectorReady should call back the share sheet. verify(mShareCallback) .showThirdPartyShareSheetWithMessage(anyString(), any(), any(), anyLong());
diff --git a/chrome/browser/share/android/test_java_sources.gni b/chrome/browser/share/android/test_java_sources.gni index 06054fe..cc392b67 100644 --- a/chrome/browser/share/android/test_java_sources.gni +++ b/chrome/browser/share/android/test_java_sources.gni
@@ -5,11 +5,13 @@ # TODO(crbug.com/1022172): This should be a separate build target when circular dependencies are removed. share_test_java_sources = [ "//chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/clipboard/ClipboardImageFileProviderTest.java", - "//chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/link_to_text/LinkToTextCoordinatorTest.java", "//chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetViewTest.java", "//chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/share_sheet/ChromeProvidedSharingOptionsProviderTest.java", "//chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/share_sheet/ShareSheetCoordinatorTest.java", "//chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/share_sheet/ShareSheetPropertyModelBuilderTest.java", ] -share_junit_test_java_sources = [ "//chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetMediatorUnitTest.java" ] +share_junit_test_java_sources = [ + "//chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/link_to_text/LinkToTextCoordinatorTest.java", + "//chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetMediatorUnitTest.java", +]
diff --git a/chrome/browser/sync_file_system/drive_backend/metadata_database_unittest.cc b/chrome/browser/sync_file_system/drive_backend/metadata_database_unittest.cc index e7de044..0465696 100644 --- a/chrome/browser/sync_file_system/drive_backend/metadata_database_unittest.cc +++ b/chrome/browser/sync_file_system/drive_backend/metadata_database_unittest.cc
@@ -625,7 +625,7 @@ private: base::ScopedTempDir database_dir_; - base::test::SingleThreadTaskEnvironment task_environment_; + base::test::TaskEnvironment task_environment_; std::unique_ptr<leveldb::Env> in_memory_env_; std::unique_ptr<MetadataDatabase> metadata_database_;
diff --git a/chrome/browser/task_manager/task_manager_browsertest.cc b/chrome/browser/task_manager/task_manager_browsertest.cc index c425a944..742af8a 100644 --- a/chrome/browser/task_manager/task_manager_browsertest.cc +++ b/chrome/browser/task_manager/task_manager_browsertest.cc
@@ -1276,7 +1276,9 @@ ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(0, MatchAnySubframe())); } -IN_PROC_BROWSER_TEST_P(TaskManagerOOPIFBrowserTest, OrderingOfDependentRows) { +// TODO(https://crbug.com/1113972): disabled as test is flaky. +IN_PROC_BROWSER_TEST_P(TaskManagerOOPIFBrowserTest, + DISABLED_OrderingOfDependentRows) { ShowTaskManager(); GURL a_with_frames(embedded_test_server()->GetURL(
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd index c460a5f..9cb140c5 100644 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -971,6 +971,9 @@ <message name="IDS_PREFS_SAFE_BROWSING_SUMMARY" desc="Summary for the Safe Browsing preferences."> <ph name="SAFE_BROWSING_MODE">%1$s<ex>Enhanced protection</ex></ph> is on </message> + <message name="IDS_PREFS_SAFE_BROWSING_NO_PROTECTION_SUMMARY" desc="Summary for the Safe Browsing preferences when Safe Browsing is off."> + Safe Browsing is off + </message> <message name="IDS_PREFS_SECTION_SAFE_BROWSING_TITLE" desc="Title for the Safe Browsing section. [CHAR-LIMIT=32]"> Safe Browsing </message> @@ -1023,7 +1026,7 @@ <message name="IDS_SAFE_BROWSING_STANDARD_PROTECTION_BULLET_TWO" desc="Second bullet point under the Safe Browsing standard protection mode."> Checks URLs with a list of unsafe sites stored in Chrome. If a site tries to steal your password, or when you download a harmful file, Chrome may also send URLs, including bits of page content, to Safe Browsing. </message> - <message name="IDS_SAFE_BROWSING_STANDARD_PROTECTION_EXTENDED_REPORTING_TITLE" desc="Title for Safe Browsing extended reporting. [CHAR-LIMIT=32]"> + <message name="IDS_SAFE_BROWSING_STANDARD_PROTECTION_EXTENDED_REPORTING_TITLE" desc="Title for Safe Browsing extended reporting."> Help improve security on the web </message> <message name="IDS_SAFE_BROWSING_STANDARD_PROTECTION_EXTENDED_REPORTING_SUMMARY" desc="Summary for Safe Browsing extended reporting.">
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_PREFS_SAFE_BROWSING_NO_PROTECTION_SUMMARY.png.sha1 b/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_PREFS_SAFE_BROWSING_NO_PROTECTION_SUMMARY.png.sha1 new file mode 100644 index 0000000..2a80d5d --- /dev/null +++ b/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_PREFS_SAFE_BROWSING_NO_PROTECTION_SUMMARY.png.sha1
@@ -0,0 +1 @@ +fe1ba00cfc97c40b26524a65038f443022185cf6 \ No newline at end of file
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_SAFE_BROWSING_STANDARD_PROTECTION_EXTENDED_REPORTING_TITLE.png.sha1 b/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_SAFE_BROWSING_STANDARD_PROTECTION_EXTENDED_REPORTING_TITLE.png.sha1 index 0bbafcc..8902848 100644 --- a/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_SAFE_BROWSING_STANDARD_PROTECTION_EXTENDED_REPORTING_TITLE.png.sha1 +++ b/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_SAFE_BROWSING_STANDARD_PROTECTION_EXTENDED_REPORTING_TITLE.png.sha1
@@ -1 +1 @@ -1b82fbadca9c6d0e147d35b029261f8e6bd4cb73 \ No newline at end of file +e8733f038055e3cd819d9456533493c579edf5be \ No newline at end of file
diff --git a/chrome/browser/ui/app_list/search/omnibox_provider.cc b/chrome/browser/ui/app_list/search/omnibox_provider.cc index 0f25d01..5ad1fdd9 100644 --- a/chrome/browser/ui/app_list/search/omnibox_provider.cc +++ b/chrome/browser/ui/app_list/search/omnibox_provider.cc
@@ -15,6 +15,7 @@ #include "chrome/browser/ui/app_list/search/omnibox_result.h" #include "components/omnibox/browser/autocomplete_classifier.h" #include "components/omnibox/browser/autocomplete_input.h" +#include "components/search_engines/omnibox_focus_type.h" #include "third_party/metrics_proto/omnibox_event.pb.h" #include "url/gurl.h" @@ -53,7 +54,7 @@ // Sets the |from_omnibox_focus| flag to enable ZeroSuggestProvider to process // the requests from app_list. if (is_zero_state_enabled_ && input.text().empty()) { - input.set_from_omnibox_focus(true); + input.set_focus_type(OmniboxFocusType::ON_FOCUS); is_zero_state_input_ = true; } else { is_zero_state_input_ = false;
diff --git a/chrome/browser/ui/ash/keyboard_shortcut_viewer_metadata_unittest.cc b/chrome/browser/ui/ash/keyboard_shortcut_viewer_metadata_unittest.cc index cea9bafb..c8b5b92 100644 --- a/chrome/browser/ui/ash/keyboard_shortcut_viewer_metadata_unittest.cc +++ b/chrome/browser/ui/ash/keyboard_shortcut_viewer_metadata_unittest.cc
@@ -29,14 +29,14 @@ #if BUILDFLAG(GOOGLE_CHROME_BRANDING) // Internal builds add an extra accelerator for the Feedback app. // The total number of Chrome accelerators (available on Chrome OS). -constexpr int kChromeAcceleratorsTotalNum = 95; +constexpr int kChromeAcceleratorsTotalNum = 97; // The hash of Chrome accelerators (available on Chrome OS). -constexpr char kChromeAcceleratorsHash[] = "ef0b7eb1a1dabd26e964c6593e4698a4"; +constexpr char kChromeAcceleratorsHash[] = "a5d5a245352c94b17618c6d9425a0a9b"; #else // The total number of Chrome accelerators (available on Chrome OS). -constexpr int kChromeAcceleratorsTotalNum = 95; +constexpr int kChromeAcceleratorsTotalNum = 96; // The hash of Chrome accelerators (available on Chrome OS). -constexpr char kChromeAcceleratorsHash[] = "7d5afdffb1dcc73c3f6f73107b5d6651"; +constexpr char kChromeAcceleratorsHash[] = "1c6a632c57e6e1033e482fc6ffc2184e"; #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) const char* BooleanToString(bool value) {
diff --git a/chrome/browser/ui/browser_command_controller.cc b/chrome/browser/ui/browser_command_controller.cc index af2aa93..b17423f 100644 --- a/chrome/browser/ui/browser_command_controller.cc +++ b/chrome/browser/ui/browser_command_controller.cc
@@ -41,6 +41,7 @@ #include "chrome/browser/ui/page_info/page_info_dialog.h" #include "chrome/browser/ui/singleton_tabs.h" #include "chrome/browser/ui/tabs/tab_strip_model.h" +#include "chrome/browser/ui/ui_features.h" #include "chrome/browser/ui/web_applications/app_browser_controller.h" #include "chrome/browser/ui/web_applications/web_app_dialog_utils.h" #include "chrome/browser/ui/web_applications/web_app_launch_utils.h" @@ -379,6 +380,9 @@ case IDC_STOP: Stop(browser_); break; + case IDC_TAB_SEARCH: + ShowTabSearch(browser_); + break; // Window management commands case IDC_NEW_WINDOW: @@ -1042,6 +1046,11 @@ command_updater_.UpdateCommandEnabled(IDC_WINDOW_CLOSE_OTHER_TABS, normal_window); + command_updater_.UpdateCommandEnabled( + IDC_TAB_SEARCH, base::FeatureList::IsEnabled(features::kTabSearch) && + browser_->is_type_normal() && + !browser_->profile()->IsIncognitoProfile()); + // Initialize other commands whose state changes based on various conditions. UpdateCommandsForFullscreenMode(); UpdateCommandsForContentRestrictionState();
diff --git a/chrome/browser/ui/browser_commands.cc b/chrome/browser/ui/browser_commands.cc index e76b8ed5..dc39693 100644 --- a/chrome/browser/ui/browser_commands.cc +++ b/chrome/browser/ui/browser_commands.cc
@@ -1216,6 +1216,10 @@ browser->GetFindBarController()->Show(find_next, forward_direction); } +void ShowTabSearch(Browser* browser) { + browser->window()->CreateTabSearchBubble(); +} + bool CanCloseFind(Browser* browser) { WebContents* current_tab = browser->tab_strip_model()->GetActiveWebContents(); if (!current_tab)
diff --git a/chrome/browser/ui/browser_commands.h b/chrome/browser/ui/browser_commands.h index caf7a7f..07c068bb 100644 --- a/chrome/browser/ui/browser_commands.h +++ b/chrome/browser/ui/browser_commands.h
@@ -166,6 +166,7 @@ void FindNext(Browser* browser); void FindPrevious(Browser* browser); void FindInPage(Browser* browser, bool find_next, bool forward_direction); +void ShowTabSearch(Browser* browser); bool CanCloseFind(Browser* browser); void CloseFind(Browser* browser); void Zoom(Browser* browser, content::PageZoom zoom);
diff --git a/chrome/browser/ui/browser_window.h b/chrome/browser/ui/browser_window.h index f13076b..3121e73 100644 --- a/chrome/browser/ui/browser_window.h +++ b/chrome/browser/ui/browser_window.h
@@ -495,6 +495,9 @@ // Shows a confirmation dialog about enabling caret browsing. virtual void ShowCaretBrowsingDialog() = 0; + // Create and open the tab search bubble. + virtual void CreateTabSearchBubble() = 0; + protected: friend class BrowserCloseManager; friend class BrowserView;
diff --git a/chrome/browser/ui/search/search_tab_helper.cc b/chrome/browser/ui/search/search_tab_helper.cc index d94de13..a8985d16 100644 --- a/chrome/browser/ui/search/search_tab_helper.cc +++ b/chrome/browser/ui/search/search_tab_helper.cc
@@ -77,6 +77,7 @@ #include "components/omnibox/browser/vector_icons.h" #include "components/omnibox/common/omnibox_features.h" #include "components/search/search.h" +#include "components/search_engines/omnibox_focus_type.h" #include "components/search_engines/template_url_service.h" #include "components/sessions/content/session_tab_helper.h" #include "components/signin/public/identity_manager/identity_manager.h" @@ -616,7 +617,10 @@ AutocompleteInput autocomplete_input( input, metrics::OmniboxEventProto::NTP_REALBOX, ChromeAutocompleteSchemeClassifier(profile())); - autocomplete_input.set_from_omnibox_focus(input.empty()); + // TODO(tommycli): We use the input being empty as a signal we are requesting + // on-focus suggestions. It would be nice if we had a more explicit signal. + autocomplete_input.set_focus_type(input.empty() ? OmniboxFocusType::ON_FOCUS + : OmniboxFocusType::DEFAULT); autocomplete_input.set_prevent_inline_autocomplete( prevent_inline_autocomplete); @@ -884,7 +888,9 @@ : default_time_delta; OmniboxLog log( - /*text=*/input.from_omnibox_focus() ? base::string16() : input.text(), + /*text=*/input.focus_type() != OmniboxFocusType::DEFAULT + ? base::string16() + : input.text(), /*just_deleted_text=*/input.prevent_inline_autocomplete(), /*input_type=*/input.type(), /*in_keyword_mode=*/false,
diff --git a/chrome/browser/ui/ui_features.cc b/chrome/browser/ui/ui_features.cc index 3db0665..130fc24 100644 --- a/chrome/browser/ui/ui_features.cc +++ b/chrome/browser/ui/ui_features.cc
@@ -21,6 +21,10 @@ const base::Feature kExtensionsToolbarMenu{"ExtensionsToolbarMenu", base::FEATURE_ENABLED_BY_DEFAULT}; +// Force enables the legacy chrome://devices page. To be removed in M88. +const base::Feature kForceEnableDevicesPage{"ForceEnableDevicesPage", + base::FEATURE_DISABLED_BY_DEFAULT}; + // Enables tabs from different browser types (NORMAL vs APP) and different apps // to mix via dragging. // https://crbug.com/1012169
diff --git a/chrome/browser/ui/ui_features.h b/chrome/browser/ui/ui_features.h index 009798c9..de85992 100644 --- a/chrome/browser/ui/ui_features.h +++ b/chrome/browser/ui/ui_features.h
@@ -26,6 +26,8 @@ extern const base::Feature kExtensionsToolbarMenu; +extern const base::Feature kForceEnableDevicesPage; + extern const base::Feature kMixBrowserTypeTabs; extern const base::Feature kNewProfilePicker;
diff --git a/chrome/browser/ui/views/accelerator_table.cc b/chrome/browser/ui/views/accelerator_table.cc index 372ba32..069c34c 100644 --- a/chrome/browser/ui/views/accelerator_table.cc +++ b/chrome/browser/ui/views/accelerator_table.cc
@@ -43,6 +43,8 @@ {ui::VKEY_W, ui::EF_SHIFT_DOWN | ui::EF_PLATFORM_ACCELERATOR, IDC_CLOSE_WINDOW}, {ui::VKEY_F, ui::EF_PLATFORM_ACCELERATOR, IDC_FIND}, + {ui::VKEY_E, ui::EF_SHIFT_DOWN | ui::EF_PLATFORM_ACCELERATOR, + IDC_TAB_SEARCH}, {ui::VKEY_G, ui::EF_PLATFORM_ACCELERATOR, IDC_FIND_NEXT}, {ui::VKEY_G, ui::EF_SHIFT_DOWN | ui::EF_PLATFORM_ACCELERATOR, IDC_FIND_PREVIOUS},
diff --git a/chrome/browser/ui/views/frame/browser_desktop_window_tree_host_win.cc b/chrome/browser/ui/views/frame/browser_desktop_window_tree_host_win.cc index d50bd013e..6a42e27 100644 --- a/chrome/browser/ui/views/frame/browser_desktop_window_tree_host_win.cc +++ b/chrome/browser/ui/views/frame/browser_desktop_window_tree_host_win.cc
@@ -65,8 +65,6 @@ void SetInitialWorkspaceRemembered(bool remembered); - base::WeakPtr<VirtualDesktopHelper> AsWeakPtr(); - private: friend class base::RefCountedDeleteOnSequence<VirtualDesktopHelper>; friend class base::DeleteHelper<VirtualDesktopHelper>; @@ -136,7 +134,7 @@ FROM_HERE, base::BindOnce(&VirtualDesktopHelper::GetWindowDesktopIdImpl, hwnd, virtual_desktop_manager_), - base::BindOnce(&VirtualDesktopHelper::SetWorkspace, AsWeakPtr(), + base::BindOnce(&VirtualDesktopHelper::SetWorkspace, this, base::Passed(std::move(callback)))); } @@ -148,10 +146,6 @@ initial_workspace_remembered_ = remembered; } -base::WeakPtr<VirtualDesktopHelper> VirtualDesktopHelper::AsWeakPtr() { - return weak_factory_.GetWeakPtr(); -} - void VirtualDesktopHelper::SetWorkspace(WorkspaceChangedCallback callback, const std::string& workspace) { DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc index e8d5df38..c86a605 100644 --- a/chrome/browser/ui/views/frame/browser_view.cc +++ b/chrome/browser/ui/views/frame/browser_view.cc
@@ -118,7 +118,9 @@ #include "chrome/browser/ui/views/sharing/sharing_dialog_view.h" #include "chrome/browser/ui/views/status_bubble_views.h" #include "chrome/browser/ui/views/tab_contents/chrome_web_contents_view_focus_helper.h" +#include "chrome/browser/ui/views/tab_search/tab_search_bubble_view.h" #include "chrome/browser/ui/views/tabs/browser_tab_strip_controller.h" +#include "chrome/browser/ui/views/tabs/new_tab_button.h" #include "chrome/browser/ui/views/tabs/tab.h" #include "chrome/browser/ui/views/tabs/tab_groups_iph_controller.h" #include "chrome/browser/ui/views/tabs/tab_strip.h" @@ -2567,6 +2569,11 @@ return View::GetWidget(); } +void BrowserView::CreateTabSearchBubble() { + TabSearchBubbleView::CreateTabSearchBubble(browser_->profile(), + tabstrip_->tab_search_button()); +} + void BrowserView::RevealTabStripIfNeeded() { if (!immersive_mode_controller_->IsEnabled()) return;
diff --git a/chrome/browser/ui/views/frame/browser_view.h b/chrome/browser/ui/views/frame/browser_view.h index e3008181..96c8f80 100644 --- a/chrome/browser/ui/views/frame/browser_view.h +++ b/chrome/browser/ui/views/frame/browser_view.h
@@ -579,6 +579,9 @@ std::vector<views::NativeViewHost*> GetNativeViewHostsForTopControlsSlide() const; + // Create and open the tab search bubble. + void CreateTabSearchBubble() override; + private: // Do not friend BrowserViewLayout. Use the BrowserViewLayoutDelegate // interface to keep these two classes decoupled and testable.
diff --git a/chrome/browser/ui/views/tabs/tab_strip.h b/chrome/browser/ui/views/tabs/tab_strip.h index a0e9d62..66202aa 100644 --- a/chrome/browser/ui/views/tabs/tab_strip.h +++ b/chrome/browser/ui/views/tabs/tab_strip.h
@@ -233,6 +233,9 @@ // Returns the NewTabButton. NewTabButton* new_tab_button() { return new_tab_button_; } + // Returns the TabSearchButton. + NewTabButton* tab_search_button() { return tab_search_button_; } + // Returns the index of the specified view in the model coordinate system, or // -1 if view is closing or not a tab. int GetModelIndexOf(const TabSlotView* view) const;
diff --git a/chrome/browser/ui/views/toolbar/toolbar_account_icon_container_browsertest.cc b/chrome/browser/ui/views/toolbar/toolbar_account_icon_container_browsertest.cc index a37759c..4326d37 100644 --- a/chrome/browser/ui/views/toolbar/toolbar_account_icon_container_browsertest.cc +++ b/chrome/browser/ui/views/toolbar/toolbar_account_icon_container_browsertest.cc
@@ -2,6 +2,9 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include <memory> + +#include "base/auto_reset.h" #include "base/test/scoped_feature_list.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/profiles/profile_manager.h" @@ -14,6 +17,8 @@ #include "chrome/test/base/testing_profile.h" #include "components/autofill/core/common/autofill_payments_features.h" #include "content/public/test/browser_test.h" +#include "ui/gfx/animation/animation.h" +#include "ui/gfx/animation/animation_test_api.h" // TODO(crbug.com/1061637): Clean this and the same code in ukm_browsertest. // Maybe move them to InProcessBrowserTest. @@ -86,6 +91,10 @@ private: base::test::ScopedFeatureList scoped_feature_list_; + + std::unique_ptr<base::AutoReset<gfx::Animation::RichAnimationRenderMode>> + animation_mode_reset_ = gfx::AnimationTestApi::SetRichAnimationRenderMode( + gfx::Animation::RichAnimationRenderMode::FORCE_DISABLED); }; IN_PROC_BROWSER_TEST_F(ToolbarAccountIconContainerViewBrowserTest,
diff --git a/chrome/browser/ui/views/toolbar/toolbar_icon_container_view.cc b/chrome/browser/ui/views/toolbar/toolbar_icon_container_view.cc index a0614d7..3350faa 100644 --- a/chrome/browser/ui/views/toolbar/toolbar_icon_container_view.cc +++ b/chrome/browser/ui/views/toolbar/toolbar_icon_container_view.cc
@@ -97,7 +97,15 @@ } void ToolbarIconContainerView::ObserveButton(views::Button* button) { - button->AddButtonObserver(this); + // We don't care about the main button being highlighted. + if (button != main_button_) { + subscriptions_.push_back( + button->AddHighlightedChangedCallback(base::BindRepeating( + &ToolbarIconContainerView::OnButtonHighlightedChanged, + base::Unretained(this), base::Unretained(button)))); + } + subscriptions_.push_back(button->AddStateChangedCallback(base::BindRepeating( + &ToolbarIconContainerView::UpdateHighlight, base::Unretained(this)))); button->AddObserver(this); } @@ -125,27 +133,6 @@ return ShouldDisplayHighlight(); } -void ToolbarIconContainerView::OnHighlightChanged( - views::Button* observed_button, - bool highlighted) { - // We don't care about the main button being highlighted. - if (observed_button == main_button_) - return; - - if (highlighted) - highlighted_buttons_.insert(observed_button); - else - highlighted_buttons_.erase(observed_button); - - UpdateHighlight(); -} - -void ToolbarIconContainerView::OnStateChanged( - views::Button* observed_button, - views::Button::ButtonState old_state) { - UpdateHighlight(); -} - void ToolbarIconContainerView::OnViewFocused(views::View* observed_view) { UpdateHighlight(); } @@ -245,3 +232,13 @@ SetBorder(nullptr); } } + +void ToolbarIconContainerView::OnButtonHighlightedChanged( + views::Button* button) { + if (button->GetHighlighted()) + highlighted_buttons_.insert(button); + else + highlighted_buttons_.erase(button); + + UpdateHighlight(); +}
diff --git a/chrome/browser/ui/views/toolbar/toolbar_icon_container_view.h b/chrome/browser/ui/views/toolbar/toolbar_icon_container_view.h index 0f4835e..dc834b3 100644 --- a/chrome/browser/ui/views/toolbar/toolbar_icon_container_view.h +++ b/chrome/browser/ui/views/toolbar/toolbar_icon_container_view.h
@@ -5,10 +5,11 @@ #ifndef CHROME_BROWSER_UI_VIEWS_TOOLBAR_TOOLBAR_ICON_CONTAINER_VIEW_H_ #define CHROME_BROWSER_UI_VIEWS_TOOLBAR_TOOLBAR_ICON_CONTAINER_VIEW_H_ +#include <list> + #include "base/observer_list.h" #include "ui/gfx/animation/animation_delegate.h" #include "ui/views/controls/button/button.h" -#include "ui/views/controls/button/button_observer.h" #include "ui/views/layout/animating_layout_manager.h" #include "ui/views/layout/flex_layout.h" #include "ui/views/view.h" @@ -16,7 +17,6 @@ // A general view container for any type of toolbar icons. class ToolbarIconContainerView : public views::View, public gfx::AnimationDelegate, - public views::ButtonObserver, public views::ViewObserver { public: class Observer : public base::CheckedObserver { @@ -47,12 +47,6 @@ bool IsHighlighted(); - // views::ButtonObserver: - void OnHighlightChanged(views::Button* observed_button, - bool highlighted) override; - void OnStateChanged(views::Button* observed_button, - views::Button::ButtonState old_state) override; - // views::ViewObserver: void OnViewFocused(views::View* observed_view) override; void OnViewBlurred(views::View* observed_view) override; @@ -91,6 +85,9 @@ void UpdateHighlight(); void SetHighlightBorder(); + // Called by |button| when its ink drop highlighted state changes. + void OnButtonHighlightedChanged(views::Button* button); + // Determine whether the container shows its highlight border. const bool uses_highlight_; @@ -113,6 +110,8 @@ // Tracks when the widget is restored and resets the layout. std::unique_ptr<WidgetRestoreObserver> restore_observer_; + std::list<views::PropertyChangedSubscription> subscriptions_; + base::ObserverList<Observer> observers_; };
diff --git a/chrome/browser/ui/webui/chrome_url_data_manager_browsertest.cc b/chrome/browser/ui/webui/chrome_url_data_manager_browsertest.cc index 1977032..9457d603 100644 --- a/chrome/browser/ui/webui/chrome_url_data_manager_browsertest.cc +++ b/chrome/browser/ui/webui/chrome_url_data_manager_browsertest.cc
@@ -273,6 +273,7 @@ "chrome://add-supervision", "chrome://assistant-optin", "chrome://bluetooth-pairing", + "chrome://cellular-setup", "chrome://certificate-manager", "chrome://crostini-credits", "chrome://crostini-installer",
diff --git a/chrome/browser/ui/webui/local_discovery/local_discovery_ui.cc b/chrome/browser/ui/webui/local_discovery/local_discovery_ui.cc index 79d76f9a..bd40e88 100644 --- a/chrome/browser/ui/webui/local_discovery/local_discovery_ui.cc +++ b/chrome/browser/ui/webui/local_discovery/local_discovery_ui.cc
@@ -8,6 +8,7 @@ #include "build/build_config.h" #include "chrome/browser/profiles/profile.h" +#include "chrome/browser/ui/ui_features.h" #include "chrome/browser/ui/webui/local_discovery/local_discovery_ui_handler.h" #include "chrome/browser/ui/webui/metrics_handler.h" #include "chrome/browser/ui/webui/webui_util.h" @@ -22,8 +23,42 @@ #include "printing/buildflags/buildflags.h" #include "ui/base/webui/web_ui_util.h" +#if defined(OS_CHROMEOS) +#include "chrome/browser/browser_process.h" +#include "chrome/browser/browser_process_platform_part.h" +#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" +#elif defined(OS_WIN) +#include "base/enterprise_util.h" +#endif + namespace { +content::WebUIDataSource* CreateLocalDiscoveryWarningHTMLSource() { + content::WebUIDataSource* source = + content::WebUIDataSource::Create(chrome::kChromeUIDevicesHost); + + source->SetDefaultResource(IDR_LOCAL_DISCOVERY_WARNING_HTML); + source->AddLocalizedString("devicesTitle", + IDS_LOCAL_DISCOVERY_DEVICES_PAGE_TITLE); + + bool enterprise_managed = false; +#if defined(OS_CHROMEOS) + policy::BrowserPolicyConnectorChromeOS* connector = + g_browser_process->platform_part()->browser_policy_connector_chromeos(); + enterprise_managed = connector->IsEnterpriseManaged(); +#elif defined(OS_WIN) + enterprise_managed = base::IsMachineExternallyManaged(); +#endif + source->AddLocalizedString( + "cloudPrintDeprecationWarning", + enterprise_managed ? IDS_CLOUD_PRINTING_NOT_SUPPORTED_WARNING_ENTERPRISE + : IDS_CLOUD_PRINTING_NOT_SUPPORTED_WARNING); + + source->DisableDenyXFrameOptions(); + + return source; +} + content::WebUIDataSource* CreateLocalDiscoveryHTMLSource() { content::WebUIDataSource* source = content::WebUIDataSource::Create(chrome::kChromeUIDevicesHost); @@ -93,10 +128,19 @@ LocalDiscoveryUI::LocalDiscoveryUI(content::WebUI* web_ui) : WebUIController(web_ui) { + const bool use_legacy_page = + base::FeatureList::IsEnabled(features::kForceEnableDevicesPage); // Set up the chrome://devices/ source. - content::WebUIDataSource* source = CreateLocalDiscoveryHTMLSource(); + content::WebUIDataSource* source = + use_legacy_page ? CreateLocalDiscoveryHTMLSource() + : CreateLocalDiscoveryWarningHTMLSource(); + content::WebUIDataSource::Add(Profile::FromWebUI(web_ui), source); + if (!use_legacy_page) { + return; + } + // TODO(gene): Use LocalDiscoveryUIHandler to send updated to the devices // page. For example web_ui->AddMessageHandler(
diff --git a/chrome/browser/ui/webui/local_discovery/local_discovery_ui_browsertest.cc b/chrome/browser/ui/webui/local_discovery/local_discovery_ui_browsertest.cc index 40ac82d0..66785ec 100644 --- a/chrome/browser/ui/webui/local_discovery/local_discovery_ui_browsertest.cc +++ b/chrome/browser/ui/webui/local_discovery/local_discovery_ui_browsertest.cc
@@ -29,6 +29,7 @@ #include "chrome/browser/signin/chrome_signin_client_factory.h" #include "chrome/browser/signin/identity_manager_factory.h" #include "chrome/browser/ui/browser.h" +#include "chrome/browser/ui/ui_features.h" #include "chrome/browser/ui/webui/local_discovery/local_discovery_ui_handler.h" #include "chrome/common/chrome_constants.h" #include "chrome/common/chrome_switches.h" @@ -355,8 +356,9 @@ // presence of a valid DualMediaSinkService. // TODO(crbug.com/1028753): Enable the Media Route Provider features. feature_list_.InitWithFeatures( - {}, /* disabled_features */ {media_router::kDialMediaRouteProvider, - media_router::kCastMediaRouteProvider}); + /* enabled_features */ {features::kForceEnableDevicesPage}, + /* disabled_features */ {media_router::kDialMediaRouteProvider, + media_router::kCastMediaRouteProvider}); WebUIBrowserTest::SetUp(); }
diff --git a/chrome/browser/ui/webui/new_tab_page/new_tab_page_handler.cc b/chrome/browser/ui/webui/new_tab_page/new_tab_page_handler.cc index f6d20f09..565afa0 100644 --- a/chrome/browser/ui/webui/new_tab_page/new_tab_page_handler.cc +++ b/chrome/browser/ui/webui/new_tab_page/new_tab_page_handler.cc
@@ -54,6 +54,7 @@ #include "components/omnibox/browser/omnibox_event_global_tracker.h" #include "components/omnibox/browser/omnibox_log.h" #include "components/omnibox/browser/omnibox_prefs.h" +#include "components/search_engines/omnibox_focus_type.h" #include "components/search_engines/template_url_service.h" #include "components/search_provider_logos/logo_service.h" #include "components/search_provider_logos/switches.h" @@ -864,7 +865,10 @@ AutocompleteInput autocomplete_input( input, metrics::OmniboxEventProto::NTP_REALBOX, ChromeAutocompleteSchemeClassifier(profile_)); - autocomplete_input.set_from_omnibox_focus(input.empty()); + // TODO(tommycli): We use the input being empty as a signal we are requesting + // on-focus suggestions. It would be nice if we had a more explicit signal. + autocomplete_input.set_focus_type(input.empty() ? OmniboxFocusType::ON_FOCUS + : OmniboxFocusType::DEFAULT); autocomplete_input.set_prevent_inline_autocomplete( prevent_inline_autocomplete); @@ -965,7 +969,9 @@ : default_time_delta; OmniboxLog log( - /*text=*/input.from_omnibox_focus() ? base::string16() : input.text(), + /*text=*/input.focus_type() != OmniboxFocusType::DEFAULT + ? base::string16() + : input.text(), /*just_deleted_text=*/input.prevent_inline_autocomplete(), /*input_type=*/input.type(), /*in_keyword_mode=*/false,
diff --git a/chrome/browser/ui/webui/omnibox/omnibox_page_handler.cc b/chrome/browser/ui/webui/omnibox/omnibox_page_handler.cc index bb23cde4..37d53b407 100644 --- a/chrome/browser/ui/webui/omnibox/omnibox_page_handler.cc +++ b/chrome/browser/ui/webui/omnibox/omnibox_page_handler.cc
@@ -32,6 +32,7 @@ #include "components/omnibox/browser/autocomplete_match.h" #include "components/omnibox/browser/autocomplete_provider.h" #include "components/omnibox/browser/omnibox_controller_emitter.h" +#include "components/search_engines/omnibox_focus_type.h" #include "components/search_engines/template_url.h" #include "content/public/browser/web_ui.h" #include "third_party/metrics_proto/omnibox_event.pb.h" @@ -347,7 +348,8 @@ input.set_prefer_keyword(prefer_keyword); if (prefer_keyword) input.set_keyword_mode_entry_method(metrics::OmniboxEventProto::TAB); - input.set_from_omnibox_focus(zero_suggest); + input.set_focus_type(zero_suggest ? OmniboxFocusType::ON_FOCUS + : OmniboxFocusType::DEFAULT); controller_->Start(input); }
diff --git a/chrome/browser/ui/webui/print_preview/cloud_print_signin.cc b/chrome/browser/ui/webui/print_preview/cloud_print_signin.cc index d1fdcaf7..19584c3 100644 --- a/chrome/browser/ui/webui/print_preview/cloud_print_signin.cc +++ b/chrome/browser/ui/webui/print_preview/cloud_print_signin.cc
@@ -58,12 +58,9 @@ } // namespace -void CreateCloudPrintSigninTab(Browser* browser, - bool add_account, - base::OnceClosure callback) { +void CreateCloudPrintSigninTab(Browser* browser, base::OnceClosure callback) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); - GURL url = add_account ? cloud_devices::GetCloudPrintAddAccountURL() - : cloud_devices::GetCloudPrintSigninURL(); + GURL url = cloud_devices::GetCloudPrintAddAccountURL(); content::WebContents* web_contents = browser->OpenURL(content::OpenURLParams( google_util::AppendGoogleLocaleParam( url, g_browser_process->GetApplicationLocale()),
diff --git a/chrome/browser/ui/webui/print_preview/cloud_print_signin.h b/chrome/browser/ui/webui/print_preview/cloud_print_signin.h index 70aaeeaa..a66fc4bd 100644 --- a/chrome/browser/ui/webui/print_preview/cloud_print_signin.h +++ b/chrome/browser/ui/webui/print_preview/cloud_print_signin.h
@@ -11,11 +11,8 @@ namespace printing { -// Creates a tab with Google 'sign in' or 'add account' page, based on -// passed |add_account| value. -void CreateCloudPrintSigninTab(Browser* browser, - bool add_account, - base::OnceClosure callback); +// Creates a tab with Google 'add account' page. +void CreateCloudPrintSigninTab(Browser* browser, base::OnceClosure callback); } // namespace printing
diff --git a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc index e33182fe..fa574eb 100644 --- a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc +++ b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc
@@ -794,10 +794,7 @@ weak_factory_.GetWeakPtr(), callback_id, printer_name)); } -void PrintPreviewHandler::HandleSignin(const base::ListValue* args) { - bool add_account = false; - CHECK(args->GetBoolean(0, &add_account)); - +void PrintPreviewHandler::HandleSignin(const base::ListValue* /*args*/) { Profile* profile = Profile::FromWebUI(web_ui()); DCHECK(profile); @@ -806,20 +803,15 @@ // Chrome OS Account Manager is enabled on this Profile and hence, all // account management flows will go through native UIs and not through a // tabbed browser window. - if (add_account) { - chromeos::InlineLoginDialogChromeOS::Show( - chromeos::InlineLoginDialogChromeOS::Source::kPrintPreviewDialog); - } else { - chrome::SettingsWindowManager::GetInstance()->ShowOSSettings( - profile, chromeos::settings::mojom::kMyAccountsSubpagePath); - } + chromeos::InlineLoginDialogChromeOS::Show( + chromeos::InlineLoginDialogChromeOS::Source::kPrintPreviewDialog); return; } #endif chrome::ScopedTabbedBrowserDisplayer displayer(profile); CreateCloudPrintSigninTab( - displayer.browser(), add_account, + displayer.browser(), base::BindOnce(&PrintPreviewHandler::OnSignInTabClosed, weak_factory_.GetWeakPtr())); }
diff --git a/chrome/browser/ui/webui/print_preview/print_preview_handler.h b/chrome/browser/ui/webui/print_preview/print_preview_handler.h index 3c531638..ed760a4 100644 --- a/chrome/browser/ui/webui/print_preview/print_preview_handler.h +++ b/chrome/browser/ui/webui/print_preview/print_preview_handler.h
@@ -214,8 +214,8 @@ void HandleShowSystemDialog(const base::ListValue* args); #endif - // Opens a new tab to allow the user to sign into cloud print. |args| holds - // a boolean indicating whether the user is adding an account. + // Opens a new tab to allow the user to add an account to sign into cloud + // print. |args| is unused. void HandleSignin(const base::ListValue* args); // Called when the tab opened by HandleSignIn() is closed.
diff --git a/chrome/browser/web_applications/web_app.cc b/chrome/browser/web_applications/web_app.cc index 26b9e9c6..d66559e 100644 --- a/chrome/browser/web_applications/web_app.cc +++ b/chrome/browser/web_applications/web_app.cc
@@ -209,8 +209,9 @@ protocol_handlers_ = std::move(handlers); } -void WebApp::SetShortcutInfos(std::vector<WebApplicationShortcutsMenuItemInfo> - shortcuts_menu_item_infos) { +void WebApp::SetShortcutsMenuItemInfos( + std::vector<WebApplicationShortcutsMenuItemInfo> + shortcuts_menu_item_infos) { shortcuts_menu_item_infos_ = std::move(shortcuts_menu_item_infos); }
diff --git a/chrome/browser/web_applications/web_app.h b/chrome/browser/web_applications/web_app.h index 62bbfca..88f88453 100644 --- a/chrome/browser/web_applications/web_app.h +++ b/chrome/browser/web_applications/web_app.h
@@ -179,8 +179,9 @@ // Performs sorting of |sizes| vector. Must be called rarely. void SetDownloadedIconSizes(std::vector<SquareSizePx> sizes); void SetIsGeneratedIcon(bool is_generated_icon); - void SetShortcutInfos(std::vector<WebApplicationShortcutsMenuItemInfo> - shortcuts_menu_item_infos); + void SetShortcutsMenuItemInfos( + std::vector<WebApplicationShortcutsMenuItemInfo> + shortcuts_menu_item_infos); void SetDownloadedShortcutsMenuIconsSizes( std::vector<std::vector<SquareSizePx>> icon_sizes); void SetFileHandlers(apps::FileHandlers file_handlers);
diff --git a/chrome/browser/web_applications/web_app_database.cc b/chrome/browser/web_applications/web_app_database.cc index d460547..1d6a3ea7 100644 --- a/chrome/browser/web_applications/web_app_database.cc +++ b/chrome/browser/web_applications/web_app_database.cc
@@ -423,7 +423,7 @@ } shortcuts_menu_item_infos.emplace_back(std::move(shortcut_info)); } - web_app->SetShortcutInfos(std::move(shortcuts_menu_item_infos)); + web_app->SetShortcutsMenuItemInfos(std::move(shortcuts_menu_item_infos)); std::vector<std::vector<SquareSizePx>> shortcuts_menu_icons_sizes; for (const auto& shortcuts_icon_sizes_proto :
diff --git a/chrome/browser/web_applications/web_app_database_unittest.cc b/chrome/browser/web_applications/web_app_database_unittest.cc index da0aad66..e607a9b 100644 --- a/chrome/browser/web_applications/web_app_database_unittest.cc +++ b/chrome/browser/web_applications/web_app_database_unittest.cc
@@ -252,7 +252,8 @@ } app->SetAdditionalSearchTerms(std::move(additional_search_terms)); - app->SetShortcutInfos(CreateShortcutInfos(base_url, random.next_uint())); + app->SetShortcutsMenuItemInfos( + CreateShortcutInfos(base_url, random.next_uint())); app->SetDownloadedShortcutsMenuIconsSizes( CreateDownloadedShortcutsMenuIconsSizes());
diff --git a/chrome/browser/web_applications/web_app_install_finalizer.cc b/chrome/browser/web_applications/web_app_install_finalizer.cc index 37484d1b..a8189dc 100644 --- a/chrome/browser/web_applications/web_app_install_finalizer.cc +++ b/chrome/browser/web_applications/web_app_install_finalizer.cc
@@ -453,7 +453,7 @@ GetSquareSizePxs(web_app_info.icon_bitmaps_any)); web_app->SetIsGeneratedIcon(web_app_info.is_generated_icon); - web_app->SetShortcutInfos(web_app_info.shortcuts_menu_item_infos); + web_app->SetShortcutsMenuItemInfos(web_app_info.shortcuts_menu_item_infos); web_app->SetDownloadedShortcutsMenuIconsSizes( GetDownloadedShortcutsMenuIconsSizes( web_app_info.shortcuts_menu_icons_bitmaps));
diff --git a/chrome/browser/web_applications/web_app_migration_manager.cc b/chrome/browser/web_applications/web_app_migration_manager.cc index 81771ae..ce1843d 100644 --- a/chrome/browser/web_applications/web_app_migration_manager.cc +++ b/chrome/browser/web_applications/web_app_migration_manager.cc
@@ -240,7 +240,7 @@ if (base::FeatureList::IsEnabled( features::kDesktopPWAsAppIconShortcutsMenu)) { - web_app->SetShortcutInfos( + web_app->SetShortcutsMenuItemInfos( bookmark_app_registrar_.GetAppShortcutInfos(app_id)); web_app->SetDownloadedShortcutsMenuIconsSizes( bookmark_app_registrar_.GetAppDownloadedShortcutsMenuIconsSizes(
diff --git a/chrome/build/mac.pgo.txt b/chrome/build/mac.pgo.txt index 4ac8805..9995bb1 100644 --- a/chrome/build/mac.pgo.txt +++ b/chrome/build/mac.pgo.txt
@@ -1 +1 @@ -chrome-mac-master-1597082402-653f85831e858c9a0c668621a5e4055f49c06c11.profdata +chrome-mac-master-1597103970-7949af98f84f094ce49225adb2a5f704b5b255e9.profdata
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc index 5978d41..c181519 100644 --- a/chrome/common/chrome_features.cc +++ b/chrome/common/chrome_features.cc
@@ -16,9 +16,31 @@ // All features in alphabetical order. +#if BUILDFLAG(ENABLE_EXTENSIONS) +// Sets whether dismissing the new-tab-page override bubble counts as +// acknowledgement. +const base::Feature kAcknowledgeNtpOverrideOnDeactivate{ + "AcknowledgeNtpOverrideOnDeactivate", base::FEATURE_DISABLED_BY_DEFAULT}; +#endif + +#if defined(OS_CHROMEOS) +// Enables or disables logging for adaptive screen brightness on Chrome OS. +const base::Feature kAdaptiveScreenBrightnessLogging{ + "AdaptiveScreenBrightnessLogging", base::FEATURE_ENABLED_BY_DEFAULT}; +#endif + #if defined(OS_ANDROID) const base::Feature kAddToHomescreenMessaging{ "AddToHomescreenMessaging", base::FEATURE_DISABLED_BY_DEFAULT}; +#endif + +#if defined(OS_CHROMEOS) +// Shows a setting that allows disabling mouse acceleration. +const base::Feature kAllowDisableMouseAcceleration{ + "AllowDisableMouseAcceleration", base::FEATURE_ENABLED_BY_DEFAULT}; +#endif + +#if defined(OS_ANDROID) const base::Feature kAndroidDarkSearch{"AndroidDarkSearch", base::FEATURE_DISABLED_BY_DEFAULT}; #endif // defined(OS_ANDROID) @@ -36,26 +58,21 @@ base::FEATURE_ENABLED_BY_DEFAULT}; #endif +#if !defined(OS_ANDROID) +// App Service related flags. See components/services/app_service/README.md. +const base::Feature kAppServiceAdaptiveIcon{"AppServiceAdaptiveIcon", + base::FEATURE_ENABLED_BY_DEFAULT}; +const base::Feature kAppServiceIntentHandling{"AppServiceIntentHandling", + base::FEATURE_ENABLED_BY_DEFAULT}; +#endif // !defined(OS_ANDROID) + #if defined(OS_MAC) // Can be used to disable RemoteCocoa (hosting NSWindows for apps in the app // process). For debugging purposes only. const base::Feature kAppShimRemoteCocoa{"AppShimRemoteCocoa", base::FEATURE_ENABLED_BY_DEFAULT}; - -// Enables the "this OS is obsolete" infobar on Mac 10.9. -// TODO(ellyjones): Remove this after the last 10.9 release. -const base::Feature kShow10_9ObsoleteInfobar{"Show109ObsoleteInfobar", - base::FEATURE_DISABLED_BY_DEFAULT}; #endif // defined(OS_MAC) -#if !defined(OS_ANDROID) -// App Service related flags. See components/services/app_service/README.md. -const base::Feature kAppServiceIntentHandling{"AppServiceIntentHandling", - base::FEATURE_ENABLED_BY_DEFAULT}; -const base::Feature kAppServiceAdaptiveIcon{"AppServiceAdaptiveIcon", - base::FEATURE_ENABLED_BY_DEFAULT}; -#endif // !defined(OS_ANDROID) - // Enables the built-in DNS resolver. const base::Feature kAsyncDns { "AsyncDns", @@ -74,20 +91,9 @@ "BackgroundModeAllowRestart", base::FEATURE_DISABLED_BY_DEFAULT}; #endif // defined(OS_WIN) || defined(OS_LINUX) -#if !defined(OS_ANDROID) -// Enables logging UKMs for background tab activity by TabActivityWatcher. -const base::Feature kTabMetricsLogging{"TabMetricsLogging", - base::FEATURE_ENABLED_BY_DEFAULT}; -#endif - -#if defined(OS_WIN) -// Enables the blocking of third-party modules. This feature requires Windows 8 -// or higher because it depends on the ProcessExtensionPointDisablePolicy -// mitigation, which was not available on Windows 7. -// Note: Due to a limitation in the implementation of this feature, it is -// required to start the browser two times to fully enable or disable it. -const base::Feature kThirdPartyModulesBlocking{ - "ThirdPartyModulesBlocking", base::FEATURE_DISABLED_BY_DEFAULT}; +#if defined(OS_CHROMEOS) +// Enable Borealis on Chrome OS. +const base::Feature kBorealis{"Borealis", base::FEATURE_DISABLED_BY_DEFAULT}; #endif #if BUILDFLAG(TRIAL_COMPARISON_CERT_VERIFIER_SUPPORTED) @@ -107,13 +113,6 @@ const base::Feature kCheckOfflineCapability{"CheckOfflineCapability", base::FEATURE_DISABLED_BY_DEFAULT}; -#if defined(OS_CHROMEOS) -// Enables passing additional user authentication in requests to DMServer -// (policy fetch, status report upload). -const base::Feature kDMServerOAuthForChildUser{ - "DMServerOAuthForChildUser", base::FEATURE_ENABLED_BY_DEFAULT}; -#endif - #if defined(OS_ANDROID) // Enables clearing of browsing data which is older than given time period. const base::Feature kClearOldBrowsingData{"ClearOldBrowsingData", @@ -129,18 +128,15 @@ const base::Feature kContentSettingsRedesign{"ContentSettingsRedesign", base::FEATURE_DISABLED_BY_DEFAULT}; -#if defined(OS_MAC) -const base::Feature kImmersiveFullscreen{"ImmersiveFullscreen", - base::FEATURE_DISABLED_BY_DEFAULT}; -#endif - #if defined(OS_CHROMEOS) -// Shows a setting that allows disabling mouse acceleration. -const base::Feature kAllowDisableMouseAcceleration{ - "AllowDisableMouseAcceleration", base::FEATURE_ENABLED_BY_DEFAULT}; +// Enables or disables "usm" service in the list of user services returned by +// userInfo Gaia message. +const base::Feature kCrOSEnableUSMUserService{"CrOSEnableUSMUserService", + base::FEATURE_ENABLED_BY_DEFAULT}; -// Enable Borealis on Chrome OS. -const base::Feature kBorealis{"Borealis", base::FEATURE_DISABLED_BY_DEFAULT}; +// Enables or disables flash component updates on Chrome OS. +const base::Feature kCrosCompUpdates{"CrosCompUpdates", + base::FEATURE_ENABLED_BY_DEFAULT}; // Enable project Crostini, Linux VMs on Chrome OS. const base::Feature kCrostini{"Crostini", base::FEATURE_DISABLED_BY_DEFAULT}; @@ -165,14 +161,14 @@ const base::Feature kCrostiniAnsibleSoftwareManagement{ "CrostiniAnsibleSoftwareManagement", base::FEATURE_DISABLED_BY_DEFAULT}; -// Enables custom UI for forcibly closing unresponsive windows. -const base::Feature kCrostiniForceClose{"CrostiniForceClose", - base::FEATURE_ENABLED_BY_DEFAULT}; - // Enables support for sideloading android apps into Arc via crostini. const base::Feature kCrostiniArcSideload{"CrostiniArcSideload", base::FEATURE_ENABLED_BY_DEFAULT}; +// Enables custom UI for forcibly closing unresponsive windows. +const base::Feature kCrostiniForceClose{"CrostiniForceClose", + base::FEATURE_ENABLED_BY_DEFAULT}; + // Enables distributed model for TPM1.2, i.e., using tpm_managerd and // attestationd. const base::Feature kCryptohomeDistributedModel{ @@ -189,36 +185,29 @@ // instead of the deprecated glib-dbus. const base::Feature kCryptohomeUserDataAuthKillswitch{ "CryptohomeUserDataAuthKillswitch", base::FEATURE_DISABLED_BY_DEFAULT}; +#endif -// Enable support for "Plugin VMs" on Chrome OS. -const base::Feature kPluginVm{"PluginVm", base::FEATURE_DISABLED_BY_DEFAULT}; +#if defined(OS_CHROMEOS) +// Enables passing additional user authentication in requests to DMServer +// (policy fetch, status report upload). +const base::Feature kDMServerOAuthForChildUser{ + "DMServerOAuthForChildUser", base::FEATURE_ENABLED_BY_DEFAULT}; +#endif -// Enable adding a print server on Chrome OS. -const base::Feature kPrintServerUi{"PrintServerUi", - base::FEATURE_ENABLED_BY_DEFAULT}; - -// Use the Terminal System App legacy settings page. -const base::Feature kTerminalSystemAppLegacySettings{ - "TerminalSystemAppLegacySettings", base::FEATURE_DISABLED_BY_DEFAULT}; - -// Enable uploading of a zip archive of system logs instead of individual files. -const base::Feature kUploadZippedSystemLogs{"UploadZippedSystemLogs", - base::FEATURE_ENABLED_BY_DEFAULT}; - -// Allow a Wilco DTC (diagnostics and telemetry controller) on Chrome OS. -// More info about the project may be found here: -// https://docs.google.com/document/d/18Ijj8YlC8Q3EWRzLspIi2dGxg4vIBVe5sJgMPt9SWYo -const base::Feature kWilcoDtc{"WilcoDtc", base::FEATURE_DISABLED_BY_DEFAULT}; +#if !defined(OS_ANDROID) +// Whether to allow installed-by-default web apps to be installed or not. +const base::Feature kDefaultWebAppInstallation{ + "DefaultWebAppInstallation", base::FEATURE_ENABLED_BY_DEFAULT}; #endif // Enable using tab sharing infobars for desktop capture. const base::Feature kDesktopCaptureTabSharingInfobar{ "DesktopCaptureTabSharingInfobar", base::FEATURE_ENABLED_BY_DEFAULT}; -// Enables or disables new Desktop PWAs implementation that does not use -// extensions. -const base::Feature kDesktopPWAsWithoutExtensions{ - "DesktopPWAsWithoutExtensions", base::FEATURE_ENABLED_BY_DEFAULT}; +// Enables Desktop PWA installs to have a menu of shortcuts associated with +// the app icon in the taskbar on Windows, or the dock on macOS or Linux. +const base::Feature kDesktopPWAsAppIconShortcutsMenu{ + "DesktopPWAsAppIconShortcutsMenu", base::FEATURE_ENABLED_BY_DEFAULT}; // When installing default installed PWAs, we wait for service workers // to cache resources. @@ -230,6 +219,19 @@ const base::Feature kDesktopPWAsLocalUpdating{"DesktopPWAsLocalUpdating", base::FEATURE_ENABLED_BY_DEFAULT}; +// Enables or disables Desktop PWAs to be auto-started on OS login. +const base::Feature kDesktopPWAsRunOnOsLogin{"DesktopPWAsRunOnOsLogin", + base::FEATURE_DISABLED_BY_DEFAULT}; + +// Enables or disables usage of shared LevelDB instance (ModelTypeStoreService). +// If this flag is disabled, the new Web Apps system uses its own isolated +// LevelDB instance for manual testing purposes. Requires +// kDesktopPWAsWithoutExtensions to be enabled. +// TODO(crbug.com/877898): Delete this feature flag before +// kDesktopPWAsWithoutExtensions launch. +const base::Feature kDesktopPWAsSharedStoreService{ + "DesktopPWAsSharedStoreService", base::FEATURE_ENABLED_BY_DEFAULT}; + // Adds a tab strip to PWA windows, used for UI experimentation. // TODO(crbug.com/897314): Enable this feature. const base::Feature kDesktopPWAsTabStrip{"DesktopPWAsTabStrip", @@ -241,39 +243,30 @@ const base::Feature kDesktopPWAsTabStripLinkCapturing{ "DesktopPWAsTabStripLinkCapturing", base::FEATURE_DISABLED_BY_DEFAULT}; -// Enables Desktop PWA installs to have a menu of shortcuts associated with -// the app icon in the taskbar on Windows, or the dock on macOS or Linux. -const base::Feature kDesktopPWAsAppIconShortcutsMenu{ - "DesktopPWAsAppIconShortcutsMenu", base::FEATURE_ENABLED_BY_DEFAULT}; - -// Enables or disables usage of shared LevelDB instance (ModelTypeStoreService). -// If this flag is disabled, the new Web Apps system uses its own isolated -// LevelDB instance for manual testing purposes. Requires -// kDesktopPWAsWithoutExtensions to be enabled. -// TODO(crbug.com/877898): Delete this feature flag before -// kDesktopPWAsWithoutExtensions launch. -const base::Feature kDesktopPWAsSharedStoreService{ - "DesktopPWAsSharedStoreService", base::FEATURE_ENABLED_BY_DEFAULT}; - -#if !defined(OS_ANDROID) -// Whether to allow installed-by-default web apps to be installed or not. -const base::Feature kDefaultWebAppInstallation{ - "DefaultWebAppInstallation", base::FEATURE_ENABLED_BY_DEFAULT}; -#endif - -// Enables or disables Desktop PWAs to be auto-started on OS login. -const base::Feature kDesktopPWAsRunOnOsLogin{"DesktopPWAsRunOnOsLogin", - base::FEATURE_DISABLED_BY_DEFAULT}; +// Enables or disables new Desktop PWAs implementation that does not use +// extensions. +const base::Feature kDesktopPWAsWithoutExtensions{ + "DesktopPWAsWithoutExtensions", base::FEATURE_ENABLED_BY_DEFAULT}; // Enable DNS over HTTPS (DoH). const base::Feature kDnsOverHttps{"DnsOverHttps", base::FEATURE_DISABLED_BY_DEFAULT}; +// Provides a mechanism to remove providers from the dropdown list in the +// settings UI. Separate multiple provider ids with commas. See the +// mapping in net/dns/dns_util.cc for provider ids. +const base::FeatureParam<std::string> kDnsOverHttpsDisabledProvidersParam{ + &kDnsOverHttps, "DisabledProviders", ""}; + // Set whether fallback to insecure DNS is allowed by default. This setting may // be overridden for individual transactions. const base::FeatureParam<bool> kDnsOverHttpsFallbackParam{&kDnsOverHttps, "Fallback", true}; +// Sets whether the DoH setting is displayed in the settings UI. +const base::FeatureParam<bool> kDnsOverHttpsShowUiParam{&kDnsOverHttps, + "ShowUi", false}; + // Supply one or more space-separated DoH server URI templates to use when this // feature is enabled. If no templates are specified, then a hardcoded mapping // will be used to construct a list of DoH templates associated with the IP @@ -281,32 +274,22 @@ const base::FeatureParam<std::string> kDnsOverHttpsTemplatesParam{ &kDnsOverHttps, "Templates", ""}; -// Sets whether the DoH setting is displayed in the settings UI. -const base::FeatureParam<bool> kDnsOverHttpsShowUiParam{&kDnsOverHttps, - "ShowUi", false}; - -// Provides a mechanism to remove providers from the dropdown list in the -// settings UI. Separate multiple provider ids with commas. See the -// mapping in net/dns/dns_util.cc for provider ids. -const base::FeatureParam<std::string> kDnsOverHttpsDisabledProvidersParam{ - &kDnsOverHttps, "DisabledProviders", ""}; - #if defined(OS_ANDROID) // Enable changing default downloads storage location on Android. const base::Feature kDownloadsLocationChange{"DownloadsLocationChange", base::FEATURE_ENABLED_BY_DEFAULT}; #endif -// Disables ambient authentication in incognito mode. -const base::Feature kEnableAmbientAuthenticationInIncognito{ - "EnableAmbientAuthenticationInIncognito", - base::FEATURE_DISABLED_BY_DEFAULT}; - // Disables ambient authentication in guest sessions. const base::Feature kEnableAmbientAuthenticationInGuestSession{ "EnableAmbientAuthenticationInGuestSession", base::FEATURE_DISABLED_BY_DEFAULT}; +// Disables ambient authentication in incognito mode. +const base::Feature kEnableAmbientAuthenticationInIncognito{ + "EnableAmbientAuthenticationInIncognito", + base::FEATURE_DISABLED_BY_DEFAULT}; + #if defined(OS_WIN) // Enables users to create a desktop shortcut for incognito mode. const base::Feature kEnableIncognitoShortcutOnDesktop{ @@ -337,6 +320,19 @@ const base::Feature kExternalExtensionDefaultButtonControl{ "ExternalExtensionDefaultButtonControl", base::FEATURE_DISABLED_BY_DEFAULT}; +#if BUILDFLAG(ENABLE_PLUGINS) +// Show Flash deprecation warning to users who have manually enabled Flash. +// https://crbug.com/918428 +const base::Feature kFlashDeprecationWarning{"FlashDeprecationWarning", + base::FEATURE_ENABLED_BY_DEFAULT}; +#endif + +// Enables or disables the FlocIdComputed event logging, which happens when a +// floc id is first computed for a browsing session or is refreshed due to a +// long period of time has passed since the last computation. +const base::Feature kFlocIdComputedEventLogging{ + "FlocIdComputedEventLogging", base::FEATURE_DISABLED_BY_DEFAULT}; + // Enables Focus Mode which brings up a PWA-like window look. const base::Feature kFocusMode{"FocusMode", base::FEATURE_DISABLED_BY_DEFAULT}; @@ -355,12 +351,6 @@ const base::Feature kGeoLanguage{"GeoLanguage", base::FEATURE_DISABLED_BY_DEFAULT}; -#if defined(OS_CHROMEOS) -// Enables or disables the Happiness Tracking System for the device. -const base::Feature kHappinessTrackingSystem{"HappinessTrackingSystem", - base::FEATURE_DISABLED_BY_DEFAULT}; -#endif - #if !defined(OS_ANDROID) // Enables or disables the Happiness Tracking System for Desktop Chrome. const base::Feature kHappinessTrackingSurveysForDesktop{ @@ -372,6 +362,12 @@ "HappinessTrackingSurveysForDesktopDemo", base::FEATURE_DISABLED_BY_DEFAULT}; +// Enables the migration of Happiness Tracking Surveys on Desktop (to the latest +// version). +const base::Feature kHappinessTrackingSurveysForDesktopMigration{ + "HappinessTrackingSurveysForDesktopMigration", + base::FEATURE_DISABLED_BY_DEFAULT}; + // Enables or disables the Happiness Tracking System for Desktop Chrome // Settings. const base::Feature kHappinessTrackingSurveysForDesktopSettings{ @@ -383,14 +379,33 @@ const base::Feature kHappinessTrackingSurveysForDesktopSettingsPrivacy{ "HappinessTrackingSurveysForDesktopSettingsPrivacy", base::FEATURE_DISABLED_BY_DEFAULT}; - -// Enables the migration of Happiness Tracking Surveys on Desktop (to the latest -// version). -const base::Feature kHappinessTrackingSurveysForDesktopMigration{ - "HappinessTrackingSurveysForDesktopMigration", - base::FEATURE_DISABLED_BY_DEFAULT}; #endif // !defined(OS_ANDROID) +#if defined(OS_CHROMEOS) +// Enables or disables the Happiness Tracking System for the device. +const base::Feature kHappinessTrackingSystem{"HappinessTrackingSystem", + base::FEATURE_DISABLED_BY_DEFAULT}; +#endif + +// Enables or disables the intervention that unloads ad iframes with intensive +// resource usage. +const base::Feature kHeavyAdIntervention{"HeavyAdIntervention", + base::FEATURE_DISABLED_BY_DEFAULT}; + +// Enables or disables reporting on the intervention that unloads ad iframes +// with intensive resource usage. +const base::Feature kHeavyAdInterventionWarning{ + "HeavyAdInterventionWarning", base::FEATURE_ENABLED_BY_DEFAULT}; + +// Enables or disables the privacy mitigations for the heavy ad intervention. +// This throttles the amount of interventions that can occur on a given host in +// a time period. It also adds noise to the thresholds used. This is separate +// from the intervention feature so it does not interfere with field trial +// activation, as this blocklist is created for every user, and noise is decided +// prior to seeing a heavy ad. +const base::Feature kHeavyAdPrivacyMitigations{ + "HeavyAdPrivacyMitigations", base::FEATURE_ENABLED_BY_DEFAULT}; + // Hide CorsLegacyModeEnabled enterprise policy support. This feature and // the enterprise policy supporting code will be removed at m84. const base::Feature kHideCorsLegacyModeEnabledPolicySupport{ @@ -401,17 +416,9 @@ const base::Feature kHideCorsMitigationListPolicySupport{ "HideCorsMitigationListPolicySupport", base::FEATURE_ENABLED_BY_DEFAULT}; -// Enables LiteVideos, a data-saving optimization that throttles media requests -// to reduce the bitrate of adaptive media streams. Only for Lite mode users -// (formerly DataSaver). -const base::Feature kLiteVideo{"LiteVideo", base::FEATURE_DISABLED_BY_DEFAULT}; - -#if defined(OS_WIN) -// A feature that controls whether Chrome warns about incompatible applications. -// This feature requires Windows 10 or higher to work because it depends on -// the "Apps & Features" system settings. -const base::Feature kIncompatibleApplicationsWarning{ - "IncompatibleApplicationsWarning", base::FEATURE_DISABLED_BY_DEFAULT}; +#if defined(OS_MAC) +const base::Feature kImmersiveFullscreen{"ImmersiveFullscreen", + base::FEATURE_DISABLED_BY_DEFAULT}; #endif #if defined(OS_CHROMEOS) @@ -427,6 +434,14 @@ base::FEATURE_ENABLED_BY_DEFAULT}; #endif // defined(OS_CHROMEOS) +#if defined(OS_WIN) +// A feature that controls whether Chrome warns about incompatible applications. +// This feature requires Windows 10 or higher to work because it depends on +// the "Apps & Features" system settings. +const base::Feature kIncompatibleApplicationsWarning{ + "IncompatibleApplicationsWarning", base::FEATURE_DISABLED_BY_DEFAULT}; +#endif + #if defined(OS_ANDROID) // Enables or disables the installable ambient badge infobar. const base::Feature kInstallableAmbientBadgeInfoBar{ @@ -452,6 +467,11 @@ base::FEATURE_DISABLED_BY_DEFAULT}; #endif +// Enables LiteVideos, a data-saving optimization that throttles media requests +// to reduce the bitrate of adaptive media streams. Only for Lite mode users +// (formerly DataSaver). +const base::Feature kLiteVideo{"LiteVideo", base::FEATURE_DISABLED_BY_DEFAULT}; + #if defined(OS_MAC) // Uses NSFullSizeContentViewWindowMask where available instead of adding our // own views to the window frame. This is a temporary kill switch, it can be @@ -487,13 +507,6 @@ base::FEATURE_ENABLED_BY_DEFAULT}; #endif -#if BUILDFLAG(ENABLE_EXTENSIONS) -// Sets whether dismissing the new-tab-page override bubble counts as -// acknowledgement. -const base::Feature kAcknowledgeNtpOverrideOnDeactivate{ - "AcknowledgeNtpOverrideOnDeactivate", base::FEATURE_DISABLED_BY_DEFAULT}; -#endif - // Enables showing an entry for mixed content in site settings, which controls // allowing blockable mixed content. When enabled, the mixed content shield is // not shown on the omnibox, since its functionality is replaced by the @@ -501,11 +514,6 @@ const base::Feature kMixedContentSiteSetting{"MixedContentSiteSetting", base::FEATURE_ENABLED_BY_DEFAULT}; -#if !defined(OS_ANDROID) -const base::Feature kOnConnectNative{"OnConnectNative", - base::FEATURE_DISABLED_BY_DEFAULT}; -#endif - // Enables the use of native notification centers instead of using the Message // Center for displaying the toasts. The feature is hardcoded to enabled for // Chrome OS. @@ -533,6 +541,25 @@ base::FEATURE_ENABLED_BY_DEFAULT}; #endif +#if !defined(OS_ANDROID) +const base::Feature kOnConnectNative{"OnConnectNative", + base::FEATURE_DISABLED_BY_DEFAULT}; +#endif + +// Enables/disables marketing emails for other countries other than US,CA,UK. +const base::Feature kOobeMarketingAdditionalCountriesSupported{ + "kOobeMarketingAdditionalCountriesSupported", + base::FEATURE_ENABLED_BY_DEFAULT}; + +// Enables/disables marketing emails for double opt-in countries. +const base::Feature kOobeMarketingDoubleOptInCountriesSupported{ + "kOobeMarketingDoubleOptInCountriesSupported", + base::FEATURE_ENABLED_BY_DEFAULT}; + +// Enables or disables the marketing opt-in screen in OOBE +const base::Feature kOobeMarketingScreen{"OobeMarketingScreen", + base::FEATURE_ENABLED_BY_DEFAULT}; + #if defined(OS_ANDROID) // Enables or disabled the OOM intervention. const base::Feature kOomIntervention{"OomIntervention", @@ -560,6 +587,11 @@ base::FEATURE_ENABLED_BY_DEFAULT}; #endif +#if defined(OS_CHROMEOS) +// Enable support for "Plugin VMs" on Chrome OS. +const base::Feature kPluginVm{"PluginVm", base::FEATURE_DISABLED_BY_DEFAULT}; +#endif + // Allows prediction operations (e.g., prefetching) on all connection types. const base::Feature kPredictivePrefetchingAllowedOnAllConnectionTypes{ "PredictivePrefetchingAllowedOnAllConnectionTypes", @@ -569,6 +601,12 @@ const base::Feature kPrerenderFallbackToPreconnect{ "PrerenderFallbackToPreconnect", base::FEATURE_ENABLED_BY_DEFAULT}; +#if defined(OS_CHROMEOS) +// Enable adding a print server on Chrome OS. +const base::Feature kPrintServerUi{"PrintServerUi", + base::FEATURE_ENABLED_BY_DEFAULT}; +#endif + #if defined(OS_ANDROID) const base::Feature kPrivacyElevatedAndroid{"PrivacyElevatedAndroid", base::FEATURE_DISABLED_BY_DEFAULT}; @@ -582,28 +620,31 @@ const base::Feature kPrivacySettingsRedesign{"PrivacySettingsRedesign", base::FEATURE_ENABLED_BY_DEFAULT}; -#if defined(OS_ANDROID) -const base::Feature kSafetyCheckAndroid{"SafetyCheckAndroid", - base::FEATURE_DISABLED_BY_DEFAULT}; -#endif - -#if defined(OS_WIN) -const base::Feature kSafetyCheckChromeCleanerChild{ - "SafetyCheckChromeCleanerChild", base::FEATURE_ENABLED_BY_DEFAULT}; -#endif - -#if BUILDFLAG(ENABLE_PLUGINS) -// Show Flash deprecation warning to users who have manually enabled Flash. -// https://crbug.com/918428 -const base::Feature kFlashDeprecationWarning{"FlashDeprecationWarning", - base::FEATURE_ENABLED_BY_DEFAULT}; -#endif - // Enables or disables push subscriptions keeping Chrome running in the // background when closed. const base::Feature kPushMessagingBackgroundMode{ "PushMessagingBackgroundMode", base::FEATURE_DISABLED_BY_DEFAULT}; +#if defined(OS_CHROMEOS) +// Enables or disables fingerprint quick unlock. +const base::Feature kQuickUnlockFingerprint{"QuickUnlockFingerprint", + base::FEATURE_DISABLED_BY_DEFAULT}; + +// Controls whether the PIN auto submit feature is enabled. +const base::Feature kQuickUnlockPinAutosubmit{ + "QuickUnlockPinAutosubmit", base::FEATURE_DISABLED_BY_DEFAULT}; + +// TODO(crbug.com/1104164) - Remove this once most +// users have their preferences backfilled. +// Controls whether the PIN auto submit backfill operation should be performed. +const base::Feature kQuickUnlockPinAutosubmitBackfill{ + "QuickUnlockPinAutosubmitBackfill", base::FEATURE_ENABLED_BY_DEFAULT}; + +// Enables pin on the login screen. +const base::Feature kQuickUnlockPinSignin{"QuickUnlockPinSignin", + base::FEATURE_DISABLED_BY_DEFAULT}; +#endif + // Enables using quiet prompts for notification permission requests. const base::Feature kQuietNotificationPrompts{"QuietNotificationPrompts", base::FEATURE_ENABLED_BY_DEFAULT}; @@ -614,6 +655,22 @@ "RemoveSupervisedUsersOnStartup", base::FEATURE_DISABLED_BY_DEFAULT}; #endif +#if defined(OS_ANDROID) +const base::Feature kSafetyCheckAndroid{"SafetyCheckAndroid", + base::FEATURE_DISABLED_BY_DEFAULT}; +#endif + +#if defined(OS_WIN) +const base::Feature kSafetyCheckChromeCleanerChild{ + "SafetyCheckChromeCleanerChild", base::FEATURE_ENABLED_BY_DEFAULT}; +#endif + +#if defined(OS_CHROMEOS) +// Enable support for multiple scheduler configurations. +const base::Feature kSchedulerConfiguration{"SchedulerConfiguration", + base::FEATURE_DISABLED_BY_DEFAULT}; +#endif // defined(OS_CHROMEOS) + // Controls whether the user is prompted when sites request attestation. const base::Feature kSecurityKeyAttestationPrompt{ "SecurityKeyAttestationPrompt", base::FEATURE_ENABLED_BY_DEFAULT}; @@ -623,6 +680,13 @@ base::FEATURE_DISABLED_BY_DEFAULT}; #endif +#if defined(OS_MAC) +// Enables the "this OS is obsolete" infobar on Mac 10.9. +// TODO(ellyjones): Remove this after the last 10.9 release. +const base::Feature kShow10_9ObsoleteInfobar{"Show109ObsoleteInfobar", + base::FEATURE_DISABLED_BY_DEFAULT}; +#endif // defined(OS_MAC) + #if defined(OS_ANDROID) const base::Feature kShowTrustedPublisherURL{"ShowTrustedPublisherURL", base::FEATURE_ENABLED_BY_DEFAULT}; @@ -645,9 +709,8 @@ }; #if defined(OS_CHROMEOS) -// Enables or disables automatic setup of USB printers. -const base::Feature kStreamlinedUsbPrinterSetup{ - "StreamlinedUsbPrinterSetup", base::FEATURE_ENABLED_BY_DEFAULT}; +// Enables or disables SmartDim on Chrome OS. +const base::Feature kSmartDim{"SmartDim", base::FEATURE_DISABLED_BY_DEFAULT}; // Enables or disables using smbfs for accessing SMB file shares. const base::Feature kSmbFs{"SmbFs", base::FEATURE_ENABLED_BY_DEFAULT}; @@ -659,6 +722,10 @@ base::FEATURE_ENABLED_BY_DEFAULT}; #if defined(OS_CHROMEOS) +// Enables or disables automatic setup of USB printers. +const base::Feature kStreamlinedUsbPrinterSetup{ + "StreamlinedUsbPrinterSetup", base::FEATURE_ENABLED_BY_DEFAULT}; + // Enables or disables chrome://sys-internals. const base::Feature kSysInternals{"SysInternals", base::FEATURE_DISABLED_BY_DEFAULT}; @@ -668,113 +735,63 @@ const base::Feature kSystemWebApps{"SystemWebApps", base::FEATURE_ENABLED_BY_DEFAULT}; +#if defined(OS_CHROMEOS) +// Enables or disables TPM firmware update capability on Chrome OS. +const base::Feature kTPMFirmwareUpdate{"TPMFirmwareUpdate", + base::FEATURE_ENABLED_BY_DEFAULT}; +#endif + +#if !defined(OS_ANDROID) +// Enables logging UKMs for background tab activity by TabActivityWatcher. +const base::Feature kTabMetricsLogging{"TabMetricsLogging", + base::FEATURE_ENABLED_BY_DEFAULT}; +#endif + +// Enables the teamfood flags. +const base::Feature kTeamfoodFlags{"TeamfoodFlags", + base::FEATURE_DISABLED_BY_DEFAULT}; + +#if defined(OS_CHROMEOS) +// Use the Terminal System App legacy settings page. +const base::Feature kTerminalSystemAppLegacySettings{ + "TerminalSystemAppLegacySettings", base::FEATURE_DISABLED_BY_DEFAULT}; +#endif + +#if defined(OS_WIN) +// Enables the blocking of third-party modules. This feature requires Windows 8 +// or higher because it depends on the ProcessExtensionPointDisablePolicy +// mitigation, which was not available on Windows 7. +// Note: Due to a limitation in the implementation of this feature, it is +// required to start the browser two times to fully enable or disable it. +const base::Feature kThirdPartyModulesBlocking{ + "ThirdPartyModulesBlocking", base::FEATURE_DISABLED_BY_DEFAULT}; +#endif + // Disable downloads of unsafe file types over insecure transports if initiated // from a secure page const base::Feature kTreatUnsafeDownloadsAsActive{ "TreatUnsafeDownloadsAsActive", base::FEATURE_DISABLED_BY_DEFAULT}; -// Enables or disables the intervention that unloads ad iframes with intensive -// resource usage. -const base::Feature kHeavyAdIntervention{"HeavyAdIntervention", - base::FEATURE_DISABLED_BY_DEFAULT}; - -// Enables or disables reporting on the intervention that unloads ad iframes -// with intensive resource usage. -const base::Feature kHeavyAdInterventionWarning{ - "HeavyAdInterventionWarning", base::FEATURE_ENABLED_BY_DEFAULT}; - -// Enables or disables the privacy mitigations for the heavy ad intervention. -// This throttles the amount of interventions that can occur on a given host in -// a time period. It also adds noise to the thresholds used. This is separate -// from the intervention feature so it does not interfere with field trial -// activation, as this blocklist is created for every user, and noise is decided -// prior to seeing a heavy ad. -const base::Feature kHeavyAdPrivacyMitigations{ - "HeavyAdPrivacyMitigations", base::FEATURE_ENABLED_BY_DEFAULT}; - -// Enables or disables the FlocIdComputed event logging, which happens when a -// floc id is first computed for a browsing session or is refreshed due to a -// long period of time has passed since the last computation. -const base::Feature kFlocIdComputedEventLogging{ - "FlocIdComputedEventLogging", base::FEATURE_DISABLED_BY_DEFAULT}; - #if defined(OS_CHROMEOS) -// Enables or disables logging for adaptive screen brightness on Chrome OS. -const base::Feature kAdaptiveScreenBrightnessLogging{ - "AdaptiveScreenBrightnessLogging", base::FEATURE_ENABLED_BY_DEFAULT}; - -// Enables or disables user activity event logging for power management on -// Chrome OS. -const base::Feature kUserActivityEventLogging{"UserActivityEventLogging", - base::FEATURE_ENABLED_BY_DEFAULT}; -#endif - -#if defined(OS_CHROMEOS) -// Controls whether the PIN auto submit feature is enabled. -const base::Feature kQuickUnlockPinAutosubmit{ - "QuickUnlockPinAutosubmit", base::FEATURE_DISABLED_BY_DEFAULT}; - -// TODO(crbug.com/1104164) - Remove this once most -// users have their preferences backfilled. -// Controls whether the PIN auto submit backfill operation should be performed. -const base::Feature kQuickUnlockPinAutosubmitBackfill{ - "QuickUnlockPinAutosubmitBackfill", base::FEATURE_ENABLED_BY_DEFAULT}; - -// Enables pin on the login screen. -const base::Feature kQuickUnlockPinSignin{"QuickUnlockPinSignin", - base::FEATURE_DISABLED_BY_DEFAULT}; - -// Enables or disables the marketing opt-in screen in OOBE -const base::Feature kOobeMarketingScreen{"OobeMarketingScreen", - base::FEATURE_ENABLED_BY_DEFAULT}; - -// Enables/disables marketing emails for double opt-in countries. -const base::Feature kOobeMarketingDoubleOptInCountriesSupported{ - "kOobeMarketingDoubleOptInCountriesSupported", - base::FEATURE_ENABLED_BY_DEFAULT}; - -// Enables/disables marketing emails for other countries other than US,CA,UK. -const base::Feature kOobeMarketingAdditionalCountriesSupported{ - "kOobeMarketingAdditionalCountriesSupported", - base::FEATURE_ENABLED_BY_DEFAULT}; - -// Enables or disables fingerprint quick unlock. -const base::Feature kQuickUnlockFingerprint{"QuickUnlockFingerprint", - base::FEATURE_DISABLED_BY_DEFAULT}; - -// Enables or disables flash component updates on Chrome OS. -const base::Feature kCrosCompUpdates{"CrosCompUpdates", - base::FEATURE_ENABLED_BY_DEFAULT}; - -// Enables or disables TPM firmware update capability on Chrome OS. -const base::Feature kTPMFirmwareUpdate{"TPMFirmwareUpdate", - base::FEATURE_ENABLED_BY_DEFAULT}; - -// Enables or disables "usm" service in the list of user services returned by -// userInfo Gaia message. -const base::Feature kCrOSEnableUSMUserService{"CrOSEnableUSMUserService", - base::FEATURE_ENABLED_BY_DEFAULT}; - -// Enables or disables SmartDim on Chrome OS. -const base::Feature kSmartDim{"SmartDim", base::FEATURE_DISABLED_BY_DEFAULT}; - -// Enable USBGuard at the lockscreen on Chrome OS. -// TODO(crbug.com/874630): Remove this kill-switch -const base::Feature kUsbguard{"USBGuard", base::FEATURE_ENABLED_BY_DEFAULT}; +// Enable uploading of a zip archive of system logs instead of individual files. +const base::Feature kUploadZippedSystemLogs{"UploadZippedSystemLogs", + base::FEATURE_ENABLED_BY_DEFAULT}; // Enable USB Bouncer for managing a device whitelist for USBGuard on Chrome OS. const base::Feature kUsbbouncer{"USBBouncer", base::FEATURE_DISABLED_BY_DEFAULT}; -// Enable support for multiple scheduler configurations. -const base::Feature kSchedulerConfiguration{"SchedulerConfiguration", - base::FEATURE_DISABLED_BY_DEFAULT}; +// Enable USBGuard at the lockscreen on Chrome OS. +// TODO(crbug.com/874630): Remove this kill-switch +const base::Feature kUsbguard{"USBGuard", base::FEATURE_ENABLED_BY_DEFAULT}; +#endif -#endif // defined(OS_CHROMEOS) - -// Enables the teamfood flags. -const base::Feature kTeamfoodFlags{"TeamfoodFlags", - base::FEATURE_DISABLED_BY_DEFAULT}; +#if defined(OS_CHROMEOS) +// Enables or disables user activity event logging for power management on +// Chrome OS. +const base::Feature kUserActivityEventLogging{"UserActivityEventLogging", + base::FEATURE_ENABLED_BY_DEFAULT}; +#endif #if !defined(OS_ANDROID) // Allow capturing of WebRTC event logs, and uploading of those logs to Crash. @@ -788,6 +805,13 @@ "WebRtcRemoteEventLogGzipped", base::FEATURE_ENABLED_BY_DEFAULT}; #endif +// Enables setting time limit for Chrome and PWA's on child user device. +// Requires |kPerAppTimeLimits| to be enabled. +#if defined(OS_CHROMEOS) +const base::Feature kWebTimeLimits{"WebTimeLimits", + base::FEATURE_DISABLED_BY_DEFAULT}; +#endif // defined(OS_CHROMEOS) + // Whether to enable "dark mode" enhancements in Mac Mojave or Windows 10 for // UIs implemented with web technologies. const base::Feature kWebUIDarkMode { @@ -799,6 +823,13 @@ #endif // defined(OS_MAC) || defined(OS_WIN) || defined(OS_ANDROID) }; +#if defined(OS_CHROMEOS) +// Allow a Wilco DTC (diagnostics and telemetry controller) on Chrome OS. +// More info about the project may be found here: +// https://docs.google.com/document/d/18Ijj8YlC8Q3EWRzLspIi2dGxg4vIBVe5sJgMPt9SWYo +const base::Feature kWilcoDtc{"WilcoDtc", base::FEATURE_DISABLED_BY_DEFAULT}; +#endif + #if defined(OS_WIN) // Enables the accelerated default browser flow for Windows 10. const base::Feature kWin10AcceleratedDefaultBrowserFlow{ @@ -811,13 +842,6 @@ "WriteBasicSystemProfileToPersistentHistogramsFile", base::FEATURE_ENABLED_BY_DEFAULT}; -// Enables setting time limit for Chrome and PWA's on child user device. -// Requires |kPerAppTimeLimits| to be enabled. -#if defined(OS_CHROMEOS) -const base::Feature kWebTimeLimits{"WebTimeLimits", - base::FEATURE_DISABLED_BY_DEFAULT}; -#endif // defined(OS_CHROMEOS) - #if defined(OS_CHROMEOS) bool IsParentAccessCodeForOnlineLoginEnabled() { return base::FeatureList::IsEnabled(kParentAccessCode) &&
diff --git a/chrome/common/chrome_features.h b/chrome/common/chrome_features.h index 900fdf5..c482150 100644 --- a/chrome/common/chrome_features.h +++ b/chrome/common/chrome_features.h
@@ -26,9 +26,27 @@ // All features in alphabetical order. The features should be documented // alongside the definition of their values in the .cc file. +#if BUILDFLAG(ENABLE_EXTENSIONS) +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kAcknowledgeNtpOverrideOnDeactivate; +#endif + +#if defined(OS_CHROMEOS) +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kAdaptiveScreenBrightnessLogging; +#endif + #if defined(OS_ANDROID) COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kAddToHomescreenMessaging; +#endif // defined(OS_ANDROID) + +#if defined(OS_CHROMEOS) +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kAllowDisableMouseAcceleration; +#endif // defined(OS_CHROMEOS) + +#if defined(OS_ANDROID) COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kAndroidDarkSearch; #endif // defined(OS_ANDROID) @@ -43,20 +61,18 @@ extern const base::Feature kAppActivityReporting; #endif +#if !defined(OS_ANDROID) +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kAppServiceAdaptiveIcon; +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kAppServiceIntentHandling; +#endif // !defined(OS_ANDROID) + #if defined(OS_MAC) COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kAppShimRemoteCocoa; -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kShow10_9ObsoleteInfobar; #endif // defined(OS_MAC) -#if !defined(OS_ANDROID) -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kAppServiceIntentHandling; -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kAppServiceAdaptiveIcon; -#endif // !defined(OS_ANDROID) - COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kAsyncDns; #if defined(OS_WIN) || defined(OS_LINUX) @@ -64,6 +80,10 @@ extern const base::Feature kBackgroundModeAllowRestart; #endif // defined(OS_WIN) || defined(OS_LINUX) +#if defined(OS_CHROMEOS) +COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kBorealis; +#endif // defined(OS_CHROMEOS) + #if BUILDFLAG(TRIAL_COMPARISON_CERT_VERIFIER_SUPPORTED) COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kCertDualVerificationTrialFeature; @@ -75,11 +95,6 @@ COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kCheckOfflineCapability; -#if defined(OS_CHROMEOS) -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kDMServerOAuthForChildUser; -#endif - #if defined(OS_ANDROID) COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kClearOldBrowsingData; @@ -94,15 +109,10 @@ COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kContentSettingsRedesign; -#if defined(OS_MAC) -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kImmersiveFullscreen; -#endif - #if defined(OS_CHROMEOS) COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kAllowDisableMouseAcceleration; -COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kBorealis; +extern const base::Feature kCrOSEnableUSMUserService; +COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kCrosCompUpdates; COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kCrostini; COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kCrostiniAdditionalEnterpriseReporting; @@ -113,29 +123,32 @@ COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kCrostiniAnsibleSoftwareManagement; COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kCrostiniForceClose; -COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kCrostiniArcSideload; COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kCrostiniForceClose; +COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kCryptohomeDistributedModel; COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kCryptohomeUserDataAuth; COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kCryptohomeUserDataAuthKillswitch; -COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kPluginVm; -COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kPrintServerUi; +#endif + +#if defined(OS_CHROMEOS) COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kTerminalSystemAppLegacySettings; +extern const base::Feature kDMServerOAuthForChildUser; +#endif + +#if !defined(OS_ANDROID) COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kUploadZippedSystemLogs; -COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kWilcoDtc; +extern const base::Feature kDefaultWebAppInstallation; #endif COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kDesktopCaptureTabSharingInfobar; COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kDesktopPWAsWithoutExtensions; +extern const base::Feature kDesktopPWAsAppIconShortcutsMenu; COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kDesktopPWAsCacheDuringDefaultInstall; @@ -144,34 +157,29 @@ extern const base::Feature kDesktopPWAsLocalUpdating; COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kDesktopPWAsRunOnOsLogin; + +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kDesktopPWAsSharedStoreService; + +COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kDesktopPWAsTabStrip; COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kDesktopPWAsTabStripLinkCapturing; COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kDesktopPWAsAppIconShortcutsMenu; - -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kDesktopPWAsSharedStoreService; - -#if !defined(OS_ANDROID) -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kDefaultWebAppInstallation; -#endif - -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kDesktopPWAsRunOnOsLogin; +extern const base::Feature kDesktopPWAsWithoutExtensions; COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kDnsOverHttps; COMPONENT_EXPORT(CHROME_FEATURES) extern const base::FeatureParam<bool> kDnsOverHttpsFallbackParam; COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::FeatureParam<std::string> kDnsOverHttpsTemplatesParam; -COMPONENT_EXPORT(CHROME_FEATURES) extern const base::FeatureParam<bool> kDnsOverHttpsShowUiParam; COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::FeatureParam<std::string> kDnsOverHttpsTemplatesParam; +COMPONENT_EXPORT(CHROME_FEATURES) extern const base::FeatureParam<std::string> kDnsOverHttpsDisabledProvidersParam; @@ -207,32 +215,23 @@ COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kExternalExtensionDefaultButtonControl; +#if BUILDFLAG(ENABLE_PLUGINS) +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kFlashDeprecationWarning; +#endif + +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kFlocIdComputedEventLogging; + COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kFocusMode; -// Android expects this string from Java code, so it is always needed. -// TODO(crbug.com/731802): Use #if BUILDFLAG(ENABLE_VR_BROWSING) instead. -#if BUILDFLAG(ENABLE_VR) || defined(OS_ANDROID) -COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kVrBrowsing; -#endif -#if BUILDFLAG(ENABLE_VR) -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kVrBrowsingExperimentalFeatures; -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kVrBrowsingExperimentalRendering; -#endif // ENABLE_VR - #if defined(OS_WIN) COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kGdiTextPrinting; #endif COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kGeoLanguage; -#if defined(OS_CHROMEOS) -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kHappinessTrackingSystem; -#endif - #if !defined(OS_ANDROID) COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kHappinessTrackingSurveysForDesktop; @@ -241,14 +240,28 @@ extern const base::Feature kHappinessTrackingSurveysForDesktopDemo; COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kHappinessTrackingSurveysForDesktopMigration; + +COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kHappinessTrackingSurveysForDesktopSettings; COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kHappinessTrackingSurveysForDesktopSettingsPrivacy; +#endif + +#if defined(OS_CHROMEOS) +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kHappinessTrackingSystem; +#endif COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kHappinessTrackingSurveysForDesktopMigration; -#endif +extern const base::Feature kHeavyAdIntervention; + +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kHeavyAdInterventionWarning; + +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kHeavyAdPrivacyMitigations; COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kHideCorsLegacyModeEnabledPolicySupport; @@ -256,10 +269,9 @@ COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kHideCorsMitigationListPolicySupport; -#if defined(OS_WIN) -// Only has an effect in branded builds. +#if defined(OS_MAC) COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kIncompatibleApplicationsWarning; +extern const base::Feature kImmersiveFullscreen; #endif #if defined(OS_CHROMEOS) @@ -267,6 +279,12 @@ extern const base::Feature kInSessionPasswordChange; #endif +#if defined(OS_WIN) +// Only has an effect in branded builds. +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kIncompatibleApplicationsWarning; +#endif + #if defined(OS_ANDROID) COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kInstallableAmbientBadgeInfoBar; @@ -313,18 +331,9 @@ extern const base::Feature kMeteredShowToggle; #endif -#if BUILDFLAG(ENABLE_EXTENSIONS) -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kAcknowledgeNtpOverrideOnDeactivate; -#endif - COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kMixedContentSiteSetting; -#if !defined(OS_ANDROID) -COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kOnConnectNative; -#endif - #if BUILDFLAG(ENABLE_NATIVE_NOTIFICATIONS) COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kNativeNotifications; @@ -341,6 +350,19 @@ COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kNtlmV2Enabled; #endif +#if !defined(OS_ANDROID) +COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kOnConnectNative; +#endif + +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kOobeMarketingAdditionalCountriesSupported; + +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kOobeMarketingDoubleOptInCountriesSupported; + +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kOobeMarketingScreen; + #if defined(OS_ANDROID) COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kOomIntervention; #endif @@ -357,6 +379,9 @@ COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kPerAppTimeLimits; + +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kPluginVm; #endif COMPONENT_EXPORT(CHROME_FEATURES) @@ -365,6 +390,11 @@ COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kPrerenderFallbackToPreconnect; +#if defined(OS_CHROMEOS) +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kPrintServerUi; +#endif + #if defined(OS_ANDROID) COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kPrivacyElevatedAndroid; @@ -376,6 +406,33 @@ COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kPrivacySettingsRedesign; +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kPushMessagingBackgroundMode; + +#if defined(OS_CHROMEOS) +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kQuickUnlockFingerprint; + +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kQuickUnlockPinAutosubmit; + +// TODO(crbug.com/1104164) - Remove this once most +// users have their preferences backfilled. +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kQuickUnlockPinAutosubmitBackfill; + +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kQuickUnlockPinSignin; +#endif + +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kQuietNotificationPrompts; + +#if defined(OS_CHROMEOS) +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kRemoveSupervisedUsersOnStartup; +#endif + #if defined(OS_ANDROID) COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kSafetyCheckAndroid; @@ -386,20 +443,9 @@ extern const base::Feature kSafetyCheckChromeCleanerChild; #endif -#if BUILDFLAG(ENABLE_PLUGINS) -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kFlashDeprecationWarning; -#endif - -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kPushMessagingBackgroundMode; - -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kQuietNotificationPrompts; - #if defined(OS_CHROMEOS) COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kRemoveSupervisedUsersOnStartup; +extern const base::Feature kSchedulerConfiguration; #endif COMPONENT_EXPORT(CHROME_FEATURES) @@ -410,6 +456,11 @@ extern const base::Feature kSharesheet; #endif +#if defined(OS_MAC) +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kShow10_9ObsoleteInfobar; +#endif // defined(OS_MAC) + #if defined(OS_ANDROID) COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kShowTrustedPublisherURL; @@ -418,8 +469,8 @@ COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kSitePerProcess; #if defined(OS_CHROMEOS) -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kStreamlinedUsbPrinterSetup; +COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kSmartDim; + COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kSmbFs; #endif @@ -428,16 +479,30 @@ #if defined(OS_CHROMEOS) COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kStreamlinedUsbPrinterSetup; + +COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kSysInternals; #endif COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kSystemWebApps; +#if defined(OS_CHROMEOS) +COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kTPMFirmwareUpdate; +#endif + #if !defined(OS_ANDROID) COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kTabMetricsLogging; #endif +COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kTeamfoodFlags; + +#if defined(OS_CHROMEOS) +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kTerminalSystemAppLegacySettings; +#endif + #if defined(OS_WIN) // Only has an effect in branded builds. COMPONENT_EXPORT(CHROME_FEATURES) @@ -447,69 +512,33 @@ COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kTreatUnsafeDownloadsAsActive; -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kHeavyAdIntervention; - -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kHeavyAdInterventionWarning; - -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kHeavyAdPrivacyMitigations; - -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kFlocIdComputedEventLogging; - #if defined(OS_CHROMEOS) COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kAdaptiveScreenBrightnessLogging; - -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kUserActivityEventLogging; - -#endif - -#if defined(OS_CHROMEOS) -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kQuickUnlockPinAutosubmit; - -// TODO(crbug.com/1104164) - Remove this once most -// users have their preferences backfilled. -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kQuickUnlockPinAutosubmitBackfill; - -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kQuickUnlockPinSignin; - -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kOobeMarketingScreen; - -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kOobeMarketingDoubleOptInCountriesSupported; - -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kOobeMarketingAdditionalCountriesSupported; - -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kQuickUnlockFingerprint; - -COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kCrosCompUpdates; - -COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kTPMFirmwareUpdate; - -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kCrOSEnableUSMUserService; - -COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kSmartDim; - -COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kUsbguard; - -COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kUsbbouncer; - -COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kSchedulerConfiguration; +extern const base::Feature kUploadZippedSystemLogs; #endif // defined(OS_CHROMEOS) -COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kTeamfoodFlags; +#if defined(OS_CHROMEOS) +COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kUsbbouncer; + +COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kUsbguard; +#endif // defined(OS_CHROMEOS) + +#if defined(OS_CHROMEOS) +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kUserActivityEventLogging; +#endif + +// Android expects this string from Java code, so it is always needed. +// TODO(crbug.com/731802): Use #if BUILDFLAG(ENABLE_VR_BROWSING) instead. +#if BUILDFLAG(ENABLE_VR) || defined(OS_ANDROID) +COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kVrBrowsing; +#endif +#if BUILDFLAG(ENABLE_VR) +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kVrBrowsingExperimentalFeatures; +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kVrBrowsingExperimentalRendering; +#endif // ENABLE_VR #if !defined(OS_ANDROID) COMPONENT_EXPORT(CHROME_FEATURES) @@ -518,8 +547,17 @@ extern const base::Feature kWebRtcRemoteEventLogGzipped; #endif +#if defined(OS_CHROMEOS) +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kWebTimeLimits; +#endif // defined(OS_CHROMEOS) + COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kWebUIDarkMode; +#if defined(OS_CHROMEOS) +COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kWilcoDtc; +#endif // defined(OS_CHROMEOS) + #if defined(OS_WIN) COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kWin10AcceleratedDefaultBrowserFlow; @@ -530,11 +568,6 @@ #if defined(OS_CHROMEOS) COMPONENT_EXPORT(CHROME_FEATURES) -extern const base::Feature kWebTimeLimits; -#endif // defined(OS_CHROMEOS) - -#if defined(OS_CHROMEOS) -COMPONENT_EXPORT(CHROME_FEATURES) bool IsParentAccessCodeForOnlineLoginEnabled(); #endif // defined(OS_CHROMEOS)
diff --git a/chrome/common/extensions/api/enterprise_reporting_private.idl b/chrome/common/extensions/api/enterprise_reporting_private.idl index 30395fbc..c7c57550 100644 --- a/chrome/common/extensions/api/enterprise_reporting_private.idl +++ b/chrome/common/extensions/api/enterprise_reporting_private.idl
@@ -38,13 +38,6 @@ callback GetDeviceInfoCallback = void(DeviceInfo deviceInfo); interface Functions { - - // Uploads the status of Chrome browser to the admin console by sending - // request to the DMServer. Sets $(ref:runtime.lastError) on failure. - static void uploadChromeDesktopReport( - object report, - optional DoneCallback callback); - // Gets the identity of device that Chrome browser is running on. The ID is // retrieved from the local device and used by the Google admin console. static void getDeviceId(optional GetDeviceIdCallback callback);
diff --git a/chrome/common/extensions/manifest_handlers/content_scripts_manifest_unittest.cc b/chrome/common/extensions/manifest_handlers/content_scripts_manifest_unittest.cc index a16834f..226fb9c2 100644 --- a/chrome/common/extensions/manifest_handlers/content_scripts_manifest_unittest.cc +++ b/chrome/common/extensions/manifest_handlers/content_scripts_manifest_unittest.cc
@@ -104,43 +104,44 @@ error.c_str()); } -TEST_F(ContentScriptsManifestTest, MatchDataURLs_FeatureEnabled) { +TEST_F(ContentScriptsManifestTest, MatchOriginAsFallback_FeatureEnabled) { base::test::ScopedFeatureList scoped_feature_list; scoped_feature_list.InitAndEnableFeature( - extensions_features::kContentScriptsOnDataUrls); + extensions_features::kContentScriptsMatchOriginAsFallback); scoped_refptr<const Extension> extension = - LoadAndExpectSuccess("content_script_match_data_urls.json"); + LoadAndExpectSuccess("content_script_match_origin_as_fallback.json"); ASSERT_TRUE(extension); const UserScriptList& user_scripts = ContentScriptsInfo::GetContentScripts(extension.get()); ASSERT_EQ(3u, user_scripts.size()); - // The first script specifies `"match_data_urls": true`. - EXPECT_TRUE(user_scripts[0]->match_data_urls()); - // The second specifies `"match_data_urls": false`. - EXPECT_FALSE(user_scripts[1]->match_data_urls()); - // The third doesn't specify a value for "match_data_urls"; it should - // default to false. - EXPECT_FALSE(user_scripts[2]->match_data_urls()); + // The first script specifies `"match_origin_as_fallback": true`. + EXPECT_TRUE(user_scripts[0]->match_origin_as_fallback()); + // The second specifies `"match_origin_as_fallback": false`. + EXPECT_FALSE(user_scripts[1]->match_origin_as_fallback()); + // The third doesn't specify a value for "match_origin_as_fallback"; it + // should default to false. + EXPECT_FALSE(user_scripts[2]->match_origin_as_fallback()); } -TEST_F(ContentScriptsManifestTest, MatchDataURLs_FeatureDisabled) { +TEST_F(ContentScriptsManifestTest, MatchOriginAsFallback_FeatureDisabled) { base::test::ScopedFeatureList scoped_feature_list; scoped_feature_list.InitAndDisableFeature( - extensions_features::kContentScriptsOnDataUrls); + extensions_features::kContentScriptsMatchOriginAsFallback); scoped_refptr<const Extension> extension = - LoadAndExpectSuccess("content_script_match_data_urls.json"); + LoadAndExpectSuccess("content_script_match_origin_as_fallback.json"); ASSERT_TRUE(extension); const UserScriptList& user_scripts = ContentScriptsInfo::GetContentScripts(extension.get()); ASSERT_EQ(3u, user_scripts.size()); - // Without the feature enabled, match_data_urls should always be false. - EXPECT_FALSE(user_scripts[0]->match_data_urls()); - EXPECT_FALSE(user_scripts[1]->match_data_urls()); - EXPECT_FALSE(user_scripts[2]->match_data_urls()); + // Without the feature enabled, match_origin_as_fallback should always be + // false. + EXPECT_FALSE(user_scripts[0]->match_origin_as_fallback()); + EXPECT_FALSE(user_scripts[1]->match_origin_as_fallback()); + EXPECT_FALSE(user_scripts[2]->match_origin_as_fallback()); } } // namespace extensions
diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc index 0b15ca2..de9ad785 100644 --- a/chrome/common/pref_names.cc +++ b/chrome/common/pref_names.cc
@@ -1373,12 +1373,17 @@ #endif // !OS_CHROMEOS && !OS_ANDROID #if defined(OS_CHROMEOS) -// List of print servers ids that are allowed. List of strings. Note that this +// List of print servers ids that are allowed in the user policy. List of strings. Note that this // used to be `kExternalPrintServersWhitelist`, hence the difference between the // variable name and the string value. const char kExternalPrintServersAllowlist[] = "native_printing.external_print_servers_whitelist"; +// List of print servers ids that are allowed in the device policy. List of +// strings. +const char kDeviceExternalPrintServersAllowlist[] = + "native_printing.device_external_print_servers_allowlist"; + // List of printers configured by policy. const char kRecommendedNativePrinters[] = "native_printing.recommended_printers";
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h index 3b035814..f61df05 100644 --- a/chrome/common/pref_names.h +++ b/chrome/common/pref_names.h
@@ -443,6 +443,7 @@ #if defined(OS_CHROMEOS) extern const char kExternalPrintServersAllowlist[]; +extern const char kDeviceExternalPrintServersAllowlist[]; extern const char kRecommendedNativePrinters[]; extern const char kRecommendedNativePrintersAccessMode[]; extern const char kRecommendedNativePrintersBlacklist[];
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn index 50dd4b4..d79e61f 100644 --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn
@@ -5101,7 +5101,6 @@ ] } else { sources += [ - "../browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper_unittest.cc", "../browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_unittest.cc", "../browser/extensions/api/messaging/native_message_process_host_unittest.cc", "../browser/extensions/api/messaging/native_messaging_host_manifest_unittest.cc",
diff --git a/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/FieldTrials.java b/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/FieldTrials.java index 11013833..863140c 100644 --- a/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/FieldTrials.java +++ b/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/FieldTrials.java
@@ -108,10 +108,9 @@ */ public void applyFieldTrials() { CommandLine commandLine = CommandLine.getInstance(); - String forceFieldTrials = - commandLine.getSwitchValue(BaseSwitches.FORCE_FIELD_TRIALS_SWITCH); + String forceFieldTrials = commandLine.getSwitchValue(BaseSwitches.FORCE_FIELD_TRIALS); String forceFieldTrialParams = - commandLine.getSwitchValue(BaseSwitches.FORCE_FIELD_TRIAL_PARAMS_SWITCH); + commandLine.getSwitchValue(BaseSwitches.FORCE_FIELD_TRIAL_PARAMS); String enableFeatures = commandLine.getSwitchValue(BaseSwitches.ENABLE_FEATURES); Set<String> enableFeaturesSet = new HashSet<>(); @@ -145,9 +144,9 @@ } catch (Exception e) { assert false : e.toString() + "\n" + "The format of field trials parameters declared isn't correct:" - + BaseSwitches.FORCE_FIELD_TRIALS_SWITCH + "=" + forceFieldTrials + ", " - + BaseSwitches.FORCE_FIELD_TRIAL_PARAMS_SWITCH + "=" + forceFieldTrialParams - + ", " + BaseSwitches.ENABLE_FEATURES + "=" + enableFeatures + "."; + + BaseSwitches.FORCE_FIELD_TRIALS + "=" + forceFieldTrials + ", " + + BaseSwitches.FORCE_FIELD_TRIAL_PARAMS + "=" + forceFieldTrialParams + ", " + + BaseSwitches.ENABLE_FEATURES + "=" + enableFeatures + "."; } }
diff --git a/chrome/test/base/test_browser_window.h b/chrome/test/base/test_browser_window.h index bac832fa..968da802 100644 --- a/chrome/test/base/test_browser_window.h +++ b/chrome/test/base/test_browser_window.h
@@ -199,6 +199,8 @@ void SetCloseCallback(base::OnceClosure close_callback); + void CreateTabSearchBubble() override {} + protected: void DestroyBrowser() override {}
diff --git a/chrome/test/data/extensions/api_test/automation/tests/tabs/bounds_for_range.js b/chrome/test/data/extensions/api_test/automation/tests/tabs/bounds_for_range.js index d3e75ad..20f7f6b5 100644 --- a/chrome/test/data/extensions/api_test/automation/tests/tabs/bounds_for_range.js +++ b/chrome/test/data/extensions/api_test/automation/tests/tabs/bounds_for_range.js
@@ -117,6 +117,49 @@ }); chrome.test.succeed(); + }, + + function boundsForRangeUnclipped() { + let overflowText = rootNode.find( + {role: 'inlineTextBox', attributes: {name: 'This text overflows'}}); + overflowText.unclippedBoundsForRange( + 0, overflowText.name.length, (unclippedBounds) => { + assertTrue( + overflowText.parent.location.width < + overflowText.unclippedLocation.width); + // Since bounds may differ in different platforms, we set a 2 px + // tolerance. + assertTrue( + Math.abs( + overflowText.unclippedLocation.width - + unclippedBounds.width) <= 2); + }); + + // The static text parent has 4 children, one for each word. The small box + // size causes the words to be laid out on different lines, creating four + // individual inlineTextBox nodes. + let hiddenParent = rootNode.find( + {role: 'staticText', attributes: {name: 'This text is hidden'}}); + assertEq(hiddenParent.children.length, 4); + let hiddenChild = hiddenParent.children[0]; + hiddenChild.unclippedBoundsForRange( + 0, hiddenChild.name.length, (hiddenBounds) => { + assertTrue( + hiddenParent.location.width < + hiddenChild.unclippedLocation.width); + assertTrue( + hiddenParent.location.height < + hiddenChild.unclippedLocation.height); + // Since bounds may differ in different platforms, we set a 2 px + // tolerance. + assertTrue( + Math.abs( + hiddenChild.unclippedLocation.width - hiddenBounds.width) <= + 2); + assertEq(hiddenChild.unclippedLocation.height, hiddenBounds.height); + }); + + chrome.test.succeed(); } ];
diff --git a/chrome/test/data/extensions/manifest_tests/content_script_match_data_urls.json b/chrome/test/data/extensions/manifest_tests/content_script_match_data_urls.json deleted file mode 100644 index 6fea46a5..0000000 --- a/chrome/test/data/extensions/manifest_tests/content_script_match_data_urls.json +++ /dev/null
@@ -1,18 +0,0 @@ -{ - "name": "Content scripts matching data urls", - "description": "ContentScriptsManifestTest.MatchDataURLs*", - "version": "0.1", - "manifest_version": 2, - "content_scripts": [{ - "matches": ["https://example.com/*"], - "match_data_urls": true, - "js": ["file.js"] - }, { - "matches": ["https://foo.example/*"], - "match_data_urls": false, - "js": ["file.js"] - }, { - "matches": ["https://bar.example/*"], - "js": ["file.js"] - }] -}
diff --git a/chrome/test/data/extensions/manifest_tests/content_script_match_origin_as_fallback.json b/chrome/test/data/extensions/manifest_tests/content_script_match_origin_as_fallback.json new file mode 100644 index 0000000..9804cc3 --- /dev/null +++ b/chrome/test/data/extensions/manifest_tests/content_script_match_origin_as_fallback.json
@@ -0,0 +1,18 @@ +{ + "name": "Content scripts matching data urls", + "description": "ContentScriptsManifestTest.MatchDataURLs*", + "version": "0.1", + "manifest_version": 2, + "content_scripts": [{ + "matches": ["https://example.com/*"], + "match_origin_as_fallback": true, + "js": ["file.js"] + }, { + "matches": ["https://foo.example/*"], + "match_origin_as_fallback": false, + "js": ["file.js"] + }, { + "matches": ["https://bar.example/*"], + "js": ["file.js"] + }] +}
diff --git a/chrome/test/data/policy/policy_test_cases.json b/chrome/test/data/policy/policy_test_cases.json index 21b3cac7..a080cd9 100644 --- a/chrome/test/data/policy/policy_test_cases.json +++ b/chrome/test/data/policy/policy_test_cases.json
@@ -5871,7 +5871,12 @@ "policy_pref_mapping_test": [ { "policies": { "DeviceExternalPrintServersAllowlist": ["id4", "id7", "id10"]}, - "prefs": { "cros.device.external_print_servers_allowlist": {} } + "prefs": { + "native_printing.device_external_print_servers_allowlist": { + "local_state": true, + "value": ["id4", "id7", "id10"] + } + } } ] },
diff --git a/chromeos/audio/OWNERS b/chromeos/audio/OWNERS index 64a905c..f224695 100644 --- a/chromeos/audio/OWNERS +++ b/chromeos/audio/OWNERS
@@ -1,2 +1,3 @@ jennyz@chromium.org +hychao@chromium.org # COMPONENT: OS>Kernel>Audio
diff --git a/chromeos/dbus/audio/OWNERS b/chromeos/dbus/audio/OWNERS index ca6d3519..e71cb32 100644 --- a/chromeos/dbus/audio/OWNERS +++ b/chromeos/dbus/audio/OWNERS
@@ -1 +1,2 @@ jennyz@chromium.org +hychao@chromium.org
diff --git a/chromeos/services/cellular_setup/cellular_setup_impl.cc b/chromeos/services/cellular_setup/cellular_setup_impl.cc index a3f3559..9a563d39 100644 --- a/chromeos/services/cellular_setup/cellular_setup_impl.cc +++ b/chromeos/services/cellular_setup/cellular_setup_impl.cc
@@ -31,7 +31,7 @@ OtaActivatorImpl::Factory::Create( std::move(delegate), base::BindOnce(&CellularSetupImpl::OnActivationAttemptFinished, - base::Unretained(this), request_id), + weak_ptr_factory_.GetWeakPtr(), request_id), network_handler->network_state_handler(), network_handler->network_connection_handler(), network_handler->network_activation_handler());
diff --git a/chromeos/services/cellular_setup/cellular_setup_impl.h b/chromeos/services/cellular_setup/cellular_setup_impl.h index 01dda4f6..534bd067 100644 --- a/chromeos/services/cellular_setup/cellular_setup_impl.h +++ b/chromeos/services/cellular_setup/cellular_setup_impl.h
@@ -9,6 +9,7 @@ #include "base/containers/id_map.h" #include "base/macros.h" +#include "base/memory/weak_ptr.h" #include "chromeos/services/cellular_setup/cellular_setup_base.h" #include "mojo/public/cpp/bindings/pending_remote.h" @@ -35,6 +36,7 @@ size_t next_request_id_ = 0u; base::IDMap<std::unique_ptr<OtaActivator>, size_t> ota_activator_map_; + base::WeakPtrFactory<CellularSetupImpl> weak_ptr_factory_{this}; DISALLOW_COPY_AND_ASSIGN(CellularSetupImpl); };
diff --git a/chromeos/services/device_sync/BUILD.gn b/chromeos/services/device_sync/BUILD.gn index 2156e95..82ad14f6 100644 --- a/chromeos/services/device_sync/BUILD.gn +++ b/chromeos/services/device_sync/BUILD.gn
@@ -137,6 +137,9 @@ "sync_scheduler.h", "sync_scheduler_impl.cc", "sync_scheduler_impl.h", + "synced_bluetooth_address_tracker.h", + "synced_bluetooth_address_tracker_impl.cc", + "synced_bluetooth_address_tracker_impl.h", "value_string_encoding.cc", "value_string_encoding.h", ] @@ -162,6 +165,7 @@ "//chromeos/services/device_sync/public/mojom", "//components/gcm_driver", "//components/prefs", + "//device/bluetooth", "//net", "//third_party/securemessage/proto", ] @@ -222,6 +226,8 @@ "fake_remote_device_v2_loader.h", "fake_software_feature_manager.cc", "fake_software_feature_manager.h", + "fake_synced_bluetooth_address_tracker.cc", + "fake_synced_bluetooth_address_tracker.h", "mock_cryptauth_client.cc", "mock_cryptauth_client.h", "mock_sync_scheduler.cc", @@ -277,6 +283,7 @@ "remote_device_v2_loader_impl_unittest.cc", "software_feature_manager_impl_unittest.cc", "sync_scheduler_impl_unittest.cc", + "synced_bluetooth_address_tracker_impl_unittest.cc", ] deps = [ @@ -300,6 +307,7 @@ "//components/gcm_driver:test_support", "//components/prefs:test_support", "//components/signin/public/identity_manager:test_support", + "//device/bluetooth:mocks", "//net/traffic_annotation:test_support", "//services/network:test_support", "//testing/gmock",
diff --git a/chromeos/services/device_sync/DEPS b/chromeos/services/device_sync/DEPS index 1e35682..13d72dd0 100644 --- a/chromeos/services/device_sync/DEPS +++ b/chromeos/services/device_sync/DEPS
@@ -3,6 +3,7 @@ "+components/proximity_auth/logging", "+components/signin/public", "+components/version_info", + "+device/bluetooth", "+google_apis/gaia", "+mojo/public/cpp", "+services/network/public",
diff --git a/chromeos/services/device_sync/cryptauth_device_syncer_impl.cc b/chromeos/services/device_sync/cryptauth_device_syncer_impl.cc index 97a14dc..f7de204 100644 --- a/chromeos/services/device_sync/cryptauth_device_syncer_impl.cc +++ b/chromeos/services/device_sync/cryptauth_device_syncer_impl.cc
@@ -21,6 +21,7 @@ #include "chromeos/services/device_sync/cryptauth_task_metrics_logger.h" #include "chromeos/services/device_sync/proto/cryptauth_client_app_metadata.pb.h" #include "chromeos/services/device_sync/proto/cryptauth_common.pb.h" +#include "chromeos/services/device_sync/synced_bluetooth_address_tracker.h" #include "chromeos/services/device_sync/value_string_encoding.h" namespace chromeos { @@ -76,17 +77,18 @@ CryptAuthDeviceRegistry* device_registry, CryptAuthKeyRegistry* key_registry, CryptAuthClientFactory* client_factory, + SyncedBluetoothAddressTracker* synced_bluetooth_address_tracker, PrefService* pref_service, std::unique_ptr<base::OneShotTimer> timer) { if (test_factory_) { - return test_factory_->CreateInstance(device_registry, key_registry, - client_factory, pref_service, - std::move(timer)); + return test_factory_->CreateInstance( + device_registry, key_registry, client_factory, + synced_bluetooth_address_tracker, pref_service, std::move(timer)); } return base::WrapUnique(new CryptAuthDeviceSyncerImpl( - device_registry, key_registry, client_factory, pref_service, - std::move(timer))); + device_registry, key_registry, client_factory, + synced_bluetooth_address_tracker, pref_service, std::move(timer))); } // static @@ -101,11 +103,13 @@ CryptAuthDeviceRegistry* device_registry, CryptAuthKeyRegistry* key_registry, CryptAuthClientFactory* client_factory, + SyncedBluetoothAddressTracker* synced_bluetooth_address_tracker, PrefService* pref_service, std::unique_ptr<base::OneShotTimer> timer) : device_registry_(device_registry), key_registry_(key_registry), client_factory_(client_factory), + synced_bluetooth_address_tracker_(synced_bluetooth_address_tracker), pref_service_(pref_service), timer_(std::move(timer)) { DCHECK(device_registry); @@ -126,9 +130,10 @@ default: // Signifies that there should not be a timeout. // Note: CryptAuthMetadataSyncerImpl, CryptAuthFeatureStatusGetterImpl, - // and CryptAuthGroupPrivateKeySharerImpl guarantee that the callbacks - // passed to their public methods are always invoke; in other words, these - // implementations handle their relevant timeouts internally. + // CryptAuthGroupPrivateKeySharerImpl, and BluetoothAdapter guarantee that + // the callbacks passed to their public methods are always invoke; in + // other words, these implementations handle their relevant timeouts + // internally. return base::nullopt; } } @@ -218,6 +223,9 @@ void CryptAuthDeviceSyncerImpl::AttemptNextStep() { switch (state_) { case State::kNotStarted: + GetBluetoothAddress(); + return; + case State::kWaitingForBluetoothAddress: SyncMetadata(); return; case State::kWaitingForMetadataSync: @@ -247,6 +255,26 @@ } } +void CryptAuthDeviceSyncerImpl::GetBluetoothAddress() { + DCHECK_EQ(State::kNotStarted, state_); + SetState(State::kWaitingForBluetoothAddress); + synced_bluetooth_address_tracker_->GetBluetoothAddress( + base::BindOnce(&CryptAuthDeviceSyncerImpl::OnBluetoothAddress, + weak_ptr_factory_.GetWeakPtr())); +} + +void CryptAuthDeviceSyncerImpl::OnBluetoothAddress( + const std::string& bluetooth_address) { + DCHECK_EQ(State::kWaitingForBluetoothAddress, state_); + + if (!bluetooth_address.empty()) { + local_better_together_device_metadata_.set_bluetooth_public_address( + bluetooth_address); + } + + AttemptNextStep(); +} + void CryptAuthDeviceSyncerImpl::SyncMetadata() { SetState(State::kWaitingForMetadataSync); @@ -681,6 +709,13 @@ encryptor_.reset(); group_private_key_sharer_.reset(); + CryptAuthDeviceSyncResult::ResultType result_type = + CryptAuthDeviceSyncResult::GetResultType(result_code); + if (result_type == CryptAuthDeviceSyncResult::ResultType::kSuccess) { + synced_bluetooth_address_tracker_->SetLastSyncedBluetoothAddress( + local_better_together_device_metadata_.bluetooth_public_address()); + } + bool did_device_registry_change = new_device_registry_map_ && device_registry_->SetRegistry(*new_device_registry_map_); @@ -695,6 +730,9 @@ case CryptAuthDeviceSyncerImpl::State::kNotStarted: stream << "[DeviceSyncer state: Not started]"; break; + case CryptAuthDeviceSyncerImpl::State::kWaitingForBluetoothAddress: + stream << "[DeviceSyncer state: Waiting for Bluetooth address]"; + break; case CryptAuthDeviceSyncerImpl::State::kWaitingForMetadataSync: stream << "[DeviceSyncer state: Waiting for metadata sync]"; break;
diff --git a/chromeos/services/device_sync/cryptauth_device_syncer_impl.h b/chromeos/services/device_sync/cryptauth_device_syncer_impl.h index 9ad6c8d..1c3fff3 100644 --- a/chromeos/services/device_sync/cryptauth_device_syncer_impl.h +++ b/chromeos/services/device_sync/cryptauth_device_syncer_impl.h
@@ -12,6 +12,7 @@ #include "base/containers/flat_map.h" #include "base/macros.h" +#include "base/memory/weak_ptr.h" #include "base/optional.h" #include "base/time/time.h" #include "base/timer/timer.h" @@ -43,6 +44,7 @@ class CryptAuthClient; class CryptAuthClientFactory; class CryptAuthKeyRegistry; +class SyncedBluetoothAddressTracker; // An implementation of CryptAuthDeviceSyncer, using instances of // CryptAuthClient to make the API calls to CryptAuth. This implementation @@ -64,6 +66,7 @@ CryptAuthDeviceRegistry* device_registry, CryptAuthKeyRegistry* key_registry, CryptAuthClientFactory* client_factory, + SyncedBluetoothAddressTracker* synced_bluetooth_address_tracker, PrefService* pref_service, std::unique_ptr<base::OneShotTimer> timer = std::make_unique<base::OneShotTimer>()); @@ -75,6 +78,7 @@ CryptAuthDeviceRegistry* device_registry, CryptAuthKeyRegistry* key_registry, CryptAuthClientFactory* client_factory, + SyncedBluetoothAddressTracker* synced_bluetooth_address_tracker, PrefService* pref_service, std::unique_ptr<base::OneShotTimer> timer) = 0; @@ -87,6 +91,7 @@ private: enum class State { kNotStarted, + kWaitingForBluetoothAddress, kWaitingForMetadataSync, kWaitingForFeatureStatuses, kWaitingForEncryptedGroupPrivateKeyProcessing, @@ -107,12 +112,16 @@ // and it will read the user key pair and the key used for decrypting the // group private key. // |client_factory|: Creates CryptAuthClient instances for making API calls. + // |synced_bluetooth_address_tracker|: Used to fetch Bluetooth address and + // track address used for successful syncs. // |timer|: Handles timeouts for asynchronous operations. - CryptAuthDeviceSyncerImpl(CryptAuthDeviceRegistry* device_registry, - CryptAuthKeyRegistry* key_registry, - CryptAuthClientFactory* client_factory, - PrefService* pref_service, - std::unique_ptr<base::OneShotTimer> timer); + CryptAuthDeviceSyncerImpl( + CryptAuthDeviceRegistry* device_registry, + CryptAuthKeyRegistry* key_registry, + CryptAuthClientFactory* client_factory, + SyncedBluetoothAddressTracker* synced_bluetooth_address_tracker, + PrefService* pref_service, + std::unique_ptr<base::OneShotTimer> timer); // CryptAuthDeviceSyncer: void OnAttemptStarted( @@ -125,6 +134,9 @@ // Controls the logical flow of the class. void AttemptNextStep(); + void GetBluetoothAddress(); + void OnBluetoothAddress(const std::string& bluetooth_address); + void SyncMetadata(); void OnSyncMetadataFinished( const CryptAuthMetadataSyncer::IdToDeviceMetadataPacketMap& @@ -208,9 +220,12 @@ CryptAuthDeviceRegistry* device_registry_ = nullptr; CryptAuthKeyRegistry* key_registry_ = nullptr; CryptAuthClientFactory* client_factory_ = nullptr; + SyncedBluetoothAddressTracker* synced_bluetooth_address_tracker_ = nullptr; PrefService* pref_service_ = nullptr; std::unique_ptr<base::OneShotTimer> timer_; + base::WeakPtrFactory<CryptAuthDeviceSyncerImpl> weak_ptr_factory_{this}; + DISALLOW_COPY_AND_ASSIGN(CryptAuthDeviceSyncerImpl); };
diff --git a/chromeos/services/device_sync/cryptauth_device_syncer_impl_unittest.cc b/chromeos/services/device_sync/cryptauth_device_syncer_impl_unittest.cc index a305b43..b776d05b 100644 --- a/chromeos/services/device_sync/cryptauth_device_syncer_impl_unittest.cc +++ b/chromeos/services/device_sync/cryptauth_device_syncer_impl_unittest.cc
@@ -35,6 +35,7 @@ #include "chromeos/services/device_sync/fake_cryptauth_group_private_key_sharer.h" #include "chromeos/services/device_sync/fake_cryptauth_metadata_syncer.h" #include "chromeos/services/device_sync/fake_ecies_encryption.h" +#include "chromeos/services/device_sync/fake_synced_bluetooth_address_tracker.h" #include "chromeos/services/device_sync/mock_cryptauth_client.h" #include "chromeos/services/device_sync/network_request_error.h" #include "chromeos/services/device_sync/proto/cryptauth_common.pb.h" @@ -112,7 +113,9 @@ fake_cryptauth_feature_status_getter_factory_( std::make_unique<FakeCryptAuthFeatureStatusGetterFactory>()), fake_cryptauth_group_private_key_sharer_factory_( - std::make_unique<FakeCryptAuthGroupPrivateKeySharerFactory>()) { + std::make_unique<FakeCryptAuthGroupPrivateKeySharerFactory>()), + fake_synced_bluetooth_address_tracker_( + std::make_unique<FakeSyncedBluetoothAddressTracker>()) { CryptAuthKeyRegistryImpl::RegisterPrefs(pref_service_.registry()); key_registry_ = CryptAuthKeyRegistryImpl::Factory::Create(&pref_service_); CryptAuthDeviceRegistryImpl::RegisterPrefs(pref_service_.registry()); @@ -138,7 +141,8 @@ syncer_ = CryptAuthDeviceSyncerImpl::Factory::Create( device_registry_.get(), key_registry_.get(), client_factory_.get(), - &pref_service_, std::move(mock_timer)); + fake_synced_bluetooth_address_tracker_.get(), &pref_service_, + std::move(mock_timer)); std::string local_user_public_key = GetLocalDeviceForTest().better_together_device_metadata->public_key(); @@ -371,6 +375,16 @@ ASSERT_TRUE(device_sync_result_); EXPECT_EQ(expected_result, *device_sync_result_); + if (expected_result.IsSuccess()) { + EXPECT_EQ(kDefaultLocalDeviceBluetoothAddress, + fake_synced_bluetooth_address_tracker_ + ->last_synced_bluetooth_address()); + } else { + EXPECT_TRUE(fake_synced_bluetooth_address_tracker_ + ->last_synced_bluetooth_address() + .empty()); + } + CryptAuthDeviceRegistry::InstanceIdToDeviceMap expected_registry; for (const CryptAuthDevice& device : expected_devices_in_registry) { expected_registry.insert_or_assign(device.instance_id(), device); @@ -416,6 +430,8 @@ TestingPrefServiceSimple pref_service_; std::unique_ptr<CryptAuthKeyRegistry> key_registry_; std::unique_ptr<CryptAuthDeviceRegistry> device_registry_; + std::unique_ptr<FakeSyncedBluetoothAddressTracker> + fake_synced_bluetooth_address_tracker_; base::MockOneShotTimer* timer_; base::Optional<CryptAuthDeviceSyncResult> device_sync_result_;
diff --git a/chromeos/services/device_sync/cryptauth_v2_device_manager_impl.cc b/chromeos/services/device_sync/cryptauth_v2_device_manager_impl.cc index 0582121..cd32675 100644 --- a/chromeos/services/device_sync/cryptauth_v2_device_manager_impl.cc +++ b/chromeos/services/device_sync/cryptauth_v2_device_manager_impl.cc
@@ -9,10 +9,12 @@ #include "base/memory/ptr_util.h" #include "base/metrics/histogram_functions.h" #include "chromeos/components/multidevice/logging/logging.h" +#include "chromeos/constants/chromeos_features.h" #include "chromeos/services/device_sync/cryptauth_client.h" #include "chromeos/services/device_sync/cryptauth_device_syncer_impl.h" #include "chromeos/services/device_sync/cryptauth_key_registry.h" #include "chromeos/services/device_sync/proto/cryptauth_logging.h" +#include "chromeos/services/device_sync/synced_bluetooth_address_tracker_impl.h" namespace chromeos { @@ -73,7 +75,10 @@ CryptAuthGCMManager* gcm_manager, CryptAuthScheduler* scheduler, PrefService* pref_service) - : client_app_metadata_(client_app_metadata), + : synced_bluetooth_address_tracker_( + SyncedBluetoothAddressTrackerImpl::Factory::Create(scheduler, + pref_service)), + client_app_metadata_(client_app_metadata), device_registry_(device_registry), key_registry_(key_registry), client_factory_(client_factory), @@ -138,7 +143,8 @@ PA_LOG(VERBOSE) << "Starting CryptAuth v2 DeviceSync."; device_syncer_ = CryptAuthDeviceSyncerImpl::Factory::Create( - device_registry_, key_registry_, client_factory_, pref_service_); + device_registry_, key_registry_, client_factory_, + synced_bluetooth_address_tracker_.get(), pref_service_); device_syncer_->Sync( *current_client_metadata_, client_app_metadata_, base::BindOnce(&CryptAuthV2DeviceManagerImpl::OnDeviceSyncFinished,
diff --git a/chromeos/services/device_sync/cryptauth_v2_device_manager_impl.h b/chromeos/services/device_sync/cryptauth_v2_device_manager_impl.h index 12019c8a4..d0c7666 100644 --- a/chromeos/services/device_sync/cryptauth_v2_device_manager_impl.h +++ b/chromeos/services/device_sync/cryptauth_v2_device_manager_impl.h
@@ -30,6 +30,7 @@ class CryptAuthClientFactory; class CryptAuthDeviceSyncer; class CryptAuthKeyRegistry; +class SyncedBluetoothAddressTracker; // Implementation of CryptAuthV2DeviceManager that considers three sources of // DeviceSync requests: @@ -107,6 +108,8 @@ void OnDeviceSyncFinished(CryptAuthDeviceSyncResult device_sync_result); base::Optional<cryptauthv2::ClientMetadata> current_client_metadata_; + std::unique_ptr<SyncedBluetoothAddressTracker> + synced_bluetooth_address_tracker_; std::unique_ptr<CryptAuthDeviceSyncer> device_syncer_; cryptauthv2::ClientAppMetadata client_app_metadata_;
diff --git a/chromeos/services/device_sync/cryptauth_v2_device_manager_impl_unittest.cc b/chromeos/services/device_sync/cryptauth_v2_device_manager_impl_unittest.cc index ebf57f4f..bc1a38f75b 100644 --- a/chromeos/services/device_sync/cryptauth_v2_device_manager_impl_unittest.cc +++ b/chromeos/services/device_sync/cryptauth_v2_device_manager_impl_unittest.cc
@@ -6,12 +6,14 @@ #include "base/optional.h" #include "base/test/metrics/histogram_tester.h" +#include "base/test/task_environment.h" #include "chromeos/services/device_sync/cryptauth_device_registry_impl.h" #include "chromeos/services/device_sync/cryptauth_device_syncer_impl.h" #include "chromeos/services/device_sync/cryptauth_key_registry_impl.h" #include "chromeos/services/device_sync/fake_cryptauth_device_syncer.h" #include "chromeos/services/device_sync/fake_cryptauth_gcm_manager.h" #include "chromeos/services/device_sync/fake_cryptauth_scheduler.h" +#include "chromeos/services/device_sync/fake_synced_bluetooth_address_tracker.h" #include "chromeos/services/device_sync/mock_cryptauth_client.h" #include "chromeos/services/device_sync/proto/cryptauth_common.pb.h" #include "chromeos/services/device_sync/proto/cryptauth_v2_test_util.h" @@ -75,6 +77,9 @@ std::make_unique<FakeCryptAuthDeviceSyncerFactory>(); CryptAuthDeviceSyncerImpl::Factory::SetFactoryForTesting( fake_device_syncer_factory_.get()); + + SyncedBluetoothAddressTrackerImpl::Factory::SetFactoryForTesting( + &fake_synced_bluetooth_address_tracker_factory_); } // testing::Test: @@ -279,6 +284,8 @@ device_registry_changed_count); } + base::test::TaskEnvironment task_environment_; + std::vector<cryptauthv2::ClientMetadata> expected_client_metadata_list_; std::vector<CryptAuthDeviceSyncResult> expected_device_sync_results_; @@ -293,6 +300,8 @@ std::unique_ptr<CryptAuthDeviceRegistry> device_registry_; std::unique_ptr<CryptAuthKeyRegistry> key_registry_; std::unique_ptr<FakeCryptAuthDeviceSyncerFactory> fake_device_syncer_factory_; + FakeSyncedBluetoothAddressTrackerFactory + fake_synced_bluetooth_address_tracker_factory_; std::unique_ptr<CryptAuthV2DeviceManager> device_manager_; };
diff --git a/chromeos/services/device_sync/cryptauth_v2_device_sync_test_devices.cc b/chromeos/services/device_sync/cryptauth_v2_device_sync_test_devices.cc index 54782263b..86edafb 100644 --- a/chromeos/services/device_sync/cryptauth_v2_device_sync_test_devices.cc +++ b/chromeos/services/device_sync/cryptauth_v2_device_sync_test_devices.cc
@@ -19,6 +19,7 @@ const char kGroupPublicKey[] = "group_key"; const int64_t kGroupPublicKeyHash = 0xf3666041a2db06e4; +const char kDefaultLocalDeviceBluetoothAddress[] = "01:23:45:67:89:AB"; const CryptAuthDevice& GetLocalDeviceForTest() { static const base::NoDestructor<CryptAuthDevice> device([] { @@ -34,6 +35,8 @@ bt_metadata.set_public_key(kLocalDeviceUserPublicKey); bt_metadata.set_no_pii_device_name( cryptauthv2::GetClientAppMetadataForTest().device_model()); + bt_metadata.set_bluetooth_public_address( + kDefaultLocalDeviceBluetoothAddress); return CryptAuthDevice( cryptauthv2::GetClientAppMetadataForTest().instance_id(),
diff --git a/chromeos/services/device_sync/cryptauth_v2_device_sync_test_devices.h b/chromeos/services/device_sync/cryptauth_v2_device_sync_test_devices.h index fc98afe..c452746 100644 --- a/chromeos/services/device_sync/cryptauth_v2_device_sync_test_devices.h +++ b/chromeos/services/device_sync/cryptauth_v2_device_sync_test_devices.h
@@ -41,6 +41,9 @@ // the group private key. extern const int64_t kGroupPublicKeyHash; +// Bluetooth address for the local device. +extern const char kDefaultLocalDeviceBluetoothAddress[]; + // Three test devices: The local device, a remote device that needs the group // private key, and a remote device that has the group private key. const CryptAuthDevice& GetLocalDeviceForTest();
diff --git a/chromeos/services/device_sync/device_sync_impl.cc b/chromeos/services/device_sync/device_sync_impl.cc index f3c7aad..e920907 100644 --- a/chromeos/services/device_sync/device_sync_impl.cc +++ b/chromeos/services/device_sync/device_sync_impl.cc
@@ -39,6 +39,7 @@ #include "chromeos/services/device_sync/public/cpp/gcm_device_info_provider.h" #include "chromeos/services/device_sync/remote_device_provider_impl.h" #include "chromeos/services/device_sync/software_feature_manager_impl.h" +#include "chromeos/services/device_sync/synced_bluetooth_address_tracker_impl.h" #include "components/prefs/pref_registry_simple.h" #include "components/prefs/pref_service.h" #include "components/signin/public/identity_manager/consent_level.h" @@ -338,6 +339,7 @@ if (features::ShouldUseV2DeviceSync()) { CryptAuthDeviceRegistryImpl::RegisterPrefs(registry); CryptAuthMetadataSyncerImpl::RegisterPrefs(registry); + SyncedBluetoothAddressTrackerImpl::RegisterPrefs(registry); } }
diff --git a/chromeos/services/device_sync/fake_cryptauth_device_syncer.cc b/chromeos/services/device_sync/fake_cryptauth_device_syncer.cc index 2f82793d..1998fe6e 100644 --- a/chromeos/services/device_sync/fake_cryptauth_device_syncer.cc +++ b/chromeos/services/device_sync/fake_cryptauth_device_syncer.cc
@@ -37,11 +37,13 @@ CryptAuthDeviceRegistry* device_registry, CryptAuthKeyRegistry* key_registry, CryptAuthClientFactory* client_factory, + SyncedBluetoothAddressTracker* synced_bluetooth_address_tracker, PrefService* pref_service, std::unique_ptr<base::OneShotTimer> timer) { last_device_registry_ = device_registry; last_key_registry_ = key_registry; last_client_factory_ = client_factory; + last_synced_bluetooth_address_tracker_ = synced_bluetooth_address_tracker; last_pref_service_ = pref_service; auto instance = std::make_unique<FakeCryptAuthDeviceSyncer>();
diff --git a/chromeos/services/device_sync/fake_cryptauth_device_syncer.h b/chromeos/services/device_sync/fake_cryptauth_device_syncer.h index 19d36f6..0acc726 100644 --- a/chromeos/services/device_sync/fake_cryptauth_device_syncer.h +++ b/chromeos/services/device_sync/fake_cryptauth_device_syncer.h
@@ -81,6 +81,7 @@ CryptAuthDeviceRegistry* device_registry, CryptAuthKeyRegistry* key_registry, CryptAuthClientFactory* client_factory, + SyncedBluetoothAddressTracker* synced_bluetooth_address_tracker, PrefService* pref_service, std::unique_ptr<base::OneShotTimer> timer) override; @@ -88,6 +89,8 @@ CryptAuthDeviceRegistry* last_device_registry_ = nullptr; CryptAuthKeyRegistry* last_key_registry_ = nullptr; CryptAuthClientFactory* last_client_factory_ = nullptr; + SyncedBluetoothAddressTracker* last_synced_bluetooth_address_tracker_ = + nullptr; PrefService* last_pref_service_ = nullptr; DISALLOW_COPY_AND_ASSIGN(FakeCryptAuthDeviceSyncerFactory);
diff --git a/chromeos/services/device_sync/fake_cryptauth_scheduler.cc b/chromeos/services/device_sync/fake_cryptauth_scheduler.cc index 85d7da1..beec44fe 100644 --- a/chromeos/services/device_sync/fake_cryptauth_scheduler.cc +++ b/chromeos/services/device_sync/fake_cryptauth_scheduler.cc
@@ -23,6 +23,7 @@ const base::Optional<std::string>& session_id) { DCHECK(HasEnrollmentSchedulingStarted()); is_waiting_for_enrollment_result_ = true; + ++num_enrollment_requests_; cryptauthv2::ClientMetadata client_metadata; client_metadata.set_retry_count(num_consecutive_enrollment_failures_); @@ -39,6 +40,7 @@ const base::Optional<std::string>& session_id) { DCHECK(HasDeviceSyncSchedulingStarted()); is_waiting_for_device_sync_result_ = true; + ++num_sync_requests_; cryptauthv2::ClientMetadata client_metadata; client_metadata.set_retry_count(num_consecutive_device_sync_failures_);
diff --git a/chromeos/services/device_sync/fake_cryptauth_scheduler.h b/chromeos/services/device_sync/fake_cryptauth_scheduler.h index f2801ae..450a824 100644 --- a/chromeos/services/device_sync/fake_cryptauth_scheduler.h +++ b/chromeos/services/device_sync/fake_cryptauth_scheduler.h
@@ -31,6 +31,9 @@ FakeCryptAuthScheduler(); ~FakeCryptAuthScheduler() override; + size_t num_enrollment_requests() const { return num_enrollment_requests_; } + size_t num_sync_requests() const { return num_sync_requests_; } + const std::vector<CryptAuthEnrollmentResult>& handled_enrollment_results() const { return handled_enrollment_results_; @@ -116,6 +119,8 @@ base::Optional<base::TimeDelta> time_to_next_enrollment_request_ = kDefaultTimeToNextEnrollmentRequest; base::Optional<base::TimeDelta> time_to_next_device_sync_request_; + size_t num_enrollment_requests_ = 0u; + size_t num_sync_requests_ = 0u; size_t num_consecutive_enrollment_failures_ = 0u; size_t num_consecutive_device_sync_failures_ = 0u; bool is_waiting_for_enrollment_result_ = false;
diff --git a/chromeos/services/device_sync/fake_synced_bluetooth_address_tracker.cc b/chromeos/services/device_sync/fake_synced_bluetooth_address_tracker.cc new file mode 100644 index 0000000..111d14c --- /dev/null +++ b/chromeos/services/device_sync/fake_synced_bluetooth_address_tracker.cc
@@ -0,0 +1,44 @@ +// Copyright 2020 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. + +#include "chromeos/services/device_sync/fake_synced_bluetooth_address_tracker.h" + +namespace chromeos { + +namespace device_sync { + +FakeSyncedBluetoothAddressTracker::FakeSyncedBluetoothAddressTracker() = + default; + +FakeSyncedBluetoothAddressTracker::~FakeSyncedBluetoothAddressTracker() = + default; + +void FakeSyncedBluetoothAddressTracker::GetBluetoothAddress( + BluetoothAddressCallback callback) { + std::move(callback).Run(bluetooth_address_); +} + +void FakeSyncedBluetoothAddressTracker::SetLastSyncedBluetoothAddress( + const std::string& last_synced_bluetooth_address) { + last_synced_bluetooth_address_ = last_synced_bluetooth_address; +} + +FakeSyncedBluetoothAddressTrackerFactory:: + FakeSyncedBluetoothAddressTrackerFactory() = default; + +FakeSyncedBluetoothAddressTrackerFactory:: + ~FakeSyncedBluetoothAddressTrackerFactory() = default; + +std::unique_ptr<SyncedBluetoothAddressTracker> +FakeSyncedBluetoothAddressTrackerFactory::CreateInstance( + CryptAuthScheduler* cryptauth_scheduler, + PrefService* pref_service) { + auto instance = std::make_unique<FakeSyncedBluetoothAddressTracker>(); + last_created_ = instance.get(); + return instance; +} + +} // namespace device_sync + +} // namespace chromeos
diff --git a/chromeos/services/device_sync/fake_synced_bluetooth_address_tracker.h b/chromeos/services/device_sync/fake_synced_bluetooth_address_tracker.h new file mode 100644 index 0000000..40f815b7 --- /dev/null +++ b/chromeos/services/device_sync/fake_synced_bluetooth_address_tracker.h
@@ -0,0 +1,60 @@ +// Copyright 2020 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. + +#ifndef CHROMEOS_SERVICES_DEVICE_SYNC_FAKE_SYNCED_BLUETOOTH_ADDRESS_TRACKER_H_ +#define CHROMEOS_SERVICES_DEVICE_SYNC_FAKE_SYNCED_BLUETOOTH_ADDRESS_TRACKER_H_ + +#include "chromeos/services/device_sync/cryptauth_v2_device_sync_test_devices.h" +#include "chromeos/services/device_sync/synced_bluetooth_address_tracker.h" +#include "chromeos/services/device_sync/synced_bluetooth_address_tracker_impl.h" + +namespace chromeos { + +namespace device_sync { + +class FakeSyncedBluetoothAddressTracker : public SyncedBluetoothAddressTracker { + public: + FakeSyncedBluetoothAddressTracker(); + ~FakeSyncedBluetoothAddressTracker() override; + + void set_bluetooth_address(const std::string& bluetooth_address) { + bluetooth_address_ = bluetooth_address; + } + + const std::string& last_synced_bluetooth_address() const { + return last_synced_bluetooth_address_; + } + + private: + // SyncedBluetoothAddressTracker: + void GetBluetoothAddress(BluetoothAddressCallback callback) override; + void SetLastSyncedBluetoothAddress( + const std::string& last_synced_bluetooth_address) override; + + std::string bluetooth_address_ = kDefaultLocalDeviceBluetoothAddress; + std::string last_synced_bluetooth_address_; +}; + +class FakeSyncedBluetoothAddressTrackerFactory + : public SyncedBluetoothAddressTrackerImpl::Factory { + public: + FakeSyncedBluetoothAddressTrackerFactory(); + ~FakeSyncedBluetoothAddressTrackerFactory() override; + + SyncedBluetoothAddressTracker* last_created() { return last_created_; } + + private: + // SyncedBluetoothAddressTracker::Factory: + std::unique_ptr<SyncedBluetoothAddressTracker> CreateInstance( + CryptAuthScheduler* cryptauth_scheduler, + PrefService* pref_service) override; + + SyncedBluetoothAddressTracker* last_created_ = nullptr; +}; + +} // namespace device_sync + +} // namespace chromeos + +#endif // CHROMEOS_SERVICES_DEVICE_SYNC_FAKE_SYNCED_BLUETOOTH_ADDRESS_TRACKER_H_
diff --git a/chromeos/services/device_sync/pref_names.cc b/chromeos/services/device_sync/pref_names.cc index b106fbd..27a3cc0a 100644 --- a/chromeos/services/device_sync/pref_names.cc +++ b/chromeos/services/device_sync/pref_names.cc
@@ -86,6 +86,11 @@ const char kCryptAuthLastSyncedUnencryptedLocalDeviceMetadata[] = "cryptauth.device_sync.last_synced_unencrypted_local_device_metadata"; +// (CryptAuth v2) The Bluetooth address provided during the most recent +// DeviceSync attempt. +const char kCryptAuthBluetoothAddressProvidedDuringLastSync[] = + "cryptauth.device_sync.last_bluetooth_address"; + // (CryptAuth v2) The most recent ClientDirective sent to the // CryptAuthScheduler. const char kCryptAuthSchedulerClientDirective[] =
diff --git a/chromeos/services/device_sync/pref_names.h b/chromeos/services/device_sync/pref_names.h index c5b52cf..73a69b65 100644 --- a/chromeos/services/device_sync/pref_names.h +++ b/chromeos/services/device_sync/pref_names.h
@@ -34,6 +34,7 @@ extern const char kCryptAuthLastSyncedEncryptedLocalDeviceMetadata[]; extern const char kCryptAuthLastSyncedGroupPublicKey[]; extern const char kCryptAuthLastSyncedUnencryptedLocalDeviceMetadata[]; +extern const char kCryptAuthBluetoothAddressProvidedDuringLastSync[]; extern const char kCryptAuthSchedulerClientDirective[]; extern const char kCryptAuthSchedulerNextEnrollmentRequestClientMetadata[]; extern const char kCryptAuthSchedulerNextDeviceSyncRequestClientMetadata[];
diff --git a/chromeos/services/device_sync/synced_bluetooth_address_tracker.h b/chromeos/services/device_sync/synced_bluetooth_address_tracker.h new file mode 100644 index 0000000..e57bceed --- /dev/null +++ b/chromeos/services/device_sync/synced_bluetooth_address_tracker.h
@@ -0,0 +1,46 @@ +// Copyright 2020 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. + +#ifndef CHROMEOS_SERVICES_DEVICE_SYNC_SYNCED_BLUETOOTH_ADDRESS_TRACKER_H_ +#define CHROMEOS_SERVICES_DEVICE_SYNC_SYNCED_BLUETOOTH_ADDRESS_TRACKER_H_ + +#include <string> + +#include "base/callback.h" +#include "base/optional.h" + +namespace chromeos { + +namespace device_sync { + +// Provides a Bluetooth address to add to the encrypted metadata synced via +// DeviceSync v2, and triggers a new sync if this address has changed (e.g., if +// the user inserts a USB Bluetooth adapter). +class SyncedBluetoothAddressTracker { + public: + virtual ~SyncedBluetoothAddressTracker() = default; + SyncedBluetoothAddressTracker(const SyncedBluetoothAddressTracker&) = delete; + SyncedBluetoothAddressTracker& operator=( + const SyncedBluetoothAddressTracker&) = delete; + + // Returns the device's Bluetooth address, formatted as a capitalized hex + // string with colons to separate bytes (example: "01:23:45:67:89:AB"). If the + // device does not have a Bluetooth adapter, an empty string is returned. + using BluetoothAddressCallback = base::OnceCallback<void(const std::string&)>; + virtual void GetBluetoothAddress(BluetoothAddressCallback callback) = 0; + + // Sets the last Bluetooth address provided during a DeviceSync attempt. + // Should only be called after a successful sync. + virtual void SetLastSyncedBluetoothAddress( + const std::string& last_synced_address) = 0; + + protected: + SyncedBluetoothAddressTracker() = default; +}; + +} // namespace device_sync + +} // namespace chromeos + +#endif // CHROMEOS_SERVICES_DEVICE_SYNC_SYNCED_BLUETOOTH_ADDRESS_TRACKER_H_
diff --git a/chromeos/services/device_sync/synced_bluetooth_address_tracker_impl.cc b/chromeos/services/device_sync/synced_bluetooth_address_tracker_impl.cc new file mode 100644 index 0000000..562c7f08 --- /dev/null +++ b/chromeos/services/device_sync/synced_bluetooth_address_tracker_impl.cc
@@ -0,0 +1,172 @@ +// Copyright 2020 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. + +#include "chromeos/services/device_sync/synced_bluetooth_address_tracker_impl.h" + +#include <utility> + +#include "base/bind.h" +#include "base/memory/ptr_util.h" +#include "chromeos/components/multidevice/logging/logging.h" +#include "chromeos/constants/chromeos_features.h" +#include "chromeos/services/device_sync/cryptauth_scheduler.h" +#include "chromeos/services/device_sync/pref_names.h" +#include "chromeos/services/device_sync/proto/cryptauth_common.pb.h" +#include "components/prefs/pref_registry_simple.h" +#include "components/prefs/pref_service.h" +#include "device/bluetooth/bluetooth_adapter_factory.h" + +namespace chromeos { + +namespace device_sync { + +// Value stored in the kCryptAuthBluetoothAddressProvidedDuringLastSync pref +// when a Bluetooth address has not yet been provided after a successful +// DeviceSync attempt. +const char kHasNotSyncedYetPrefValue[] = "hasNotSyncedYet"; + +// static +SyncedBluetoothAddressTrackerImpl::Factory* + SyncedBluetoothAddressTrackerImpl::Factory::test_factory_ = nullptr; + +// static +std::unique_ptr<SyncedBluetoothAddressTracker> +SyncedBluetoothAddressTrackerImpl::Factory::Create( + CryptAuthScheduler* cryptauth_scheduler, + PrefService* pref_service) { + if (test_factory_) { + return test_factory_->CreateInstance(cryptauth_scheduler, pref_service); + } + + return base::WrapUnique( + new SyncedBluetoothAddressTrackerImpl(cryptauth_scheduler, pref_service)); +} + +// static +void SyncedBluetoothAddressTrackerImpl::Factory::SetFactoryForTesting( + Factory* test_factory) { + test_factory_ = test_factory; +} + +SyncedBluetoothAddressTrackerImpl::Factory::~Factory() = default; + +// static +void SyncedBluetoothAddressTrackerImpl::RegisterPrefs( + PrefRegistrySimple* registry) { + registry->RegisterStringPref( + prefs::kCryptAuthBluetoothAddressProvidedDuringLastSync, + kHasNotSyncedYetPrefValue); +} + +SyncedBluetoothAddressTrackerImpl::SyncedBluetoothAddressTrackerImpl( + CryptAuthScheduler* cryptauth_scheduler, + PrefService* pref_service) + : cryptauth_scheduler_(cryptauth_scheduler), pref_service_(pref_service) { + // If the flag is disabled, set the pref to the "has not synced" state. This + // ensures that when the flag is enabled, the device kicks off a DeviceSync + // attempt with the address, which may not have happened in the case that the + // flag was flipped on, off, then on again. + if (!features::IsPhoneHubEnabled()) { + pref_service_->SetString( + prefs::kCryptAuthBluetoothAddressProvidedDuringLastSync, + kHasNotSyncedYetPrefValue); + } + + device::BluetoothAdapterFactory::Get()->GetAdapter(base::BindOnce( + &SyncedBluetoothAddressTrackerImpl::OnBluetoothAdapterReceived, + weak_ptr_factory_.GetWeakPtr())); +} + +SyncedBluetoothAddressTrackerImpl::~SyncedBluetoothAddressTrackerImpl() { + if (bluetooth_adapter_) + bluetooth_adapter_->RemoveObserver(this); +} + +void SyncedBluetoothAddressTrackerImpl::GetBluetoothAddress( + BluetoothAddressCallback callback) { + if (!bluetooth_adapter_) { + pending_callbacks_during_init_.push_back(std::move(callback)); + return; + } + + std::move(callback).Run(GetAddress()); +} + +void SyncedBluetoothAddressTrackerImpl::SetLastSyncedBluetoothAddress( + const std::string& last_synced_address) { + // No pref should be stored with the flag disabled. + if (!features::IsPhoneHubEnabled()) + return; + + if (last_synced_address.empty()) { + PA_LOG(VERBOSE) << "Recording successful DeviceSync without a Bluetooth " + << "address."; + } else { + PA_LOG(INFO) << "Recording successful DeviceSync with Bluetooth address: " + << last_synced_address; + } + + pref_service_->SetString( + prefs::kCryptAuthBluetoothAddressProvidedDuringLastSync, + last_synced_address); +} + +void SyncedBluetoothAddressTrackerImpl::AdapterPresentChanged( + device::BluetoothAdapter* adapter, + bool present) { + DCHECK_EQ(adapter, bluetooth_adapter_.get()); + + if (present) + ScheduleSyncIfAddressChanged(); +} + +void SyncedBluetoothAddressTrackerImpl::OnBluetoothAdapterReceived( + scoped_refptr<device::BluetoothAdapter> bluetooth_adapter) { + bluetooth_adapter_ = std::move(bluetooth_adapter); + bluetooth_adapter_->AddObserver(this); + + for (auto& callback : pending_callbacks_during_init_) + std::move(callback).Run(GetAddress()); + pending_callbacks_during_init_.clear(); + + ScheduleSyncIfAddressChanged(); +} + +void SyncedBluetoothAddressTrackerImpl::ScheduleSyncIfAddressChanged() { + // No sync should be scheduled if the flag is off. + if (!features::IsPhoneHubEnabled()) + return; + + std::string address_from_last_sync = pref_service_->GetString( + prefs::kCryptAuthBluetoothAddressProvidedDuringLastSync); + + // If we've already synced and the Bluetooth address has changed (perhaps due + // to the user inserting a USB Bluetooth adapter), we should sync this new + // address. Return early if this is not the case. + if (GetAddress().empty() || + address_from_last_sync == kHasNotSyncedYetPrefValue || + address_from_last_sync == GetAddress()) { + return; + } + + PA_LOG(INFO) << "Bluetooth address has changed since last DeviceSync. " + << "Requesting new DeviceSync attempt."; + cryptauth_scheduler_->RequestDeviceSync( + cryptauthv2::ClientMetadata::InvocationReason:: + ClientMetadata_InvocationReason_ADDRESS_CHANGE, + /*session_id=*/base::nullopt); +} + +std::string SyncedBluetoothAddressTrackerImpl::GetAddress() { + DCHECK(bluetooth_adapter_); + if (features::IsPhoneHubEnabled()) + return bluetooth_adapter_->GetAddress(); + + // Return an empty string if the flag is disabled. + return std::string(); +} + +} // namespace device_sync + +} // namespace chromeos
diff --git a/chromeos/services/device_sync/synced_bluetooth_address_tracker_impl.h b/chromeos/services/device_sync/synced_bluetooth_address_tracker_impl.h new file mode 100644 index 0000000..75c971e --- /dev/null +++ b/chromeos/services/device_sync/synced_bluetooth_address_tracker_impl.h
@@ -0,0 +1,89 @@ +// Copyright 2020 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. + +#ifndef CHROMEOS_SERVICES_DEVICE_SYNC_SYNCED_BLUETOOTH_ADDRESS_TRACKER_IMPL_H_ +#define CHROMEOS_SERVICES_DEVICE_SYNC_SYNCED_BLUETOOTH_ADDRESS_TRACKER_IMPL_H_ + +#include <memory> +#include <vector> + +#include "base/memory/ref_counted.h" +#include "base/memory/weak_ptr.h" +#include "chromeos/services/device_sync/synced_bluetooth_address_tracker.h" +#include "device/bluetooth/bluetooth_adapter.h" + +class PrefRegistrySimple; +class PrefService; + +namespace device { +class BluetoothAdapter; +} // namespace device + +namespace chromeos { + +namespace device_sync { + +class CryptAuthScheduler; + +// SyncedBluetoothAddressTracker implementation which uses profile prefs to +// store the last synced Bluetooth address. If the address changes, it triggers +// a new DeviceSync attempt via CryptAuthScheduler. +class SyncedBluetoothAddressTrackerImpl + : public SyncedBluetoothAddressTracker, + public device::BluetoothAdapter::Observer { + public: + class Factory { + public: + static std::unique_ptr<SyncedBluetoothAddressTracker> Create( + CryptAuthScheduler* cryptauth_scheduler, + PrefService* pref_service); + static void SetFactoryForTesting(Factory* test_factory); + + protected: + virtual ~Factory(); + virtual std::unique_ptr<SyncedBluetoothAddressTracker> CreateInstance( + CryptAuthScheduler* cryptauth_scheduler, + PrefService* pref_service) = 0; + + private: + static Factory* test_factory_; + }; + + static void RegisterPrefs(PrefRegistrySimple* registry); + + ~SyncedBluetoothAddressTrackerImpl() override; + + // device::BluetoothAdapter::Observer: + void AdapterPresentChanged(device::BluetoothAdapter* adapter, + bool present) override; + + private: + SyncedBluetoothAddressTrackerImpl(CryptAuthScheduler* cryptauth_scheduler, + PrefService* pref_service); + + // SyncedBluetoothAddressTracker: + void GetBluetoothAddress(BluetoothAddressCallback callback) override; + void SetLastSyncedBluetoothAddress( + const std::string& last_synced_address) override; + + void OnBluetoothAdapterReceived( + scoped_refptr<device::BluetoothAdapter> bluetooth_adapter); + void ScheduleSyncIfAddressChanged(); + std::string GetAddress(); + + CryptAuthScheduler* cryptauth_scheduler_; + PrefService* pref_service_; + + scoped_refptr<device::BluetoothAdapter> bluetooth_adapter_; + std::vector<BluetoothAddressCallback> pending_callbacks_during_init_; + + base::WeakPtrFactory<SyncedBluetoothAddressTrackerImpl> weak_ptr_factory_{ + this}; +}; + +} // namespace device_sync + +} // namespace chromeos + +#endif // CHROMEOS_SERVICES_DEVICE_SYNC_SYNCED_BLUETOOTH_ADDRESS_TRACKER_IMPL_H_
diff --git a/chromeos/services/device_sync/synced_bluetooth_address_tracker_impl_unittest.cc b/chromeos/services/device_sync/synced_bluetooth_address_tracker_impl_unittest.cc new file mode 100644 index 0000000..628feb3 --- /dev/null +++ b/chromeos/services/device_sync/synced_bluetooth_address_tracker_impl_unittest.cc
@@ -0,0 +1,196 @@ +// Copyright 2020 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. + +#include "chromeos/services/device_sync/synced_bluetooth_address_tracker_impl.h" + +#include <memory> +#include <vector> + +#include "base/run_loop.h" +#include "base/test/bind_test_util.h" +#include "base/test/scoped_feature_list.h" +#include "base/test/task_environment.h" +#include "chromeos/constants/chromeos_features.h" +#include "chromeos/services/device_sync/fake_cryptauth_scheduler.h" +#include "chromeos/services/device_sync/pref_names.h" +#include "components/prefs/testing_pref_service.h" +#include "device/bluetooth/bluetooth_adapter_factory.h" +#include "device/bluetooth/test/mock_bluetooth_adapter.h" +#include "testing/gtest/include/gtest/gtest.h" + +namespace chromeos { + +namespace device_sync { + +namespace { +const char kHasNotSyncedYetPrefValue[] = "hasNotSyncedYet"; +const char kDefaultAdapterAddress[] = "01:23:45:67:89:AB"; +} // namespace + +class DeviceSyncSyncedBluetoothAddressTrackerImplTest : public testing::Test { + protected: + DeviceSyncSyncedBluetoothAddressTrackerImplTest() = default; + DeviceSyncSyncedBluetoothAddressTrackerImplTest( + const DeviceSyncSyncedBluetoothAddressTrackerImplTest&) = delete; + DeviceSyncSyncedBluetoothAddressTrackerImplTest& operator=( + const DeviceSyncSyncedBluetoothAddressTrackerImplTest&) = delete; + ~DeviceSyncSyncedBluetoothAddressTrackerImplTest() override = default; + + // testing::Test: + void SetUp() override { + mock_adapter_ = + base::MakeRefCounted<testing::NiceMock<device::MockBluetoothAdapter>>(); + is_adapter_present_ = true; + ON_CALL(*mock_adapter_, IsPresent()) + .WillByDefault( + Invoke(this, &DeviceSyncSyncedBluetoothAddressTrackerImplTest:: + is_adapter_present)); + ON_CALL(*mock_adapter_, GetAddress()) + .WillByDefault(Invoke( + this, + &DeviceSyncSyncedBluetoothAddressTrackerImplTest::adapter_address)); + device::BluetoothAdapterFactory::SetAdapterForTesting(mock_adapter_); + + fake_cryptauth_scheduler_.StartDeviceSyncScheduling( + fake_device_sync_delegate_.GetWeakPtr()); + + SyncedBluetoothAddressTrackerImpl::RegisterPrefs(pref_service_.registry()); + } + + void Initialize(bool is_flag_enabled, + const std::string& initial_bluetooth_pref_value) { + static const std::vector<base::Feature> kPhoneHubFeatureVector{ + chromeos::features::kPhoneHub}; + static const std::vector<base::Feature> kNoFeaturesVector; + + scoped_feature_list_.InitWithFeatures( + /*enabled_features=*/is_flag_enabled ? kPhoneHubFeatureVector + : kNoFeaturesVector, + /*disabled_features=*/is_flag_enabled ? kNoFeaturesVector + : kPhoneHubFeatureVector); + + pref_service_.SetString( + prefs::kCryptAuthBluetoothAddressProvidedDuringLastSync, + initial_bluetooth_pref_value); + + tracker_ = SyncedBluetoothAddressTrackerImpl::Factory::Create( + &fake_cryptauth_scheduler_, &pref_service_); + } + + std::string GetBluetoothAddress() { + std::string address_to_return; + + base::RunLoop run_loop; + tracker_->GetBluetoothAddress( + base::BindLambdaForTesting([&](const std::string& address) { + address_to_return = address; + run_loop.Quit(); + })); + run_loop.Run(); + + return address_to_return; + } + + std::string GetAddressStoredInPrefs() { + return pref_service_.GetString( + prefs::kCryptAuthBluetoothAddressProvidedDuringLastSync); + } + + SyncedBluetoothAddressTracker& tracker() { return *tracker_; } + const FakeCryptAuthScheduler& fake_cryptauth_scheduler() const { + return fake_cryptauth_scheduler_; + } + + void set_adapter_address(const std::string& adapter_address) { + adapter_address_ = adapter_address; + } + + void SetAdapterPresentState(bool present) { + is_adapter_present_ = present; + + if (tracker_) { + SyncedBluetoothAddressTrackerImpl* impl = + static_cast<SyncedBluetoothAddressTrackerImpl*>(tracker_.get()); + impl->AdapterPresentChanged(mock_adapter_.get(), present); + } + } + + private: + bool is_adapter_present() { return is_adapter_present_; } + const std::string& adapter_address() { return adapter_address_; } + + base::test::TaskEnvironment task_environment_; + base::test::ScopedFeatureList scoped_feature_list_; + + scoped_refptr<testing::NiceMock<device::MockBluetoothAdapter>> mock_adapter_; + + FakeCryptAuthScheduler fake_cryptauth_scheduler_; + FakeCryptAuthSchedulerDeviceSyncDelegate fake_device_sync_delegate_; + TestingPrefServiceSimple pref_service_; + bool is_adapter_present_ = true; + std::string adapter_address_ = kDefaultAdapterAddress; + + std::unique_ptr<SyncedBluetoothAddressTracker> tracker_; +}; + +TEST_F(DeviceSyncSyncedBluetoothAddressTrackerImplTest, FlagOff) { + Initialize(/*is_flag_enabled=*/false, kHasNotSyncedYetPrefValue); + + // When the flag is off, an empty string is returned, even though the adapter + // has the default address. + EXPECT_TRUE(GetBluetoothAddress().empty()); + + // When the flag is off, setting the last synced address does nothing. + tracker().SetLastSyncedBluetoothAddress(kDefaultAdapterAddress); + EXPECT_EQ(kHasNotSyncedYetPrefValue, GetAddressStoredInPrefs()); + + EXPECT_EQ(0u, fake_cryptauth_scheduler().num_sync_requests()); +} + +TEST_F(DeviceSyncSyncedBluetoothAddressTrackerImplTest, HastNotSynced) { + Initialize(/*is_flag_enabled=*/true, kHasNotSyncedYetPrefValue); + + EXPECT_EQ(kDefaultAdapterAddress, GetBluetoothAddress()); + tracker().SetLastSyncedBluetoothAddress(kDefaultAdapterAddress); + EXPECT_EQ(kDefaultAdapterAddress, GetAddressStoredInPrefs()); + + EXPECT_EQ(0u, fake_cryptauth_scheduler().num_sync_requests()); +} + +TEST_F(DeviceSyncSyncedBluetoothAddressTrackerImplTest, ChangedAddress) { + // Initialize with a different address from kDefaultAdapterAddress. + Initialize(/*is_flag_enabled=*/true, "23:45:67:89:AB:CD"); + + // Address changed, so a new sync should have been triggered. + EXPECT_EQ(1u, fake_cryptauth_scheduler().num_sync_requests()); +} + +TEST_F(DeviceSyncSyncedBluetoothAddressTrackerImplTest, SameAddress) { + Initialize(/*is_flag_enabled=*/true, kDefaultAdapterAddress); + + // Address has not changed, so no new sync should have been triggered. + EXPECT_EQ(0u, fake_cryptauth_scheduler().num_sync_requests()); +} + +TEST_F(DeviceSyncSyncedBluetoothAddressTrackerImplTest, AdapterPresent) { + // Simulate a user already having synced but having no Bluetooth adapter. + SetAdapterPresentState(false); + set_adapter_address(std::string()); + Initialize(/*is_flag_enabled=*/true, std::string()); + + // Adapter is not present. + EXPECT_EQ(0u, fake_cryptauth_scheduler().num_sync_requests()); + EXPECT_TRUE(GetBluetoothAddress().empty()); + + // Now, simulate the usr plugging in a USB Bluetooth adapter. + set_adapter_address(kDefaultAdapterAddress); + SetAdapterPresentState(true); + + // Address changed, so a new sync should have been triggered. + EXPECT_EQ(1u, fake_cryptauth_scheduler().num_sync_requests()); +} + +} // namespace device_sync + +} // namespace chromeos
diff --git a/chromeos/settings/cros_settings_names.cc b/chromeos/settings/cros_settings_names.cc index 22dd27e..230d7c5 100644 --- a/chromeos/settings/cros_settings_names.cc +++ b/chromeos/settings/cros_settings_names.cc
@@ -378,10 +378,6 @@ // accessible. const char kDevicePrintersAllowlist[] = "cros.device.printers_allowlist"; -// List of print servers ids that are allowed. List of strings. -const char kDeviceExternalPrintServersAllowlist[] = - "cros.device.external_print_servers_allowlist"; - // A dictionary containing parameters controlling the TPM firmware update // functionality. const char kTPMFirmwareUpdateSettings[] = "cros.tpm_firmware_update_settings";
diff --git a/chromeos/settings/cros_settings_names.h b/chromeos/settings/cros_settings_names.h index 9a39170a9..e8afc84 100644 --- a/chromeos/settings/cros_settings_names.h +++ b/chromeos/settings/cros_settings_names.h
@@ -214,9 +214,6 @@ extern const char kDevicePrintersAllowlist[]; COMPONENT_EXPORT(CHROMEOS_SETTINGS) -extern const char kDeviceExternalPrintServersAllowlist[]; - -COMPONENT_EXPORT(CHROMEOS_SETTINGS) extern const char kTPMFirmwareUpdateSettings[]; COMPONENT_EXPORT(CHROMEOS_SETTINGS)
diff --git a/components/arc/session/arc_property_util.cc b/components/arc/session/arc_property_util.cc index ccdca60f..c598569 100644 --- a/components/arc/session/arc_property_util.cc +++ b/components/arc/session/arc_property_util.cc
@@ -15,6 +15,7 @@ #include "base/process/launch.h" #include "base/strings/string_split.h" #include "base/strings/string_util.h" +#include "base/strings/stringprintf.h" #include "chromeos/constants/chromeos_switches.h" namespace brillo { @@ -40,11 +41,14 @@ constexpr char kPAIRegionsPropertyName[] = "pai-regions"; // Properties related to dynamically adding native bridge 64 bit support. -constexpr char kAbilistPropertyPrefix[] = "ro.product.cpu.abilist="; +// Note that "%s" is lated replaced with a partition name which is either an +// empty string or a string that ends with '.' e.g. "system_ext.". +constexpr char kAbilistPropertyPrefixTemplate[] = "ro.%sproduct.cpu.abilist="; constexpr char kAbilistPropertyExpected[] = "x86_64,x86,armeabi-v7a,armeabi"; constexpr char kAbilistPropertyReplacement[] = "x86_64,x86,arm64-v8a,armeabi-v7a,armeabi"; -constexpr char kAbilist64PropertyPrefix[] = "ro.product.cpu.abilist64="; +constexpr char kAbilist64PropertyPrefixTemplate[] = + "ro.%sproduct.cpu.abilist64="; constexpr char kAbilist64PropertyExpected[] = "x86_64"; constexpr char kAbilist64PropertyReplacement[] = "x86_64,arm64-v8a"; constexpr char kDalvikVmIsaArm64[] = "ro.dalvik.vm.isa.arm64=x86_64"; @@ -52,10 +56,6 @@ // Maximum length of an Android property value. constexpr int kAndroidMaxPropertyLength = 91; -// The following 4 functions as well as the constants above are the _exact_ copy -// of the ones in platform2/arc/setup/arc_setup_util.cc. After modifying code in -// Chromium, make sure to reflect the changes to the platform2 side. - bool FindProperty(const std::string& line_prefix_to_find, std::string* out_prop, const std::string& line) { @@ -155,16 +155,34 @@ return board; } +bool IsComment(const std::string& line) { + return base::StartsWith( + base::TrimWhitespaceASCII(line, base::TrimPositions::TRIM_LEADING), "#", + base::CompareCase::SENSITIVE); +} + bool ExpandPropertyContents(const std::string& content, brillo::CrosConfigInterface* config, std::string* expanded_content, - bool add_native_bridge_64bit_support) { + bool add_native_bridge_64bit_support, + bool append_dalvik_isa, + const std::string& partition_name) { const std::vector<std::string> lines = base::SplitString( content, "\n", base::WhitespaceHandling::KEEP_WHITESPACE, base::SplitResult::SPLIT_WANT_ALL); std::string new_properties; for (std::string line : lines) { + // Chrome only expands ro. properties at runtime. + if (!base::StartsWith(line, "ro.", base::CompareCase::SENSITIVE)) { + if (!IsComment(line) && line.find('{') != std::string::npos) { + // The non-ro property has substitution(s). + LOG(ERROR) << "Found substitution(s) in a non-ro property: " << line; + return false; + } + continue; + } + // First expand {property} substitutions in the string. The insertions // may contain substitutions of their own, so we need to repeat until // nothing more is found. @@ -204,27 +222,32 @@ expanded += line.substr(prev_match); line = expanded; } while (inserted); + if (add_native_bridge_64bit_support) { - // Special-case ro.product.cpu.abilist / ro.product.cpu.abilist64 to add - // ARM64. + // Special-case ro.<partition>product.cpu.abilist and + // ro.<partition>product.cpu.abilist64 to add ARM64. + // Note that <partition> is either an empty string or a string that ends + // with '.' e.g. "system_ext.". + std::string prefix = base::StringPrintf(kAbilistPropertyPrefixTemplate, + partition_name.c_str()); std::string value; - if (FindProperty(kAbilistPropertyPrefix, &value, line)) { + if (FindProperty(prefix, &value, line)) { if (value == kAbilistPropertyExpected) { - line = std::string(kAbilistPropertyPrefix) + - std::string(kAbilistPropertyReplacement); + line = prefix + std::string(kAbilistPropertyReplacement); } else { - LOG(ERROR) << "Found unexpected value for " << kAbilistPropertyPrefix - << ", value " << value; + LOG(ERROR) << "Found unexpected value for " << prefix << ", value " + << value; return false; } } - if (FindProperty(kAbilist64PropertyPrefix, &value, line)) { + prefix = base::StringPrintf(kAbilist64PropertyPrefixTemplate, + partition_name.c_str()); + if (FindProperty(prefix, &value, line)) { if (value == kAbilist64PropertyExpected) { - line = std::string(kAbilist64PropertyPrefix) + - std::string(kAbilist64PropertyReplacement); + line = prefix + std::string(kAbilist64PropertyReplacement); } else { - LOG(ERROR) << "Found unexpected value for " - << kAbilist64PropertyPrefix << ", value " << value; + LOG(ERROR) << "Found unexpected value for " << prefix << ", value " + << value; return false; } } @@ -248,7 +271,7 @@ } } - if (add_native_bridge_64bit_support) { + if (append_dalvik_isa) { // Special-case to add ro.dalvik.vm.isa.arm64. new_properties += std::string(kDalvikVmIsaArm64) + "\n"; } @@ -261,7 +284,9 @@ const base::FilePath& output, CrosConfig* config, bool append, - bool add_native_bridge_64bit_support) { + bool add_native_bridge_64bit_support, + bool append_dalvik_isa, + const std::string& partition_name) { std::string content; std::string expanded; if (!base::ReadFileToString(input, &content)) { @@ -269,7 +294,8 @@ return false; } if (!ExpandPropertyContents(content, config, &expanded, - add_native_bridge_64bit_support)) + add_native_bridge_64bit_support, + append_dalvik_isa, partition_name)) return false; if (append && base::PathExists(output)) { if (!base::AppendToFile(output, expanded.data(), expanded.size())) { @@ -330,7 +356,8 @@ brillo::CrosConfigInterface* config, std::string* expanded_content) { return ExpandPropertyContents(content, config, expanded_content, - /*add_native_bridge_64bit_support=*/false); + /*add_native_bridge_64bit_support=*/false, + false, std::string()); } bool TruncateAndroidPropertyForTesting(const std::string& line, @@ -342,7 +369,8 @@ const base::FilePath& output, CrosConfig* config) { return ExpandPropertyFile(input, output, config, /*append=*/false, - /*add_native_bridge_64bit_support=*/false); + /*add_native_bridge_64bit_support=*/false, false, + std::string()); } bool ExpandPropertyFiles(const base::FilePath& source_path, @@ -355,13 +383,24 @@ // default.prop may not exist. Silently skip it if not found. for (const auto& tuple : - {std::tuple<const char*, bool, bool>{"default.prop", true, false}, - {"build.prop", false, true}, - {"vendor_build.prop", false, false}}) { + // The order has to match the one in PropertyLoadBootDefaults() in + // system/core/init/property_service.cpp. + // Note: Our vendor image doesn't have /vendor/default.prop although + // PropertyLoadBootDefaults() tries to open it. + {std::tuple<const char*, bool, bool, const char*>{"default.prop", true, + false, ""}, + {"build.prop", false, true, ""}, + {"system_ext_build.prop", true, false, "system_ext."}, + {"vendor_build.prop", false, false, "vendor."}, + {"odm_build.prop", true, false, "odm."}, + {"product_build.prop", true, false, "product."}}) { const char* file = std::get<0>(tuple); const bool is_optional = std::get<1>(tuple); - const bool add_native_bridge_properties = + // When true, unconditionally add |kDalvikVmIsaArm64| property. + const bool append_dalvik_isa = std::get<2>(tuple) && add_native_bridge_64bit_support; + // Search for ro.<partition_name>product.cpu.abilist* properties. + const char* partition_name = std::get<3>(tuple); if (is_optional && !base::PathExists(source_path.Append(file))) continue; @@ -369,7 +408,8 @@ if (!ExpandPropertyFile( source_path.Append(file), single_file ? dest_path : dest_path.Append(file), &config, - /*append=*/single_file, add_native_bridge_properties)) { + /*append=*/single_file, add_native_bridge_64bit_support, + append_dalvik_isa, partition_name)) { LOG(ERROR) << "Failed to expand " << source_path.Append(file); return false; }
diff --git a/components/arc/session/arc_property_util_unittest.cc b/components/arc/session/arc_property_util_unittest.cc index 55126dd..ae299fa 100644 --- a/components/arc/session/arc_property_util_unittest.cc +++ b/components/arc/session/arc_property_util_unittest.cc
@@ -49,8 +49,10 @@ std::string expanded; EXPECT_TRUE(ExpandPropertyContentsForTesting( - "line1\n{brand}\nline3\n{brand} {brand}", &config, &expanded)); - EXPECT_EQ("line1\nalphabet\nline3\nalphabet alphabet\n", expanded); + "ro.a=line1\nro.b={brand}\nro.c=line3\nro.d={brand} {brand}", &config, + &expanded)); + EXPECT_EQ("ro.a=line1\nro.b=alphabet\nro.c=line3\nro.d=alphabet alphabet\n", + expanded); } TEST_F(ArcPropertyUtilTest, TestPropertyExpansionsUnmatchedBrace) { @@ -58,8 +60,8 @@ config.SetString("/arc/build-properties", "brand", "alphabet"); std::string expanded; - EXPECT_FALSE(ExpandPropertyContentsForTesting("line{1\nline}2\nline3", - &config, &expanded)); + EXPECT_FALSE(ExpandPropertyContentsForTesting( + "ro.a=line{1\nro.b=line}2\nro.c=line3", &config, &expanded)); } TEST_F(ArcPropertyUtilTest, TestPropertyExpansionsRecursive) { @@ -68,8 +70,9 @@ config.SetString("/arc/build-properties", "model", "{brand} soup"); std::string expanded; - EXPECT_TRUE(ExpandPropertyContentsForTesting("{model}", &config, &expanded)); - EXPECT_EQ("alphabet soup\n", expanded); + EXPECT_TRUE( + ExpandPropertyContentsForTesting("ro.a={model}", &config, &expanded)); + EXPECT_EQ("ro.a=alphabet soup\n", expanded); } TEST_F(ArcPropertyUtilTest, TestPropertyExpansionsMissingProperty) { @@ -78,9 +81,10 @@ std::string expanded; - EXPECT_FALSE(ExpandPropertyContentsForTesting("{missing-property}", &config, - &expanded)); - EXPECT_FALSE(ExpandPropertyContentsForTesting("{model}", &config, &expanded)); + EXPECT_FALSE(ExpandPropertyContentsForTesting("ro.a={missing-property}", + &config, &expanded)); + EXPECT_FALSE( + ExpandPropertyContentsForTesting("ro.a={model}", &config, &expanded)); } // Verify that ro.product.board gets copied to ro.oem.key1 as well. @@ -215,7 +219,6 @@ EXPECT_TRUE(ExpandPropertyFileForTesting(path, dest, config())); std::string content; EXPECT_TRUE(base::ReadFileToString(dest, &content)); - // Note: ExpandPropertyFileForTesting() adds a trailing LF. EXPECT_EQ(std::string(kValidProp) + "\n", content); } @@ -234,7 +237,6 @@ EXPECT_TRUE(ExpandPropertyFileForTesting(path, dest, config())); std::string content; EXPECT_TRUE(base::ReadFileToString(dest, &content)); - // Note: ExpandPropertyFileForTesting() adds a trailing LF. EXPECT_EQ("ro.foo=v1\nro.baz=v2\n", content); } @@ -253,7 +255,6 @@ EXPECT_TRUE(ExpandPropertyFileForTesting(path, dest, config())); std::string content; EXPECT_TRUE(base::ReadFileToString(dest, &content)); - // Note: ExpandPropertyFileForTesting() adds a trailing LF. EXPECT_EQ("ro.foo=v2\nro.baz=v2\n", content); } @@ -326,22 +327,21 @@ EXPECT_TRUE(base::PathExists(dest_dir.Append("vendor_build.prop"))); // Verify their content. - // Note: ExpandPropertyFileForTesting() adds a trailing LF. std::string content; EXPECT_TRUE( base::ReadFileToString(dest_dir.Append("default.prop"), &content)); - EXPECT_EQ(std::string(kDefaultProp) + "\n", content); + EXPECT_EQ(std::string(kDefaultProp), content); EXPECT_TRUE(base::ReadFileToString(dest_dir.Append("build.prop"), &content)); - EXPECT_EQ(std::string(kBuildProp) + "\n", content); + EXPECT_EQ(std::string(kBuildProp), content); EXPECT_TRUE( base::ReadFileToString(dest_dir.Append("vendor_build.prop"), &content)); - EXPECT_EQ(std::string(kVendorBuildProp) + "\n", content); + EXPECT_EQ(std::string(kVendorBuildProp), content); // Expand it again, verify the previous result is cleared. EXPECT_TRUE(ExpandPropertyFiles(source_dir, dest_dir, false, false)); EXPECT_TRUE( base::ReadFileToString(dest_dir.Append("default.prop"), &content)); - EXPECT_EQ(std::string(kDefaultProp) + "\n", content); + EXPECT_EQ(std::string(kDefaultProp), content); // If default.prop does not exist in the source path, it should still process // the other files, while also ensuring that default.prop is removed from the @@ -351,10 +351,10 @@ EXPECT_TRUE(ExpandPropertyFiles(source_dir, dest_dir, false, false)); EXPECT_TRUE(base::ReadFileToString(dest_dir.Append("build.prop"), &content)); - EXPECT_EQ(std::string(kBuildProp) + "\n", content); + EXPECT_EQ(std::string(kBuildProp), content); EXPECT_TRUE( base::ReadFileToString(dest_dir.Append("vendor_build.prop"), &content)); - EXPECT_EQ(std::string(kVendorBuildProp) + "\n", content); + EXPECT_EQ(std::string(kVendorBuildProp), content); // Finally, test the case where source is valid but the dest is not. EXPECT_FALSE(ExpandPropertyFiles(source_dir, base::FilePath("/nonexistent"), @@ -379,53 +379,83 @@ EXPECT_FALSE(ExpandPropertyFiles(source_dir, dest_prop_file, true, false)); // Add default.prop to the source, but not build.prop. - base::FilePath default_prop = source_dir.Append("default.prop"); + const base::FilePath default_prop = source_dir.Append("default.prop"); constexpr const char kDefaultProp[] = "ro.foo=bar\n"; base::WriteFile(default_prop, kDefaultProp, strlen(kDefaultProp)); EXPECT_FALSE(ExpandPropertyFiles(source_dir, dest_prop_file, true, false)); // Add build.prop too. The call should not succeed still. - base::FilePath build_prop = source_dir.Append("build.prop"); + const base::FilePath build_prop = source_dir.Append("build.prop"); constexpr const char kBuildProp[] = "ro.baz=boo\n"; base::WriteFile(build_prop, kBuildProp, strlen(kBuildProp)); EXPECT_FALSE(ExpandPropertyFiles(source_dir, dest_prop_file, true, false)); // Add vendor_build.prop too. Then the call should succeed. - base::FilePath vendor_build_prop = source_dir.Append("vendor_build.prop"); + const base::FilePath vendor_build_prop = + source_dir.Append("vendor_build.prop"); constexpr const char kVendorBuildProp[] = "ro.a=b\n"; base::WriteFile(vendor_build_prop, kVendorBuildProp, strlen(kVendorBuildProp)); EXPECT_TRUE(ExpandPropertyFiles(source_dir, dest_prop_file, true, false)); + // Add other optional files too. Then the call should succeed. + const base::FilePath system_ext_build_prop = + source_dir.Append("system_ext_build.prop"); + constexpr const char kSystemExtBuildProp[] = "ro.c=d\n"; + base::WriteFile(system_ext_build_prop, kSystemExtBuildProp, + strlen(kSystemExtBuildProp)); + EXPECT_TRUE(ExpandPropertyFiles(source_dir, dest_prop_file, true, false)); + + const base::FilePath odm_build_prop = source_dir.Append("odm_build.prop"); + constexpr const char kOdmBuildProp[] = "ro.e=f\n"; + base::WriteFile(odm_build_prop, kOdmBuildProp, strlen(kOdmBuildProp)); + EXPECT_TRUE(ExpandPropertyFiles(source_dir, dest_prop_file, true, false)); + + const base::FilePath product_build_prop = + source_dir.Append("product_build.prop"); + constexpr const char kProductBuildProp[] = "ro.g=h\n"; + base::WriteFile(product_build_prop, kProductBuildProp, + strlen(kProductBuildProp)); + EXPECT_TRUE(ExpandPropertyFiles(source_dir, dest_prop_file, true, false)); + // Verify only one dest file exists. EXPECT_FALSE( base::PathExists(dest_prop_file.DirName().Append("default.prop"))); EXPECT_FALSE(base::PathExists(dest_prop_file.DirName().Append("build.prop"))); EXPECT_FALSE( base::PathExists(dest_prop_file.DirName().Append("vendor_build.prop"))); + EXPECT_FALSE(base::PathExists( + dest_prop_file.DirName().Append("system_ext_build.prop"))); + EXPECT_FALSE( + base::PathExists(dest_prop_file.DirName().Append("odm_build.prop"))); + EXPECT_FALSE( + base::PathExists(dest_prop_file.DirName().Append("product_build.prop"))); EXPECT_TRUE(base::PathExists(dest_prop_file)); // Verify the content. - // Note: ExpandPropertyFileForTesting() adds a trailing LF. std::string content; EXPECT_TRUE(base::ReadFileToString(dest_prop_file, &content)); - EXPECT_EQ(base::StringPrintf("%s\n%s\n%s\n", kDefaultProp, kBuildProp, - kVendorBuildProp), + EXPECT_EQ(base::StringPrintf("%s%s%s%s%s%s", kDefaultProp, kBuildProp, + kSystemExtBuildProp, kVendorBuildProp, + kOdmBuildProp, kProductBuildProp), content); // Expand it again, verify the previous result is cleared. EXPECT_TRUE(ExpandPropertyFiles(source_dir, dest_prop_file, true, false)); EXPECT_TRUE(base::ReadFileToString(dest_prop_file, &content)); - EXPECT_EQ(base::StringPrintf("%s\n%s\n%s\n", kDefaultProp, kBuildProp, - kVendorBuildProp), + EXPECT_EQ(base::StringPrintf("%s%s%s%s%s%s", kDefaultProp, kBuildProp, + kSystemExtBuildProp, kVendorBuildProp, + kOdmBuildProp, kProductBuildProp), content); - // If default.prop does not exist in the source path, it should still process - // the other files. + // If optional ones e.g. default.prop does not exist in the source path, it + // should still process the other files. base::DeleteFile(source_dir.Append("default.prop")); + base::DeleteFile(source_dir.Append("odm_build.prop")); EXPECT_TRUE(ExpandPropertyFiles(source_dir, dest_prop_file, true, false)); EXPECT_TRUE(base::ReadFileToString(dest_prop_file, &content)); - EXPECT_EQ(base::StringPrintf("%s\n%s\n", kBuildProp, kVendorBuildProp), + EXPECT_EQ(base::StringPrintf("%s%s%s%s", kBuildProp, kSystemExtBuildProp, + kVendorBuildProp, kProductBuildProp), content); // Finally, test the case where source is valid but the dest is not. @@ -454,7 +484,10 @@ base::WriteFile(build_prop, kBuildProp, strlen(kBuildProp)); base::FilePath vendor_build_prop = source_dir.Append("vendor_build.prop"); - constexpr const char kVendorBuildProp[] = "ro.a=b\n"; + constexpr const char kVendorBuildProp[] = + "ro.a=b\n" + "ro.vendor.product.cpu.abilist=x86_64,x86,armeabi-v7a,armeabi\n" + "ro.vendor.product.cpu.abilist64=x86_64\n"; base::WriteFile(vendor_build_prop, kVendorBuildProp, strlen(kVendorBuildProp)); @@ -463,29 +496,33 @@ EXPECT_TRUE(ExpandPropertyFiles(source_dir, dest_dir, false, false)); EXPECT_TRUE( base::ReadFileToString(dest_dir.Append("default.prop"), &content)); - EXPECT_EQ(std::string(kDefaultProp) + "\n", content); + EXPECT_EQ(std::string(kDefaultProp), content); EXPECT_TRUE(base::ReadFileToString(dest_dir.Append("build.prop"), &content)); - EXPECT_EQ(std::string(kBuildProp) + "\n", content); + EXPECT_EQ(std::string(kBuildProp), content); EXPECT_TRUE( base::ReadFileToString(dest_dir.Append("vendor_build.prop"), &content)); - EXPECT_EQ(std::string(kVendorBuildProp) + "\n", content); + EXPECT_EQ(std::string(kVendorBuildProp), content); // Expand with experiment on, verify properties are added / modified in // build.prop but not other files. EXPECT_TRUE(ExpandPropertyFiles(source_dir, dest_dir, false, true)); EXPECT_TRUE( base::ReadFileToString(dest_dir.Append("default.prop"), &content)); - EXPECT_EQ(std::string(kDefaultProp) + "\n", content); + EXPECT_EQ(std::string(kDefaultProp), content); EXPECT_TRUE(base::ReadFileToString(dest_dir.Append("build.prop"), &content)); constexpr const char kBuildPropModified[] = "ro.baz=boo\n" "ro.product.cpu.abilist=x86_64,x86,arm64-v8a,armeabi-v7a,armeabi\n" - "ro.product.cpu.abilist64=x86_64,arm64-v8a\n\n" - "ro.dalvik.vm.isa.arm64=x86_64"; - EXPECT_EQ(std::string(kBuildPropModified) + "\n", content); + "ro.product.cpu.abilist64=x86_64,arm64-v8a\n" + "ro.dalvik.vm.isa.arm64=x86_64\n"; + EXPECT_EQ(std::string(kBuildPropModified), content); EXPECT_TRUE( base::ReadFileToString(dest_dir.Append("vendor_build.prop"), &content)); - EXPECT_EQ(std::string(kVendorBuildProp) + "\n", content); + constexpr const char kVendorBuildPropModified[] = + "ro.a=b\n" + "ro.vendor.product.cpu.abilist=x86_64,x86,arm64-v8a,armeabi-v7a,armeabi\n" + "ro.vendor.product.cpu.abilist64=x86_64,arm64-v8a\n"; + EXPECT_EQ(std::string(kVendorBuildPropModified), content); // Expand to a single file with experiment on, verify properties are added / // modified as expected. @@ -497,8 +534,8 @@ // Verify the contents. EXPECT_TRUE(base::ReadFileToString(dest_prop_file, &content)); - EXPECT_EQ(base::StringPrintf("%s\n%s\n%s\n", kDefaultProp, kBuildPropModified, - kVendorBuildProp), + EXPECT_EQ(base::StringPrintf("%s%s%s", kDefaultProp, kBuildPropModified, + kVendorBuildPropModified), content); // Verify that unexpected property values generate an error. @@ -518,5 +555,35 @@ EXPECT_FALSE(ExpandPropertyFiles(source_dir, dest_dir, false, true)); } +// Verify that comments and non ro. properties are not written. +TEST_F(ArcPropertyUtilTest, ExpandPropertyFiles_SingleFile_NonRo) { + base::FilePath source_dir; + ASSERT_TRUE(base::CreateTemporaryDirInDir(GetTempDir(), "test", &source_dir)); + base::FilePath dest_dir; + ASSERT_TRUE(base::CreateTemporaryDirInDir(GetTempDir(), "test", &dest_dir)); + + const base::FilePath default_prop = source_dir.Append("default.prop"); + constexpr const char kDefaultProp[] = "###\ndalvik.foo=bar\nro.foo=bar\n"; + base::WriteFile(default_prop, kDefaultProp, strlen(kDefaultProp)); + + const base::FilePath build_prop = source_dir.Append("build.prop"); + constexpr const char kBuildProp[] = "###\ndalvik.baz=boo\nro.baz=boo\n"; + base::WriteFile(build_prop, kBuildProp, strlen(kBuildProp)); + + const base::FilePath vendor_build_prop = + source_dir.Append("vendor_build.prop"); + constexpr const char kVendorBuildProp[] = "###\ndalvik.a=b\nro.a=b\n"; + base::WriteFile(vendor_build_prop, kVendorBuildProp, + strlen(kVendorBuildProp)); + + const base::FilePath dest_prop_file = dest_dir.Append("combined.prop"); + EXPECT_TRUE(ExpandPropertyFiles(source_dir, dest_prop_file, true, false)); + + // Verify the content. + std::string content; + EXPECT_TRUE(base::ReadFileToString(dest_prop_file, &content)); + EXPECT_EQ("ro.foo=bar\nro.baz=boo\nro.a=b\n", content); +} + } // namespace } // namespace arc
diff --git a/components/background_task_scheduler/OWNERS b/components/background_task_scheduler/OWNERS index 7a3fa83f..d0e0598 100644 --- a/components/background_task_scheduler/OWNERS +++ b/components/background_task_scheduler/OWNERS
@@ -1,5 +1,7 @@ dtrainor@chromium.org fgorski@chromium.org +hanxi@chromium.org +mheikal@chromium.org nyquist@chromium.org peter@chromium.org shaktisahu@chromium.org @@ -8,4 +10,5 @@ per-file task_ids.h=* # COMPONENT: Internals>BackgroundTaskScheduler - +# TEAM: clank-dev@google.com +# OS: Android
diff --git a/components/browser_ui/strings/android/site_settings.grdp b/components/browser_ui/strings/android/site_settings.grdp index 900e3bd..af65c55 100644 --- a/components/browser_ui/strings/android/site_settings.grdp +++ b/components/browser_ui/strings/android/site_settings.grdp
@@ -489,7 +489,7 @@ <!-- Storage --> <message name="IDS_WEBSITE_SETTINGS_STORAGE" desc="Title for Storage settings which show how much data websites are storing on the user's device. [CHAR-LIMIT=32]"> - Storage + Data stored </message> <message name="IDS_NO_SAVED_WEBSITE_SETTINGS" desc="Text to display when there are no saved website settings."> Files saved by websites appear here @@ -498,7 +498,7 @@ <ph name="STORAGE_AMOUNT">%1$s<ex>2 MB</ex></ph> stored data </message> <message name="IDS_STORAGE_CLEAR_BUTTON_TITLE" desc="Title of a button in the storage UI used to clear all storage data. [CHAR-LIMIT=24]"> - Clear site storage + Clear all data </message> <!-- USB -->
diff --git a/components/browser_ui/strings/android/site_settings_grdp/IDS_STORAGE_CLEAR_BUTTON_TITLE.png.sha1 b/components/browser_ui/strings/android/site_settings_grdp/IDS_STORAGE_CLEAR_BUTTON_TITLE.png.sha1 index 6e6d7a5..189f1b1 100644 --- a/components/browser_ui/strings/android/site_settings_grdp/IDS_STORAGE_CLEAR_BUTTON_TITLE.png.sha1 +++ b/components/browser_ui/strings/android/site_settings_grdp/IDS_STORAGE_CLEAR_BUTTON_TITLE.png.sha1
@@ -1 +1 @@ -29a656383244eced37abcdb4dc4b83f9e21a432d \ No newline at end of file +1e6a3d5428aafb429262fb3448b59d84c066b383 \ No newline at end of file
diff --git a/components/browser_ui/strings/android/site_settings_grdp/IDS_WEBSITE_SETTINGS_STORAGE.png.sha1 b/components/browser_ui/strings/android/site_settings_grdp/IDS_WEBSITE_SETTINGS_STORAGE.png.sha1 new file mode 100644 index 0000000..614e2049 --- /dev/null +++ b/components/browser_ui/strings/android/site_settings_grdp/IDS_WEBSITE_SETTINGS_STORAGE.png.sha1
@@ -0,0 +1 @@ +2e8659c6048b80b0d3518583ba140b9f56349746 \ No newline at end of file
diff --git a/components/browser_ui/widget/android/BUILD.gn b/components/browser_ui/widget/android/BUILD.gn index 175830d..0aee4b9 100644 --- a/components/browser_ui/widget/android/BUILD.gn +++ b/components/browser_ui/widget/android/BUILD.gn
@@ -290,6 +290,7 @@ sources = [ "java/src/org/chromium/components/browser_ui/widget/CompositeTouchDelegateUnitTest.java", "java/src/org/chromium/components/browser_ui/widget/InsetObserverViewTest.java", + "java/src/org/chromium/components/browser_ui/widget/LoadingViewTest.java", "java/src/org/chromium/components/browser_ui/widget/selectable_list/SelectionDelegateTest.java", ] deps = [
diff --git a/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/LoadingView.java b/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/LoadingView.java index 19fa51d..05390e5 100644 --- a/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/LoadingView.java +++ b/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/LoadingView.java
@@ -12,8 +12,13 @@ import android.view.View; import android.widget.ProgressBar; +import androidx.annotation.VisibleForTesting; + import org.chromium.ui.interpolators.BakedBezierInterpolator; +import java.util.ArrayList; +import java.util.List; + /** * A {@link ProgressBar} that understands the hiding/showing policy defined in Material Design. */ @@ -21,7 +26,21 @@ private static final int LOADING_ANIMATION_DELAY_MS = 500; private static final int MINIMUM_ANIMATION_SHOW_TIME_MS = 500; + /** + * A observer interface that will be notified when the progress bar is hidden. + */ + public interface Observer { + /** + * Notify the listener a call to {@link #hideLoadingUI()} is complete and loading view is + * GONE. + */ + void onHideLoadingUIComplete(); + } + private long mStartTime = -1; + private boolean mDisableAnimationForTest; + + private final List<Observer> mListeners = new ArrayList<>(); private final Runnable mDelayedShow = new Runnable() { @Override @@ -45,13 +64,18 @@ private final Runnable mDelayedHide = new Runnable() { @Override public void run() { + if (mDisableAnimationForTest) { + onHideLoadingFinished(); + return; + } + animate() .alpha(0.0f) .setInterpolator(BakedBezierInterpolator.TRANSFORM_CURVE) .setListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { - setVisibility(GONE); + onHideLoadingFinished(); } }); } @@ -97,6 +121,8 @@ Math.max(0, mStartTime + MINIMUM_ANIMATION_SHOW_TIME_MS - SystemClock.elapsedRealtime())); + } else { + onHideLoadingFinished(); } } @@ -106,5 +132,34 @@ public void destroy() { removeCallbacks(mDelayedShow); removeCallbacks(mDelayedHide); + mListeners.clear(); + } + + /** + * Add the listener that will be notified when the spinner is completely hidden with {@link + * #hideLoadingUI()}. + * @param listener {@link Observer} that will be notified when the spinner is + * completely hidden with {@link #hideLoadingUI()}. + */ + public void addObserver(Observer listener) { + mListeners.add(listener); + } + + private void onHideLoadingFinished() { + setVisibility(GONE); + for (Observer observer : mListeners) { + observer.onHideLoadingUIComplete(); + } + } + + /** + * Set disable the fading animation during {@link #hideLoadingUI()}. + * This function is added as a work around for disable animation during unit tests. + * @param disableAnimation Whether the fading animation should be disabled during {@link + * #hideLoadingUI()}. + */ + @VisibleForTesting + public void setDisableAnimationForTest(boolean disableAnimation) { + mDisableAnimationForTest = disableAnimation; } }
diff --git a/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/LoadingViewTest.java b/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/LoadingViewTest.java new file mode 100644 index 0000000..a75e4e0 --- /dev/null +++ b/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/LoadingViewTest.java
@@ -0,0 +1,99 @@ +// Copyright 2020 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. + +package org.chromium.components.browser_ui.widget; + +import android.app.Activity; +import android.view.View; +import android.widget.FrameLayout; + +import androidx.test.filters.SmallTest; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.robolectric.Robolectric; +import org.robolectric.annotation.Config; +import org.robolectric.shadows.ShadowLooper; +import org.robolectric.shadows.ShadowView; + +import org.chromium.base.test.BaseRobolectricTestRunner; +import org.chromium.base.test.util.CallbackHelper; + +import java.util.concurrent.TimeUnit; + +/** + * Tests for {@link LoadingView}. + */ +@RunWith(BaseRobolectricTestRunner.class) +@Config(manifest = Config.NONE, shadows = {ShadowView.class}) +public class LoadingViewTest { + private LoadingView mLoadingView; + private Activity mActivity; + + private final CallbackHelper mCallback1 = new CallbackHelper(); + private final CallbackHelper mCallback2 = new CallbackHelper(); + + @Before + public void setUpTest() throws Exception { + mActivity = Robolectric.buildActivity(Activity.class).create().get(); + + FrameLayout content = new FrameLayout(mActivity); + mActivity.setContentView(content); + + mLoadingView = new LoadingView(mActivity); + mLoadingView.setDisableAnimationForTest(true); + content.addView(mLoadingView); + + mLoadingView.addObserver(mCallback1::notifyCalled); + mLoadingView.addObserver(mCallback2::notifyCalled); + } + + @Test + @SmallTest + public void testLoadingFast() { + mLoadingView.showLoadingUI(); + + ShadowLooper.idleMainLooper(100, TimeUnit.MILLISECONDS); + Assert.assertEquals("Progress bar should be hidden before 500ms.", View.GONE, + mLoadingView.getVisibility()); + + mLoadingView.hideLoadingUI(); + Assert.assertEquals( + "Progress bar should never be visible.", View.GONE, mLoadingView.getVisibility()); + Assert.assertEquals("Callback1 should be executed after loading finishes.", 1, + mCallback1.getCallCount()); + Assert.assertEquals("Callback2 should be executed after loading finishes.", 1, + mCallback2.getCallCount()); + } + + @Test + @SmallTest + public void testLoadingSlow() { + long sleepTime = 500; + mLoadingView.showLoadingUI(); + + ShadowLooper.idleMainLooper(sleepTime, TimeUnit.MILLISECONDS); + Assert.assertEquals("Progress bar should be visible after 500ms.", View.VISIBLE, + mLoadingView.getVisibility()); + + mLoadingView.hideLoadingUI(); + Assert.assertEquals("Progress bar should still be visible until showing for 500ms.", + View.VISIBLE, mLoadingView.getVisibility()); + Assert.assertEquals("Callback1 should not be executed before loading finishes.", 0, + mCallback1.getCallCount()); + Assert.assertEquals("Callback2 should not be executed before loading finishes.", 0, + mCallback2.getCallCount()); + + // The spinner should be displayed for at least 500ms. + ShadowLooper.idleMainLooper(sleepTime, TimeUnit.MILLISECONDS); + Assert.assertEquals("Progress bar should be hidden after 500ms.", View.GONE, + mLoadingView.getVisibility()); + Assert.assertEquals("Callback1 should be executed after loading finishes.", 1, + mCallback1.getCallCount()); + Assert.assertEquals("Callback2 should be executed after loading finishes.", 1, + mCallback2.getCallCount()); + } +}
diff --git a/components/exo/surface.cc b/components/exo/surface.cc index 5738e58..a5bbec6 100644 --- a/components/exo/surface.cc +++ b/components/exo/surface.cc
@@ -978,7 +978,15 @@ state_.only_visible_on_secure_output, ¤t_resource_)) { current_resource_has_alpha_ = FormatHasAlpha(current_buffer_.buffer()->GetFormat()); - current_resource_.color_space = state_.color_space; + // Planar buffers are sampled as RGB. Technically, the driver is supposed + // to preserve the colorspace, so we could still pass the primaries and + // transfer function. However, we don't actually pass the colorspace + // to the driver, and it's unclear what drivers would actually do if we + // did. So in effect, the colorspace is undefined. + if (NumberOfPlanesForLinearBufferFormat( + current_buffer_.buffer()->GetFormat()) > 1) { + current_resource_.color_space = state_.color_space; + } } else { current_resource_.id = 0; // Use the buffer's size, so the AppendContentsToFrame() will append
diff --git a/components/leveldb_proto/internal/proto_database_perftest.cc b/components/leveldb_proto/internal/proto_database_perftest.cc index 9abed58..9ed1a87f 100644 --- a/components/leveldb_proto/internal/proto_database_perftest.cc +++ b/components/leveldb_proto/internal/proto_database_perftest.cc
@@ -23,6 +23,7 @@ #include "base/stl_util.h" #include "base/strings/string_number_conversions.h" #include "base/strings/stringprintf.h" +#include "base/test/task_environment.h" #include "base/threading/thread.h" #include "build/build_config.h" #include "components/leveldb_proto/internal/leveldb_database.h" @@ -558,7 +559,7 @@ std::map<std::string, std::unique_ptr<ScopedTempDir>> temp_dirs_; std::map<std::string, std::unique_ptr<TestDatabase>> dbs_; - base::test::SingleThreadTaskEnvironment task_environment_; + base::test::TaskEnvironment task_environment_; scoped_refptr<base::SingleThreadTaskRunner> task_runner_; };
diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc index 7418d76..345ff70 100644 --- a/components/omnibox/browser/autocomplete_controller.cc +++ b/components/omnibox/browser/autocomplete_controller.cc
@@ -45,6 +45,7 @@ #include "components/omnibox/browser/zero_suggest_provider.h" #include "components/omnibox/common/omnibox_features.h" #include "components/open_from_clipboard/clipboard_recent_content.h" +#include "components/search_engines/omnibox_focus_type.h" #include "components/search_engines/template_url.h" #include "components/search_engines/template_url_service.h" #include "components/strings/grit/components_strings.h" @@ -364,7 +365,7 @@ const base::string16 old_input_text(input_.text()); const bool old_allow_exact_keyword_match = input_.allow_exact_keyword_match(); const bool old_want_asynchronous_matches = input_.want_asynchronous_matches(); - const bool old_from_omnibox_focus = input_.from_omnibox_focus(); + const OmniboxFocusType old_focus_type = input_.focus_type(); input_ = input; // See if we can avoid rerunning autocomplete when the query hasn't changed @@ -380,7 +381,7 @@ (input_.text() == old_input_text) && (input_.allow_exact_keyword_match() == old_allow_exact_keyword_match) && (input_.want_asynchronous_matches() == old_want_asynchronous_matches) && - (input.from_omnibox_focus() == old_from_omnibox_focus); + (input_.focus_type() == old_focus_type); expire_timer_.Stop(); stop_timer_.Stop();
diff --git a/components/omnibox/browser/autocomplete_input.cc b/components/omnibox/browser/autocomplete_input.cc index d1f50b6..af84aa3e 100644 --- a/components/omnibox/browser/autocomplete_input.cc +++ b/components/omnibox/browser/autocomplete_input.cc
@@ -76,8 +76,7 @@ prefer_keyword_(false), allow_exact_keyword_match_(true), keyword_mode_entry_method_(metrics::OmniboxEventProto::INVALID), - want_asynchronous_matches_(true), - from_omnibox_focus_(false) {} + want_asynchronous_matches_(true) {} AutocompleteInput::AutocompleteInput( const base::string16& text, @@ -591,7 +590,7 @@ prefer_keyword_ = false; allow_exact_keyword_match_ = false; want_asynchronous_matches_ = true; - from_omnibox_focus_ = false; + focus_type_ = OmniboxFocusType::DEFAULT; terms_prefixed_by_http_or_https_.clear(); query_tile_id_.reset(); }
diff --git a/components/omnibox/browser/autocomplete_input.h b/components/omnibox/browser/autocomplete_input.h index b1a9b86..6bb67a3 100644 --- a/components/omnibox/browser/autocomplete_input.h +++ b/components/omnibox/browser/autocomplete_input.h
@@ -12,6 +12,7 @@ #include "base/optional.h" #include "base/strings/string16.h" +#include "components/search_engines/omnibox_focus_type.h" #include "third_party/metrics_proto/omnibox_event.pb.h" #include "third_party/metrics_proto/omnibox_input_type.pb.h" #include "url/gurl.h" @@ -219,17 +220,13 @@ want_asynchronous_matches_ = want_asynchronous_matches; } - // Returns whether this input query was triggered due to the omnibox being - // focused. - bool from_omnibox_focus() const { return from_omnibox_focus_; } - // |from_omnibox_focus| should be true when input is created as a result - // of the omnibox being focused, instead of due to user input changes. - // Most providers should not provide matches in this case. Providers - // which want to display matches on focus can use this flag to know when - // they can do so. - void set_from_omnibox_focus(bool from_omnibox_focus) { - from_omnibox_focus_ = from_omnibox_focus; - } + // Returns the type of UI interaction that started this autocomplete query. + OmniboxFocusType focus_type() const { return focus_type_; } + // |focus_type| should specify the UI interaction that started autocomplete. + // Generally, this should be left alone as DEFAULT. Most providers only + // provide results for DEFAULT focus type. Providers (like ZeroSuggest) that + // only want to display matches on-focus or on-clobber will look at this flag. + void set_focus_type(OmniboxFocusType focus_type) { focus_type_ = focus_type; } // Returns the terms in |text_| that start with http:// or https:// plus // at least one more character, stored without the scheme. Used in @@ -284,7 +281,7 @@ bool allow_exact_keyword_match_; metrics::OmniboxEventProto::KeywordModeEntryMethod keyword_mode_entry_method_; bool want_asynchronous_matches_; - bool from_omnibox_focus_; + OmniboxFocusType focus_type_ = OmniboxFocusType::DEFAULT; std::vector<base::string16> terms_prefixed_by_http_or_https_; base::Optional<std::string> query_tile_id_; };
diff --git a/components/omnibox/browser/autocomplete_provider_unittest.cc b/components/omnibox/browser/autocomplete_provider_unittest.cc index 560e80b..d041d4d 100644 --- a/components/omnibox/browser/autocomplete_provider_unittest.cc +++ b/components/omnibox/browser/autocomplete_provider_unittest.cc
@@ -34,6 +34,7 @@ #include "components/omnibox/browser/zero_suggest_provider.h" #include "components/open_from_clipboard/fake_clipboard_recent_content.h" #include "components/prefs/testing_pref_service.h" +#include "components/search_engines/omnibox_focus_type.h" #include "components/search_engines/search_engines_switches.h" #include "components/search_engines/template_url.h" #include "components/search_engines/template_url_service.h" @@ -141,7 +142,7 @@ matches_.clear(); - if (input.from_omnibox_focus()) + if (input.focus_type() != OmniboxFocusType::DEFAULT) return; // Generate 4 results synchronously, the rest later.
diff --git a/components/omnibox/browser/autocomplete_result.cc b/components/omnibox/browser/autocomplete_result.cc index b643e12..955b0b55 100644 --- a/components/omnibox/browser/autocomplete_result.cc +++ b/components/omnibox/browser/autocomplete_result.cc
@@ -29,6 +29,7 @@ #include "components/omnibox/browser/omnibox_pedal_provider.h" #include "components/omnibox/browser/omnibox_prefs.h" #include "components/omnibox/common/omnibox_features.h" +#include "components/search_engines/omnibox_focus_type.h" #include "components/search_engines/template_url_service.h" #include "components/strings/grit/components_strings.h" #include "components/url_formatter/url_fixer.h" @@ -67,7 +68,7 @@ }; // static -size_t AutocompleteResult::GetMaxMatches(bool input_from_omnibox_focus) { +size_t AutocompleteResult::GetMaxMatches(bool is_zero_suggest) { #if (defined(OS_ANDROID)) constexpr size_t kDefaultMaxAutocompleteMatches = 5; #elif defined(OS_IOS) // !defined(OS_ANDROID) @@ -86,7 +87,7 @@ // If we're interested in the zero suggest match limit, and one has been // specified, return it. - if (input_from_omnibox_focus) { + if (is_zero_suggest) { size_t field_trial_value = base::GetFieldTrialParamByFeatureAsInt( omnibox::kMaxZeroSuggestMatches, OmniboxFieldTrial::kMaxZeroSuggestMatchesParam, 0); @@ -258,16 +259,17 @@ // Limit URL matches per OmniboxMaxURLMatches. size_t max_url_count = 0; + bool is_zero_suggest = input.focus_type() != OmniboxFocusType::DEFAULT; if (OmniboxFieldTrial::IsMaxURLMatchesFeatureEnabled() && (max_url_count = OmniboxFieldTrial::GetMaxURLMatches()) != 0) - LimitNumberOfURLsShown(GetMaxMatches(input.from_omnibox_focus()), - max_url_count, comparing_object); + LimitNumberOfURLsShown(GetMaxMatches(is_zero_suggest), max_url_count, + comparing_object); // Limit total matches accounting for suggestions score <= 0, sub matches, and // feature configs such as OmniboxUIExperimentMaxAutocompleteMatches, // OmniboxMaxZeroSuggestMatches, and OmniboxDynamicMaxAutocomplete. - const size_t num_matches = CalculateNumMatches(input.from_omnibox_focus(), - matches_, comparing_object); + const size_t num_matches = + CalculateNumMatches(is_zero_suggest, matches_, comparing_object); matches_.resize(num_matches); #if defined(OS_ANDROID) @@ -573,17 +575,17 @@ // static size_t AutocompleteResult::CalculateNumMatches( - bool input_from_omnibox_focus, + bool is_zero_suggest, const ACMatches& matches, const CompareWithDemoteByType<AutocompleteMatch>& comparing_object) { // Use alternative CalculateNumMatchesPerUrlCount if applicable. - if (!input_from_omnibox_focus && + if (!is_zero_suggest && base::FeatureList::IsEnabled(omnibox::kNewSearchFeatures) && base::FeatureList::IsEnabled(omnibox::kDynamicMaxAutocomplete)) return CalculateNumMatchesPerUrlCount(matches, comparing_object); // In the process of trimming, drop all matches with a demoted relevance // score of 0. - size_t max_matches_by_policy = GetMaxMatches(input_from_omnibox_focus); + size_t max_matches_by_policy = GetMaxMatches(is_zero_suggest); size_t num_matches = 0; while (num_matches < matches.size() && comparing_object.GetDemotedRelevance(matches[num_matches]) > 0) { @@ -657,6 +659,7 @@ : GURL(); } +// static void AutocompleteResult::DeduplicateMatches(ACMatches* matches) { // Group matches by stripped URL and whether it's a calculator suggestion. std::unordered_map<std::pair<GURL, bool>, std::vector<ACMatches::iterator>,
diff --git a/components/omnibox/browser/autocomplete_result.h b/components/omnibox/browser/autocomplete_result.h index 14057e9..7fb0f27b 100644 --- a/components/omnibox/browser/autocomplete_result.h +++ b/components/omnibox/browser/autocomplete_result.h
@@ -32,11 +32,11 @@ typedef ACMatches::iterator iterator; using MatchDedupComparator = std::pair<GURL, bool>; - // Max number of matches we'll show from the various providers. This limit may - // be different for zero suggest (i.e. when |input_from_omnibox_focus| is - // true) and non zero suggest. Does not take into account the boost - // conditionally provided by the omnibox::kDynamicMaxAutocomplete feature. - static size_t GetMaxMatches(bool input_from_omnibox_focus = false); + // Max number of matches we'll show from the various providers. This limit + // may be different for zero suggest and non zero suggest. Does not take into + // account the boost conditionally provided by the + // omnibox::kDynamicMaxAutocomplete feature. + static size_t GetMaxMatches(bool is_zero_suggest = false); // Defaults to GetMaxMatches if omnibox::kDynamicMaxAutocomplete is disabled; // otherwise returns the boosted dynamic limit. static size_t GetDynamicMaxMatches(); @@ -122,7 +122,7 @@ // matches to keep, with respect to configured maximums, URL limits, // and relevancies. static size_t CalculateNumMatches( - bool input_from_omnibox_focus, + bool is_zero_suggest, const ACMatches& matches, const CompareWithDemoteByType<AutocompleteMatch>& comparing_object); // Determines how many matches to keep depending on how many URLs would be @@ -162,6 +162,7 @@ size_t EstimateMemoryUsage() const; // Get a list of comparators used for deduping for the matches in this result. + // This is only used for logging. std::vector<MatchDedupComparator> GetMatchDedupComparators() const; // Gets the header string associated with |suggestion_group_id|. Returns an
diff --git a/components/omnibox/browser/bookmark_provider.cc b/components/omnibox/browser/bookmark_provider.cc index 5a57908..849adbf 100644 --- a/components/omnibox/browser/bookmark_provider.cc +++ b/components/omnibox/browser/bookmark_provider.cc
@@ -21,6 +21,7 @@ #include "components/omnibox/browser/titled_url_match_utils.h" #include "components/prefs/pref_service.h" #include "components/query_parser/snippet.h" +#include "components/search_engines/omnibox_focus_type.h" #include "third_party/metrics_proto/omnibox_input_type.pb.h" #include "url/url_constants.h" @@ -40,7 +41,7 @@ TRACE_EVENT0("omnibox", "BookmarkProvider::Start"); matches_.clear(); - if (input.from_omnibox_focus() || input.text().empty()) + if (input.focus_type() != OmniboxFocusType::DEFAULT || input.text().empty()) return; DoAutocomplete(input);
diff --git a/components/omnibox/browser/bookmark_provider_unittest.cc b/components/omnibox/browser/bookmark_provider_unittest.cc index 66878e61..ff86be6 100644 --- a/components/omnibox/browser/bookmark_provider_unittest.cc +++ b/components/omnibox/browser/bookmark_provider_unittest.cc
@@ -25,6 +25,7 @@ #include "components/omnibox/browser/mock_autocomplete_provider_client.h" #include "components/omnibox/browser/test_scheme_classifier.h" #include "components/omnibox/browser/titled_url_match_utils.h" +#include "components/search_engines/omnibox_focus_type.h" #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" #include "third_party/metrics_proto/omnibox_event.pb.h" @@ -485,7 +486,7 @@ AutocompleteInput input(base::ASCIIToUTF16("foo"), metrics::OmniboxEventProto::OTHER, TestSchemeClassifier()); - input.set_from_omnibox_focus(true); + input.set_focus_type(OmniboxFocusType::ON_FOCUS); provider_->Start(input, false); EXPECT_TRUE(provider_->matches().empty()); }
diff --git a/components/omnibox/browser/builtin_provider.cc b/components/omnibox/browser/builtin_provider.cc index 49fff26b..31ab3cb 100644 --- a/components/omnibox/browser/builtin_provider.cc +++ b/components/omnibox/browser/builtin_provider.cc
@@ -15,6 +15,7 @@ #include "components/omnibox/browser/autocomplete_match_classification.h" #include "components/omnibox/browser/autocomplete_provider_client.h" #include "components/omnibox/browser/history_provider.h" +#include "components/search_engines/omnibox_focus_type.h" #include "components/url_formatter/url_fixer.h" #include "third_party/metrics_proto/omnibox_input_type.pb.h" @@ -29,7 +30,7 @@ void BuiltinProvider::Start(const AutocompleteInput& input, bool minimal_changes) { matches_.clear(); - if (input.from_omnibox_focus() || + if (input.focus_type() != OmniboxFocusType::DEFAULT || (input.type() == metrics::OmniboxInputType::EMPTY) || (input.type() == metrics::OmniboxInputType::QUERY)) return;
diff --git a/components/omnibox/browser/builtin_provider_unittest.cc b/components/omnibox/browser/builtin_provider_unittest.cc index 772d9bbf..1af1702a 100644 --- a/components/omnibox/browser/builtin_provider_unittest.cc +++ b/components/omnibox/browser/builtin_provider_unittest.cc
@@ -21,6 +21,7 @@ #include "components/omnibox/browser/history_url_provider.h" #include "components/omnibox/browser/mock_autocomplete_provider_client.h" #include "components/omnibox/browser/test_scheme_classifier.h" +#include "components/search_engines/omnibox_focus_type.h" #include "testing/gtest/include/gtest/gtest.h" #include "third_party/metrics_proto/omnibox_event.pb.h" #include "url/gurl.h" @@ -302,7 +303,7 @@ AutocompleteInput input(ASCIIToUTF16("chrome://m"), metrics::OmniboxEventProto::OTHER, TestSchemeClassifier()); - input.set_from_omnibox_focus(true); + input.set_focus_type(OmniboxFocusType::ON_FOCUS); provider_->Start(input, false); EXPECT_TRUE(provider_->matches().empty()); }
diff --git a/components/omnibox/browser/clipboard_provider.cc b/components/omnibox/browser/clipboard_provider.cc index 6062b82..d15b6c3 100644 --- a/components/omnibox/browser/clipboard_provider.cc +++ b/components/omnibox/browser/clipboard_provider.cc
@@ -29,6 +29,7 @@ #include "components/omnibox/browser/verbatim_match.h" #include "components/omnibox/common/omnibox_features.h" #include "components/open_from_clipboard/clipboard_recent_content.h" +#include "components/search_engines/omnibox_focus_type.h" #include "components/search_engines/template_url_service.h" #include "components/strings/grit/components_strings.h" #include "components/url_formatter/url_formatter.h" @@ -142,7 +143,7 @@ field_trial_triggered_ = false; // If the user started typing, do not offer clipboard based match. - if (!input.from_omnibox_focus()) + if (input.focus_type() == OmniboxFocusType::DEFAULT) return; // Image matched was kicked off asynchronously, so proceed when that ends.
diff --git a/components/omnibox/browser/clipboard_provider_unittest.cc b/components/omnibox/browser/clipboard_provider_unittest.cc index e230484..dde3293 100644 --- a/components/omnibox/browser/clipboard_provider_unittest.cc +++ b/components/omnibox/browser/clipboard_provider_unittest.cc
@@ -20,6 +20,7 @@ #include "components/omnibox/browser/test_scheme_classifier.h" #include "components/omnibox/common/omnibox_features.h" #include "components/open_from_clipboard/fake_clipboard_recent_content.h" +#include "components/search_engines/omnibox_focus_type.h" #include "components/search_engines/template_url_service.h" #include "components/search_engines/template_url_service_client.h" #include "testing/gmock/include/gmock/gmock.h" @@ -73,11 +74,11 @@ !clipboard_content_.HasRecentImageFromClipboard(); } - AutocompleteInput CreateAutocompleteInput(bool from_omnibox_focus) { + AutocompleteInput CreateAutocompleteInput(OmniboxFocusType focus_type) { AutocompleteInput input(base::string16(), metrics::OmniboxEventProto::OTHER, classifier_); input.set_current_url(GURL(kCurrentURL)); - input.set_from_omnibox_focus(from_omnibox_focus); + input.set_focus_type(focus_type); return input; } @@ -96,26 +97,26 @@ } TEST_F(ClipboardProviderTest, NotFromOmniboxFocus) { - provider_->Start(CreateAutocompleteInput(false), false); + provider_->Start(CreateAutocompleteInput(OmniboxFocusType::DEFAULT), false); EXPECT_TRUE(provider_->matches().empty()); } TEST_F(ClipboardProviderTest, EmptyClipboard) { ClearClipboard(); - provider_->Start(CreateAutocompleteInput(true), false); + provider_->Start(CreateAutocompleteInput(OmniboxFocusType::ON_FOCUS), false); EXPECT_TRUE(provider_->matches().empty()); } TEST_F(ClipboardProviderTest, ClipboardIsCurrentURL) { SetClipboardUrl(GURL(kCurrentURL)); - provider_->Start(CreateAutocompleteInput(true), false); + provider_->Start(CreateAutocompleteInput(OmniboxFocusType::ON_FOCUS), false); EXPECT_TRUE(provider_->matches().empty()); } TEST_F(ClipboardProviderTest, HasMultipleMatches) { EXPECT_CALL(*client_.get(), GetSchemeClassifier()) .WillOnce(testing::ReturnRef(classifier_)); - provider_->Start(CreateAutocompleteInput(true), false); + provider_->Start(CreateAutocompleteInput(OmniboxFocusType::ON_FOCUS), false); ASSERT_GE(provider_->matches().size(), 1U); EXPECT_EQ(GURL(kClipboardURL), provider_->matches().back().destination_url); } @@ -124,7 +125,7 @@ SetClipboardUrl(GURL(kClipboardURL)); EXPECT_CALL(*client_.get(), GetSchemeClassifier()) .WillOnce(testing::ReturnRef(classifier_)); - provider_->Start(CreateAutocompleteInput(true), false); + provider_->Start(CreateAutocompleteInput(OmniboxFocusType::ON_FOCUS), false); ASSERT_GE(provider_->matches().size(), 1U); EXPECT_EQ(GURL(kClipboardURL), provider_->matches().back().destination_url); EXPECT_EQ(AutocompleteMatchType::CLIPBOARD_URL, @@ -136,7 +137,7 @@ /*initializers=*/nullptr, /*count=*/0); client_->set_template_url_service(std::move(template_url_service)); SetClipboardText(base::UTF8ToUTF16(kClipboardText)); - provider_->Start(CreateAutocompleteInput(true), false); + provider_->Start(CreateAutocompleteInput(OmniboxFocusType::ON_FOCUS), false); ASSERT_GE(provider_->matches().size(), 1U); EXPECT_EQ(base::UTF8ToUTF16(kClipboardTitleText), provider_->matches().back().contents); @@ -159,9 +160,9 @@ scoped_refptr<base::RefCountedMemory> image_bytes = provider_->EncodeClipboardImage(*test_image.ToImageSkia()); ASSERT_TRUE(image_bytes); - provider_->ConstructImageMatchCallback(CreateAutocompleteInput(true), - &template_url_service, clipboard_age, - image_bytes); + provider_->ConstructImageMatchCallback( + CreateAutocompleteInput(OmniboxFocusType::ON_FOCUS), + &template_url_service, clipboard_age, image_bytes); ASSERT_GE(provider_->matches().size(), 1U); EXPECT_EQ(AutocompleteMatchType::CLIPBOARD_IMAGE, provider_->matches().back().type); @@ -172,7 +173,7 @@ /*initializers=*/nullptr, /*count=*/0); client_->set_template_url_service(std::move(template_url_service)); SetClipboardText(base::UTF8ToUTF16(kClipboardText)); - provider_->Start(CreateAutocompleteInput(true), false); + provider_->Start(CreateAutocompleteInput(OmniboxFocusType::ON_FOCUS), false); ASSERT_EQ(provider_->matches().size(), 1U); provider_->DeleteMatch(provider_->matches().back());
diff --git a/components/omnibox/browser/document_provider.cc b/components/omnibox/browser/document_provider.cc index abc0603a..f16e949 100644 --- a/components/omnibox/browser/document_provider.cc +++ b/components/omnibox/browser/document_provider.cc
@@ -44,6 +44,7 @@ #include "components/omnibox/common/omnibox_features.h" #include "components/pref_registry/pref_registry_syncable.h" #include "components/prefs/pref_service.h" +#include "components/search_engines/omnibox_focus_type.h" #include "components/search_engines/search_engine_type.h" #include "components/search_engines/template_url_service.h" #include "components/strings/grit/components_strings.h" @@ -461,7 +462,7 @@ // There should be no document suggestions fetched for on-focus suggestion // requests, or if the input is empty. - if (input.from_omnibox_focus() || + if (input.focus_type() != OmniboxFocusType::DEFAULT || input.type() == metrics::OmniboxInputType::EMPTY) { return; }
diff --git a/components/omnibox/browser/history_quick_provider.cc b/components/omnibox/browser/history_quick_provider.cc index 6b88171d..d79aa98 100644 --- a/components/omnibox/browser/history_quick_provider.cc +++ b/components/omnibox/browser/history_quick_provider.cc
@@ -29,6 +29,7 @@ #include "components/omnibox/browser/omnibox_field_trial.h" #include "components/omnibox/browser/url_prefix.h" #include "components/prefs/pref_service.h" +#include "components/search_engines/omnibox_focus_type.h" #include "components/url_formatter/url_formatter.h" #include "net/base/escape.h" #include "net/base/registry_controlled_domains/registry_controlled_domain.h" @@ -47,7 +48,7 @@ bool minimal_changes) { TRACE_EVENT0("omnibox", "HistoryQuickProvider::Start"); matches_.clear(); - if (disabled_ || input.from_omnibox_focus()) + if (disabled_ || input.focus_type() != OmniboxFocusType::DEFAULT) return; // Don't bother with INVALID.
diff --git a/components/omnibox/browser/history_quick_provider_unittest.cc b/components/omnibox/browser/history_quick_provider_unittest.cc index 22cac5d..1eaab30 100644 --- a/components/omnibox/browser/history_quick_provider_unittest.cc +++ b/components/omnibox/browser/history_quick_provider_unittest.cc
@@ -34,6 +34,7 @@ #include "components/omnibox/browser/history_url_provider.h" #include "components/omnibox/browser/in_memory_url_index_test_util.h" #include "components/prefs/pref_service.h" +#include "components/search_engines/omnibox_focus_type.h" #include "components/search_engines/search_terms_data.h" #include "testing/gtest/include/gtest/gtest.h" @@ -152,7 +153,7 @@ void RunTest(const base::string16& text, bool prevent_inline_autocomplete, const std::vector<std::string>& expected_urls, - bool can_inline_top_result, + bool expected_can_inline_top_result, const base::string16& expected_fill_into_edit, const base::string16& autocompletion); @@ -161,9 +162,10 @@ const size_t cursor_position, bool prevent_inline_autocomplete, const std::vector<std::string>& expected_urls, - bool can_inline_top_result, + bool expected_can_inline_top_result, const base::string16& expected_fill_into_edit, - const base::string16& autocompletion); + const base::string16& autocompletion, + bool duplicates_ok = false); // TODO(shess): From history_service.h in reference to history_backend: // > This class has most of the implementation and runs on the 'thread_'. @@ -267,7 +269,15 @@ "%8C%E5%A4%A7%E6%88%A6#.E3.83.B4.E3.82.A7.E3.83.AB.E3.82.B5.E3.82.A4.E3." "83.A6.E4.BD.93.E5.88.B6", "Title Unimportant", 2, 2, 0}, - {"https://twitter.com/fungoodtimes", "relatable!", 1, 1, 0}, + {"https://twitter.com/fungoodtimes", "fungoodtimes", 10, 10, 0}, + {"https://deduping-test.com/high-scoring", "xyz", 20, 20, 0}, + {"https://deduping-test.com/med-scoring", "xyz", 10, 10, 0}, + {"https://suffix.com/prefixsuffix1", + "'pre suf' should score higher than 'presuf'", 3, 3, 1}, + {"https://suffix.com/prefixsuffix2", + "'pre suf' should score higher than 'presuf'", 3, 3, 2}, + {"https://suffix.com/prefixsuffix3", + "'pre suf' should score higher than 'presuf'", 3, 3, 3}, }; } @@ -301,11 +311,11 @@ const base::string16& text, bool prevent_inline_autocomplete, const std::vector<std::string>& expected_urls, - bool can_inline_top_result, + bool expected_can_inline_top_result, const base::string16& expected_fill_into_edit, const base::string16& expected_autocompletion) { RunTestWithCursor(text, base::string16::npos, prevent_inline_autocomplete, - expected_urls, can_inline_top_result, + expected_urls, expected_can_inline_top_result, expected_fill_into_edit, expected_autocompletion); } @@ -316,7 +326,8 @@ const std::vector<std::string>& expected_urls, bool expected_can_inline_top_result, const base::string16& expected_fill_into_edit, - const base::string16& expected_autocompletion) { + const base::string16& expected_autocompletion, + bool duplicates_ok) { SCOPED_TRACE(text); // Minimal hint to query being run. base::RunLoop().RunUntilIdle(); AutocompleteInput input(text, cursor_position, @@ -334,13 +345,26 @@ // If the number of expected and actual matches aren't equal then we need // test no further, but let's do anyway so that we know which URLs failed. - EXPECT_EQ(expected_urls.size(), ac_matches_.size()); + if (duplicates_ok) + EXPECT_LE(expected_urls.size(), ac_matches_.size()); + else + EXPECT_EQ(expected_urls.size(), ac_matches_.size()); // Verify that all expected URLs were found and that all found URLs // were expected. - std::set<std::string> leftovers = - for_each(expected_urls.begin(), expected_urls.end(), - SetShouldContain(ac_matches_)).LeftOvers(); + std::set<std::string> leftovers; + if (duplicates_ok) { + for (auto match : ac_matches_) + leftovers.insert(match.destination_url.spec()); + for (auto expected : expected_urls) + EXPECT_EQ(1U, leftovers.count(expected)) << "Expected URL " << expected; + for (auto expected : expected_urls) + leftovers.erase(expected); + } else { + leftovers = for_each(expected_urls.begin(), expected_urls.end(), + SetShouldContain(ac_matches_)) + .LeftOvers(); + } EXPECT_EQ(0U, leftovers.size()) << "There were " << leftovers.size() << " unexpected results, one of which was: '" << *(leftovers.begin()) << "'."; @@ -405,13 +429,85 @@ } TEST_F(HistoryQuickProviderTest, MatchWithAndWithoutCursorWordBreak) { + // The input 'twitter.com/fungoo|times' matches only with a cursor word break. + // We should retrieve the desired result but it should not be allowed to be + // the default match. std::vector<std::string> expected_urls; expected_urls.push_back("https://twitter.com/fungoodtimes"); - // With cursor after ".com", we should retrieve the desired result but it - // should not be allowed to be the default match. RunTestWithCursor( - ASCIIToUTF16("twitter.comfungoodtimes"), 11, false, expected_urls, false, + ASCIIToUTF16("twitter.com/fungootime"), 18, true, expected_urls, false, ASCIIToUTF16("https://twitter.com/fungoodtimes"), base::string16()); + + // The input 'twitter.com/fungood|times' matches both with and without a + // cursor word break. We should retrieve both suggestions but neither should + // be allowed to be the default match. + RunTestWithCursor( + ASCIIToUTF16("twitter.com/fungoodtime"), 19, true, expected_urls, false, + ASCIIToUTF16("https://twitter.com/fungoodtimes"), base::string16(), true); + + // A suggestion with a cursor not at the input end can only be default if + // the input matches suggestion exactly. + RunTestWithCursor( + ASCIIToUTF16("twitter.com/fungoodtimes"), 19, true, expected_urls, true, + ASCIIToUTF16("https://twitter.com/fungoodtimes"), base::string16(), true); +} + +TEST_F(HistoryQuickProviderTest, MatchWithAndWithoutCursorWordBreak_Dedupe) { + std::vector<std::string> expected_urls; + // An input can match a suggestion both with and without cursor word break. + // When doing so exceeds 3 (|max_matches|), they should be deduped and return + // unique suggestions. Cursor position selected arbitrarily; it doesn't matter + // as long as it's not at the start or the end. + expected_urls.push_back("https://deduping-test.com/high-scoring"); + expected_urls.push_back("https://deduping-test.com/med-scoring"); + RunTestWithCursor( + ASCIIToUTF16("deduping-test"), 1, true, expected_urls, false, + ASCIIToUTF16("https://deduping-test.com/high-scoring"), base::string16()); +} + +TEST_F(HistoryQuickProviderTest, + MatchWithAndWithoutCursorWordBreak_DedupingKeepsHigherScoredSuggestion) { + // When the input matches a suggestion both with and without a cursor word + // break, HQP will generate the suggestion twice. When doing so exceeds + // 3 (|max_matches|), they should be deduped and the higher scored suggestions + // should be kept, as oppposed to the first suggestion encountered. + std::vector<std::string> expected_urls; + expected_urls.push_back("https://suffix.com/prefixsuffix1"); + expected_urls.push_back("https://suffix.com/prefixsuffix2"); + expected_urls.push_back("https://suffix.com/prefixsuffix3"); + + // Get scores for 'prefixsuffix' + RunTestWithCursor(ASCIIToUTF16("prefixsuffix"), std::string::npos, false, + expected_urls, false, + ASCIIToUTF16("https://suffix.com/prefixsuffix1"), + base::string16()); + std::vector<int> unbroken_scores(3); + std::transform(ac_matches().begin(), ac_matches().end(), + unbroken_scores.begin(), + [](const auto& match) { return match.relevance; }); + + // Get scores for 'prefix suffix' + RunTestWithCursor(ASCIIToUTF16("prefix suffix"), std::string::npos, false, + expected_urls, false, + ASCIIToUTF16("https://suffix.com/prefixsuffix1"), + base::string16()); + std::vector<int> broken_scores(3); + std::transform(ac_matches().begin(), ac_matches().end(), + broken_scores.begin(), + [](const auto& match) { return match.relevance; }); + // Ensure the latter scores are higher than the former. + for (size_t i = 0; i < 3; ++i) + EXPECT_GT(broken_scores[i], unbroken_scores[i]); + + // Get scores for 'prefix|suffix', which will create duplicate + // ScoredHistoryMatches. + RunTestWithCursor(ASCIIToUTF16("prefixsuffix"), 6, true, expected_urls, false, + ASCIIToUTF16("https://suffix.com/prefixsuffix1"), + base::string16()); + // Ensure the higher scored ScoredHistoryMatches are promoted to suggestions + // during deduping. + for (size_t i = 0; i < 3; ++i) + EXPECT_EQ(ac_matches()[i].relevance, broken_scores[i]); } TEST_F(HistoryQuickProviderTest, WordBoundariesWithPunctuationMatch) { @@ -739,7 +835,7 @@ AutocompleteInput input(ASCIIToUTF16("popularsite"), metrics::OmniboxEventProto::OTHER, TestSchemeClassifier()); - input.set_from_omnibox_focus(true); + input.set_focus_type(OmniboxFocusType::ON_FOCUS); provider().Start(input, false); EXPECT_TRUE(provider().matches().empty()); }
diff --git a/components/omnibox/browser/history_url_provider.cc b/components/omnibox/browser/history_url_provider.cc index 7de9d26..881a989 100644 --- a/components/omnibox/browser/history_url_provider.cc +++ b/components/omnibox/browser/history_url_provider.cc
@@ -35,6 +35,7 @@ #include "components/omnibox/browser/omnibox_field_trial.h" #include "components/omnibox/browser/url_prefix.h" #include "components/prefs/pref_service.h" +#include "components/search_engines/omnibox_focus_type.h" #include "components/search_engines/search_terms_data.h" #include "components/search_engines/template_url_service.h" #include "components/url_formatter/url_fixer.h" @@ -507,7 +508,7 @@ matches_.clear(); - if (input.from_omnibox_focus() || + if (input.focus_type() != OmniboxFocusType::DEFAULT || (input.type() == metrics::OmniboxInputType::EMPTY)) return;
diff --git a/components/omnibox/browser/history_url_provider_unittest.cc b/components/omnibox/browser/history_url_provider_unittest.cc index 7ad83600..58d050e 100644 --- a/components/omnibox/browser/history_url_provider_unittest.cc +++ b/components/omnibox/browser/history_url_provider_unittest.cc
@@ -28,6 +28,7 @@ #include "components/omnibox/browser/history_quick_provider.h" #include "components/prefs/pref_service.h" #include "components/search_engines/default_search_manager.h" +#include "components/search_engines/omnibox_focus_type.h" #include "components/search_engines/template_url.h" #include "components/search_engines/template_url_service.h" #include "components/url_formatter/url_fixer.h" @@ -970,7 +971,7 @@ AutocompleteInput input(ASCIIToUTF16("foo"), metrics::OmniboxEventProto::OTHER, TestSchemeClassifier()); - input.set_from_omnibox_focus(true); + input.set_focus_type(OmniboxFocusType::ON_FOCUS); autocomplete_->Start(input, false); EXPECT_TRUE(autocomplete_->matches().empty()); }
diff --git a/components/omnibox/browser/keyword_provider.cc b/components/omnibox/browser/keyword_provider.cc index 9f0614c8..6a8e2c9 100644 --- a/components/omnibox/browser/keyword_provider.cc +++ b/components/omnibox/browser/keyword_provider.cc
@@ -18,6 +18,7 @@ #include "components/omnibox/browser/keyword_extensions_delegate.h" #include "components/omnibox/browser/omnibox_field_trial.h" #include "components/omnibox/browser/search_provider.h" +#include "components/search_engines/omnibox_focus_type.h" #include "components/search_engines/template_url.h" #include "components/search_engines/template_url_service.h" #include "components/strings/grit/components_strings.h" @@ -251,7 +252,7 @@ extensions_delegate_->IncrementInputId(); } - if (input.from_omnibox_focus()) + if (input.focus_type() != OmniboxFocusType::DEFAULT) return; GetTemplateURLService();
diff --git a/components/omnibox/browser/keyword_provider_unittest.cc b/components/omnibox/browser/keyword_provider_unittest.cc index e519593..5a5a59d 100644 --- a/components/omnibox/browser/keyword_provider_unittest.cc +++ b/components/omnibox/browser/keyword_provider_unittest.cc
@@ -20,6 +20,7 @@ #include "components/omnibox/browser/autocomplete_scheme_classifier.h" #include "components/omnibox/browser/mock_autocomplete_provider_client.h" #include "components/omnibox/browser/omnibox_field_trial.h" +#include "components/search_engines/omnibox_focus_type.h" #include "components/search_engines/search_engines_switches.h" #include "components/search_engines/template_url.h" #include "components/search_engines/template_url_service.h" @@ -612,7 +613,7 @@ AutocompleteInput input(ASCIIToUTF16("aaa"), metrics::OmniboxEventProto::OTHER, TestingSchemeClassifier()); - input.set_from_omnibox_focus(true); + input.set_focus_type(OmniboxFocusType::ON_FOCUS); kw_provider_->Start(input, false); ASSERT_TRUE(kw_provider_->matches().empty()); }
diff --git a/components/omnibox/browser/local_history_zero_suggest_provider.cc b/components/omnibox/browser/local_history_zero_suggest_provider.cc index 21d7f29..b622e24 100644 --- a/components/omnibox/browser/local_history_zero_suggest_provider.cc +++ b/components/omnibox/browser/local_history_zero_suggest_provider.cc
@@ -32,6 +32,7 @@ #include "components/omnibox/browser/omnibox_field_trial.h" #include "components/omnibox/browser/omnibox_prefs.h" #include "components/omnibox/common/omnibox_features.h" +#include "components/search_engines/omnibox_focus_type.h" #include "components/search_engines/template_url_service.h" #include "url/gurl.h" @@ -126,7 +127,7 @@ // Allow local history query suggestions only when the omnibox is empty and is // focused from the NTP. - if (!input.from_omnibox_focus() || + if (input.focus_type() == OmniboxFocusType::DEFAULT || input.type() != metrics::OmniboxInputType::EMPTY || !BaseSearchProvider::IsNTPPage(input.current_page_classification())) { return;
diff --git a/components/omnibox/browser/local_history_zero_suggest_provider_unittest.cc b/components/omnibox/browser/local_history_zero_suggest_provider_unittest.cc index 59d8879..664fd897 100644 --- a/components/omnibox/browser/local_history_zero_suggest_provider_unittest.cc +++ b/components/omnibox/browser/local_history_zero_suggest_provider_unittest.cc
@@ -26,6 +26,7 @@ #include "components/omnibox/browser/fake_autocomplete_provider_client.h" #include "components/omnibox/browser/in_memory_url_index_test_util.h" #include "components/omnibox/common/omnibox_features.h" +#include "components/search_engines/omnibox_focus_type.h" #include "components/search_engines/search_engines_test_util.h" #include "components/search_engines/template_url.h" #include "components/search_engines/template_url_service.h" @@ -116,7 +117,7 @@ // Creates an input using the provided information and queries the provider. void StartProviderAndWaitUntilDone(const std::string& text, - bool from_omnibox_focus, + OmniboxFocusType focus_type, PageClassification page_classification); // Verifies that provider matches are as expected. @@ -178,12 +179,12 @@ void LocalHistoryZeroSuggestProviderTest::StartProviderAndWaitUntilDone( const std::string& text = "", - bool from_omnibox_focus = true, + OmniboxFocusType focus_type = OmniboxFocusType::ON_FOCUS, PageClassification page_classification = metrics::OmniboxEventProto::NTP_REALBOX) { AutocompleteInput input(base::ASCIIToUTF16(text), page_classification, TestSchemeClassifier()); - input.set_from_omnibox_focus(from_omnibox_focus); + input.set_focus_type(focus_type); provider_->Start(input, false); if (!provider_->done()) { provider_run_loop_ = std::make_unique<base::RunLoop>(); @@ -230,7 +231,7 @@ histogram_tester.ExpectTotalCount( "Omnibox.LocalHistoryZeroSuggest.SearchTermsExtractionTime", 0); - StartProviderAndWaitUntilDone(/*text=*/"", /*from_omnibox_focus=*/false); + StartProviderAndWaitUntilDone(/*text=*/"", OmniboxFocusType::DEFAULT); ExpectMatches({}); // Following histograms should not be logged if zero-prefix suggestions are @@ -293,7 +294,7 @@ metrics::OmniboxEventProto::OTHER, LocalHistoryZeroSuggestProvider::kZeroSuggestLocalVariant); StartProviderAndWaitUntilDone( - /*text=*/"", /*from_omnibox_focus=*/true, + /*text=*/"", OmniboxFocusType::ON_FOCUS, /*page_classification=*/metrics::OmniboxEventProto::OTHER); ExpectMatches({}); @@ -323,7 +324,7 @@ #endif StartProviderAndWaitUntilDone( - /*text=*/"", /*from_omnibox_focus=*/true, + /*text=*/"", OmniboxFocusType::ON_FOCUS, /*page_classification=*/ metrics::OmniboxEventProto::INSTANT_NTP_WITH_OMNIBOX_AS_STARTING_FOCUS); ExpectMatches({{"hello world", 500}}); @@ -334,7 +335,7 @@ {omnibox::kReactiveZeroSuggestionsOnNTPOmnibox}, {omnibox::kNewSearchFeatures}); StartProviderAndWaitUntilDone( - /*text=*/"", /*from_omnibox_focus=*/true, + /*text=*/"", OmniboxFocusType::ON_FOCUS, /*page_classification=*/ metrics::OmniboxEventProto::INSTANT_NTP_WITH_OMNIBOX_AS_STARTING_FOCUS); #if defined(OS_ANDROID) // Enabled by default. @@ -353,7 +354,7 @@ metrics::OmniboxEventProto::INSTANT_NTP_WITH_OMNIBOX_AS_STARTING_FOCUS, LocalHistoryZeroSuggestProvider::kZeroSuggestLocalVariant); StartProviderAndWaitUntilDone( - /*text=*/"", /*from_omnibox_focus=*/true, + /*text=*/"", OmniboxFocusType::ON_FOCUS, /*page_classification=*/ metrics::OmniboxEventProto::INSTANT_NTP_WITH_OMNIBOX_AS_STARTING_FOCUS); ExpectMatches({{"hello world", 500}});
diff --git a/components/omnibox/browser/omnibox_edit_model.cc b/components/omnibox/browser/omnibox_edit_model.cc index 8183f06..49c6837 100644 --- a/components/omnibox/browser/omnibox_edit_model.cc +++ b/components/omnibox/browser/omnibox_edit_model.cc
@@ -43,6 +43,7 @@ #include "components/omnibox/browser/search_provider.h" #include "components/omnibox/browser/suggestion_answer.h" #include "components/omnibox/common/omnibox_features.h" +#include "components/search_engines/omnibox_focus_type.h" #include "components/search_engines/template_url.h" #include "components/search_engines/template_url_prepopulate_data.h" #include "components/search_engines/template_url_service.h" @@ -627,7 +628,7 @@ input.set_keyword_mode_entry_method(input_.keyword_mode_entry_method()); input.set_allow_exact_keyword_match(input_.allow_exact_keyword_match()); input.set_want_asynchronous_matches(input_.want_asynchronous_matches()); - input.set_from_omnibox_focus(input_.from_omnibox_focus()); + input.set_focus_type(input_.focus_type()); input_ = input; AutocompleteMatch url_match( autocomplete_controller()->history_url_provider()->SuggestExactInput( @@ -767,7 +768,8 @@ // dropdown is closed or the user used a paste-and-go action. (In most // cases when this happens, the user never modified the omnibox.) const bool popup_open = PopupIsOpen(); - if (input_.from_omnibox_focus() || !popup_open || !pasted_text.empty()) { + if (input_.focus_type() != OmniboxFocusType::DEFAULT || !popup_open || + !pasted_text.empty()) { const base::TimeDelta default_time_delta = base::TimeDelta::FromMilliseconds(-1); elapsed_time_since_user_first_modified_omnibox = default_time_delta; @@ -789,7 +791,8 @@ fake_single_entry_result.AppendMatches(input_, fake_single_entry_matches); OmniboxLog log( - input_.from_omnibox_focus() ? base::string16() : input_text, + input_.focus_type() != OmniboxFocusType::DEFAULT ? base::string16() + : input_text, just_deleted_text_, input_.type(), is_keyword_selected(), keyword_mode_entry_method_, popup_open, dropdown_ignored ? 0 : index, disposition, !pasted_text.empty(), @@ -1116,7 +1119,7 @@ input_.set_current_title(client_->GetTitle()); // TODO(tommycli): Distinguish between on-focus and on-clobber ZeroSuggest // requests. - input_.set_from_omnibox_focus(true); + input_.set_focus_type(OmniboxFocusType::ON_FOCUS); autocomplete_controller()->Start(input_); }
diff --git a/components/omnibox/browser/on_device_head_provider.cc b/components/omnibox/browser/on_device_head_provider.cc index 83a622d..b142afb 100644 --- a/components/omnibox/browser/on_device_head_provider.cc +++ b/components/omnibox/browser/on_device_head_provider.cc
@@ -23,6 +23,7 @@ #include "components/omnibox/browser/omnibox_field_trial.h" #include "components/omnibox/browser/on_device_head_provider.h" #include "components/omnibox/common/omnibox_features.h" +#include "components/search_engines/omnibox_focus_type.h" #include "components/search_engines/search_terms_data.h" #include "components/search_engines/template_url_service.h" #include "third_party/metrics_proto/omnibox_input_type.pb.h" @@ -133,7 +134,7 @@ return false; // Reject on focus request. - if (input.from_omnibox_focus()) + if (input.focus_type() != OmniboxFocusType::DEFAULT) return false; // Do not proceed if default search provider is not Google.
diff --git a/components/omnibox/browser/on_device_head_provider_unittest.cc b/components/omnibox/browser/on_device_head_provider_unittest.cc index 3d023cc..bd51d8a 100644 --- a/components/omnibox/browser/on_device_head_provider_unittest.cc +++ b/components/omnibox/browser/on_device_head_provider_unittest.cc
@@ -17,6 +17,7 @@ #include "components/omnibox/browser/on_device_head_model.h" #include "components/omnibox/browser/test_scheme_classifier.h" #include "components/omnibox/common/omnibox_features.h" +#include "components/search_engines/omnibox_focus_type.h" #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" @@ -163,7 +164,7 @@ metrics::OmniboxEventProto::OTHER, TestSchemeClassifier()); input.set_want_asynchronous_matches(true); - input.set_from_omnibox_focus(true); + input.set_focus_type(OmniboxFocusType::ON_FOCUS); EXPECT_CALL(*client_.get(), IsOffTheRecord()).WillRepeatedly(Return(false)); EXPECT_CALL(*client_.get(), SearchSuggestEnabled()).WillOnce(Return(true));
diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/browser/search_provider.cc index 27f28ab8..4749f108 100644 --- a/components/omnibox/browser/search_provider.cc +++ b/components/omnibox/browser/search_provider.cc
@@ -35,6 +35,7 @@ #include "components/omnibox/browser/url_prefix.h" #include "components/omnibox/common/omnibox_features.h" #include "components/search/search.h" +#include "components/search_engines/omnibox_focus_type.h" #include "components/strings/grit/components_strings.h" #include "components/url_formatter/url_formatter.h" #include "components/variations/net/variations_http_headers.h" @@ -235,7 +236,7 @@ // Unless warming up the suggest server on focus, SearchProvider doesn't do // do anything useful for on-focus inputs or empty inputs. Exit early. if (!base::FeatureList::IsEnabled(omnibox::kSearchProviderWarmUpOnFocus) && - (input.from_omnibox_focus() || + (input.focus_type() != OmniboxFocusType::DEFAULT || input.type() == metrics::OmniboxInputType::EMPTY)) { Stop(true, false); return; @@ -279,7 +280,7 @@ providers_.set(default_provider_keyword, keyword_provider_keyword); - if (input.from_omnibox_focus()) { + if (input.focus_type() != OmniboxFocusType::DEFAULT) { // Don't display any suggestions for on-focus requests. DCHECK(done_); ClearAllResults(); @@ -307,7 +308,7 @@ // Don't search the query history database for on-focus inputs; these inputs // should only be used to warm up the suggest server. - if (!input.from_omnibox_focus()) { + if (input.focus_type() == OmniboxFocusType::DEFAULT) { DoHistoryQuery(minimal_changes); // Answers needs scored history results before any suggest query has been // started, since the query for answer-bearing results needs additional @@ -426,7 +427,7 @@ // that's left to ZeroSuggestProvider and friends. Furthermore, it's not // clear if the suggest server will send back sensible results to the // request we're constructing here for on-focus inputs. - if (!input_.from_omnibox_focus() && request_succeeded) { + if (input_.focus_type() == OmniboxFocusType::DEFAULT && request_succeeded) { std::unique_ptr<base::Value> data( SearchSuggestionParser::DeserializeJsonData( SearchSuggestionParser::ExtractJsonData(source, @@ -528,7 +529,7 @@ // enforce constraints about inlinability in this case. Indeed, most of // these steps would be bad, as they'd add a suggestion of some form, thus // opening the dropdown (which we do not want to happen). - if (!input_.from_omnibox_focus()) { + if (input_.focus_type() == OmniboxFocusType::DEFAULT) { PersistTopSuggestions(&default_results_); PersistTopSuggestions(&keyword_results_); ConvertResultsToAutocompleteMatches(); @@ -923,7 +924,8 @@ template_url, search_terms_data, input.current_page_classification(), &empty_search_term_args); GURL suggest_url(template_url->suggestions_url_ref().ReplaceSearchTerms( - input.from_omnibox_focus() ? empty_search_term_args : search_term_args, + input.focus_type() != OmniboxFocusType::DEFAULT ? empty_search_term_args + : search_term_args, search_terms_data)); if (!suggest_url.is_valid()) return nullptr;
diff --git a/components/omnibox/browser/shortcuts_provider.cc b/components/omnibox/browser/shortcuts_provider.cc index 45cd082..68051c1 100644 --- a/components/omnibox/browser/shortcuts_provider.cc +++ b/components/omnibox/browser/shortcuts_provider.cc
@@ -33,6 +33,7 @@ #include "components/omnibox/browser/omnibox_field_trial.h" #include "components/omnibox/browser/url_prefix.h" #include "components/prefs/pref_service.h" +#include "components/search_engines/omnibox_focus_type.h" #include "components/search_engines/template_url_service.h" #include "components/url_formatter/url_fixer.h" #include "third_party/metrics_proto/omnibox_input_type.pb.h" @@ -121,7 +122,7 @@ TRACE_EVENT0("omnibox", "ShortcutsProvider::Start"); matches_.clear(); - if (input.from_omnibox_focus() || + if (input.focus_type() != OmniboxFocusType::DEFAULT || (input.type() == metrics::OmniboxInputType::EMPTY) || input.text().empty() || !initialized_) return;
diff --git a/components/omnibox/browser/shortcuts_provider_unittest.cc b/components/omnibox/browser/shortcuts_provider_unittest.cc index ef116e4a..591ebd9 100644 --- a/components/omnibox/browser/shortcuts_provider_unittest.cc +++ b/components/omnibox/browser/shortcuts_provider_unittest.cc
@@ -30,6 +30,7 @@ #include "components/omnibox/browser/in_memory_url_index.h" #include "components/omnibox/browser/shortcuts_backend.h" #include "components/omnibox/browser/shortcuts_provider_test_util.h" +#include "components/search_engines/omnibox_focus_type.h" #include "testing/gtest/include/gtest/gtest.h" #include "third_party/metrics_proto/omnibox_event.pb.h" @@ -574,7 +575,7 @@ AutocompleteInput input(ASCIIToUTF16("about:o"), metrics::OmniboxEventProto::OTHER, TestSchemeClassifier()); - input.set_from_omnibox_focus(true); + input.set_focus_type(OmniboxFocusType::ON_FOCUS); provider_->Start(input, false); EXPECT_TRUE(provider_->matches().empty()); }
diff --git a/components/omnibox/browser/url_index_private_data.cc b/components/omnibox/browser/url_index_private_data.cc index 3ebd1409..023d5d45 100644 --- a/components/omnibox/browser/url_index_private_data.cc +++ b/components/omnibox/browser/url_index_private_data.cc
@@ -221,10 +221,26 @@ } // Select and sort only the top |max_matches| results. if (scored_items.size() > max_matches) { - std::partial_sort(scored_items.begin(), scored_items.begin() + max_matches, - scored_items.end(), - ScoredHistoryMatch::MatchScoreGreater); - scored_items.resize(max_matches); + // Sort the top |max_matches| * 2 matches which is cheaper than sorting all + // matches yet likely sufficient to contain |max_matches| unique matches + // most of the time. + auto first_pass_size = std::min(scored_items.size(), max_matches * 2); + std::partial_sort( + scored_items.begin(), scored_items.begin() + first_pass_size, + scored_items.end(), ScoredHistoryMatch::MatchScoreGreater); + scored_items.resize(first_pass_size); + + // Filter unique matches to maximize the use of the |max_matches| capacity. + std::set<HistoryID> seen_history_ids; + base::EraseIf(scored_items, [&](const auto& scored_item) { + HistoryID scored_item_id = scored_item.url_info.id(); + bool duplicate = seen_history_ids.count(scored_item_id); + seen_history_ids.insert(scored_item_id); + return duplicate; + }); + if (scored_items.size() > max_matches) + scored_items.resize(max_matches); + } else { std::sort(scored_items.begin(), scored_items.end(), ScoredHistoryMatch::MatchScoreGreater);
diff --git a/components/omnibox/browser/zero_suggest_provider.cc b/components/omnibox/browser/zero_suggest_provider.cc index 44b101ad..a6318ce 100644 --- a/components/omnibox/browser/zero_suggest_provider.cc +++ b/components/omnibox/browser/zero_suggest_provider.cc
@@ -40,6 +40,7 @@ #include "components/omnibox/common/omnibox_features.h" #include "components/pref_registry/pref_registry_syncable.h" #include "components/prefs/pref_service.h" +#include "components/search_engines/omnibox_focus_type.h" #include "components/search_engines/search_engine_type.h" #include "components/search_engines/template_url_service.h" #include "components/url_formatter/url_formatter.h" @@ -211,7 +212,8 @@ current_page_classification_ = input.current_page_classification(); - if (input.from_omnibox_focus() && IsNTPPage(current_page_classification_)) { + if (input.focus_type() != OmniboxFocusType::DEFAULT && + IsNTPPage(current_page_classification_)) { LogOmniboxRemoteNoUrlEligibilityOnNTP(current_page_classification_, false, client()); } @@ -609,7 +611,7 @@ const auto page_class = input.current_page_classification(); const auto input_type = input.type(); - if (!input.from_omnibox_focus()) + if (input.focus_type() == OmniboxFocusType::DEFAULT) return false; if (client()->IsOffTheRecord())
diff --git a/components/omnibox/browser/zero_suggest_provider_unittest.cc b/components/omnibox/browser/zero_suggest_provider_unittest.cc index fed7e12..7cf2105 100644 --- a/components/omnibox/browser/zero_suggest_provider_unittest.cc +++ b/components/omnibox/browser/zero_suggest_provider_unittest.cc
@@ -25,6 +25,7 @@ #include "components/omnibox/common/omnibox_features.h" #include "components/prefs/pref_registry_simple.h" #include "components/prefs/testing_pref_service.h" +#include "components/search_engines/omnibox_focus_type.h" #include "components/search_engines/template_url.h" #include "components/search_engines/template_url_service.h" #include "components/variations/entropy_provider.h" @@ -327,18 +328,18 @@ metrics::OmniboxEventProto::OTHER, TestSchemeClassifier()); input.set_current_url(GURL(input_url)); - input.set_from_omnibox_focus(true); + input.set_focus_type(OmniboxFocusType::ON_FOCUS); provider_->Start(input, false); EXPECT_FALSE(provider_->done_); // Make sure input stops the provider. - input.set_from_omnibox_focus(false); + input.set_focus_type(OmniboxFocusType::DEFAULT); provider_->Start(input, false); EXPECT_TRUE(provider_->done_); // Make sure invalid input stops the provider. - input.set_from_omnibox_focus(true); + input.set_focus_type(OmniboxFocusType::ON_FOCUS); provider_->Start(input, false); EXPECT_FALSE(provider_->done_); AutocompleteInput input2; @@ -355,7 +356,7 @@ metrics::OmniboxEventProto::OTHER, TestSchemeClassifier()); input.set_current_url(GURL(current_url)); - input.set_from_omnibox_focus(true); + input.set_focus_type(OmniboxFocusType::ON_FOCUS); history::MostVisitedURLList urls; history::MostVisitedURL url(GURL("http://foo.com/"), base::ASCIIToUTF16("Foo")); @@ -402,7 +403,7 @@ metrics::OmniboxEventProto::OTHER, TestSchemeClassifier()); input.set_current_url(GURL(current_url)); - input.set_from_omnibox_focus(true); + input.set_focus_type(OmniboxFocusType::ON_FOCUS); history::MostVisitedURLList urls; history::MostVisitedURL url(GURL("http://foo.com/"), base::ASCIIToUTF16("Foo")); @@ -418,7 +419,7 @@ metrics::OmniboxEventProto::SEARCH_RESULT_PAGE_NO_SEARCH_TERM_REPLACEMENT, TestSchemeClassifier()); srp_input.set_current_url(GURL(search_url)); - srp_input.set_from_omnibox_focus(true); + srp_input.set_focus_type(OmniboxFocusType::ON_FOCUS); provider_->Start(srp_input, false); EXPECT_TRUE(provider_->matches().empty()); @@ -442,7 +443,7 @@ metrics::OmniboxEventProto::OTHER, TestSchemeClassifier()); input.set_current_url(GURL(url)); - input.set_from_omnibox_focus(true); + input.set_focus_type(OmniboxFocusType::ON_FOCUS); provider_->Start(input, false); @@ -479,7 +480,7 @@ metrics::OmniboxEventProto::OTHER, TestSchemeClassifier()); input.set_current_url(GURL(url)); - input.set_from_omnibox_focus(true); + input.set_focus_type(OmniboxFocusType::ON_FOCUS); // Set up the pref to cache the response from the previous run. std::string json_response("[\"\",[\"search1\", \"search2\", \"search3\"]," @@ -540,7 +541,7 @@ metrics::OmniboxEventProto::OTHER, TestSchemeClassifier()); input.set_current_url(GURL(url)); - input.set_from_omnibox_focus(true); + input.set_focus_type(OmniboxFocusType::ON_FOCUS); // Set up the pref to cache the response from the previous run. std::string json_response("[\"\",[\"search1\", \"search2\", \"search3\"],"
diff --git a/components/printing/browser/print_manager_utils.cc b/components/printing/browser/print_manager_utils.cc index 3988fb6a..5df4092 100644 --- a/components/printing/browser/print_manager_utils.cc +++ b/components/printing/browser/print_manager_utils.cc
@@ -5,6 +5,7 @@ #include "components/printing/browser/print_manager_utils.h" #include "components/printing/browser/print_composite_client.h" +#include "components/printing/common/print.mojom.h" #include "components/printing/common/print_messages.h" #include "content/public/browser/site_isolation_policy.h" #include "printing/mojom/print.mojom.h" @@ -45,7 +46,7 @@ } void RenderParamsFromPrintSettings(const PrintSettings& settings, - PrintMsg_Print_Params* params) { + mojom::PrintParams* params) { params->page_size = settings.page_setup_device_units().physical_size(); params->content_size.SetSize( settings.page_setup_device_units().content_area().width(),
diff --git a/components/printing/browser/print_manager_utils.h b/components/printing/browser/print_manager_utils.h index bd27814..3078cf1 100644 --- a/components/printing/browser/print_manager_utils.h +++ b/components/printing/browser/print_manager_utils.h
@@ -7,7 +7,7 @@ #include <string> -struct PrintMsg_Print_Params; +#include "components/printing/common/print.mojom-forward.h" namespace content { class WebContents; @@ -24,10 +24,10 @@ void CreateCompositeClientIfNeeded(content::WebContents* web_contents, const std::string& user_agent); -// Converts given settings to Print_Params and stores them in the output +// Converts given settings to PrintParams and stores them in the output // parameter |params|. void RenderParamsFromPrintSettings(const PrintSettings& settings, - PrintMsg_Print_Params* params); + mojom::PrintParams* params); } // namespace printing
diff --git a/components/printing/common/print.mojom b/components/printing/common/print.mojom index 8159a61..65e43c17 100644 --- a/components/printing/common/print.mojom +++ b/components/printing/common/print.mojom
@@ -5,6 +5,7 @@ module printing.mojom; import "mojo/public/mojom/base/shared_memory.mojom"; +import "mojo/public/mojom/base/string16.mojom"; import "mojo/public/mojom/base/values.mojom"; import "mojo/public/mojom/base/unguessable_token.mojom"; import "printing/mojom/print.mojom"; @@ -77,6 +78,67 @@ uint32 expected_pages_count; }; +// Parameters for a render request. +struct PrintParams{ + // Physical size of the page, including non-printable margins, + // in pixels according to dpi. + gfx.mojom.Size page_size; + // In pixels according to dpi. + gfx.mojom.Size content_size; + // Physical printable area of the page in pixels according to dpi. + gfx.mojom.Rect printable_area; + // The y-offset of the printable area, in pixels according to dpi. + int32 margin_top = 0; + // The x-offset of the printable area, in pixels according to dpi. + int32 margin_left = 0; + // Specifies the page orientation. + PageOrientation page_orientation = kUpright; + // Specifies dots per inch in the x and y direction. + gfx.mojom.Size dpi; + // Specifies the scale factor in percent + double scale_factor = 1.0; + // Cookie for the document to ensure correctness. + int32 document_cookie = 0; + // Should only print currently selected text. + bool selection_only = false; + // Does the printer support alpha blending? + bool supports_alpha_blend = false; + + // *** Parameters below are used only for print preview. *** + // The print preview ui associated with this request. + int32 preview_ui_id = -1; + // The id of the preview request. + int32 preview_request_id = 0; + // True if this is the first preview request. + bool is_first_request = false; + // Specifies the page scaling option for preview printing. + PrintScalingOption print_scaling_option = kSourceSize; + // True if print to pdf is requested. + bool print_to_pdf = false; + // Specifies if the header and footer should be rendered. + bool display_header_footer = false; + // Title string to be printed as header if requested by the user. + mojo_base.mojom.String16 title; + // URL string to be printed as footer if requested by the user. + mojo_base.mojom.String16 url; + // HTML template to use as a print header. + mojo_base.mojom.String16 header_template; + // HTML template to use as a print footer. + mojo_base.mojom.String16 footer_template; + // Whether to rasterize a PDF for printing + bool rasterize_pdf = false; + // True if print backgrounds is requested by the user. + bool should_print_backgrounds = false; + // The document type of printed page(s) from render. + SkiaDocumentType printed_doc_type = kPDF; + // True if page size defined by css should be preferred. + bool prefer_css_page_size = false; + // Number of pages per sheet. This parameter is for N-up mode. + // Defaults to 1 if the feature is disabled, and some number greater + // than 1 otherwise. See printing::NupParameters for supported values. + uint32 pages_per_sheet = 1; +}; + // Interface implemented by a class that desires to render print documents for // Chrome print preview. interface PrintRenderer {
diff --git a/components/printing/common/print_messages.cc b/components/printing/common/print_messages.cc index 1ae067c5..3c76818 100644 --- a/components/printing/common/print_messages.cc +++ b/components/printing/common/print_messages.cc
@@ -63,60 +63,6 @@ #endif } // namespace IPC -PrintMsg_Print_Params::PrintMsg_Print_Params() - : margin_top(0), - margin_left(0), - page_orientation(printing::mojom::PageOrientation::kUpright), - scale_factor(1.0f), - rasterize_pdf(false), - document_cookie(0), - selection_only(false), - supports_alpha_blend(false), - preview_ui_id(-1), - preview_request_id(0), - is_first_request(false), - print_scaling_option(printing::mojom::PrintScalingOption::kSourceSize), - print_to_pdf(false), - display_header_footer(false), - should_print_backgrounds(false), - printed_doc_type(printing::mojom::SkiaDocumentType::kPDF), - prefer_css_page_size(false), - pages_per_sheet(1) {} - -PrintMsg_Print_Params::PrintMsg_Print_Params( - const PrintMsg_Print_Params& other) = default; - -PrintMsg_Print_Params::~PrintMsg_Print_Params() {} - -void PrintMsg_Print_Params::Reset() { - page_size = gfx::Size(); - content_size = gfx::Size(); - printable_area = gfx::Rect(); - margin_top = 0; - margin_left = 0; - page_orientation = printing::mojom::PageOrientation::kUpright; - dpi = gfx::Size(); - scale_factor = 1.0f; - rasterize_pdf = false; - document_cookie = 0; - selection_only = false; - supports_alpha_blend = false; - preview_ui_id = -1; - preview_request_id = 0; - is_first_request = false; - print_scaling_option = printing::mojom::PrintScalingOption::kSourceSize; - print_to_pdf = false; - display_header_footer = false; - title = base::string16(); - url = base::string16(); - header_template = base::string16(); - footer_template = base::string16(); - should_print_backgrounds = false; - printed_doc_type = printing::mojom::SkiaDocumentType::kPDF; - prefer_css_page_size = false; - pages_per_sheet = 1; -} - PrintMsg_PrintPages_Params::PrintMsg_PrintPages_Params() {} PrintMsg_PrintPages_Params::PrintMsg_PrintPages_Params( @@ -125,7 +71,7 @@ PrintMsg_PrintPages_Params::~PrintMsg_PrintPages_Params() {} void PrintMsg_PrintPages_Params::Reset() { - params.Reset(); + params = printing::mojom::PrintParams(); pages = std::vector<int>(); }
diff --git a/components/printing/common/print_messages.h b/components/printing/common/print_messages.h index 4677f37..2934287 100644 --- a/components/printing/common/print_messages.h +++ b/components/printing/common/print_messages.h
@@ -31,42 +31,6 @@ #ifndef INTERNAL_COMPONENTS_PRINTING_COMMON_PRINT_MESSAGES_H_ #define INTERNAL_COMPONENTS_PRINTING_COMMON_PRINT_MESSAGES_H_ -struct PrintMsg_Print_Params { - PrintMsg_Print_Params(); - PrintMsg_Print_Params(const PrintMsg_Print_Params& other); - ~PrintMsg_Print_Params(); - - // Resets the members of the struct to 0. - void Reset(); - - gfx::Size page_size; - gfx::Size content_size; - gfx::Rect printable_area; - int margin_top; - int margin_left; - printing::mojom::PageOrientation page_orientation; - gfx::Size dpi; - double scale_factor; - bool rasterize_pdf; - int document_cookie; - bool selection_only; - bool supports_alpha_blend; - int32_t preview_ui_id; - int preview_request_id; - bool is_first_request; - printing::mojom::PrintScalingOption print_scaling_option; - bool print_to_pdf; - bool display_header_footer; - base::string16 title; - base::string16 url; - base::string16 header_template; - base::string16 footer_template; - bool should_print_backgrounds; - printing::mojom::SkiaDocumentType printed_doc_type; - bool prefer_css_page_size; - int pages_per_sheet; -}; - struct PrintMsg_PrintPages_Params { PrintMsg_PrintPages_Params(); PrintMsg_PrintPages_Params(const PrintMsg_PrintPages_Params& other); @@ -75,7 +39,7 @@ // Resets the members of the struct to 0. void Reset(); - PrintMsg_Print_Params params; + printing::mojom::PrintParams params; std::vector<int> pages; }; @@ -104,13 +68,15 @@ #define IPC_MESSAGE_START PrintMsgStart +IPC_ENUM_TRAITS_MAX_VALUE(printing::mojom::PageOrientation, + printing::mojom::PageOrientation::kMaxValue) IPC_ENUM_TRAITS_MAX_VALUE(printing::mojom::PrintScalingOption, printing::mojom::PrintScalingOption::kMaxValue) IPC_ENUM_TRAITS_MAX_VALUE(printing::mojom::SkiaDocumentType, printing::mojom::SkiaDocumentType::kMaxValue) // Parameters for a render request. -IPC_STRUCT_TRAITS_BEGIN(PrintMsg_Print_Params) +IPC_STRUCT_TRAITS_BEGIN(printing::mojom::PrintParams) // Physical size of the page, including non-printable margins, // in pixels according to dpi. IPC_STRUCT_TRAITS_MEMBER(page_size) @@ -127,6 +93,9 @@ // The x-offset of the printable area, in pixels according to dpi. IPC_STRUCT_TRAITS_MEMBER(margin_left) + // Specifies the page orientation. + IPC_STRUCT_TRAITS_MEMBER(page_orientation) + // Specifies dots per inch in the x and y direction. IPC_STRUCT_TRAITS_MEMBER(dpi) @@ -353,7 +322,7 @@ // The renderer wants to know the default print settings. IPC_SYNC_MESSAGE_ROUTED0_1(PrintHostMsg_GetDefaultPrintSettings, - PrintMsg_Print_Params /* default_settings */) + printing::mojom::PrintParams /* default_settings */) // The renderer wants to update the current print settings with new // |job_settings|.
diff --git a/components/printing/renderer/print_render_frame_helper.cc b/components/printing/renderer/print_render_frame_helper.cc index ae6ff46..544dffe 100644 --- a/components/printing/renderer/print_render_frame_helper.cc +++ b/components/printing/renderer/print_render_frame_helper.cc
@@ -29,7 +29,6 @@ #include "base/trace_event/trace_event.h" #include "build/build_config.h" #include "components/grit/components_resources.h" -#include "components/printing/common/print.mojom.h" #include "components/printing/common/print_messages.h" #include "content/public/common/web_preferences.h" #include "content/public/renderer/render_frame.h" @@ -117,7 +116,7 @@ frame->ExecuteScript(blink::WebString::FromUTF8(script)); } -int GetDPI(const PrintMsg_Print_Params& print_params) { +int GetDPI(const mojom::PrintParams& print_params) { #if defined(OS_APPLE) // On Mac, the printable area is in points, don't do any scaling based on DPI. return kPointsPerInch; @@ -129,7 +128,7 @@ #endif // defined(OS_APPLE) } -bool PrintMsg_Print_Params_IsValid(const PrintMsg_Print_Params& params) { +bool PrintMsg_Print_Params_IsValid(const mojom::PrintParams& params) { return !params.content_size.IsEmpty() && !params.page_size.IsEmpty() && !params.printable_area.IsEmpty() && params.document_cookie && params.dpi.width() > kMinDpi && params.dpi.height() > kMinDpi && @@ -137,7 +136,7 @@ } // Helper function to check for fit to page -bool IsPrintScalingOptionFitToPage(const PrintMsg_Print_Params& params) { +bool IsPrintScalingOptionFitToPage(const mojom::PrintParams& params) { return params.print_scaling_option == mojom::PrintScalingOption::kFitToPrintableArea; } @@ -154,11 +153,10 @@ } } -PrintMsg_Print_Params GetCssPrintParams( - blink::WebLocalFrame* frame, - int page_index, - const PrintMsg_Print_Params& page_params) { - PrintMsg_Print_Params page_css_params = page_params; +mojom::PrintParamsPtr GetCssPrintParams(blink::WebLocalFrame* frame, + int page_index, + const mojom::PrintParams& page_params) { + mojom::PrintParamsPtr page_css_params = page_params.Clone(); int dpi = GetDPI(page_params); blink::WebPrintPageDescription description; @@ -194,25 +192,25 @@ return page_css_params; } - page_css_params.page_orientation = + page_css_params->page_orientation = FromBlinkPageOrientation(description.orientation); - page_css_params.page_size = + page_css_params->page_size = gfx::Size(ConvertUnit(description.size.Width(), kPixelsPerInch, dpi), ConvertUnit(description.size.Height(), kPixelsPerInch, dpi)); - page_css_params.content_size = + page_css_params->content_size = gfx::Size(ConvertUnit(new_content_width, kPixelsPerInch, dpi), ConvertUnit(new_content_height, kPixelsPerInch, dpi)); - page_css_params.margin_top = + page_css_params->margin_top = ConvertUnit(description.margin_top, kPixelsPerInch, dpi); - page_css_params.margin_left = + page_css_params->margin_left = ConvertUnit(description.margin_left, kPixelsPerInch, dpi); return page_css_params; } -double FitPrintParamsToPage(const PrintMsg_Print_Params& page_params, - PrintMsg_Print_Params* params_to_fit) { +double FitPrintParamsToPage(const mojom::PrintParams& page_params, + mojom::PrintParams* params_to_fit) { double content_width = static_cast<double>(params_to_fit->content_size.width()); double content_height = @@ -249,7 +247,7 @@ } void CalculatePageLayoutFromPrintParams( - const PrintMsg_Print_Params& params, + const mojom::PrintParams& params, double scale_factor, mojom::PageSizeMargins* page_layout_in_points) { bool fit_to_page = IsPrintScalingOptionFitToPage(params); @@ -285,8 +283,8 @@ ConvertUnit(params.margin_left, dpi, kPointsPerInch); } -void EnsureOrientationMatches(const PrintMsg_Print_Params& css_params, - PrintMsg_Print_Params* page_params) { +void EnsureOrientationMatches(const mojom::PrintParams& css_params, + mojom::PrintParams* page_params) { if ((page_params->page_size.width() > page_params->page_size.height()) == (css_params.page_size.width() > css_params.page_size.height())) { return; @@ -303,7 +301,7 @@ } void ComputeWebKitPrintParamsInDesiredDpi( - const PrintMsg_Print_Params& print_params, + const mojom::PrintParams& print_params, bool source_is_pdf, blink::WebPrintParams* webkit_print_params) { int dpi = GetDPI(print_params); @@ -393,7 +391,7 @@ // size. bool PDFShouldDisableScalingBasedOnPreset( const blink::WebPrintPresetOptions& options, - const PrintMsg_Print_Params& params, + const mojom::PrintParams& params, bool ignore_page_size) { if (options.is_scaling_disabled) return true; @@ -419,7 +417,7 @@ bool PDFShouldDisableScaling(blink::WebLocalFrame* frame, const blink::WebNode& node, - const PrintMsg_Print_Params& params, + const mojom::PrintParams& params, bool ignore_page_size) { const bool kDefaultPDFShouldDisableScalingSetting = true; blink::WebPrintPresetOptions preset_options; @@ -432,7 +430,7 @@ MarginType GetMarginsForPdf(blink::WebLocalFrame* frame, const blink::WebNode& node, - const PrintMsg_Print_Params& params) { + const mojom::PrintParams& params) { return PDFShouldDisableScaling(frame, node, params, false) ? NO_MARGINS : PRINTABLE_AREA_MARGINS; @@ -469,7 +467,7 @@ const blink::WebNode& node, bool source_is_html, const base::DictionaryValue& job_settings, - const PrintMsg_Print_Params& params) { + const mojom::PrintParams& params) { if (params.print_to_pdf) return mojom::PrintScalingOption::kSourceSize; @@ -502,68 +500,69 @@ ScaleAndRound(original.height(), scaling)); } -PrintMsg_Print_Params CalculatePrintParamsForCss( +mojom::PrintParamsPtr CalculatePrintParamsForCss( blink::WebLocalFrame* frame, int page_index, - const PrintMsg_Print_Params& page_params, + const mojom::PrintParams& page_params, bool ignore_css_margins, bool fit_to_page, double* scale_factor) { - PrintMsg_Print_Params css_params = + mojom::PrintParamsPtr css_params = GetCssPrintParams(frame, page_index, page_params); - PrintMsg_Print_Params params = page_params; - EnsureOrientationMatches(css_params, ¶ms); + mojom::PrintParamsPtr params = page_params.Clone(); + EnsureOrientationMatches(*css_params, params.get()); - params.content_size = ScaleAndRoundSize(params.content_size, *scale_factor); + params->content_size = ScaleAndRoundSize(params->content_size, *scale_factor); if (ignore_css_margins && fit_to_page) return params; - PrintMsg_Print_Params result_params = css_params; + mojom::PrintParamsPtr result_params = std::move(css_params); // If not printing a pdf or fitting to page, scale the page size. - bool scale = !params.print_to_pdf; + bool scale = !params->print_to_pdf; double page_scaling = scale ? *scale_factor : 1.0f; if (!fit_to_page) { - result_params.page_size = - ScaleAndRoundSize(result_params.page_size, page_scaling); + result_params->page_size = + ScaleAndRoundSize(result_params->page_size, page_scaling); } if (ignore_css_margins) { // Since not fitting to page, scale the page size and margins. - params.margin_left = ScaleAndRound(params.margin_left, page_scaling); - params.margin_top = ScaleAndRound(params.margin_top, page_scaling); - params.page_size = ScaleAndRoundSize(params.page_size, page_scaling); + params->margin_left = ScaleAndRound(params->margin_left, page_scaling); + params->margin_top = ScaleAndRound(params->margin_top, page_scaling); + params->page_size = ScaleAndRoundSize(params->page_size, page_scaling); - result_params.margin_top = params.margin_top; - result_params.margin_left = params.margin_left; + result_params->margin_top = params->margin_top; + result_params->margin_left = params->margin_left; DCHECK(!fit_to_page); // Since we are ignoring the margins, the css page size is no longer // valid for content. - int default_margin_right = params.page_size.width() - - params.content_size.width() - params.margin_left; - int default_margin_bottom = params.page_size.height() - - params.content_size.height() - - params.margin_top; - result_params.content_size = - gfx::Size(result_params.page_size.width() - result_params.margin_left - - default_margin_right, - result_params.page_size.height() - result_params.margin_top - - default_margin_bottom); + int default_margin_right = params->page_size.width() - + params->content_size.width() - + params->margin_left; + int default_margin_bottom = params->page_size.height() - + params->content_size.height() - + params->margin_top; + result_params->content_size = + gfx::Size(result_params->page_size.width() - + result_params->margin_left - default_margin_right, + result_params->page_size.height() - + result_params->margin_top - default_margin_bottom); } else { // Using the CSS parameters. Scale CSS content size. - result_params.content_size = - ScaleAndRoundSize(result_params.content_size, *scale_factor); + result_params->content_size = + ScaleAndRoundSize(result_params->content_size, *scale_factor); if (fit_to_page) { - double factor = FitPrintParamsToPage(params, &result_params); + double factor = FitPrintParamsToPage(*params, result_params.get()); if (scale_factor) *scale_factor *= factor; } else { // Already scaled the page, need to also scale the CSS margins since they // are begin applied - result_params.margin_left = - ScaleAndRound(result_params.margin_left, page_scaling); - result_params.margin_top = - ScaleAndRound(result_params.margin_top, page_scaling); + result_params->margin_left = + ScaleAndRound(result_params->margin_left, page_scaling); + result_params->margin_top = + ScaleAndRound(result_params->margin_top, page_scaling); } } @@ -651,7 +650,7 @@ const blink::WebLocalFrame& source_frame, float webkit_scale_factor, const mojom::PageSizeMargins& page_layout, - const PrintMsg_Print_Params& params) { + const mojom::PrintParams& params) { cc::PaintCanvasAutoRestore auto_restore(canvas, true); canvas->scale(1 / webkit_scale_factor, 1 / webkit_scale_factor); @@ -758,7 +757,7 @@ public blink::WebWidgetClient, public blink::WebLocalFrameClient { public: - PrepareFrameAndViewForPrint(const PrintMsg_Print_Params& params, + PrepareFrameAndViewForPrint(const mojom::PrintParams& params, blink::WebLocalFrame* frame, const blink::WebNode& node, bool ignore_css_margins); @@ -828,7 +827,7 @@ }; PrepareFrameAndViewForPrint::PrepareFrameAndViewForPrint( - const PrintMsg_Print_Params& params, + const mojom::PrintParams& params, blink::WebLocalFrame* frame, const blink::WebNode& node, bool ignore_css_margins) @@ -839,21 +838,22 @@ should_print_selection_only_(params.selection_only) { TRACE_EVENT0("print", "PrepareFrameAndViewForPrint"); - PrintMsg_Print_Params print_params = params; + mojom::PrintParamsPtr print_params = params.Clone(); bool source_is_pdf = IsPrintingNodeOrPdfFrame(frame, node_to_print_); if (!should_print_selection_only_) { bool fit_to_page = - ignore_css_margins && IsPrintScalingOptionFitToPage(print_params); + ignore_css_margins && IsPrintScalingOptionFitToPage(*print_params); ComputeWebKitPrintParamsInDesiredDpi(params, source_is_pdf, &web_print_params_); frame->PrintBegin(web_print_params_, node_to_print_); double scale_factor = PrintRenderFrameHelper::GetScaleFactor( - print_params.scale_factor, source_is_pdf); - print_params = CalculatePrintParamsForCss( - frame, 0, print_params, ignore_css_margins, fit_to_page, &scale_factor); + print_params->scale_factor, source_is_pdf); + print_params = + CalculatePrintParamsForCss(frame, 0, *print_params, ignore_css_margins, + fit_to_page, &scale_factor); frame->PrintEnd(); } - ComputeWebKitPrintParamsInDesiredDpi(print_params, source_is_pdf, + ComputeWebKitPrintParamsInDesiredDpi(*print_params, source_is_pdf, &web_print_params_); } @@ -1438,7 +1438,7 @@ return; } - const PrintMsg_Print_Params& print_params = print_pages_params_->params; + const mojom::PrintParams& print_params = print_pages_params_->params; prep_frame_view_ = std::make_unique<PrepareFrameAndViewForPrint>( print_params, print_preview_context_.source_frame(), print_preview_context_.source_node(), ignore_css_margins_); @@ -1469,7 +1469,7 @@ PREVIEW_EVENT_MAX); } - const PrintMsg_Print_Params& print_params = print_pages_params_->params; + const mojom::PrintParams& print_params = print_pages_params_->params; const std::vector<int>& pages = print_pages_params_->pages; bool require_document_metafile = @@ -1583,7 +1583,7 @@ TRACE_EVENT1("print", "PrintRenderFrameHelper::RenderPreviewPage", "page_number", page_number); - const PrintMsg_Print_Params& print_params = print_pages_params_->params; + const mojom::PrintParams& print_params = print_pages_params_->params; MetafileSkia* render_metafile = print_preview_context_.metafile(); std::unique_ptr<MetafileSkia> page_render_metafile; if (!render_metafile) { @@ -1905,7 +1905,7 @@ } const PrintMsg_PrintPages_Params& params = *print_pages_params_; - const PrintMsg_Print_Params& print_params = params.params; + const mojom::PrintParams& print_params = params.params; // TODO(vitalybuka): should be page_count or valid pages from params.pages. // See http://crbug.com/161576 @@ -1931,7 +1931,7 @@ int page_count, bool is_pdf) { const PrintMsg_PrintPages_Params& params = *print_pages_params_; - const PrintMsg_Print_Params& print_params = params.params; + const mojom::PrintParams& print_params = params.params; std::vector<int> printed_pages = GetPrintedPages(params, page_count); if (printed_pages.empty()) @@ -2002,15 +2002,15 @@ void PrintRenderFrameHelper::ComputePageLayoutInPointsForCss( blink::WebLocalFrame* frame, int page_index, - const PrintMsg_Print_Params& page_params, + const mojom::PrintParams& page_params, bool ignore_css_margins, double* scale_factor, mojom::PageSizeMargins* page_layout_in_points) { double input_scale_factor = *scale_factor; - PrintMsg_Print_Params params = CalculatePrintParamsForCss( + mojom::PrintParamsPtr params = CalculatePrintParamsForCss( frame, page_index, page_params, ignore_css_margins, IsPrintScalingOptionFitToPage(page_params), scale_factor); - CalculatePageLayoutFromPrintParams(params, input_scale_factor, + CalculatePageLayoutFromPrintParams(*params, input_scale_factor, page_layout_in_points); } @@ -2084,7 +2084,7 @@ return false; } - const PrintMsg_Print_Params& params = print_pages_params_->params; + const mojom::PrintParams& params = print_pages_params_->params; PrepareFrameAndViewForPrint prepare(params, frame, node, ignore_css_margins_); prepare.StartPrinting(); @@ -2217,7 +2217,7 @@ return false; const PrintMsg_PrintPages_Params& params = *print_pages_params_; - const PrintMsg_Print_Params& print_params = params.params; + const mojom::PrintParams& print_params = params.params; prep_frame_view_ = std::make_unique<PrepareFrameAndViewForPrint>( print_params, frame, node, ignore_css_margins_); DCHECK(!print_pages_params_->params.selection_only || @@ -2230,15 +2230,14 @@ } #if !defined(OS_APPLE) -void PrintRenderFrameHelper::PrintPageInternal( - const PrintMsg_Print_Params& params, - int page_number, - int page_count, - double scale_factor, - blink::WebLocalFrame* frame, - MetafileSkia* metafile, - gfx::Size* page_size_in_dpi, - gfx::Rect* content_area_in_dpi) { +void PrintRenderFrameHelper::PrintPageInternal(const mojom::PrintParams& params, + int page_number, + int page_count, + double scale_factor, + blink::WebLocalFrame* frame, + MetafileSkia* metafile, + gfx::Size* page_size_in_dpi, + gfx::Rect* content_area_in_dpi) { double css_scale_factor = scale_factor; // Save the original page size here to avoid rounding errors incurred by @@ -2415,7 +2414,7 @@ } bool PrintRenderFrameHelper::CheckForCancel() { - const PrintMsg_Print_Params& print_params = print_pages_params_->params; + const mojom::PrintParams& print_params = print_pages_params_->params; bool cancel = false; Send(new PrintHostMsg_CheckForCancel( routing_id(),
diff --git a/components/printing/renderer/print_render_frame_helper.h b/components/printing/renderer/print_render_frame_helper.h index 36418df..6ad711f 100644 --- a/components/printing/renderer/print_render_frame_helper.h +++ b/components/printing/renderer/print_render_frame_helper.h
@@ -30,7 +30,6 @@ #include "third_party/blink/public/web/web_print_params.h" #include "ui/gfx/geometry/size.h" -struct PrintMsg_Print_Params; struct PrintMsg_PrintPages_Params; // RenderViewTest-based tests crash on Android @@ -341,7 +340,7 @@ const blink::WebNode& node); // Platform-specific helper function for rendering page(s) to |metafile|. - void PrintPageInternal(const PrintMsg_Print_Params& params, + void PrintPageInternal(const mojom::PrintParams& params, int page_number, int page_count, double scale_factor, @@ -373,7 +372,7 @@ static void ComputePageLayoutInPointsForCss( blink::WebLocalFrame* frame, int page_index, - const PrintMsg_Print_Params& default_params, + const mojom::PrintParams& default_params, bool ignore_css_margins, double* scale_factor, mojom::PageSizeMargins* page_layout_in_points); @@ -393,7 +392,7 @@ const blink::WebLocalFrame& source_frame, float webkit_scale_factor, const mojom::PageSizeMargins& page_layout_in_points, - const PrintMsg_Print_Params& params); + const mojom::PrintParams& params); // Script Initiated Printing ------------------------------------------------
diff --git a/components/printing/renderer/print_render_frame_helper_mac.mm b/components/printing/renderer/print_render_frame_helper_mac.mm index 7ff22e1..594eadbe 100644 --- a/components/printing/renderer/print_render_frame_helper_mac.mm +++ b/components/printing/renderer/print_render_frame_helper_mac.mm
@@ -20,15 +20,14 @@ namespace printing { -void PrintRenderFrameHelper::PrintPageInternal( - const PrintMsg_Print_Params& params, - int page_number, - int page_count, - double scale_factor, - blink::WebLocalFrame* frame, - MetafileSkia* metafile, - gfx::Size* page_size_in_dpi, - gfx::Rect* content_rect_in_dpi) { +void PrintRenderFrameHelper::PrintPageInternal(const mojom::PrintParams& params, + int page_number, + int page_count, + double scale_factor, + blink::WebLocalFrame* frame, + MetafileSkia* metafile, + gfx::Size* page_size_in_dpi, + gfx::Rect* content_rect_in_dpi) { double css_scale_factor = scale_factor; mojom::PageSizeMargins page_layout_in_points; ComputePageLayoutInPointsForCss(frame, page_number, params,
diff --git a/components/printing/test/mock_printer.cc b/components/printing/test/mock_printer.cc index 9ce2babd..130b3b0 100644 --- a/components/printing/test/mock_printer.cc +++ b/components/printing/test/mock_printer.cc
@@ -9,6 +9,7 @@ #include "base/strings/string16.h" #include "base/strings/utf_string_conversions.h" #include "build/build_config.h" +#include "components/printing/common/print.mojom.h" #include "components/printing/common/print_messages.h" #include "ipc/ipc_message_utils.h" #include "printing/metafile_skia.h" @@ -21,7 +22,9 @@ namespace { -void UpdateMargins(int margins_type, int dpi, PrintMsg_Print_Params* params) { +void UpdateMargins(int margins_type, + int dpi, + printing::mojom::PrintParams* params) { if (margins_type == printing::NO_MARGINS) { params->content_size.SetSize(static_cast<int>((8.5 * dpi)), static_cast<int>((11.0 * dpi))); @@ -42,7 +45,7 @@ void UpdatePageSizeAndScaling(const gfx::Size& page_size, int scale_factor, - PrintMsg_Print_Params* params) { + printing::mojom::PrintParams* params) { params->page_size = page_size; params->scale_factor = static_cast<double>(scale_factor) / 100.0; } @@ -97,18 +100,20 @@ document_cookie_ = -1; } -void MockPrinter::GetDefaultPrintSettings(PrintMsg_Print_Params* params) { +void MockPrinter::GetDefaultPrintSettings( + printing::mojom::PrintParams* params) { // Verify this printer is not processing a job. // Sorry, this mock printer is very fragile. EXPECT_EQ(-1, document_cookie_); // Assign a unit document cookie and set the print settings. document_cookie_ = CreateDocumentCookie(); - params->Reset(); + *params = printing::mojom::PrintParams(); SetPrintParams(params); } -void MockPrinter::SetDefaultPrintSettings(const PrintMsg_Print_Params& params) { +void MockPrinter::SetDefaultPrintSettings( + const printing::mojom::PrintParams& params) { // Use the same logic as in printing/print_settings.h dpi_ = std::max(params.dpi.width(), params.dpi.height()); selection_only_ = params.selection_only; @@ -125,7 +130,7 @@ void MockPrinter::UseInvalidSettings() { use_invalid_settings_ = true; - PrintMsg_Print_Params empty_param; + printing::mojom::PrintParams empty_param; SetDefaultPrintSettings(empty_param); } @@ -282,7 +287,7 @@ return use_invalid_settings_ ? 0 : ++current_document_cookie_; } -void MockPrinter::SetPrintParams(PrintMsg_Print_Params* params) { +void MockPrinter::SetPrintParams(printing::mojom::PrintParams* params) { params->dpi = gfx::Size(dpi_, dpi_); params->selection_only = selection_only_; params->should_print_backgrounds = should_print_backgrounds_;
diff --git a/components/printing/test/mock_printer.h b/components/printing/test/mock_printer.h index f027d41f..fa974d9 100644 --- a/components/printing/test/mock_printer.h +++ b/components/printing/test/mock_printer.h
@@ -14,12 +14,12 @@ #include "base/macros.h" #include "base/memory/ref_counted.h" #include "base/strings/string16.h" +#include "components/printing/common/print.mojom-forward.h" #include "printing/image.h" #include "printing/mojom/print.mojom.h" #include "ui/gfx/geometry/rect.h" #include "ui/gfx/geometry/size.h" -struct PrintMsg_Print_Params; struct PrintMsg_PrintPages_Params; struct PrintHostMsg_DidPrintDocument_Params; @@ -71,13 +71,13 @@ // Functions that changes settings of a pseudo printer. void ResetPrinter(); - void SetDefaultPrintSettings(const PrintMsg_Print_Params& params); + void SetDefaultPrintSettings(const printing::mojom::PrintParams& params); void UseInvalidSettings(); void UseInvalidPageSize(); void UseInvalidContentSize(); // Functions that handles IPC events. - void GetDefaultPrintSettings(PrintMsg_Print_Params* params); + void GetDefaultPrintSettings(printing::mojom::PrintParams* params); void ScriptedPrint(int cookie, int expected_pages_count, bool has_selection, @@ -112,7 +112,7 @@ private: // Helper function to fill the fields in |params|. - void SetPrintParams(PrintMsg_Print_Params* params); + void SetPrintParams(printing::mojom::PrintParams* params); // In pixels according to dpi_x and dpi_y. gfx::Size page_size_;
diff --git a/components/printing/test/print_mock_render_thread.cc b/components/printing/test/print_mock_render_thread.cc index 9193f7f..c11598b9 100644 --- a/components/printing/test/print_mock_render_thread.cc +++ b/components/printing/test/print_mock_render_thread.cc
@@ -71,7 +71,7 @@ #if BUILDFLAG(ENABLE_PRINTING) void PrintMockRenderThread::OnGetDefaultPrintSettings( - PrintMsg_Print_Params* params) { + printing::mojom::PrintParams* params) { printer_->GetDefaultPrintSettings(params); }
diff --git a/components/printing/test/print_mock_render_thread.h b/components/printing/test/print_mock_render_thread.h index 2c9438c..8664622 100644 --- a/components/printing/test/print_mock_render_thread.h +++ b/components/printing/test/print_mock_render_thread.h
@@ -29,7 +29,6 @@ struct PrintHostMsg_PreviewIds; struct PrintHostMsg_ScriptedPrint_Params; struct PrintMsg_PrintPages_Params; -struct PrintMsg_Print_Params; // Extends content::MockRenderThread to know about printing class PrintMockRenderThread : public content::MockRenderThread { @@ -70,7 +69,7 @@ #if BUILDFLAG(ENABLE_PRINTING) // PrintRenderFrameHelper expects default print settings. - void OnGetDefaultPrintSettings(PrintMsg_Print_Params* setting); + void OnGetDefaultPrintSettings(printing::mojom::PrintParams* setting); // PrintRenderFrameHelper expects final print settings from the user. void OnScriptedPrint(const PrintHostMsg_ScriptedPrint_Params& params,
diff --git a/components/safe_browsing/content/password_protection/password_protection_service.cc b/components/safe_browsing/content/password_protection/password_protection_service.cc index cb79565..7d991ca 100644 --- a/components/safe_browsing/content/password_protection/password_protection_service.cc +++ b/components/safe_browsing/content/password_protection/password_protection_service.cc
@@ -63,17 +63,10 @@ if (history_service) history_service_observer_.Add(history_service); - common_spoofed_domains_ = { - "login.live.com" - "facebook.com", - "box.com", - "google.com", - "paypal.com", - "apple.com", - "yahoo.com", - "adobe.com", - "amazon.com", - "linkedin.com"}; + common_spoofed_domains_ = {"login.live.com", "facebook.com", "box.com", + "google.com", "paypal.com", "apple.com", + "yahoo.com", "adobe.com", "amazon.com", + "linkedin.com"}; } PasswordProtectionService::~PasswordProtectionService() {
diff --git a/components/search_engines/omnibox_focus_type.h b/components/search_engines/omnibox_focus_type.h index fc3bf21..e69eab0 100644 --- a/components/search_engines/omnibox_focus_type.h +++ b/components/search_engines/omnibox_focus_type.h
@@ -7,7 +7,10 @@ // For search requests, this enum specifies how the user last interacted with // the UI control. This is used for both the omnibox and NTP realbox. -// It's called OmniboxFocusType so this enum matches the "oft" GET param. +// +// At this point, it's a bit of a misnomer to call it OmniboxFocusType, since +// the enum now covers UI interactions unrelated to focus. But we are keeping +// the old name to match the "oft" GET param. // // These values are used as HTTP GET parameter values. Entries should not be // renumbered and numeric values should never be reused. @@ -24,7 +27,8 @@ // omnibox permanent text at once, i.e. user is on "https://example.com", // does Ctrl+L which selects the whole URL, then presses Backspace. // - // This value does not apply in these circumstances: + // Note, DELETED_PERMANENT_TEXT only applies in fairly limited circumstances. + // For example, these cases would NOT qualify, are instead marked DEFAULT: // - User deletes their own typed text. // - User deletes the permanent text one character at a time. // - User uses Cut (Ctrl+X) to delete the permanent text.
diff --git a/components/services/storage/BUILD.gn b/components/services/storage/BUILD.gn index 6a7fe89..b5f84cc 100644 --- a/components/services/storage/BUILD.gn +++ b/components/services/storage/BUILD.gn
@@ -28,8 +28,6 @@ "dom_storage/session_storage_namespace_impl.h", "dom_storage/storage_area_impl.cc", "dom_storage/storage_area_impl.h", - "filesystem_proxy_factory.cc", - "filesystem_proxy_factory.h", "indexed_db/leveldb/leveldb_factory.cc", "indexed_db/leveldb/leveldb_factory.h", "indexed_db/leveldb/leveldb_state.cc", @@ -88,11 +86,26 @@ ] deps = [ + ":filesystem_proxy_factory", "//components/services/storage/public/cpp", "//storage/common", ] } +# This is its own component target because it exposes global state to multiple +# independent libraries in component builds. +component("filesystem_proxy_factory") { + sources = [ + "filesystem_proxy_factory.cc", + "filesystem_proxy_factory.h", + ] + public_deps = [ + "//base", + "//components/services/storage/public/cpp/filesystem", + ] + defines = [ "IS_FILESYSTEM_PROXY_FACTORY_IMPL" ] +} + # A separate component target which merely defines storage for a global testing # API binder implementations to be injected. No actual testing logic should be # included in this target.
diff --git a/components/services/storage/filesystem_proxy_factory.h b/components/services/storage/filesystem_proxy_factory.h index e900b95..84c1795 100644 --- a/components/services/storage/filesystem_proxy_factory.h +++ b/components/services/storage/filesystem_proxy_factory.h
@@ -8,6 +8,7 @@ #include <memory> #include "base/callback.h" +#include "base/component_export.h" #include "components/services/storage/public/cpp/filesystem/filesystem_proxy.h" namespace storage { @@ -16,6 +17,7 @@ // must be safe to call from any thread. using FilesystemProxyFactory = base::RepeatingCallback<std::unique_ptr<FilesystemProxy>()>; +COMPONENT_EXPORT(FILESYSTEM_PROXY_FACTORY) void SetFilesystemProxyFactory(FilesystemProxyFactory factory); // Produces a new FilesystemProxy suitable for use in the service's current @@ -24,6 +26,7 @@ // access any path. If the service is sandboxed, this will produce a restricted // FilesystemProxy which can only traverse a limited scope of filesystem, and // only through IPC to a more privileged process. +COMPONENT_EXPORT(FILESYSTEM_PROXY_FACTORY) std::unique_ptr<FilesystemProxy> CreateFilesystemProxy(); } // namespace storage
diff --git a/components/services/storage/public/cpp/filesystem/filesystem_proxy.cc b/components/services/storage/public/cpp/filesystem/filesystem_proxy.cc index 35cff69..dccb350 100644 --- a/components/services/storage/public/cpp/filesystem/filesystem_proxy.cc +++ b/components/services/storage/public/cpp/filesystem/filesystem_proxy.cc
@@ -89,7 +89,7 @@ scoped_refptr<base::SequencedTaskRunner> ipc_task_runner) : root_(root), num_root_components_(GetNumPathComponents(root_)), - remote_directory_(std::move(directory)) { + remote_directory_(std::move(directory), ipc_task_runner) { DCHECK(root_.IsAbsolute()); }
diff --git a/components/services/storage/public/mojom/test_api.test-mojom b/components/services/storage/public/mojom/test_api.test-mojom index c0f0d00..e517b21c 100644 --- a/components/services/storage/public/mojom/test_api.test-mojom +++ b/components/services/storage/public/mojom/test_api.test-mojom
@@ -9,4 +9,9 @@ interface TestApi { // Tells the service to crash its process immediately. CrashNow(); + + // Tells the service to create a new LevelDB database and force a compaction. + // This exercises an interesting code path in the sandboxed service which we + // want tests to cover. + [Sync] ForceLeveldbDatabaseCompaction(string name) => (); };
diff --git a/components/services/storage/test_api/BUILD.gn b/components/services/storage/test_api/BUILD.gn index 76fba84b..a0a996e 100644 --- a/components/services/storage/test_api/BUILD.gn +++ b/components/services/storage/test_api/BUILD.gn
@@ -12,8 +12,10 @@ deps = [ "//base", + "//components/services/storage:filesystem_proxy_factory", "//components/services/storage:test_api_stubs", "//components/services/storage/public/mojom:test_api", "//mojo/public/cpp/bindings", + "//third_party/leveldatabase", ] }
diff --git a/components/services/storage/test_api/test_api.cc b/components/services/storage/test_api/test_api.cc index f905dc27..4833dc6 100644 --- a/components/services/storage/test_api/test_api.cc +++ b/components/services/storage/test_api/test_api.cc
@@ -5,16 +5,51 @@ #include "components/services/storage/test_api/test_api.h" #include "base/bind.h" +#include "base/check.h" #include "base/immediate_crash.h" #include "base/no_destructor.h" +#include "base/task/task_traits.h" +#include "base/task/thread_pool.h" +#include "base/threading/sequenced_task_runner_handle.h" +#include "components/services/storage/filesystem_proxy_factory.h" #include "components/services/storage/public/mojom/test_api.test-mojom.h" #include "components/services/storage/test_api_stubs.h" #include "mojo/public/cpp/bindings/receiver_set.h" +#include "third_party/leveldatabase/env_chromium.h" +#include "third_party/leveldatabase/src/include/leveldb/db.h" namespace storage { namespace { +class TestApiDatabaseEnv : public leveldb_env::ChromiumEnv { + public: + TestApiDatabaseEnv() + : ChromiumEnv("ChromiumEnv.TestApi", CreateFilesystemProxy()) {} + TestApiDatabaseEnv(const TestApiDatabaseEnv&) = delete; + TestApiDatabaseEnv& operator=(const TestApiDatabaseEnv&) = delete; +}; + +TestApiDatabaseEnv* GetTestApiDatabaseEnv() { + static base::NoDestructor<TestApiDatabaseEnv> env; + return env.get(); +} + +void CreateAndCompactDatabase( + const std::string& name, + scoped_refptr<base::SequencedTaskRunner> callback_task_runner, + mojom::TestApi::ForceLeveldbDatabaseCompactionCallback callback) { + leveldb_env::Options options; + options.create_if_missing = true; + options.env = GetTestApiDatabaseEnv(); + std::unique_ptr<leveldb::DB> db; + leveldb::Status status = leveldb_env::OpenDB(options, name, &db); + CHECK(status.ok()) << status.ToString(); + db->CompactRange(nullptr, nullptr); + db.reset(); + callback_task_runner->PostTask(FROM_HERE, std::move(callback)); +} + class TestApiImpl : public mojom::TestApi { public: TestApiImpl() = default; @@ -27,6 +62,20 @@ // mojom::TestApi implementation: void CrashNow() override { IMMEDIATE_CRASH(); } + void ForceLeveldbDatabaseCompaction( + const std::string& name, + ForceLeveldbDatabaseCompactionCallback callback) override { + // Note that we post to a SequencedTaskRunner because the task will use Mojo + // bindings, and by default Mojo bindings assume there is a current + // SequencedTaskRunnerHandle they can use for scheduling. + base::ThreadPool::CreateSequencedTaskRunner( + {base::MayBlock(), base::WithBaseSyncPrimitives()}) + ->PostTask(FROM_HERE, + base::BindOnce(&CreateAndCompactDatabase, name, + base::SequencedTaskRunnerHandle::Get(), + std::move(callback))); + } + private: mojo::ReceiverSet<mojom::TestApi> receivers_; };
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn index fbee7ea..8c4f77b 100644 --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn
@@ -77,6 +77,7 @@ "//components/services/filesystem:lib", "//components/services/quarantine:quarantine", "//components/services/storage", + "//components/services/storage:filesystem_proxy_factory", "//components/services/storage/dom_storage:local_storage_proto", "//components/services/storage/public/cpp", "//components/services/storage/public/mojom",
diff --git a/content/browser/accessibility/accessibility_tree_formatter_base.cc b/content/browser/accessibility/accessibility_tree_formatter_base.cc index b5722c5e..a8f3c180 100644 --- a/content/browser/accessibility/accessibility_tree_formatter_base.cc +++ b/content/browser/accessibility/accessibility_tree_formatter_base.cc
@@ -46,7 +46,10 @@ Parse(&root, filter.property_str.begin(), filter.property_str.end()); PropertyNode* node = &root.parameters[0]; - node->original_property = filter.property_str; + + // Expel a trailing wildcard if any. + node->original_property = + filter.property_str.substr(0, filter.property_str.find_last_of('*')); // Line indexes filter: filter_str expected format is // :line_num_1, ... :line_num_N, a comma separated list of line indexes @@ -83,6 +86,13 @@ return !name_or_value.empty(); } +bool PropertyNode::IsMatching(const base::string16& pattern) const { + // Looking for exact property match. Expel a trailing whildcard from + // the property filter to handle filters like AXRole*. + return name_or_value.compare(0, name_or_value.find_last_of('*'), pattern) == + 0; +} + bool PropertyNode::IsArray() const { return name_or_value == base::ASCIIToUTF16("[]"); } @@ -439,14 +449,14 @@ return FILE_PATH_LITERAL(""); } -PropertyNode AccessibilityTreeFormatterBase::GetMatchingPropertyNode( - const base::string16& line_index, - const base::string16& property_name) { - // Find the first allow-filter matching the line index and the property name. +std::vector<PropertyNode> +AccessibilityTreeFormatterBase::PropertyFilterNodesFor( + const base::string16& line_index) const { + std::vector<PropertyNode> list; for (const auto& filter : property_filters_) { PropertyNode property_node = PropertyNode::FromPropertyFilter(filter); - // Skip if the line index filter doesn't matched (if specified). + // Filter out if doesn't match line index (if specified). if (!property_node.line_indexes.empty() && std::find(property_node.line_indexes.begin(), property_node.line_indexes.end(), @@ -454,23 +464,28 @@ continue; } - // The filter should be either an exact property match or a wildcard - // matching to support filter collections like AXRole* which matches - // AXRoleDescription. - if (property_name == property_node.name_or_value || - base::MatchPattern(property_name, property_node.name_or_value)) { - switch (filter.type) { - case PropertyFilter::ALLOW_EMPTY: - case PropertyFilter::ALLOW: - return property_node; - case PropertyFilter::DENY: - break; - default: - break; - } + switch (filter.type) { + case PropertyFilter::ALLOW_EMPTY: + case PropertyFilter::ALLOW: + list.push_back(std::move(property_node)); + break; + case PropertyFilter::DENY: + break; + default: + break; } } - return PropertyNode(); + return list; +} + +bool AccessibilityTreeFormatterBase::HasMatchAllPropertyFilter() const { + for (const auto& filter : property_filters_) { + if (filter.type == PropertyFilter::ALLOW && + filter.match_str == base::ASCIIToUTF16("*")) { + return true; + } + } + return false; } bool AccessibilityTreeFormatterBase::MatchesPropertyFilters(
diff --git a/content/browser/accessibility/accessibility_tree_formatter_base.h b/content/browser/accessibility/accessibility_tree_formatter_base.h index 65b3f816..e2cf123 100644 --- a/content/browser/accessibility/accessibility_tree_formatter_base.h +++ b/content/browser/accessibility/accessibility_tree_formatter_base.h
@@ -65,6 +65,8 @@ // be called for. std::vector<base::string16> line_indexes; + bool IsMatching(const base::string16& pattern) const; + // Argument conversion methods. bool IsArray() const; bool IsDict() const; @@ -151,11 +153,13 @@ // Overridden by platform subclasses. // - // Returns a property node struct built for a matching property filter, - // which includes a property name and invocation parameters if any. - // If no matching property filter, then empty property node is returned. - PropertyNode GetMatchingPropertyNode(const base::string16& line_index, - const base::string16& property_name); + // Returns property nodes complying to the line index filter for all + // allow/allow_empty property filters. + std::vector<PropertyNode> PropertyFilterNodesFor( + const base::string16& line_index) const; + + // Return true if match-all filter is present. + bool HasMatchAllPropertyFilter() const; // Process accessibility tree with filters for output. // Given a dictionary that contains a platform-specific dictionary
diff --git a/content/browser/accessibility/accessibility_tree_formatter_base_unittest.cc b/content/browser/accessibility/accessibility_tree_formatter_base_unittest.cc index 1743e424..be85b706 100644 --- a/content/browser/accessibility/accessibility_tree_formatter_base_unittest.cc +++ b/content/browser/accessibility/accessibility_tree_formatter_base_unittest.cc
@@ -70,6 +70,10 @@ ParseAndCheck("Text({dict: [1, 2]})", "Text({}(dict: [](1, 2)))"); ParseAndCheck("Text({dict: ValueFor(1)})", "Text({}(dict: ValueFor(1)))"); + // Nested arguments + ParseAndCheck("AXIndexForTextMarker(AXTextMarkerForIndex(0))", + "AXIndexForTextMarker(AXTextMarkerForIndex(0))"); + // Line indexes filter. ParseAndCheck(":3,:5;AXDOMClassList", ":3,:5;AXDOMClassList");
diff --git a/content/browser/accessibility/accessibility_tree_formatter_mac.mm b/content/browser/accessibility/accessibility_tree_formatter_mac.mm index 169bf27..3846ac2 100644 --- a/content/browser/accessibility/accessibility_tree_formatter_mac.mm +++ b/content/browser/accessibility/accessibility_tree_formatter_mac.mm
@@ -23,8 +23,11 @@ using base::StringPrintf; using base::SysNSStringToUTF8; using base::SysNSStringToUTF16; +using base::SysUTF16ToNSString; using std::string; using content::a11y::LineIndexesMap; +using content::a11y::OptionalNSObject; +using content::a11y::AttributeInvoker; namespace content { @@ -44,34 +47,6 @@ const char kNULLValue[] = "_const_NULL"; const char kFailedToParseArgsError[] = "_const_ERROR:FAILED_TO_PARSE_ARGS"; -#define INT_FAIL(propnode, msg) \ - LOG(ERROR) << "Failed to parse " << propnode.original_property \ - << " to Int: " << msg; \ - return nil; - -#define INTARRAY_FAIL(propnode, msg) \ - LOG(ERROR) << "Failed to parse " << propnode.original_property \ - << " to IntArray: " << msg; \ - return nil; - -#define NSRANGE_FAIL(propnode, msg) \ - LOG(ERROR) << "Failed to parse " << propnode.original_property \ - << " to NSRange: " << msg; \ - return nil; - -#define UIELEMENT_FAIL(propnode, msg) \ - LOG(ERROR) << "Failed to parse " << propnode.original_property \ - << " to UIElement: " << msg; \ - return nil; - -#define TEXTMARKER_FAIL(propnode, msg) \ - LOG(ERROR) << "Failed to parse " << propnode.original_property \ - << " to AXTextMarker: " << msg \ - << ". Expected format: {anchor, offset, affinity}, where anchor " \ - "is :line_num, offset is integer, affinity is either down, " \ - "up or none"; \ - return nil; - } // namespace class AccessibilityTreeFormatterMac : public AccessibilityTreeFormatterBase { @@ -108,41 +83,11 @@ const LineIndexesMap& line_indexes_map, base::Value* dict); - // Helper class used to compute a parameter for a parameterized attribute - // call. Can be either id or error. Similar to base::Optional, but allows nil - // id as a valid value. - class IdOrError { - public: - IdOrError() : value(nil), error(false) {} - - IdOrError& operator=(id other_value) { - error = !other_value; - value = other_value; - return *this; - } - - bool IsError() const { return error; } - bool IsNotNil() const { return !!value; } - constexpr const id& operator*() const& { return value; } - - private: - id value; - bool error; - }; - - IdOrError ParamByPropertyNode(const PropertyNode&, - const LineIndexesMap&) const; - NSNumber* PropertyNodeToInt(const PropertyNode&) const; - NSArray* PropertyNodeToIntArray(const PropertyNode&) const; - NSValue* PropertyNodeToRange(const PropertyNode&) const; - gfx::NativeViewAccessible PropertyNodeToUIElement( - const PropertyNode&, - const LineIndexesMap&) const; - - id DictNodeToTextMarker(const PropertyNode&, const LineIndexesMap&) const; - id PropertyNodeToTextMarker(const PropertyNode&, const LineIndexesMap&) const; - id PropertyNodeToTextMarkerRange(const PropertyNode&, - const LineIndexesMap&) const; + // Invokes an attributes by a property node. + OptionalNSObject InvokeAttributeFor( + const BrowserAccessibilityCocoa* cocoa_node, + const PropertyNode& property_node, + const LineIndexesMap& line_indexes_map) const; base::Value PopulateSize(const BrowserAccessibilityCocoa*) const; base::Value PopulatePosition(const BrowserAccessibilityCocoa*) const; @@ -259,40 +204,34 @@ BrowserAccessibility* node = [cocoa_node owner]; dict->SetKey("id", base::Value(base::NumberToString16(node->GetId()))); + // Dump all attributes if match-all filter is specified. + if (HasMatchAllPropertyFilter()) { + for (NSString* attribute : [cocoa_node accessibilityAttributeNames]) { + dict->SetPath( + SysNSStringToUTF8(attribute), + PopulateObject([cocoa_node accessibilityAttributeValue:attribute], + line_indexes_map)); + } + return; + } + + // Otherwise dump attributes matching allow filters only. base::string16 line_index = base::UTF8ToUTF16(line_indexes_map.IndexBy(cocoa_node)); - // Attributes - for (NSString* supportedAttribute in - [cocoa_node accessibilityAttributeNames]) { - if (GetMatchingPropertyNode(line_index, - SysNSStringToUTF16(supportedAttribute))) { - id value = [cocoa_node accessibilityAttributeValue:supportedAttribute]; - if (value != nil) { - dict->SetPath(SysNSStringToUTF8(supportedAttribute), - PopulateObject(value, line_indexes_map)); - } + for (const PropertyNode& property_node : PropertyFilterNodesFor(line_index)) { + AttributeInvoker invoker(cocoa_node, line_indexes_map); + OptionalNSObject value = invoker.Invoke(property_node); + if (value.IsNotApplicable()) { + continue; } - } - - // Parameterized attributes - for (NSString* supportedAttribute in - [cocoa_node accessibilityParameterizedAttributeNames]) { - auto propnode = GetMatchingPropertyNode( - line_index, SysNSStringToUTF16(supportedAttribute)); - IdOrError param = ParamByPropertyNode(propnode, line_indexes_map); - if (param.IsError()) { - dict->SetPath(base::UTF16ToUTF8(propnode.original_property), + if (value.IsError()) { + dict->SetPath(base::UTF16ToUTF8(property_node.original_property), base::Value(kFailedToParseArgsError)); continue; } - - if (param.IsNotNil()) { - id value = [cocoa_node accessibilityAttributeValue:supportedAttribute - forParameter:*param]; - dict->SetPath(base::UTF16ToUTF8(propnode.original_property), - PopulateObject(value, line_indexes_map)); - } + dict->SetPath(base::UTF16ToUTF8(property_node.original_property), + PopulateObject(*value, line_indexes_map)); } // Position and size @@ -300,193 +239,6 @@ dict->SetPath(kSizeDictAttr, PopulateSize(cocoa_node)); } -AccessibilityTreeFormatterMac::IdOrError -AccessibilityTreeFormatterMac::ParamByPropertyNode( - const PropertyNode& property_node, - const LineIndexesMap& line_indexes_map) const { - IdOrError param; - std::string property_name = base::UTF16ToASCII(property_node.name_or_value); - - if (property_name == "AXLineForIndex") { // Int - param = PropertyNodeToInt(property_node); - } else if (property_name == "AXCellForColumnAndRow") { // IntArray - param = PropertyNodeToIntArray(property_node); - } else if (property_name == "AXStringForRange") { // NSRange - param = PropertyNodeToRange(property_node); - } else if (property_name == "AXIndexForChildUIElement") { // UIElement - param = PropertyNodeToUIElement(property_node, line_indexes_map); - } else if (property_name == "AXIndexForTextMarker") { // TextMarker - param = PropertyNodeToTextMarker(property_node, line_indexes_map); - } else if (property_name == - "AXStringForTextMarkerRange") { // TextMarkerRange - param = PropertyNodeToTextMarkerRange(property_node, line_indexes_map); - } - - return param; -} - -// NSNumber. Format: integer. -NSNumber* AccessibilityTreeFormatterMac::PropertyNodeToInt( - const PropertyNode& propnode) const { - if (propnode.parameters.size() != 1) { - INT_FAIL(propnode, "single argument is expected") - } - - const auto& intnode = propnode.parameters[0]; - base::Optional<int> param = intnode.AsInt(); - if (!param) { - INT_FAIL(propnode, "not a number") - } - return [NSNumber numberWithInt:*param]; -} - -// NSArray of two NSNumber. Format: [integer, integer]. -NSArray* AccessibilityTreeFormatterMac::PropertyNodeToIntArray( - const PropertyNode& propnode) const { - if (propnode.parameters.size() != 1) { - INTARRAY_FAIL(propnode, "single argument is expected") - } - - const auto& arraynode = propnode.parameters[0]; - if (arraynode.name_or_value != base::ASCIIToUTF16("[]")) { - INTARRAY_FAIL(propnode, "not array") - } - - NSMutableArray* array = - [[NSMutableArray alloc] initWithCapacity:arraynode.parameters.size()]; - for (const auto& paramnode : arraynode.parameters) { - base::Optional<int> param = paramnode.AsInt(); - if (!param) { - INTARRAY_FAIL(propnode, paramnode.name_or_value + - base::UTF8ToUTF16(" is not a number")) - } - [array addObject:@(*param)]; - } - return array; -} - -// NSRange. Format: {loc: integer, len: integer}. -NSValue* AccessibilityTreeFormatterMac::PropertyNodeToRange( - const PropertyNode& propnode) const { - if (propnode.parameters.size() != 1) { - NSRANGE_FAIL(propnode, "single argument is expected") - } - - const auto& dictnode = propnode.parameters[0]; - if (!dictnode.IsDict()) { - NSRANGE_FAIL(propnode, "dictionary is expected") - } - - base::Optional<int> loc = dictnode.FindIntKey("loc"); - if (!loc) { - NSRANGE_FAIL(propnode, "no loc or loc is not a number") - } - - base::Optional<int> len = dictnode.FindIntKey("len"); - if (!len) { - NSRANGE_FAIL(propnode, "no len or len is not a number") - } - - return [NSValue valueWithRange:NSMakeRange(*loc, *len)]; -} - -// UIElement. Format: :line_num. -gfx::NativeViewAccessible -AccessibilityTreeFormatterMac::PropertyNodeToUIElement( - const PropertyNode& propnode, - const LineIndexesMap& line_indexes_map) const { - if (propnode.parameters.size() != 1) { - UIELEMENT_FAIL(propnode, "single argument is expected") - } - - gfx::NativeViewAccessible uielement = line_indexes_map.NodeBy( - base::UTF16ToUTF8(propnode.parameters[0].name_or_value)); - if (!uielement) { - UIELEMENT_FAIL(propnode, "no corresponding UIElement was found in the tree") - } - return uielement; -} - -id AccessibilityTreeFormatterMac::DictNodeToTextMarker( - const PropertyNode& dictnode, - const LineIndexesMap& line_indexes_map) const { - if (!dictnode.IsDict()) { - TEXTMARKER_FAIL(dictnode, "dictionary is expected") - } - if (dictnode.parameters.size() != 3) { - TEXTMARKER_FAIL(dictnode, "wrong number of dictionary elements") - } - - BrowserAccessibilityCocoa* anchor_cocoa = line_indexes_map.NodeBy( - base::UTF16ToUTF8(dictnode.parameters[0].name_or_value)); - if (!anchor_cocoa) { - TEXTMARKER_FAIL(dictnode, "1st argument: wrong anchor") - } - - base::Optional<int> offset = dictnode.parameters[1].AsInt(); - if (!offset) { - TEXTMARKER_FAIL(dictnode, "2nd argument: wrong offset") - } - - ax::mojom::TextAffinity affinity; - const base::string16& affinity_str = dictnode.parameters[2].name_or_value; - if (affinity_str == base::UTF8ToUTF16("none")) { - affinity = ax::mojom::TextAffinity::kNone; - } else if (affinity_str == base::UTF8ToUTF16("down")) { - affinity = ax::mojom::TextAffinity::kDownstream; - } else if (affinity_str == base::UTF8ToUTF16("up")) { - affinity = ax::mojom::TextAffinity::kUpstream; - } else { - TEXTMARKER_FAIL(dictnode, "3rd argument: wrong affinity") - } - - return content::AXTextMarkerFrom(anchor_cocoa, *offset, affinity); -} - -id AccessibilityTreeFormatterMac::PropertyNodeToTextMarker( - const PropertyNode& propnode, - const LineIndexesMap& line_indexes_map) const { - if (propnode.parameters.size() != 1) { - TEXTMARKER_FAIL(propnode, "single argument is expected") - } - return DictNodeToTextMarker(propnode.parameters[0], line_indexes_map); -} - -id AccessibilityTreeFormatterMac::PropertyNodeToTextMarkerRange( - const PropertyNode& propnode, - const LineIndexesMap& line_indexes_map) const { - if (propnode.parameters.size() != 1) { - TEXTMARKER_FAIL(propnode, "single argument is expected") - } - - const auto& rangenode = propnode.parameters[0]; - if (!rangenode.IsDict()) { - TEXTMARKER_FAIL(propnode, "dictionary is expected") - } - - const PropertyNode* anchornode = rangenode.FindKey("anchor"); - if (!anchornode) { - TEXTMARKER_FAIL(propnode, "no anchor") - } - - id anchor_textmarker = DictNodeToTextMarker(*anchornode, line_indexes_map); - if (!anchor_textmarker) { - TEXTMARKER_FAIL(propnode, "failed to parse anchor") - } - - const PropertyNode* focusnode = rangenode.FindKey("focus"); - if (!focusnode) { - TEXTMARKER_FAIL(propnode, "no focus") - } - - id focus_textmarker = DictNodeToTextMarker(*focusnode, line_indexes_map); - if (!focus_textmarker) { - TEXTMARKER_FAIL(propnode, "failed to parse focus") - } - - return content::AXTextMarkerRangeFrom(anchor_textmarker, focus_textmarker); -} - base::Value AccessibilityTreeFormatterMac::PopulateSize( const BrowserAccessibilityCocoa* cocoa_node) const { base::Value size(base::Value::Type::DICTIONARY); @@ -503,8 +255,8 @@ DCHECK(root_manager); // The NSAccessibility position of an object is in global coordinates and - // based on the lower-left corner of the object. To make this easier and less - // confusing, convert it to local window coordinates using the top-left + // based on the lower-left corner of the object. To make this easier and + // less confusing, convert it to local window coordinates using the top-left // corner when dumping the position. BrowserAccessibility* root = root_manager->GetRoot(); BrowserAccessibilityCocoa* cocoa_root = ToBrowserAccessibilityCocoa(root);
diff --git a/content/browser/accessibility/accessibility_tree_formatter_mac_browsertest.mm b/content/browser/accessibility/accessibility_tree_formatter_mac_browsertest.mm index 2dfbb58..4d92ee72 100644 --- a/content/browser/accessibility/accessibility_tree_formatter_mac_browsertest.mm +++ b/content/browser/accessibility/accessibility_tree_formatter_mac_browsertest.mm
@@ -133,7 +133,7 @@ } IN_PROC_BROWSER_TEST_F(AccessibilityTreeFormatterMacBrowserTest, - LineIndexFilter) { + Filters_LineIndex) { TestAndCheck(R"~~(data:text/html, <input class='input_at_3rd_line'> <input class='input_at_4th_line'> @@ -328,4 +328,15 @@ )~~"); } +IN_PROC_BROWSER_TEST_F(AccessibilityTreeFormatterMacBrowserTest, + NestedCalls_Attributes) { + TestAndCheck(R"~~(data:text/html, + <p>Text</p>)~~", + {":1;AXIndexForTextMarker(AXTextMarkerForIndex(0))"}, + R"~~(AXWebArea AXIndexForTextMarker(AXTextMarkerForIndex(0))=0 +++AXGroup +++++AXStaticText AXValue='Text' +)~~"); +} + } // namespace content
diff --git a/content/browser/accessibility/accessibility_tree_formatter_utils_mac.h b/content/browser/accessibility/accessibility_tree_formatter_utils_mac.h index 3b0e651..5dd04e9 100644 --- a/content/browser/accessibility/accessibility_tree_formatter_utils_mac.h +++ b/content/browser/accessibility/accessibility_tree_formatter_utils_mac.h
@@ -5,6 +5,7 @@ #ifndef CONTENT_BROWSER_ACCESSIBILITY_ACCESSIBILITY_TREE_FORMATTER_UTILS_MAC_H_ #define CONTENT_BROWSER_ACCESSIBILITY_ACCESSIBILITY_TREE_FORMATTER_UTILS_MAC_H_ +#include "content/browser/accessibility/accessibility_tree_formatter_base.h" #include "content/browser/accessibility/browser_accessibility_cocoa.h" namespace content { @@ -28,6 +29,68 @@ std::map<const gfx::NativeViewAccessible, std::string> map; }; +// Implements stateful id values. Can be either id or be in +// error or not applciable state. Similar to base::Optional, but tri-state +// allowing nullable values. +class OptionalNSObject final { + public: + enum { ID, ERROR, NOT_APPLICABLE }; + + static OptionalNSObject Error() { return OptionalNSObject(ERROR); } + static OptionalNSObject NotApplicable() { + return OptionalNSObject(NOT_APPLICABLE); + } + static OptionalNSObject NotNilOrError(id other_value) { + return OptionalNSObject(other_value, other_value ? ID : ERROR); + } + static OptionalNSObject NotNullOrNotApplicable(id other_value) { + return OptionalNSObject(other_value, other_value ? ID : NOT_APPLICABLE); + } + + OptionalNSObject(int flag) : value(nil), flag(flag) {} + OptionalNSObject(id value, int flag = ID) : value(value), flag(flag) {} + + bool IsNotApplicable() const { return flag == NOT_APPLICABLE; } + bool IsError() const { return flag == ERROR; } + bool IsNotNil() const { return value != nil; } + constexpr const id& operator*() const& { return value; } + + private: + id value; + int flag; +}; + +// Invokes attributes matching the given property filter. +class AttributeInvoker final { + public: + AttributeInvoker(const BrowserAccessibilityCocoa* cocoa_node, + const LineIndexesMap& line_indexes_map); + + // Invokes an attribute matching to a property filter. + OptionalNSObject Invoke(const PropertyNode& property_node) const; + + private: + // Returns a parameterized attribute parameter by a property node. + OptionalNSObject ParamByPropertyNode(const PropertyNode&) const; + + NSNumber* PropertyNodeToInt(const PropertyNode&) const; + NSArray* PropertyNodeToIntArray(const PropertyNode&) const; + NSValue* PropertyNodeToRange(const PropertyNode&) const; + gfx::NativeViewAccessible PropertyNodeToUIElement(const PropertyNode&) const; + + id DictNodeToTextMarker(const PropertyNode&) const; + id PropertyNodeToTextMarker(const PropertyNode&) const; + id PropertyNodeToTextMarkerRange(const PropertyNode&) const; + + gfx::NativeViewAccessible LineIndexToNode( + const base::string16 line_index) const; + + const BrowserAccessibilityCocoa* cocoa_node; + const LineIndexesMap& line_indexes_map; + const NSArray* attributes; + const NSArray* parameterized_attributes; +}; + } // namespace a11y } // namespace content
diff --git a/content/browser/accessibility/accessibility_tree_formatter_utils_mac.mm b/content/browser/accessibility/accessibility_tree_formatter_utils_mac.mm index dd3d86f..a6d1fc76 100644 --- a/content/browser/accessibility/accessibility_tree_formatter_utils_mac.mm +++ b/content/browser/accessibility/accessibility_tree_formatter_utils_mac.mm
@@ -4,9 +4,51 @@ #include "content/browser/accessibility/accessibility_tree_formatter_utils_mac.h" +#include "base/strings/sys_string_conversions.h" + +// error: 'accessibilityAttributeNames' is deprecated: first deprecated in +// macOS 10.10 - Use the NSAccessibility protocol methods instead (see +// NSAccessibilityProtocols.h +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + +using base::SysNSStringToUTF16; + namespace content { namespace a11y { +namespace { + +#define INT_FAIL(property_node, msg) \ + LOG(ERROR) << "Failed to parse " << property_node.name_or_value \ + << " to Int: " << msg; \ + return nil; + +#define INTARRAY_FAIL(property_node, msg) \ + LOG(ERROR) << "Failed to parse " << property_node.name_or_value \ + << " to IntArray: " << msg; \ + return nil; + +#define NSRANGE_FAIL(property_node, msg) \ + LOG(ERROR) << "Failed to parse " << property_node.name_or_value \ + << " to NSRange: " << msg; \ + return nil; + +#define UIELEMENT_FAIL(property_node, msg) \ + LOG(ERROR) << "Failed to parse " << property_node.name_or_value \ + << " to UIElement: " << msg; \ + return nil; + +#define TEXTMARKER_FAIL(property_node, msg) \ + LOG(ERROR) << "Failed to parse " << property_node.name_or_value \ + << " to AXTextMarker: " << msg \ + << ". Expected format: {anchor, offset, affinity}, where anchor " \ + "is :line_num, offset is integer, affinity is either down, " \ + "up or none"; \ + return nil; + +} // namespace + LineIndexesMap::LineIndexesMap(const BrowserAccessibilityCocoa* cocoa_node) { int counter = 0; Build(cocoa_node, &counter); @@ -42,5 +84,217 @@ Build(cocoa_child, counter); } } + +// AttributeInvoker + +AttributeInvoker::AttributeInvoker(const BrowserAccessibilityCocoa* cocoa_node, + const LineIndexesMap& line_indexes_map) + : cocoa_node(cocoa_node), line_indexes_map(line_indexes_map) { + attributes = [cocoa_node accessibilityAttributeNames]; + parameterized_attributes = + [cocoa_node accessibilityParameterizedAttributeNames]; +} + +OptionalNSObject AttributeInvoker::Invoke( + const PropertyNode& property_node) const { + // Attributes + for (NSString* attribute : attributes) { + if (property_node.IsMatching(SysNSStringToUTF16(attribute))) { + return OptionalNSObject::NotNullOrNotApplicable( + [cocoa_node accessibilityAttributeValue:attribute]); + } + } + + // Parameterized attributes + for (NSString* attribute : parameterized_attributes) { + if (property_node.IsMatching(SysNSStringToUTF16(attribute))) { + OptionalNSObject param = ParamByPropertyNode(property_node); + if (param.IsNotNil()) { + return OptionalNSObject([cocoa_node + accessibilityAttributeValue:attribute + forParameter:*param]); + } + return param; + } + } + + return OptionalNSObject::NotApplicable(); +} + +OptionalNSObject AttributeInvoker::ParamByPropertyNode( + const PropertyNode& property_node) const { + // NSAccessibility attributes always take a single parameter. + if (property_node.parameters.size() != 1) { + LOG(ERROR) << "Failed to parse " << property_node.original_property + << ": single parameter is expected"; + return OptionalNSObject::Error(); + } + + // Nested attribute case: attempt to invoke an attribute for an argument node. + const PropertyNode& arg_node = property_node.parameters[0]; + OptionalNSObject subvalue = Invoke(arg_node); + if (!subvalue.IsNotApplicable()) { + return subvalue; + } + + // Otherwise parse argument node value. + std::string property_name = base::UTF16ToASCII(property_node.name_or_value); + + if (property_name == "AXLineForIndex" || + property_name == "AXTextMarkerForIndex") { // Int + return OptionalNSObject::NotNilOrError(PropertyNodeToInt(arg_node)); + } + if (property_name == "AXCellForColumnAndRow") { // IntArray + return OptionalNSObject::NotNilOrError(PropertyNodeToIntArray(arg_node)); + } + if (property_name == "AXStringForRange") { // NSRange + return OptionalNSObject::NotNilOrError(PropertyNodeToRange(arg_node)); + } + if (property_name == "AXIndexForChildUIElement") { // UIElement + return OptionalNSObject::NotNilOrError(PropertyNodeToUIElement(arg_node)); + } + if (property_name == "AXIndexForTextMarker") { // TextMarker + return OptionalNSObject::NotNilOrError(PropertyNodeToTextMarker(arg_node)); + } + if (property_name == "AXStringForTextMarkerRange") { // TextMarkerRange + return OptionalNSObject::NotNilOrError( + PropertyNodeToTextMarkerRange(arg_node)); + } + + return OptionalNSObject::NotApplicable(); +} + +// NSNumber. Format: integer. +NSNumber* AttributeInvoker::PropertyNodeToInt( + const PropertyNode& intnode) const { + base::Optional<int> param = intnode.AsInt(); + if (!param) { + INT_FAIL(intnode, "not a number") + } + return [NSNumber numberWithInt:*param]; +} + +// NSArray of two NSNumber. Format: [integer, integer]. +NSArray* AttributeInvoker::PropertyNodeToIntArray( + const PropertyNode& arraynode) const { + if (arraynode.name_or_value != base::ASCIIToUTF16("[]")) { + INTARRAY_FAIL(arraynode, "not array") + } + + NSMutableArray* array = + [[NSMutableArray alloc] initWithCapacity:arraynode.parameters.size()]; + for (const auto& paramnode : arraynode.parameters) { + base::Optional<int> param = paramnode.AsInt(); + if (!param) { + INTARRAY_FAIL(arraynode, paramnode.name_or_value + + base::UTF8ToUTF16(" is not a number")) + } + [array addObject:@(*param)]; + } + return array; +} + +// NSRange. Format: {loc: integer, len: integer}. +NSValue* AttributeInvoker::PropertyNodeToRange( + const PropertyNode& dictnode) const { + if (!dictnode.IsDict()) { + NSRANGE_FAIL(dictnode, "dictionary is expected") + } + + base::Optional<int> loc = dictnode.FindIntKey("loc"); + if (!loc) { + NSRANGE_FAIL(dictnode, "no loc or loc is not a number") + } + + base::Optional<int> len = dictnode.FindIntKey("len"); + if (!len) { + NSRANGE_FAIL(dictnode, "no len or len is not a number") + } + + return [NSValue valueWithRange:NSMakeRange(*loc, *len)]; +} + +// UIElement. Format: :line_num. +gfx::NativeViewAccessible AttributeInvoker::PropertyNodeToUIElement( + const PropertyNode& uielement_node) const { + gfx::NativeViewAccessible uielement = + line_indexes_map.NodeBy(base::UTF16ToUTF8(uielement_node.name_or_value)); + if (!uielement) { + UIELEMENT_FAIL(uielement_node, + "no corresponding UIElement was found in the tree") + } + return uielement; +} + +id AttributeInvoker::DictNodeToTextMarker(const PropertyNode& dictnode) const { + if (!dictnode.IsDict()) { + TEXTMARKER_FAIL(dictnode, "dictionary is expected") + } + if (dictnode.parameters.size() != 3) { + TEXTMARKER_FAIL(dictnode, "wrong number of dictionary elements") + } + + BrowserAccessibilityCocoa* anchor_cocoa = line_indexes_map.NodeBy( + base::UTF16ToUTF8(dictnode.parameters[0].name_or_value)); + if (!anchor_cocoa) { + TEXTMARKER_FAIL(dictnode, "1st argument: wrong anchor") + } + + base::Optional<int> offset = dictnode.parameters[1].AsInt(); + if (!offset) { + TEXTMARKER_FAIL(dictnode, "2nd argument: wrong offset") + } + + ax::mojom::TextAffinity affinity; + const base::string16& affinity_str = dictnode.parameters[2].name_or_value; + if (affinity_str == base::UTF8ToUTF16("none")) { + affinity = ax::mojom::TextAffinity::kNone; + } else if (affinity_str == base::UTF8ToUTF16("down")) { + affinity = ax::mojom::TextAffinity::kDownstream; + } else if (affinity_str == base::UTF8ToUTF16("up")) { + affinity = ax::mojom::TextAffinity::kUpstream; + } else { + TEXTMARKER_FAIL(dictnode, "3rd argument: wrong affinity") + } + + return content::AXTextMarkerFrom(anchor_cocoa, *offset, affinity); +} + +id AttributeInvoker::PropertyNodeToTextMarker( + const PropertyNode& dictnode) const { + return DictNodeToTextMarker(dictnode); +} + +id AttributeInvoker::PropertyNodeToTextMarkerRange( + const PropertyNode& rangenode) const { + if (!rangenode.IsDict()) { + TEXTMARKER_FAIL(rangenode, "dictionary is expected") + } + + const PropertyNode* anchornode = rangenode.FindKey("anchor"); + if (!anchornode) { + TEXTMARKER_FAIL(rangenode, "no anchor") + } + + id anchor_textmarker = DictNodeToTextMarker(*anchornode); + if (!anchor_textmarker) { + TEXTMARKER_FAIL(rangenode, "failed to parse anchor") + } + + const PropertyNode* focusnode = rangenode.FindKey("focus"); + if (!focusnode) { + TEXTMARKER_FAIL(rangenode, "no focus") + } + + id focus_textmarker = DictNodeToTextMarker(*focusnode); + if (!focus_textmarker) { + TEXTMARKER_FAIL(rangenode, "failed to parse focus") + } + + return content::AXTextMarkerRangeFrom(anchor_textmarker, focus_textmarker); +} + } // namespace a11y } // namespace content + +#pragma clang diagnostic pop
diff --git a/content/browser/appcache/appcache_update_job.cc b/content/browser/appcache/appcache_update_job.cc index a021817..77c6af8f 100644 --- a/content/browser/appcache/appcache_update_job.cc +++ b/content/browser/appcache/appcache_update_job.cc
@@ -161,7 +161,7 @@ // Record the max age / expiry value on this entry in days. net::HttpResponseHeaders::FreshnessLifetimes lifetimes = http_info->headers->GetFreshnessLifetimes(response_time); - base::UmaHistogramCounts10000("appcache.UpdateJobResourceFreshness", + base::UmaHistogramCounts10000("appcache.UpdateJob.ResourceFreshness", lifetimes.freshness.InDays()); // Check HTTP caching semantics based on max-age and expiration headers.
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc index f5c8b483..8cf487c 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -605,7 +605,7 @@ action = SpareProcessMaybeTakeAction::kNoSparePresent; else if (browser_context != spare_render_process_host_->GetBrowserContext()) action = SpareProcessMaybeTakeAction::kMismatchedBrowserContext; - else if (site_storage != spare_render_process_host_->GetStoragePartition()) + else if (!spare_render_process_host_->InSameStoragePartition(site_storage)) action = SpareProcessMaybeTakeAction::kMismatchedStoragePartition; else if (!embedder_allows_spare_usage) action = SpareProcessMaybeTakeAction::kRefusedByEmbedder; @@ -620,7 +620,7 @@ RenderProcessHost* returned_process = nullptr; if (spare_render_process_host_ && browser_context == spare_render_process_host_->GetBrowserContext() && - site_storage == spare_render_process_host_->GetStoragePartition() && + spare_render_process_host_->InSameStoragePartition(site_storage) && !site_instance->IsGuest() && embedder_allows_spare_usage && site_instance_allows_spare_usage) { CHECK(spare_render_process_host_->HostHasNotBeenUsed());
diff --git a/content/browser/storage_service_sandbox_browsertest.cc b/content/browser/storage_service_sandbox_browsertest.cc index ae0bc5d4..8114f77 100644 --- a/content/browser/storage_service_sandbox_browsertest.cc +++ b/content/browser/storage_service_sandbox_browsertest.cc
@@ -19,6 +19,7 @@ #include "content/public/test/content_browser_test.h" #include "content/public/test/content_browser_test_utils.h" #include "content/shell/browser/shell.h" +#include "mojo/public/cpp/bindings/sync_call_restrictions.h" namespace content { namespace { @@ -108,5 +109,14 @@ EvalJs(shell()->web_contents(), R"(window.localStorage.yeet)")); } +IN_PROC_BROWSER_TEST_F(StorageServiceSandboxBrowserTest, CompactDatabase) { + // Tests that the sandboxed service can execute a LevelDB database compaction + // operation without crashing. If the service crashes, the sync call below + // will return false. + mojo::ScopedAllowSyncCallForTesting allow_sync_calls; + EXPECT_TRUE( + GetTestApi()->ForceLeveldbDatabaseCompaction("CompactDatabaseTestDb")); +} + } // namespace } // namespace content
diff --git a/content/test/gpu/gpu_tests/gpu_integration_test.py b/content/test/gpu/gpu_tests/gpu_integration_test.py index 5edb2b27..df80f54 100644 --- a/content/test/gpu/gpu_tests/gpu_integration_test.py +++ b/content/test/gpu/gpu_tests/gpu_integration_test.py
@@ -289,7 +289,8 @@ # TODO(https://crbug.com/1061298): Remove this special case once we've # determined whether the test is only failing because of the expected # crash check. - if (test_name == 'Pixel_Video_Context_Loss_VP9' + if ((test_name == 'Pixel_Video_Context_Loss_VP9' + or test_name == 'Pixel_Video_Context_Loss_MP4') and sys.platform == 'win32'): pass elif not actual_and_expected_crashes_match:
diff --git a/device/fido/cable/v2_handshake.cc b/device/fido/cable/v2_handshake.cc index 128f6dcb..d32dc9a18 100644 --- a/device/fido/cable/v2_handshake.cc +++ b/device/fido/cable/v2_handshake.cc
@@ -6,6 +6,7 @@ #include "base/bits.h" #include "base/numerics/safe_math.h" +#include "base/strings/string_number_conversions.h" #include "components/cbor/reader.h" #include "components/cbor/values.h" #include "components/cbor/writer.h" @@ -21,6 +22,7 @@ #include "third_party/boringssl/src/include/openssl/hkdf.h" #include "third_party/boringssl/src/include/openssl/obj.h" #include "third_party/boringssl/src/include/openssl/sha.h" +#include "url/gurl.h" namespace { @@ -47,6 +49,36 @@ namespace device { namespace cablev2 { +namespace tunnelserver { +GURL GetURL(uint32_t domain, Action action, base::span<const uint8_t, 16> id) { + std::string ret = "wss://"; + + static const char kBase32Chars[33] = "abcdefghijklmnopqrstuvwxyz234567"; + ret.push_back(kBase32Chars[(domain >> 17) & 0x1f]); + ret.push_back(kBase32Chars[(domain >> 12) & 0x1f]); + ret.push_back(kBase32Chars[(domain >> 7) & 0x1f]); + ret.push_back(kBase32Chars[(domain >> 2) & 0x1f]); + ret.push_back('.'); + + static const char kTLDs[4][5] = {"com", "org", "net", "info"}; + ret += kTLDs[domain & 3]; + + switch (action) { + case Action::kNew: + ret += "/cable/new/"; + break; + case Action::kConnect: + ret += "/cable/connect/"; + break; + } + + ret += base::HexEncode(id); + const GURL url(ret); + DCHECK(url.is_valid()); + return url; +} +} // namespace tunnelserver + base::Optional<std::vector<uint8_t>> EncodePaddedCBORMap( cbor::Value::MapValue map) { base::Optional<std::vector<uint8_t>> cbor_bytes =
diff --git a/device/fido/cable/v2_handshake.h b/device/fido/cable/v2_handshake.h index e19432e..0b36c3e 100644 --- a/device/fido/cable/v2_handshake.h +++ b/device/fido/cable/v2_handshake.h
@@ -19,9 +19,61 @@ #include "device/fido/fido_constants.h" #include "third_party/boringssl/src/include/openssl/base.h" +class GURL; + namespace device { namespace cablev2 { +namespace tunnelserver { + +// Base32Ord converts |c| into its base32 value, as defined in +// https://tools.ietf.org/html/rfc4648#section-6. +constexpr uint32_t Base32Ord(char c) { + if (c >= 'a' && c <= 'z') { + return c - 'a'; + } else if (c >= '2' && c <= '7') { + return 26 + c - '2'; + } else { + __builtin_unreachable(); + } +} + +// TLD enumerates the set of possible top-level domains that a tunnel server can +// use. +enum class TLD { + COM = 0, + ORG = 1, + NET = 2, + INFO = 3, +}; + +// EncodeDomain converts a domain name, in the form of a four-letter, base32 +// domain plus a TLD, into a 22-bit value. +constexpr uint32_t EncodeDomain(const char label[5], TLD tld) { + const uint32_t tld_value = static_cast<uint32_t>(tld); + if (tld_value > 3 || label[4] != 0) { + __builtin_unreachable(); + } + return ((Base32Ord(label[0]) << 15 | Base32Ord(label[1]) << 10 | + Base32Ord(label[2]) << 5 | Base32Ord(label[3])) + << 2) | + tld_value; +} + +// Action enumerates the two possible requests that can be made of a tunnel +// server: to create a new tunnel or to connect to an existing one. +enum class Action { + kNew, + kConnect, +}; + +// GetURL converts a 22-bit tunnel server domain (as encoded by |EncodeDomain|), +// an action, and a tunnel ID, into a WebSockets-based URL. +COMPONENT_EXPORT(DEVICE_FIDO) +GURL GetURL(uint32_t domain, Action action, base::span<const uint8_t, 16> id); + +} // namespace tunnelserver + // EncodePaddedCBORMap encodes the given map and pads it to 256 bytes in such a // way that |DecodePaddedCBORMap| can decode it. The padding is done on the // assumption that the returned bytes will be encrypted and the encoded size of
diff --git a/device/fido/cable/v2_handshake_unittest.cc b/device/fido/cable/v2_handshake_unittest.cc index 9ea2cc4..b187f0e 100644 --- a/device/fido/cable/v2_handshake_unittest.cc +++ b/device/fido/cable/v2_handshake_unittest.cc
@@ -8,12 +8,23 @@ #include "third_party/boringssl/src/include/openssl/ec.h" #include "third_party/boringssl/src/include/openssl/ec_key.h" #include "third_party/boringssl/src/include/openssl/obj.h" +#include "url/gurl.h" namespace device { namespace cablev2 { namespace { +TEST(CableV2Encoding, TunnelServerURLs) { + // Test that a domain name survives an encode-decode round trip. + constexpr uint32_t encoded = + tunnelserver::EncodeDomain("abcd", tunnelserver::TLD::NET); + uint8_t tunnel_id[16] = {0}; + const GURL url = + tunnelserver::GetURL(encoded, tunnelserver::Action::kNew, tunnel_id); + EXPECT_TRUE(url.spec().find("//abcd.net/") != std::string::npos) << url; +} + TEST(CableV2Encoding, PaddedCBOR) { cbor::Value::MapValue map; base::Optional<std::vector<uint8_t>> encoded =
diff --git a/docs/android_studio.md b/docs/android_studio.md index 80fd1ca3..d457e2e 100644 --- a/docs/android_studio.md +++ b/docs/android_studio.md
@@ -93,7 +93,7 @@ Example: ```shell -build/android/gradle/generate_gradle.py --native-target //chrome/android:monochrome +build/android/gradle/generate_gradle.py --native-target //chrome/android:libchrome ``` ## Tips
diff --git a/docs/testing/json_test_results_format.md b/docs/testing/json_test_results_format.md index 51d1f60..0cbce80f 100644 --- a/docs/testing/json_test_results_format.md +++ b/docs/testing/json_test_results_format.md
@@ -125,6 +125,7 @@ | `is_missing_text` | bool | **Optional, web test specific.** If present and true, the test was supposed to have a text baseline to compare against, and we didn't find one. | | `is_missing_video` | bool | **Optional, web test specific.** If present and true, the test was supposed to have an image baseline to compare against and we didn't find one. | | `is_testharness_test` | bool | **Optional, web test specific.** If present, indicates that the layout test was written using the w3c's test harness and we don't necessarily have any baselines to compare against. | +| `is_slow_test` | bool | **Optional, web test specific.** If present and true, the test is expected to take longer than normal to run. | | `reftest_type` | string | **Optional, web test specific.** If present, one of `==` or `!=` to indicate that the test is a "reference test" and the results were expected to match the reference or not match the reference, respectively (only used in layout tests). | ## Test result types
diff --git a/extensions/common/api/automation.idl b/extensions/common/api/automation.idl index 11f66fd5..65a77be 100644 --- a/extensions/common/api/automation.idl +++ b/extensions/common/api/automation.idl
@@ -729,10 +729,19 @@ // Determines the location of the text within the node specified by // |startIndex| and |endIndex|, inclusively. Invokes |callback| with the // bounding rectangle, in screen coordinates. |callback| can be invoked - // either synchronously or asynchronously. + // either synchronously or asynchronously. The bounds are clipped to + // ancestors. static void boundsForRange(long startIndex, long endIndex, BoundsForRangeCallback callback); + // Determines the location of the text within the node specified by + // |startIndex| and |endIndex|, inclusively. Invokes |callback| with the + // bounding rectangle, in screen coordinates. |callback| can be invoked + // either synchronously or asynchronously. The bounds are not clipped to + // ancestors. + static void unclippedBoundsForRange(long startIndex, long endIndex, + BoundsForRangeCallback callback); + // The location (as a bounding box) of this node in global screen // coordinates without applying any clipping from ancestors. Rect? unclippedLocation;
diff --git a/extensions/common/extension_features.cc b/extensions/common/extension_features.cc index d291625c..87168f1 100644 --- a/extensions/common/extension_features.cc +++ b/extensions/common/extension_features.cc
@@ -43,9 +43,10 @@ "AllowWithholdingExtensionPermissionsOnInstall", base::FEATURE_DISABLED_BY_DEFAULT}; -// Enables content scripts on data URLs. -const base::Feature kContentScriptsOnDataUrls{ - "ContentScriptsOnDataUrls", base::FEATURE_DISABLED_BY_DEFAULT}; +// Enables support for the "match_origin_as_fallback" property in content +// scripts. +const base::Feature kContentScriptsMatchOriginAsFallback{ + "ContentScriptsMatchOriginAsFallback", base::FEATURE_DISABLED_BY_DEFAULT}; // Reports Extensions.WebRequest.KeepaliveRequestFinished when enabled. const base::Feature kReportKeepaliveUkm{"ReportKeepaliveUkm",
diff --git a/extensions/common/extension_features.h b/extensions/common/extension_features.h index 57894da..b3e794f 100644 --- a/extensions/common/extension_features.h +++ b/extensions/common/extension_features.h
@@ -25,7 +25,7 @@ extern const base::Feature kAllowWithholdingExtensionPermissionsOnInstall; -extern const base::Feature kContentScriptsOnDataUrls; +extern const base::Feature kContentScriptsMatchOriginAsFallback; extern const base::Feature kReportKeepaliveUkm;
diff --git a/extensions/common/manifest_constants.cc b/extensions/common/manifest_constants.cc index 782d62ed..810ba22 100644 --- a/extensions/common/manifest_constants.cc +++ b/extensions/common/manifest_constants.cc
@@ -105,7 +105,7 @@ const char kLinkedAppIconSize[] = "size"; const char kManifestVersion[] = "manifest_version"; const char kMatchAboutBlank[] = "match_about_blank"; -const char kMatchDataUrls[] = "match_data_urls"; +const char kMatchOriginAsFallback[] = "match_origin_as_fallback"; const char kMatches[] = "matches"; const char kMinimumChromeVersion[] = "minimum_chrome_version"; const char kMinimumVersion[] = "minimum_version"; @@ -569,8 +569,8 @@ "Invalid value for 'content_scripts[*].matches[*]': *"; const char kInvalidMatchAboutBlank[] = "Invalid value for 'content_scripts[*].match_about_blank'."; -const char kInvalidMatchDataUrls[] = - "Invalid value for 'content_scripts[*].match_data_urls'."; +const char kInvalidMatchOriginAsFallback[] = + "Invalid value for 'content_scripts[*].match_origin_as_fallback'."; const char kInvalidMatchCount[] = "Invalid value for 'content_scripts[*].matches'. There must be at least " "one match specified.";
diff --git a/extensions/common/manifest_constants.h b/extensions/common/manifest_constants.h index f5179ce..7b37619 100644 --- a/extensions/common/manifest_constants.h +++ b/extensions/common/manifest_constants.h
@@ -108,7 +108,7 @@ extern const char kLinkedAppIconSize[]; extern const char kManifestVersion[]; extern const char kMatchAboutBlank[]; -extern const char kMatchDataUrls[]; +extern const char kMatchOriginAsFallback[]; extern const char kMatches[]; extern const char kMIMETypes[]; extern const char kMimeTypesHandler[]; @@ -419,7 +419,7 @@ extern const char kInvalidManifestVersionOld[]; extern const char kInvalidMatch[]; extern const char kInvalidMatchAboutBlank[]; -extern const char kInvalidMatchDataUrls[]; +extern const char kInvalidMatchOriginAsFallback[]; extern const char kInvalidMatchCount[]; extern const char kInvalidMatches[]; extern const char kInvalidMIMETypes[];
diff --git a/extensions/common/manifest_handlers/content_scripts_handler.cc b/extensions/common/manifest_handlers/content_scripts_handler.cc index efa2ab52..b2c2b70 100644 --- a/extensions/common/manifest_handlers/content_scripts_handler.cc +++ b/extensions/common/manifest_handlers/content_scripts_handler.cc
@@ -127,19 +127,19 @@ result->set_match_about_blank(match_about_blank->GetBool()); } - // match data urls + // match origin as fallback if (base::FeatureList::IsEnabled( - extensions_features::kContentScriptsOnDataUrls)) { - const base::Value* match_data_urls = - content_script.FindKey(keys::kMatchDataUrls); - if (match_data_urls) { - if (!match_data_urls->is_bool()) { + extensions_features::kContentScriptsMatchOriginAsFallback)) { + const base::Value* match_origin_as_fallback = + content_script.FindKey(keys::kMatchOriginAsFallback); + if (match_origin_as_fallback) { + if (!match_origin_as_fallback->is_bool()) { *error = ErrorUtils::FormatErrorMessageUTF16( - errors::kInvalidMatchDataUrls, + errors::kInvalidMatchOriginAsFallback, base::NumberToString(definition_index)); return nullptr; } - result->set_match_data_urls(match_data_urls->GetBool()); + result->set_match_origin_as_fallback(match_origin_as_fallback->GetBool()); } }
diff --git a/extensions/common/user_script.cc b/extensions/common/user_script.cc index 509f39bf..ac3b90ad 100644 --- a/extensions/common/user_script.cc +++ b/extensions/common/user_script.cc
@@ -98,7 +98,7 @@ emulate_greasemonkey_(false), match_all_frames_(false), match_about_blank_(false), - match_data_urls_(false), + match_origin_as_fallback_(false), incognito_enabled_(false) {} UserScript::~UserScript() { @@ -133,7 +133,7 @@ script->emulate_greasemonkey_ = other.emulate_greasemonkey_; script->match_all_frames_ = other.match_all_frames_; script->match_about_blank_ = other.match_about_blank_; - script->match_data_urls_ = other.match_data_urls_; + script->match_origin_as_fallback_ = other.match_origin_as_fallback_; script->incognito_enabled_ = other.incognito_enabled_; return script; @@ -200,7 +200,7 @@ pickle->WriteBool(emulate_greasemonkey()); pickle->WriteBool(match_all_frames()); pickle->WriteBool(match_about_blank()); - pickle->WriteBool(match_data_urls()); + pickle->WriteBool(match_origin_as_fallback()); pickle->WriteBool(is_incognito_enabled()); PickleHostID(pickle, host_id_); @@ -256,7 +256,7 @@ CHECK(iter->ReadBool(&emulate_greasemonkey_)); CHECK(iter->ReadBool(&match_all_frames_)); CHECK(iter->ReadBool(&match_about_blank_)); - CHECK(iter->ReadBool(&match_data_urls_)); + CHECK(iter->ReadBool(&match_origin_as_fallback_)); CHECK(iter->ReadBool(&incognito_enabled_)); UnpickleHostID(pickle, iter, &host_id_);
diff --git a/extensions/common/user_script.h b/extensions/common/user_script.h index 8847a75..e145bc6 100644 --- a/extensions/common/user_script.h +++ b/extensions/common/user_script.h
@@ -174,9 +174,12 @@ bool match_about_blank() const { return match_about_blank_; } void set_match_about_blank(bool val) { match_about_blank_ = val; } - // Whether to match data:-scheme URLs. - bool match_data_urls() const { return match_data_urls_; } - void set_match_data_urls(bool val) { match_data_urls_ = val; } + // Whether to match on the origin if an appropriate URL cannot be found for + // the frame. + bool match_origin_as_fallback() const { return match_origin_as_fallback_; } + void set_match_origin_as_fallback(bool val) { + match_origin_as_fallback_ = val; + } // The globs, if any, that determine which pages this script runs against. // These are only used with "standalone" Greasemonkey-like user scripts. @@ -237,7 +240,7 @@ // Returns true if the script should be applied to the given // |effective_document_url|. It is the caller's responsibility to calculate // |effective_document_url| based on match_about_blank() and - // match_data_urls(). + // match_origin_as_fallback(). bool MatchesDocument(const GURL& effective_document_url, bool is_subframe) const; @@ -330,9 +333,11 @@ // Defaults to false. bool match_about_blank_; - // Whether the user script should run in data:-scheme frames. - // Defaults to false. - bool match_data_urls_; + // Whether the user script should run in frames whose initiator / precursor + // origin matches a match pattern, if an appropriate URL cannot be found for + // the frame for matching purposes, such as in the case of about:, data:, and + // other schemes. + bool match_origin_as_fallback_; // True if the script should be injected into an incognito tab. bool incognito_enabled_;
diff --git a/extensions/renderer/api/automation/automation_internal_custom_bindings.cc b/extensions/renderer/api/automation/automation_internal_custom_bindings.cc index e6453dc2..c5644cf 100644 --- a/extensions/renderer/api/automation/automation_internal_custom_bindings.cc +++ b/extensions/renderer/api/automation/automation_internal_custom_bindings.cc
@@ -305,7 +305,8 @@ AutomationAXTreeWrapper* tree_wrapper, ui::AXNode* node, int start, - int end); + int end, + bool clipped); class NodeIDPlusRangeWrapper : public base::RefCountedThreadSafe<NodeIDPlusRangeWrapper> { @@ -316,8 +317,8 @@ void Run(const v8::FunctionCallbackInfo<v8::Value>& args) { v8::Isolate* isolate = automation_bindings_->GetIsolate(); - if (args.Length() < 4 || !args[0]->IsString() || !args[1]->IsNumber() || - !args[2]->IsNumber() || !args[3]->IsNumber()) { + if (args.Length() < 5 || !args[0]->IsString() || !args[1]->IsNumber() || + !args[2]->IsNumber() || !args[3]->IsNumber() || !args[4]->IsBoolean()) { ThrowInvalidArgumentsException(automation_bindings_); } @@ -328,6 +329,7 @@ int node_id = args[1]->Int32Value(context).FromMaybe(0); int start = args[2]->Int32Value(context).FromMaybe(0); int end = args[3]->Int32Value(context).FromMaybe(0); + bool clipped = args[4]->BooleanValue(isolate); AutomationAXTreeWrapper* tree_wrapper = automation_bindings_->GetAutomationAXTreeWrapperFromTreeID(tree_id); @@ -338,7 +340,8 @@ if (!node) return; - function_(isolate, args.GetReturnValue(), tree_wrapper, node, start, end); + function_(isolate, args.GetReturnValue(), tree_wrapper, node, start, end, + clipped); } private: @@ -929,7 +932,7 @@ "GetBoundsForRange", [](v8::Isolate* isolate, v8::ReturnValue<v8::Value> result, AutomationAXTreeWrapper* tree_wrapper, ui::AXNode* node, int start, - int end) { + int end, bool clipped) { if (node->data().role != ax::mojom::Role::kInlineTextBox) return; @@ -973,8 +976,9 @@ // Convert from local to global coordinates second, after subsetting, // because the local to global conversion might involve matrix // transformations. - gfx::Rect global_bounds = ComputeGlobalNodeBounds( - tree_wrapper, node, local_bounds, nullptr, true /* clip_bounds */); + gfx::Rect global_bounds = + ComputeGlobalNodeBounds(tree_wrapper, node, local_bounds, nullptr, + clipped /* clip_bounds */); result.Set(RectToV8Object(isolate, global_bounds)); });
diff --git a/extensions/renderer/api/automation/automation_internal_custom_bindings.h b/extensions/renderer/api/automation/automation_internal_custom_bindings.h index fd936a2a..e92e5c8 100644 --- a/extensions/renderer/api/automation/automation_internal_custom_bindings.h +++ b/extensions/renderer/api/automation/automation_internal_custom_bindings.h
@@ -161,7 +161,8 @@ AutomationAXTreeWrapper* tree_wrapper, ui::AXNode* node, int start, - int end)); + int end, + bool clipped)); void RouteNodeIDPlusStringBoolFunction( const std::string& name, std::function<void(v8::Isolate* isolate,
diff --git a/extensions/renderer/programmatic_script_injector.cc b/extensions/renderer/programmatic_script_injector.cc index 04869d8..8b6f67d7 100644 --- a/extensions/renderer/programmatic_script_injector.cc +++ b/extensions/renderer/programmatic_script_injector.cc
@@ -83,7 +83,7 @@ GURL effective_document_url = ScriptContext::GetEffectiveDocumentURLForInjection( frame, frame->GetDocument().Url(), params_->match_about_blank, - /*match_data_urls=*/false); + /*match_origin_as_fallback=*/false); if (params_->is_web_view) { if (frame->Parent()) { // This is a subframe inside <webview>, so allow it.
diff --git a/extensions/renderer/resources/automation/automation_node.js b/extensions/renderer/resources/automation/automation_node.js index fa2167b..6aac129 100644 --- a/extensions/renderer/resources/automation/automation_node.js +++ b/extensions/renderer/resources/automation/automation_node.js
@@ -226,6 +226,7 @@ * @param {number} nodeID The id of a node. * @param {number} startIndex The start index of the range. * @param {number} endIndex The end index of the range. + * @param {boolean} clipped Whether the bounds are clipped to ancestors. * @return {?automation.Rect} The bounding box of the subrange of this node, * or the location if there are no subranges, or undefined if * the tree or node wasn't found. @@ -619,6 +620,20 @@ }, boundsForRange: function(startIndex, endIndex, callback) { + this.boundsForRangeInternal_( + startIndex, endIndex, true /* clipped */, callback); + }, + + unclippedBoundsForRange: function(startIndex, endIndex, callback) { + this.boundsForRangeInternal_( + startIndex, endIndex, false /* clipped */, callback); + }, + + boundsForRangeInternal_: function(startIndex, endIndex, clipped, callback) { + const errorMessage = clipped ? + 'Error with bounds for range callback' : + 'Error with unclipped bounds for range callback'; + if (!this.rootImpl) return; @@ -632,11 +647,11 @@ if (!GetBoolAttribute(this.treeID, this.id, 'supportsTextLocation')) { try { - callback( - GetBoundsForRange(this.treeID, this.id, startIndex, endIndex)); + callback(GetBoundsForRange( + this.treeID, this.id, startIndex, endIndex, clipped /* clipped */)); return; } catch (e) { - logging.WARNING('Error with bounds for range callback' + e); + logging.WARNING(errorMessage + e); } return; } @@ -1841,6 +1856,7 @@ 'stopDuckingMedia', 'suspendMedia', 'toString', + 'unclippedBoundsForRange' ], readonly: $Array.concat( publicAttributes,
diff --git a/extensions/renderer/script_context.cc b/extensions/renderer/script_context.cc index b8868477..d3acdf2 100644 --- a/extensions/renderer/script_context.cc +++ b/extensions/renderer/script_context.cc
@@ -467,14 +467,14 @@ blink::WebLocalFrame* frame, const GURL& document_url, bool match_about_blank, - bool match_data_urls) { + bool match_origin_as_fallback) { // We explicitly allow inaccessible parents here. Extensions should still be // able to inject into a sandboxed iframe if it has access to the embedding // origin. int flags = kAllowInaccessibleParents; if (match_about_blank) flags |= kAllowAboutFrames; - if (match_data_urls) + if (match_origin_as_fallback) flags |= kAllowDataFrames; return GetEffectiveDocumentURL(frame, document_url, flags);
diff --git a/extensions/renderer/script_context.h b/extensions/renderer/script_context.h index 670c38da..472a645 100644 --- a/extensions/renderer/script_context.h +++ b/extensions/renderer/script_context.h
@@ -226,14 +226,16 @@ // frame without an about: or data: URL that matches the initiator origin. // This may not be the immediate parent. Returns |document_url| if it is not // an about: or data: URL, if the corresponding |match_about_blank| or - // |match_data_urls| is false, or if a suitable parent cannot be found. + // |match_origin_as_fallback| is false, or if a suitable parent cannot be + // found. // Considers parent contexts that cannot be accessed (as is the case for // sandboxed frames). // TODO(devlin): Enum-ify match_about_* here. - static GURL GetEffectiveDocumentURLForInjection(blink::WebLocalFrame* frame, - const GURL& document_url, - bool match_about_blank, - bool match_data_urls); + static GURL GetEffectiveDocumentURLForInjection( + blink::WebLocalFrame* frame, + const GURL& document_url, + bool match_about_blank, + bool match_origin_as_fallback); // Grants a set of content capabilities to this context. void set_content_capabilities(APIPermissionSet capabilities) {
diff --git a/extensions/renderer/script_context_browsertest.cc b/extensions/renderer/script_context_browsertest.cc index ce7e9c2..1ff15549 100644 --- a/extensions/renderer/script_context_browsertest.cc +++ b/extensions/renderer/script_context_browsertest.cc
@@ -25,12 +25,12 @@ GURL GetEffectiveDocumentURLForInjection(WebLocalFrame* frame) { return ScriptContext::GetEffectiveDocumentURLForInjection( frame, frame->GetDocument().Url(), - /*match_about_blank=*/true, /*match_data_urls=*/true); + /*match_about_blank=*/true, /*match_origin_as_fallback=*/true); } GURL GetEffectiveURLForInjectionWithoutMatchingData(WebLocalFrame* frame) { return ScriptContext::GetEffectiveDocumentURLForInjection( frame, frame->GetDocument().Url(), - /*match_about_blank=*/true, /*match_data_urls=*/false); + /*match_about_blank=*/true, /*match_origin_as_fallback=*/false); } };
diff --git a/extensions/renderer/user_script_injector.cc b/extensions/renderer/user_script_injector.cc index afaccc60..691f6625 100644 --- a/extensions/renderer/user_script_injector.cc +++ b/extensions/renderer/user_script_injector.cc
@@ -204,7 +204,7 @@ GURL effective_document_url = ScriptContext::GetEffectiveDocumentURLForInjection( web_frame, web_frame->GetDocument().Url(), - script_->match_about_blank(), script_->match_data_urls()); + script_->match_about_blank(), script_->match_origin_as_fallback()); return injection_host->CanExecuteOnFrame( effective_document_url,
diff --git a/extensions/renderer/user_script_set.cc b/extensions/renderer/user_script_set.cc index a418c26..877982f5 100644 --- a/extensions/renderer/user_script_set.cc +++ b/extensions/renderer/user_script_set.cc
@@ -218,7 +218,7 @@ GURL effective_document_url = ScriptContext::GetEffectiveDocumentURLForInjection( web_frame, document_url, script->match_about_blank(), - script->match_data_urls()); + script->match_origin_as_fallback()); bool is_subframe = web_frame->Parent(); if (!script->MatchesDocument(effective_document_url, is_subframe))
diff --git a/ios/chrome/browser/browsing_data/BUILD.gn b/ios/chrome/browser/browsing_data/BUILD.gn index adac5f5..cb074006 100644 --- a/ios/chrome/browser/browsing_data/BUILD.gn +++ b/ios/chrome/browser/browsing_data/BUILD.gn
@@ -45,6 +45,7 @@ "//components/open_from_clipboard", "//components/password_manager/core/browser", "//components/prefs", + "//components/safe_browsing/core:features", "//components/sessions", "//components/signin/ios/browser", "//components/translate/core/browser:browser", @@ -57,6 +58,7 @@ "//ios/chrome/browser/language", "//ios/chrome/browser/passwords", "//ios/chrome/browser/reading_list:reading_list_remover", + "//ios/chrome/browser/safe_browsing", "//ios/chrome/browser/search_engines", "//ios/chrome/browser/sessions", "//ios/chrome/browser/sessions:serialisation",
diff --git a/ios/chrome/browser/browsing_data/browsing_data_remover_impl.mm b/ios/chrome/browser/browsing_data/browsing_data_remover_impl.mm index 2123ad2..1f6ad4b1 100644 --- a/ios/chrome/browser/browsing_data/browsing_data_remover_impl.mm +++ b/ios/chrome/browser/browsing_data/browsing_data_remover_impl.mm
@@ -33,6 +33,7 @@ #include "components/open_from_clipboard/clipboard_recent_content.h" #include "components/password_manager/core/browser/password_store.h" #include "components/prefs/pref_service.h" +#include "components/safe_browsing/core/features.h" #include "components/search_engines/template_url_service.h" #include "components/sessions/core/tab_restore_service.h" #include "components/signin/ios/browser/account_consistency_service.h" @@ -52,6 +53,7 @@ #include "ios/chrome/browser/language/url_language_histogram_factory.h" #include "ios/chrome/browser/passwords/ios_chrome_password_store_factory.h" #include "ios/chrome/browser/reading_list/reading_list_remover_helper.h" +#import "ios/chrome/browser/safe_browsing/safe_browsing_service.h" #include "ios/chrome/browser/search_engines/template_url_service_factory.h" #include "ios/chrome/browser/sessions/ios_chrome_tab_restore_service_factory.h" #import "ios/chrome/browser/sessions/session_service_ios.h" @@ -294,14 +296,24 @@ if (IsRemoveDataMaskSet(mask, BrowsingDataRemoveMask::REMOVE_COOKIES)) { base::RecordAction(base::UserMetricsAction("ClearBrowsingData_Cookies")); + net::CookieDeletionInfo::TimeRange deletion_time_range = + net::CookieDeletionInfo::TimeRange(delete_begin, delete_end); base::PostTask( FROM_HERE, task_traits, base::BindOnce( - &ClearCookies, context_getter_, - net::CookieDeletionInfo::TimeRange(delete_begin, delete_end), + &ClearCookies, context_getter_, deletion_time_range, base::BindOnce(base::IgnoreResult(&base::TaskRunner::PostTask), current_task_runner, FROM_HERE, CreatePendingTaskCompletionClosure()))); + if (base::FeatureList::IsEnabled( + safe_browsing::kSafeBrowsingAvailableOnIOS) && + !browser_state_->IsOffTheRecord()) { + GetApplicationContext()->GetSafeBrowsingService()->ClearCookies( + deletion_time_range, + base::BindOnce(base::IgnoreResult(&base::TaskRunner::PostTask), + current_task_runner, FROM_HERE, + CreatePendingTaskCompletionClosure())); + } } // There is no need to clean the remaining types of data for off-the-record
diff --git a/ios/chrome/browser/infobars/infobar_ios.h b/ios/chrome/browser/infobars/infobar_ios.h index a31b229..0c0fe5d 100644 --- a/ios/chrome/browser/infobars/infobar_ios.h +++ b/ios/chrome/browser/infobars/infobar_ios.h
@@ -63,6 +63,11 @@ // should be skipped but not the badge and subsequent modals. bool skip_banner() const { return skip_banner_; } + // Whether or not the banner should be shown for a longer time and be + // presented immediately. + bool high_priority() const { return high_priority_; } + void set_high_priority(bool high_priority); + // Returns the InfobarUIDelegate associated to this Infobar. id<InfobarUIDelegate> InfobarUIDelegate(); @@ -86,6 +91,7 @@ InfobarType infobar_type_; bool accepted_ = false; bool skip_banner_ = false; + bool high_priority_ = false; base::WeakPtrFactory<InfoBarIOS> weak_factory_{this}; };
diff --git a/ios/chrome/browser/infobars/infobar_ios.mm b/ios/chrome/browser/infobars/infobar_ios.mm index 29e47eab..1fab207a 100644 --- a/ios/chrome/browser/infobars/infobar_ios.mm +++ b/ios/chrome/browser/infobars/infobar_ios.mm
@@ -52,6 +52,12 @@ } } +void InfoBarIOS::set_high_priority(bool high_priority) { + if (high_priority_ == high_priority) + return; + high_priority_ = high_priority; +} + id<InfobarUIDelegate> InfoBarIOS::InfobarUIDelegate() { DCHECK(ui_delegate_); return ui_delegate_;
diff --git a/ios/chrome/browser/infobars/infobar_utils.mm b/ios/chrome/browser/infobars/infobar_utils.mm index 20aa3661..5e80059 100644 --- a/ios/chrome/browser/infobars/infobar_utils.mm +++ b/ios/chrome/browser/infobars/infobar_utils.mm
@@ -47,5 +47,8 @@ badgeSupport:NO type:InfobarType::kInfobarTypeConfirm]; coordinator.highPriorityPresentation = YES; - return std::make_unique<InfoBarIOS>(coordinator, std::move(delegate)); + std::unique_ptr<InfoBarIOS> infobar = + std::make_unique<InfoBarIOS>(coordinator, std::move(delegate)); + infobar->set_high_priority(true); + return infobar; }
diff --git a/ios/chrome/browser/infobars/overlays/browser_agent/infobar_overlay_browser_agent_unittest.mm b/ios/chrome/browser/infobars/overlays/browser_agent/infobar_overlay_browser_agent_unittest.mm index 962299de..d7bd9dd 100644 --- a/ios/chrome/browser/infobars/overlays/browser_agent/infobar_overlay_browser_agent_unittest.mm +++ b/ios/chrome/browser/infobars/overlays/browser_agent/infobar_overlay_browser_agent_unittest.mm
@@ -129,7 +129,7 @@ // that has the same InfobarOverlayType as the test fixture. std::unique_ptr<OverlayRequest> CreateRequest() { return OverlayRequest::CreateWithConfig<InfobarOverlayRequestConfig>( - &infobar_, GetParam()); + &infobar_, GetParam(), false); } OverlayModality modality() {
diff --git a/ios/chrome/browser/infobars/overlays/browser_agent/interaction_handlers/common/infobar_banner_overlay_request_callback_installer_unittest.mm b/ios/chrome/browser/infobars/overlays/browser_agent/interaction_handlers/common/infobar_banner_overlay_request_callback_installer_unittest.mm index 34b805ba..26dd8c8b 100644 --- a/ios/chrome/browser/infobars/overlays/browser_agent/interaction_handlers/common/infobar_banner_overlay_request_callback_installer_unittest.mm +++ b/ios/chrome/browser/infobars/overlays/browser_agent/interaction_handlers/common/infobar_banner_overlay_request_callback_installer_unittest.mm
@@ -31,7 +31,7 @@ &mock_handler_) { std::unique_ptr<OverlayRequest> request = OverlayRequest::CreateWithConfig<InfobarOverlayRequestConfig>( - &infobar_, InfobarOverlayType::kBanner); + &infobar_, InfobarOverlayType::kBanner, infobar_.high_priority()); request_ = request.get(); queue()->AddRequest(std::move(request)); installer_.InstallCallbacks(request_);
diff --git a/ios/chrome/browser/infobars/overlays/browser_agent/interaction_handlers/common/infobar_modal_overlay_request_callback_installer_unittest.mm b/ios/chrome/browser/infobars/overlays/browser_agent/interaction_handlers/common/infobar_modal_overlay_request_callback_installer_unittest.mm index 6f914a0..bea693c 100644 --- a/ios/chrome/browser/infobars/overlays/browser_agent/interaction_handlers/common/infobar_modal_overlay_request_callback_installer_unittest.mm +++ b/ios/chrome/browser/infobars/overlays/browser_agent/interaction_handlers/common/infobar_modal_overlay_request_callback_installer_unittest.mm
@@ -39,7 +39,8 @@ InfobarModalOverlayRequestCallbackInstallerTest() : request_(OverlayRequest::CreateWithConfig<InfobarOverlayRequestConfig>( &infobar_, - InfobarOverlayType::kModal)), + InfobarOverlayType::kModal, + infobar_.high_priority())), installer_(&mock_handler_) { installer_.InstallCallbacks(request_.get()); }
diff --git a/ios/chrome/browser/infobars/overlays/fake_infobar_overlay_request_factory.mm b/ios/chrome/browser/infobars/overlays/fake_infobar_overlay_request_factory.mm index cbeab154..f0eca12d 100644 --- a/ios/chrome/browser/infobars/overlays/fake_infobar_overlay_request_factory.mm +++ b/ios/chrome/browser/infobars/overlays/fake_infobar_overlay_request_factory.mm
@@ -21,5 +21,6 @@ infobars::InfoBar* infobar, InfobarOverlayType type) { return OverlayRequest::CreateWithConfig<InfobarOverlayRequestConfig>( - static_cast<InfoBarIOS*>(infobar), type); + static_cast<InfoBarIOS*>(infobar), type, + static_cast<InfoBarIOS*>(infobar)->high_priority()); }
diff --git a/ios/chrome/browser/infobars/overlays/infobar_modal_completion_notifier_unittest.mm b/ios/chrome/browser/infobars/overlays/infobar_modal_completion_notifier_unittest.mm index 8c862924..ba645e0 100644 --- a/ios/chrome/browser/infobars/overlays/infobar_modal_completion_notifier_unittest.mm +++ b/ios/chrome/browser/infobars/overlays/infobar_modal_completion_notifier_unittest.mm
@@ -60,7 +60,7 @@ // Add a detail sheet request for |infobar_|. std::unique_ptr<OverlayRequest> detail_sheet_request = OverlayRequest::CreateWithConfig<InfobarOverlayRequestConfig>( - &infobar_, InfobarOverlayType::kDetailSheet); + &infobar_, InfobarOverlayType::kDetailSheet, false); std::unique_ptr<FakeOverlayRequestCancelHandler> passed_detail_sheet_cancel_handler = std::make_unique<FakeOverlayRequestCancelHandler>( @@ -72,7 +72,7 @@ // Add a modal request for |infobar_|. std::unique_ptr<OverlayRequest> modal_request = OverlayRequest::CreateWithConfig<InfobarOverlayRequestConfig>( - &infobar_, InfobarOverlayType::kModal); + &infobar_, InfobarOverlayType::kModal, false); std::unique_ptr<FakeOverlayRequestCancelHandler> passed_modal_cancel_handler = std::make_unique<FakeOverlayRequestCancelHandler>(modal_request.get(), queue());
diff --git a/ios/chrome/browser/infobars/overlays/infobar_overlay_tab_helper.mm b/ios/chrome/browser/infobars/overlays/infobar_overlay_tab_helper.mm index 7c70ac5..089f359 100644 --- a/ios/chrome/browser/infobars/overlays/infobar_overlay_tab_helper.mm +++ b/ios/chrome/browser/infobars/overlays/infobar_overlay_tab_helper.mm
@@ -46,15 +46,21 @@ void InfobarOverlayTabHelper::OverlayRequestScheduler::OnInfoBarAdded( InfoBar* infobar) { + InfoBarIOS* ios_infobar = static_cast<InfoBarIOS*>(infobar); // Skip showing banner if it was requested. Badge and modals will keep // showing. - if (static_cast<InfoBarIOS*>(infobar)->skip_banner()) + if (ios_infobar->skip_banner()) return; - InsertParams params(static_cast<InfoBarIOS*>(infobar)); + InsertParams params(ios_infobar); params.overlay_type = InfobarOverlayType::kBanner; - params.insertion_index = OverlayRequestQueue::FromWebState( - web_state_, OverlayModality::kInfobarBanner) - ->size(); + // If the Infobar high priority, then insert it into the front of the banner + // queue. + params.insertion_index = + ios_infobar->high_priority() + ? 0 + : OverlayRequestQueue::FromWebState(web_state_, + OverlayModality::kInfobarBanner) + ->size(); params.source = InfobarOverlayInsertionSource::kInfoBarManager; tab_helper_->request_inserter()->InsertOverlayRequest(params); }
diff --git a/ios/chrome/browser/infobars/overlays/infobar_overlay_tab_helper_unittest.mm b/ios/chrome/browser/infobars/overlays/infobar_overlay_tab_helper_unittest.mm index d2e6f7f5..4e58e95f 100644 --- a/ios/chrome/browser/infobars/overlays/infobar_overlay_tab_helper_unittest.mm +++ b/ios/chrome/browser/infobars/overlays/infobar_overlay_tab_helper_unittest.mm
@@ -13,6 +13,7 @@ #import "ios/chrome/browser/infobars/overlays/infobar_overlay_request_inserter.h" #include "ios/chrome/browser/infobars/test/fake_infobar_delegate.h" #import "ios/chrome/browser/infobars/test/fake_infobar_ios.h" +#import "ios/chrome/browser/overlays/public/common/infobars/infobar_overlay_request_config.h" #include "ios/chrome/browser/overlays/public/overlay_request.h" #import "ios/chrome/browser/overlays/public/overlay_request_queue.h" #include "ios/chrome/browser/overlays/test/fake_overlay_user_data.h" @@ -61,3 +62,20 @@ manager()->AddInfoBar(std::make_unique<FakeInfobarIOS>()); ASSERT_TRUE(front_request()); } + +TEST_F(InfobarOverlayTabHelperTest, HighPriorityInfoBar) { + ASSERT_FALSE(front_request()); + manager()->AddInfoBar(std::make_unique<FakeInfobarIOS>()); + ASSERT_TRUE(front_request()); + + std::unique_ptr<FakeInfobarIOS> high_priority_infobar = + std::make_unique<FakeInfobarIOS>( + InfobarType::kInfobarTypeTranslate, + base::ASCIIToUTF16("FakeTranslateInfobar")); + high_priority_infobar->set_high_priority(true); + manager()->AddInfoBar(std::move(high_priority_infobar)); + OverlayRequest* request = front_request(); + InfobarOverlayRequestConfig* config = + request->GetConfig<InfobarOverlayRequestConfig>(); + ASSERT_TRUE(config->is_high_priority()); +}
diff --git a/ios/chrome/browser/infobars/overlays/infobar_overlay_util_unittest.mm b/ios/chrome/browser/infobars/overlays/infobar_overlay_util_unittest.mm index 668b7d34..cdfa5a8 100644 --- a/ios/chrome/browser/infobars/overlays/infobar_overlay_util_unittest.mm +++ b/ios/chrome/browser/infobars/overlays/infobar_overlay_util_unittest.mm
@@ -29,7 +29,7 @@ auto infobar_request = OverlayRequest::CreateWithConfig<InfobarOverlayRequestConfig>( - &infobar, InfobarOverlayType::kBanner); + &infobar, InfobarOverlayType::kBanner, infobar.high_priority()); EXPECT_EQ(&infobar, GetOverlayRequestInfobar(infobar_request.get())); auto non_infobar_request = @@ -42,14 +42,16 @@ FakeInfobarIOS confirm_infobar; auto confirm_infobar_request = OverlayRequest::CreateWithConfig<InfobarOverlayRequestConfig>( - &confirm_infobar, InfobarOverlayType::kBanner); + &confirm_infobar, InfobarOverlayType::kBanner, + confirm_infobar.high_priority()); EXPECT_EQ(InfobarType::kInfobarTypeConfirm, GetOverlayRequestInfobarType(confirm_infobar_request.get())); FakeInfobarIOS translate_infobar(InfobarType::kInfobarTypeTranslate); auto translate_infobar_request = OverlayRequest::CreateWithConfig<InfobarOverlayRequestConfig>( - &translate_infobar, InfobarOverlayType::kBanner); + &translate_infobar, InfobarOverlayType::kBanner, + translate_infobar.high_priority()); EXPECT_EQ(InfobarType::kInfobarTypeTranslate, GetOverlayRequestInfobarType(translate_infobar_request.get())); } @@ -60,13 +62,13 @@ FakeInfobarIOS infobar; auto banner_request = OverlayRequest::CreateWithConfig<InfobarOverlayRequestConfig>( - &infobar, InfobarOverlayType::kBanner); + &infobar, InfobarOverlayType::kBanner, infobar.high_priority()); EXPECT_EQ(InfobarOverlayType::kBanner, GetOverlayRequestInfobarOverlayType(banner_request.get())); auto modal_request = OverlayRequest::CreateWithConfig<InfobarOverlayRequestConfig>( - &infobar, InfobarOverlayType::kModal); + &infobar, InfobarOverlayType::kModal, infobar.high_priority()); EXPECT_EQ(InfobarOverlayType::kModal, GetOverlayRequestInfobarOverlayType(modal_request.get())); } @@ -83,13 +85,13 @@ OverlayRequestQueue::FromWebState(&web_state, OverlayModality::kTesting); queue->AddRequest( OverlayRequest::CreateWithConfig<InfobarOverlayRequestConfig>( - &infobar0, InfobarOverlayType::kBanner)); + &infobar0, InfobarOverlayType::kBanner, infobar0.high_priority())); queue->AddRequest( OverlayRequest::CreateWithConfig<InfobarOverlayRequestConfig>( - &infobar1, InfobarOverlayType::kBanner)); + &infobar1, InfobarOverlayType::kBanner, infobar1.high_priority())); queue->AddRequest( OverlayRequest::CreateWithConfig<InfobarOverlayRequestConfig>( - &infobar2, InfobarOverlayType::kBanner)); + &infobar2, InfobarOverlayType::kBanner, infobar2.high_priority())); size_t index = 0; EXPECT_TRUE(GetInfobarOverlayRequestIndex(queue, &infobar0, &index));
diff --git a/ios/chrome/browser/net/BUILD.gn b/ios/chrome/browser/net/BUILD.gn index 3d1cb2b..4ed5f6f 100644 --- a/ios/chrome/browser/net/BUILD.gn +++ b/ios/chrome/browser/net/BUILD.gn
@@ -32,7 +32,6 @@ "//components/update_client", "//ios/chrome/browser", "//ios/chrome/browser/browser_state", - "//ios/chrome/browser/browsing_data", "//ios/net", "//ios/web/common", "//net",
diff --git a/ios/chrome/browser/overlays/public/common/infobars/infobar_overlay_request_config.h b/ios/chrome/browser/overlays/public/common/infobars/infobar_overlay_request_config.h index 1978287..b9ecf12 100644 --- a/ios/chrome/browser/overlays/public/common/infobars/infobar_overlay_request_config.h +++ b/ios/chrome/browser/overlays/public/common/infobars/infobar_overlay_request_config.h
@@ -25,17 +25,21 @@ InfobarType infobar_type() const { return infobar_type_; } // Whether |infobar_| has a badge. bool has_badge() const { return has_badge_; } + // Whether the |infobar_| banner should be presented for a longer time. + bool is_high_priority() const { return is_high_priority_; } // The overlay type for this infobar OverlayRequest. InfobarOverlayType overlay_type() const { return overlay_type_; } private: OVERLAY_USER_DATA_SETUP(InfobarOverlayRequestConfig); explicit InfobarOverlayRequestConfig(InfoBarIOS* infobar, - InfobarOverlayType overlay_type); + InfobarOverlayType overlay_type, + bool is_high_priority); base::WeakPtr<InfoBarIOS> infobar_ = nullptr; InfobarType infobar_type_; bool has_badge_ = false; + bool is_high_priority_ = false; InfobarOverlayType overlay_type_; };
diff --git a/ios/chrome/browser/overlays/public/common/infobars/infobar_overlay_request_config.mm b/ios/chrome/browser/overlays/public/common/infobars/infobar_overlay_request_config.mm index 5ce684d..2fc260a 100644 --- a/ios/chrome/browser/overlays/public/common/infobars/infobar_overlay_request_config.mm +++ b/ios/chrome/browser/overlays/public/common/infobars/infobar_overlay_request_config.mm
@@ -17,11 +17,13 @@ InfobarOverlayRequestConfig::InfobarOverlayRequestConfig( InfoBarIOS* infobar, - InfobarOverlayType overlay_type) + InfobarOverlayType overlay_type, + bool is_high_priority) : infobar_(infobar->GetWeakPtr()), infobar_type_(infobar->infobar_type()), has_badge_(BadgeTypeForInfobarType(infobar_type_) != BadgeType::kBadgeTypeNone), + is_high_priority_(is_high_priority), overlay_type_(overlay_type) {} InfobarOverlayRequestConfig::~InfobarOverlayRequestConfig() = default;
diff --git a/ios/chrome/browser/overlays/public/infobar_banner/confirm_infobar_banner_overlay_request_config.h b/ios/chrome/browser/overlays/public/infobar_banner/confirm_infobar_banner_overlay_request_config.h index bec1a77a..e00d26f6 100644 --- a/ios/chrome/browser/overlays/public/infobar_banner/confirm_infobar_banner_overlay_request_config.h +++ b/ios/chrome/browser/overlays/public/infobar_banner/confirm_infobar_banner_overlay_request_config.h
@@ -32,6 +32,9 @@ // The infobar's icon image. gfx::Image icon_image() const { return icon_image_; } + // Whether to present the Infobar's banner for a longer amount of time. + bool is_high_priority() const { return is_high_priority_; } + private: OVERLAY_USER_DATA_SETUP(ConfirmBannerRequestConfig); explicit ConfirmBannerRequestConfig(infobars::InfoBar* infobar); @@ -45,6 +48,8 @@ base::string16 message_text_; base::string16 button_label_text_; gfx::Image icon_image_; + // True if the infobar's banner should be presented for a longer time. + bool is_high_priority_ = false; }; } // namespace confirm_infobar_overlays
diff --git a/ios/chrome/browser/overlays/public/infobar_banner/confirm_infobar_banner_overlay_request_config.mm b/ios/chrome/browser/overlays/public/infobar_banner/confirm_infobar_banner_overlay_request_config.mm index 26c24228..561907f 100644 --- a/ios/chrome/browser/overlays/public/infobar_banner/confirm_infobar_banner_overlay_request_config.mm +++ b/ios/chrome/browser/overlays/public/infobar_banner/confirm_infobar_banner_overlay_request_config.mm
@@ -28,6 +28,7 @@ button_label_text_ = delegate->GetButtonLabel(ConfirmInfoBarDelegate::BUTTON_OK); icon_image_ = delegate->GetIcon(); + is_high_priority_ = static_cast<InfoBarIOS*>(infobar)->high_priority(); } ConfirmBannerRequestConfig::~ConfirmBannerRequestConfig() = default; @@ -36,7 +37,7 @@ base::SupportsUserData* user_data) { InfobarOverlayRequestConfig::CreateForUserData( user_data, static_cast<InfoBarIOS*>(infobar_), - InfobarOverlayType::kBanner); + InfobarOverlayType::kBanner, is_high_priority_); } } // namespace confirm_infobar_overlays
diff --git a/ios/chrome/browser/overlays/public/infobar_banner/infobar_banner_placeholder_request_config.mm b/ios/chrome/browser/overlays/public/infobar_banner/infobar_banner_placeholder_request_config.mm index e845885..9ec7624 100644 --- a/ios/chrome/browser/overlays/public/infobar_banner/infobar_banner_placeholder_request_config.mm +++ b/ios/chrome/browser/overlays/public/infobar_banner/infobar_banner_placeholder_request_config.mm
@@ -27,5 +27,5 @@ PlaceholderRequestConfig::CreateForUserData(user_data); InfobarOverlayRequestConfig::CreateForUserData( user_data, static_cast<InfoBarIOS*>(infobar_), - InfobarOverlayType::kBanner); + InfobarOverlayType::kBanner, false); }
diff --git a/ios/chrome/browser/overlays/public/infobar_banner/save_card_infobar_banner_overlay_request_config.mm b/ios/chrome/browser/overlays/public/infobar_banner/save_card_infobar_banner_overlay_request_config.mm index e563acf..2533d296 100644 --- a/ios/chrome/browser/overlays/public/infobar_banner/save_card_infobar_banner_overlay_request_config.mm +++ b/ios/chrome/browser/overlays/public/infobar_banner/save_card_infobar_banner_overlay_request_config.mm
@@ -51,7 +51,7 @@ base::SupportsUserData* user_data) { InfobarOverlayRequestConfig::CreateForUserData( user_data, static_cast<InfoBarIOS*>(infobar_), - InfobarOverlayType::kBanner); + InfobarOverlayType::kBanner, false); } } // namespace save_card_infobar_overlays
diff --git a/ios/chrome/browser/overlays/public/infobar_banner/save_password_infobar_banner_overlay.mm b/ios/chrome/browser/overlays/public/infobar_banner/save_password_infobar_banner_overlay.mm index 70108d8..2ffe3ec 100644 --- a/ios/chrome/browser/overlays/public/infobar_banner/save_password_infobar_banner_overlay.mm +++ b/ios/chrome/browser/overlays/public/infobar_banner/save_password_infobar_banner_overlay.mm
@@ -46,5 +46,5 @@ base::SupportsUserData* user_data) { InfobarOverlayRequestConfig::CreateForUserData( user_data, static_cast<InfoBarIOS*>(infobar_), - InfobarOverlayType::kBanner); + InfobarOverlayType::kBanner, false); }
diff --git a/ios/chrome/browser/overlays/public/infobar_banner/translate_infobar_banner_overlay_request_config.mm b/ios/chrome/browser/overlays/public/infobar_banner/translate_infobar_banner_overlay_request_config.mm index 4385899..a8532f6 100644 --- a/ios/chrome/browser/overlays/public/infobar_banner/translate_infobar_banner_overlay_request_config.mm +++ b/ios/chrome/browser/overlays/public/infobar_banner/translate_infobar_banner_overlay_request_config.mm
@@ -42,7 +42,7 @@ base::SupportsUserData* user_data) { InfobarOverlayRequestConfig::CreateForUserData( user_data, static_cast<InfoBarIOS*>(infobar_), - InfobarOverlayType::kBanner); + InfobarOverlayType::kBanner, false); } } // namespace translate_infobar_overlays
diff --git a/ios/chrome/browser/overlays/public/infobar_modal/password_infobar_modal_overlay_request_config.mm b/ios/chrome/browser/overlays/public/infobar_modal/password_infobar_modal_overlay_request_config.mm index c0db502..8c266ae 100644 --- a/ios/chrome/browser/overlays/public/infobar_modal/password_infobar_modal_overlay_request_config.mm +++ b/ios/chrome/browser/overlays/public/infobar_modal/password_infobar_modal_overlay_request_config.mm
@@ -44,6 +44,6 @@ void PasswordInfobarModalOverlayRequestConfig::CreateAuxiliaryData( base::SupportsUserData* user_data) { - InfobarOverlayRequestConfig::CreateForUserData(user_data, infobar_, - InfobarOverlayType::kModal); + InfobarOverlayRequestConfig::CreateForUserData( + user_data, infobar_, InfobarOverlayType::kModal, false); }
diff --git a/ios/chrome/browser/overlays/public/infobar_modal/save_card_infobar_modal_overlay_request_config.mm b/ios/chrome/browser/overlays/public/infobar_modal/save_card_infobar_modal_overlay_request_config.mm index ed2a5c1..c2a6e02 100644 --- a/ios/chrome/browser/overlays/public/infobar_modal/save_card_infobar_modal_overlay_request_config.mm +++ b/ios/chrome/browser/overlays/public/infobar_modal/save_card_infobar_modal_overlay_request_config.mm
@@ -40,8 +40,8 @@ void SaveCardModalRequestConfig::CreateAuxiliaryData( base::SupportsUserData* user_data) { - InfobarOverlayRequestConfig::CreateForUserData(user_data, infobar_, - InfobarOverlayType::kModal); + InfobarOverlayRequestConfig::CreateForUserData( + user_data, infobar_, InfobarOverlayType::kModal, false); } NSMutableArray<SaveCardMessageWithLinks*>*
diff --git a/ios/chrome/browser/overlays/public/infobar_modal/translate_infobar_modal_overlay_request_config.mm b/ios/chrome/browser/overlays/public/infobar_modal/translate_infobar_modal_overlay_request_config.mm index ea2db49..5bd231f 100644 --- a/ios/chrome/browser/overlays/public/infobar_modal/translate_infobar_modal_overlay_request_config.mm +++ b/ios/chrome/browser/overlays/public/infobar_modal/translate_infobar_modal_overlay_request_config.mm
@@ -41,8 +41,8 @@ void TranslateModalRequestConfig::CreateAuxiliaryData( base::SupportsUserData* user_data) { - InfobarOverlayRequestConfig::CreateForUserData(user_data, infobar_, - InfobarOverlayType::kModal); + InfobarOverlayRequestConfig::CreateForUserData( + user_data, infobar_, InfobarOverlayType::kModal, false); } } // namespace translate_infobar_overlays
diff --git a/ios/chrome/browser/safe_browsing/BUILD.gn b/ios/chrome/browser/safe_browsing/BUILD.gn index bf8b57b..45452191 100644 --- a/ios/chrome/browser/safe_browsing/BUILD.gn +++ b/ios/chrome/browser/safe_browsing/BUILD.gn
@@ -52,6 +52,7 @@ "//ios/chrome/browser/browser_state", "//ios/chrome/browser/content_settings", "//ios/chrome/browser/history", + "//ios/chrome/browser/net", "//ios/chrome/browser/prerender", "//ios/chrome/browser/signin", "//ios/chrome/browser/sync", @@ -176,6 +177,8 @@ "//ios/chrome/test:test_support", "//ios/web/public", "//ios/web/public/test", + "//net:test_support", + "//net/traffic_annotation:test_support", "//services/network/public/cpp", "//testing/gmock", "//testing/gtest",
diff --git a/ios/chrome/browser/safe_browsing/fake_safe_browsing_service.h b/ios/chrome/browser/safe_browsing/fake_safe_browsing_service.h index c2eb65d..a3d5c7b 100644 --- a/ios/chrome/browser/safe_browsing/fake_safe_browsing_service.h +++ b/ios/chrome/browser/safe_browsing/fake_safe_browsing_service.h
@@ -32,6 +32,8 @@ web::WebState* web_state) override; bool CanCheckUrl(const GURL& url) const override; scoped_refptr<network::SharedURLLoaderFactory> GetURLLoaderFactory() override; + void ClearCookies(const net::CookieDeletionInfo::TimeRange& creation_range, + base::OnceClosure callback) override; protected: ~FakeSafeBrowsingService() override;
diff --git a/ios/chrome/browser/safe_browsing/fake_safe_browsing_service.mm b/ios/chrome/browser/safe_browsing/fake_safe_browsing_service.mm index ff4f963..e6f462f 100644 --- a/ios/chrome/browser/safe_browsing/fake_safe_browsing_service.mm +++ b/ios/chrome/browser/safe_browsing/fake_safe_browsing_service.mm
@@ -85,3 +85,9 @@ return base::MakeRefCounted<network::WeakWrapperSharedURLLoaderFactory>( &url_loader_factory_); } + +void FakeSafeBrowsingService::ClearCookies( + const net::CookieDeletionInfo::TimeRange& creation_range, + base::OnceClosure callback) { + DCHECK_CURRENTLY_ON(web::WebThread::UI); +}
diff --git a/ios/chrome/browser/safe_browsing/safe_browsing_service.h b/ios/chrome/browser/safe_browsing/safe_browsing_service.h index a764b521..fcd2bedb 100644 --- a/ios/chrome/browser/safe_browsing/safe_browsing_service.h +++ b/ios/chrome/browser/safe_browsing/safe_browsing_service.h
@@ -5,7 +5,9 @@ #ifndef IOS_CHROME_BROWSER_SAFE_BROWSING_SAFE_BROWSING_SERVICE_H_ #define IOS_CHROME_BROWSER_SAFE_BROWSING_SAFE_BROWSING_SERVICE_H_ +#include "base/callback.h" #include "base/memory/ref_counted.h" +#include "net/cookies/cookie_deletion_info.h" #include "url/gurl.h" class PrefService; @@ -58,6 +60,12 @@ virtual scoped_refptr<network::SharedURLLoaderFactory> GetURLLoaderFactory() = 0; + // Clears cookies if the given deletion time range is for "all time". Calls + // the given |callback| once deletion is complete. + virtual void ClearCookies( + const net::CookieDeletionInfo::TimeRange& creation_range, + base::OnceClosure callback) = 0; + protected: SafeBrowsingService() = default; virtual ~SafeBrowsingService() = default;
diff --git a/ios/chrome/browser/safe_browsing/safe_browsing_service_impl.h b/ios/chrome/browser/safe_browsing/safe_browsing_service_impl.h index a9b5ff3b..ff90b00 100644 --- a/ios/chrome/browser/safe_browsing/safe_browsing_service_impl.h +++ b/ios/chrome/browser/safe_browsing/safe_browsing_service_impl.h
@@ -44,6 +44,8 @@ web::WebState* web_state) override; bool CanCheckUrl(const GURL& url) const override; scoped_refptr<network::SharedURLLoaderFactory> GetURLLoaderFactory() override; + void ClearCookies(const net::CookieDeletionInfo::TimeRange& creation_range, + base::OnceClosure callback) override; private: // A helper class for enabling/disabling Safe Browsing and maintaining state @@ -63,7 +65,8 @@ void Initialize( scoped_refptr<SafeBrowsingServiceImpl> safe_browsing_service, mojo::PendingReceiver<network::mojom::NetworkContext> - network_context_receiver); + network_context_receiver, + const base::FilePath& safe_browsing_data_path); // Disables Safe Browsing, and destroys the network context and URL loader // factory used by the SafeBrowsingDatabaseManager. @@ -72,6 +75,9 @@ // Enables or disables Safe Browsing database updates and lookups. void SetSafeBrowsingEnabled(bool enabled); + // Clears all cookies. Calls the given |callback| when deletion is complete. + void ClearAllCookies(base::OnceClosure callback); + private: friend base::RefCountedThreadSafe<IOThreadEnabler>; ~IOThreadEnabler(); @@ -80,8 +86,9 @@ // queries. void StartSafeBrowsingDBManager(); - // Constructs a URLRequestContext. - void SetUpURLRequestContext(); + // Constructs a URLRequestContext, using the given path as the location for + // the cookie store. + void SetUpURLRequestContext(const base::FilePath& safe_browsing_data_path); // Constructs a SharedURLLoaderFactory. void SetUpURLLoaderFactory(
diff --git a/ios/chrome/browser/safe_browsing/safe_browsing_service_impl.mm b/ios/chrome/browser/safe_browsing/safe_browsing_service_impl.mm index dbe7243..7d9017b 100644 --- a/ios/chrome/browser/safe_browsing/safe_browsing_service_impl.mm +++ b/ios/chrome/browser/safe_browsing/safe_browsing_service_impl.mm
@@ -18,11 +18,14 @@ #include "components/safe_browsing/core/features.h" #include "components/safe_browsing/core/realtime/url_lookup_service.h" #import "ios/chrome/browser/browser_state/chrome_browser_state.h" +#import "ios/chrome/browser/net/cookie_util.h" #import "ios/chrome/browser/safe_browsing/real_time_url_lookup_service_factory.h" #import "ios/chrome/browser/safe_browsing/url_checker_delegate_impl.h" +#import "ios/net/cookies/system_cookie_store.h" #include "ios/web/public/thread/web_task_traits.h" #include "ios/web/public/thread/web_thread.h" #import "ios/web/public/web_state.h" +#include "net/cookies/cookie_store.h" #include "net/url_request/url_request_context.h" #include "net/url_request/url_request_context_builder.h" #include "services/network/public/cpp/weak_wrapper_shared_url_loader_factory.h" @@ -61,7 +64,8 @@ FROM_HERE, {web::WebThread::IO}, base::BindOnce(&IOThreadEnabler::Initialize, io_thread_enabler_, base::WrapRefCounted(this), - network_context_client_.BindNewPipeAndPassReceiver())); + network_context_client_.BindNewPipeAndPassReceiver(), + safe_browsing_data_path)); // Watch for changes to the Safe Browsing opt-out preference. pref_change_registrar_ = std::make_unique<PrefChangeRegistrar>(); @@ -111,6 +115,21 @@ return shared_url_loader_factory_; } +void SafeBrowsingServiceImpl::ClearCookies( + const net::CookieDeletionInfo::TimeRange& creation_range, + base::OnceClosure callback) { + if (creation_range.start() == base::Time() && + creation_range.end() == base::Time::Max()) { + base::PostTask( + FROM_HERE, + {web::WebThread::IO, base::TaskShutdownBehavior::BLOCK_SHUTDOWN}, + base::BindOnce(&IOThreadEnabler::ClearAllCookies, io_thread_enabler_, + std::move(callback))); + } else { + base::PostTask(FROM_HERE, {web::WebThread::IO}, std::move(callback)); + } +} + void SafeBrowsingServiceImpl::SetUpURLLoaderFactory( mojo::PendingReceiver<network::mojom::URLLoaderFactory> receiver) { DCHECK_CURRENTLY_ON(web::WebThread::UI); @@ -146,8 +165,9 @@ void SafeBrowsingServiceImpl::IOThreadEnabler::Initialize( scoped_refptr<SafeBrowsingServiceImpl> safe_browsing_service, mojo::PendingReceiver<network::mojom::NetworkContext> - network_context_receiver) { - SetUpURLRequestContext(); + network_context_receiver, + const base::FilePath& safe_browsing_data_path) { + SetUpURLRequestContext(safe_browsing_data_path); std::vector<std::string> cors_exempt_header_list; network_context_ = std::make_unique<network::NetworkContext>( /*network_service=*/nullptr, std::move(network_context_receiver), @@ -178,6 +198,15 @@ safe_browsing_db_manager_->StopOnIOThread(shutting_down_); } +void SafeBrowsingServiceImpl::IOThreadEnabler::ClearAllCookies( + base::OnceClosure callback) { + DCHECK_CURRENTLY_ON(web::WebThread::IO); + net::CookieStore* cookie_store = url_request_context_->cookie_store(); + cookie_store->DeleteAllAsync(base::BindOnce( + [](base::OnceClosure callback, uint32_t) { std::move(callback).Run(); }, + std::move(callback))); +} + void SafeBrowsingServiceImpl::IOThreadEnabler::StartSafeBrowsingDBManager() { DCHECK_CURRENTLY_ON(web::WebThread::IO); @@ -195,12 +224,23 @@ config); } -void SafeBrowsingServiceImpl::IOThreadEnabler::SetUpURLRequestContext() { +void SafeBrowsingServiceImpl::IOThreadEnabler::SetUpURLRequestContext( + const base::FilePath& safe_browsing_data_path) { DCHECK_CURRENTLY_ON(web::WebThread::IO); - // This uses an in-memory non-persistent cookie store. The Safe Browsing V4 - // Update API does not depend on cookies. net::URLRequestContextBuilder builder; + base::FilePath cookie_file_path(safe_browsing_data_path.value() + + safe_browsing::kCookiesFile); + std::unique_ptr<net::CookieStore> cookie_store = + cookie_util::CreateCookieStore( + cookie_util::CookieStoreConfig( + cookie_file_path, + cookie_util::CookieStoreConfig::RESTORED_SESSION_COOKIES, + cookie_util::CookieStoreConfig::COOKIE_MONSTER, + /*crypto_delegate=*/nullptr), + /*system_cookie_store=*/nullptr, net::NetLog::Get()); + + builder.SetCookieStore(std::move(cookie_store)); url_request_context_ = builder.Build(); }
diff --git a/ios/chrome/browser/safe_browsing/safe_browsing_service_unittest.mm b/ios/chrome/browser/safe_browsing/safe_browsing_service_unittest.mm index dec0044..2bf8bcd 100644 --- a/ios/chrome/browser/safe_browsing/safe_browsing_service_unittest.mm +++ b/ios/chrome/browser/safe_browsing/safe_browsing_service_unittest.mm
@@ -8,6 +8,7 @@ #include "base/path_service.h" #include "base/run_loop.h" #include "base/task/post_task.h" +#include "base/test/bind_test_util.h" #include "base/test/scoped_feature_list.h" #include "components/prefs/pref_service.h" #include "components/safe_browsing/core/browser/safe_browsing_url_checker_impl.h" @@ -37,6 +38,11 @@ #include "ios/web/public/test/web_task_environment.h" #include "ios/web/public/thread/web_task_traits.h" #include "ios/web/public/thread/web_thread.h" +#include "net/test/embedded_test_server/default_handlers.h" +#include "net/test/embedded_test_server/embedded_test_server.h" +#include "net/traffic_annotation/network_traffic_annotation_test_helper.h" +#include "services/network/public/cpp/shared_url_loader_factory.h" +#include "services/network/public/cpp/simple_url_loader.h" #include "testing/platform_test.h" #if !defined(__has_feature) || !__has_feature(objc_arc) @@ -301,3 +307,112 @@ EXPECT_FALSE(client.result_pending()); EXPECT_FALSE(client.url_is_unsafe()); } + +// Verifies that cookies are persisted across calls to +// SafeBrowsingServiceImpl::GetURLLoaderFactory. +TEST_F(SafeBrowsingServiceTest, PersistentCookies) { + net::EmbeddedTestServer server(net::EmbeddedTestServer::TYPE_HTTPS); + net::test_server::RegisterDefaultHandlers(&server); + ASSERT_TRUE(server.Start()); + std::string cookie = "test=123"; + std::unique_ptr<network::ResourceRequest> resource_request = + std::make_unique<network::ResourceRequest>(); + + // Set a cookie that expires in an hour. + resource_request->url = server.GetURL("/set-cookie?" + cookie + + ";max-age=3600;SameSite=None;Secure"); + std::unique_ptr<network::SimpleURLLoader> url_loader = + network::SimpleURLLoader::Create(std::move(resource_request), + TRAFFIC_ANNOTATION_FOR_TESTS); + base::RunLoop run_loop1; + url_loader->DownloadHeadersOnly( + safe_browsing_service_->GetURLLoaderFactory().get(), + base::BindLambdaForTesting( + [&](scoped_refptr<net::HttpResponseHeaders> headers) { + run_loop1.Quit(); + })); + run_loop1.Run(); + + // Make another request to the same site, and verify that the cookie is still + // set. + resource_request = std::make_unique<network::ResourceRequest>(); + resource_request->url = server.GetURL("/echoheader?Cookie"); + url_loader = network::SimpleURLLoader::Create(std::move(resource_request), + TRAFFIC_ANNOTATION_FOR_TESTS); + base::RunLoop run_loop2; + url_loader->DownloadToStringOfUnboundedSizeUntilCrashAndDie( + safe_browsing_service_->GetURLLoaderFactory().get(), + base::BindLambdaForTesting([&](std::unique_ptr<std::string> body) { + EXPECT_NE(std::string::npos, body->find(cookie)); + run_loop2.Quit(); + })); + run_loop2.Run(); +} + +// Verifies that cookies are cleared when ClearCookies() is called with a +// time range of all-time, but not otherwise. +TEST_F(SafeBrowsingServiceTest, ClearCookies) { + net::EmbeddedTestServer server(net::EmbeddedTestServer::TYPE_HTTPS); + net::test_server::RegisterDefaultHandlers(&server); + ASSERT_TRUE(server.Start()); + std::string cookie = "test=123"; + std::unique_ptr<network::ResourceRequest> resource_request = + std::make_unique<network::ResourceRequest>(); + + // Set a cookie that expires in an hour. + resource_request->url = server.GetURL("/set-cookie?" + cookie + + ";max-age=3600;SameSite=None;Secure"); + std::unique_ptr<network::SimpleURLLoader> url_loader = + network::SimpleURLLoader::Create(std::move(resource_request), + TRAFFIC_ANNOTATION_FOR_TESTS); + base::RunLoop run_loop1; + url_loader->DownloadHeadersOnly( + safe_browsing_service_->GetURLLoaderFactory().get(), + base::BindLambdaForTesting( + [&](scoped_refptr<net::HttpResponseHeaders> headers) { + run_loop1.Quit(); + })); + run_loop1.Run(); + + // Call ClearCookies() with a non-all-time time range, and verify that the + // cookie is still set. + base::RunLoop run_loop2; + safe_browsing_service_->ClearCookies( + net::CookieDeletionInfo::TimeRange(base::Time(), base::Time::Now()), + base::BindLambdaForTesting([&]() { run_loop2.Quit(); })); + run_loop2.Run(); + + resource_request = std::make_unique<network::ResourceRequest>(); + resource_request->url = server.GetURL("/echoheader?Cookie"); + url_loader = network::SimpleURLLoader::Create(std::move(resource_request), + TRAFFIC_ANNOTATION_FOR_TESTS); + base::RunLoop run_loop3; + url_loader->DownloadToStringOfUnboundedSizeUntilCrashAndDie( + safe_browsing_service_->GetURLLoaderFactory().get(), + base::BindLambdaForTesting([&](std::unique_ptr<std::string> body) { + EXPECT_NE(std::string::npos, body->find(cookie)); + run_loop3.Quit(); + })); + run_loop3.Run(); + + // Call ClearCookies() with a time range of all-time, and verify that the + // cookie is no longer set. + base::RunLoop run_loop4; + safe_browsing_service_->ClearCookies( + net::CookieDeletionInfo::TimeRange(base::Time(), base::Time::Max()), + base::BindLambdaForTesting([&]() { run_loop4.Quit(); })); + run_loop4.Run(); + + resource_request = std::make_unique<network::ResourceRequest>(); + resource_request->url = server.GetURL("/echoheader?Cookie"); + url_loader = network::SimpleURLLoader::Create(std::move(resource_request), + TRAFFIC_ANNOTATION_FOR_TESTS); + base::RunLoop run_loop5; + url_loader->DownloadToStringOfUnboundedSizeUntilCrashAndDie( + safe_browsing_service_->GetURLLoaderFactory().get(), + base::BindLambdaForTesting([&](std::unique_ptr<std::string> body) { + EXPECT_EQ(std::string::npos, body->find(cookie)); + run_loop5.Quit(); + })); + run_loop5.Run(); +}
diff --git a/ios/chrome/browser/ui/activity_services/activity_scenario.h b/ios/chrome/browser/ui/activity_services/activity_scenario.h index 7b36325..67eb330 100644 --- a/ios/chrome/browser/ui/activity_services/activity_scenario.h +++ b/ios/chrome/browser/ui/activity_services/activity_scenario.h
@@ -11,8 +11,9 @@ enum class ActivityScenario { TabShareButton = 0, QRCodeImage = 1, + HistoryEntry = 2, // Highest enumerator. Recommended by Histogram metrics best practices. - kMaxValue = QRCodeImage + kMaxValue = HistoryEntry }; #endif // IOS_CHROME_BROWSER_UI_ACTIVITY_SERVICES_ACTIVITY_SCENARIO_H_
diff --git a/ios/chrome/browser/ui/activity_services/activity_service_histograms.mm b/ios/chrome/browser/ui/activity_services/activity_service_histograms.mm index 0a9c1a10..b37a552 100644 --- a/ios/chrome/browser/ui/activity_services/activity_service_histograms.mm +++ b/ios/chrome/browser/ui/activity_services/activity_service_histograms.mm
@@ -4,7 +4,7 @@ #import "ios/chrome/browser/ui/activity_services/activity_service_histograms.h" -#include "base/metrics/histogram_macros.h" +#import "base/metrics/histogram_functions.h" #if !defined(__has_feature) || !__has_feature(objc_arc) #error "This file requires ARC support." @@ -20,6 +20,8 @@ "Mobile.Share.TabShareButton.Actions"; const char kShareQRCodeImageActionsHistogram[] = "Mobile.Share.QRCodeImage.Actions"; +const char kShareHistoryEntryActionsHistogram[] = + "Mobile.Share.HistoryEntry.Actions"; // Enum representing an aggregation of the |ActivityType| enum values in a way // that is relevant for metric collection. Current values should not @@ -120,14 +122,19 @@ void RecordActionForScenario(ShareActionType actionType, ActivityScenario scenario) { + const char* histogramName; switch (scenario) { case ActivityScenario::TabShareButton: - UMA_HISTOGRAM_ENUMERATION(kShareOmniboxActionsHistogram, actionType); + histogramName = kShareOmniboxActionsHistogram; break; case ActivityScenario::QRCodeImage: - UMA_HISTOGRAM_ENUMERATION(kShareQRCodeImageActionsHistogram, actionType); + histogramName = kShareQRCodeImageActionsHistogram; + break; + case ActivityScenario::HistoryEntry: + histogramName = kShareHistoryEntryActionsHistogram; break; } + base::UmaHistogramEnumeration(histogramName, actionType); } } // namespace @@ -135,7 +142,7 @@ #pragma mark - Public Methods void RecordScenarioInitiated(ActivityScenario scenario) { - UMA_HISTOGRAM_ENUMERATION(kShareScenariosHistogram, scenario); + base::UmaHistogramEnumeration(kShareScenariosHistogram, scenario); } void RecordActivityForScenario(ActivityType type, ActivityScenario scenario) {
diff --git a/ios/chrome/browser/ui/badges/badge_mediator_unittest.mm b/ios/chrome/browser/ui/badges/badge_mediator_unittest.mm index baf3a55e..81b2878 100644 --- a/ios/chrome/browser/ui/badges/badge_mediator_unittest.mm +++ b/ios/chrome/browser/ui/badges/badge_mediator_unittest.mm
@@ -332,7 +332,7 @@ web_state(), OverlayModality::kInfobarBanner); queue->AddRequest( OverlayRequest::CreateWithConfig<InfobarOverlayRequestConfig>( - infobar, InfobarOverlayType::kBanner)); + infobar, InfobarOverlayType::kBanner, infobar->high_priority())); EXPECT_TRUE(item.badgeState & BadgeStatePresented); // Simulate dismissal of the banner and verify that the badge state is no
diff --git a/ios/chrome/browser/ui/history/BUILD.gn b/ios/chrome/browser/ui/history/BUILD.gn index a74ef1b..53e1fa53 100644 --- a/ios/chrome/browser/ui/history/BUILD.gn +++ b/ios/chrome/browser/ui/history/BUILD.gn
@@ -25,10 +25,12 @@ "//ios/chrome/browser/history", "//ios/chrome/browser/main:public", "//ios/chrome/browser/sync", + "//ios/chrome/browser/ui/activity_services", "//ios/chrome/browser/ui/alert_coordinator", "//ios/chrome/browser/ui/coordinators:chrome_coordinators", "//ios/chrome/browser/ui/history/public", "//ios/chrome/browser/ui/menu", + "//ios/chrome/browser/ui/sharing", "//ios/chrome/browser/ui/table_view", "//ios/chrome/browser/ui/table_view:feature_flags", "//ios/chrome/browser/ui/util",
diff --git a/ios/chrome/browser/ui/history/history_coordinator.mm b/ios/chrome/browser/ui/history/history_coordinator.mm index 1eb58512..cc4bdfe 100644 --- a/ios/chrome/browser/ui/history/history_coordinator.mm +++ b/ios/chrome/browser/ui/history/history_coordinator.mm
@@ -10,6 +10,7 @@ #include "ios/chrome/browser/history/history_service_factory.h" #import "ios/chrome/browser/main/browser.h" #include "ios/chrome/browser/sync/profile_sync_service_factory.h" +#import "ios/chrome/browser/ui/activity_services/activity_params.h" #import "ios/chrome/browser/ui/alert_coordinator/action_sheet_coordinator.h" #import "ios/chrome/browser/ui/history/history_clear_browsing_data_coordinator.h" #import "ios/chrome/browser/ui/history/history_mediator.h" @@ -21,6 +22,7 @@ #import "ios/chrome/browser/ui/history/public/history_presentation_delegate.h" #import "ios/chrome/browser/ui/menu/action_factory.h" #import "ios/chrome/browser/ui/menu/menu_histograms.h" +#import "ios/chrome/browser/ui/sharing/sharing_coordinator.h" #import "ios/chrome/browser/ui/table_view/feature_flags.h" #import "ios/chrome/browser/ui/table_view/table_view_navigation_controller.h" #import "ios/chrome/browser/ui/util/multi_window_support.h" @@ -53,6 +55,9 @@ // The coordinator that will present Clear Browsing Data. @property(nonatomic, strong) HistoryClearBrowsingDataCoordinator* historyClearBrowsingDataCoordinator; + +// Coordinator in charge of handling sharing use cases. +@property(nonatomic, strong) SharingCoordinator* sharingCoordinator; @end @implementation HistoryCoordinator @@ -123,6 +128,9 @@ // This method should always execute the |completionHandler|. - (void)stopWithCompletion:(ProceduralBlock)completionHandler { + [self.sharingCoordinator stop]; + self.sharingCoordinator = nil; + if (self.historyNavigationController) { void (^dismissHistoryNavigation)(void) = ^void() { // Make sure to stop @@ -225,6 +233,10 @@ [menuElements addObject:[actionFactory actionToCopyURL:item.URL]]; + [menuElements addObject:[actionFactory actionToShareWithBlock:^{ + [weakSelf shareURL:item.URL title:item.text fromView:view]; + }]]; + [menuElements addObject:[actionFactory actionToDeleteWithBlock:^{ [historyItemDelegate historyEntryItemDidRequestDelete:item]; }]]; @@ -258,4 +270,21 @@ }]; } +// Triggers the URL sharing flow for the given |URL| and |title|, with the +// origin |view| representing the UI component for that URL. +- (void)shareURL:(const GURL&)URL + title:(NSString*)title + fromView:(UIView*)view { + ActivityParams* params = + [[ActivityParams alloc] initWithURL:URL + title:title + scenario:ActivityScenario::HistoryEntry]; + self.sharingCoordinator = [[SharingCoordinator alloc] + initWithBaseViewController:self.historyTableViewController + browser:self.browser + params:params + originView:view]; + [self.sharingCoordinator start]; +} + @end
diff --git a/ios/chrome/browser/ui/menu/action_factory.h b/ios/chrome/browser/ui/menu/action_factory.h index 8b49b14..4a9d4b4 100644 --- a/ios/chrome/browser/ui/menu/action_factory.h +++ b/ios/chrome/browser/ui/menu/action_factory.h
@@ -37,6 +37,10 @@ // pasteboard. - (UIAction*)actionToCopyURL:(const GURL)URL; +// Creates a UIAction instance configured for sharing which will invoke +// the given |block| upon execution. +- (UIAction*)actionToShareWithBlock:(ProceduralBlock)block; + // Creates a UIAction instance configured for deletion which will invoke // the given delete |block| when executed. - (UIAction*)actionToDeleteWithBlock:(ProceduralBlock)block;
diff --git a/ios/chrome/browser/ui/menu/action_factory.mm b/ios/chrome/browser/ui/menu/action_factory.mm index 3d334c9..dfa2ef1 100644 --- a/ios/chrome/browser/ui/menu/action_factory.mm +++ b/ios/chrome/browser/ui/menu/action_factory.mm
@@ -68,6 +68,14 @@ }]; } +- (UIAction*)actionToShareWithBlock:(ProceduralBlock)block { + return + [self actionWithTitle:l10n_util::GetNSString(IDS_IOS_SHARE_BUTTON_LABEL) + image:[UIImage systemImageNamed:@"square.and.arrow.up"] + type:MenuActionType::Share + block:block]; +} + - (UIAction*)actionToDeleteWithBlock:(ProceduralBlock)block { UIAction* action = [self actionWithTitle:l10n_util::GetNSString(IDS_IOS_DELETE_ACTION_TITLE)
diff --git a/ios/chrome/browser/ui/menu/action_factory_unittest.mm b/ios/chrome/browser/ui/menu/action_factory_unittest.mm index 74b01fd..56ca448 100644 --- a/ios/chrome/browser/ui/menu/action_factory_unittest.mm +++ b/ios/chrome/browser/ui/menu/action_factory_unittest.mm
@@ -109,6 +109,25 @@ } } +// Tests that the share action has the right title and image. +TEST_F(ActionFactoryTest, ShareAction) { + if (@available(iOS 13.0, *)) { + ActionFactory* factory = + [[ActionFactory alloc] initWithBrowser:test_browser_.get() + scenario:kTestMenuScenario]; + + UIImage* expectedImage = [UIImage systemImageNamed:@"square.and.arrow.up"]; + NSString* expectedTitle = + l10n_util::GetNSString(IDS_IOS_SHARE_BUTTON_LABEL); + + UIAction* action = [factory actionToShareWithBlock:^{ + }]; + + EXPECT_TRUE([expectedTitle isEqualToString:action.title]); + EXPECT_EQ(expectedImage, action.image); + } +} + // Tests that the delete action has the right title and image. TEST_F(ActionFactoryTest, DeleteAction) { if (@available(iOS 13.0, *)) { @@ -125,6 +144,7 @@ EXPECT_TRUE([expectedTitle isEqualToString:action.title]); EXPECT_EQ(expectedImage, action.image); + EXPECT_EQ(UIMenuElementAttributesDestructive, action.attributes); } }
diff --git a/ios/chrome/browser/ui/menu/menu_action_type.h b/ios/chrome/browser/ui/menu/menu_action_type.h index 85abd5f5..b97e8c2 100644 --- a/ios/chrome/browser/ui/menu/menu_action_type.h +++ b/ios/chrome/browser/ui/menu/menu_action_type.h
@@ -16,7 +16,8 @@ OpenInNewWindow = 4, Remove = 5, Edit = 6, - kMaxValue = Edit + Share = 7, + kMaxValue = Share }; #endif // IOS_CHROME_BROWSER_UI_MENU_MENU_ACTION_TYPE_H_
diff --git a/ios/chrome/browser/ui/overlays/infobar_banner/infobar_banner_overlay_coordinator.mm b/ios/chrome/browser/ui/overlays/infobar_banner/infobar_banner_overlay_coordinator.mm index 4ac22f7..6bc5b9d 100644 --- a/ios/chrome/browser/ui/overlays/infobar_banner/infobar_banner_overlay_coordinator.mm +++ b/ios/chrome/browser/ui/overlays/infobar_banner/infobar_banner_overlay_coordinator.mm
@@ -110,9 +110,13 @@ if (!UIAccessibilityIsVoiceOverRunning()) { // Auto-dismiss the banner after timeout if VoiceOver is off (banner should // persist until user explicitly swipes it away). + NSTimeInterval timeout = + config->is_high_priority() + ? kInfobarBannerLongPresentationDurationInSeconds + : kInfobarBannerDefaultPresentationDurationInSeconds; [self performSelector:@selector(dismissBannerIfReady) withObject:nil - afterDelay:kInfobarBannerDefaultPresentationDurationInSeconds]; + afterDelay:timeout]; } }
diff --git a/media/gpu/mac/vt_video_decode_accelerator_mac.cc b/media/gpu/mac/vt_video_decode_accelerator_mac.cc index 7d51dbe9..752c358 100644 --- a/media/gpu/mac/vt_video_decode_accelerator_mac.cc +++ b/media/gpu/mac/vt_video_decode_accelerator_mac.cc
@@ -58,7 +58,7 @@ base::AtomicSequenceNumber g_cv_pixel_buffer_ids; // Only H.264 with 4:2:0 chroma sampling is supported. -const VideoCodecProfile kSupportedProfiles[] = { +constexpr VideoCodecProfile kSupportedProfiles[] = { H264PROFILE_BASELINE, H264PROFILE_EXTENDED, H264PROFILE_MAIN, H264PROFILE_HIGH, @@ -77,7 +77,7 @@ }; // Size to use for NALU length headers in AVC format (can be 1, 2, or 4). -const int kNALUHeaderLength = 4; +constexpr int kNALUHeaderLength = 4; // We request 16 picture buffers from the client, each of which has a texture ID // that we can bind decoded frames to. The resource requirements are low, as we @@ -96,7 +96,7 @@ // // Allocating more picture buffers than VideoRendererImpl is willing to queue // counterintuitively reduces memory usage in this case. -const int kNumPictureBuffers = limits::kMaxVideoFrames * 4; +constexpr int kNumPictureBuffers = limits::kMaxVideoFrames * 4; // Maximum number of frames to queue for reordering. (Also controls the maximum // number of in-flight frames, since NotifyEndOfBitstreamBuffer() is called when @@ -104,7 +104,7 @@ // // Since the maximum possible |reorder_window| is 16 for H.264, 17 is the // minimum safe (static) size of the reorder queue. -const int kMaxReorderQueueSize = 17; +constexpr int kMaxReorderQueueSize = 17; // Build an |image_config| dictionary for VideoToolbox initialization. base::ScopedCFTypeRef<CFMutableDictionaryRef> BuildImageConfig( @@ -140,94 +140,98 @@ return image_config; } -// Create a VTDecompressionSession using the provided |pps| and |sps|. If -// |require_hardware| is true, the session must uses real hardware decoding -// (as opposed to software decoding inside of VideoToolbox) to be considered -// successful. -// -// TODO(sandersd): Merge with ConfigureDecoder(), as the code is very similar. -bool CreateVideoToolboxSession(const uint8_t* sps, - size_t sps_size, - const uint8_t* pps, - size_t pps_size, - bool require_hardware) { - const uint8_t* data_ptrs[] = {sps, pps}; - const size_t data_sizes[] = {sps_size, pps_size}; +// Create a CMFormatDescription using the provided |pps| and |sps|. +base::ScopedCFTypeRef<CMFormatDescriptionRef> CreateVideoFormatH264( + const std::vector<uint8_t>& sps, + const std::vector<uint8_t>& spsext, + const std::vector<uint8_t>& pps) { + DCHECK(!sps.empty()); + DCHECK(!pps.empty()); + // Build the configuration records. + std::vector<const uint8_t*> nalu_data_ptrs; + std::vector<size_t> nalu_data_sizes; + nalu_data_ptrs.reserve(3); + nalu_data_sizes.reserve(3); + nalu_data_ptrs.push_back(&sps.front()); + nalu_data_sizes.push_back(sps.size()); + if (!spsext.empty()) { + nalu_data_ptrs.push_back(&spsext.front()); + nalu_data_sizes.push_back(spsext.size()); + } + nalu_data_ptrs.push_back(&pps.front()); + nalu_data_sizes.push_back(pps.size()); + + // Construct a new format description from the parameter sets. base::ScopedCFTypeRef<CMFormatDescriptionRef> format; OSStatus status = CMVideoFormatDescriptionCreateFromH264ParameterSets( kCFAllocatorDefault, - 2, // parameter_set_count - data_ptrs, // ¶meter_set_pointers - data_sizes, // ¶meter_set_sizes - kNALUHeaderLength, // nal_unit_header_length + nalu_data_ptrs.size(), // parameter_set_count + &nalu_data_ptrs.front(), // ¶meter_set_pointers + &nalu_data_sizes.front(), // ¶meter_set_sizes + kNALUHeaderLength, // nal_unit_header_length format.InitializeInto()); - if (status) { - OSSTATUS_DLOG(WARNING, status) - << "Failed to create CMVideoFormatDescription"; - return false; - } + OSSTATUS_DLOG_IF(WARNING, status != noErr, status) + << "CMVideoFormatDescriptionCreateFromH264ParameterSets()"; + return format; +} +// Create a VTDecompressionSession using the provided |format|. If +// |require_hardware| is true, the session will only use the hardware decoder. +bool CreateVideoToolboxSession( + const CMFormatDescriptionRef format, + bool require_hardware, + const VTDecompressionOutputCallbackRecord* callback, + base::ScopedCFTypeRef<VTDecompressionSessionRef>* session, + gfx::Size* configured_size) { + // Prepare VideoToolbox configuration dictionaries. base::ScopedCFTypeRef<CFMutableDictionaryRef> decoder_config( CFDictionaryCreateMutable(kCFAllocatorDefault, 1, // capacity &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks)); - if (!decoder_config.get()) + if (!decoder_config) { + DLOG(ERROR) << "Failed to create CFMutableDictionary"; return false; - - if (require_hardware) { - CFDictionarySetValue( - decoder_config, - // kVTVideoDecoderSpecification_RequireHardwareAcceleratedVideoDecoder - CFSTR("RequireHardwareAcceleratedVideoDecoder"), kCFBooleanTrue); } + CFDictionarySetValue( + decoder_config, + kVTVideoDecoderSpecification_EnableHardwareAcceleratedVideoDecoder, + kCFBooleanTrue); + CFDictionarySetValue( + decoder_config, + kVTVideoDecoderSpecification_RequireHardwareAcceleratedVideoDecoder, + require_hardware ? kCFBooleanTrue : kCFBooleanFalse); + + // VideoToolbox scales the visible rect to the output size, so we set the + // output size for a 1:1 ratio. (Note though that VideoToolbox does not handle + // top or left crops correctly.) We expect the visible rect to be integral. CGRect visible_rect = CMVideoFormatDescriptionGetCleanAperture(format, true); CMVideoDimensions visible_dimensions = {visible_rect.size.width, visible_rect.size.height}; base::ScopedCFTypeRef<CFMutableDictionaryRef> image_config( BuildImageConfig(visible_dimensions)); - if (!image_config.get()) + if (!image_config) { + DLOG(ERROR) << "Failed to create decoder image configuration"; return false; - - // TODO(crbug.com/871280): Remove this once crash is resolved. - static crash_reporter::CrashKeyString<64> vt_decode_pref("vt_decode_pref"); - static crash_reporter::CrashKeyString<64> hardware_interlaced_pref( - "hardware_interlaced"); - - base::ScopedCFTypeRef<CFPropertyListRef> prop_list(CFPreferencesCopyAppValue( - CFSTR("VTDecodeServer"), CFSTR("com.apple.coremedia"))); - if (prop_list.get() && CFGetTypeID(prop_list) == CFStringGetTypeID()) { - vt_decode_pref.Set( - base::SysCFStringRefToUTF8(static_cast<CFStringRef>(prop_list.get()))); } - base::ScopedCFTypeRef<CFPropertyListRef> interlaced_value( - CFPreferencesCopyValue(CFSTR("hardwareVideoDecoderInterlacedBypass"), - CFSTR("com.apple.coremedia"), - kCFPreferencesCurrentUser, kCFPreferencesAnyHost)); - if (interlaced_value.get() && - CFGetTypeID(interlaced_value) == CFStringGetTypeID()) { - hardware_interlaced_pref.Set(base::SysCFStringRefToUTF8( - static_cast<CFStringRef>(interlaced_value.get()))); - } - - VTDecompressionOutputCallbackRecord callback = {0}; - - base::ScopedCFTypeRef<VTDecompressionSessionRef> session; - status = VTDecompressionSessionCreate( + OSStatus status = VTDecompressionSessionCreate( kCFAllocatorDefault, format, // video_format_description decoder_config, // video_decoder_specification image_config, // destination_image_buffer_attributes - &callback, // output_callback - session.InitializeInto()); - if (status) { - OSSTATUS_DVLOG(1, status) << "Failed to create VTDecompressionSession"; + callback, // output_callback + session->InitializeInto()); + if (status != noErr) { + OSSTATUS_DLOG(WARNING, status) << "VTDecompressionSessionCreate()"; return false; } + *configured_size = + gfx::Size(visible_rect.size.width, visible_rect.size.height); + return true; } @@ -238,27 +242,35 @@ // session fails, hardware decoding will be disabled (Initialize() will always // return false). bool InitializeVideoToolboxInternal() { + VTDecompressionOutputCallbackRecord callback = {0}; + base::ScopedCFTypeRef<VTDecompressionSessionRef> session; + gfx::Size configured_size; + // Create a hardware decoding session. // SPS and PPS data are taken from a 480p sample (buck2.mp4). - const uint8_t sps_normal[] = {0x67, 0x64, 0x00, 0x1e, 0xac, 0xd9, 0x80, 0xd4, - 0x3d, 0xa1, 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, - 0x00, 0x03, 0x00, 0x30, 0x8f, 0x16, 0x2d, 0x9a}; - const uint8_t pps_normal[] = {0x68, 0xe9, 0x7b, 0xcb}; - if (!CreateVideoToolboxSession(sps_normal, base::size(sps_normal), pps_normal, - base::size(pps_normal), true)) { - DVLOG(1) << "Hardware decoding with VideoToolbox is not supported"; + const std::vector<uint8_t> sps_normal = { + 0x67, 0x64, 0x00, 0x1e, 0xac, 0xd9, 0x80, 0xd4, 0x3d, 0xa1, 0x00, 0x00, + 0x03, 0x00, 0x01, 0x00, 0x00, 0x03, 0x00, 0x30, 0x8f, 0x16, 0x2d, 0x9a}; + const std::vector<uint8_t> pps_normal = {0x68, 0xe9, 0x7b, 0xcb}; + if (!CreateVideoToolboxSession( + CreateVideoFormatH264(sps_normal, std::vector<uint8_t>(), pps_normal), + /*require_hardware=*/true, &callback, &session, &configured_size)) { + DVLOG(1) << "Hardware H264 decoding with VideoToolbox is not supported"; return false; } + session.reset(); + // Create a software decoding session. // SPS and PPS data are taken from a 18p sample (small2.mp4). - const uint8_t sps_small[] = {0x67, 0x64, 0x00, 0x0a, 0xac, 0xd9, 0x89, 0x7e, - 0x22, 0x10, 0x00, 0x00, 0x3e, 0x90, 0x00, 0x0e, - 0xa6, 0x08, 0xf1, 0x22, 0x59, 0xa0}; - const uint8_t pps_small[] = {0x68, 0xe9, 0x79, 0x72, 0xc0}; - if (!CreateVideoToolboxSession(sps_small, base::size(sps_small), pps_small, - base::size(pps_small), false)) { - DLOG(WARNING) << "Software decoding with VideoToolbox is not supported"; + const std::vector<uint8_t> sps_small = { + 0x67, 0x64, 0x00, 0x0a, 0xac, 0xd9, 0x89, 0x7e, 0x22, 0x10, 0x00, + 0x00, 0x3e, 0x90, 0x00, 0x0e, 0xa6, 0x08, 0xf1, 0x22, 0x59, 0xa0}; + const std::vector<uint8_t> pps_small = {0x68, 0xe9, 0x79, 0x72, 0xc0}; + if (!CreateVideoToolboxSession( + CreateVideoFormatH264(sps_small, std::vector<uint8_t>(), pps_small), + /*require_hardware=*/false, &callback, &session, &configured_size)) { + DVLOG(1) << "Software H264 decoding with VideoToolbox is not supported"; return false; } @@ -501,85 +513,30 @@ bool VTVideoDecodeAccelerator::ConfigureDecoder() { DVLOG(2) << __func__; DCHECK(decoder_thread_.task_runner()->BelongsToCurrentThread()); - DCHECK(!active_sps_.empty()); - DCHECK(!active_pps_.empty()); - // Build the configuration records. - std::vector<const uint8_t*> nalu_data_ptrs; - std::vector<size_t> nalu_data_sizes; - nalu_data_ptrs.reserve(3); - nalu_data_sizes.reserve(3); - nalu_data_ptrs.push_back(&active_sps_.front()); - nalu_data_sizes.push_back(active_sps_.size()); - if (!active_spsext_.empty()) { - nalu_data_ptrs.push_back(&active_spsext_.front()); - nalu_data_sizes.push_back(active_spsext_.size()); - } - nalu_data_ptrs.push_back(&active_pps_.front()); - nalu_data_sizes.push_back(active_pps_.size()); - - // Construct a new format description from the parameter sets. - format_.reset(); - OSStatus status = CMVideoFormatDescriptionCreateFromH264ParameterSets( - kCFAllocatorDefault, - nalu_data_ptrs.size(), // parameter_set_count - &nalu_data_ptrs.front(), // ¶meter_set_pointers - &nalu_data_sizes.front(), // ¶meter_set_sizes - kNALUHeaderLength, // nal_unit_header_length - format_.InitializeInto()); - if (status) { - NOTIFY_STATUS("CMVideoFormatDescriptionCreateFromH264ParameterSets()", - status, SFT_PLATFORM_ERROR); - return false; - } - - // Prepare VideoToolbox configuration dictionaries. - base::ScopedCFTypeRef<CFMutableDictionaryRef> decoder_config( - CFDictionaryCreateMutable(kCFAllocatorDefault, - 1, // capacity - &kCFTypeDictionaryKeyCallBacks, - &kCFTypeDictionaryValueCallBacks)); - if (!decoder_config.get()) { - DLOG(ERROR) << "Failed to create CFMutableDictionary"; + auto format = CreateVideoFormatH264(active_sps_, active_spsext_, active_pps_); + if (!format) { NotifyError(PLATFORM_FAILURE, SFT_PLATFORM_ERROR); return false; } - CFDictionarySetValue( - decoder_config, - // kVTVideoDecoderSpecification_EnableHardwareAcceleratedVideoDecoder - CFSTR("EnableHardwareAcceleratedVideoDecoder"), kCFBooleanTrue); - - // VideoToolbox scales the visible rect to the output size, so we set the - // output size for a 1:1 ratio. (Note though that VideoToolbox does not handle - // top or left crops correctly.) We expect the visible rect to be integral. - CGRect visible_rect = CMVideoFormatDescriptionGetCleanAperture(format_, true); - CMVideoDimensions visible_dimensions = {visible_rect.size.width, - visible_rect.size.height}; - base::ScopedCFTypeRef<CFMutableDictionaryRef> image_config( - BuildImageConfig(visible_dimensions)); - if (!image_config.get()) { - DLOG(ERROR) << "Failed to create decoder image configuration"; - NotifyError(PLATFORM_FAILURE, SFT_PLATFORM_ERROR); - return false; - } + // TODO(crbug.com/1103432): We should use + // VTDecompressionSessionCanAcceptFormatDescription() on |format| here to + // avoid the configuration change if possible. // Ensure that the old decoder emits all frames before the new decoder can // emit any. if (!FinishDelayedFrames()) return false; + format_ = format; session_.reset(); - status = VTDecompressionSessionCreate( - kCFAllocatorDefault, - format_, // video_format_description - decoder_config, // video_decoder_specification - image_config, // destination_image_buffer_attributes - &callback_, // output_callback - session_.InitializeInto()); - if (status) { - NOTIFY_STATUS("VTDecompressionSessionCreate()", status, - SFT_UNSUPPORTED_STREAM_PARAMETERS); + + // Note: We can always require hardware once Flash and PPAPI are gone. + const bool require_hardware = false; + if (!CreateVideoToolboxSession(format_, require_hardware, &callback_, + &session_, &configured_size_)) { + NotifyError(PLATFORM_FAILURE, SFT_PLATFORM_ERROR); return false; } @@ -599,8 +556,6 @@ configured_sps_ = active_sps_; configured_spsext_ = active_spsext_; configured_pps_ = active_pps_; - configured_size_.SetSize(visible_rect.size.width, visible_rect.size.height); - return true; }
diff --git a/mojo/public/cpp/bindings/tests/union_unittest.cc b/mojo/public/cpp/bindings/tests/union_unittest.cc index 0705a8d5..6c7a812b 100644 --- a/mojo/public/cpp/bindings/tests/union_unittest.cc +++ b/mojo/public/cpp/bindings/tests/union_unittest.cc
@@ -1229,5 +1229,11 @@ base::RunLoop().RunUntilIdle(); } +TEST(UnionTest, InlineUnionAllocationWithNonPODFirstField) { + // Regression test for https://crbug.com/1114366. Should not crash. + UnionWithStringForFirstFieldPtr u; + u = UnionWithStringForFirstField::NewS("hey"); +} + } // namespace test } // namespace mojo
diff --git a/mojo/public/interfaces/bindings/tests/test_unions.mojom b/mojo/public/interfaces/bindings/tests/test_unions.mojom index 439320eb..b768224 100644 --- a/mojo/public/interfaces/bindings/tests/test_unions.mojom +++ b/mojo/public/interfaces/bindings/tests/test_unions.mojom
@@ -114,3 +114,8 @@ union ImportedUnionUnion { imported.PointOrShape point_or_shape; }; + +union UnionWithStringForFirstField { + string s; + int32 i; +};
diff --git a/mojo/public/tools/bindings/generators/mojom_cpp_generator.py b/mojo/public/tools/bindings/generators/mojom_cpp_generator.py index 6d2aba81..7ae44f63 100644 --- a/mojo/public/tools/bindings/generators/mojom_cpp_generator.py +++ b/mojo/public/tools/bindings/generators/mojom_cpp_generator.py
@@ -180,9 +180,7 @@ def ShouldInlineUnion(union): - return not any( - mojom.IsReferenceKind(field.kind) and not mojom.IsStringKind(field.kind) - for field in union.fields) + return not any(mojom.IsReferenceKind(field.kind) for field in union.fields) def HasPackedMethodOrdinals(interface):
diff --git a/net/http/http_util.cc b/net/http/http_util.cc index 0ed79f0..3e3b901 100644 --- a/net/http/http_util.cc +++ b/net/http/http_util.cc
@@ -20,6 +20,7 @@ #include "base/strings/stringprintf.h" #include "base/time/time.h" #include "net/base/features.h" +#include "net/base/parse_number.h" #include "net/base/url_util.h" namespace net { @@ -364,11 +365,11 @@ bool HttpUtil::ParseRetryAfterHeader(const std::string& retry_after_string, base::Time now, base::TimeDelta* retry_after) { - int seconds; + uint32_t seconds; base::Time time; base::TimeDelta interval; - if (base::StringToInt(retry_after_string, &seconds)) { + if (net::ParseUint32(retry_after_string, &seconds)) { interval = base::TimeDelta::FromSeconds(seconds); } else if (base::Time::FromUTCString(retry_after_string.c_str(), &time)) { interval = time - now;
diff --git a/net/http/http_util_unittest.cc b/net/http/http_util_unittest.cc index 305565e..e6291f07 100644 --- a/net/http/http_util_unittest.cc +++ b/net/http/http_util_unittest.cc
@@ -1070,21 +1070,21 @@ const char* retry_after_string; bool expected_return_value; base::TimeDelta expected_retry_after; - } tests[] = { - { "", false, base::TimeDelta() }, - { "-3", false, base::TimeDelta() }, - { "-2", false, base::TimeDelta() }, - { "-1", false, base::TimeDelta() }, - { "0", true, base::TimeDelta::FromSeconds(0) }, - { "1", true, base::TimeDelta::FromSeconds(1) }, - { "2", true, base::TimeDelta::FromSeconds(2) }, - { "3", true, base::TimeDelta::FromSeconds(3) }, - { "60", true, base::TimeDelta::FromSeconds(60) }, - { "3600", true, base::TimeDelta::FromSeconds(3600) }, - { "86400", true, base::TimeDelta::FromSeconds(86400) }, - { "Thu, 1 Jan 2015 12:34:56 GMT", true, later - now }, - { "Mon, 1 Jan 1900 12:34:56 GMT", false, base::TimeDelta() } - }; + } tests[] = {{"", false, base::TimeDelta()}, + {"-3", false, base::TimeDelta()}, + {"-2", false, base::TimeDelta()}, + {"-1", false, base::TimeDelta()}, + {"+0", false, base::TimeDelta()}, + {"+1", false, base::TimeDelta()}, + {"0", true, base::TimeDelta::FromSeconds(0)}, + {"1", true, base::TimeDelta::FromSeconds(1)}, + {"2", true, base::TimeDelta::FromSeconds(2)}, + {"3", true, base::TimeDelta::FromSeconds(3)}, + {"60", true, base::TimeDelta::FromSeconds(60)}, + {"3600", true, base::TimeDelta::FromSeconds(3600)}, + {"86400", true, base::TimeDelta::FromSeconds(86400)}, + {"Thu, 1 Jan 2015 12:34:56 GMT", true, later - now}, + {"Mon, 1 Jan 1900 12:34:56 GMT", false, base::TimeDelta()}}; for (size_t i = 0; i < base::size(tests); ++i) { base::TimeDelta retry_after;
diff --git a/net/http/transport_security_state_static.json b/net/http/transport_security_state_static.json index 7e9c5441..0f95fdc 100644 --- a/net/http/transport_security_state_static.json +++ b/net/http/transport_security_state_static.json
@@ -48141,7 +48141,6 @@ { "name": "hocassian.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, { "name": "hoeren.club", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, { "name": "hof-mulin.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, - { "name": "hongoi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, { "name": "hongzu.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, { "name": "hongzuwang.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, { "name": "hongzuzhibo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, @@ -69849,7 +69848,6 @@ { "name": "infobot.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, { "name": "infra-se.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, { "name": "innovomuebles.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, - { "name": "ipcyb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, { "name": "iternalnetworks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, { "name": "itgm-consultants.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, { "name": "itisyourmoney.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, @@ -112818,7 +112816,6 @@ { "name": "angelishansen.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, { "name": "antykilion.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, { "name": "arbeitskraft.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, - { "name": "ardyaloon.org.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, { "name": "asianbusinesscards.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, { "name": "astralyx.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, { "name": "atlanticcitycasino.news", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, @@ -113366,7 +113363,6 @@ { "name": "yuanandyuan.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, { "name": "yw.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, { "name": "zappy.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, - { "name": "zero-graph.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, { "name": "zerocms.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, { "name": "zerodhareview.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, { "name": "ziggletech.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, @@ -115698,6 +115694,465 @@ { "name": "youtubex.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, { "name": "zovovo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, { "name": "zrgmedical.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "0123movies.sx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "18pee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "245990.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "2kbgames.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "6688wk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "aarontechnology.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "abetterwichita.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "abetterwichita.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "abogadophd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "acceleratethesale.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "accutone.com.mx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "adalite-staging-testnet.herokuapp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "adalite.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "adaptiveequipment.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "adil-khan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "afdah.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "affittibreviliguria.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "ai.design", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "akawuifan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "alchosting.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "alfagroupaluminium.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "alliance-immobilier-service-neuf.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "allianceforafreesociety.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "allianceforafreesociety.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "allianceforafreesociety.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "almasteb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "alphalight.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "alphalightgear.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "amineamellouk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "amsuisse.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "anjaamelia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "ankarakurumsalwebtasarim.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "ao3-cn.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "apartmentforus.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "aperto-nota.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "apollochiropractor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "appcitor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "arcadiaca.gov", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "archangelbio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "artevento.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "artisanalrecords.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "asoziales-wiki.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "atisoftwebtasarim.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "atisoftwebyazilim.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "atomsdigital.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "autorepairinlasvegas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "avamereatmountainridge.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "axendatranslations.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "axxa.one", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "ayltoninacio.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "azhamevents.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "azoogi.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "b669.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "bajahealthsolutions.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "bali888.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "bayalubirugali.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "bebaspedia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "belarus2020.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "bensjamtracks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "bestantidandruffshampoo.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "betawi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "bhacit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "binproz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "biocbd.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "bitcoinissafe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "blankhang.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "blender.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "blitzarena.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "blitzga.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "blogofant.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "bmoe.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "bramptonscrapcarremoval.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "brandhout-b-tree.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "brasilianskbikini.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "brushcreekdistillery.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "bureaux-entrepots.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "cadiskitchen.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "callisabel.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "camaradecomerciosiguatepeque.hn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "cambridgeinfotech.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "canliradyodinle.life", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "carac.org.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "carboniaccessori.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "casinoworldz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "ccn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "cemcerkez.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "centre-equestre.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "centroavant.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "ceremonialvirtualphd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "ch4bb.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "chatons.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "choiceorganics.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "choigamevui.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "cintamanilingerie.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "cistus-tee.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "clevyr.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "clevyrnode.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "clevyrnodejs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "clevyrstream.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "clevyrstreamjs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "cochesteledirigidos.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "competenceslinux.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "connorlim.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "cook.gg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "could.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "courttranscriptontario.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "cruceroadicto.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "custompac.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "cyhour.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "czeh.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "d-ku.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "dailydealika.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "danieldrozdik.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "daniellecavazos.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "darkthreat.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "davangarte.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "dc9.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "decorsolucionesgraficas.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "dietrichinocencio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "digitalrowdy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "digitlyx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "djh-nordmark.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "dluxelab.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "dontasktoask.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "dovemoe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "drathaisdentista.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "dreamsolution.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "drfranciscosergi.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "dwtf.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "dzukhron.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "ebooksmile.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "eclipseba.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "ecomuuu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "emcomart.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "emprendefinanzas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "encrypt.my.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "epilino.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "esterilizador.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "ethanyoo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "ettgottliv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "etudes-litteraires.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "euroestetica.ec", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "europeanandjapaneseautorepair.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "evcarbontracker.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "everly.market", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "expireddomains.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "fairview.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "fairviewevents.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "fairviewfcss.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "familyclinicstl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "farhanaditya.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "ferienwohnunglanger.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "ferreteria-soria.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "fincaalegranza.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "findalocalaccountingfirm.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "fittwon.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "florianimdahl.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "fmovies.qa", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "fpsclasico.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "franciscoalpendre.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "freeuseporn.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "freewaypropane.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "freshdesignweb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "friendsofoldstthomas.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "fundacjamatkiewy.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "futureofyoucdc.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "fyn.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "gaea-field.com.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "gaijin.systems", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "gaijinsystems.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "gamedaim.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "garbarinocatalogo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "ghbtns.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "givery.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "global.my.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "goldenshiny.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "goodhotel.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "gracecommunity.school", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "greerfamily.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "gregorys.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "grenlan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "grthomes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "guillaumepommier.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "hanshosting.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "harmonizely.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "heartofthepeace.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "helloo.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "helpnet.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "hermietkreeft.site", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "hi-res.vip", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "hikka.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "hipermenu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "historiaeculturaguarani.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "hobune.stream", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "honigconte.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "hospitalcmq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "hyracdn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "hzbk.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "icium.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "ics.edu.hn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "id0.gr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "ideaassociates.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "imankhodakarami.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "innerlife.company", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "intervalplus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "issuerconsulting.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "ithaldus.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "itsec.link", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "jagalink.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "jakejnx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "jan-melcher.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "jasoncoopermd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "jasonhardin.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "jef.yt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "jfhr.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "jimezdrave.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "junkcarboys.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "juvenile-studios.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "karand.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "kg688.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "kitabat.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "kiwing.ddns.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "konut-projeleri.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "ladyleeshome.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "landforsale.co.il", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "landsforsale.co.il", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "laudon.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "lavanderiapocosdecaldas.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "leaf.ninja", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "lincolnbrokerage.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "litlscholars.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "live-z-rejstejna.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "liveitmerck.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "livezrejstejna.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "liwaoases.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "ll-t.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "lo-li.icu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "lojak2.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "lojasvictoria.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "lojavirtualinfopaper.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "louiselaliberte.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "lynkmi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "maashoefer.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "magdafornal.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "magicalminkies.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "maratonsports.com.ar", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "marclange.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "martin-prell.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "martvila.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "masquerade.site", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "mau.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "mau.lu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "mau.photos", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "maubot.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "mccn.pp.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "mebelisk.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "media24express.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "merkcabo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "messengerupdate.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "meyafloors.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "meyateks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "mibank.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "mibaso.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "minered.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "mittikimonos.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "modsecurity.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "monira.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "moodytattoo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "msnarzedzia.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "muchastintas.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "muir.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "muir.pp.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "muisoft.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "mundolettering.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "mybpstar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "mygermanexpert.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "myhealthcheckup.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "myhealthcheckup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "myhfstar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "mysbaccoach.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "mywrecklawyer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "mzademiryolu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "nalresearch.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "necretro.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "nekrylov.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "nekrylov.org.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "nekrylov.spb.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "nerdmachina.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "netgroupsa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "netzsv.website", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "nextrasp.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "nk1.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "nmcheart.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "nnsa-ecp.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "npiconsultoria.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "nya-cloud.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "oguzerdogan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "olamisys.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "olamisys.email", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "olamisys.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "oliveconcept.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "ollaexpress.site", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "open.my.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "osobniterapeutka.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "palem.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "pcunddruckerservice.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "peakdealershipperformance.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "peew.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "pelatihanwirausaha.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "pension-chevaux.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "persuasionmatters.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "peruhike.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "phg-eg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "piastaola.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "play-lu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "plexmark.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "pmi-install.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "pmrockstars.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "podologie-diever.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "prodhealthcare.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "profitfromtech.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "projetomovase.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "proto.ovh", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "pspepper.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "putlocker.vg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "quillandpage.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "radiosatbolivia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "rashmipandit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "ratujmydzikiekoty.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "ratujmydzikiekoty.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "raywardapparel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "reboundtravel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "refugee-news.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "removallaser.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "renice-tech.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "rentalboatsafety.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "reparatiecrm.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "repat.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "residententertainment.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "risalatconsultants.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "rodsct.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "romao.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "rpschultz.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "rujbin.ddns.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "rwalch.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "salatiga.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "salatiga.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "sarahmckenna.ie", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "savewildcats.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "savewildcats.foundation", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "savewildcats.life", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "scarboroughscrapcars.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "scrapcarbrampton.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "secretshoppermall.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "senaofertaeducativa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "senooken.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "seobgynpc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "servus.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "sitemydesk.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "smart-tux.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "smplace.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "snowdon.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "soc.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "soruly.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "soruly.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "soruly.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "southridgeservices.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "spacehub.in.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "speakeasy.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "spike.sh", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "star.my.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "storlead.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "sudoash.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "sumit.blog", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "sunroomsbywoodland.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "sunroomsbywoodlandwindows.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "sunroomschicagoil.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "sustainimum.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "sustainimum.email", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "sustainimum.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "sustainimum.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "sustainimum.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "sutty.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "swimpools.co.il", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "sys-admin.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "tabtap.shop", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "talentsphere-srm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "taozgt.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "taskboss.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "taxiunion.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "techdost.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "tge888.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "thecustomerinstitute.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "thewritegrl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "thing.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "thwebdesigns.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "tierracenter.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "tiffany.moe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "tomasmatulevicius.lt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "topicv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "torontoscrapcarremoval.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "totoland.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "tracknetsports.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "transferagent.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "transparencyinadmissions.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "trepare.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "trustech.co.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "tsenv.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "tuta.pm", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "unify.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "unilinkgroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "unlocktechs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "urbanyshop.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "uzo.ph", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "valsanfox.pe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "vedobakancs.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "veosvending.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "verdeplus.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "vidimte.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "vive.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "voinuocsago.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "vov.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "w-e-b--s-e-o.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "wafflemachine.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "warteg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "warteg.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "wasido.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "watchlogs.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "waterfrontonlakeoconee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "wb168.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "wdnmd.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "web1212.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "webhosting4u.email", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "wellti.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "wildcatprotection.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "wissen-a5.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "wissena5.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "wizardroofingexperts.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "woodlandexterior.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "woodlandsiding.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "woodlandsunrooms.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "woodlandsunroomsandenclosures.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "xavio.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "xenrox.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "xn--24-6kc5agehpdf5a.xn--p1ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "xpressmedics.co.ke", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "xuechen.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "yangshangzhen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "yardthyme.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "yogularm.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "yogunet.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "youmeandlupus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "youyuan.rocks", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "yuccaschidigera.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "yumm.menu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "z-rejstejna.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "zoasmalley.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "zrejstejna.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, + { "name": "zyex.vip", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true }, // END OF 1-YEAR BULK HSTS ENTRIES // Only eTLD+1 domains can be submitted automatically to hstspreload.org,
diff --git a/pdf/BUILD.gn b/pdf/BUILD.gn index c3d26358..4f0390319 100644 --- a/pdf/BUILD.gn +++ b/pdf/BUILD.gn
@@ -98,6 +98,8 @@ "pdf_init.h", "pdf_transform.cc", "pdf_transform.h", + "pdf_view_plugin_base.cc", + "pdf_view_plugin_base.h", "pdfium/pdfium_api_string_buffer_adapter.cc", "pdfium/pdfium_api_string_buffer_adapter.h", "pdfium/pdfium_document.cc",
diff --git a/pdf/out_of_process_instance.cc b/pdf/out_of_process_instance.cc index 6add83e..a00b8279 100644 --- a/pdf/out_of_process_instance.cc +++ b/pdf/out_of_process_instance.cc
@@ -471,15 +471,15 @@ OutOfProcessInstance::~OutOfProcessInstance() { RemovePerInstanceObject(kPPPPdfInterface, this); - // Explicitly reset the PDFEngine during destruction as it may call back into - // this object. - engine_.reset(); + // Explicitly destroy the PDFEngine during destruction as it may call back + // into this object. + DestroyEngine(); } bool OutOfProcessInstance::Init(uint32_t argc, const char* argn[], const char* argv[]) { - DCHECK(!engine_); + DCHECK(!engine()); pp::Var document_url_var = pp::URLUtil_Dev::Get()->GetDocumentURL(this); if (!document_url_var.is_string()) @@ -547,7 +547,7 @@ if (!stream_url) stream_url = original_url; - engine_ = std::make_unique<PDFiumEngine>(this, enable_javascript); + InitializeEngine(enable_javascript); // If we're in print preview mode we don't need to load the document yet. // A |kJSResetPrintPreviewModeType| message will be sent to the plugin letting @@ -560,7 +560,7 @@ url_ = original_url; edit_mode_ = has_edits; pp::PDF::SetCrashData(GetPluginInstance(), original_url, top_level_url); - return engine_->New(original_url, headers); + return engine()->New(original_url, headers); } void OutOfProcessInstance::HandleMessage(const pp::Var& message) { @@ -591,7 +591,7 @@ } else if (type == kJSDisplayAnnotationsType) { HandleDisplayAnnotations(dict); } else if (type == kJSSelectAllType) { - engine_->SelectAll(); + engine()->SelectAll(); } else if (type == kJSBackgroundColorChangedType) { HandleBackgroundColorChangedMessage(dict); } else if (type == kJSResetPrintPreviewModeType) { @@ -654,7 +654,7 @@ } } - if (engine_->HandleEvent(event_device_res)) + if (engine()->HandleEvent(event_device_res)) return true; // Middle click is used for scrolling and is handled by the container page. @@ -725,23 +725,23 @@ scroll_offset_.x(), scroll_offset_.y() - top_toolbar_height_in_viewport_coords_); scroll_offset_float = BoundScrollOffsetToDocument(scroll_offset_float); - engine_->ScrolledToXPosition(scroll_offset_float.x() * device_scale_); - engine_->ScrolledToYPosition(scroll_offset_float.y() * device_scale_); + engine()->ScrolledToXPosition(scroll_offset_float.x() * device_scale_); + engine()->ScrolledToYPosition(scroll_offset_float.y() * device_scale_); } void OutOfProcessInstance::DidChangeFocus(bool has_focus) { - engine_->UpdateFocus(has_focus); + engine()->UpdateFocus(has_focus); } void OutOfProcessInstance::GetPrintPresetOptionsFromDocument( PP_PdfPrintPresetOptions_Dev* options) { options->is_scaling_disabled = PP_FromBool(IsPrintScalingDisabled()); options->duplex = - static_cast<PP_PrivateDuplexMode_Dev>(engine_->GetDuplexType()); - options->copies = engine_->GetCopiesToPrint(); + static_cast<PP_PrivateDuplexMode_Dev>(engine()->GetDuplexType()); + options->copies = engine()->GetCopiesToPrint(); gfx::Size uniform_page_size; options->is_page_size_uniform = - PP_FromBool(engine_->GetPageSizeAndUniformity(&uniform_page_size)); + PP_FromBool(engine()->GetPageSizeAndUniformity(&uniform_page_size)); options->uniform_page_size = PPSizeFromSize(uniform_page_size); } @@ -759,17 +759,17 @@ void OutOfProcessInstance::LoadAccessibility() { accessibility_state_ = ACCESSIBILITY_STATE_LOADED; PP_PrivateAccessibilityDocInfo doc_info; - doc_info.page_count = engine_->GetNumberOfPages(); + doc_info.page_count = engine()->GetNumberOfPages(); doc_info.text_accessible = PP_FromBool( - engine_->HasPermission(PDFEngine::PERMISSION_COPY_ACCESSIBLE)); + engine()->HasPermission(PDFEngine::PERMISSION_COPY_ACCESSIBLE)); doc_info.text_copyable = - PP_FromBool(engine_->HasPermission(PDFEngine::PERMISSION_COPY)); + PP_FromBool(engine()->HasPermission(PDFEngine::PERMISSION_COPY)); pp::PDF::SetAccessibilityDocInfo(GetPluginInstance(), &doc_info); // If the document contents isn't accessible, don't send anything more. - if (!(engine_->HasPermission(PDFEngine::PERMISSION_COPY) || - engine_->HasPermission(PDFEngine::PERMISSION_COPY_ACCESSIBLE))) { + if (!(engine()->HasPermission(PDFEngine::PERMISSION_COPY) || + engine()->HasPermission(PDFEngine::PERMISSION_COPY_ACCESSIBLE))) { return; } @@ -788,7 +788,7 @@ std::vector<PP_PrivateAccessibilityCharInfo> chars; pp::PDF::PrivateAccessibilityPageObjects page_objects; - if (!GetAccessibilityInfo(engine_.get(), page_index, &page_info, &text_runs, + if (!GetAccessibilityInfo(engine(), page_index, &page_info, &text_runs, &chars, &page_objects)) { return; } @@ -817,10 +817,10 @@ viewport_info.focus_info = { PP_PrivateFocusObjectType::PP_PRIVATEFOCUSOBJECT_NONE, 0, 0}; - engine_->GetSelection(&viewport_info.selection_start_page_index, - &viewport_info.selection_start_char_index, - &viewport_info.selection_end_page_index, - &viewport_info.selection_end_char_index); + engine()->GetSelection(&viewport_info.selection_start_page_index, + &viewport_info.selection_start_char_index, + &viewport_info.selection_end_page_index, + &viewport_info.selection_end_char_index); pp::PDF::SetAccessibilityViewportInfo(GetPluginInstance(), &viewport_info); } @@ -845,7 +845,7 @@ pp::Point new_position(position.x(), position.y()); ScalePoint(device_scale_, &new_position); new_position.set_x(new_position.x() - available_area_.x()); - engine_->SetCaretPosition(new_position); + engine()->SetCaretPosition(new_position); } void OutOfProcessInstance::MoveRangeSelectionExtent( @@ -853,7 +853,7 @@ pp::Point new_extent(extent.x(), extent.y()); ScalePoint(device_scale_, &new_extent); new_extent.set_x(new_extent.x() - available_area_.x()); - engine_->MoveRangeSelectionExtent(new_extent); + engine()->MoveRangeSelectionExtent(new_extent); } void OutOfProcessInstance::SetSelectionBounds(const pp::FloatPoint& base, @@ -866,47 +866,47 @@ ScalePoint(device_scale_, &new_extent_point); new_extent_point.set_x(new_extent_point.x() - available_area_.x()); - engine_->SetSelectionBounds(new_base_point, new_extent_point); + engine()->SetSelectionBounds(new_base_point, new_extent_point); } pp::Var OutOfProcessInstance::GetLinkAtPosition(const pp::Point& point) { pp::Point offset_point(point); ScalePoint(device_scale_, &offset_point); offset_point.set_x(offset_point.x() - available_area_.x()); - return engine_->GetLinkAtPosition(offset_point); + return engine()->GetLinkAtPosition(offset_point); } bool OutOfProcessInstance::CanEditText() { - return engine_->CanEditText(); + return engine()->CanEditText(); } bool OutOfProcessInstance::HasEditableText() { - return engine_->HasEditableText(); + return engine()->HasEditableText(); } void OutOfProcessInstance::ReplaceSelection(const std::string& text) { - engine_->ReplaceSelection(text); + engine()->ReplaceSelection(text); } bool OutOfProcessInstance::CanUndo() { - return engine_->CanUndo(); + return engine()->CanUndo(); } bool OutOfProcessInstance::CanRedo() { - return engine_->CanRedo(); + return engine()->CanRedo(); } void OutOfProcessInstance::Undo() { - engine_->Undo(); + engine()->Undo(); } void OutOfProcessInstance::Redo() { - engine_->Redo(); + engine()->Redo(); } void OutOfProcessInstance::HandleAccessibilityAction( const PP_PdfAccessibilityActionData& action_data) { - engine_->HandleAccessibilityAction(action_data); + engine()->HandleAccessibilityAction(action_data); } int32_t OutOfProcessInstance::PdfPrintBegin( @@ -914,23 +914,23 @@ const PP_PdfPrintSettings_Dev* pdf_print_settings) { // For us num_pages is always equal to the number of pages in the PDF // document irrespective of the printable area. - int32_t ret = engine_->GetNumberOfPages(); + int32_t ret = engine()->GetNumberOfPages(); if (!ret) return 0; - uint32_t supported_formats = engine_->QuerySupportedPrintOutputFormats(); + uint32_t supported_formats = engine()->QuerySupportedPrintOutputFormats(); if ((print_settings->format & supported_formats) == 0) return 0; print_settings_.is_printing = true; print_settings_.pepper_print_settings = *print_settings; print_settings_.pdf_print_settings = *pdf_print_settings; - engine_->PrintBegin(); + engine()->PrintBegin(); return ret; } uint32_t OutOfProcessInstance::QuerySupportedPrintOutputFormats() { - return engine_->QuerySupportedPrintOutputFormats(); + return engine()->QuerySupportedPrintOutputFormats(); } int32_t OutOfProcessInstance::PrintBegin( @@ -947,34 +947,34 @@ return pp::Resource(); print_settings_.print_pages_called = true; - return engine_->PrintPages(page_ranges, page_range_count, - print_settings_.pepper_print_settings, - print_settings_.pdf_print_settings); + return engine()->PrintPages(page_ranges, page_range_count, + print_settings_.pepper_print_settings, + print_settings_.pdf_print_settings); } void OutOfProcessInstance::PrintEnd() { if (print_settings_.print_pages_called) UserMetricsRecordAction("PDF.PrintPage"); print_settings_.Clear(); - engine_->PrintEnd(); + engine()->PrintEnd(); } bool OutOfProcessInstance::IsPrintScalingDisabled() { - return !engine_->GetPrintScaling(); + return !engine()->GetPrintScaling(); } bool OutOfProcessInstance::StartFind(const std::string& text, bool case_sensitive) { - engine_->StartFind(text, case_sensitive); + engine()->StartFind(text, case_sensitive); return true; } void OutOfProcessInstance::SelectFindResult(bool forward) { - engine_->SelectFindResult(forward); + engine()->SelectFindResult(forward); } void OutOfProcessInstance::StopFind() { - engine_->StopFind(); + engine()->StopFind(); tickmarks_.clear(); SetTickmarks(tickmarks_); } @@ -1008,7 +1008,7 @@ if (!received_viewport_message_ || !needs_reraster_) return; - engine_->PrePaint(); + engine()->PrePaint(); for (const auto& paint_rect : paint_rects) { // Intersect with plugin area since there could be pending invalidates from @@ -1024,7 +1024,7 @@ std::vector<pp::Rect> pdf_ready; std::vector<pp::Rect> pdf_pending; - engine_->Paint(pdf_rect, skia_image_data_, pdf_ready, pdf_pending); + engine()->Paint(pdf_rect, skia_image_data_, pdf_ready, pdf_pending); for (auto& ready_rect : pdf_ready) { ready_rect.Offset(available_area_.point()); ready->push_back(PaintReadyRect(ready_rect, image_data_)); @@ -1036,9 +1036,9 @@ } // Ensure the region above the first page (if any) is filled; - int32_t first_page_ypos = engine_->GetNumberOfPages() == 0 + int32_t first_page_ypos = engine()->GetNumberOfPages() == 0 ? 0 - : engine_->GetPageScreenRect(0).y(); + : engine()->GetPageScreenRect(0).y(); if (rect.y() < first_page_ypos) { pp::Rect region = rect.Intersect(pp::Rect( pp::Point(), pp::Size(plugin_size_.width(), first_page_ypos))); @@ -1055,7 +1055,7 @@ } } - engine_->PostPaint(); + engine()->PostPaint(); if (!deferred_invalidates_.empty()) { pp::CompletionCallback callback = callback_factory_.NewCallback( @@ -1066,7 +1066,7 @@ void OutOfProcessInstance::DidOpen(int32_t result) { if (result == PP_OK) { - if (!engine_->HandleDocumentLoad(embed_loader_)) { + if (!engine()->HandleDocumentLoad(embed_loader_)) { document_load_state_ = LOAD_STATE_LOADING; DocumentLoadFailed(); } @@ -1195,7 +1195,7 @@ } void OutOfProcessInstance::ScrollToPage(int page) { - if (!engine_ || engine_->GetNumberOfPages() == 0) + if (!engine() || engine()->GetNumberOfPages() == 0) return; pp::VarDictionary message; @@ -1311,7 +1311,7 @@ } void OutOfProcessInstance::SaveToBuffer(const std::string& token) { - engine_->KillFormFocus(); + engine()->KillFormFocus(); pp::VarDictionary message; message.Set(kType, kJSSaveDataType); @@ -1324,7 +1324,7 @@ message.Set(kJSHasUnsavedChanges, pp::Var(has_unsaved_changes)); if (CanSaveEdits()) { - std::vector<uint8_t> data = engine_->GetSaveData(); + std::vector<uint8_t> data = engine()->GetSaveData(); if (IsSaveDataSizeValid(data.size())) { pp::VarArrayBuffer buffer(data.size()); std::copy(data.begin(), data.end(), @@ -1333,10 +1333,10 @@ } } else { #if defined(OS_CHROMEOS) - uint32_t length = engine_->GetLoadedByteSize(); + uint32_t length = engine()->GetLoadedByteSize(); if (IsSaveDataSizeValid(length)) { pp::VarArrayBuffer buffer(length); - if (engine_->ReadLoadedBytes(length, buffer.Map())) { + if (engine()->ReadLoadedBytes(length, buffer.Map())) { message.Set(kJSDataToSave, buffer); } } @@ -1349,7 +1349,7 @@ } void OutOfProcessInstance::SaveToFile(const std::string& token) { - engine_->KillFormFocus(); + engine()->KillFormFocus(); ConsumeSaveToken(token); pp::PDF::SaveAs(this); } @@ -1407,9 +1407,9 @@ } void OutOfProcessInstance::Print() { - if (!engine_ || - (!engine_->HasPermission(PDFEngine::PERMISSION_PRINT_LOW_QUALITY) && - !engine_->HasPermission(PDFEngine::PERMISSION_PRINT_HIGH_QUALITY))) { + if (!engine() || + (!engine()->HasPermission(PDFEngine::PERMISSION_PRINT_LOW_QUALITY) && + !engine()->HasPermission(PDFEngine::PERMISSION_PRINT_HIGH_QUALITY))) { return; } @@ -1518,11 +1518,11 @@ int content_restrictions = PP_CONTENT_RESTRICTION_CUT | PP_CONTENT_RESTRICTION_PASTE; - if (!engine_->HasPermission(PDFEngine::PERMISSION_COPY)) + if (!engine()->HasPermission(PDFEngine::PERMISSION_COPY)) content_restrictions |= PP_CONTENT_RESTRICTION_COPY; - if (!engine_->HasPermission(PDFEngine::PERMISSION_PRINT_LOW_QUALITY) && - !engine_->HasPermission(PDFEngine::PERMISSION_PRINT_HIGH_QUALITY)) { + if (!engine()->HasPermission(PDFEngine::PERMISSION_PRINT_LOW_QUALITY) && + !engine()->HasPermission(PDFEngine::PERMISSION_PRINT_HIGH_QUALITY)) { content_restrictions |= PP_CONTENT_RESTRICTION_PRINT; } @@ -1537,15 +1537,15 @@ : PdfIsTagged::kNo); HistogramEnumeration("PDF.FormType", document_features.form_type, PDFEngine::FormType::kCount); - HistogramEnumeration("PDF.Version", engine_->GetDocumentMetadata().version); + HistogramEnumeration("PDF.Version", engine()->GetDocumentMetadata().version); } void OutOfProcessInstance::RotateClockwise() { - engine_->RotateClockwise(); + engine()->RotateClockwise(); } void OutOfProcessInstance::RotateCounterclockwise() { - engine_->RotateCounterclockwise(); + engine()->RotateCounterclockwise(); } // static @@ -1576,7 +1576,7 @@ return; } - engine_->DisplayAnnotations( + engine()->DisplayAnnotations( dict.Get(pp::Var(kJSDisplayAnnotations)).AsBool()); } @@ -1588,7 +1588,7 @@ return; } base::Optional<PDFEngine::NamedDestination> named_destination = - engine_->GetNamedDestination( + engine()->GetNamedDestination( dict.Get(pp::Var(kJSGetNamedDestination)).AsString()); pp::VarDictionary reply; reply.Set(pp::Var(kType), pp::Var(kJSGetNamedDestinationReplyType)); @@ -1615,7 +1615,7 @@ return; } - std::string selected_text = engine_->GetSelectedText(); + std::string selected_text = engine()->GetSelectedText(); // Always return unix newlines to JS. base::ReplaceChars(selected_text, "\r", std::string(), &selected_text); pp::VarDictionary reply; @@ -1683,9 +1683,9 @@ document_load_state_ = LOAD_STATE_LOADING; LoadUrl(url_, /*is_print_preview=*/false); preview_engine_.reset(); - engine_ = std::make_unique<PDFiumEngine>(this, /*enable_javascript=*/false); - engine_->SetGrayscale(dict.Get(pp::Var(kJSPrintPreviewGrayscale)).AsBool()); - engine_->New(url_.c_str(), /*headers=*/nullptr); + InitializeEngine(/*enable_javascript=*/false); + engine()->SetGrayscale(dict.Get(pp::Var(kJSPrintPreviewGrayscale)).AsBool()); + engine()->New(url_.c_str(), /*headers=*/nullptr); paint_manager_.InvalidateRect(gfx::Rect(SizeFromPPSize(plugin_size_))); } @@ -1724,7 +1724,7 @@ return; } - engine_->SetTwoUpView(dict.Get(pp::Var(kJSEnableTwoUpView)).AsBool()); + engine()->SetTwoUpView(dict.Get(pp::Var(kJSEnableTwoUpView)).AsBool()); } void OutOfProcessInstance::HandleUpdateScrollMessage( @@ -1754,7 +1754,7 @@ layout_options.FromVar(layout_options_var); // TODO(crbug.com/1013800): Eliminate need to get document size from here. document_size_ = - PPSizeFromSize(engine_->ApplyDocumentLayout(layout_options)); + PPSizeFromSize(engine()->ApplyDocumentLayout(layout_options)); OnGeometryChanged(zoom_, device_scale_); } @@ -1863,8 +1863,8 @@ SetZoom(zoom); scroll_offset = BoundScrollOffsetToDocument(scroll_offset); - engine_->ScrolledToXPosition(scroll_offset.x() * device_scale_); - engine_->ScrolledToYPosition(scroll_offset.y() * device_scale_); + engine()->ScrolledToXPosition(scroll_offset.x() * device_scale_); + engine()->ScrolledToYPosition(scroll_offset.y() * device_scale_); } void OutOfProcessInstance::PreviewDocumentLoadComplete() { @@ -1879,7 +1879,7 @@ DCHECK_GT(dest_page_index, 0); preview_pages_info_.pop(); DCHECK(preview_engine_); - engine_->AppendPage(preview_engine_.get(), dest_page_index); + engine()->AppendPage(preview_engine_.get(), dest_page_index); ++print_preview_loaded_page_count_; LoadNextPreviewPage(); @@ -1984,7 +1984,7 @@ void OutOfProcessInstance::OnGeometryChanged(double old_zoom, float old_device_scale) { if (zoom_ != old_zoom || device_scale_ != old_device_scale) - engine_->ZoomUpdated(zoom_ * device_scale_); + engine()->ZoomUpdated(zoom_ * device_scale_); available_area_ = pp::Rect(plugin_size_); int doc_width = GetDocumentPixelWidth(); @@ -1999,8 +1999,8 @@ available_area_.set_height(bottom_of_document); CalculateBackgroundParts(); - engine_->PageOffsetUpdated(available_area_.point()); - engine_->PluginSizeUpdated(SizeFromPPSize(available_area_.size())); + engine()->PageOffsetUpdated(available_area_.point()); + engine()->PluginSizeUpdated(SizeFromPPSize(available_area_.size())); if (document_size_.IsEmpty()) return; @@ -2047,7 +2047,7 @@ } void OutOfProcessInstance::AppendBlankPrintPreviewPages() { - engine_->AppendBlankPages(print_preview_page_count_); + engine()->AppendBlankPages(print_preview_page_count_); LoadNextPreviewPage(); } @@ -2146,16 +2146,16 @@ pp::VarDictionary metadata_message; metadata_message.Set(pp::Var(kType), pp::Var(kJSMetadataType)); - const std::string& title = engine_->GetDocumentMetadata().title; + const std::string& title = engine()->GetDocumentMetadata().title; if (!base::TrimWhitespace(base::UTF8ToUTF16(title), base::TRIM_ALL).empty()) metadata_message.Set(pp::Var(kJSTitle), pp::Var(title)); - pp::VarArray bookmarks = engine_->GetBookmarks(); + pp::VarArray bookmarks = engine()->GetBookmarks(); metadata_message.Set(pp::Var(kJSBookmarks), bookmarks); metadata_message.Set( pp::Var(kJSCanSerializeDocument), - pp::Var(IsSaveDataSizeValid(engine_->GetLoadedByteSize()))); + pp::Var(IsSaveDataSizeValid(engine()->GetLoadedByteSize()))); PostMessage(metadata_message); }
diff --git a/pdf/out_of_process_instance.h b/pdf/out_of_process_instance.h index 2aa8d03d..cafddb3 100644 --- a/pdf/out_of_process_instance.h +++ b/pdf/out_of_process_instance.h
@@ -18,7 +18,7 @@ #include "base/containers/queue.h" #include "base/macros.h" #include "pdf/paint_manager.h" -#include "pdf/pdf_engine.h" +#include "pdf/pdf_view_plugin_base.h" #include "pdf/preview_mode_client.h" #include "ppapi/c/private/ppp_pdf.h" #include "ppapi/cpp/dev/printing_dev.h" @@ -46,11 +46,11 @@ class PaintReadyRect; class PDFiumEngine; -class OutOfProcessInstance : public pp::Instance, +class OutOfProcessInstance : public PdfViewPluginBase, + public pp::Instance, public pp::Find_Private, public pp::Printing_Dev, public PaintManager::Client, - public PDFEngine::Client, public PreviewModeClient::Client { public: explicit OutOfProcessInstance(PP_Instance instance); @@ -107,7 +107,7 @@ void DidOpen(int32_t result); void DidOpenPreview(int32_t result); - // PDFEngine::Client implementation. + // PdfViewPluginBase implementation. void ProposeDocumentLayout(const DocumentLayout& layout) override; void Invalidate(const pp::Rect& rect) override; void DidScroll(const gfx::Vector2d& offset) override; @@ -408,8 +408,6 @@ PrintSettings print_settings_; - std::unique_ptr<PDFiumEngine> engine_; - // The PreviewModeClient used for print preview. Will be passed to // |preview_engine_|. std::unique_ptr<PreviewModeClient> preview_client_;
diff --git a/pdf/pdf_view_plugin_base.cc b/pdf/pdf_view_plugin_base.cc new file mode 100644 index 0000000..863c074 --- /dev/null +++ b/pdf/pdf_view_plugin_base.cc
@@ -0,0 +1,25 @@ +// Copyright 2020 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. + +#include "pdf/pdf_view_plugin_base.h" + +#include <memory> + +#include "pdf/pdfium/pdfium_engine.h" + +namespace chrome_pdf { + +PdfViewPluginBase::PdfViewPluginBase() = default; + +PdfViewPluginBase::~PdfViewPluginBase() = default; + +void PdfViewPluginBase::InitializeEngine(bool enable_javascript) { + engine_ = std::make_unique<PDFiumEngine>(this, enable_javascript); +} + +void PdfViewPluginBase::DestroyEngine() { + engine_.reset(); +} + +} // namespace chrome_pdf
diff --git a/pdf/pdf_view_plugin_base.h b/pdf/pdf_view_plugin_base.h new file mode 100644 index 0000000..c1f2f64 --- /dev/null +++ b/pdf/pdf_view_plugin_base.h
@@ -0,0 +1,45 @@ +// Copyright 2020 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. + +#ifndef PDF_PDF_VIEW_PLUGIN_BASE_H_ +#define PDF_PDF_VIEW_PLUGIN_BASE_H_ + +#include "pdf/pdf_engine.h" + +#include <memory> + +namespace chrome_pdf { + +class PDFiumEngine; + +// Common base to share code between the two plugin implementations, +// `OutOfProcessInstance` (Pepper) and `PdfViewWebPlugin` (Blink). +class PdfViewPluginBase : public PDFEngine::Client { + public: + PdfViewPluginBase(const PdfViewPluginBase& other) = delete; + PdfViewPluginBase& operator=(const PdfViewPluginBase& other) = delete; + + protected: + PdfViewPluginBase(); + ~PdfViewPluginBase() override; + + // Initializes the main `PDFiumEngine`. If `enable_javascript` is true, the + // engine will support executing JavaScript. + // + // Any existing engine will be replaced. + void InitializeEngine(bool enable_javascript); + + // Destroys the main `PDFiumEngine`. Subclasses should call this method in + // their destructor to ensure the engine is destroyed first. + void DestroyEngine(); + + PDFiumEngine* engine() { return engine_.get(); } + + private: + std::unique_ptr<PDFiumEngine> engine_; +}; + +} // namespace chrome_pdf + +#endif // PDF_PDF_VIEW_PLUGIN_BASE_H_
diff --git a/pdf/pdf_view_web_plugin.cc b/pdf/pdf_view_web_plugin.cc index ad44071f..dd37dd6 100644 --- a/pdf/pdf_view_web_plugin.cc +++ b/pdf/pdf_view_web_plugin.cc
@@ -28,11 +28,16 @@ PdfViewWebPlugin::PdfViewWebPlugin(const blink::WebPluginParams& params) {} -PdfViewWebPlugin::~PdfViewWebPlugin() = default; +PdfViewWebPlugin::~PdfViewWebPlugin() { + // Explicitly destroy the PDFEngine during destruction as it may call back + // into this object. + DestroyEngine(); +} bool PdfViewWebPlugin::Initialize(blink::WebPluginContainer* container) { DCHECK_EQ(container->Plugin(), this); container_ = container; + InitializeEngine(/*enable_javascript=*/false); return true; }
diff --git a/pdf/pdf_view_web_plugin.h b/pdf/pdf_view_web_plugin.h index 6f442dad..b9a41dd 100644 --- a/pdf/pdf_view_web_plugin.h +++ b/pdf/pdf_view_web_plugin.h
@@ -5,7 +5,7 @@ #ifndef PDF_PDF_VIEW_WEB_PLUGIN_H_ #define PDF_PDF_VIEW_WEB_PLUGIN_H_ -#include "pdf/pdf_engine.h" +#include "pdf/pdf_view_plugin_base.h" #include "third_party/blink/public/web/web_plugin.h" namespace blink { @@ -16,8 +16,8 @@ namespace chrome_pdf { // Skeleton for a `blink::WebPlugin` to replace `OutOfProcessInstance`. -class PdfViewWebPlugin final : public blink::WebPlugin, - public PDFEngine::Client { +class PdfViewWebPlugin final : public PdfViewPluginBase, + public blink::WebPlugin { public: explicit PdfViewWebPlugin(const blink::WebPluginParams& params); PdfViewWebPlugin(const PdfViewWebPlugin& other) = delete; @@ -43,7 +43,7 @@ void DidFinishLoading() override; void DidFailLoading(const blink::WebURLError& error) override; - // PDFEngine::Client: + // PdfViewPluginBase: void ProposeDocumentLayout(const DocumentLayout& layout) override; void Invalidate(const pp::Rect& rect) override; void DidScroll(const gfx::Vector2d& offset) override;
diff --git a/services/device/usb/usb_device_handle_mac.cc b/services/device/usb/usb_device_handle_mac.cc index 2bba7c61..c91439b 100644 --- a/services/device/usb/usb_device_handle_mac.cc +++ b/services/device/usb/usb_device_handle_mac.cc
@@ -4,71 +4,390 @@ #include "services/device/usb/usb_device_handle_mac.h" +#include <IOKit/IOCFBundle.h> #include <IOKit/IOCFPlugIn.h> #include <IOKit/IOKitLib.h> #include <IOKit/IOReturn.h> +#include <IOKit/IOTypes.h> #include <IOKit/usb/IOUSBLib.h> +#include <MacTypes.h> +#include <memory> +#include <numeric> #include <utility> +#include "base/mac/scoped_ioobject.h" #include "base/mac/scoped_ioplugininterface.h" +#include "base/memory/ref_counted.h" +#include "base/memory/ref_counted_memory.h" +#include "base/strings/string_number_conversions.h" +#include "components/device_event_log/device_event_log.h" +#include "services/device/public/cpp/usb/usb_utils.h" #include "services/device/usb/usb_device_mac.h" namespace device { +struct Transfer { + UsbDeviceHandleMac::TransferCallback generic_callback; + scoped_refptr<UsbDeviceHandleMac> handle; + scoped_refptr<base::RefCountedBytes> buffer; + std::vector<uint32_t> packet_lengths; + std::vector<IOUSBIsocFrame> frame_list; + mojom::UsbTransferType type; + UsbDeviceHandleMac::IsochronousTransferCallback isochronous_callback; +}; + +namespace { + +// This is the bit 7 of the request type. +enum class EndpointDirection : uint8_t { kIn = 0x80, kOut = 0x00 }; + +// These are bits 5 and 6 of the request type. +enum class RequestType : uint8_t { + kStandard = 0x00, + kClass = 0x20, + kVendor = 0x40, + kReserved = 0x60 +}; + +// These are bits 0 and 1 of the request type. +enum class RequestRecipient : uint8_t { + kDevice = 0x00, + kInterface = 0x01, + kEndpoint = 0x02, + kOther = 0x03, +}; + +mojom::UsbTransferStatus ConvertTransferStatus(IOReturn status) { + switch (status) { + // kIOReturnUnderrun can be ignored because the lower-than-expected transfer + // size is reported alongside the COMPLETED status. + case kIOReturnUnderrun: + case kIOReturnSuccess: + return mojom::UsbTransferStatus::COMPLETED; + case kIOUSBTransactionTimeout: + return mojom::UsbTransferStatus::TIMEOUT; + case kIOUSBPipeStalled: + return mojom::UsbTransferStatus::STALLED; + case kIOReturnOverrun: + return mojom::UsbTransferStatus::BABBLE; + case kIOReturnAborted: + return mojom::UsbTransferStatus::CANCELLED; + default: + return mojom::UsbTransferStatus::TRANSFER_ERROR; + } +} + +uint8_t ConvertTransferDirection(mojom::UsbTransferDirection direction) { + switch (direction) { + case mojom::UsbTransferDirection::INBOUND: + return static_cast<uint8_t>(EndpointDirection::kIn); + case mojom::UsbTransferDirection::OUTBOUND: + return static_cast<uint8_t>(EndpointDirection::kOut); + } + NOTREACHED(); + return 0; +} + +uint8_t CreateRequestType(mojom::UsbTransferDirection direction, + mojom::UsbControlTransferType request_type, + mojom::UsbControlTransferRecipient recipient) { + uint8_t result = ConvertTransferDirection(direction); + + switch (request_type) { + case mojom::UsbControlTransferType::STANDARD: + result |= static_cast<uint8_t>(RequestType::kStandard); + break; + case mojom::UsbControlTransferType::CLASS: + result |= static_cast<uint8_t>(RequestType::kClass); + break; + case mojom::UsbControlTransferType::VENDOR: + result |= static_cast<uint8_t>(RequestType::kVendor); + break; + case mojom::UsbControlTransferType::RESERVED: + result |= static_cast<uint8_t>(RequestType::kReserved); + break; + } + + switch (recipient) { + case mojom::UsbControlTransferRecipient::DEVICE: + result |= static_cast<uint8_t>(RequestRecipient::kDevice); + break; + case mojom::UsbControlTransferRecipient::INTERFACE: + result |= static_cast<uint8_t>(RequestRecipient::kInterface); + break; + case mojom::UsbControlTransferRecipient::ENDPOINT: + result |= static_cast<uint8_t>(RequestRecipient::kEndpoint); + break; + case mojom::UsbControlTransferRecipient::OTHER: + result |= static_cast<uint8_t>(RequestRecipient::kOther); + break; + } + + return result; +} + +} // namespace + UsbDeviceHandleMac::UsbDeviceHandleMac( scoped_refptr<UsbDeviceMac> device, - base::mac::ScopedIOPluginInterface<IOUSBDeviceInterface182> - device_interface) + ScopedIOUSBDeviceInterface device_interface) : device_interface_(std::move(device_interface)), device_(std::move(device)) {} -UsbDeviceHandleMac::~UsbDeviceHandleMac() {} - scoped_refptr<UsbDevice> UsbDeviceHandleMac::GetDevice() const { return device_; } void UsbDeviceHandleMac::Close() { - GetDevice()->HandleClosed(this); + if (!device_) + return; + + IOReturn kr = (*device_interface_)->USBDeviceClose(device_interface_); + if (kr != kIOReturnSuccess) { + USB_LOG(ERROR) << "Failed to close device: " << std::hex << kr; + return; + } + + Clear(); + device_->HandleClosed(this); device_ = nullptr; } void UsbDeviceHandleMac::SetConfiguration(int configuration_value, ResultCallback callback) { - NOTIMPLEMENTED(); - return; + if (!device_) { + std::move(callback).Run(false); + return; + } + + if (!base::IsValueInRangeForNumericType<uint8_t>(configuration_value)) { + std::move(callback).Run(false); + return; + } + + Clear(); + + IOReturn kr = + (*device_interface_) + ->SetConfiguration(device_interface_, + static_cast<uint8_t>(configuration_value)); + if (kr != kIOReturnSuccess) { + std::move(callback).Run(false); + return; + } + + device_->ActiveConfigurationChanged(configuration_value); + + std::move(callback).Run(true); } void UsbDeviceHandleMac::ClaimInterface(int interface_number, ResultCallback callback) { - NOTIMPLEMENTED(); - return; + if (!device_) { + std::move(callback).Run(false); + return; + } + + if (!base::IsValueInRangeForNumericType<uint8_t>(interface_number)) { + std::move(callback).Run(false); + return; + } + + IOUSBFindInterfaceRequest request; + request.bInterfaceClass = kIOUSBFindInterfaceDontCare; + request.bInterfaceSubClass = kIOUSBFindInterfaceDontCare; + request.bInterfaceProtocol = kIOUSBFindInterfaceDontCare; + request.bAlternateSetting = kIOUSBFindInterfaceDontCare; + + base::mac::ScopedIOObject<io_iterator_t> interface_iterator; + IOReturn kr = + (*device_interface_) + ->CreateInterfaceIterator(device_interface_, &request, + interface_iterator.InitializeInto()); + if (kr != kIOReturnSuccess) { + std::move(callback).Run(false); + return; + } + + base::mac::ScopedIOObject<io_service_t> usb_interface; + while (usb_interface.reset(IOIteratorNext(interface_iterator)), + usb_interface) { + base::mac::ScopedIOPluginInterface<IOCFPlugInInterface> plugin_interface; + int32_t score; + kr = IOCreatePlugInInterfaceForService( + usb_interface, kIOUSBInterfaceUserClientTypeID, kIOCFPlugInInterfaceID, + plugin_interface.InitializeInto(), &score); + + if (kr != kIOReturnSuccess || !plugin_interface) { + USB_LOG(ERROR) << "Unable to create a plug-in: " << std::hex << kr; + continue; + } + + ScopedIOUSBInterfaceInterface interface_interface; + kr = (*plugin_interface) + ->QueryInterface(plugin_interface.get(), + CFUUIDGetUUIDBytes(kIOUSBInterfaceInterfaceID), + reinterpret_cast<LPVOID*>( + interface_interface.InitializeInto())); + if (kr != kIOReturnSuccess || !interface_interface) { + USB_LOG(ERROR) << "Could not create a device interface: " << std::hex + << kr; + continue; + } + + uint8_t retrieved_interface_number; + kr = (*interface_interface) + ->GetInterfaceNumber(interface_interface, + &retrieved_interface_number); + if (kr != kIOReturnSuccess) { + USB_LOG(ERROR) << "Could not retrieve an interface number: " << std::hex + << kr; + continue; + } + + if (retrieved_interface_number != interface_number) + continue; + + kr = (*interface_interface)->USBInterfaceOpen(interface_interface); + if (kr != kIOReturnSuccess) { + USB_LOG(ERROR) << "Could not open interface: " << std::hex << kr; + break; + } + + interfaces_[interface_number] = interface_interface; + base::ScopedCFTypeRef<CFRunLoopSourceRef> run_loop_source; + kr = (*interface_interface) + ->CreateInterfaceAsyncEventSource( + interface_interface, run_loop_source.InitializeInto()); + if (kr != kIOReturnSuccess) { + USB_LOG(ERROR) << "Could not retrieve port: " << std::hex << kr; + (*interface_interface)->USBInterfaceClose(interface_interface); + break; + } + RefreshEndpointMap(); + CFRunLoopAddSource(CFRunLoopGetCurrent(), run_loop_source.get(), + kCFRunLoopDefaultMode); + sources_[interface_number] = run_loop_source; + std::move(callback).Run(true); + return; + } + std::move(callback).Run(false); + USB_LOG(ERROR) << "Could not find interface matching number: " + << interface_number; } void UsbDeviceHandleMac::ReleaseInterface(int interface_number, ResultCallback callback) { - NOTIMPLEMENTED(); - return; + if (!device_) { + std::move(callback).Run(false); + return; + } + + auto interface_it = interfaces_.find(static_cast<uint8_t>(interface_number)); + if (interface_it == interfaces_.end()) { + std::move(callback).Run(false); + return; + } + + auto released_interface = std::move(interface_it->second); + interfaces_.erase(interface_it); + + auto source_it = sources_.find(interface_number); + if (source_it != sources_.end()) { + CFRunLoopRemoveSource(CFRunLoopGetCurrent(), source_it->second.get(), + kCFRunLoopDefaultMode); + sources_.erase(source_it); + } + + IOReturn kr = (*released_interface)->USBInterfaceClose(released_interface); + if (kr != kIOReturnSuccess) { + std::move(callback).Run(false); + return; + } + RefreshEndpointMap(); + std::move(callback).Run(true); } void UsbDeviceHandleMac::SetInterfaceAlternateSetting(int interface_number, int alternate_setting, ResultCallback callback) { - NOTIMPLEMENTED(); - return; + if (!device_) { + std::move(callback).Run(false); + return; + } + + auto interface_it = interfaces_.find(interface_number); + if (interface_it == interfaces_.end()) { + std::move(callback).Run(false); + return; + } + const auto& interface_interface = interface_it->second; + + IOReturn kr = + (*interface_interface) + ->SetAlternateInterface(interface_interface, alternate_setting); + if (kr != kIOReturnSuccess) { + std::move(callback).Run(false); + return; + } + RefreshEndpointMap(); + std::move(callback).Run(true); } void UsbDeviceHandleMac::ResetDevice(ResultCallback callback) { - NOTIMPLEMENTED(); - return; + if (!device_) { + std::move(callback).Run(false); + return; + } + + // TODO(https://crbug.com/1096743): Figure out if open interfaces need to be + // closed as well. + IOReturn kr = (*device_interface_)->ResetDevice(device_interface_); + if (kr != kIOReturnSuccess) { + std::move(callback).Run(false); + return; + } + + Clear(); + std::move(callback).Run(true); } void UsbDeviceHandleMac::ClearHalt(mojom::UsbTransferDirection direction, uint8_t endpoint_number, ResultCallback callback) { - NOTIMPLEMENTED(); - return; + if (!device_) { + std::move(callback).Run(false); + return; + } + + uint8_t endpoint_address = + ConvertTransferDirection(direction) | endpoint_number; + auto* mojom_interface = FindInterfaceByEndpoint(endpoint_address); + uint8_t interface_number = mojom_interface->interface_number; + + auto interface_it = interfaces_.find(interface_number); + if (interface_it == interfaces_.end()) { + std::move(callback).Run(false); + return; + } + + const auto endpoint_it = endpoint_map_.find(endpoint_address); + if (endpoint_it == endpoint_map_.end()) { + std::move(callback).Run(false); + return; + } + + const auto& interface_interface = interface_it->second; + IOReturn kr = (*interface_interface) + ->ClearPipeStall(interface_interface, + endpoint_it->second.pipe_reference); + if (kr != kIOReturnSuccess) { + std::move(callback).Run(false); + return; + } + + std::move(callback).Run(true); } void UsbDeviceHandleMac::ControlTransfer( @@ -81,8 +400,58 @@ scoped_refptr<base::RefCountedBytes> buffer, unsigned int timeout, TransferCallback callback) { - NOTIMPLEMENTED(); - return; + if (!device_) { + std::move(callback).Run(mojom::UsbTransferStatus::DISCONNECT, + std::move(buffer), 0); + return; + } + + if (!base::IsValueInRangeForNumericType<uint16_t>(buffer->size())) { + USB_LOG(ERROR) << "Transfer too long."; + std::move(callback).Run(mojom::UsbTransferStatus::TRANSFER_ERROR, + std::move(buffer), 0); + return; + } + + auto interface_it = interfaces_.find(index & 0xff); + if (interface_it == interfaces_.end()) { + std::move(callback).Run(mojom::UsbTransferStatus::TRANSFER_ERROR, + std::move(buffer), 0); + return; + } + + ScopedIOUSBInterfaceInterface interface = interface_it->second; + IOUSBDevRequestTO device_request; + device_request.bRequest = request; + device_request.wValue = value; + device_request.wIndex = index; + device_request.bmRequestType = + CreateRequestType(direction, request_type, recipient); + device_request.pData = buffer->front_as<void*>(); + device_request.wLength = static_cast<uint16_t>(buffer->size()); + device_request.completionTimeout = timeout; + device_request.noDataTimeout = timeout; + + auto transfer = std::make_unique<Transfer>(); + transfer->generic_callback = std::move(callback); + transfer->handle = this; + transfer->buffer = std::move(buffer); + + Transfer* transfer_ptr = transfer.get(); + auto result = transfers_.insert(std::move(transfer)); + IOReturn kr = + (*interface) + ->ControlRequestAsyncTO(interface, /*pipeRef=*/0, &device_request, + &AsyncIoCallback, + reinterpret_cast<void*>(transfer_ptr)); + + if (kr != kIOReturnSuccess) { + USB_LOG(ERROR) << "Failed to send control request: " << std::hex << kr; + std::move((*result.first)->generic_callback) + .Run(mojom::UsbTransferStatus::TRANSFER_ERROR, + std::move((*result.first)->buffer), 0); + transfers_.erase(result.first); + } } void UsbDeviceHandleMac::IsochronousTransferIn( @@ -90,8 +459,86 @@ const std::vector<uint32_t>& packet_lengths, unsigned int timeout, IsochronousTransferCallback callback) { - NOTIMPLEMENTED(); - return; + if (!device_) { + ReportIsochronousTransferError(std::move(callback), packet_lengths, + mojom::UsbTransferStatus::DISCONNECT); + return; + } + + uint8_t endpoint_address = + ConvertTransferDirection(mojom::UsbTransferDirection::INBOUND) | endpoint; + const auto endpoint_it = endpoint_map_.find(endpoint_address); + if (endpoint_it == endpoint_map_.end()) { + USB_LOG(ERROR) << "Failed to submit transfer because endpoint " + << int{endpoint_address} + << " is not part of a claimed interface."; + ReportIsochronousTransferError(std::move(callback), packet_lengths, + mojom::UsbTransferStatus::TRANSFER_ERROR); + return; + } + + size_t length = + std::accumulate(packet_lengths.begin(), packet_lengths.end(), 0u); + auto buffer = base::MakeRefCounted<base::RefCountedBytes>(length); + + auto interface_it = + interfaces_.find(endpoint_it->second.interface->interface_number); + if (interface_it == interfaces_.end()) { + ReportIsochronousTransferError(std::move(callback), packet_lengths, + mojom::UsbTransferStatus::TRANSFER_ERROR); + return; + } + const auto& interface_interface = interface_it->second; + + uint64_t bus_frame; + AbsoluteTime time; + IOReturn kr = (*interface_interface) + ->GetBusFrameNumber(interface_interface, &bus_frame, &time); + if (kr != kIOReturnSuccess) { + ReportIsochronousTransferError(std::move(callback), packet_lengths, + mojom::UsbTransferStatus::TRANSFER_ERROR); + return; + } + + auto transfer = std::make_unique<Transfer>(); + transfer->isochronous_callback = std::move(callback); + transfer->handle = this; + transfer->buffer = buffer; + transfer->type = mojom::UsbTransferType::ISOCHRONOUS; + + Transfer* transfer_data = transfer.get(); + auto result = transfers_.insert(std::move(transfer)); + + std::vector<IOUSBIsocFrame> frame_list; + for (const auto& size : packet_lengths) { + if (!base::IsValueInRangeForNumericType<uint16_t>(size)) { + USB_LOG(ERROR) << "Transfer too long."; + ReportIsochronousTransferError(std::move(callback), packet_lengths, + mojom::UsbTransferStatus::TRANSFER_ERROR); + return; + } + IOUSBIsocFrame frame_entry; + frame_entry.frReqCount = static_cast<uint16_t>(size); + frame_list.push_back(frame_entry); + } + transfer->frame_list = frame_list; + + kr = (*interface_interface) + ->ReadIsochPipeAsync(interface_interface, + endpoint_it->second.pipe_reference, + buffer->front_as<void*>(), bus_frame, + static_cast<uint32_t>(packet_lengths.size()), + transfer->frame_list.data(), &AsyncIoCallback, + reinterpret_cast<void*>(transfer_data)); + + if (kr != kIOReturnSuccess) { + USB_LOG(ERROR) << "Isochrnous read failed."; + ReportIsochronousTransferError( + std::move((*result.first)->isochronous_callback), packet_lengths, + mojom::UsbTransferStatus::TRANSFER_ERROR); + transfers_.erase(result.first); + return; + } } void UsbDeviceHandleMac::IsochronousTransferOut( @@ -100,8 +547,81 @@ const std::vector<uint32_t>& packet_lengths, unsigned int timeout, IsochronousTransferCallback callback) { - NOTIMPLEMENTED(); - return; + if (!device_) { + ReportIsochronousTransferError(std::move(callback), packet_lengths, + mojom::UsbTransferStatus::DISCONNECT); + return; + } + + uint8_t endpoint_address = + ConvertTransferDirection(mojom::UsbTransferDirection::INBOUND) | endpoint; + const auto endpoint_it = endpoint_map_.find(endpoint_address); + if (endpoint_it == endpoint_map_.end()) { + USB_LOG(ERROR) << "Failed to submit transfer because endpoint " + << int{endpoint_address} + << " is not part of a claimed interface."; + ReportIsochronousTransferError(std::move(callback), packet_lengths, + mojom::UsbTransferStatus::TRANSFER_ERROR); + return; + } + + auto interface_it = + interfaces_.find(endpoint_it->second.interface->interface_number); + if (interface_it == interfaces_.end()) { + ReportIsochronousTransferError(std::move(callback), packet_lengths, + mojom::UsbTransferStatus::TRANSFER_ERROR); + return; + } + const auto& interface_interface = interface_it->second; + + uint64_t bus_frame; + AbsoluteTime time; + IOReturn kr = (*interface_interface) + ->GetBusFrameNumber(interface_interface, &bus_frame, &time); + if (kr != kIOReturnSuccess) { + ReportIsochronousTransferError(std::move(callback), packet_lengths, + mojom::UsbTransferStatus::TRANSFER_ERROR); + return; + } + + auto transfer = std::make_unique<Transfer>(); + transfer->isochronous_callback = std::move(callback); + transfer->handle = this; + transfer->buffer = buffer; + transfer->type = mojom::UsbTransferType::ISOCHRONOUS; + + Transfer* transfer_data = transfer.get(); + auto result = transfers_.insert(std::move(transfer)); + + std::vector<IOUSBIsocFrame> frame_list; + for (const auto& size : packet_lengths) { + if (!base::IsValueInRangeForNumericType<uint16_t>(size)) { + USB_LOG(ERROR) << "Transfer too long."; + ReportIsochronousTransferError(std::move(callback), packet_lengths, + mojom::UsbTransferStatus::TRANSFER_ERROR); + return; + } + IOUSBIsocFrame frame_entry; + frame_entry.frReqCount = static_cast<uint16_t>(size); + frame_list.push_back(frame_entry); + } + transfer->frame_list = frame_list; + + kr = (*interface_interface) + ->WriteIsochPipeAsync(interface_interface, + endpoint_it->second.pipe_reference, + buffer->front_as<void*>(), bus_frame, + static_cast<uint32_t>(packet_lengths.size()), + transfer->frame_list.data(), &AsyncIoCallback, + reinterpret_cast<void*>(transfer_data)); + + if (kr != kIOReturnSuccess) { + USB_LOG(ERROR) << "Isochrnous write failed."; + ReportIsochronousTransferError( + std::move((*result.first)->isochronous_callback), packet_lengths, + mojom::UsbTransferStatus::TRANSFER_ERROR); + transfers_.erase(result.first); + } } void UsbDeviceHandleMac::GenericTransfer( @@ -110,14 +630,296 @@ scoped_refptr<base::RefCountedBytes> buffer, unsigned int timeout, TransferCallback callback) { - NOTIMPLEMENTED(); - return; + if (!device_) { + std::move(callback).Run(mojom::UsbTransferStatus::DISCONNECT, buffer, 0); + return; + } + + uint8_t endpoint_address = + ConvertEndpointNumberToAddress(endpoint_number, direction); + + const auto endpoint_it = endpoint_map_.find(endpoint_address); + if (endpoint_it == endpoint_map_.end()) { + USB_LOG(ERROR) << "Failed to submit transfer because endpoint " + << int{endpoint_address} + << " is not part of a claimed interface."; + std::move(callback).Run(mojom::UsbTransferStatus::TRANSFER_ERROR, buffer, + 0); + return; + } + + if (!base::IsValueInRangeForNumericType<uint32_t>(buffer->size())) { + USB_LOG(ERROR) << "Transfer too long."; + std::move(callback).Run(mojom::UsbTransferStatus::TRANSFER_ERROR, buffer, + 0); + return; + } + + auto interface_it = + interfaces_.find(endpoint_it->second.interface->interface_number); + if (interface_it == interfaces_.end()) { + std::move(callback).Run(mojom::UsbTransferStatus::TRANSFER_ERROR, buffer, + 0); + return; + } + const auto& interface_interface = interface_it->second; + + auto transfer = std::make_unique<Transfer>(); + transfer->generic_callback = std::move(callback); + transfer->handle = this; + transfer->buffer = buffer; + + mojom::UsbTransferType transfer_type = endpoint_it->second.endpoint->type; + transfer->type = transfer_type; + + switch (transfer_type) { + case mojom::UsbTransferType::BULK: + switch (direction) { + case mojom::UsbTransferDirection::INBOUND: + BulkIn(std::move(interface_interface), + endpoint_it->second.pipe_reference, buffer, + static_cast<uint32_t>(timeout), std::move(transfer)); + return; + case mojom::UsbTransferDirection::OUTBOUND: + BulkOut(std::move(interface_interface), + endpoint_it->second.pipe_reference, buffer, + static_cast<uint32_t>(timeout), std::move(transfer)); + return; + } + case mojom::UsbTransferType::INTERRUPT: + switch (direction) { + case mojom::UsbTransferDirection::INBOUND: + InterruptIn(interface_interface, endpoint_it->second.pipe_reference, + buffer, std::move(transfer)); + return; + case mojom::UsbTransferDirection::OUTBOUND: + InterruptOut(interface_interface, endpoint_it->second.pipe_reference, + buffer, std::move(transfer)); + return; + } + default: + std::move(transfer->generic_callback) + .Run(mojom::UsbTransferStatus::TRANSFER_ERROR, buffer, 0); + } } const mojom::UsbInterfaceInfo* UsbDeviceHandleMac::FindInterfaceByEndpoint( uint8_t endpoint_address) { - NOTIMPLEMENTED(); + const auto endpoint_it = endpoint_map_.find(endpoint_address); + if (endpoint_it != endpoint_map_.end()) + return endpoint_it->second.interface; return nullptr; } +UsbDeviceHandleMac::~UsbDeviceHandleMac() {} + +void UsbDeviceHandleMac::BulkIn( + const ScopedIOUSBInterfaceInterface& interface_interface, + uint8_t pipe_reference, + scoped_refptr<base::RefCountedBytes> buffer, + uint32_t timeout, + std::unique_ptr<Transfer> transfer) { + Transfer* transfer_data = transfer.get(); + auto result = transfers_.insert(std::move(transfer)); + IOReturn kr = (*interface_interface) + ->ReadPipeAsyncTO(interface_interface, pipe_reference, + buffer->front_as<void*>(), + static_cast<uint32_t>(buffer->size()), + timeout, timeout, &AsyncIoCallback, + reinterpret_cast<void*>(transfer_data)); + + if (kr != kIOReturnSuccess) { + USB_LOG(ERROR) << "Failed to read from device: " << std::hex << kr; + std::move((*result.first)->generic_callback) + .Run(mojom::UsbTransferStatus::TRANSFER_ERROR, buffer, 0); + transfers_.erase(result.first); + } +} + +void UsbDeviceHandleMac::BulkOut( + const ScopedIOUSBInterfaceInterface& interface_interface, + uint8_t pipe_reference, + scoped_refptr<base::RefCountedBytes> buffer, + uint32_t timeout, + std::unique_ptr<Transfer> transfer) { + Transfer* transfer_data = transfer.get(); + auto result = transfers_.insert(std::move(transfer)); + IOReturn kr = (*interface_interface) + ->WritePipeAsyncTO(interface_interface, pipe_reference, + buffer->front_as<void*>(), + static_cast<uint32_t>(buffer->size()), + timeout, timeout, &AsyncIoCallback, + reinterpret_cast<void*>(transfer_data)); + + if (kr != kIOReturnSuccess) { + USB_LOG(ERROR) << "Failed to write to device: " << std::hex << kr; + std::move((*result.first)->generic_callback) + .Run(mojom::UsbTransferStatus::TRANSFER_ERROR, buffer, 0); + transfers_.erase(result.first); + } +} + +void UsbDeviceHandleMac::InterruptIn( + const ScopedIOUSBInterfaceInterface& interface_interface, + uint8_t pipe_reference, + scoped_refptr<base::RefCountedBytes> buffer, + std::unique_ptr<Transfer> transfer) { + Transfer* transfer_data = transfer.get(); + auto result = transfers_.insert(std::move(transfer)); + IOReturn kr = (*interface_interface) + ->ReadPipeAsync(interface_interface, pipe_reference, + buffer->front_as<void*>(), + static_cast<uint32_t>(buffer->size()), + &AsyncIoCallback, + reinterpret_cast<void*>(transfer_data)); + if (kr != kIOReturnSuccess) { + USB_LOG(ERROR) << "Failed to read from device: " << std::hex << kr; + std::move(transfer->generic_callback) + .Run(mojom::UsbTransferStatus::TRANSFER_ERROR, buffer, 0); + transfers_.erase(result.first); + } +} + +void UsbDeviceHandleMac::InterruptOut( + const ScopedIOUSBInterfaceInterface& interface_interface, + uint8_t pipe_reference, + scoped_refptr<base::RefCountedBytes> buffer, + std::unique_ptr<Transfer> transfer) { + Transfer* transfer_data = transfer.get(); + auto result = transfers_.insert(std::move(transfer)); + IOReturn kr = (*interface_interface) + ->WritePipeAsync(interface_interface, pipe_reference, + buffer->front_as<void*>(), + static_cast<uint32_t>(buffer->size()), + &AsyncIoCallback, + reinterpret_cast<void*>(transfer_data)); + if (kr != kIOReturnSuccess) { + USB_LOG(ERROR) << "Failed to write to device: " << std::hex << kr; + std::move(transfer->generic_callback) + .Run(mojom::UsbTransferStatus::TRANSFER_ERROR, buffer, 0); + transfers_.erase(result.first); + } +} + +void UsbDeviceHandleMac::RefreshEndpointMap() { + endpoint_map_.clear(); + const mojom::UsbConfigurationInfo* config = device_->GetActiveConfiguration(); + if (!config) + return; + + for (const auto& map_entry : interfaces_) { + uint8_t alternate_setting; + IOReturn kr = + (*map_entry.second) + ->GetAlternateSetting(map_entry.second, &alternate_setting); + if (kr != kIOReturnSuccess) + continue; + CombinedInterfaceInfo interface_info = + FindInterfaceInfoFromConfig(config, map_entry.first, alternate_setting); + + if (!interface_info.IsValid()) + continue; + + // macOS references an interface's endpoint via an index number of the + // endpoint we want in the given interface. It is called a pipe reference. + // The indices start at 1 for each interface. + uint8_t pipe_reference = 1; + for (const auto& endpoint : interface_info.alternate->endpoints) { + endpoint_map_[ConvertEndpointNumberToAddress(*endpoint)] = { + interface_info.interface, endpoint.get(), pipe_reference}; + pipe_reference++; + } + } +} + +void UsbDeviceHandleMac::ReportIsochronousTransferError( + UsbDeviceHandle::IsochronousTransferCallback callback, + std::vector<uint32_t> packet_lengths, + mojom::UsbTransferStatus status) { + std::vector<mojom::UsbIsochronousPacketPtr> packets; + packets.reserve(packet_lengths.size()); + for (const auto& packet_length : packet_lengths) { + auto packet = mojom::UsbIsochronousPacket::New(); + packet->length = packet_length; + packet->transferred_length = 0; + packet->status = status; + packets.push_back(std::move(packet)); + } + std::move(callback).Run(nullptr, std::move(packets)); +} + +void UsbDeviceHandleMac::Clear() { + base::flat_set<std::unique_ptr<Transfer>, base::UniquePtrComparator> + transfers; + transfers.swap(transfers_); + for (auto& transfer : transfers) { + DCHECK(transfer); + if (transfer->type == mojom::UsbTransferType::ISOCHRONOUS) { + ReportIsochronousTransferError(std::move(transfer->isochronous_callback), + transfer->packet_lengths, + mojom::UsbTransferStatus::TRANSFER_ERROR); + } else { + std::move(transfer->generic_callback) + .Run(mojom::UsbTransferStatus::TRANSFER_ERROR, + std::move(transfer->buffer), 0); + } + } + transfers.clear(); + interfaces_.clear(); + sources_.clear(); +} + +void UsbDeviceHandleMac::OnAsyncGeneric(IOReturn result, + size_t size, + Transfer* transfer) { + auto transfer_it = transfers_.find(transfer); + if (transfer_it == transfers_.end()) + return; + auto transfer_ptr = std::move(*transfer_it); + + std::move(transfer_ptr->generic_callback) + .Run(mojom::UsbTransferStatus::COMPLETED, transfer_ptr->buffer, + transfer_ptr->buffer->size()); + transfers_.erase(transfer_it); +} + +void UsbDeviceHandleMac::OnAsyncIsochronous(IOReturn result, + size_t size, + Transfer* transfer) { + auto transfer_it = transfers_.find(transfer); + if (transfer_it == transfers_.end()) + return; + auto transfer_ptr = std::move(*transfer_it); + + std::vector<mojom::UsbIsochronousPacketPtr> packets; + packets.reserve(transfer_ptr->frame_list.size()); + for (const auto& frame : transfer_ptr->frame_list) { + auto packet = mojom::UsbIsochronousPacket::New(); + packet->length = frame.frReqCount; + packet->transferred_length = frame.frActCount; + packet->status = ConvertTransferStatus(frame.frStatus); + packets.push_back(std::move(packet)); + } + + std::move(transfer_ptr->isochronous_callback) + .Run(transfer_ptr->buffer, std::move(packets)); + transfers_.erase(transfer_it); +} + +// static +void UsbDeviceHandleMac::AsyncIoCallback(void* refcon, + IOReturn result, + void* arg0) { + auto* transfer = reinterpret_cast<Transfer*>(refcon); + DCHECK(transfer); + DCHECK(transfer->handle); + if (transfer->type == mojom::UsbTransferType::ISOCHRONOUS) { + transfer->handle->OnAsyncIsochronous(result, reinterpret_cast<size_t>(arg0), + transfer); + return; + } + transfer->handle->OnAsyncGeneric(result, reinterpret_cast<size_t>(arg0), + transfer); +} + } // namespace device
diff --git a/services/device/usb/usb_device_handle_mac.h b/services/device/usb/usb_device_handle_mac.h index 02a2b0e..a8fbd4c 100644 --- a/services/device/usb/usb_device_handle_mac.h +++ b/services/device/usb/usb_device_handle_mac.h
@@ -12,22 +12,36 @@ #include <IOKit/IOReturn.h> #include <IOKit/usb/IOUSBLib.h> +#include <memory> #include <vector> +#include "base/containers/flat_set.h" +#include "base/containers/unique_ptr_adapters.h" +#include "base/mac/scoped_cftyperef.h" #include "base/mac/scoped_ioplugininterface.h" -#include "base/memory/ref_counted.h" #include "services/device/public/mojom/usb_device.mojom.h" +namespace base { +class RefCountedBytes; +} + namespace device { class UsbDeviceMac; +struct Transfer; class UsbDeviceHandleMac : public UsbDeviceHandle { public: - UsbDeviceHandleMac(const UsbDeviceHandleMac&) = delete; - UsbDeviceHandleMac& operator=(const UsbDeviceHandleMac&) = delete; + using ScopedIOUSBDeviceInterface = + base::mac::ScopedIOPluginInterface<IOUSBDeviceInterface182>; + using ScopedIOUSBInterfaceInterface = + base::mac::ScopedIOPluginInterface<IOUSBInterfaceInterface182>; // UsbDeviceHandle implementation: + UsbDeviceHandleMac(scoped_refptr<UsbDeviceMac> device, + ScopedIOUSBDeviceInterface device_interface); + UsbDeviceHandleMac(const UsbDeviceHandleMac&) = delete; + UsbDeviceHandleMac& operator=(const UsbDeviceHandleMac&) = delete; scoped_refptr<UsbDevice> GetDevice() const override; void Close() override; void SetConfiguration(int configuration_value, @@ -67,17 +81,64 @@ const mojom::UsbInterfaceInfo* FindInterfaceByEndpoint( uint8_t endpoint_address) override; - UsbDeviceHandleMac(scoped_refptr<UsbDeviceMac> device, - base::mac::ScopedIOPluginInterface<IOUSBDeviceInterface182> - device_interface); - protected: ~UsbDeviceHandleMac() override; - friend class UsbDeviceMac; private: - base::mac::ScopedIOPluginInterface<IOUSBDeviceInterface182> device_interface_; + struct EndpointMapValue { + const mojom::UsbInterfaceInfo* interface; + const mojom::UsbEndpointInfo* endpoint; + uint8_t pipe_reference; + }; + + void BulkIn(const ScopedIOUSBInterfaceInterface& interface_interface, + uint8_t pipe_reference, + scoped_refptr<base::RefCountedBytes> buffer, + uint32_t timeout, + std::unique_ptr<Transfer> transfer); + void BulkOut(const ScopedIOUSBInterfaceInterface& interface_interface, + uint8_t pipe_reference, + scoped_refptr<base::RefCountedBytes> buffer, + uint32_t timeout, + std::unique_ptr<Transfer> transfer); + void InterruptIn(const ScopedIOUSBInterfaceInterface& interface_interface, + uint8_t pipe_reference, + scoped_refptr<base::RefCountedBytes> buffer, + std::unique_ptr<Transfer> transfer); + void InterruptOut(const ScopedIOUSBInterfaceInterface& interface_interface, + uint8_t pipe_reference, + scoped_refptr<base::RefCountedBytes> buffer, + std::unique_ptr<Transfer> transfer); + // Refresh endpoint_map_ after ClaimInterface, ReleaseInterface and + // SetInterfaceAlternateSetting. It is needed so that endpoints can be mapped + // to their respective mojom Interface. + void RefreshEndpointMap(); + + void ReportIsochronousTransferError( + UsbDeviceHandle::IsochronousTransferCallback callback, + std::vector<uint32_t> packet_lengths, + mojom::UsbTransferStatus status); + + void Clear(); + + void OnAsyncGeneric(IOReturn result, size_t size, Transfer* transfer); + void OnAsyncIsochronous(IOReturn result, size_t size, Transfer* transfer); + static void AsyncIoCallback(void* refcon, IOReturn result, void* arg0); + + // A map from the endpoint indices to its corresponding EndpointMapValue, + // which contains the Interface and Endpoint Mojo structures. + using EndpointMap = base::flat_map<int, EndpointMapValue>; + EndpointMap endpoint_map_; + + base::flat_set<std::unique_ptr<Transfer>, base::UniquePtrComparator> + transfers_; + + ScopedIOUSBDeviceInterface device_interface_; scoped_refptr<UsbDeviceMac> device_; + + // Both maps take the interface number in as the respective key. + base::flat_map<uint8_t, ScopedIOUSBInterfaceInterface> interfaces_; + base::flat_map<uint8_t, base::ScopedCFTypeRef<CFRunLoopSourceRef>> sources_; }; } // namespace device
diff --git a/services/device/usb/usb_device_mac.cc b/services/device/usb/usb_device_mac.cc index 8371d10..d67e566 100644 --- a/services/device/usb/usb_device_mac.cc +++ b/services/device/usb/usb_device_mac.cc
@@ -36,7 +36,6 @@ std::move(callback).Run(nullptr); return; } - // IOServiceGetMatchingService consumes a reference to the matching dictionary // passed to it. base::mac::ScopedIOObject<io_service_t> usb_device( @@ -60,13 +59,12 @@ } base::mac::ScopedIOPluginInterface<IOUSBDeviceInterface182> device_interface; - IOReturn result = - (*plugin_interface) - ->QueryInterface( - plugin_interface.get(), - CFUUIDGetUUIDBytes(kIOUSBDeviceInterfaceID), - reinterpret_cast<LPVOID*>(device_interface.InitializeInto())); - if (result || !device_interface) { + kr = (*plugin_interface) + ->QueryInterface( + plugin_interface.get(), + CFUUIDGetUUIDBytes(kIOUSBDeviceInterfaceID), + reinterpret_cast<LPVOID*>(device_interface.InitializeInto())); + if (kr != kIOReturnSuccess || !device_interface) { USB_LOG(ERROR) << "Couldn’t create a device interface."; std::move(callback).Run(nullptr); return; @@ -83,8 +81,7 @@ this, std::move(device_interface)); handles().push_back(device_handle.get()); - - std::move(callback).Run(nullptr); + std::move(callback).Run(device_handle); } } // namespace device
diff --git a/services/device/usb/usb_service_linux.cc b/services/device/usb/usb_service_linux.cc index 7e7eb833..2328c93 100644 --- a/services/device/usb/usb_service_linux.cc +++ b/services/device/usb/usb_service_linux.cc
@@ -149,8 +149,9 @@ return; std::unique_ptr<UsbDeviceDescriptor> descriptor(new UsbDeviceDescriptor()); - if (!descriptor->Parse(std::vector<uint8_t>(descriptors_str.begin(), - descriptors_str.end()))) { + if (!descriptor->Parse(base::make_span( + reinterpret_cast<const uint8_t*>(descriptors_str.data()), + descriptors_str.size()))) { return; }
diff --git a/services/device/usb/usb_service_mac.cc b/services/device/usb/usb_service_mac.cc index 4de2e82..ecf36d7 100644 --- a/services/device/usb/usb_service_mac.cc +++ b/services/device/usb/usb_service_mac.cc
@@ -158,14 +158,13 @@ } base::mac::ScopedIOPluginInterface<IOUSBDeviceInterface182> device_interface; - IOReturn result = - (*plugin_interface) - ->QueryInterface( - plugin_interface.get(), - CFUUIDGetUUIDBytes(kIOUSBDeviceInterfaceID), - reinterpret_cast<LPVOID*>(device_interface.InitializeInto())); + kr = (*plugin_interface) + ->QueryInterface( + plugin_interface.get(), + CFUUIDGetUUIDBytes(kIOUSBDeviceInterfaceID), + reinterpret_cast<LPVOID*>(device_interface.InitializeInto())); - if (result || !device_interface) { + if (kr != kIOReturnSuccess || !device_interface) { USB_LOG(ERROR) << "Couldn’t create a device interface."; return; }
diff --git a/storage/browser/file_system/obfuscated_file_util.cc b/storage/browser/file_system/obfuscated_file_util.cc index 17b5d9f..78b74678 100644 --- a/storage/browser/file_system/obfuscated_file_util.cc +++ b/storage/browser/file_system/obfuscated_file_util.cc
@@ -291,9 +291,6 @@ } ObfuscatedFileUtil::~ObfuscatedFileUtil() { - // Destruction can happen on any sequence. - DETACH_FROM_SEQUENCE(sequence_checker_); - DropDatabases(); }
diff --git a/testing/buildbot/chromium.android.fyi.json b/testing/buildbot/chromium.android.fyi.json index e8c8a76..9d7da7d 100644 --- a/testing/buildbot/chromium.android.fyi.json +++ b/testing/buildbot/chromium.android.fyi.json
@@ -784,66 +784,6 @@ }, { "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices", - "--avd-config=../../tools/android/avd/proto/generic_android23.textpb" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "webview_instrumentation_test_apk" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "cpu": "x86-64", - "device_os": null, - "device_type": null, - "machine_type": "n1-standard-8", - "os": "Ubuntu-16.04", - "pool": "chromium.tests.avd" - } - ], - "named_caches": [ - { - "name": "avd_generic_android23", - "path": ".android" - }, - { - "name": "system_images_android_23_google_apis_x86", - "path": ".emulator_sdk" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", - "shards": 7 - }, - "test": "webview_instrumentation_test_apk", - "test_id_prefix": "ninja://android_webview/test:webview_instrumentation_test_apk/" - }, - { - "args": [ "--enable-features=NetworkService,NetworkServiceInProcess", "--test-launcher-filter-file=../../testing/buildbot/filters/mojo.fyi.network_webview_instrumentation_test_apk.filter", "--gs-results-bucket=chromium-result-details",
diff --git a/testing/buildbot/chromium.android.json b/testing/buildbot/chromium.android.json index c8ce2ba..cdacdd2 100644 --- a/testing/buildbot/chromium.android.json +++ b/testing/buildbot/chromium.android.json
@@ -32423,6 +32423,66 @@ "--bucket", "chromium-result-details", "--test-name", + "webview_instrumentation_test_apk" + ], + "script": "//build/android/pylib/results/presentation/test_results_presentation.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "cipd_packages": [ + { + "cipd_package": "infra/tools/luci/logdog/butler/${platform}", + "location": "bin", + "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" + } + ], + "dimension_sets": [ + { + "cpu": "x86-64", + "device_os": null, + "device_type": null, + "machine_type": "n1-standard-4", + "os": "Ubuntu-16.04", + "pool": "chromium.tests.avd" + } + ], + "named_caches": [ + { + "name": "avd_generic_android23", + "path": ".android" + }, + { + "name": "system_images_android_23_google_apis_x86", + "path": ".emulator_sdk" + } + ], + "output_links": [ + { + "link": [ + "https://luci-logdog.appspot.com/v/?s", + "=android%2Fswarming%2Flogcats%2F", + "${TASK_ID}%2F%2B%2Funified_logcats" + ], + "name": "shard #${SHARD_INDEX} logcats" + } + ], + "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", + "shards": 7 + }, + "test": "webview_instrumentation_test_apk", + "test_id_prefix": "ninja://android_webview/test:webview_instrumentation_test_apk/" + }, + { + "args": [ + "--gs-results-bucket=chromium-result-details", + "--recover-devices", + "--avd-config=../../tools/android/avd/proto/generic_android23.textpb" + ], + "merge": { + "args": [ + "--bucket", + "chromium-result-details", + "--test-name", "wtf_unittests" ], "script": "//build/android/pylib/results/presentation/test_results_presentation.py"
diff --git a/testing/buildbot/chromium.ci.json b/testing/buildbot/chromium.ci.json index d87a2f2..84bf803 100644 --- a/testing/buildbot/chromium.ci.json +++ b/testing/buildbot/chromium.ci.json
@@ -180317,66 +180317,6 @@ }, { "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices", - "--avd-config=../../tools/android/avd/proto/generic_android23.textpb" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "webview_instrumentation_test_apk" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "cpu": "x86-64", - "device_os": null, - "device_type": null, - "machine_type": "n1-standard-8", - "os": "Ubuntu-16.04", - "pool": "chromium.tests.avd" - } - ], - "named_caches": [ - { - "name": "avd_generic_android23", - "path": ".android" - }, - { - "name": "system_images_android_23_google_apis_x86", - "path": ".emulator_sdk" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", - "shards": 7 - }, - "test": "webview_instrumentation_test_apk", - "test_id_prefix": "ninja://android_webview/test:webview_instrumentation_test_apk/" - }, - { - "args": [ "--enable-features=NetworkService,NetworkServiceInProcess", "--test-launcher-filter-file=../../testing/buildbot/filters/mojo.fyi.network_webview_instrumentation_test_apk.filter", "--gs-results-bucket=chromium-result-details", @@ -184135,6 +184075,66 @@ "--bucket", "chromium-result-details", "--test-name", + "webview_instrumentation_test_apk" + ], + "script": "//build/android/pylib/results/presentation/test_results_presentation.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "cipd_packages": [ + { + "cipd_package": "infra/tools/luci/logdog/butler/${platform}", + "location": "bin", + "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" + } + ], + "dimension_sets": [ + { + "cpu": "x86-64", + "device_os": null, + "device_type": null, + "machine_type": "n1-standard-4", + "os": "Ubuntu-16.04", + "pool": "chromium.tests.avd" + } + ], + "named_caches": [ + { + "name": "avd_generic_android23", + "path": ".android" + }, + { + "name": "system_images_android_23_google_apis_x86", + "path": ".emulator_sdk" + } + ], + "output_links": [ + { + "link": [ + "https://luci-logdog.appspot.com/v/?s", + "=android%2Fswarming%2Flogcats%2F", + "${TASK_ID}%2F%2B%2Funified_logcats" + ], + "name": "shard #${SHARD_INDEX} logcats" + } + ], + "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", + "shards": 7 + }, + "test": "webview_instrumentation_test_apk", + "test_id_prefix": "ninja://android_webview/test:webview_instrumentation_test_apk/" + }, + { + "args": [ + "--gs-results-bucket=chromium-result-details", + "--recover-devices", + "--avd-config=../../tools/android/avd/proto/generic_android23.textpb" + ], + "merge": { + "args": [ + "--bucket", + "chromium-result-details", + "--test-name", "wtf_unittests" ], "script": "//build/android/pylib/results/presentation/test_results_presentation.py"
diff --git a/testing/buildbot/test_suite_exceptions.pyl b/testing/buildbot/test_suite_exceptions.pyl index 51cbedc..ec20861 100644 --- a/testing/buildbot/test_suite_exceptions.pyl +++ b/testing/buildbot/test_suite_exceptions.pyl
@@ -2914,7 +2914,6 @@ # from android-marshmallow-arm64-rel-swarming). 'android-lollipop-arm-rel-swarming', 'android-code-coverage-native', # https://crbug.com/1018431 - 'android-marshmallow-x86-rel', # crbug.com/1098111 ], 'modifications': { # chromium.android.fyi
diff --git a/testing/buildbot/test_suites.pyl b/testing/buildbot/test_suites.pyl index affed9f..7cbdf4d 100644 --- a/testing/buildbot/test_suites.pyl +++ b/testing/buildbot/test_suites.pyl
@@ -148,11 +148,6 @@ ], 'test': 'webview_instrumentation_test_apk', }, - 'webview_instrumentation_test_apk': { - 'swarming': { - 'shards': 7, - }, - }, }, 'android_modern_smoke_tests': {
diff --git a/testing/xvfb_unittest.py b/testing/xvfb_unittest.py index 4aab40baa..b84196f4 100755 --- a/testing/xvfb_unittest.py +++ b/testing/xvfb_unittest.py
@@ -94,13 +94,13 @@ def test_send_sigint(self): proc = launch_process(['--sleep']) - send_signal(proc, signal.SIGINT) + send_signal(proc, signal.SIGINT, 1) sig = read_subprocess_message(proc, 'Signal :') self.assertEqual(sig, str(signal.SIGINT)) def test_send_sigterm(self): proc = launch_process(['--sleep']) - send_signal(proc, signal.SIGTERM) + send_signal(proc, signal.SIGTERM, 1) sig = read_subprocess_message(proc, 'Signal :') self.assertEqual(sig, str(signal.SIGTERM))
diff --git a/third_party/blink/public/mojom/web_feature/web_feature.mojom b/third_party/blink/public/mojom/web_feature/web_feature.mojom index fa5d740..71ff0d0 100644 --- a/third_party/blink/public/mojom/web_feature/web_feature.mojom +++ b/third_party/blink/public/mojom/web_feature/web_feature.mojom
@@ -2671,6 +2671,8 @@ kInlineOverflowScrollWithInlineEndPadding = 3336, kCSSSelectorPseudoWebKitDetailsMarker = 3337, kSerialPortGetInfo = 3338, + // The above items are available in M85 branch. + kFileSystemPickerMethod = 3339, kV8Window_ShowOpenFilePicker_Method = 3340, kV8Window_ShowSaveFilePicker_Method = 3341, @@ -2699,6 +2701,7 @@ kConversionRegistration = 3367, kWebSharePolicyAllow = 3368, kWebSharePolicyDisallow = 3369, + kFormAssociatedCustomElement = 3370, // Add new features immediately above this line. Don't change assigned // numbers of any item, and don't reuse removed slots.
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h index fca9045..820f71d3 100644 --- a/third_party/blink/renderer/core/execution_context/execution_context.h +++ b/third_party/blink/renderer/core/execution_context/execution_context.h
@@ -375,6 +375,8 @@ protected: explicit ExecutionContext(v8::Isolate* isolate, Agent*); + ExecutionContext(const ExecutionContext&) = delete; + ExecutionContext& operator=(const ExecutionContext&) = delete; ~ExecutionContext() override; // Resetting the Agent is only necessary for a special case related to the @@ -443,8 +445,6 @@ // context as to the FeaturePolicyProposalWouldChangeBehaviour // histogram, in order not to overcount. mutable Vector<bool> feature_policy_behaviour_change_counted_; - - DISALLOW_COPY_AND_ASSIGN(ExecutionContext); }; } // namespace blink
diff --git a/third_party/blink/renderer/core/execution_context/security_context.h b/third_party/blink/renderer/core/execution_context/security_context.h index a0b8e19..045811e 100644 --- a/third_party/blink/renderer/core/execution_context/security_context.h +++ b/third_party/blink/renderer/core/execution_context/security_context.h
@@ -74,6 +74,8 @@ public: explicit SecurityContext(ExecutionContext*); + SecurityContext(const SecurityContext&) = delete; + SecurityContext& operator=(const SecurityContext&) = delete; virtual ~SecurityContext(); void Trace(Visitor*) const; @@ -184,7 +186,6 @@ InsecureNavigationsSet insecure_navigations_to_upgrade_; bool require_safe_types_ = false; SecureContextMode secure_context_mode_ = SecureContextMode::kInsecureContext; - DISALLOW_COPY_AND_ASSIGN(SecurityContext); }; } // namespace blink
diff --git a/third_party/blink/renderer/core/frame/frame_view.cc b/third_party/blink/renderer/core/frame/frame_view.cc index ee75b0b..e744f609 100644 --- a/third_party/blink/renderer/core/frame/frame_view.cc +++ b/third_party/blink/renderer/core/frame/frame_view.cc
@@ -31,12 +31,13 @@ bool FrameView::CanThrottleRenderingForPropagation() const { if (CanThrottleRendering()) return true; - LocalFrame* parent_frame = DynamicTo<LocalFrame>(GetFrame().Tree().Parent()); - if (!parent_frame) - return false; Frame& frame = GetFrame(); - LayoutEmbeddedContent* owner = frame.OwnerLayoutObject(); - return !owner && frame.IsCrossOriginToMainFrame(); + if (!frame.IsCrossOriginToMainFrame()) + return false; + if (frame.IsLocalFrame() && To<LocalFrame>(frame).IsHidden()) + return true; + LocalFrame* parent_frame = DynamicTo<LocalFrame>(GetFrame().Tree().Parent()); + return (parent_frame && !frame.OwnerLayoutObject()); } bool FrameView::DisplayLockedInParentFrame() {
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc index ebcd69c2..d17e517c 100644 --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -1295,9 +1295,13 @@ event_handler_(MakeGarbageCollected<EventHandler>(*this)), console_(MakeGarbageCollected<FrameConsole>(*this)), navigation_disable_count_(0), + should_send_resource_timing_info_to_parent_(true), + in_view_source_mode_(false), + frozen_(false), + paused_(false), + hidden_(false), page_zoom_factor_(ParentPageZoomFactor(this)), text_zoom_factor_(ParentTextZoomFactor(this)), - in_view_source_mode_(false), inspector_task_runner_(InspectorTaskRunner::Create( GetTaskRunner(TaskType::kInternalInspector))), interface_registry_(interface_registry @@ -1747,23 +1751,45 @@ } void LocalFrame::WasHidden() { - intersection_state_ = ViewportIntersectionState(); - // The initial value of occlusion_state is kUnknown, and if we leave that - // value intact then IntersectionObserver will abort processing. The frame is - // hidden, so for the purpose of computing visibility, kPossiblyOccluded will - // give the desired behavior (i.e., nothing in the iframe will be visible). - intersection_state_.occlusion_state = FrameOcclusionState::kPossiblyOccluded; + if (hidden_) + return; + hidden_ = true; + // An iframe may get a "was hidden" notification before it has been attached - // to the frame tree; in that case, skip running IntersectionObserver. - if (!Owner() || IsProvisional() || !GetDocument() || - !GetDocument()->IsActive()) { + // to the frame tree; in that case, skip further processing. + if (!Owner() || IsProvisional()) + return; + + // Mark intersections as dirty, so that child frames will reevaluate their + // render throttling status on the next lifecycle update. + LocalFrameView* frame_view = View(); + if (frame_view) + frame_view->SetIntersectionObservationState(LocalFrameView::kDesired); + + // If we are tracking occlusion for this frame, and it was not previously + // known to be occluded, then we need to force "not visible" notifications to + // be sent, since it's unknown whether this frame will run lifecycle updates. + + // Frame was already occluded, nothing more to do. + if (intersection_state_.occlusion_state == + FrameOcclusionState::kPossiblyOccluded) { return; } - if (LocalFrameView* frame_view = View()) - frame_view->ForceUpdateViewportIntersections(); + + Document* document = GetDocument(); + if (frame_view && document && document->IsActive()) { + if (auto* controller = GetDocument()->GetIntersectionObserverController()) { + if (controller->NeedsOcclusionTracking()) { + View()->ForceUpdateViewportIntersections(); + } + } + } } void LocalFrame::WasShown() { + if (!hidden_) + return; + hidden_ = false; if (LocalFrameView* frame_view = View()) frame_view->ScheduleAnimation(); } @@ -1851,6 +1877,8 @@ } FrameOcclusionState LocalFrame::GetOcclusionState() const { + if (hidden_) + return FrameOcclusionState::kPossiblyOccluded; // TODO(dcheng): Get rid of this branch for the main frame. if (IsMainFrame()) return FrameOcclusionState::kGuaranteedNotOccluded;
diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h index c3076087..e7c1ee5 100644 --- a/third_party/blink/renderer/core/frame/local_frame.h +++ b/third_party/blink/renderer/core/frame/local_frame.h
@@ -500,6 +500,7 @@ void WasHidden(); void WasShown(); + bool IsHidden() const { return hidden_; } // Whether the frame clips its content to the frame's size. bool ClipsContent() const; @@ -763,22 +764,22 @@ // FrameLoaderStateMachine if a real load has committed. Unfortunately, the // internal state tracked there is incorrect today. See // https://crbug.com/778318. - bool should_send_resource_timing_info_to_parent_ = true; - - float page_zoom_factor_; - float text_zoom_factor_; - - bool in_view_source_mode_; - + unsigned should_send_resource_timing_info_to_parent_ : 1; + unsigned in_view_source_mode_ : 1; // Whether this frame is frozen or not. This is a copy of Page::IsFrozen() // and is stored here to ensure that we do not dispatch onfreeze() twice // in a row and every onfreeze() has a single corresponding onresume(). - bool frozen_ = false; - + unsigned frozen_ : 1; // Whether this frame is paused or not. This is a copy of Page::IsPaused() // and is stored here to ensure that we do not call SetContextPaused() twice // in a row with the same argument. - bool paused_ = false; + unsigned paused_ : 1; + // Whether this frame is known to be completely occluded by other opaque + // OS-level windows. + unsigned hidden_ : 1; + + float page_zoom_factor_; + float text_zoom_factor_; Member<CoreProbeSink> probe_sink_; scoped_refptr<InspectorTaskRunner> inspector_task_runner_;
diff --git a/third_party/blink/renderer/core/html/custom/custom_element_registry.cc b/third_party/blink/renderer/core/html/custom/custom_element_registry.cc index 1bf7934e..55380bb7 100644 --- a/third_party/blink/renderer/core/html/custom/custom_element_registry.cc +++ b/third_party/blink/renderer/core/html/custom/custom_element_registry.cc
@@ -212,6 +212,11 @@ NameIdMap::AddResult result = name_id_map_.insert(descriptor.GetName(), id); CHECK(result.is_new_entry); + if (definition->IsFormAssociated()) { + if (Document* document = owner_->document()) + UseCounter::Count(*document, WebFeature::kFormAssociatedCustomElement); + } + HeapVector<Member<Element>> candidates; CollectCandidates(descriptor, &candidates); for (Element* candidate : candidates)
diff --git a/third_party/blink/renderer/core/layout/flexible_box_algorithm.cc b/third_party/blink/renderer/core/layout/flexible_box_algorithm.cc index e95d019d..04df60f2 100644 --- a/third_party/blink/renderer/core/layout/flexible_box_algorithm.cc +++ b/third_party/blink/renderer/core/layout/flexible_box_algorithm.cc
@@ -160,13 +160,12 @@ } DCHECK(layout_result); - base::Optional<LayoutUnit> baseline = - NGBoxFragment( - algorithm->StyleRef().GetWritingMode(), - algorithm->StyleRef().Direction(), - To<NGPhysicalBoxFragment>(layout_result->PhysicalFragment())) - .Baseline(); - return baseline.value_or(cross_axis_size) + FlowAwareMarginBefore(); + return FlowAwareMarginBefore() + + NGBoxFragment( + algorithm->StyleRef().GetWritingMode(), + algorithm->StyleRef().Direction(), + To<NGPhysicalBoxFragment>(layout_result->PhysicalFragment())) + .BaselineOrSynthesize(); } LayoutUnit FlexItem::AvailableAlignmentSpace() const {
diff --git a/third_party/blink/renderer/core/layout/layout_block_flow.cc b/third_party/blink/renderer/core/layout/layout_block_flow.cc index 7ab32b4..94bdcdb 100644 --- a/third_party/blink/renderer/core/layout/layout_block_flow.cc +++ b/third_party/blink/renderer/core/layout/layout_block_flow.cc
@@ -2580,8 +2580,7 @@ NGBoxFragment box_fragment( StyleRef().GetWritingMode(), StyleRef().Direction(), To<NGPhysicalBoxFragment>(paint_fragment->PhysicalFragment())); - base::Optional<LayoutUnit> baseline = box_fragment.Baseline(); - if (baseline) + if (const base::Optional<LayoutUnit> baseline = box_fragment.Baseline()) return *baseline; } }
diff --git a/third_party/blink/renderer/core/layout/ng/flex/ng_flex_layout_algorithm.cc b/third_party/blink/renderer/core/layout/ng/flex/ng_flex_layout_algorithm.cc index b1fad22..404b1adb 100644 --- a/third_party/blink/renderer/core/layout/ng/flex/ng_flex_layout_algorithm.cc +++ b/third_party/blink/renderer/core/layout/ng/flex/ng_flex_layout_algorithm.cc
@@ -1188,9 +1188,8 @@ return; LayoutUnit baseline_offset = - block_offset + - (Node().IsButton() ? fragment.FirstBaseline() : fragment.Baseline()) - .value_or(fragment.BlockSize()); + block_offset + (Node().IsButton() ? fragment.FirstBaselineOrSynthesize() + : fragment.BaselineOrSynthesize()); // We prefer a baseline from a child with baseline alignment, and no // auto-margins in the cross axis (even if we have to synthesize the
diff --git a/third_party/blink/renderer/core/layout/ng/mathml/ng_math_fraction_layout_algorithm.cc b/third_party/blink/renderer/core/layout/ng/mathml/ng_math_fraction_layout_algorithm.cc index 5c2d2c4..8a72523 100644 --- a/third_party/blink/renderer/core/layout/ng/mathml/ng_math_fraction_layout_algorithm.cc +++ b/third_party/blink/renderer/core/layout/ng/mathml/ng_math_fraction_layout_algorithm.cc
@@ -185,14 +185,12 @@ To<NGPhysicalBoxFragment>(denominator_layout_result->PhysicalFragment())); LayoutUnit numerator_ascent = - numerator_margins.block_start + - numerator_fragment.Baseline().value_or(numerator_fragment.BlockSize()); + numerator_margins.block_start + numerator_fragment.BaselineOrSynthesize(); LayoutUnit numerator_descent = numerator_fragment.BlockSize() + numerator_margins.BlockSum() - numerator_ascent; LayoutUnit denominator_ascent = denominator_margins.block_start + - denominator_fragment.Baseline().value_or( - denominator_fragment.BlockSize()); + denominator_fragment.BaselineOrSynthesize(); LayoutUnit denominator_descent = denominator_fragment.BlockSize() + denominator_margins.BlockSum() - denominator_ascent;
diff --git a/third_party/blink/renderer/core/layout/ng/mathml/ng_math_radical_layout_algorithm.cc b/third_party/blink/renderer/core/layout/ng/mathml/ng_math_radical_layout_algorithm.cc index eda8c7b..dce4ed6 100644 --- a/third_party/blink/renderer/core/layout/ng/mathml/ng_math_radical_layout_algorithm.cc +++ b/third_party/blink/renderer/core/layout/ng/mathml/ng_math_radical_layout_algorithm.cc
@@ -90,8 +90,7 @@ ComputeMarginsFor(constraint_space, base.Style(), ConstraintSpace()); NGBoxFragment fragment(ConstraintSpace().GetWritingMode(), ConstraintSpace().Direction(), *base_fragment); - base_ascent = base_margins.block_start + - fragment.Baseline().value_or(fragment.BlockSize()); + base_ascent = base_margins.block_start + fragment.BaselineOrSynthesize(); base_descent = fragment.BlockSize() + base_margins.BlockSum() - base_ascent; } if (index) { @@ -108,8 +107,7 @@ NGBoxFragment fragment(ConstraintSpace().GetWritingMode(), ConstraintSpace().Direction(), *index_fragment); index_inline_size = fragment.InlineSize() + index_margins.InlineSum(); - index_ascent = index_margins.block_start + - fragment.Baseline().value_or(fragment.BlockSize()); + index_ascent = index_margins.block_start + fragment.BaselineOrSynthesize(); index_descent = fragment.BlockSize() + index_margins.BlockSum() - index_ascent; horizontal = GetRadicalHorizontalParameters(Style());
diff --git a/third_party/blink/renderer/core/layout/ng/mathml/ng_math_row_layout_algorithm.cc b/third_party/blink/renderer/core/layout/ng/mathml/ng_math_row_layout_algorithm.cc index 736a8d44..f41fecf 100644 --- a/third_party/blink/renderer/core/layout/ng/mathml/ng_math_row_layout_algorithm.cc +++ b/third_party/blink/renderer/core/layout/ng/mathml/ng_math_row_layout_algorithm.cc
@@ -66,8 +66,7 @@ ComputeMarginsFor(child_space, child_style, ConstraintSpace()); inline_offset += margins.inline_start; - LayoutUnit ascent = margins.block_start + - fragment.Baseline().value_or(fragment.BlockSize()); + LayoutUnit ascent = margins.block_start + fragment.BaselineOrSynthesize(); *max_row_block_baseline = std::max(*max_row_block_baseline, ascent); // TODO(rbuis): Operators can add lspace and rspace.
diff --git a/third_party/blink/renderer/core/layout/ng/mathml/ng_math_scripts_layout_algorithm.cc b/third_party/blink/renderer/core/layout/ng/mathml/ng_math_scripts_layout_algorithm.cc index 2975e56..31e5a0d 100644 --- a/third_party/blink/renderer/core/layout/ng/mathml/ng_math_scripts_layout_algorithm.cc +++ b/third_party/blink/renderer/core/layout/ng/mathml/ng_math_scripts_layout_algorithm.cc
@@ -276,7 +276,7 @@ child_and_metrics.inline_size = fragment.InlineSize(); child_and_metrics.margins = ComputeMarginsFor(constraint_space, child.Style(), ConstraintSpace()); - child_and_metrics.ascent = fragment.Baseline().value_or(fragment.BlockSize()); + child_and_metrics.ascent = fragment.BaselineOrSynthesize(); child_and_metrics.descent = fragment.BlockSize() - child_and_metrics.ascent + child_and_metrics.margins.block_end; child_and_metrics.ascent += child_and_metrics.margins.block_start;
diff --git a/third_party/blink/renderer/core/layout/ng/mathml/ng_math_under_over_layout_algorithm.cc b/third_party/blink/renderer/core/layout/ng/mathml/ng_math_under_over_layout_algorithm.cc index 7e0924a8..f1e952a 100644 --- a/third_party/blink/renderer/core/layout/ng/mathml/ng_math_under_over_layout_algorithm.cc +++ b/third_party/blink/renderer/core/layout/ng/mathml/ng_math_under_over_layout_algorithm.cc
@@ -166,8 +166,7 @@ block_offset += over_fragment.BlockSize(); block_offset += parameters.over_gap_min; } else { - LayoutUnit over_ascent = - over_fragment.Baseline().value_or(over_fragment.BlockSize()); + LayoutUnit over_ascent = over_fragment.BaselineOrSynthesize(); block_offset += std::max(over_fragment.BlockSize() + parameters.over_gap_min, over_ascent + parameters.over_shift_min); @@ -211,8 +210,7 @@ if (parameters.use_under_over_bar_fallback) { block_offset += parameters.under_gap_min; } else { - LayoutUnit under_ascent = - under_fragment.Baseline().value_or(under_fragment.BlockSize()); + LayoutUnit under_ascent = under_fragment.BaselineOrSynthesize(); block_offset += std::max(parameters.under_gap_min, parameters.under_shift_min - under_ascent); } @@ -230,8 +228,7 @@ block_offset += under_margins.block_end; } - LayoutUnit base_ascent = - base_fragment.Baseline().value_or(base_fragment.BlockSize()); + LayoutUnit base_ascent = base_fragment.BaselineOrSynthesize(); container_builder_.SetBaseline(base_offset.block_offset + base_ascent); block_offset += BorderScrollbarPadding().block_end;
diff --git a/third_party/blink/renderer/core/layout/ng/ng_box_fragment.cc b/third_party/blink/renderer/core/layout/ng/ng_box_fragment.cc index 42359be..c79b92b 100644 --- a/third_party/blink/renderer/core/layout/ng/ng_box_fragment.cc +++ b/third_party/blink/renderer/core/layout/ng/ng_box_fragment.cc
@@ -25,7 +25,7 @@ margins.line_under); } - if (base::Optional<LayoutUnit> baseline = Baseline()) { + if (const base::Optional<LayoutUnit> baseline = Baseline()) { NGLineHeightMetrics metrics = IsFlippedLinesWritingMode(GetWritingMode()) ? NGLineHeightMetrics(BlockSize() - *baseline, *baseline)
diff --git a/third_party/blink/renderer/core/layout/ng/ng_box_fragment.h b/third_party/blink/renderer/core/layout/ng/ng_box_fragment.h index f31585b1..5197012 100644 --- a/third_party/blink/renderer/core/layout/ng/ng_box_fragment.h +++ b/third_party/blink/renderer/core/layout/ng/ng_box_fragment.h
@@ -30,6 +30,10 @@ return To<NGPhysicalBoxFragment>(physical_fragment_).Baseline(); } + LayoutUnit FirstBaselineOrSynthesize() const { + return FirstBaseline().value_or(BlockSize()); + } + // Returns the baseline for this fragment wrt. the parent writing mode. Will // return a null baseline if: // - The fragment has no baseline. @@ -45,6 +49,10 @@ return To<NGPhysicalBoxFragment>(physical_fragment_).Baseline(); } + LayoutUnit BaselineOrSynthesize() const { + return Baseline().value_or(BlockSize()); + } + // Compute baseline metrics (ascent/descent) for this box. // // This will synthesize baseline metrics if no baseline is available. See
diff --git a/third_party/blink/renderer/core/layout/ng/ng_box_fragment_builder.h b/third_party/blink/renderer/core/layout/ng/ng_box_fragment_builder.h index f3ed953..629b4ba 100644 --- a/third_party/blink/renderer/core/layout/ng/ng_box_fragment_builder.h +++ b/third_party/blink/renderer/core/layout/ng/ng_box_fragment_builder.h
@@ -56,9 +56,6 @@ layout_object_ = layout_object; } - NGBoxFragmentBuilder(const NGBoxFragmentBuilder& other) - : NGContainerFragmentBuilder(other) {} - void SetInitialFragmentGeometry( const NGFragmentGeometry& initial_fragment_geometry) { initial_fragment_geometry_ = &initial_fragment_geometry;
diff --git a/third_party/blink/renderer/core/layout/ng/table/ng_table_layout_algorithm_utils.cc b/third_party/blink/renderer/core/layout/ng/table/ng_table_layout_algorithm_utils.cc index 98f777c..5069156 100644 --- a/third_party/blink/renderer/core/layout/ng/table/ng_table_layout_algorithm_utils.cc +++ b/third_party/blink/renderer/core/layout/ng/table/ng_table_layout_algorithm_utils.cc
@@ -107,7 +107,7 @@ if (NGTableAlgorithmUtils::IsBaseline(cell_style.VerticalAlign())) { if (layout_result->HasDescendantThatDependsOnPercentageBlockSize()) baseline_depends_on_percentage_block_size_descendant = true; - baseline = NGTableAlgorithmUtils::CellBaselineFromFragment(fragment); + baseline = fragment.FirstBaselineOrSynthesize(); max_baseline = std::max(max_baseline.value_or(LayoutUnit()), baseline); } @@ -245,11 +245,6 @@ } // namespace -LayoutUnit NGTableAlgorithmUtils::CellBaselineFromFragment( - const NGBoxFragment& fragment) { - return fragment.FirstBaseline().value_or(fragment.BlockSize()); -} - void NGTableAlgorithmUtils::ComputeColumnInlineConstraints( const Vector<NGBlockNode>& columns, bool is_fixed_layout,
diff --git a/third_party/blink/renderer/core/layout/ng/table/ng_table_layout_algorithm_utils.h b/third_party/blink/renderer/core/layout/ng/table/ng_table_layout_algorithm_utils.h index 00196c8b..5603ded 100644 --- a/third_party/blink/renderer/core/layout/ng/table/ng_table_layout_algorithm_utils.h +++ b/third_party/blink/renderer/core/layout/ng/table/ng_table_layout_algorithm_utils.h
@@ -12,7 +12,6 @@ class NGTableBorders; class NGBlockNode; -class NGBoxFragment; // Table size distribution algorithms. class NGTableAlgorithmUtils { @@ -26,8 +25,6 @@ align == EVerticalAlign::kLength; } - static LayoutUnit CellBaselineFromFragment(const NGBoxFragment& fragment); - static void ComputeColumnInlineConstraints( const Vector<NGBlockNode>& columns, bool is_fixed_layout,
diff --git a/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping.cc b/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping.cc index c66e94d..7b3c9a6 100644 --- a/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping.cc +++ b/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping.cc
@@ -240,26 +240,6 @@ static_cast<int>(DOMNodeIds::IdForNode(owning_node))); } - // Attempt to associate each layer with the frame owner's element ID. - Document* owner = nullptr; - if (GetLayoutObject().IsLayoutEmbeddedContent()) { - auto& embedded = ToLayoutEmbeddedContent(GetLayoutObject()); - if (auto* frame_view = - DynamicTo<LocalFrameView>(embedded.GetEmbeddedContentView())) { - owner = frame_view->GetFrame().GetDocument(); - } else { - // Ignore remote and plugin frames. - } - } else { - owner = &GetLayoutObject().GetDocument(); - } - if (owner) { - graphics_layer->CcLayer().SetFrameElementId( - CompositorElementIdFromUniqueObjectId( - DOMNodeIds::IdForNode(owner), - CompositorElementIdNamespace::kDOMNodeId)); - } - return graphics_layer; }
diff --git a/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping_test.cc b/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping_test.cc index d1ca418..587595d 100644 --- a/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping_test.cc +++ b/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping_test.cc
@@ -1873,44 +1873,6 @@ EXPECT_EQ(squash_container_a_layer->ClippingContainer(), isolation_a_object); } -TEST_F(CompositedLayerMappingTest, FrameAttribution) { - SetBodyInnerHTML(R"HTML( - <div id='child' style='will-change: transform;'></div> - <iframe id='subframe' style='will-change: transform;'></iframe> - )HTML"); - - UpdateAllLifecyclePhasesForTest(); - - // Ensure that we correctly attribute child layers in the main frame to their - // containing document. - Element* child = GetDocument().getElementById("child"); - PaintLayer* child_paint_layer = - ToLayoutBoxModelObject(child->GetLayoutObject())->Layer(); - auto& child_layer = child_paint_layer->GraphicsLayerBacking()->CcLayer(); - EXPECT_TRUE(child_layer.frame_element_id()); - - EXPECT_EQ(child_layer.frame_element_id(), - CompositorElementIdFromUniqueObjectId( - DOMNodeIds::IdForNode(&GetDocument()), - CompositorElementIdNamespace::kDOMNodeId)); - - // Test that a layerized subframe's element ID is that of its containing - // document. - auto* subframe = - To<HTMLFrameOwnerElement>(GetDocument().getElementById("subframe")); - EXPECT_TRUE(subframe); - PaintLayer* subframe_paint_layer = - ToLayoutBoxModelObject(subframe->GetLayoutObject())->Layer(); - auto& subframe_layer = - subframe_paint_layer->GraphicsLayerBacking()->CcLayer(); - EXPECT_TRUE(subframe_layer.frame_element_id()); - - EXPECT_EQ(subframe_layer.frame_element_id(), - CompositorElementIdFromUniqueObjectId( - DOMNodeIds::IdForNode(subframe->contentDocument()), - CompositorElementIdNamespace::kDOMNodeId)); -} - TEST_F(CompositedLayerMappingTest, SquashIntoScrollingContents) { GetDocument().GetFrame()->GetSettings()->SetPreferCompositingToLCDTextEnabled( true);
diff --git a/third_party/blink/renderer/core/paint/compositing/compositing_test.cc b/third_party/blink/renderer/core/paint/compositing/compositing_test.cc index 9a49901..90ecc85 100644 --- a/third_party/blink/renderer/core/paint/compositing/compositing_test.cc +++ b/third_party/blink/renderer/core/paint/compositing/compositing_test.cc
@@ -1582,4 +1582,57 @@ EXPECT_FALSE(Compositor().layer_tree_host()->CommitRequested()); } +TEST_P(CompositingSimTest, FrameAttribution) { + base::test::ScopedFeatureList feature_list; + feature_list.InitWithFeatureState( + blink::features::kCompositeCrossOriginIframes, true); + + InitializeWithHTML(R"HTML( + <div id='child' style='will-change: transform;'>test</div> + <iframe id='iframe' sandbox></iframe> + )HTML"); + + Compositor().BeginFrame(); + + // Ensure that we correctly attribute child layers in the main frame to their + // containing document. + auto* child_layer = CcLayerByDOMElementId("child"); + ASSERT_TRUE(child_layer); + + auto* child_transform_node = GetTransformNode(child_layer); + ASSERT_TRUE(child_transform_node); + + // Iterate the transform tree to gather the parent frame element ID. + cc::ElementId frame_element_id; + auto* current_transform_node = child_transform_node; + while (current_transform_node) { + frame_element_id = current_transform_node->frame_element_id; + if (frame_element_id) + break; + current_transform_node = + GetPropertyTrees()->transform_tree.parent(current_transform_node); + } + + EXPECT_EQ(frame_element_id, CompositorElementIdFromUniqueObjectId( + DOMNodeIds::IdForNode(&GetDocument()), + CompositorElementIdNamespace::kDOMNodeId)); + + // Test that a layerized subframe's frame element ID is that of its + // containing document. + Document* iframe_doc = + To<HTMLFrameOwnerElement>(GetElementById("iframe"))->contentDocument(); + Node* owner_node = iframe_doc; + if (RuntimeEnabledFeatures::CompositeAfterPaintEnabled()) + owner_node = iframe_doc->documentElement(); + auto* iframe_layer = CcLayerByOwnerNodeId(owner_node); + ASSERT_TRUE(iframe_layer); + auto* iframe_transform_node = GetTransformNode(iframe_layer); + EXPECT_TRUE(iframe_transform_node); + + EXPECT_EQ(iframe_transform_node->frame_element_id, + CompositorElementIdFromUniqueObjectId( + DOMNodeIds::IdForNode(iframe_doc), + CompositorElementIdNamespace::kDOMNodeId)); +} + } // namespace blink
diff --git a/third_party/blink/renderer/core/paint/link_highlight_impl.cc b/third_party/blink/renderer/core/paint/link_highlight_impl.cc index f8a55c84..53eb7f7f 100644 --- a/third_party/blink/renderer/core/paint/link_highlight_impl.cc +++ b/third_party/blink/renderer/core/paint/link_highlight_impl.cc
@@ -60,6 +60,7 @@ #include "third_party/blink/renderer/platform/graphics/paint/foreign_layer_display_item.h" #include "third_party/blink/renderer/platform/graphics/paint/paint_canvas.h" #include "third_party/blink/renderer/platform/graphics/paint/paint_recorder.h" +#include "third_party/blink/renderer/platform/graphics/paint/scoped_display_item_fragment.h" #include "third_party/blink/renderer/platform/graphics/paint/transform_paint_property_node.h" #include "third_party/blink/renderer/platform/web_test_support.h" #include "third_party/blink/renderer/platform/wtf/vector.h" @@ -282,9 +283,10 @@ ->GetMockGestureTapHighlightsEnabled() && !object->FirstFragment().NextFragment(); - size_t index = 0; + wtf_size_t index = 0; for (const auto* fragment = &object->FirstFragment(); fragment; fragment = fragment->NextFragment(), ++index) { + ScopedDisplayItemFragment scoped_fragment(context, index); auto rects = object->OutlineRects( fragment->PaintOffset(), NGOutlineType::kIncludeBlockVisualOverflow); if (rects.size() > 1)
diff --git a/third_party/blink/renderer/core/paint/paint_layer.cc b/third_party/blink/renderer/core/paint/paint_layer.cc index d356116..839b7c4 100644 --- a/third_party/blink/renderer/core/paint/paint_layer.cc +++ b/third_party/blink/renderer/core/paint/paint_layer.cc
@@ -2460,10 +2460,11 @@ void PaintLayer::UpdateFilterReferenceBox() { if (!HasFilterThatMovesPixels()) return; - FloatRect reference_box = - FloatRect(PhysicalBoundingBoxIncludingStackingChildren( - PhysicalOffset(), - PaintLayer::kIncludeTransformsAndCompositedChildLayers)); + PhysicalRect result = LocalBoundingBox(); + ExpandRectForStackingChildren( + *this, result, PaintLayer::kIncludeTransformsAndCompositedChildLayers); + FloatRect reference_box = FloatRect(result); + float zoom = GetLayoutObject().StyleRef().EffectiveZoom(); if (zoom != 1) reference_box.Scale(1 / zoom); @@ -2677,16 +2678,6 @@ } } -PhysicalRect PaintLayer::PhysicalBoundingBoxIncludingStackingChildren( - const PhysicalOffset& offset_from_root, - CalculateBoundsOptions options) const { - PhysicalRect result = LocalBoundingBox(); - ExpandRectForStackingChildren(*this, result, options); - - result.Move(offset_from_root); - return result; -} - PhysicalRect PaintLayer::BoundingBoxForCompositing() const { return BoundingBoxForCompositingInternal( *this, nullptr, kMaybeIncludeTransformForAncestorLayer); @@ -2712,6 +2703,8 @@ const PaintLayer& composited_layer, const PaintLayer* stacking_parent, CalculateBoundsOptions options) const { + DCHECK_GE(GetLayoutObject().GetDocument().Lifecycle().GetState(), + DocumentLifecycle::kInPrePaint); if (!IsSelfPaintingLayer()) return PhysicalRect(); @@ -2740,8 +2733,17 @@ // If there is a clip applied by an ancestor to this PaintLayer but below or // equal to |ancestorLayer|, apply that clip. - PhysicalRect result = Clipper(GeometryMapperOption::kDoNotUseGeometryMapper) - .LocalClipRect(composited_layer); + // + // There are two callsites to BoundingBoxForCompositingInternal: one in + // pre-paint for filter bouonding boxes, and one in compositing. The former + // can't use GeometryMapper yet because of circularity between + // LocalBorderBoxProperties and filters being set on the property trees. + PhysicalRect result = + Clipper((GetLayoutObject().GetDocument().Lifecycle().GetState() == + DocumentLifecycle::kInCompositingAssignmentsUpdate) + ? GeometryMapperOption::kUseGeometryMapper + : GeometryMapperOption::kDoNotUseGeometryMapper) + .LocalClipRect(composited_layer); result.Intersect(LocalBoundingBox());
diff --git a/third_party/blink/renderer/core/paint/paint_layer.h b/third_party/blink/renderer/core/paint/paint_layer.h index 6a29599c..7fc945ea 100644 --- a/third_party/blink/renderer/core/paint/paint_layer.h +++ b/third_party/blink/renderer/core/paint/paint_layer.h
@@ -462,7 +462,6 @@ // paintsWithTransform() is true. enum CalculateBoundsOptions { kMaybeIncludeTransformForAncestorLayer, - kNeverIncludeTransformForAncestorLayer, kIncludeTransformsAndCompositedChildLayers, }; @@ -470,9 +469,6 @@ PhysicalRect PhysicalBoundingBox( const PhysicalOffset& offset_from_root) const; PhysicalRect PhysicalBoundingBox(const PaintLayer* ancestor_layer) const; - PhysicalRect PhysicalBoundingBoxIncludingStackingChildren( - const PhysicalOffset& offset_from_root, - CalculateBoundsOptions = kMaybeIncludeTransformForAncestorLayer) const; PhysicalRect FragmentsBoundingBox(const PaintLayer* ancestor_layer) const; PhysicalRect BoundingBoxForCompositingOverlapTest() const;
diff --git a/third_party/blink/renderer/core/paint/paint_layer_clipper.cc b/third_party/blink/renderer/core/paint/paint_layer_clipper.cc index 1a6b600d..9b6e4d05 100644 --- a/third_party/blink/renderer/core/paint/paint_layer_clipper.cc +++ b/third_party/blink/renderer/core/paint/paint_layer_clipper.cc
@@ -67,6 +67,10 @@ return respect_overflow_clip == kRespectOverflowClip; } +bool ClipRectsContext::ShouldIgnoreRootLayerClipAndScroll() const { + return respect_overflow_clip == kIgnoreOverflowClipAndScroll; +} + static void AdjustClipRectsForChildren( const LayoutBoxModelObject& layout_object, ClipRects& clip_rects) { @@ -458,6 +462,9 @@ context.root_fragment->LocalBorderBoxProperties(); if (context.ShouldRespectRootLayerClip()) { destination_property_tree_state.SetClip(context.root_fragment->PreClip()); + } else if (context.ShouldIgnoreRootLayerClipAndScroll()) { + destination_property_tree_state = + context.root_fragment->ContentsProperties(); } else { destination_property_tree_state.SetClip( context.root_fragment->PostOverflowClip());
diff --git a/third_party/blink/renderer/core/paint/paint_layer_clipper.h b/third_party/blink/renderer/core/paint/paint_layer_clipper.h index bf102b1..a298bcd 100644 --- a/third_party/blink/renderer/core/paint/paint_layer_clipper.h +++ b/third_party/blink/renderer/core/paint/paint_layer_clipper.h
@@ -87,6 +87,7 @@ ClipRectsCacheSlot CacheSlot() const { return cache_slot_; } bool ShouldRespectRootLayerClip() const; + bool ShouldIgnoreRootLayerClipAndScroll() const; const PaintLayer* root_layer; const FragmentData* root_fragment;
diff --git a/third_party/blink/renderer/core/paint/paint_layer_clipper_test.cc b/third_party/blink/renderer/core/paint/paint_layer_clipper_test.cc index 6aaa19c..dc220a7f 100644 --- a/third_party/blink/renderer/core/paint/paint_layer_clipper_test.cc +++ b/third_party/blink/renderer/core/paint/paint_layer_clipper_test.cc
@@ -899,6 +899,35 @@ EXPECT_EQ(PhysicalRect(0, 0, 200, 300), layer_bounds); } +static void CheckBackgroundRects(const PaintLayer& target_layer, + const PhysicalRect& expected_rect) { + { + ClipRect clip_rect; + target_layer.Clipper(PaintLayer::GeometryMapperOption::kUseGeometryMapper) + .CalculateBackgroundClipRect( + ClipRectsContext( + target_layer.GetLayoutObject().View()->Layer(), + &target_layer.GetLayoutObject().View()->FirstFragment(), + kUncachedClipRects, kIgnorePlatformOverlayScrollbarSize, + kIgnoreOverflowClipAndScroll), + clip_rect); + EXPECT_EQ(expected_rect, clip_rect.Rect()); + } + { + ClipRect clip_rect; + target_layer + .Clipper(PaintLayer::GeometryMapperOption::kDoNotUseGeometryMapper) + .CalculateBackgroundClipRect( + ClipRectsContext( + target_layer.GetLayoutObject().View()->Layer(), + &target_layer.GetLayoutObject().View()->FirstFragment(), + kUncachedClipRects, kIgnorePlatformOverlayScrollbarSize, + kIgnoreOverflowClipAndScroll), + clip_rect); + EXPECT_EQ(expected_rect, clip_rect.Rect()); + } +} + TEST_F(PaintLayerClipperTest, FixedLayerClipRectInDocumentSpace) { SetBodyInnerHTML(R"HTML( <div style="position:fixed; left:100px; top:200px; width:300px; height:400px; overflow:hidden;"> @@ -912,41 +941,14 @@ ToLayoutBoxModelObject(target->GetLayoutObject())->Layer(); GetDocument().domWindow()->scrollTo(0, 50); - GetDocument() - .GetLayoutView() - ->Layer() - ->Clipper(PaintLayer::GeometryMapperOption::kDoNotUseGeometryMapper) - .ClearClipRectsIncludingDescendants(); + UpdateAllLifecyclePhasesForTest(); - { - ClipRect clip_rect; - target_layer - ->Clipper(PaintLayer::GeometryMapperOption::kDoNotUseGeometryMapper) - .CalculateBackgroundClipRect( - ClipRectsContext(GetDocument().GetLayoutView()->Layer(), - &GetDocument().GetLayoutView()->FirstFragment(), - kAbsoluteClipRectsIgnoringViewportClip, - kIgnorePlatformOverlayScrollbarSize, - kIgnoreOverflowClipAndScroll), - clip_rect); - EXPECT_EQ(PhysicalRect(100, 250, 300, 400), clip_rect.Rect()); - } + CheckBackgroundRects(*target_layer, PhysicalRect(100, 250, 300, 400)); GetDocument().domWindow()->scrollTo(0, 100); + UpdateAllLifecyclePhasesForTest(); - { - ClipRect clip_rect; - target_layer - ->Clipper(PaintLayer::GeometryMapperOption::kDoNotUseGeometryMapper) - .CalculateBackgroundClipRect( - ClipRectsContext(GetDocument().GetLayoutView()->Layer(), - &GetDocument().GetLayoutView()->FirstFragment(), - kAbsoluteClipRectsIgnoringViewportClip, - kIgnorePlatformOverlayScrollbarSize, - kIgnoreOverflowClipAndScroll), - clip_rect); - EXPECT_EQ(PhysicalRect(100, 300, 300, 400), clip_rect.Rect()); - } + CheckBackgroundRects(*target_layer, PhysicalRect(100, 300, 300, 400)); } TEST_F(PaintLayerClipperTest, @@ -966,41 +968,14 @@ ToLayoutBoxModelObject(target->GetLayoutObject())->Layer(); GetDocument().domWindow()->scrollTo(0, 50); - GetDocument() - .GetLayoutView() - ->Layer() - ->Clipper(PaintLayer::GeometryMapperOption::kDoNotUseGeometryMapper) - .ClearClipRectsIncludingDescendants(); + UpdateAllLifecyclePhasesForTest(); - { - ClipRect clip_rect; - target_layer - ->Clipper(PaintLayer::GeometryMapperOption::kDoNotUseGeometryMapper) - .CalculateBackgroundClipRect( - ClipRectsContext(GetDocument().GetLayoutView()->Layer(), - &GetDocument().GetLayoutView()->FirstFragment(), - kAbsoluteClipRectsIgnoringViewportClip, - kIgnorePlatformOverlayScrollbarSize, - kIgnoreOverflowClipAndScroll), - clip_rect); - EXPECT_EQ(PhysicalRect(100, 250, 200, 300), clip_rect.Rect()); - } + CheckBackgroundRects(*target_layer, PhysicalRect(100, 250, 200, 300)); GetDocument().domWindow()->scrollTo(0, 100); + UpdateAllLifecyclePhasesForTest(); - { - ClipRect clip_rect; - target_layer - ->Clipper(PaintLayer::GeometryMapperOption::kDoNotUseGeometryMapper) - .CalculateBackgroundClipRect( - ClipRectsContext(GetDocument().GetLayoutView()->Layer(), - &GetDocument().GetLayoutView()->FirstFragment(), - kAbsoluteClipRectsIgnoringViewportClip, - kIgnorePlatformOverlayScrollbarSize, - kIgnoreOverflowClipAndScroll), - clip_rect); - EXPECT_EQ(PhysicalRect(100, 300, 200, 300), clip_rect.Rect()); - } + CheckBackgroundRects(*target_layer, PhysicalRect(100, 300, 200, 300)); } TEST_F(PaintLayerClipperTest, @@ -1027,68 +1002,24 @@ ->Layer() ->Clipper(PaintLayer::GeometryMapperOption::kDoNotUseGeometryMapper) .ClearClipRectsIncludingDescendants(); + UpdateAllLifecyclePhasesForTest(); - { - ClipRect clip_rect; - target_layer - ->Clipper(PaintLayer::GeometryMapperOption::kDoNotUseGeometryMapper) - .CalculateBackgroundClipRect( - ClipRectsContext(GetDocument().GetLayoutView()->Layer(), - &GetDocument().GetLayoutView()->FirstFragment(), - kUncachedClipRects, - kIgnorePlatformOverlayScrollbarSize, - kIgnoreOverflowClipAndScroll), - clip_rect); - EXPECT_EQ(PhysicalRect(100, 208, 200, 300), clip_rect.Rect()); - } + CheckBackgroundRects(*target_layer, PhysicalRect(100, 208, 200, 300)); // At 50, target is still scrolling - clip_rect shouldn't change. GetDocument().domWindow()->scrollTo(0, 50); - { - ClipRect clip_rect; - target_layer - ->Clipper(PaintLayer::GeometryMapperOption::kDoNotUseGeometryMapper) - .CalculateBackgroundClipRect( - ClipRectsContext(GetDocument().GetLayoutView()->Layer(), - &GetDocument().GetLayoutView()->FirstFragment(), - kUncachedClipRects, - kIgnorePlatformOverlayScrollbarSize, - kIgnoreOverflowClipAndScroll), - clip_rect); - EXPECT_EQ(PhysicalRect(100, 208, 200, 300), clip_rect.Rect()); - } + UpdateAllLifecyclePhasesForTest(); + CheckBackgroundRects(*target_layer, PhysicalRect(100, 208, 200, 300)); // At 150, target is fixed - clip_rect should now increase. GetDocument().domWindow()->scrollTo(0, 150); - { - ClipRect clip_rect; - target_layer - ->Clipper(PaintLayer::GeometryMapperOption::kDoNotUseGeometryMapper) - .CalculateBackgroundClipRect( - ClipRectsContext(GetDocument().GetLayoutView()->Layer(), - &GetDocument().GetLayoutView()->FirstFragment(), - kUncachedClipRects, - kIgnorePlatformOverlayScrollbarSize, - kIgnoreOverflowClipAndScroll), - clip_rect); - EXPECT_EQ(PhysicalRect(100, 250, 200, 300), clip_rect.Rect()); - } + UpdateAllLifecyclePhasesForTest(); + CheckBackgroundRects(*target_layer, PhysicalRect(100, 250, 200, 300)); // At 250, target is still fixed - clip_rect should keep increasing. GetDocument().domWindow()->scrollTo(0, 250); - { - ClipRect clip_rect; - target_layer - ->Clipper(PaintLayer::GeometryMapperOption::kDoNotUseGeometryMapper) - .CalculateBackgroundClipRect( - ClipRectsContext(GetDocument().GetLayoutView()->Layer(), - &GetDocument().GetLayoutView()->FirstFragment(), - kUncachedClipRects, - kIgnorePlatformOverlayScrollbarSize, - kIgnoreOverflowClipAndScroll), - clip_rect); - EXPECT_EQ(PhysicalRect(100, 350, 200, 300), clip_rect.Rect()); - } + UpdateAllLifecyclePhasesForTest(); + CheckBackgroundRects(*target_layer, PhysicalRect(100, 350, 200, 300)); } } // namespace blink
diff --git a/third_party/blink/renderer/core/paint/paint_property_tree_builder.cc b/third_party/blink/renderer/core/paint/paint_property_tree_builder.cc index 1478031..12a5366 100644 --- a/third_party/blink/renderer/core/paint/paint_property_tree_builder.cc +++ b/third_party/blink/renderer/core/paint/paint_property_tree_builder.cc
@@ -543,6 +543,9 @@ full_context_.direct_compositing_reasons & CompositingReason::kDirectReasonsForPaintOffsetTranslationProperty; state.rendering_context_id = context_.current.rendering_context_id; + state.frame_element_id = CompositorElementIdFromUniqueObjectId( + DOMNodeIds::IdForNode(&object_.GetDocument()), + CompositorElementIdNamespace::kDOMNodeId); OnUpdate(properties_->UpdatePaintOffsetTranslation( *context_.current.transform, std::move(state))); context_.current.transform = properties_->PaintOffsetTranslation(); @@ -574,6 +577,9 @@ state.compositor_element_id = CompositorElementIdFromUniqueObjectId( box_model.UniqueId(), CompositorElementIdNamespace::kStickyTranslation); + state.frame_element_id = CompositorElementIdFromUniqueObjectId( + DOMNodeIds::IdForNode(&object_.GetDocument()), + CompositorElementIdNamespace::kDOMNodeId); auto* layer = box_model.Layer(); const auto* scroller_properties = layer->AncestorOverflowLayer() @@ -717,6 +723,9 @@ context_.current.should_flatten_inherited_transform; state.compositor_element_id = GetCompositorElementId( CompositorElementIdNamespace::kPrimaryTransform); + state.frame_element_id = CompositorElementIdFromUniqueObjectId( + DOMNodeIds::IdForNode(&object_.GetDocument()), + CompositorElementIdNamespace::kDOMNodeId); } TransformPaintPropertyNode::AnimationState animation_state; @@ -888,6 +897,9 @@ : TransformPaintPropertyNode::BackfaceVisibility::kVisible; state.compositor_element_id = GetCompositorElementId( CompositorElementIdNamespace::kPrimaryTransform); + state.frame_element_id = CompositorElementIdFromUniqueObjectId( + DOMNodeIds::IdForNode(&object_.GetDocument()), + CompositorElementIdNamespace::kDOMNodeId); TransformPaintPropertyNode::AnimationState animation_state; animation_state.is_running_animation_on_compositor = @@ -1780,6 +1792,9 @@ state.flags.flattens_inherited_transform = context_.current.should_flatten_inherited_transform; state.rendering_context_id = context_.current.rendering_context_id; + state.frame_element_id = CompositorElementIdFromUniqueObjectId( + DOMNodeIds::IdForNode(&object_.GetDocument()), + CompositorElementIdNamespace::kDOMNodeId); OnUpdate(properties_->UpdatePerspective(*context_.current.transform, std::move(state))); } else { @@ -1836,6 +1851,9 @@ false); state.flags.flattens_inherited_transform = context_.current.should_flatten_inherited_transform; + state.frame_element_id = CompositorElementIdFromUniqueObjectId( + DOMNodeIds::IdForNode(&object_.GetDocument()), + CompositorElementIdNamespace::kDOMNodeId); OnUpdate(properties_->UpdateReplacedContentTransform( *context_.current.transform, std::move(state))); } else { @@ -2043,6 +2061,9 @@ object_.StyleRef().BackfaceVisibility() == EBackfaceVisibility::kHidden) state.flags.delegates_to_parent_for_backface = true; + state.frame_element_id = CompositorElementIdFromUniqueObjectId( + DOMNodeIds::IdForNode(&object_.GetDocument()), + CompositorElementIdNamespace::kDOMNodeId); auto effective_change_type = properties_->UpdateScrollTranslation( *context_.current.transform, std::move(state)); if (effective_change_type ==
diff --git a/third_party/blink/renderer/core/scheduler_integration_tests/frame_throttling_test.cc b/third_party/blink/renderer/core/scheduler_integration_tests/frame_throttling_test.cc index 69064ea..fa030ae 100644 --- a/third_party/blink/renderer/core/scheduler_integration_tests/frame_throttling_test.cc +++ b/third_party/blink/renderer/core/scheduler_integration_tests/frame_throttling_test.cc
@@ -1538,9 +1538,9 @@ LocalFrameRoot().FrameWidget()->Resize(WebSize(300, 200)); LocalFrameRoot().FrameWidget()->SetRemoteViewportIntersection(intersection); - auto* root_document = LocalFrameRoot().GetFrame()->GetDocument(); + auto* root_frame = LocalFrameRoot().GetFrame(); auto* frame_document = - To<HTMLIFrameElement>(root_document->getElementById("frame")) + To<HTMLIFrameElement>(root_frame->GetDocument()->getElementById("frame")) ->contentDocument(); auto* frame_view = frame_document->View(); auto* child_document = @@ -1552,8 +1552,17 @@ EXPECT_FALSE(frame_view->CanThrottleRendering()); EXPECT_FALSE(child_view->CanThrottleRendering()); - // Hide the frame without any other change. + // Hide the frame without any other change. The new throttling state will not + // be computed until the next lifecycle update; but merely hiding the frame + // will not schedule an update, so we must force one for the purpose of + // testing. LocalFrameRoot().WasHidden(); + root_frame->View()->ScheduleAnimation(); + CompositeFrame(); + EXPECT_EQ(root_frame->RemoteViewportIntersection(), IntRect(0, 0, 100, 100)); + EXPECT_TRUE(root_frame->View()->CanThrottleRenderingForPropagation()); + EXPECT_EQ(root_frame->GetOcclusionState(), + FrameOcclusionState::kPossiblyOccluded); EXPECT_TRUE(frame_view->CanThrottleRendering()); EXPECT_TRUE(child_view->CanThrottleRendering()); EXPECT_FALSE(Compositor().NeedsBeginFrame()); @@ -1569,6 +1578,10 @@ LocalFrameRoot().WasShown(); LocalFrameRoot().FrameWidget()->SetRemoteViewportIntersection(intersection); CompositeFrame(); + EXPECT_EQ(root_frame->RemoteViewportIntersection(), IntRect(0, 0, 100, 100)); + EXPECT_FALSE(root_frame->View()->CanThrottleRenderingForPropagation()); + EXPECT_NE(root_frame->GetOcclusionState(), + FrameOcclusionState::kPossiblyOccluded); EXPECT_FALSE(frame_view->CanThrottleRendering()); // The child frame's throtting status is not updated because the parent // document has pending visual update.
diff --git a/third_party/blink/renderer/platform/graphics/canvas_resource_provider.cc b/third_party/blink/renderer/platform/graphics/canvas_resource_provider.cc index 6b7b73e3..d5ad587 100644 --- a/third_party/blink/renderer/platform/graphics/canvas_resource_provider.cc +++ b/third_party/blink/renderer/platform/graphics/canvas_resource_provider.cc
@@ -294,6 +294,7 @@ if (IsGpuContextLost()) return false; + WillDrawInternal(true); RasterInterface()->WritePixels( GetBackingMailboxForOverwrite(kOrderingBarrier), x, y, GetBackingTextureTarget(), row_bytes, orig_info, pixels); @@ -335,6 +336,24 @@ } } + void RestoreBackBuffer(const cc::PaintImage& image) override { + if (!use_oop_rasterization_) { + CanvasResourceProvider::RestoreBackBuffer(image); + return; + } + + DCHECK_EQ(image.height(), Size().Height()); + DCHECK_EQ(image.width(), Size().Width()); + + auto sk_image = image.GetSwSkImage(); + DCHECK(sk_image); + SkPixmap map; + // We know this SkImage is software backed because it's guaranteed by + // PaintImage::GetRasterSkImage above + sk_image->peekPixels(&map); + WritePixels(map.info(), map.addr(), map.rowBytes(), /*x=*/0, /*y=*/0); + } + protected: scoped_refptr<CanvasResource> ProduceCanvasResource() override { TRACE_EVENT0("blink",
diff --git a/third_party/blink/renderer/platform/graphics/canvas_resource_provider.h b/third_party/blink/renderer/platform/graphics/canvas_resource_provider.h index 5c91dd3..915121c 100644 --- a/third_party/blink/renderer/platform/graphics/canvas_resource_provider.h +++ b/third_party/blink/renderer/platform/graphics/canvas_resource_provider.h
@@ -208,7 +208,7 @@ void SkipQueuedDrawCommands(); void SetRestoreClipStackCallback(RestoreMatrixClipStackCb); bool needs_flush() const { return needs_flush_; } - void RestoreBackBuffer(const cc::PaintImage&); + virtual void RestoreBackBuffer(const cc::PaintImage&); ResourceProviderType GetType() const { return type_; } bool HasRecordedDrawOps() const;
diff --git a/third_party/blink/renderer/platform/graphics/compositing/property_tree_manager.cc b/third_party/blink/renderer/platform/graphics/compositing/property_tree_manager.cc index 4a8b4d2..811e795 100644 --- a/third_party/blink/renderer/platform/graphics/compositing/property_tree_manager.cc +++ b/third_party/blink/renderer/platform/graphics/compositing/property_tree_manager.cc
@@ -500,6 +500,8 @@ } } + compositor_node.frame_element_id = transform_node.GetFrameElementId(); + transform_node.SetCcNodeId(new_sequence_number_, id); GetTransformTree().set_needs_update(true);
diff --git a/third_party/blink/renderer/platform/graphics/paint/foreign_layer_display_item.cc b/third_party/blink/renderer/platform/graphics/paint/foreign_layer_display_item.cc index fbc3cc7..035c9658 100644 --- a/third_party/blink/renderer/platform/graphics/paint/foreign_layer_display_item.cc +++ b/third_party/blink/renderer/platform/graphics/paint/foreign_layer_display_item.cc
@@ -16,55 +16,22 @@ namespace blink { -namespace { - -// It uses DebugName and OwnerNodeId of the input DisplayItemClient, while -// calculate VisualRect from the layer's offset and bounds. -class ForeignLayerDisplayItemClient final : public DisplayItemClient { - public: - ForeignLayerDisplayItemClient(const DisplayItemClient& client, - scoped_refptr<cc::Layer> layer) - : client_(client), layer_(std::move(layer)) { - DCHECK(layer_); - Invalidate(PaintInvalidationReason::kUncacheable); - } - - String DebugName() const final { return client_.DebugName(); } - DOMNodeId OwnerNodeId() const final { return client_.OwnerNodeId(); } - - cc::Layer* GetLayer() const { return layer_.get(); } - - private: - const DisplayItemClient& client_; - scoped_refptr<cc::Layer> layer_; -}; - -} // anonymous namespace - ForeignLayerDisplayItem::ForeignLayerDisplayItem( const DisplayItemClient& client, Type type, scoped_refptr<cc::Layer> layer, const IntPoint& offset) - : DisplayItem(*new ForeignLayerDisplayItemClient(client, layer), + : DisplayItem(client, type, sizeof(*this), IntRect(offset, IntSize(layer->bounds()))), - offset_(offset) { + offset_(offset), + layer_(std::move(layer)) { DCHECK(IsForeignLayerType(type)); - DCHECK(!IsCacheable()); -} - -ForeignLayerDisplayItem::~ForeignLayerDisplayItem() { - delete &Client(); -} - -cc::Layer* ForeignLayerDisplayItem::GetLayer() const { - return static_cast<const ForeignLayerDisplayItemClient&>(Client()).GetLayer(); } bool ForeignLayerDisplayItem::Equals(const DisplayItem& other) const { - return GetType() == other.GetType() && + return DisplayItem::Equals(other) && GetLayer() == static_cast<const ForeignLayerDisplayItem&>(other).GetLayer(); }
diff --git a/third_party/blink/renderer/platform/graphics/paint/foreign_layer_display_item.h b/third_party/blink/renderer/platform/graphics/paint/foreign_layer_display_item.h index 5b3a849..428d348 100644 --- a/third_party/blink/renderer/platform/graphics/paint/foreign_layer_display_item.h +++ b/third_party/blink/renderer/platform/graphics/paint/foreign_layer_display_item.h
@@ -26,9 +26,8 @@ Type, scoped_refptr<cc::Layer>, const IntPoint& offset); - ~ForeignLayerDisplayItem() override; - cc::Layer* GetLayer() const; + cc::Layer* GetLayer() const { return layer_.get(); } // DisplayItem bool Equals(const DisplayItem&) const final; @@ -40,6 +39,7 @@ private: IntPoint offset_; + scoped_refptr<cc::Layer> layer_; }; // When a foreign layer's debug name is a literal string, define a instance of
diff --git a/third_party/blink/renderer/platform/graphics/paint/graphics_layer_display_item.cc b/third_party/blink/renderer/platform/graphics/paint/graphics_layer_display_item.cc index eb71a06..827dd16 100644 --- a/third_party/blink/renderer/platform/graphics/paint/graphics_layer_display_item.cc +++ b/third_party/blink/renderer/platform/graphics/paint/graphics_layer_display_item.cc
@@ -30,7 +30,7 @@ graphics_layer_(graphics_layer) {} bool GraphicsLayerDisplayItem::Equals(const DisplayItem& other) const { - return GetType() == other.GetType() && + return DisplayItem::Equals(other) && GetGraphicsLayer() == static_cast<const GraphicsLayerDisplayItem&>(other) .GetGraphicsLayer();
diff --git a/third_party/blink/renderer/platform/graphics/paint/transform_paint_property_node.h b/third_party/blink/renderer/platform/graphics/paint/transform_paint_property_node.h index 9f837bf..61f4309 100644 --- a/third_party/blink/renderer/platform/graphics/paint/transform_paint_property_node.h +++ b/third_party/blink/renderer/platform/graphics/paint/transform_paint_property_node.h
@@ -171,6 +171,7 @@ CompositingReasons direct_compositing_reasons = CompositingReason::kNone; CompositorElementId compositor_element_id; std::unique_ptr<CompositorStickyConstraint> sticky_constraint; + CompositorElementId frame_element_id; PaintPropertyChangeType ComputeChange( const State& other, @@ -188,7 +189,8 @@ backface_visibility != other.backface_visibility || rendering_context_id != other.rendering_context_id || compositor_element_id != other.compositor_element_id || - scroll != other.scroll || !StickyConstraintEquals(other)) { + scroll != other.scroll || !StickyConstraintEquals(other) || + frame_element_id != other.frame_element_id) { return PaintPropertyChangeType::kChangedOnlyValues; } @@ -417,6 +419,10 @@ return state_.compositor_element_id; } + const CompositorElementId& GetFrameElementId() const { + return state_.frame_element_id; + } + bool DelegatesToParentForBackface() const { return state_.flags.delegates_to_parent_for_backface; }
diff --git a/third_party/blink/renderer/platform/scheduler/links.md b/third_party/blink/renderer/platform/scheduler/links.md index 92bedcfc..1af36889 100644 --- a/third_party/blink/renderer/platform/scheduler/links.md +++ b/third_party/blink/renderer/platform/scheduler/links.md
@@ -3,6 +3,10 @@ The following is a collection of scheduling-related documentation about the Blink Scheduler as well as other schedulers in Chrome. +## 2020 +* [Code reading: SequenceManager](https://docs.google.com/document/d/1VRaKEqqyiLOSrjASnJEKNuEIk0_WTBI913Ir36749bI/edit?usp=sharing) +* [MBI: IsolateScheduler](https://docs.google.com/document/d/1y-vHkrD1z2RtyWYwT6rJkSLHClYNjDDpUbTtBU7l95A/edit?usp=sharing) + ## 2018 * [Browser-side scheduling roadmap](https://docs.google.com/document/d/1yxjka3kyKieEWP6gRlLyXVy72DJ5Gc22Nqp9vehFj14/edit) * [Browser UI thread scheduler](https://docs.google.com/document/d/1z1BDq9vzcEpkhN9LSPF5XMnZ0kLJ8mWWkNAi4OI7cos/edit)
diff --git a/third_party/blink/tools/blinkpy/web_tests/models/test_run_results.py b/third_party/blink/tools/blinkpy/web_tests/models/test_run_results.py index 597f1d2..666db5e 100644 --- a/third_party/blink/tools/blinkpy/web_tests/models/test_run_results.py +++ b/third_party/blink/tools/blinkpy/web_tests/models/test_run_results.py
@@ -292,6 +292,9 @@ if rounded_run_time: test_dict['time'] = rounded_run_time + if exp.is_slow_test: + test_dict['is_slow_test'] = True + if has_stderr: test_dict['has_stderr'] = True
diff --git a/third_party/blink/tools/blinkpy/web_tests/port/mac.py b/third_party/blink/tools/blinkpy/web_tests/port/mac.py index ebe6875f..eef79f9 100644 --- a/third_party/blink/tools/blinkpy/web_tests/port/mac.py +++ b/third_party/blink/tools/blinkpy/web_tests/port/mac.py
@@ -39,13 +39,6 @@ 'mac10.16', 'mac11.0') port_name = 'mac' - # FIXME: We treat Retina (High-DPI) devices as if they are running a - # different operating system version. This is lame and should be fixed. - # Note that the retina versions fallback to the non-retina versions and so - # no baselines are shared between retina versions; this keeps the fallback - # graph as a tree and maximizes the number of baselines we can share that - # way. We also currently only support Retina on 10.13. - FALLBACK_PATHS = {} FALLBACK_PATHS['mac11.0'] = ['mac'] @@ -63,14 +56,17 @@ def determine_full_port_name(cls, host, options, port_name): if port_name.endswith('mac'): version = host.platform.os_version - if host.platform.is_highdpi(): - version = 'retina' return port_name + '-' + version return port_name def __init__(self, host, port_name, **kwargs): super(MacPort, self).__init__(host, port_name, **kwargs) self._version = port_name[port_name.index('mac-') + len('mac-'):] + # TODO(crbug.com/1114885): This is to workaround the failure of + # blink_python_tests on mac10.10 and 10.11 waterfall bots. Remove this + # when we remove the step from the bots. + if self._version == 'mac10.10' or self._version == 'mac10.11': + self._version = 'mac10.12' assert self._version in self.SUPPORTED_VERSIONS def check_build(self, needs_http, printer):
diff --git a/third_party/blink/tools/blinkpy/web_tests/port/test.py b/third_party/blink/tools/blinkpy/web_tests/port/test.py index 5fe4710..a47ba7d3 100644 --- a/third_party/blink/tools/blinkpy/web_tests/port/test.py +++ b/third_party/blink/tools/blinkpy/web_tests/port/test.py
@@ -135,7 +135,7 @@ # # These numbers may need to be updated whenever we add or delete tests. This includes virtual tests. # -TOTAL_TESTS = 174 +TOTAL_TESTS = 176 TOTAL_WONTFIX = 3 TOTAL_SKIPS = 26 + TOTAL_WONTFIX TOTAL_CRASHES = 78 @@ -306,6 +306,7 @@ actual_checksum=None, expected_checksum=None) tests.add('passes/platform_image.html') + tests.add('passes/slow.html') tests.add( 'passes/checksum_in_image.html', expected_image='tEXtchecksum\x00checksum_in_image-checksum') @@ -483,6 +484,13 @@ virtual/virtual_failures/failures/expected/device_failure.html [ Skip ] """) + if not filesystem.exists(WEB_TEST_DIR + '/SlowTests'): + filesystem.write_text_file( + WEB_TEST_DIR + '/SlowTests', """ +# results: [ Slow ] +passes/slow.html [ Slow ] +""") + # FIXME: This test was only being ignored because of missing a leading '/'. # Fixing the typo causes several tests to assert, so disabling the test entirely. # Add in a file should be ignored by port.find_test_files().
diff --git a/third_party/blink/tools/blinkpy/web_tests/run_web_tests_unittest.py b/third_party/blink/tools/blinkpy/web_tests/run_web_tests_unittest.py index a12a544..53472543 100644 --- a/third_party/blink/tools/blinkpy/web_tests/run_web_tests_unittest.py +++ b/third_party/blink/tools/blinkpy/web_tests/run_web_tests_unittest.py
@@ -1159,13 +1159,15 @@ tests_included=True) self.assertIn('Retrying', err.getvalue()) - def test_missing_and_unexpected_results(self): + def test_results_json(self): # Test that we update expectations in place. If the expectation # is missing, update the expected generic location. host = MockHost() details, _, _ = logging_run([ - '--no-show-results', 'failures/unexpected/missing_text.html', - 'failures/unexpected/text-image-checksum.html' + '--no-show-results', + 'failures/unexpected/missing_text.html', + 'failures/unexpected/text-image-checksum.html', + 'passes/slow.html', ], tests_included=True, host=host) @@ -1194,6 +1196,12 @@ 'is_regression': True, 'is_missing_text': True, }) + self.assertEqual(results['tests']['passes']['slow.html'], { + 'expected': 'PASS', + 'actual': 'PASS', + 'is_slow_test': True, + }) + self.assertEqual(results['num_passes'], 1) self.assertEqual(results['num_regressions'], 2) self.assertEqual(results['num_flaky'], 0)
diff --git a/third_party/blink/web_tests/ASANExpectations b/third_party/blink/web_tests/ASANExpectations index abe8e44..fb252f6 100644 --- a/third_party/blink/web_tests/ASANExpectations +++ b/third_party/blink/web_tests/ASANExpectations
@@ -1,5 +1,4 @@ -# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.10 Mac10.11 Mac10.12 Retina -# Mac10.13 Win Win7 Win10 ] +# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.12 Mac10.13 Win Win7 Win10 ] # tags: [ Release Debug ] # results: [ Timeout Crash Pass Failure Slow Skip ]
diff --git a/third_party/blink/web_tests/FlagExpectations/composite-after-paint b/third_party/blink/web_tests/FlagExpectations/composite-after-paint index 28e0d6d..804625a 100644 --- a/third_party/blink/web_tests/FlagExpectations/composite-after-paint +++ b/third_party/blink/web_tests/FlagExpectations/composite-after-paint
@@ -1,5 +1,4 @@ -# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.10 Mac10.11 Mac10.12 Retina -# Mac10.13 Win Win7 Win10 ] +# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.12 Mac10.13 Win Win7 Win10 ] # tags: [ Release Debug ] # results: [ Timeout Crash Pass Failure Slow Skip ]
diff --git a/third_party/blink/web_tests/FlagExpectations/disable-features=OutOfBlinkCors b/third_party/blink/web_tests/FlagExpectations/disable-features=OutOfBlinkCors index 77a74e1..4bc9f017 100644 --- a/third_party/blink/web_tests/FlagExpectations/disable-features=OutOfBlinkCors +++ b/third_party/blink/web_tests/FlagExpectations/disable-features=OutOfBlinkCors
@@ -1,5 +1,4 @@ -# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.10 Mac10.11 Mac10.12 Retina -# Mac10.13 Win Win7 Win10 ] +# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.12 Mac10.13 Win Win7 Win10 ] # tags: [ Release Debug ] # results: [ Timeout Crash Pass Failure Slow Skip ]
diff --git a/third_party/blink/web_tests/FlagExpectations/disable-layout-ng b/third_party/blink/web_tests/FlagExpectations/disable-layout-ng index f42f17f..e0e56b5 100644 --- a/third_party/blink/web_tests/FlagExpectations/disable-layout-ng +++ b/third_party/blink/web_tests/FlagExpectations/disable-layout-ng
@@ -1,5 +1,4 @@ -# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.10 Mac10.11 Mac10.12 Retina -# Mac10.13 Win Win7 Win10 ] +# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.12 Mac10.13 Win Win7 Win10 ] # tags: [ Release Debug ] # results: [ Timeout Crash Pass Failure Slow Skip ]
diff --git a/third_party/blink/web_tests/FlagExpectations/disable-site-isolation-trials b/third_party/blink/web_tests/FlagExpectations/disable-site-isolation-trials index d452426..0ff1e97 100644 --- a/third_party/blink/web_tests/FlagExpectations/disable-site-isolation-trials +++ b/third_party/blink/web_tests/FlagExpectations/disable-site-isolation-trials
@@ -1,5 +1,4 @@ -# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.10 Mac10.11 Mac10.12 Retina -# Mac10.13 Win Win7 Win10 ] +# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.12 Mac10.13 Win Win7 Win10 ] # tags: [ Release Debug ] # results: [ Timeout Crash Pass Failure Slow Skip ]
diff --git a/third_party/blink/web_tests/FlagExpectations/enable-features=BackForwardCache b/third_party/blink/web_tests/FlagExpectations/enable-features=BackForwardCache index 8a2ce5d..6f7748a 100644 --- a/third_party/blink/web_tests/FlagExpectations/enable-features=BackForwardCache +++ b/third_party/blink/web_tests/FlagExpectations/enable-features=BackForwardCache
@@ -1,5 +1,4 @@ -# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.10 Mac10.11 Mac10.12 Retina -# Mac10.13 Win Win7 Win10 ] +# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.12 Mac10.13 Win Win7 Win10 ] # tags: [ Release Debug ] # results: [ Timeout Crash Pass Failure Slow Skip ]
diff --git a/third_party/blink/web_tests/FlagExpectations/enable-features=UseSkiaRenderer b/third_party/blink/web_tests/FlagExpectations/enable-features=UseSkiaRenderer index 1fe487a..cdbe7c03 100644 --- a/third_party/blink/web_tests/FlagExpectations/enable-features=UseSkiaRenderer +++ b/third_party/blink/web_tests/FlagExpectations/enable-features=UseSkiaRenderer
@@ -1,5 +1,4 @@ -# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.10 Mac10.11 Mac10.12 Retina -# Mac10.13 Win Win7 Win10 ] +# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.12 Mac10.13 Win Win7 Win10 ] # tags: [ Release Debug ] # results: [ Timeout Crash Pass Failure Slow Skip ]
diff --git a/third_party/blink/web_tests/FlagExpectations/enable-gpu-rasterization b/third_party/blink/web_tests/FlagExpectations/enable-gpu-rasterization index 1816342..4653d6e 100644 --- a/third_party/blink/web_tests/FlagExpectations/enable-gpu-rasterization +++ b/third_party/blink/web_tests/FlagExpectations/enable-gpu-rasterization
@@ -1,5 +1,4 @@ -# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.10 Mac10.11 Mac10.12 Retina -# Mac10.13 Win Win7 Win10 ] +# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.12 Mac10.13 Win Win7 Win10 ] # tags: [ Release Debug ] # results: [ Timeout Crash Pass Failure Slow Skip ]
diff --git a/third_party/blink/web_tests/FlagExpectations/enable-threaded-compositing b/third_party/blink/web_tests/FlagExpectations/enable-threaded-compositing index 89258b2..109097ad 100644 --- a/third_party/blink/web_tests/FlagExpectations/enable-threaded-compositing +++ b/third_party/blink/web_tests/FlagExpectations/enable-threaded-compositing
@@ -1,5 +1,4 @@ -# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.10 Mac10.11 Mac10.12 Retina -# Mac10.13 Win Win7 Win10 ] +# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.12 Mac10.13 Win Win7 Win10 ] # tags: [ Release Debug ] # results: [ Timeout Crash Pass Failure Slow Skip ]
diff --git a/third_party/blink/web_tests/FlagExpectations/layout-ng-fragment-item b/third_party/blink/web_tests/FlagExpectations/layout-ng-fragment-item index 61af9de..e4641c23 100644 --- a/third_party/blink/web_tests/FlagExpectations/layout-ng-fragment-item +++ b/third_party/blink/web_tests/FlagExpectations/layout-ng-fragment-item
@@ -1,5 +1,4 @@ -# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.10 Mac10.11 Mac10.12 Retina -# Mac10.13 Win Win7 Win10 ] +# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.12 Mac10.13 Win Win7 Win10 ] # results: [ Timeout Crash Pass Failure Slow Skip ] # tags: [ Release Debug ]
diff --git a/third_party/blink/web_tests/FlagExpectations/use-gl=any b/third_party/blink/web_tests/FlagExpectations/use-gl=any index 12ecb3d..360deb1 100644 --- a/third_party/blink/web_tests/FlagExpectations/use-gl=any +++ b/third_party/blink/web_tests/FlagExpectations/use-gl=any
@@ -1,5 +1,4 @@ -# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.10 Mac10.11 Mac10.12 Retina -# Mac10.13 Win Win7 Win10 ] +# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.12 Mac10.13 Win Win7 Win10 ] # tags: [ Release Debug ] # results: [ Timeout Crash Pass Failure Slow Skip ]
diff --git a/third_party/blink/web_tests/FlagExpectations/use-vulkan=native b/third_party/blink/web_tests/FlagExpectations/use-vulkan=native index ba676b7..1f466b8 100644 --- a/third_party/blink/web_tests/FlagExpectations/use-vulkan=native +++ b/third_party/blink/web_tests/FlagExpectations/use-vulkan=native
@@ -1,5 +1,4 @@ -# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.10 Mac10.11 Mac10.12 Retina -# Mac10.13 Win Win7 Win10 ] +# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.12 Mac10.13 Win Win7 Win10 ] # tags: [ Release Debug ] # results: [ Timeout Crash Pass Failure Slow Skip ]
diff --git a/third_party/blink/web_tests/FlagExpectations/use-vulkan=swiftshader b/third_party/blink/web_tests/FlagExpectations/use-vulkan=swiftshader index 726fda4..2c9d2de3 100644 --- a/third_party/blink/web_tests/FlagExpectations/use-vulkan=swiftshader +++ b/third_party/blink/web_tests/FlagExpectations/use-vulkan=swiftshader
@@ -1,5 +1,4 @@ -# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.10 Mac10.11 Mac10.12 Retina -# Mac10.13 Win Win7 Win10 ] +# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.12 Mac10.13 Win Win7 Win10 ] # tags: [ Release Debug ] # results: [ Timeout Crash Pass Failure Slow Skip ]
diff --git a/third_party/blink/web_tests/LeakExpectations b/third_party/blink/web_tests/LeakExpectations index 6e6ba519..3decd13 100644 --- a/third_party/blink/web_tests/LeakExpectations +++ b/third_party/blink/web_tests/LeakExpectations
@@ -1,5 +1,4 @@ -# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.10 Mac10.11 Mac10.12 Retina -# Mac10.13 Win Win7 Win10 ] +# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.12 Mac10.13 Win Win7 Win10 ] # tags: [ Release Debug ] # results: [ Timeout Crash Pass Failure Slow Skip ]
diff --git a/third_party/blink/web_tests/MSANExpectations b/third_party/blink/web_tests/MSANExpectations index 796e3bf..f8a7256 100644 --- a/third_party/blink/web_tests/MSANExpectations +++ b/third_party/blink/web_tests/MSANExpectations
@@ -1,5 +1,4 @@ -# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.10 Mac10.11 Mac10.12 Retina -# Mac10.13 Win Win7 Win10 ] +# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.12 Mac10.13 Win Win7 Win10 ] # tags: [ Release Debug ] # results: [ Timeout Crash Pass Failure Slow Skip ]
diff --git a/third_party/blink/web_tests/NeverFixTests b/third_party/blink/web_tests/NeverFixTests index 988f2de..18ea2e4 100644 --- a/third_party/blink/web_tests/NeverFixTests +++ b/third_party/blink/web_tests/NeverFixTests
@@ -1,4 +1,4 @@ -# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.10 Mac10.11 Mac10.12 Retina +# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.10 Mac10.11 Mac10.12 # Mac10.13 Win Win7 Win10 ] # tags: [ Release Debug ] # results: [ Skip Pass ] @@ -56,13 +56,12 @@ [ Linux ] fast/dom/partial-layout-overlay-scrollbars.html [ Skip ] # Tests trak table support / letter spacing specific to Mac system font -# Only maintain this for the latest macOS (and Retina is currently 10.12). +# Only maintain this for the latest macOS. [ Win ] virtual/text-antialias/mac-system-ui-trak.html [ Skip ] [ Linux ] virtual/text-antialias/mac-system-ui-trak.html [ Skip ] [ Mac10.10 ] virtual/text-antialias/mac-system-ui-trak.html [ Skip ] [ Mac10.11 ] virtual/text-antialias/mac-system-ui-trak.html [ Skip ] [ Mac10.12 ] virtual/text-antialias/mac-system-ui-trak.html [ Skip ] -[ Retina ] virtual/text-antialias/mac-system-ui-trak.html [ Skip ] # Mac's popup behavior is different. [ Mac ] fast/forms/select/menulist-onchange-fired-with-key-up-down.html [ Skip ] @@ -1991,7 +1990,6 @@ external/wpt/html/editing/focus/sequential-focus-navigation-and-the-tabindex-attribute/focus-tabindex-event-manual.html [ Skip ] external/wpt/payment-request/payment-response/retry-method-warnings-manual.https.html [ Skip ] external/wpt/payment-request/payment-response/payerdetailschange-updateWith-manual.https.html [ Skip ] -[ Retina ] external/wpt/pointerevents/pointerevent_touch-action-span-test_touch-manual.html [ Skip ] external/wpt/pointerevents/pointerevent_touch-action-inherit_child-pan-x-child-pan-x_touch-manual.html [ Skip ] external/wpt/pointerevents/pointerevent_touch-action-inherit_child-pan-x-child-pan-y_touch-manual.html [ Skip ] external/wpt/pointerevents/pointerevent_touch-action-inherit_child-none_touch-manual.html [ Skip ]
diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations index 211db6e..d2dbad2 100644 --- a/third_party/blink/web_tests/TestExpectations +++ b/third_party/blink/web_tests/TestExpectations
@@ -1,5 +1,4 @@ -# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.10 Mac10.11 Mac10.12 Retina -# Mac10.13 Mac10.14 Mac10.15 Win Win7 Win10 ] +# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.12 Mac10.13 Mac10.14 Mac10.15 Win Win7 Win10 ] # tags: [ Release Debug ] # results: [ Timeout Crash Pass Failure Skip ] @@ -836,23 +835,14 @@ # Comparing variable font rendering to static font rendering fails on systems that use FreeType for variable fonts crbug.com/1067242 [ Win7 ] external/wpt/css/css-text-decor/text-underline-position-from-font-variable.html [ Failure ] -crbug.com/1067242 [ Mac10.10 ] external/wpt/css/css-text-decor/text-underline-position-from-font-variable.html [ Failure ] -crbug.com/1067242 [ Mac10.11 ] external/wpt/css/css-text-decor/text-underline-position-from-font-variable.html [ Failure ] crbug.com/1067242 [ Mac10.12 ] external/wpt/css/css-text-decor/text-underline-position-from-font-variable.html [ Failure ] crbug.com/1067242 [ Mac10.13 ] external/wpt/css/css-text-decor/text-underline-position-from-font-variable.html [ Failure ] -crbug.com/1067242 [ Retina ] external/wpt/css/css-text-decor/text-underline-position-from-font-variable.html [ Failure ] crbug.com/785230 [ Win7 ] external/wpt/css/css-text-decor/text-decoration-thickness-fixed.html [ Failure ] -crbug.com/785230 [ Mac10.10 ] external/wpt/css/css-text-decor/text-decoration-thickness-fixed.html [ Failure ] -crbug.com/785230 [ Mac10.11 ] external/wpt/css/css-text-decor/text-decoration-thickness-fixed.html [ Failure ] crbug.com/785230 [ Mac10.12 ] external/wpt/css/css-text-decor/text-decoration-thickness-fixed.html [ Failure ] crbug.com/785230 [ Mac10.13 ] external/wpt/css/css-text-decor/text-decoration-thickness-fixed.html [ Failure ] -crbug.com/785230 [ Retina ] external/wpt/css/css-text-decor/text-decoration-thickness-fixed.html [ Failure ] crbug.com/785230 [ Win7 ] external/wpt/css/css-text-decor/text-decoration-thickness-from-font-variable.html [ Failure ] -crbug.com/785230 [ Mac10.10 ] external/wpt/css/css-text-decor/text-decoration-thickness-from-font-variable.html [ Failure ] -crbug.com/785230 [ Mac10.11 ] external/wpt/css/css-text-decor/text-decoration-thickness-from-font-variable.html [ Failure ] crbug.com/785230 [ Mac10.12 ] external/wpt/css/css-text-decor/text-decoration-thickness-from-font-variable.html [ Failure ] crbug.com/785230 [ Mac10.13 ] external/wpt/css/css-text-decor/text-decoration-thickness-from-font-variable.html [ Failure ] -crbug.com/785230 [ Retina ] external/wpt/css/css-text-decor/text-decoration-thickness-from-font-variable.html [ Failure ] # Windows 10 bots are not on high enough a Windows version to render variable fonts in DirectWrite crbug.com/1068947 [ Win10 ] external/wpt/css/css-text-decor/text-underline-position-from-font-variable.html [ Failure ] crbug.com/1068947 [ Win10 ] external/wpt/css/css-text-decor/text-decoration-thickness-fixed.html [ Failure ] @@ -1407,22 +1397,17 @@ # ====== Style team owned tests from here ====== crbug.com/753671 external/wpt/css/css-content/quotes-001.html [ Failure ] -crbug.com/753671 [ Mac10.11 ] external/wpt/css/css-content/quotes-006.html [ Failure ] crbug.com/753671 [ Mac10.12 ] external/wpt/css/css-content/quotes-006.html [ Failure ] crbug.com/753671 [ Mac10.13 ] external/wpt/css/css-content/quotes-006.html [ Failure ] crbug.com/753671 [ Mac10.14 ] external/wpt/css/css-content/quotes-006.html [ Failure ] crbug.com/753671 [ Mac10.15 ] external/wpt/css/css-content/quotes-006.html [ Failure ] -crbug.com/753671 [ Retina ] external/wpt/css/css-content/quotes-006.html [ Failure ] crbug.com/753671 [ Mac10.12 ] external/wpt/css/css-content/quotes-007.html [ Failure ] crbug.com/753671 [ Mac10.13 ] external/wpt/css/css-content/quotes-007.html [ Failure ] crbug.com/753671 [ Mac10.14 ] external/wpt/css/css-content/quotes-007.html [ Failure ] -crbug.com/753671 [ Retina ] external/wpt/css/css-content/quotes-007.html [ Failure ] crbug.com/753671 [ Mac ] external/wpt/css/css-content/quotes-009.html [ Failure ] -crbug.com/753671 [ Mac10.11 ] external/wpt/css/css-content/quotes-012.html [ Failure ] crbug.com/753671 [ Mac10.12 ] external/wpt/css/css-content/quotes-012.html [ Failure ] crbug.com/753671 [ Mac10.13 ] external/wpt/css/css-content/quotes-012.html [ Failure ] crbug.com/753671 [ Mac10.14 ] external/wpt/css/css-content/quotes-012.html [ Failure ] -crbug.com/753671 [ Retina ] external/wpt/css/css-content/quotes-012.html [ Failure ] crbug.com/753671 external/wpt/css/css-content/quotes-013.html [ Failure ] crbug.com/753671 [ Mac ] external/wpt/css/css-content/quotes-014.html [ Failure ] crbug.com/753671 [ Mac10.15 ] external/wpt/css/css-content/quotes-020.html [ Failure ] @@ -1552,9 +1537,6 @@ # ====== CORS virtual test failures until here ====== - -crbug.com/1035582 [ Mac10.10 ] virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-multiple-hover-focused-unselected.html [ Skip ] - # Bug in FormControlsRefresh <select multiple> tap behavior: crbug.com/1045672 fast/forms/select/listbox-tap.html [ Failure ] @@ -2068,7 +2050,6 @@ crbug.com/752449 [ Mac10.12 ] external/wpt/css/css-fonts/matching/fixed-stretch-style-over-weight.html [ Failure ] crbug.com/752449 [ Mac10.13 ] external/wpt/css/css-fonts/matching/fixed-stretch-style-over-weight.html [ Failure ] crbug.com/752449 [ Mac10.14 ] external/wpt/css/css-fonts/matching/fixed-stretch-style-over-weight.html [ Failure ] -crbug.com/752449 [ Retina ] external/wpt/css/css-fonts/matching/fixed-stretch-style-over-weight.html [ Failure ] crbug.com/752449 [ Mac10.12 ] external/wpt/css/css-fonts/matching/stretch-distance-over-weight-distance.html [ Failure ] crbug.com/752449 [ Mac10.12 ] external/wpt/css/css-fonts/matching/style-ranges-over-weight-direction.html [ Failure ] crbug.com/796619 [ Win10 ] external/wpt/css/css-fonts/matching/fixed-stretch-style-over-weight.html [ Failure ] @@ -2774,7 +2755,6 @@ crbug.com/626703 [ Linux ] external/wpt/wasm/jsapi/functions/incumbent.html [ Crash ] crbug.com/626703 [ Mac ] external/wpt/wasm/jsapi/functions/incumbent.html [ Crash ] crbug.com/626703 [ Win ] external/wpt/wasm/jsapi/functions/incumbent.html [ Crash ] -crbug.com/626703 [ Mac10.11 ] virtual/cors/external/wpt/preload/download-resources.html [ Timeout ] crbug.com/626703 [ Mac10.12 ] virtual/cors/external/wpt/preload/download-resources.html [ Timeout ] crbug.com/626703 [ Mac10.15 ] virtual/cors/external/wpt/preload/download-resources.html [ Timeout ] crbug.com/626703 [ Win7 ] virtual/cors/external/wpt/preload/download-resources.html [ Failure Timeout ] @@ -2800,11 +2780,6 @@ crbug.com/626703 [ Mac10.14 ] external/wpt/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-screenx-screeny.html [ Timeout ] crbug.com/626703 [ Mac10.15 ] external/wpt/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-innerheight-innerwidth.html [ Timeout ] crbug.com/626703 [ Mac10.15 ] external/wpt/webaudio/the-audio-api/the-mediastreamaudiosourcenode-interface/mediastreamaudiosourcenode-routing.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] wpt_internal/display-lock/css-content-visibility/content-visibility-061.html [ Failure Timeout ] -crbug.com/626703 [ Mac10.10 ] wpt_internal/storage/estimate-usage-details-filesystem.https.tentative.any.worker.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] external/wpt/wasm/jsapi/idlharness.any.worker.html [ Failure Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/omt-worker-fetch/external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/extendable-message-event.https.html [ Failure Timeout ] -crbug.com/626703 [ Retina ] external/wpt/webrtc/RTCRtpSender-replaceTrack.https.html [ Timeout ] crbug.com/626703 [ Linux ] external/wpt/workers/Worker-replace-self.any.html [ Timeout ] crbug.com/626703 [ Mac ] external/wpt/workers/Worker-replace-self.any.html [ Timeout ] crbug.com/626703 [ Win ] external/wpt/workers/Worker-replace-self.any.html [ Timeout ] @@ -2898,53 +2873,11 @@ crbug.com/626703 [ Mac10.14 ] external/wpt/webrtc/RTCRtpSender-replaceTrack.https.html [ Timeout ] crbug.com/626703 [ Win ] external/wpt/webrtc/RTCRtpSender-replaceTrack.https.html [ Timeout ] crbug.com/626703 [ Mac10.14 ] external/wpt/preload/onload-event.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] external/wpt/storage/estimate-indexeddb.https.any.worker.html [ Failure Timeout ] -crbug.com/626703 [ Mac10.10 ] external/wpt/fetch/origin/assorted.window.html [ Failure Timeout ] crbug.com/626703 [ Mac10.14 ] external/wpt/preload/download-resources.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/threaded/external/wpt/requestidlecallback/callback-invoked.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-components-v0-disabled/external/wpt/html/semantics/forms/the-input-element/input-type-checkbox.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-components-v0-disabled/external/wpt/html/semantics/forms/constraints/form-validation-validity-stepMismatch.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-components-v0-disabled/external/wpt/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-interface.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-components-v0-disabled/external/wpt/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-bluetooth-new-permissions-backend/external/wpt/bluetooth/characteristic/readValue/read-updates-value.https.window.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-components-v0-disabled/external/wpt/dom/events/Event-dispatch-throwing.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-bluetooth-new-permissions-backend/external/wpt/bluetooth/device/gattserverdisconnected-event/reconnect-during-disconnected-event.https.window.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/threaded/external/wpt/feature-policy/experimental-features/vertical-scroll-disabled-scrollbar-tentative.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-bluetooth-new-permissions-backend/external/wpt/bluetooth/requestDevice/canonicalizeFilter/max-length-exceeded-name-unicode.https.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-bluetooth-new-permissions-backend/external/wpt/bluetooth/requestDevice/canonicalizeFilter/unicode-valid-length-name-name.https.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-components-v0-disabled/external/wpt/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-bluetooth-new-permissions-backend/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-called-during-success.https.window.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-bluetooth-new-permissions-backend/external/wpt/bluetooth/characteristic/getDescriptors/gen-service-is-removed-with-uuid.https.window.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-components-v0-disabled/external/wpt/html/semantics/embedded-content/media-elements/track/track-element/track-cue-negative-timestamp-events.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-components-v0-disabled/external/wpt/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/id.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-components-v0-disabled/external/wpt/html/semantics/forms/the-input-element/range.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-components-v0-disabled/external/wpt/html/semantics/forms/the-output-element/mutations.window.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/threaded/external/wpt/feature-policy/experimental-features/sync-script.tentative.https.sub.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-components-v0-disabled/external/wpt/html/semantics/grouping-content/the-li-element/grouping-li-reftest-list-owner-ol.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-bluetooth-new-permissions-backend/external/wpt/bluetooth/device/gattserverdisconnected-event/one-event-per-disconnection.https.window.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-components-v0-disabled/external/wpt/html/semantics/embedded-content/media-elements/event_order_canplay_playing.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-components-v0-disabled/external/wpt/dom/nodes/getElementsByClassName-26.htm [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-bluetooth-new-permissions-backend/external/wpt/bluetooth/server/getPrimaryServices/gen-service-not-found-with-uuid.https.window.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-components-v0-disabled/external/wpt/html/semantics/embedded-content/media-elements/event_order_canplay_canplaythrough.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-bluetooth-new-permissions-backend/external/wpt/bluetooth/service/getCharacteristics/gen-reconnect-during.https.window.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-components-v0-disabled/external/wpt/html/semantics/interactive-elements/the-summary-element/activation-behavior.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-components-v0-disabled/external/wpt/dom/nodes/getElementsByClassName-08.htm [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-bluetooth-new-permissions-backend/external/wpt/bluetooth/characteristic/startNotifications/gen-characteristic-is-removed.https.window.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-components-v0-disabled/external/wpt/html/semantics/embedded-content/the-iframe-element/sandbox_016.htm [ Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-components-v0-disabled/external/wpt/html/dom/documents/dom-tree-accessors/nameditem-07.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] external/wpt/css/css-fonts/matching/range-descriptor-reversed.html [ Failure ] crbug.com/626703 [ Mac10.12 ] external/wpt/css/css-fonts/matching/range-descriptor-reversed.html [ Failure ] crbug.com/626703 [ Linux ] external/wpt/workers/shared-worker-parse-error-failure.html [ Timeout ] crbug.com/626703 [ Mac ] external/wpt/workers/shared-worker-parse-error-failure.html [ Timeout ] crbug.com/626703 [ Win ] external/wpt/workers/shared-worker-parse-error-failure.html [ Timeout ] -crbug.com/626703 [ Mac10.10 ] external/wpt/css/css-layout-api/auto-block-size/absolute.https.html [ Failure ] -crbug.com/626703 [ Mac10.11 ] external/wpt/css/css-layout-api/auto-block-size/absolute.https.html [ Failure ] -crbug.com/626703 [ Mac10.10 ] external/wpt/css/css-layout-api/edges/all.https.html [ Failure ] -crbug.com/626703 [ Mac10.11 ] external/wpt/css/css-layout-api/edges/all.https.html [ Failure ] -crbug.com/626703 [ Mac10.10 ] external/wpt/css/css-layout-api/auto-block-size/inflow.https.html [ Failure ] -crbug.com/626703 [ Mac10.11 ] external/wpt/css/css-layout-api/auto-block-size/inflow.https.html [ Failure ] -crbug.com/626703 [ Mac10.10 ] external/wpt/css/css-layout-api/edges/scrollbar.https.html [ Failure ] -crbug.com/626703 [ Mac10.11 ] external/wpt/css/css-layout-api/edges/scrollbar.https.html [ Failure ] crbug.com/626703 [ Linux ] external/wpt/webrtc/RTCPeerConnection-operations.https.html [ Timeout ] crbug.com/626703 [ Mac ] external/wpt/webrtc/RTCPeerConnection-operations.https.html [ Timeout ] crbug.com/626703 [ Win ] external/wpt/webrtc/RTCPeerConnection-operations.https.html [ Timeout ] @@ -2956,28 +2889,13 @@ crbug.com/626703 [ Mac ] external/wpt/workers/abrupt-completion.html [ Timeout ] crbug.com/626703 [ Win ] external/wpt/workers/abrupt-completion.html [ Timeout ] crbug.com/626703 [ Mac10.12 ] external/wpt/eventsource/eventsource-constructor-url-bogus.any.html [ Failure Timeout ] -crbug.com/626703 [ Mac10.10 ] external/wpt/webrtc/RTCPeerConnection-createDataChannel.html [ Failure Crash ] -crbug.com/626703 [ Mac10.10 ] external/wpt/html/webappapis/scripting/events/event-handler-attributes-body-window.html [ Failure Timeout ] crbug.com/626703 [ Mac10.12 ] external/wpt/html/webappapis/scripting/events/event-handler-attributes-body-window.html [ Failure Timeout ] -crbug.com/626703 [ Mac10.10 ] external/wpt/WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?3001-last [ Failure Timeout ] -crbug.com/626703 [ Mac10.10 ] external/wpt/WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1-1000 [ Failure Timeout ] crbug.com/626703 [ Mac10.12 ] external/wpt/WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1-1000 [ Failure Timeout ] -crbug.com/626703 [ Mac10.10 ] external/wpt/WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?2001-3000 [ Failure Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-components-v0-disabled/external/wpt/html/dom/idlharness.https.html?include=(Document|Window) [ Failure Timeout ] crbug.com/626703 [ Mac10.12 ] external/wpt/css/cssom/CSSStyleSheet-constructable.html [ Failure Timeout ] -crbug.com/626703 [ Mac10.10 ] external/wpt/WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1001-2000 [ Failure Timeout ] crbug.com/626703 [ Mac10.12 ] external/wpt/WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1001-2000 [ Failure Timeout ] crbug.com/626703 [ Mac10.13 ] external/wpt/WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1001-2000 [ Failure Timeout ] -crbug.com/626703 [ Mac10.10 ] external/wpt/WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?2001-3000 [ Failure Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-components-v0-disabled/external/wpt/html/dom/idlharness.https.html?exclude=(Document|Window|HTML.\*) [ Failure Timeout ] -crbug.com/626703 [ Mac10.11 ] external/wpt/WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?3001-last [ Failure Timeout ] crbug.com/626703 [ Mac10.12 ] external/wpt/WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?3001-last [ Failure Timeout ] -crbug.com/626703 [ Mac10.10 ] external/wpt/WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?3001-last [ Failure Timeout ] -crbug.com/626703 [ Mac10.10 ] external/wpt/html/webappapis/scripting/events/event-handler-attributes-windowless-body.html [ Failure Timeout ] crbug.com/626703 [ Mac10.12 ] external/wpt/html/dom/idlharness.https.html?exclude=(Document|Window|HTML.\*) [ Failure Timeout ] -crbug.com/626703 [ Mac10.10 ] external/wpt/WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1001-2000 [ Failure Timeout ] -crbug.com/626703 [ Mac10.10 ] external/wpt/mathml/relations/html5-tree/math-global-event-handlers.tentative.html [ Failure Timeout ] -crbug.com/626703 [ Mac10.10 ] virtual/web-components-v0-disabled/external/wpt/html/dom/idlharness.https.html?include=HTML.\* [ Failure Timeout ] crbug.com/626703 [ Win7 ] external/wpt/content-security-policy/object-src/object-src-no-url-allowed.html [ Timeout ] crbug.com/626703 [ Win7 ] external/wpt/content-security-policy/plugin-types/plugintypes-nourl-allowed.html [ Timeout ] crbug.com/626703 [ Linux ] external/wpt/service-workers/service-worker/ready.https.window.html [ Timeout ] @@ -2989,7 +2907,6 @@ crbug.com/626703 [ Mac ] external/wpt/css/css-fonts/standard-font-family.html [ Failure ] crbug.com/626703 [ Mac10.13 ] external/wpt/screen-capture/getdisplaymedia.https.html [ Failure Timeout ] crbug.com/626703 [ Mac10.14 ] external/wpt/screen-capture/getdisplaymedia.https.html [ Failure Timeout ] -crbug.com/626703 [ Retina ] external/wpt/screen-capture/getdisplaymedia.https.html [ Timeout ] crbug.com/626703 external/wpt/streams/readable-byte-streams/construct-byob-request.any.sharedworker.html [ Timeout ] crbug.com/626703 [ Mac ] external/wpt/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-iframe-messagechannel.https.html [ Timeout ] crbug.com/626703 [ Win ] external/wpt/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-iframe-messagechannel.https.html [ Timeout ] @@ -3028,12 +2945,9 @@ crbug.com/626703 [ Win ] external/wpt/shadow-dom/directionality-002.tentative.html [ Failure ] crbug.com/626703 [ Mac10.13 ] external/wpt/webaudio/the-audio-api/the-mediastreamaudiosourcenode-interface/mediastreamaudiosourcenode-routing.html [ Timeout ] crbug.com/626703 [ Mac10.14 ] external/wpt/webaudio/the-audio-api/the-mediastreamaudiosourcenode-interface/mediastreamaudiosourcenode-routing.html [ Timeout ] -crbug.com/626703 [ Retina ] external/wpt/webaudio/the-audio-api/the-mediastreamaudiosourcenode-interface/mediastreamaudiosourcenode-routing.html [ Timeout ] crbug.com/626703 [ Win7 ] external/wpt/IndexedDB/structured-clone.any.html [ Timeout ] crbug.com/626703 [ Win7 ] external/wpt/pointerevents/pointerevent_touch-action-svg-none-test_touch.html [ Timeout ] crbug.com/626703 [ Win7 ] external/wpt/pointerevents/extension/pointerevent_touch-action-pan-right-css_touch.html [ Timeout ] -crbug.com/626703 [ Mac10.11 ] external/wpt/shape-detection/detection-security-test.https.html [ Timeout ] -crbug.com/626703 [ Mac10.11 ] external/wpt/shape-detection/shapedetection-cross-origin.sub.https.html [ Timeout ] crbug.com/626703 external/wpt/webrtc/RTCPeerConnection-setRemoteDescription-offer.html [ Timeout ] crbug.com/626703 external/wpt/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/broadcastchannel-success.https.html [ Timeout ] crbug.com/626703 [ Win10 ] virtual/omt-worker-fetch/external/wpt/fetch/api/request/destination/fetch-destination-worker.https.html [ Crash ] @@ -3041,10 +2955,8 @@ crbug.com/983503 [ Mac ] external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-size-select-elem-002.html [ Failure ] crbug.com/983503 [ Mac ] external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-size-select-elem-001.html [ Failure ] crbug.com/626703 [ Mac ] external/wpt/css/css-fonts/font-family-name-025.html [ Failure ] -crbug.com/626703 [ Mac10.11 ] external/wpt/shape-detection/detection-HTMLVideoElement-invalid-state.html [ Timeout ] crbug.com/626703 [ Mac ] external/wpt/html/semantics/embedded-content/media-elements/track/track-element/track-mode.html [ Pass Timeout ] crbug.com/1004760 [ Mac ] external/wpt/html/semantics/embedded-content/media-elements/ready-states/autoplay-hidden.optional.html [ Timeout ] -crbug.com/626703 [ Retina ] external/wpt/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-top-left.html [ Timeout ] crbug.com/626703 external/wpt/mediacapture-streams/MediaStream-MediaElement-srcObject.https.html [ Timeout ] crbug.com/699040 external/wpt/svg/text/reftests/text-xml-space-001.svg [ Failure ] crbug.com/626703 [ Linux ] external/wpt/css/css-sizing/slice-intrinsic-size.html [ Failure ] @@ -3053,11 +2965,8 @@ crbug.com/626703 [ Linux ] external/wpt/css/css-sizing/clone-intrinsic-size.html [ Failure ] crbug.com/626703 [ Mac ] external/wpt/css/css-sizing/clone-intrinsic-size.html [ Failure ] crbug.com/626703 [ Win ] external/wpt/css/css-sizing/clone-intrinsic-size.html [ Failure ] -crbug.com/626703 [ Retina ] external/wpt/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-screenx-screeny.html [ Timeout ] crbug.com/626703 [ Mac10.12 ] external/wpt/preload/download-resources.html [ Failure Timeout ] crbug.com/626703 [ Mac10.13 ] external/wpt/preload/download-resources.html [ Failure Timeout ] -crbug.com/626703 [ Retina ] external/wpt/preload/download-resources.html [ Failure Timeout ] -crbug.com/626703 [ Mac10.10 ] external/wpt/preload/download-resources.html [ Failure Timeout ] crbug.com/626703 external/wpt/css/css-writing-modes/text-combine-upright-digits-001-manual.html [ Skip ] crbug.com/626703 external/wpt/css/css-writing-modes/text-combine-upright-all-001-manual.html [ Skip ] crbug.com/626703 external/wpt/css/css-writing-modes/text-combine-upright-digits-002-manual.html [ Skip ] @@ -3072,14 +2981,12 @@ crbug.com/626703 external/wpt/css/css-writing-modes/text-combine-upright-digits-004-manual.html [ Skip ] crbug.com/626703 external/wpt/html/semantics/scripting-1/the-script-element/json-module/parse-error.tentative.html [ Timeout ] crbug.com/626703 [ Mac10.13 ] external/wpt/preload/onload-event.html [ Failure Timeout ] -crbug.com/626703 [ Retina ] external/wpt/preload/onload-event.html [ Timeout ] crbug.com/626703 external/wpt/html/rendering/widgets/button-layout/anonymous-button-content-box.html [ Failure ] crbug.com/626703 external/wpt/html/rendering/widgets/button-layout/inline-level.html [ Failure ] crbug.com/626703 external/wpt/css/css-values/ch-unit-017.html [ Failure ] crbug.com/626703 [ Mac ] external/wpt/html/rendering/widgets/button-layout/propagate-text-decoration.html [ Failure ] crbug.com/626703 external/wpt/xhr/abort-after-stop.any.worker.html [ Timeout ] crbug.com/626703 external/wpt/speech-api/SpeechSynthesisUtterance-volume-manual.html [ Skip ] -crbug.com/626703 [ Mac10.11 ] external/wpt/webrtc/no-media-call.html [ Timeout ] crbug.com/626703 external/wpt/css/css-writing-modes/writing-mode-vlr-table-001-manual.html [ Skip ] crbug.com/626703 external/wpt/css/css-writing-modes/writing-mode-vlr-009-manual.html [ Skip ] crbug.com/626703 external/wpt/css/css-writing-modes/writing-mode-vrl-table-002-manual.html [ Skip ] @@ -3144,9 +3051,7 @@ crbug.com/626703 external/wpt/payment-method-basic-card/steps_for_selecting_the_payment_handler.html [ Timeout ] crbug.com/626703 external/wpt/payment-method-basic-card/apply_the_modifiers.html [ Timeout ] crbug.com/626703 external/wpt/html/rendering/non-replaced-elements/tables/table-border-3s.html [ Failure ] -crbug.com/626703 [ Mac10.11 ] external/wpt/shape-detection/detection-security-test.html [ Timeout ] crbug.com/626703 external/wpt/svg/text/reftests/text-text-anchor-001.svg [ Failure ] -crbug.com/626703 [ Mac10.11 ] external/wpt/shape-detection/shapedetection-cross-origin.sub.html [ Timeout ] crbug.com/626703 external/wpt/svg/text/reftests/text-text-anchor-201.svg [ Failure ] crbug.com/626703 external/wpt/html/rendering/non-replaced-elements/tables/table-border-3q.html [ Failure ] crbug.com/626703 external/wpt/svg/text/reftests/text-text-anchor-202.svg [ Failure ] @@ -3184,7 +3089,6 @@ crbug.com/626703 external/wpt/webrtc/RTCPeerConnection-remote-track-mute.https.html [ Timeout ] crbug.com/626703 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/counter-styles-3/system-cyclic-invalid.html [ Pass Failure Timeout ] crbug.com/626703 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/counter-styles-3/system-alphabetic-invalid.html [ Pass Failure Timeout ] -crbug.com/626703 [ Mac10.11 ] external/wpt/mimesniff/mime-types/parsing.any.html [ Timeout ] crbug.com/626703 external/wpt/html/infrastructure/urls/resolving-urls/query-encoding/navigation.sub.html?encoding=windows-1252 [ Timeout ] crbug.com/626703 external/wpt/css/css-values/ch-unit-011.html [ Failure ] crbug.com/626703 [ Mac ] external/wpt/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-width-height.html [ Crash Timeout ] @@ -3203,15 +3107,12 @@ crbug.com/626703 external/wpt/css/css-text/text-transform/text-transform-copy-paste-001-manual.html [ Skip ] crbug.com/626703 external/wpt/html/webappapis/animation-frames/cancel-handle-manual.html [ Skip ] crbug.com/626703 external/wpt/css/filter-effects/filter-subregion-01.html [ Failure ] -crbug.com/626703 [ Mac10.10 ] external/wpt/css/css-layout-api/auto-block-size-absolute.https.html [ Failure ] crbug.com/626703 external/wpt/css/css-text/white-space/text-space-collapse-preserve-breaks-001.xht [ Failure ] crbug.com/626703 external/wpt/css/css-text/white-space/text-space-collapse-discard-001.xht [ Failure ] crbug.com/626703 external/wpt/css/css-text/white-space/text-space-trim-trim-inner-001.xht [ Failure ] crbug.com/626703 external/wpt/svg/painting/marker-006.svg [ Failure ] crbug.com/626703 external/wpt/svg/painting/marker-005.svg [ Failure ] crbug.com/906369 external/wpt/css/css-text/text-transform/text-transform-capitalize-033.html [ Failure ] -crbug.com/626703 [ Mac10.10 ] external/wpt/mimesniff/mime-types/parsing.any.worker.html [ Failure Timeout ] -crbug.com/626703 [ Mac10.11 ] external/wpt/mimesniff/mime-types/parsing.any.worker.html [ Failure Timeout ] crbug.com/626703 [ Win ] external/wpt/html/semantics/embedded-content/media-elements/ready-states/autoplay-hidden.optional.html [ Failure Timeout ] crbug.com/626703 external/wpt/fetch/content-type/response.window.html [ Timeout ] crbug.com/626703 external/wpt/html/semantics/scripting-1/the-script-element/module/dynamic-import/no-active-script-classic-manual.html [ Timeout ] @@ -5521,10 +5422,6 @@ # ecosystem-infra sheriff 2018-11-02, 2019-03-18 crbug.com/901271 external/wpt/dom/events/Event-dispatch-on-disabled-elements.html [ Pass Failure Timeout ] -#Sheriff 2018-11-06 -crbug.com/902645 [ Retina ] transforms/3d/point-mapping/3d-point-mapping-3.html [ Failure Pass ] -crbug.com/902645 [ Retina ] transforms/3d/point-mapping/3d-point-mapping-origins.html [ Failure Pass ] - # Test is flaky under load crbug.com/904389 http/tests/preload/delaying_onload_link_preload_after_discovery.html [ Failure Pass ] @@ -5559,9 +5456,6 @@ # Update 2020-06-01: flaky on all platforms. crbug.com/914782 fast/scrolling/no-hover-during-scroll.html [ Pass Failure ] -# Sheriff 2018-12-14 -crbug.com/913931 [ Mac10.11 ] external/wpt/css/css-layout-api/auto-block-size-absolute.https.html [ Pass Failure ] - crbug.com/919272 external/wpt/resource-timing/resource-timing.html [ Skip ] # Sheriff 2019-01-03 @@ -5701,8 +5595,6 @@ # Sheriff 2019-03-20 crbug.com/943969 [ Win ] inspector-protocol/css/css-get-media-queries.js [ Pass Failure ] -crbug.com/943969 [ Mac10.10 ] inspector-protocol/css/css-get-media-queries.js [ Pass Failure ] -crbug.com/943969 [ Mac10.11 ] inspector-protocol/css/css-get-media-queries.js [ Pass Failure ] # Sheriff 2019-03-25 crbug.com/945665 http/tests/devtools/elements/styles-3/styles-add-new-rule-tab.js [ Pass Failure ] @@ -6200,7 +6092,6 @@ # Sheriff 2019-12-23 crbug.com/1036626 http/tests/devtools/tracing/tracing-record-input-events.js [ Pass Failure ] crbug.com/1034789 [ Mac10.13 ] virtual/threaded/fast/scroll-snap/snap-to-area-with-fractional-offset.html [ Pass Timeout ] -crbug.com/1034789 [ Retina ] virtual/threaded/fast/scroll-snap/snap-to-area-with-fractional-offset.html [ Pass Timeout ] # Sheriff 2019-12-27 crbug.com/1038091 virtual/gpu-rasterization/images/jpeg-yuv-image-decoding.html [ Pass Failure ] @@ -6242,7 +6133,6 @@ crbug.com/1043774 [ Linux ] virtual/web-components-v0-disabled/external/wpt/html/dom/reflection-grouping.html [ Pass Failure ] # Sheriff 2020-01-22 -crbug.com/1044567 [ Mac10.10 ] media/video-colorspace-yuv420.html [ Pass Failure ] crbug.com/1044712 [ Win ] fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar.html [ Pass Failure ] crbug.com/1044712 [ Win ] fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar.html [ Pass Failure ] crbug.com/1044712 [ Win ] fast/forms/suggestion-picker/time-suggestion-picker-appearance-locale-hebrew.html [ Pass Failure ] @@ -6532,7 +6422,6 @@ # Sheriff 2020-03-05 crbug.com/1058073 [ Mac10.14 ] accessibility/content-changed-notification-causes-crash.html [ Pass Failure ] -crbug.com/1058073 [ Retina ] accessibility/content-changed-notification-causes-crash.html [ Pass Failure ] # Sheriff 2020-03-06 crbug.com/1059262 http/tests/worklet/webexposed/global-interface-listing-paint-worklet.html [ Pass Failure ] @@ -6576,9 +6465,6 @@ # Test flakes crbug.com/1066716 http/tests/cache/zero-length-xhr.html [ Pass Timeout ] -# Sheriff 2020-04-04 -crbug.com/1067533 [ Mac10.10 ] external/wpt/shape-detection/idlharness.https.any.sharedworker.html [ Pass Failure ] - # Temporarily disabled for landing changes to DevTools frontend crbug.com/1066579 http/tests/devtools/har-importer.js [ Pass Failure ] @@ -6775,10 +6661,6 @@ #Sheriff 2020-06-25 crbug.com/1010170 media/video-played-reset.html [ Pass Failure ] -#Sheriff 2020-06-30 -crbug.com/1100786 [ Mac10.10 ] fast/scroll-snap/snaps-after-touchpad-scrolling.html [ Failure ] -crbug.com/1100786 [ Mac10.10 ] storage/indexeddb/transaction-active-flag.html [ Timeout ] - # Temporarily disable tests to allow fixing webrtc error logging crbug.com/1101699 external/wpt/webrtc/RTCPeerConnection-setLocalDescription-answer.html [ Pass Failure ] crbug.com/1101699 external/wpt/webrtc/RTCPeerConnection-setLocalDescription-pranswer.html [ Pass Failure ] @@ -6829,18 +6711,6 @@ crbug.com/1107572 [ Mac ] http/tests/devtools/tracing/timeline-style/timeline-style-recalc-with-invalidator-invalidations.js [ Pass Failure ] crbug.com/1107722 [ Mac ] http/tests/devtools/tracing/timeline-time/timeline-time.js [ Pass Failure ] -crbug.com/1107634 [ Mac10.10 ] virtual/gpu-rasterization/images/color-profile-background-image-cross-fade-png.html [ Pass Failure ] -crbug.com/1107634 [ Mac10.10 ] virtual/gpu-rasterization/images/color-profile-background-image-cross-fade.html [ Pass Failure ] -crbug.com/1107634 [ Mac10.10 ] virtual/gpu-rasterization/images/color-profile-mask-image-svg.html [ Pass Failure ] -crbug.com/1107634 [ Mac10.10 ] virtual/gpu-rasterization/images/color-profile-svg-fill-text.html [ Pass Failure ] -crbug.com/1107634 [ Mac10.10 ] virtual/gpu-rasterization/images/cross-fade-background-size.html [ Pass Failure ] -crbug.com/1107634 [ Mac10.10 ] css3/filters/backdrop-filter-boundary.html [ Pass Failure ] -crbug.com/1107634 [ Mac10.10 ] css3/filters/effect-reference-zoom-hw.html [ Pass Failure ] -crbug.com/1107634 [ Mac10.10 ] virtual/scalefactor200/css3/filters/backdrop-filter-edge-pixels.html [ Pass Failure ] -crbug.com/1107634 [ Mac10.10 ] virtual/text-antialias/selection/select-ligature-vertical-1.html [ Pass Failure ] -crbug.com/1107634 [ Mac10.10 ] virtual/text-antialias/selection/select-ligature-vertical-2.html [ Pass Failure ] -crbug.com/1107634 [ Mac10.10 ] virtual/text-antialias/selection/select-ligature-vertical-3.html [ Pass Failure ] - # Sheriff 2020-07-22 crbug.com/1107722 [ Mac ] http/tests/devtools/tracing/timeline-js/timeline-script-id.js [ Pass Failure ] crbug.com/1107722 [ Mac ] virtual/threaded/http/tests/devtools/tracing/timeline-misc/timeline-event-causes.js [ Pass Failure ]
diff --git a/third_party/blink/web_tests/W3CImportExpectations b/third_party/blink/web_tests/W3CImportExpectations index 1b38278b9..3fa4e02 100644 --- a/third_party/blink/web_tests/W3CImportExpectations +++ b/third_party/blink/web_tests/W3CImportExpectations
@@ -1,5 +1,4 @@ -# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.10 Mac10.11 Mac10.12 Retina -# Mac10.13 Win Win7 Win10 ] +# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.12 Mac10.13 Win Win7 Win10 ] # tags: [ Release Debug ] # results: [ Skip ]
diff --git a/third_party/blink/web_tests/WPTOverrideExpectations b/third_party/blink/web_tests/WPTOverrideExpectations index 879756c..4174419 100644 --- a/third_party/blink/web_tests/WPTOverrideExpectations +++ b/third_party/blink/web_tests/WPTOverrideExpectations
@@ -1,5 +1,4 @@ -# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.10 Mac10.11 Mac10.12 Retina -# Mac10.13 Win Win7 Win10 ] +# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.12 Mac10.13 Win Win7 Win10 ] # tags: [ Release Debug ] # results: [ Timeout Crash Pass Failure Slow Skip ]
diff --git a/third_party/blink/web_tests/WebDriverExpectations b/third_party/blink/web_tests/WebDriverExpectations index b5cdc64..b6d5928 100644 --- a/third_party/blink/web_tests/WebDriverExpectations +++ b/third_party/blink/web_tests/WebDriverExpectations
@@ -1,5 +1,4 @@ -# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.10 Mac10.11 Mac10.12 Retina -# Mac10.13 Win Win7 Win10 ] +# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.12 Mac10.13 Win Win7 Win10 ] # tags: [ Release Debug ] # results: [ Timeout Crash Pass Failure Slow Skip ]
diff --git a/third_party/blink/web_tests/WebGPUExpectations b/third_party/blink/web_tests/WebGPUExpectations index d0e6e4c..2d41eb87 100644 --- a/third_party/blink/web_tests/WebGPUExpectations +++ b/third_party/blink/web_tests/WebGPUExpectations
@@ -1,5 +1,4 @@ -# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.10 Mac10.11 Mac10.12 Retina -# Mac10.13 Win Win7 Win10 ] +# tags: [ Android Fuchsia IOS IOS12.2 IOS13.0 Linux Mac Mac10.12 Mac10.13 Win Win7 Win10 ] # tags: [ Release Debug ] # results: [ Timeout Crash Pass Failure Slow Skip RetryOnFailure ]
diff --git a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json index 2050794..47828246 100644 --- a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json +++ b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json
@@ -43433,6 +43433,58 @@ {} ] ], + "box-shadow-overlapping-001.html": [ + "a1ea7cd4a569cb6b4b6ff4ab6ce6cacbe796895e", + [ + null, + [ + [ + "/css/css-backgrounds/reference/box-shadow-overlapping-001-ref.html", + "==" + ] + ], + {} + ] + ], + "box-shadow-overlapping-002.html": [ + "e00e0e0808b4839f6e2c9aa3fea4c8c12e5b474b", + [ + null, + [ + [ + "/css/css-backgrounds/reference/box-shadow-overlapping-001-ref.html", + "==" + ] + ], + {} + ] + ], + "box-shadow-overlapping-003.html": [ + "727162934aa76b9f145da26f491582163b980ff5", + [ + null, + [ + [ + "/css/css-backgrounds/reference/box-shadow-overlapping-003-ref.html", + "==" + ] + ], + {} + ] + ], + "box-shadow-overlapping-004.html": [ + "6c6a9d7f5fb903371aa7bdf91f8f12903bc67f7f", + [ + null, + [ + [ + "/css/css-backgrounds/reference/box-shadow-overlapping-003-ref.html", + "==" + ] + ], + {} + ] + ], "box-shadow-table-border-collapse-001.html": [ "a4413ee97ffa0816294700a60f2f82e37d3762f0", [ @@ -167343,6 +167395,14 @@ "2bca4c6961b88faaafb8d621ca222faee48256ef", [] ], + "box-shadow-overlapping-001-ref.html": [ + "9b875c79fa6ef764c4d337a7e8375e3c1acff591", + [] + ], + "box-shadow-overlapping-003-ref.html": [ + "677a5f3312e76854a7b3fddd1e7aff1a02366809", + [] + ], "box-shadow-table-border-collapse-001-ref.html": [ "fb2734a7c1a21a76f262703c9b6e3078ff3eae1d", [] @@ -200929,7 +200989,7 @@ ], "resources": { "crossiframe-childframe.html": [ - "58294ae02c23baf1376b77ba9f642ff7b4e59c66", + "6a8bc6b64240636dbc576aaa15b9c86b799dae8e", [] ], "event-timing-test-utils.js": [ @@ -310651,7 +310711,7 @@ ] ], "buffered-and-duration-threshold.html": [ - "66be7663c114d1055866c59f075ff5352acfcdf3", + "dbc9d92bf04e0a5b40033073b88bad1fc533836a", [ null, { @@ -310696,7 +310756,7 @@ ] ], "crossiframe.html": [ - "dfbd2897ad4bb5bfd4edeb2cdc17afc438e37962", + "147e144631df10ef9e829e9978828e40b1289ceb", [ null, {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-overlapping-001.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-overlapping-001.html new file mode 100644 index 0000000..a1ea7cd4 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-overlapping-001.html
@@ -0,0 +1,49 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Background and Borders Test: box-shadow and overlapping of adjacent text</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#shadow-layers" > + <link rel="match" href="reference/box-shadow-overlapping-001-ref.html"> + <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> + + <meta content="" name="flags"> + <meta content="Box shadows do not affect layout. Box shadows take up no space. Box shadows do not affect or influence normal flow of boxes. Therefore, box shadows can 'collide' with other boxes and can overlap other boxes (inline box or line box) or be overlapped by other boxes. In this test, the text ('PED') is before a left outer box-shadow box and such left outer box-shadow box is wide and wide enough to overlap the text 'PED'." name="assert"> + + <style> + div + { + color: red; + float: left; + font-family: Ahem; + font-size: 100px; + line-height: 1; + } + + span + { + color: green; + box-shadow: -3em 0em; + } + + /* + + omitted colors default to the value of the color property. + + 1st <length> + Specifies the horizontal offset of the shadow. A positive value + draws a shadow that is offset to the right of the box, a negative + length to the left. + + 2nd <length> + Specifies the vertical offset of the shadow. A positive value + offsets the shadow down, a negative one up. + + */ + </style> + + <p>Test passes if there is a filled green rectangle and <strong>no red</strong>. + + <div>PED<span>PNG</span></div>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-overlapping-002.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-overlapping-002.html new file mode 100644 index 0000000..e00e0e0 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-overlapping-002.html
@@ -0,0 +1,49 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Background and Borders Test: box-shadow and overlapping of adjacent text</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#shadow-layers" > + <link rel="match" href="reference/box-shadow-overlapping-001-ref.html"> + <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> + + <meta content="" name="flags"> + <meta content="Box shadows do not affect layout. Box shadows take up no space. Box shadows do not affect or influence normal flow of boxes. Therefore, box shadows can 'collide' with other boxes and can overlap other boxes (inline box or line box) or be overlapped by other boxes. In this test, the text ('PNG') follows a right outer box shadow and therefore overlaps such shadow." name="assert"> + + <style> + div + { + background-color: yellow; + color: green; + float: left; + font-family: Ahem; + font-size: 100px; + line-height: 1; + } + + span + { + box-shadow: 3em 0em red; + } + + /* + + omitted colors default to the value of the color property. + + 1st <length> + Specifies the horizontal offset of the shadow. A positive value + draws a shadow that is offset to the right of the box, a negative + length to the left. + + 2nd <length> + Specifies the vertical offset of the shadow. A positive value + offsets the shadow down, a negative one up. + + */ + </style> + + <p>Test passes if there is a filled green rectangle and <strong>no red</strong>. + + <div><span>PED</span>PNG</div>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-overlapping-003.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-overlapping-003.html new file mode 100644 index 0000000..7271629 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-overlapping-003.html
@@ -0,0 +1,56 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Background and Borders Test: box-shadow and overlapping of adjacent text</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#shadow-layers" > + <link rel="match" href="reference/box-shadow-overlapping-003-ref.html"> + <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> + + <meta content="" name="flags"> + <meta content="Box shadows do not affect layout. Box shadows take up no space. Box shadows do not affect or influence normal flow of boxes. Therefore, box shadows can 'collide' with other boxes and can overlap other boxes (inline box or line box) or be overlapped by other boxes. In this test, the text ('OVLPED') is from a previous line box and is overlapped by a top outer box shadow box that is tall enough to overlap it entirely." name="assert"> + + <style> + div + { + float: left; + font-family: Ahem; + font-size: 100px; + line-height: 1; + } + + div#previous-line-box + { + color: red; + } + + div#outer-box-shadow + { + box-shadow: 0em -1em; + clear: left; + color: green; + } + + /* + + omitted colors default to the value of the color property. + + 1st <length> + Specifies the horizontal offset of the shadow. A positive value + draws a shadow that is offset to the right of the box, a negative + length to the left. + + 2nd <length> + Specifies the vertical offset of the shadow. A positive value + offsets the shadow down, a negative one up. + + */ + </style> + + <p>Test passes if there is a filled green rectangle and <strong>no red</strong>. + + <div id="previous-line-box">OVLPED</div> + + <div id="outer-box-shadow">OVLPNG</div>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-overlapping-004.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-overlapping-004.html new file mode 100644 index 0000000..6c6a9d7f --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-overlapping-004.html
@@ -0,0 +1,53 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Background and Borders Test: box-shadow and overlapping of adjacent text</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#shadow-layers" > + <link rel="match" href="reference/box-shadow-overlapping-003-ref.html"> + <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> + + <meta content="" name="flags"> + <meta content="Box shadows do not affect layout. Box shadows take up no space. Box shadows do not affect or influence normal flow of boxes. Therefore, box shadows can 'collide' with other boxes and can overlap other boxes (inline box or line box) or be overlapped by other boxes. This test checks that the background of the following line box overlaps the box-shadow of an inline non-replaced box whose box-shadow expands onto and over the following line box. In this test, the box shadow of div#outer-box-shadow is red and protudes out and below onto the following line box. But since the glyphs of div#following-line-box are green, then such green color will overlap the red box shadow of div#outer-box-shadow." name="assert"> + + <style> + div + { + color: green; + float: left; + font-family: Ahem; + font-size: 100px; + line-height: 1; + } + + div#outer-box-shadow + { + box-shadow: 0em 1em red; + } + + /* + + 1st <length> + Specifies the horizontal offset of the shadow. A positive value + draws a shadow that is offset to the right of the box, a negative + length to the left. + + 2nd <length> + Specifies the vertical offset of the shadow. A positive value + offsets the shadow down, a negative one up. + + */ + + div#following-line-box + { + clear: left; + } + </style> + + <p>Test passes if there is a filled green rectangle and <strong>no red</strong>. + + <div id="outer-box-shadow">OVLPED</div> + + <div id="following-line-box">OVLPNG</div>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/reference/box-shadow-overlapping-001-ref.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/reference/box-shadow-overlapping-001-ref.html new file mode 100644 index 0000000..9b875c7 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/reference/box-shadow-overlapping-001-ref.html
@@ -0,0 +1,20 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Reference Test</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + + <style> + div + { + background-color: green; + height: 100px; + width: 600px; + } + </style> + + <p>Test passes if there is a filled green rectangle and <strong>no red</strong>. + + <div></div>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/reference/box-shadow-overlapping-003-ref.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/reference/box-shadow-overlapping-003-ref.html new file mode 100644 index 0000000..677a5f33 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/reference/box-shadow-overlapping-003-ref.html
@@ -0,0 +1,20 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Reference Test</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + + <style> + div + { + background-color: green; + height: 200px; + width: 600px; + } + </style> + + <p>Test passes if there is a filled green rectangle and <strong>no red</strong>. + + <div></div>
diff --git a/third_party/blink/web_tests/fast/harness/results.html b/third_party/blink/web_tests/fast/harness/results.html index d329739..43c29a3 100644 --- a/third_party/blink/web_tests/fast/harness/results.html +++ b/third_party/blink/web_tests/fast/harness/results.html
@@ -615,7 +615,7 @@ statusClass += key == "PASS" ? " unexpected-pass" : " unexpected-failure"; statusMap.set(key, statusClass); }); - let status = ""; + let status = test.is_slow_test ? "Slow" : ""; statusMap.forEach((value, key) => { status += ` <span class="${value}">${TestResultInformation[key].text}</span>`; });
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png deleted file mode 100644 index 366112b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png deleted file mode 100644 index 2f55cef..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/compositing/gestures/gesture-tapHighlight-pixel-transparent-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/compositing/gestures/gesture-tapHighlight-pixel-transparent-expected.png deleted file mode 100644 index 4f9bc5f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/compositing/gestures/gesture-tapHighlight-pixel-transparent-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png deleted file mode 100644 index ad16105..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/basic/comments-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/basic/comments-expected.png deleted file mode 100644 index e2433ef71..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/basic/comments-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/basic/containment-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/basic/containment-expected.png deleted file mode 100644 index eda319ec..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/basic/containment-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/basic/contextual_selectors-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/basic/contextual_selectors-expected.png deleted file mode 100644 index 317e74c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/basic/contextual_selectors-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/basic/grouping-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/basic/grouping-expected.png deleted file mode 100644 index 8cac765..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/basic/grouping-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/basic/id_as_selector-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/basic/id_as_selector-expected.png deleted file mode 100644 index e1b8d3e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/basic/id_as_selector-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/basic/inheritance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/basic/inheritance-expected.png deleted file mode 100644 index 89095f5f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/basic/inheritance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border-expected.png deleted file mode 100644 index ba11a65a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_bottom-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_bottom-expected.png deleted file mode 100644 index 3ff657a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_bottom-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_bottom_inline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_bottom_inline-expected.png deleted file mode 100644 index e70a308..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_bottom_inline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_bottom_width-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_bottom_width-expected.png deleted file mode 100644 index 567a2471..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_bottom_width-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_bottom_width_inline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_bottom_width_inline-expected.png deleted file mode 100644 index 49a2ce2..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_bottom_width_inline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_color-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_color-expected.png deleted file mode 100644 index 846491d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_color-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_color_inline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_color_inline-expected.png deleted file mode 100644 index 68b1c98c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_color_inline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_inline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_inline-expected.png deleted file mode 100644 index 8496cf1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_inline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_left-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_left-expected.png deleted file mode 100644 index 6f77dca1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_left-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_left_inline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_left_inline-expected.png deleted file mode 100644 index 8c87d32..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_left_inline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_left_width-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_left_width-expected.png deleted file mode 100644 index 9c5969e6..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_left_width-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_left_width_inline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_left_width_inline-expected.png deleted file mode 100644 index 330e840..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_left_width_inline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_right-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_right-expected.png deleted file mode 100644 index 8ede3c8..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_right-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_right_inline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_right_inline-expected.png deleted file mode 100644 index 9a68664..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_right_inline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_right_width-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_right_width-expected.png deleted file mode 100644 index 25613cd..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_right_width-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_right_width_inline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_right_width_inline-expected.png deleted file mode 100644 index 0ac3bb1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_right_width_inline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_style-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_style-expected.png deleted file mode 100644 index 023b059f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_style-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_style_inline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_style_inline-expected.png deleted file mode 100644 index 01bb3472..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_style_inline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_top-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_top-expected.png deleted file mode 100644 index 56cb754..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_top-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_top_inline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_top_inline-expected.png deleted file mode 100644 index c8f4e1ae..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_top_inline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_top_width-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_top_width-expected.png deleted file mode 100644 index 726b5db..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_top_width-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_top_width_inline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_top_width_inline-expected.png deleted file mode 100644 index 9e17b29..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_top_width_inline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_width-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_width-expected.png deleted file mode 100644 index bbfc10d5..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_width-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_width_inline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_width_inline-expected.png deleted file mode 100644 index 78f6e32d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/border_width_inline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/clear-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/clear-expected.png deleted file mode 100644 index 8bc3c6f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/clear-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/clear_float-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/clear_float-expected.png deleted file mode 100644 index 8835b9b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/clear_float-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/float-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/float-expected.png deleted file mode 100644 index 13315155..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/float-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/float_elements_in_series-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/float_elements_in_series-expected.png deleted file mode 100644 index 5b225e3..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/float_elements_in_series-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/float_margin-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/float_margin-expected.png deleted file mode 100644 index e1a7065..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/float_margin-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/height-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/height-expected.png deleted file mode 100644 index a38a0434..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/height-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin-expected.png deleted file mode 100644 index 62f916f8..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin_bottom-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin_bottom-expected.png deleted file mode 100644 index a39975a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin_bottom-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin_bottom_inline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin_bottom_inline-expected.png deleted file mode 100644 index 582f6927..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin_bottom_inline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin_inline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin_inline-expected.png deleted file mode 100644 index 2cf7a8a9b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin_inline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin_left-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin_left-expected.png deleted file mode 100644 index 03facd4..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin_left-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin_left_inline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin_left_inline-expected.png deleted file mode 100644 index 76143ec7..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin_left_inline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin_right-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin_right-expected.png deleted file mode 100644 index 81f3bc48..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin_right-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin_right_inline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin_right_inline-expected.png deleted file mode 100644 index 5ee657e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin_right_inline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin_top-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin_top-expected.png deleted file mode 100644 index 9668e57..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin_top-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin_top_inline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin_top_inline-expected.png deleted file mode 100644 index 0c12610..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/margin_top_inline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding-expected.png deleted file mode 100644 index d34521ec7..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding_bottom-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding_bottom-expected.png deleted file mode 100644 index a631b03..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding_bottom-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding_bottom_inline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding_bottom_inline-expected.png deleted file mode 100644 index 0fbb2362..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding_bottom_inline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding_inline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding_inline-expected.png deleted file mode 100644 index 172d80c0d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding_inline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding_left-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding_left-expected.png deleted file mode 100644 index 38491035..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding_left-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding_left_inline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding_left_inline-expected.png deleted file mode 100644 index 588ed01..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding_left_inline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding_right-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding_right-expected.png deleted file mode 100644 index 68c66b5..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding_right-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding_right_inline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding_right_inline-expected.png deleted file mode 100644 index 0e23466..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding_right_inline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding_top-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding_top-expected.png deleted file mode 100644 index ae1f4fa..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding_top-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding_top_inline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding_top_inline-expected.png deleted file mode 100644 index ca531fb..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/padding_top_inline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/width-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/width-expected.png deleted file mode 100644 index c776822..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/box_properties/width-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/cascade/cascade_order-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/cascade/cascade_order-expected.png deleted file mode 100644 index 5ff8b04e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/cascade/cascade_order-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/cascade/important-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/cascade/important-expected.png deleted file mode 100644 index 6ecf370..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/cascade/important-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/classification/display-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/classification/display-expected.png deleted file mode 100644 index d0610b8..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/classification/display-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/classification/list_style-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/classification/list_style-expected.png deleted file mode 100644 index d66e436..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/classification/list_style-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/classification/list_style_image-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/classification/list_style_image-expected.png deleted file mode 100644 index 583a5776..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/classification/list_style_image-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/classification/list_style_position-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/classification/list_style_position-expected.png deleted file mode 100644 index 712479e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/classification/list_style_position-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/classification/list_style_type-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/classification/list_style_type-expected.png deleted file mode 100644 index 39b5b1c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/classification/list_style_type-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/classification/white_space-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/classification/white_space-expected.png deleted file mode 100644 index 1a96daa9..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/classification/white_space-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/color_and_background/background-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/color_and_background/background-expected.png deleted file mode 100644 index 15a58240..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/color_and_background/background-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/color_and_background/background_attachment-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/color_and_background/background_attachment-expected.png deleted file mode 100644 index faa7353..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/color_and_background/background_attachment-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/color_and_background/background_color-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/color_and_background/background_color-expected.png deleted file mode 100644 index 933954f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/color_and_background/background_color-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/color_and_background/background_image-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/color_and_background/background_image-expected.png deleted file mode 100644 index e7acd13..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/color_and_background/background_image-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/color_and_background/background_position-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/color_and_background/background_position-expected.png deleted file mode 100644 index 28f1aea..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/color_and_background/background_position-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/color_and_background/background_repeat-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/color_and_background/background_repeat-expected.png deleted file mode 100644 index 8660487..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/color_and_background/background_repeat-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/color_and_background/color-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/color_and_background/color-expected.png deleted file mode 100644 index 9ce2ec9..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/color_and_background/color-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/conformance/forward_compatible_parsing-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/conformance/forward_compatible_parsing-expected.png deleted file mode 100644 index 73d5092..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/conformance/forward_compatible_parsing-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/font_properties/font_family-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/font_properties/font_family-expected.png deleted file mode 100644 index ad0c851..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/font_properties/font_family-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/font_properties/font_size-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/font_properties/font_size-expected.png deleted file mode 100644 index 318919b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/font_properties/font_size-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/font_properties/font_style-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/font_properties/font_style-expected.png deleted file mode 100644 index da63ec59..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/font_properties/font_style-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/font_properties/font_variant-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/font_properties/font_variant-expected.png deleted file mode 100644 index 97947da..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/font_properties/font_variant-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/font_properties/font_weight-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/font_properties/font_weight-expected.png deleted file mode 100644 index 0fb26e0..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/font_properties/font_weight-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/formatting_model/canvas-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/formatting_model/canvas-expected.png deleted file mode 100644 index 269785f0..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/formatting_model/canvas-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/formatting_model/floating_elements-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/formatting_model/floating_elements-expected.png deleted file mode 100644 index ec6b3df8..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/formatting_model/floating_elements-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/formatting_model/height_of_lines-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/formatting_model/height_of_lines-expected.png deleted file mode 100644 index 11f4d75..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/formatting_model/height_of_lines-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/formatting_model/inline_elements-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/formatting_model/inline_elements-expected.png deleted file mode 100644 index 253225ac..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/formatting_model/inline_elements-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/formatting_model/replaced_elements-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/formatting_model/replaced_elements-expected.png deleted file mode 100644 index 9bbc182..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/formatting_model/replaced_elements-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/formatting_model/vertical_formatting-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/formatting_model/vertical_formatting-expected.png deleted file mode 100644 index 0e37ead..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/formatting_model/vertical_formatting-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/pseudo/anchor-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/pseudo/anchor-expected.png deleted file mode 100644 index fc7f4b3a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/pseudo/anchor-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/pseudo/firstletter-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/pseudo/firstletter-expected.png deleted file mode 100644 index f177058..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/pseudo/firstletter-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/pseudo/firstline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/pseudo/firstline-expected.png deleted file mode 100644 index 59f76034..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/pseudo/firstline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/pseudo/multiple_pseudo_elements-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/pseudo/multiple_pseudo_elements-expected.png deleted file mode 100644 index 1c25c7f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/pseudo/multiple_pseudo_elements-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/pseudo/pseudo_elements_in_selectors-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/pseudo/pseudo_elements_in_selectors-expected.png deleted file mode 100644 index 6f22bd1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/pseudo/pseudo_elements_in_selectors-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/text_properties/letter_spacing-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/text_properties/letter_spacing-expected.png deleted file mode 100644 index 86023852..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/text_properties/letter_spacing-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/text_properties/line_height-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/text_properties/line_height-expected.png deleted file mode 100644 index bfec5db..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/text_properties/line_height-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/text_properties/text_align-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/text_properties/text_align-expected.png deleted file mode 100644 index 09e8204..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/text_properties/text_align-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/text_properties/text_decoration-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/text_properties/text_decoration-expected.png deleted file mode 100644 index b541037..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/text_properties/text_decoration-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/text_properties/text_indent-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/text_properties/text_indent-expected.png deleted file mode 100644 index 1f4cc82..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/text_properties/text_indent-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/text_properties/text_transform-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/text_properties/text_transform-expected.png deleted file mode 100644 index b4294427..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/text_properties/text_transform-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/text_properties/vertical_align-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/text_properties/vertical_align-expected.png deleted file mode 100644 index 0d6c7d1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/text_properties/vertical_align-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/text_properties/word_spacing-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/text_properties/word_spacing-expected.png deleted file mode 100644 index da036f75..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/text_properties/word_spacing-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/units/color_units-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/units/color_units-expected.png deleted file mode 100644 index e40d183..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/units/color_units-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/units/length_units-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/units/length_units-expected.png deleted file mode 100644 index 33c5691..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/units/length_units-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/units/percentage_units-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/units/percentage_units-expected.png deleted file mode 100644 index ecd1896..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/units/percentage_units-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css1/units/urls-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css1/units/urls-expected.png deleted file mode 100644 index a7ce30e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css1/units/urls-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css2.1/20110323/c543-txt-decor-000-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css2.1/20110323/c543-txt-decor-000-expected.png deleted file mode 100644 index 85734031..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css2.1/20110323/c543-txt-decor-000-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css2.1/t050803-c14-classes-00-e-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css2.1/t050803-c14-classes-00-e-expected.png deleted file mode 100644 index 8385fe8..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css2.1/t050803-c14-classes-00-e-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css2.1/t0509-c15-ids-01-e-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css2.1/t0509-c15-ids-01-e-expected.png deleted file mode 100644 index 28d99a6..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css2.1/t0509-c15-ids-01-e-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css2.1/t0602-c13-inh-underlin-00-e-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css2.1/t0602-c13-inh-underlin-00-e-expected.png deleted file mode 100644 index 7ada2785..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css2.1/t0602-c13-inh-underlin-00-e-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css2.1/t1503-c522-font-family-00-b-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css2.1/t1503-c522-font-family-00-b-expected.png deleted file mode 100644 index 795abd8c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css2.1/t1503-c522-font-family-00-b-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css2.1/t1508-c527-font-06-b-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css2.1/t1508-c527-font-06-b-expected.png deleted file mode 100644 index 7886c0eb..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css2.1/t1508-c527-font-06-b-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css3/filters/backdrop-filter-boundary-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css3/filters/backdrop-filter-boundary-expected.png deleted file mode 100644 index d07c43a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css3/filters/backdrop-filter-boundary-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css3/filters/backdrop-filter-browser-zoom-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css3/filters/backdrop-filter-browser-zoom-expected.png deleted file mode 100644 index d57edd36..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css3/filters/backdrop-filter-browser-zoom-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/css3/filters/effect-reference-zoom-hw-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/css3/filters/effect-reference-zoom-hw-expected.png deleted file mode 100644 index 5dd7300..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/css3/filters/effect-reference-zoom-hw-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/custom-elements/form-validation-bubble-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/custom-elements/form-validation-bubble-appearance-expected.png deleted file mode 100644 index 0a0249c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/custom-elements/form-validation-bubble-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/editing/input/reveal-caret-of-multiline-input-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/editing/input/reveal-caret-of-multiline-input-expected.png deleted file mode 100644 index de3991e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/editing/input/reveal-caret-of-multiline-input-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/editing/inserting/4278698-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/editing/inserting/4278698-expected.png deleted file mode 100644 index 1c2dfe4..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/editing/inserting/4278698-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/editing/selection/japanese-lr-selection-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/editing/selection/japanese-lr-selection-expected.png deleted file mode 100644 index a5a4202..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/editing/selection/japanese-lr-selection-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/editing/selection/japanese-rl-selection-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/editing/selection/japanese-rl-selection-expected.png deleted file mode 100644 index ea81101a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/editing/selection/japanese-rl-selection-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/content-security-policy/securitypolicyviolation/securitypolicyviolation-block-cross-origin-image.sub-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/content-security-policy/securitypolicyviolation/securitypolicyviolation-block-cross-origin-image.sub-expected.txt deleted file mode 100644 index 4f655ba..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/content-security-policy/securitypolicyviolation/securitypolicyviolation-block-cross-origin-image.sub-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL Non-redirected cross-origin URLs are not stripped. Failed to construct 'URL': Invalid URL -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-pseudo/grammar-error-003-manual-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-pseudo/grammar-error-003-manual-expected.png deleted file mode 100644 index 708059ae..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-pseudo/grammar-error-003-manual-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-pseudo/selection-text-shadow-006-manual-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-pseudo/selection-text-shadow-006-manual-expected.png deleted file mode 100644 index ee99362..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-pseudo/selection-text-shadow-006-manual-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-pseudo/spelling-error-003-manual-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-pseudo/spelling-error-003-manual-expected.png deleted file mode 100644 index a47af53..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-pseudo/spelling-error-003-manual-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-text-decor/text-decoration-width-computed-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-text-decor/text-decoration-width-computed-expected.txt deleted file mode 100644 index 03ec802..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-text-decor/text-decoration-width-computed-expected.txt +++ /dev/null
@@ -1,6 +0,0 @@ -This is a testharness.js-based test. -FAIL Property text-decoration-width value 'auto' computes to 'auto' assert_true: text-decoration-width doesn't seem to be supported in the computed style expected true got false -FAIL Property text-decoration-width value 'from-font' computes to 'from-font' assert_true: text-decoration-width doesn't seem to be supported in the computed style expected true got false -FAIL Property text-decoration-width value 'calc(10px - 8px)' computes to '2px' assert_true: text-decoration-width doesn't seem to be supported in the computed style expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-text-decor/text-decoration-width-valid-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-text-decor/text-decoration-width-valid-expected.txt deleted file mode 100644 index 09b05db..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-text-decor/text-decoration-width-valid-expected.txt +++ /dev/null
@@ -1,11 +0,0 @@ -This is a testharness.js-based test. -FAIL e.style['text-decoration-width'] = "auto" should set the property value assert_not_equals: property should be set got disallowed value "" -FAIL e.style['text-decoration-width'] = "from-font" should set the property value assert_not_equals: property should be set got disallowed value "" -FAIL e.style['text-decoration-width'] = "-10px" should set the property value assert_not_equals: property should be set got disallowed value "" -FAIL e.style['text-decoration-width'] = "2001em" should set the property value assert_not_equals: property should be set got disallowed value "" -FAIL e.style['text-decoration-width'] = "-49em" should set the property value assert_not_equals: property should be set got disallowed value "" -FAIL e.style['text-decoration-width'] = "53px" should set the property value assert_not_equals: property should be set got disallowed value "" -FAIL e.style['text-decoration-width'] = "calc(40em - 10px)" should set the property value assert_not_equals: property should be set got disallowed value "" -FAIL e.style['text-decoration-width'] = "calc(-50em + 13px)" should set the property value assert_not_equals: property should be set got disallowed value "" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-text/i18n/other-lang/css-text-line-break-de-in-loose-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-text/i18n/other-lang/css-text-line-break-de-in-loose-expected.txt deleted file mode 100644 index ee73f7ad..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-text/i18n/other-lang/css-text-line-break-de-in-loose-expected.txt +++ /dev/null
@@ -1,8 +0,0 @@ -This is a testharness.js-based test. -FAIL 2024 ONE DOT LEADER may appear at line start if de and loose assert_true: expected true got false -FAIL 2025 TWO DOT LEADER may appear at line start if de and loose assert_true: expected true got false -FAIL 2026 HORIZONTAL ELLIPSIS may appear at line start if de and loose assert_true: expected true got false -FAIL 22EF MIDLINE HORIZONTAL ELLIPSIS may appear at line start if de and loose assert_true: expected true got false -FAIL FE19 PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS may appear at line start if de and loose assert_true: expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-pr-strict-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-pr-strict-expected.txt deleted file mode 100644 index 5d9d42c5..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-pr-strict-expected.txt +++ /dev/null
@@ -1,11 +0,0 @@ -This is a testharness.js-based test. -FAIL 00B1 PLUS-MINUS SIGN may NOT appear at line start if zh and strict assert_true: expected true got false -FAIL 20AC EURO SIGN may NOT appear at line start if zh and strict assert_true: expected true got false -FAIL 2116 NUMERO SIGN may NOT appear at line start if zh and strict assert_true: expected true got false -FAIL FE69 SMALL DOLLAR SIGN may NOT appear at line start if zh and strict assert_true: expected true got false -FAIL FF04 FULLWIDTH DOLLAR SIGN may NOT appear at line start if zh and strict assert_true: expected true got false -FAIL FFE1 FULLWIDTH POUND SIGN may NOT appear at line start if zh and strict assert_true: expected true got false -FAIL FFE5 FULLWIDTH YEN SIGN may NOT appear at line start if zh and strict assert_true: expected true got false -FAIL FFE6 FULLWIDTH WON SIGN may NOT appear at line start if zh and strict assert_true: expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-text/text-transform/text-transform-shaping-001-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-text/text-transform/text-transform-shaping-001-expected.png deleted file mode 100644 index e69de29..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-text/text-transform/text-transform-shaping-001-expected.png +++ /dev/null
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-text/white-space/control-chars-00C-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-text/white-space/control-chars-00C-expected.png deleted file mode 100644 index e69de29..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-text/white-space/control-chars-00C-expected.png +++ /dev/null
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-text/word-boundary/word-boundary-015-manual-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-text/word-boundary/word-boundary-015-manual-expected.png deleted file mode 100644 index f402f79..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/css-text/word-boundary/word-boundary-015-manual-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/cssom/getComputedStyle-width-scroll.tentative-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/cssom/getComputedStyle-width-scroll.tentative-expected.txt deleted file mode 100644 index 587d4b1db..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/css/cssom/getComputedStyle-width-scroll.tentative-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL getComputedStyle() round-trips in presence of scrollbars assert_equals: width round-trips expected "85px" but got "70px" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/fetch/origin/assorted.window-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/fetch/origin/assorted.window-expected.txt deleted file mode 100644 index 5f71302..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/fetch/origin/assorted.window-expected.txt +++ /dev/null
@@ -1,49 +0,0 @@ -Content-Type: text/plain -This is a testharness.js-based test. -PASS Origin header and 308 redirect -PASS Origin header and GET navigation -PASS Origin header and POST navigation -PASS Origin header and POST same-origin navigation with Referrer-Policy no-referrer -FAIL Origin header and POST same-origin fetch no-cors mode with Referrer-Policy no-referrer assert_equals: expected "null" but got "http://web-platform.test:8001" -FAIL Origin header and POST same-origin fetch cors mode with Referrer-Policy no-referrer assert_equals: expected "null" but got "http://web-platform.test:8001" -PASS Origin header and GET same-origin fetch cors mode with Referrer-Policy no-referrer -PASS Origin header and POST cross-origin navigation with Referrer-Policy no-referrer -FAIL Origin header and POST cross-origin fetch no-cors mode with Referrer-Policy no-referrer assert_equals: expected "null" but got "http://web-platform.test:8001" -PASS Origin header and POST cross-origin fetch cors mode with Referrer-Policy no-referrer -PASS Origin header and GET cross-origin fetch cors mode with Referrer-Policy no-referrer -PASS Origin header and POST same-origin navigation with Referrer-Policy same-origin -PASS Origin header and POST same-origin fetch no-cors mode with Referrer-Policy same-origin -PASS Origin header and POST same-origin fetch cors mode with Referrer-Policy same-origin -PASS Origin header and GET same-origin fetch cors mode with Referrer-Policy same-origin -PASS Origin header and POST cross-origin navigation with Referrer-Policy same-origin -FAIL Origin header and POST cross-origin fetch no-cors mode with Referrer-Policy same-origin assert_equals: expected "null" but got "http://web-platform.test:8001" -PASS Origin header and POST cross-origin fetch cors mode with Referrer-Policy same-origin -PASS Origin header and GET cross-origin fetch cors mode with Referrer-Policy same-origin -PASS Origin header and POST same-origin navigation with Referrer-Policy origin-when-cross-origin -PASS Origin header and POST same-origin fetch no-cors mode with Referrer-Policy origin-when-cross-origin -PASS Origin header and POST same-origin fetch cors mode with Referrer-Policy origin-when-cross-origin -PASS Origin header and GET same-origin fetch cors mode with Referrer-Policy origin-when-cross-origin -PASS Origin header and POST cross-origin navigation with Referrer-Policy origin-when-cross-origin -PASS Origin header and POST cross-origin fetch no-cors mode with Referrer-Policy origin-when-cross-origin -PASS Origin header and POST cross-origin fetch cors mode with Referrer-Policy origin-when-cross-origin -PASS Origin header and GET cross-origin fetch cors mode with Referrer-Policy origin-when-cross-origin -PASS Origin header and POST same-origin navigation with Referrer-Policy no-referrer-when-downgrade -PASS Origin header and POST same-origin fetch no-cors mode with Referrer-Policy no-referrer-when-downgrade -PASS Origin header and POST same-origin fetch cors mode with Referrer-Policy no-referrer-when-downgrade -PASS Origin header and GET same-origin fetch cors mode with Referrer-Policy no-referrer-when-downgrade -PASS Origin header and POST cross-origin navigation with Referrer-Policy no-referrer-when-downgrade -PASS Origin header and POST cross-origin fetch no-cors mode with Referrer-Policy no-referrer-when-downgrade -PASS Origin header and POST cross-origin fetch cors mode with Referrer-Policy no-referrer-when-downgrade -PASS Origin header and GET cross-origin fetch cors mode with Referrer-Policy no-referrer-when-downgrade -PASS Origin header and POST same-origin navigation with Referrer-Policy unsafe-url -PASS Origin header and POST same-origin fetch no-cors mode with Referrer-Policy unsafe-url -PASS Origin header and POST same-origin fetch cors mode with Referrer-Policy unsafe-url -PASS Origin header and GET same-origin fetch cors mode with Referrer-Policy unsafe-url -PASS Origin header and POST cross-origin navigation with Referrer-Policy unsafe-url -PASS Origin header and POST cross-origin fetch no-cors mode with Referrer-Policy unsafe-url -PASS Origin header and POST cross-origin fetch cors mode with Referrer-Policy unsafe-url -PASS Origin header and GET cross-origin fetch cors mode with Referrer-Policy unsafe-url -Harness: the test ran to completion. - -#EOF -#EOF
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/fullscreen/api/element-request-fullscreen-and-move-to-iframe-manual-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/fullscreen/api/element-request-fullscreen-and-move-to-iframe-manual-expected.txt deleted file mode 100644 index b405358..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/fullscreen/api/element-request-fullscreen-and-move-to-iframe-manual-expected.txt +++ /dev/null
@@ -1,5 +0,0 @@ -This is a testharness.js-based test. -Harness Error. harness_status.status = 1 , harness_status.message = Unhandled rejection: fullscreen error -PASS Element#requestFullscreen() followed by moving the element into an iframe -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.resize-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.resize-expected.txt deleted file mode 100644 index 435dfa6..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.resize-expected.txt +++ /dev/null
@@ -1,13 +0,0 @@ -This is a testharness.js-based test. -PASS Verify that writing to the width and height attributes of an OffscreenCanvas works when there is no context attached. -PASS Verify that writing to the width and height attributes of an OffscreenCanvas works when there is a 2d context attached. -PASS Verify that writing to the width and height attributes of an OffscreenCanvas works when there is a webgl context attached. -PASS Verify that writing to the width or height attribute of a placeholder canvas throws an exception -PASS Verify that writing to the width or height attribute of a placeholder canvas throws an exception even when not changing the value of the attribute. -PASS Verify that resizing a 2d context resets its state. -PASS Verify that setting the size of a 2d context to the same size it already had resets its state. -PASS Verify that resizing an OffscreenCanvas with a 2d context propagates the new size to its placeholder canvas asynchronously. -PASS Verify that resizing an OffscreenCanvas with a webgl context propagates the new size to its placeholder canvas asynchronously. -FAIL Verify that drawImage uses the size of the frame as the intinsic size of a placeholder canvas. assert_equals: expected 10 but got 1 -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/html/cross-origin-opener-policy/popup-same-site-unsafe-allow-outgoing.https-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/html/cross-origin-opener-policy/popup-same-site-unsafe-allow-outgoing.https-expected.txt deleted file mode 100644 index e69de29..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/html/cross-origin-opener-policy/popup-same-site-unsafe-allow-outgoing.https-expected.txt +++ /dev/null
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/html/cross-origin-opener-policy/reporting/access-reporting/opener-accessed_openee-coop-ro.https-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/html/cross-origin-opener-policy/reporting/access-reporting/opener-accessed_openee-coop-ro.https-expected.txt deleted file mode 100644 index 89c49c5..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/html/cross-origin-opener-policy/reporting/access-reporting/opener-accessed_openee-coop-ro.https-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL Openee (COOP-RO+COEP) accesses opener. Report to openee assert_not_equals: Report not received got disallowed value "timeout" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/html/cross-origin-opener/new_window_same_site_unsafe_allow_outgoing.tentative-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/html/cross-origin-opener/new_window_same_site_unsafe_allow_outgoing.tentative-expected.txt deleted file mode 100644 index 4c79453..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/html/cross-origin-opener/new_window_same_site_unsafe_allow_outgoing.tentative-expected.txt +++ /dev/null
@@ -1,21 +0,0 @@ -This is a testharness.js-based test. -PASS same-site_unsafe-allow-outgoing document opening popup to http://web-platform.test:8001 with COOP: "" -PASS same-site_unsafe-allow-outgoing document opening popup to http://web-platform.test:8001 with COOP: "jibberish" -FAIL same-site_unsafe-allow-outgoing document opening popup to http://web-platform.test:8001 with COOP: "same-site" assert_equals: expected "" but got "same-site_unsafe-allow-outgoing_to_SAME_ORIGIN_same-site" -PASS same-site_unsafe-allow-outgoing document opening popup to http://web-platform.test:8001 with COOP: "same-site unsafe-allow-outgoing" -FAIL same-site_unsafe-allow-outgoing document opening popup to http://web-platform.test:8001 with COOP: "same-origin" assert_equals: expected "" but got "same-site_unsafe-allow-outgoing_to_SAME_ORIGIN_same-origin" -FAIL same-site_unsafe-allow-outgoing document opening popup to http://web-platform.test:8001 with COOP: "same-origin unsafe-allow-outgoing" assert_equals: expected "" but got "same-site_unsafe-allow-outgoing_to_SAME_ORIGIN_same-origin-unsafe-allow-outgoing" -PASS same-site_unsafe-allow-outgoing document opening popup to http://www1.web-platform.test:8001 with COOP: "" -PASS same-site_unsafe-allow-outgoing document opening popup to http://www1.web-platform.test:8001 with COOP: "jibberish" -FAIL same-site_unsafe-allow-outgoing document opening popup to http://www1.web-platform.test:8001 with COOP: "same-site" assert_equals: expected "" but got "same-site_unsafe-allow-outgoing_to_SAME_SITE_same-site" -PASS same-site_unsafe-allow-outgoing document opening popup to http://www1.web-platform.test:8001 with COOP: "same-site unsafe-allow-outgoing" -FAIL same-site_unsafe-allow-outgoing document opening popup to http://www1.web-platform.test:8001 with COOP: "same-origin" assert_equals: expected "" but got "same-site_unsafe-allow-outgoing_to_SAME_SITE_same-origin" -FAIL same-site_unsafe-allow-outgoing document opening popup to http://www1.web-platform.test:8001 with COOP: "same-origin unsafe-allow-outgoing" assert_equals: expected "" but got "same-site_unsafe-allow-outgoing_to_SAME_SITE_same-origin-unsafe-allow-outgoing" -PASS same-site_unsafe-allow-outgoing document opening popup to http://not-web-platform.test:8001 with COOP: "" -PASS same-site_unsafe-allow-outgoing document opening popup to http://not-web-platform.test:8001 with COOP: "jibberish" -FAIL same-site_unsafe-allow-outgoing document opening popup to http://not-web-platform.test:8001 with COOP: "same-site" assert_equals: expected "" but got "same-site_unsafe-allow-outgoing_to_CROSS_ORIGIN_same-site" -FAIL same-site_unsafe-allow-outgoing document opening popup to http://not-web-platform.test:8001 with COOP: "same-site unsafe-allow-outgoing" assert_equals: expected "" but got "same-site_unsafe-allow-outgoing_to_CROSS_ORIGIN_same-site-unsafe-allow-outgoing" -FAIL same-site_unsafe-allow-outgoing document opening popup to http://not-web-platform.test:8001 with COOP: "same-origin" assert_equals: expected "" but got "same-site_unsafe-allow-outgoing_to_CROSS_ORIGIN_same-origin" -FAIL same-site_unsafe-allow-outgoing document opening popup to http://not-web-platform.test:8001 with COOP: "same-origin unsafe-allow-outgoing" assert_equals: expected "" but got "same-site_unsafe-allow-outgoing_to_CROSS_ORIGIN_same-origin-unsafe-allow-outgoing" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID-expected.txt deleted file mode 100644 index 1a8f460..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID-expected.txt +++ /dev/null
@@ -1,15 +0,0 @@ -This is a testharness.js-based test. -PASS appCodeName -PASS appName -PASS appVersion -PASS platform -PASS product -PASS productSub -PASS userAgent type -FAIL userAgent value assert_equals: userAgent should return the value sent in the User-Agent header expected "{\"error\": {\"message\": \"\", \"code\": 404}}" but got "user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/999.77.34.5 Safari/537.36\n" -PASS vendor -PASS vendorSub -PASS taintEnabled -PASS oscpu -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/shape-detection/idlharness.https.any.sharedworker-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/shape-detection/idlharness.https.any.sharedworker-expected.txt deleted file mode 100644 index 1bb5f36..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/shape-detection/idlharness.https.any.sharedworker-expected.txt +++ /dev/null
@@ -1,29 +0,0 @@ -This is a testharness.js-based test. -PASS idl_test setup -PASS idl_test validation -PASS FaceDetector interface: existence and properties of interface object -PASS FaceDetector interface object length -PASS FaceDetector interface object name -PASS FaceDetector interface: existence and properties of interface prototype object -PASS FaceDetector interface: existence and properties of interface prototype object's "constructor" property -PASS FaceDetector interface: existence and properties of interface prototype object's @@unscopables property -PASS FaceDetector interface: operation detect(ImageBitmapSource) -PASS FaceDetector must be primary interface of new FaceDetector() -PASS Stringification of new FaceDetector() -PASS FaceDetector interface: new FaceDetector() must inherit property "detect(ImageBitmapSource)" with the proper type -PASS FaceDetector interface: calling detect(ImageBitmapSource) on new FaceDetector() with too few arguments must throw TypeError -PASS BarcodeDetector interface: existence and properties of interface object -PASS BarcodeDetector interface object length -PASS BarcodeDetector interface object name -PASS BarcodeDetector interface: existence and properties of interface prototype object -PASS BarcodeDetector interface: existence and properties of interface prototype object's "constructor" property -PASS BarcodeDetector interface: existence and properties of interface prototype object's @@unscopables property -PASS BarcodeDetector interface: operation getSupportedFormats() -PASS BarcodeDetector interface: operation detect(ImageBitmapSource) -PASS BarcodeDetector must be primary interface of new BarcodeDetector() -PASS Stringification of new BarcodeDetector() -PASS BarcodeDetector interface: new BarcodeDetector() must inherit property "getSupportedFormats()" with the proper type -PASS BarcodeDetector interface: new BarcodeDetector() must inherit property "detect(ImageBitmapSource)" with the proper type -PASS BarcodeDetector interface: calling detect(ImageBitmapSource) on new BarcodeDetector() with too few arguments must throw TypeError -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/storage-access-api/requestStorageAccess.sub.window-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/storage-access-api/requestStorageAccess.sub.window-expected.txt deleted file mode 100644 index c3bc5f81..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/storage-access-api/requestStorageAccess.sub.window-expected.txt +++ /dev/null
@@ -1,14 +0,0 @@ -This is a testharness.js-based test. -PASS [top-level-context] document.requestStorageAccess() should be supported on the document interface -PASS [top-level-context] document.requestStorageAccess() should be rejected by default with no user gesture -PASS [top-level-context] document.requestStorageAccess() should be resolved when called properly with a user gesture -PASS [same-origin-frame] document.requestStorageAccess() should be supported on the document interface -FAIL [same-origin-frame] document.requestStorageAccess() should be rejected by default with no user gesture assert_unreached: Should have rejected: document.requestStorageAccess() call without user gesture Reached unreachable code -PASS [nested-same-origin-frame] document.requestStorageAccess() should be supported on the document interface -FAIL [nested-same-origin-frame] document.requestStorageAccess() should be rejected by default with no user gesture assert_unreached: Should have rejected: document.requestStorageAccess() call without user gesture Reached unreachable code -PASS [cross-origin-frame] document.requestStorageAccess() should be supported on the document interface -PASS [cross-origin-frame] document.requestStorageAccess() should be rejected by default with no user gesture -PASS [nested-cross-origin-frame] document.requestStorageAccess() should be supported on the document interface -PASS [nested-cross-origin-frame] document.requestStorageAccess() should be rejected by default with no user gesture -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/web-animations/interfaces/AnimationTimeline/document-timeline-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/web-animations/interfaces/AnimationTimeline/document-timeline-expected.txt deleted file mode 100644 index 90c3b59..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/web-animations/interfaces/AnimationTimeline/document-timeline-expected.txt +++ /dev/null
@@ -1,8 +0,0 @@ -This is a testharness.js-based test. -PASS document.timeline identity tests -FAIL document.timeline.currentTime value tests assert_equals: document.timeline.currentTime matches requestAnimationFrame time expected 244.7329999995418 but got 245.60933333123103 -PASS document.timeline.currentTime liveness tests -PASS iframe document.timeline.currentTime liveness tests -PASS document.timeline.currentTime time should be the same for all RAF callbacks in a frame -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/webaudio/the-audio-api/the-audiocontext-interface/processing-after-resume.https-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/webaudio/the-audio-api/the-audiocontext-interface/processing-after-resume.https-expected.txt deleted file mode 100644 index e73b9317..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/webaudio/the-audio-api/the-audiocontext-interface/processing-after-resume.https-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL Test consistency of processing after resume() assert_equals: construct time before resume expected 0.04934240362811791 but got 0 -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/webaudio/the-audio-api/the-mediastreamaudiosourcenode-interface/mediastreamaudiosourcenode-routing-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/webaudio/the-audio-api/the-mediastreamaudiosourcenode-interface/mediastreamaudiosourcenode-routing-expected.txt deleted file mode 100644 index ec9bfc61..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/webaudio/the-audio-api/the-mediastreamaudiosourcenode-interface/mediastreamaudiosourcenode-routing-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -PASS MediaStreamAudioSourceNode captures the right track. -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/xhr/abort-after-send.any-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/xhr/abort-after-send.any-expected.txt deleted file mode 100644 index 0f10f7e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/xhr/abort-after-send.any-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL XMLHttpRequest: abort() after send() assert_equals: expected "abort(0,0,false)" but got "upload.abort(0,0,false)" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/backgrounds/background-inherit-color-bug-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/backgrounds/background-inherit-color-bug-expected.png deleted file mode 100644 index f08fd93..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/backgrounds/background-inherit-color-bug-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/block/basic/015-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/block/basic/015-expected.png deleted file mode 100644 index 1d7f6d6..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/block/basic/015-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/block/float/shrink-to-avoid-float-complexity-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/block/float/shrink-to-avoid-float-complexity-expected.png deleted file mode 100644 index 043190f3..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/block/float/shrink-to-avoid-float-complexity-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/borders/dashed-1px-with-border-radius-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/borders/dashed-1px-with-border-radius-expected.png deleted file mode 100644 index 0d40e159..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/borders/dashed-1px-with-border-radius-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/css-generated-content/014-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/css-generated-content/014-expected.png deleted file mode 100644 index cddf8f5..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/css-generated-content/014-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/beforeSelectorOnCodeElement-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/beforeSelectorOnCodeElement-expected.png deleted file mode 100644 index c152387..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/beforeSelectorOnCodeElement-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/first-child-pseudo-class-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/first-child-pseudo-class-expected.png deleted file mode 100644 index 974146c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/first-child-pseudo-class-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/first-of-type-pseudo-class-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/first-of-type-pseudo-class-expected.png deleted file mode 100644 index 57a124e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/first-of-type-pseudo-class-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/hover-subselector-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/hover-subselector-expected.png deleted file mode 100644 index 0cf83ca..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/hover-subselector-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/last-child-pseudo-class-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/last-child-pseudo-class-expected.png deleted file mode 100644 index 3b4c589..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/last-child-pseudo-class-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/last-of-type-pseudo-class-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/last-of-type-pseudo-class-expected.png deleted file mode 100644 index e3ec7ef..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/last-of-type-pseudo-class-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/line-height-font-order-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/line-height-font-order-expected.png deleted file mode 100644 index 6dfa5dbe..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/line-height-font-order-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/only-child-pseudo-class-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/only-child-pseudo-class-expected.png deleted file mode 100644 index 466b8a80..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/only-child-pseudo-class-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/only-of-type-pseudo-class-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/only-of-type-pseudo-class-expected.png deleted file mode 100644 index 7d4e8ff..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/only-of-type-pseudo-class-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/outline-auto-empty-rects-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/outline-auto-empty-rects-expected.png deleted file mode 100644 index 229b348..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/outline-auto-empty-rects-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/universal-hover-quirk-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/universal-hover-quirk-expected.png deleted file mode 100644 index 61bdf4e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/universal-hover-quirk-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/word-space-extra-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/word-space-extra-expected.png deleted file mode 100644 index bac0f2d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/css/word-space-extra-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/deprecated-flexbox/023-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/deprecated-flexbox/023-expected.png deleted file mode 100644 index 05846ec1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/deprecated-flexbox/023-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/deprecated-flexbox/024-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/deprecated-flexbox/024-expected.png deleted file mode 100644 index 05846ec1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/deprecated-flexbox/024-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/dnd/link-dragging-draggable-div-with-dragged-link-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/dnd/link-dragging-draggable-div-with-dragged-link-expected.png deleted file mode 100644 index dacc534..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/dnd/link-dragging-draggable-div-with-dragged-link-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/dnd/link-dragging-non-draggable-link-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/dnd/link-dragging-non-draggable-link-expected.png deleted file mode 100644 index 5086aff..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/dnd/link-dragging-non-draggable-link-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/dynamic/008-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/dynamic/008-expected.png deleted file mode 100644 index c4f7c5d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/dynamic/008-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/dynamic/text-combine-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/dynamic/text-combine-expected.png deleted file mode 100644 index 7e8d810..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/dynamic/text-combine-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/events/context-no-deselect-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/events/context-no-deselect-expected.png deleted file mode 100644 index 8833efd..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/events/context-no-deselect-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png deleted file mode 100644 index 9de63d7..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png deleted file mode 100644 index 84cba9f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-expected.png deleted file mode 100644 index 84cba9f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png deleted file mode 100644 index 073504da..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png deleted file mode 100644 index d1dc5a2..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png deleted file mode 100644 index b145f305..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png deleted file mode 100644 index 2e2a1c3..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png deleted file mode 100644 index a726529..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png deleted file mode 100644 index 2847553d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png deleted file mode 100644 index c8ab8a4..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/date-picker-appearance-coarse-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/date-picker-appearance-coarse-expected.png deleted file mode 100644 index 84cba9f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/date-picker-appearance-coarse-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png deleted file mode 100644 index 9c410009..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/date-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/date-picker-appearance-rtl-expected.png deleted file mode 100644 index 9de63d7..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/date-picker-appearance-rtl-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/date-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/date-picker-appearance-step-expected.png deleted file mode 100644 index 1108249..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/date-picker-appearance-step-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/date-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/date-picker-appearance-zoom150-expected.png deleted file mode 100644 index 8c81ed34..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/date-picker-appearance-zoom150-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/date-picker-month-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/date-picker-month-appearance-expected.png deleted file mode 100644 index 8212f3fd..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/date-picker-month-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/date-picker-month-selection-changed-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/date-picker-month-selection-changed-appearance-expected.png deleted file mode 100644 index 4f55e515..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/date-picker-month-selection-changed-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/month-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/month-picker-appearance-expected.png deleted file mode 100644 index 02aa44d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/month-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/month-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/month-picker-appearance-step-expected.png deleted file mode 100644 index 22257063..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/month-picker-appearance-step-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/week-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/week-picker-appearance-expected.png deleted file mode 100644 index 6392593..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/week-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/week-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/week-picker-appearance-step-expected.png deleted file mode 100644 index 9ed7983..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/week-picker-appearance-step-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/autofill/basic-autofill-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/autofill/basic-autofill-expected.png deleted file mode 100644 index b7b919e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/autofill/basic-autofill-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/calendar-picker/date-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/calendar-picker/date-picker-appearance-expected.png deleted file mode 100644 index 84cba9f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/calendar-picker/date-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/calendar-picker/date-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/calendar-picker/date-picker-appearance-highlight-expected.png deleted file mode 100644 index 764e6dc5..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/calendar-picker/date-picker-appearance-highlight-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/calendar-picker/date-picker-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/calendar-picker/date-picker-disabled-values-expected.png deleted file mode 100644 index fb069f39..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/calendar-picker/date-picker-disabled-values-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png deleted file mode 100644 index 27c4ab0..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/date/date-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/date/date-appearance-basic-expected.png deleted file mode 100644 index 5598c63f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/date/date-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png deleted file mode 100644 index 78e6bba..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/datetimelocal/datetimelocal-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/datetimelocal/datetimelocal-appearance-basic-expected.png deleted file mode 100644 index 5f1a13a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/datetimelocal/datetimelocal-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/meter/meter-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/meter/meter-appearance-basic-expected.png deleted file mode 100644 index b58d39c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/meter/meter-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png deleted file mode 100644 index 585c580..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/month-picker/month-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/month-picker/month-picker-appearance-expected.png deleted file mode 100644 index 8e9e496..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/month-picker/month-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/month-picker/month-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/month-picker/month-picker-appearance-highlight-expected.png deleted file mode 100644 index 0f270c1ba..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/month-picker/month-picker-appearance-highlight-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/month/month-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/month/month-appearance-basic-expected.png deleted file mode 100644 index 167864b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/month/month-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/radio/radio-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/radio/radio-appearance-basic-expected.png deleted file mode 100644 index e8b5811..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/radio/radio-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/select/select-multiple-hover-focused-unselected-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/select/select-multiple-hover-focused-unselected-expected.png deleted file mode 100644 index 2c95c70..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/select/select-multiple-hover-focused-unselected-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/select/select-multiple-hover-unselected-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/select/select-multiple-hover-unselected-expected.png deleted file mode 100644 index ca3ec0d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/select/select-multiple-hover-unselected-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/select/select-popup-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/select/select-popup-appearance-basic-expected.png deleted file mode 100644 index 982a9482..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/select/select-popup-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png deleted file mode 100644 index a27b838..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png deleted file mode 100644 index c07aec3..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png deleted file mode 100644 index 127cfd9..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png deleted file mode 100644 index a378379..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png deleted file mode 100644 index bb3df659..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/text/input-basic-box-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/text/input-basic-box-appearance-basic-expected.png deleted file mode 100644 index b3ac421e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/text/input-basic-box-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/time-picker/time-picker-appearance-after-closing-popup-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/time-picker/time-picker-appearance-after-closing-popup-expected.png deleted file mode 100644 index 0705bf9..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/time-picker/time-picker-appearance-after-closing-popup-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/time-picker/time-picker-appearance-expected.png deleted file mode 100644 index 81ce662..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/time-picker/time-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/time/time-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/time/time-appearance-basic-expected.png deleted file mode 100644 index 876ecc0..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/time/time-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/week-picker/week-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/week-picker/week-picker-appearance-highlight-expected.png deleted file mode 100644 index 48aee36..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/week-picker/week-picker-appearance-highlight-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/week/week-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/week/week-appearance-basic-expected.png deleted file mode 100644 index 009b41b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/color-scheme/week/week-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/date/date-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/date/date-appearance-basic-expected.png deleted file mode 100644 index 4b6068c14..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/date/date-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/date/date-appearance-l10n-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/date/date-appearance-l10n-expected.png deleted file mode 100644 index a71a0e5..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/date/date-appearance-l10n-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/date/date-appearance-pseudo-elements-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/date/date-appearance-pseudo-elements-expected.png deleted file mode 100644 index f11bed8..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/date/date-appearance-pseudo-elements-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png deleted file mode 100644 index 635b7a1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.png deleted file mode 100644 index d9ec006..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/datetimelocal/datetimelocal-picker-step2-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/datetimelocal/datetimelocal-picker-step2-expected.png deleted file mode 100644 index f8f171d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/datetimelocal/datetimelocal-picker-step2-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/focus-rect/focus-ring-outline-offset-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/focus-rect/focus-ring-outline-offset-expected.png deleted file mode 100644 index dca3467..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/focus-rect/focus-ring-outline-offset-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/focus-rect/radio-focus-ring-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/focus-rect/radio-focus-ring-expected.png deleted file mode 100644 index 0945d084..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/focus-rect/radio-focus-ring-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/focus-rect/textarea-scrolled-focus-ring-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/focus-rect/textarea-scrolled-focus-ring-expected.png deleted file mode 100644 index dcbc4806..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/focus-rect/textarea-scrolled-focus-ring-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/focus-rect/textarea-with-scrollbar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/focus-rect/textarea-with-scrollbar-expected.png deleted file mode 100644 index d477a70..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/focus-rect/textarea-with-scrollbar-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/form-element-geometry-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/form-element-geometry-expected.png deleted file mode 100644 index 88a63803..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/form-element-geometry-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/month/month-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/month/month-appearance-basic-expected.png deleted file mode 100644 index 23f06768..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/month/month-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/month/month-appearance-l10n-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/month/month-appearance-l10n-expected.png deleted file mode 100644 index 0d5b378..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/month/month-appearance-l10n-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/month/month-appearance-pseudo-elements-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/month/month-appearance-pseudo-elements-expected.png deleted file mode 100644 index 0115b71..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/month/month-appearance-pseudo-elements-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/month/month-picker-appearance-disabled-today-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/month/month-picker-appearance-disabled-today-expected.png deleted file mode 100644 index 8cfd1b06..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/month/month-picker-appearance-disabled-today-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/month/month-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/month/month-picker-appearance-rtl-expected.png deleted file mode 100644 index a1e9837..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/month/month-picker-appearance-rtl-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/month/month-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/month/month-picker-appearance-step-expected.png deleted file mode 100644 index 35f5be9a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/month/month-picker-appearance-step-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/month/month-picker-appearance-value-not-in-interval-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/month/month-picker-appearance-value-not-in-interval-expected.png deleted file mode 100644 index 1089bbdc..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/month/month-picker-appearance-value-not-in-interval-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/month/month-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/month/month-picker-appearance-zoom150-expected.png deleted file mode 100644 index 3bde6d1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/month/month-picker-appearance-zoom150-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/placeholder-position-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/placeholder-position-expected.png deleted file mode 100644 index bbf5421..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/placeholder-position-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/select/listbox-appearance-separator-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/select/listbox-appearance-separator-expected.png deleted file mode 100644 index 454411a9..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/select/listbox-appearance-separator-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/select/menulist-option-wrap-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/select/menulist-option-wrap-expected.png deleted file mode 100644 index a649fc2..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/select/menulist-option-wrap-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/date-suggestion-picker-appearance-expected.png deleted file mode 100644 index 602d10a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/date-suggestion-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.png deleted file mode 100644 index 0ab235b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png deleted file mode 100644 index 1c12fb6..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/date-suggestion-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/date-suggestion-picker-appearance-zoom125-expected.png deleted file mode 100644 index 953296b8..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/date-suggestion-picker-appearance-zoom125-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/date-suggestion-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/date-suggestion-picker-appearance-zoom200-expected.png deleted file mode 100644 index 6c8f9ae..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/date-suggestion-picker-appearance-zoom200-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png deleted file mode 100644 index 87b97341..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-locale-hebrew-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-locale-hebrew-expected.png deleted file mode 100644 index 9b7b4c0..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-locale-hebrew-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png deleted file mode 100644 index 6513287..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png deleted file mode 100644 index 9378d22..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png deleted file mode 100644 index c2b28698..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png deleted file mode 100644 index 6cb0b90..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png deleted file mode 100644 index f5b6507e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/time-suggestion-picker-appearance-locale-hebrew-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/time-suggestion-picker-appearance-locale-hebrew-expected.png deleted file mode 100644 index 861e15c7..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/time-suggestion-picker-appearance-locale-hebrew-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png deleted file mode 100644 index 5beee017..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png deleted file mode 100644 index 06458394..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/week-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/week-suggestion-picker-appearance-expected.png deleted file mode 100644 index b522a40..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/week-suggestion-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/week-suggestion-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/week-suggestion-picker-appearance-rtl-expected.png deleted file mode 100644 index 407eec6..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/week-suggestion-picker-appearance-rtl-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar-expected.png deleted file mode 100644 index fe39c292..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/targeted-frame-submission-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/targeted-frame-submission-expected.png deleted file mode 100644 index c62f5e9e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/targeted-frame-submission-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/text/input-text-word-wrap-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/text/input-text-word-wrap-expected.png deleted file mode 100644 index 0d245cf..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/text/input-text-word-wrap-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/text/text-font-height-mismatch-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/text/text-font-height-mismatch-expected.png deleted file mode 100644 index 5defccb..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/text/text-font-height-mismatch-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/basic-textareas-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/basic-textareas-expected.png deleted file mode 100644 index adb016b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/basic-textareas-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/basic-textareas-quirks-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/basic-textareas-quirks-expected.png deleted file mode 100644 index 1368248..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/basic-textareas-quirks-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/linebox-overflow-in-textarea-padding-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/linebox-overflow-in-textarea-padding-expected.png deleted file mode 100644 index c0023d4c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/linebox-overflow-in-textarea-padding-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/placeholder-appearance-textarea-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/placeholder-appearance-textarea-expected.png deleted file mode 100644 index 97dd6593..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/placeholder-appearance-textarea-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/reset-textarea-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/reset-textarea-expected.png deleted file mode 100644 index 6d88922..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/reset-textarea-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-align-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-align-expected.png deleted file mode 100644 index ade689f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-align-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-appearance-basic-expected.png deleted file mode 100644 index 33dfac4e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-placeholder-paint-order-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-placeholder-paint-order-expected.png deleted file mode 100644 index ed3a8306..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-placeholder-paint-order-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-placeholder-visibility-1-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-placeholder-visibility-1-expected.png deleted file mode 100644 index 3d3adfbd1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-placeholder-visibility-1-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-placeholder-visibility-2-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-placeholder-visibility-2-expected.png deleted file mode 100644 index 1ab4879..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-placeholder-visibility-2-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-scroll-height-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-scroll-height-expected.png deleted file mode 100644 index 933f36f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-scroll-height-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-scrollbar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-scrollbar-expected.png deleted file mode 100644 index 8262ca82..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-scrollbar-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-scrolled-focus-ring-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-scrolled-focus-ring-expected.png deleted file mode 100644 index 3283e91..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-scrolled-focus-ring-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-scrolled-mask-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-scrolled-mask-expected.png deleted file mode 100644 index 6904f7b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-scrolled-mask-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-scrolled-type-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-scrolled-type-expected.png deleted file mode 100644 index af7909f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-scrolled-type-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-setinnerhtml-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-setinnerhtml-expected.png deleted file mode 100644 index a00b361..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/textarea/textarea-setinnerhtml-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-appearance-basic-expected.png deleted file mode 100644 index 60f9210..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-appearance-pseudo-elements-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-appearance-pseudo-elements-expected.png deleted file mode 100644 index 191c16c1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-appearance-pseudo-elements-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-picker-appearance-12-AM-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-picker-appearance-12-AM-expected.png deleted file mode 100644 index fef2e95..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-picker-appearance-12-AM-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-picker-appearance-12-PM-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-picker-appearance-12-PM-expected.png deleted file mode 100644 index 5c2fed62..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-picker-appearance-12-PM-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-picker-appearance-24-hour-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-picker-appearance-24-hour-expected.png deleted file mode 100644 index bec935a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-picker-appearance-24-hour-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-picker-appearance-arrowdown-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-picker-appearance-arrowdown-expected.png deleted file mode 100644 index 3972dc2..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-picker-appearance-arrowdown-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-picker-appearance-arrowup-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-picker-appearance-arrowup-expected.png deleted file mode 100644 index 99d632f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-picker-appearance-arrowup-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-picker-appearance-ko-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-picker-appearance-ko-expected.png deleted file mode 100644 index ef3ca41e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-picker-appearance-ko-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-picker-appearance-milliseconds-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-picker-appearance-milliseconds-expected.png deleted file mode 100644 index e046119..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-picker-appearance-milliseconds-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-picker-appearance-seconds-pm-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-picker-appearance-seconds-pm-expected.png deleted file mode 100644 index a55a4f19..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/time/time-picker-appearance-seconds-pm-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/validation-bubble-appearance-edge-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/validation-bubble-appearance-edge-expected.png deleted file mode 100644 index e0d60ba..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/validation-bubble-appearance-edge-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/validation-bubble-appearance-escape-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/validation-bubble-appearance-escape-expected.png deleted file mode 100644 index 2f3aa4f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/validation-bubble-appearance-escape-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/validation-bubble-appearance-iframe-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/validation-bubble-appearance-iframe-expected.png deleted file mode 100644 index 3c0ce1a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/validation-bubble-appearance-iframe-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/validation-bubble-appearance-rtl-ui-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/validation-bubble-appearance-rtl-ui-expected.png deleted file mode 100644 index 0e2da30..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/validation-bubble-appearance-rtl-ui-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/validation-bubble-appearance-wrap-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/validation-bubble-appearance-wrap-expected.png deleted file mode 100644 index bafb964..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/validation-bubble-appearance-wrap-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/validation-bubble-device-emulation-change-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/validation-bubble-device-emulation-change-expected.png deleted file mode 100644 index ef915bc..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/validation-bubble-device-emulation-change-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/validation-bubble-device-emulation-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/validation-bubble-device-emulation-expected.png deleted file mode 100644 index ef915bc..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/validation-bubble-device-emulation-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/week/week-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/week/week-appearance-basic-expected.png deleted file mode 100644 index 21b171a69..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/week/week-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/week/week-appearance-pseudo-elements-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/week/week-appearance-pseudo-elements-expected.png deleted file mode 100644 index a3e5818..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/week/week-appearance-pseudo-elements-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/frames/iframe-scrolling-attribute-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/frames/iframe-scrolling-attribute-expected.png deleted file mode 100644 index ce34fd3..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/frames/iframe-scrolling-attribute-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/inline/justify-emphasis-inline-box-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/inline/justify-emphasis-inline-box-expected.png deleted file mode 100644 index a2ceede..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/inline/justify-emphasis-inline-box-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/inline/vertical-align-with-fallback-fonts-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/inline/vertical-align-with-fallback-fonts-expected.png deleted file mode 100644 index 2ed05a5b6..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/inline/vertical-align-with-fallback-fonts-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/invalid/019-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/invalid/019-expected.png deleted file mode 100644 index f60a171..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/invalid/019-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/lists/003-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/lists/003-expected.png deleted file mode 100644 index ccaedb9..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/lists/003-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/lists/003-vertical-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/lists/003-vertical-expected.png deleted file mode 100644 index cc86182..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/lists/003-vertical-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/loader/text-document-wrapping-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/loader/text-document-wrapping-expected.png deleted file mode 100644 index 22d7eae..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/loader/text-document-wrapping-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/overflow/005-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/overflow/005-expected.png deleted file mode 100644 index efcaa2b9..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/overflow/005-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/overflow/007-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/overflow/007-expected.png deleted file mode 100644 index 24c7053..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/overflow/007-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/overflow/clip-rects-fixed-ancestor-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/overflow/clip-rects-fixed-ancestor-expected.png deleted file mode 100644 index ed500db..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/overflow/clip-rects-fixed-ancestor-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/overflow/overflow-auto-table-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/overflow/overflow-auto-table-expected.png deleted file mode 100644 index d74d6b43..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/overflow/overflow-auto-table-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/overflow/overflow-height-float-not-removed-crash3-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/fast/overflow/overflow-height-float-not-removed-crash3-expected.txt deleted file mode 100644 index bfe6f4b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/overflow/overflow-height-float-not-removed-crash3-expected.txt +++ /dev/null
@@ -1,3 +0,0 @@ -Test passes if it does not crash. - sometextsometextsometextsometextsometextsometext -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/overflow/overflow-x-y-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/overflow/overflow-x-y-expected.png deleted file mode 100644 index 51caeb92..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/overflow/overflow-x-y-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/parser/001-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/parser/001-expected.png deleted file mode 100644 index 8aae02db..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/parser/001-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/parser/entity-comment-in-textarea-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/parser/entity-comment-in-textarea-expected.png deleted file mode 100644 index f38e49e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/parser/entity-comment-in-textarea-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/parser/open-comment-in-textarea-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/parser/open-comment-in-textarea-expected.png deleted file mode 100644 index e2b0696b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/parser/open-comment-in-textarea-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/ruby/base-shorter-than-text-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/ruby/base-shorter-than-text-expected.png deleted file mode 100644 index df1cf8b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/ruby/base-shorter-than-text-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/ruby/nested-ruby-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/ruby/nested-ruby-expected.png deleted file mode 100644 index 840539a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/ruby/nested-ruby-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/ruby/ruby-position-modern-japanese-fonts-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/ruby/ruby-position-modern-japanese-fonts-expected.png deleted file mode 100644 index 828feb1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/ruby/ruby-position-modern-japanese-fonts-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/018-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/018-expected.png deleted file mode 100644 index 3c48e0c2..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/018-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-cell-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-cell-collapsed-border-expected.png deleted file mode 100644 index d6e1ef0..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-cell-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-cell-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-cell-expected.png deleted file mode 100644 index a04c4e2..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-cell-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-collapsed-border-expected.png deleted file mode 100644 index 9fdd454..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-column-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-column-collapsed-border-expected.png deleted file mode 100644 index 5b52a48a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-column-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-column-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-column-expected.png deleted file mode 100644 index c5049dd..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-column-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-column-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-column-group-collapsed-border-expected.png deleted file mode 100644 index e448481..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-column-group-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-column-group-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-column-group-expected.png deleted file mode 100644 index dc088bc..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-column-group-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-expected.png deleted file mode 100644 index a64124a9..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-quirks-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-quirks-collapsed-border-expected.png deleted file mode 100644 index ca9286b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-quirks-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-quirks-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-quirks-expected.png deleted file mode 100644 index a4db924..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-quirks-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-row-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-row-collapsed-border-expected.png deleted file mode 100644 index cd019a7..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-row-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-row-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-row-expected.png deleted file mode 100644 index 2c5c47ca..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-row-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-row-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-row-group-collapsed-border-expected.png deleted file mode 100644 index 3a414a5..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-row-group-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-row-group-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-row-group-expected.png deleted file mode 100644 index a6699e9..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_border-table-row-group-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_layers-hide-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_layers-hide-collapsed-border-expected.png deleted file mode 100644 index 9386100..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_layers-hide-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_layers-hide-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_layers-hide-expected.png deleted file mode 100644 index 8ffac1f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_layers-hide-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-cell-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-cell-collapsed-border-expected.png deleted file mode 100644 index 0ee5390..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-cell-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-cell-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-cell-expected.png deleted file mode 100644 index c640b2d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-cell-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-collapsed-border-expected.png deleted file mode 100644 index 578726a2..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-column-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-column-collapsed-border-expected.png deleted file mode 100644 index 9a9f3d8..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-column-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-column-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-column-expected.png deleted file mode 100644 index e5a1296..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-column-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-column-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-column-group-collapsed-border-expected.png deleted file mode 100644 index 68d2a5cf..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-column-group-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-column-group-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-column-group-expected.png deleted file mode 100644 index 17f2ab6..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-column-group-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-expected.png deleted file mode 100644 index 965dff1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-row-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-row-collapsed-border-expected.png deleted file mode 100644 index 0014ab4..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-row-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-row-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-row-expected.png deleted file mode 100644 index 68f38d1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-row-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-row-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-row-group-collapsed-border-expected.png deleted file mode 100644 index 0d2de07..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-row-group-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-row-group-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-row-group-expected.png deleted file mode 100644 index 74fae93..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_position-table-row-group-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-cell-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-cell-collapsed-border-expected.png deleted file mode 100644 index cfdea9dd..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-cell-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-cell-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-cell-expected.png deleted file mode 100644 index 5b4cdf0..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-cell-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-collapsed-border-expected.png deleted file mode 100644 index f4c5c59f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-column-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-column-collapsed-border-expected.png deleted file mode 100644 index 9d15f15..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-column-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-column-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-column-expected.png deleted file mode 100644 index 6a02022..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-column-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png deleted file mode 100644 index 3f220f24..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-column-group-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-column-group-expected.png deleted file mode 100644 index 6fae948..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-column-group-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-expected.png deleted file mode 100644 index feecaee..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-row-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-row-collapsed-border-expected.png deleted file mode 100644 index fcb0aa47e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-row-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-row-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-row-expected.png deleted file mode 100644 index f21b6a9..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-row-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png deleted file mode 100644 index 2c18d7a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-row-group-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-row-group-expected.png deleted file mode 100644 index 961f6af..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/backgr_simple-table-row-group-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/border-collapsing/004-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/border-collapsing/004-expected.png deleted file mode 100644 index e2b4e9c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/border-collapsing/004-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/invisible-cell-background-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/invisible-cell-background-expected.png deleted file mode 100644 index 404d9aa..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/invisible-cell-background-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/prepend-in-anonymous-table-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/prepend-in-anonymous-table-expected.png deleted file mode 100644 index 1e287802..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/table/prepend-in-anonymous-table-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/writing-mode/border-vertical-lr-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/writing-mode/border-vertical-lr-expected.png deleted file mode 100644 index cccde46..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/writing-mode/border-vertical-lr-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/writing-mode/japanese-lr-text-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/writing-mode/japanese-lr-text-expected.png deleted file mode 100644 index b0d430cf..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/writing-mode/japanese-lr-text-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/writing-mode/japanese-rl-text-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/writing-mode/japanese-rl-text-expected.png deleted file mode 100644 index a78696c6..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/writing-mode/japanese-rl-text-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/writing-mode/japanese-ruby-vertical-lr-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/writing-mode/japanese-ruby-vertical-lr-expected.png deleted file mode 100644 index 4a90a01..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/writing-mode/japanese-ruby-vertical-lr-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/writing-mode/japanese-ruby-vertical-rl-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/writing-mode/japanese-ruby-vertical-rl-expected.png deleted file mode 100644 index 716c11c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/writing-mode/japanese-ruby-vertical-rl-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/writing-mode/vertical-baseline-alignment-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/writing-mode/vertical-baseline-alignment-expected.png deleted file mode 100644 index 52648319..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/writing-mode/vertical-baseline-alignment-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fonts/monospace-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fonts/monospace-expected.png deleted file mode 100644 index 5904e4a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/fonts/monospace-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/html/details_summary/details-replace-summary-child-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/html/details_summary/details-replace-summary-child-expected.png deleted file mode 100644 index 9059339e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/html/details_summary/details-replace-summary-child-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/html/details_summary/details-replace-text-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/html/details_summary/details-replace-text-expected.png deleted file mode 100644 index dc6a7b25..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/html/details_summary/details-replace-text-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/html/grouping_content/listing-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/html/grouping_content/listing-expected.png deleted file mode 100644 index 5f18e69c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/html/grouping_content/listing-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/http/tests/html/validation-bubble-oopif-clip-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/http/tests/html/validation-bubble-oopif-clip-expected.png deleted file mode 100644 index d1dd87b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/http/tests/html/validation-bubble-oopif-clip-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/http/tests/security/cookies/basic-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/http/tests/security/cookies/basic-expected.txt deleted file mode 100644 index 2de19173..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/http/tests/security/cookies/basic-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -CONSOLE WARNING: [Deprecation] A cookie associated with a cross-site resource at http://localhost:8000/security/cookies/resources/set-a-cookie.html was set without the `SameSite` attribute. Starting in M77, Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592. -Running test. -secret=PASS -Test complete.
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/http/tests/webfont/popup-menu-load-webfont-after-open-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/http/tests/webfont/popup-menu-load-webfont-after-open-expected.png deleted file mode 100644 index c77936b6..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/http/tests/webfont/popup-menu-load-webfont-after-open-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/images/color-profile-munsell-adobe-to-srgb-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/images/color-profile-munsell-adobe-to-srgb-expected.png deleted file mode 100644 index a2192e8..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/images/color-profile-munsell-adobe-to-srgb-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/images/color-profile-munsell-adobe-to-srgb-webgl-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/images/color-profile-munsell-adobe-to-srgb-webgl-expected.png deleted file mode 100644 index 883181ee..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/images/color-profile-munsell-adobe-to-srgb-webgl-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/images/color-profile-munsell-srgb-to-srgb-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/images/color-profile-munsell-srgb-to-srgb-expected.png deleted file mode 100644 index 1f00131..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/images/color-profile-munsell-srgb-to-srgb-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/images/color-profile-svg-fill-text-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/images/color-profile-svg-fill-text-expected.png deleted file mode 100644 index 994d07c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/images/color-profile-svg-fill-text-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/images/jpeg-yuv-image-decoding-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/images/jpeg-yuv-image-decoding-expected.png deleted file mode 100644 index 20f3f44..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/images/jpeg-yuv-image-decoding-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/inspector-protocol/layout-fonts/generic-system-ui-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/inspector-protocol/layout-fonts/generic-system-ui-expected.txt deleted file mode 100644 index 71c83da..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/inspector-protocol/layout-fonts/generic-system-ui-expected.txt +++ /dev/null
@@ -1,9 +0,0 @@ -This text should use the system font. -#system-ui: -".Helvetica Neue DeskInterface" : 37 - -This text should use the system font. -#system-ui-20pt: -".Helvetica Neue DeskInterface" : 37 - -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/inspector-protocol/layout-fonts/lang-fallback-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/inspector-protocol/layout-fonts/lang-fallback-expected.txt deleted file mode 100644 index 50eb6758..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/inspector-protocol/layout-fonts/lang-fallback-expected.txt +++ /dev/null
@@ -1,249 +0,0 @@ -تح -#ar: -"Geeza Pro" : 2 - -ՀՁ -#hy-am: -"Mshtakan" : 2 - -সম -#bn: -"Bangla MN" : 2 - -⡰⡱ -#en-us-brai: -"Apple Braille" : 2 - -ᨀᨁ -#bug: -"Times" : 2 - -ᐐᐑ -#cans: -"Euphemia UCAS" : 2 - -𐊠𐊡 -#xcr: -"Geneva" : 2 - -ᎡᎢ -#chr: -"Plantagenet Cherokee" : 2 - -ⲁⲂ -#copt: -"Times" : 2 - -𒀀𒀌 -#akk: -"Times" : 2 - -𐠀𐠁 -#ecy: -"Times" : 2 - -АБВ -#ru: -"Times" : 3 - -𐐀𐐁 -#en: -"Baskerville" : 2 - -अआ -#hi: -"ITF Devanagari" : 2 - -ሁሂ -#am: -"Kefa" : 2 - -ႠႡ -#ka: -"Arial Unicode MS" : 2 - -ΑΒ -#el: -"Times" : 2 - -ਡਢ -#pa: -"Gurmukhi MN" : 2 - -我 -#zh-CN: -"Songti SC" : 1 - -我 -#zh-HK: -"Songti SC" : 1 - -我 -#zh-Hans: -"Songti SC" : 1 - -我 -#zh-Hant: -"Songti SC" : 1 - -我 -#ja: -"Songti SC" : 1 - -ᄀᄁ -#ko: -"AppleMyungjo" : 2 - -בג -#he: -"Lucida Grande" : 2 - -កខ -#km: -"Khmer MN" : 2 - -𐡁𐡂 -#arc: -"Times" : 2 - -𐭡𐭢 -#pal: -"Times" : 2 - -𐭁𐭂 -#xpr: -"Times" : 2 - -ꦑꦒ -#jv: -"Times" : 2 - -ಡಢ -#kn: -"Kannada MN" : 2 - -𐨐𐨑 -#sa: -"Times" : 2 - -໐໑ -#lo: -"Lao MN" : 2 - -ꓐꓑ -#lis: -"Geneva" : 2 - -𐊁𐊂 -#xlc: -"Geneva" : 2 - -𐤡𐤢 -#xld: -"Times" : 2 - -ഡഢ -#ml: -"Malayalam MN" : 2 - -𐦡𐦢 -#script_meroitic: -"Times" : 2 - -ကခ -#my: -"Myanmar MN" : 2 - -ᦁᦂ -#script_new_tai_lue: -"Times" : 2 - -߁߂ -#nko: -"Times" : 2 - -ᚁ -#script_ogham: -"Geneva" : 2 - -᱑᱒ -#script_ol_chiki: -"Times" : 2 - -𐌁𐌂 -#script_old_italic: -"Geneva" : 2 - -𐎡𐎢 -#peo: -"Times" : 2 - -𐩡𐩢 -#script_old_south_arabian: -"Times" : 2 - -ଡଢ -#or: -"Oriya MN" : 2 - -ꡁꡂ -#script_phags_pa: -"Times" : 2 - -ᚠᚡ -#script_runic: -"Geneva" : 2 - -𐑑𐑒 -#script_shavian: -"Geneva" : 2 - -එඒ -#si: -"Sinhala MN" : 2 - -𑃑𑃒 -#script_sora_sompeng: -"Times" : 2 - -ܑܒ -#syr: -"Times" : 2 - -ᥑᥒ -#script_tai_le: -"Times" : 2 - -றல -#ta: -"Tamil Sangam MN" : 2 - -డఢ -#te: -"Telugu MN" : 2 - -ށނ -#script_thaana: -"Times" : 2 - -กข -#th: -"Thonburi" : 2 - -༁༂ -#bo: -"Kokonor" : 2 - -ⴱⴲ -#script_tifinagh: -"Times" : 2 - -ꔁꔂ -#vai: -"Times" : 2 - -ꀀꀁ -#yi: -"Songti SC" : 2 - -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/inspector-protocol/layout-fonts/languages-emoji-rare-glyphs-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/inspector-protocol/layout-fonts/languages-emoji-rare-glyphs-expected.txt deleted file mode 100644 index bfd0da7..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/inspector-protocol/layout-fonts/languages-emoji-rare-glyphs-expected.txt +++ /dev/null
@@ -1,53 +0,0 @@ -百家姓 趙錢孫李 周吳鄭王 馮陳褚衛 蔣沈韓楊 朱秦尤許 何呂施張 孔曹嚴華 金魏陶薑 戚謝鄒喻 柏水竇章 雲蘇潘葛 奚範彭郎 魯韋昌馬 苗鳳花方 俞任袁柳 酆鮑史唐 費廉岑薛 雷賀倪湯 滕殷羅畢 郝鄔安常 樂於時傅 皮卞齊康 伍餘元蔔 顧孟平黃 和穆蕭尹 姚邵堪汪 祁毛禹狄 米貝明臧 計伏成戴 談宋茅龐 熊紀舒屈 項祝董梁 杜阮藍閔 席季麻強 賈路婁危 江童顏郭 梅盛林刁 鍾徐邱駱 高夏蔡田 樊胡淩霍 虞萬支柯 昝管盧莫 經房裘繆 幹解應宗 丁宣賁鄧 鬱單杭洪 包諸左石 崔吉鈕龔 程嵇邢滑 裴陸榮翁 荀羊於惠 甄曲家封 芮羿儲靳 汲邴糜松 井段富巫 烏焦巴弓 牧隗山穀 車侯宓蓬 全郗班仰 秋仲伊宮 寧仇欒暴 甘鈄厲戎 祖武符劉 景詹束龍 葉幸司韶 郜黎薊薄 印宿白懷 蒲台從鄂 索鹹籍賴 卓藺屠蒙 池喬陰鬱 胥能蒼雙 聞莘黨翟 譚貢勞逄 姬申扶堵 冉宰酈雍 卻璩桑桂 濮牛壽通 邊扈燕冀 郟浦尚農 溫別莊晏 柴瞿閻充 慕連茹習 宦艾魚容 向古易慎 戈廖庚終 暨居衡步 都耿滿弘 匡國文寇 廣祿闕東 毆殳沃利 蔚越夔隆 師鞏厙聶 晁勾敖融 冷訾辛闞 那簡饒空 曾毋沙乜 養鞠須豐 巢關蒯相 查後荊紅 遊竺權逯 蓋益桓公 萬俟司馬 上官歐陽 夏侯諸葛 聞人東方 赫連皇甫 尉遲公羊 澹台公冶 宗政濮陽 淳於單於 太叔申屠 公孫仲孫 軒轅令狐 鐘離宇文 長孫慕容 鮮於閭丘 司徒司空 亓官司寇 仉督子車 顓孫端木 巫馬公西 漆雕樂正 壤駟公良 拓拔夾穀 宰父穀粱 晉楚閆法 汝鄢塗欽 段幹百里 東郭南門 呼延歸海 羊舌微生 嶽帥緱亢 況後有琴 梁丘左丘 東門西門 商牟佘佴 伯賞南宮 墨哈譙笪 年愛陽佟 -#hundred_chinese_surnames: -"Songti SC" : 563, -"Times" : 140 - -いろはにほへと ちりぬるを わかよたれそ つねならむ うゐのおくやま けふこえて あさき ゆめみし ゑひもせす(ん)色は匂へど 散りぬるを 我が世誰ぞ 常ならむ 有為の奥山 今日越えて 浅き夢見じ 酔ひもせず(ん) -#japanese_iroha: -"Songti SC" : 92, -"Times" : 15 - -키스의 고유조건은 입술끼리 만나야 하고 특별한 기술은 필요치 않다. -#korean_pangram: -"AppleMyungjo" : 28, -"Times" : 9 - -ऋषियों को सताने वाले दुष्ट राक्षसों के राजा रावण का सर्वनाश करने वाले विष्णुवतार भगवान श्रीराम, अयोध्या के महाराज दशरथ के बड़े सपुत्र थे। -#hindi_pangram: -"ITF Devanagari" : 99, -"Times" : 24 - -نصٌّ حكيمٌ لهُ سِرٌّ قاطِعٌ وَذُو شَأنٍ عَظيمٍ مكتوبٌ على ثوبٍ أخضرَ ومُغلفٌ بجلدٍ أزرق -#arabic_pangram: -"Geeza Pro" : 71, -"Times" : 14 - -🌱🌲🌳🌴🌵🌷🌸🌹🌺🌻🌼💐🌾🌿🍀🍁🍂🍃🍄🌰☺️😀👪 -#emoji: -"Apple Color Emoji" : 24 - -𓀀𓀁𓀂𓀃𓀄𓀅𓀆𓀇𓀈𓀉𓀊𓀋𓀌𓀍𓀎𓀏 -#egyptian_hieroglyphs: -"Times" : 16 - -ខ្ញុំអាចញុំកញ្ចក់បាន ដោយគ្មានបញ្ហារ -#khmer: -"Khmer MN" : 26, -"Times" : 1 - -𐌲𐌿𐍄𐌹𐍃𐌺 -#gothic: -"Times" : 6 - -ܐܬܘܪܝܐ -#syriac: -"Times" : 6 - -⇦⇧⇨⇩←↑→↓⟀ -#text_presentation_arrows_maths: -"Arial Unicode MS" : 4, -"Hiragino Mincho ProN" : 4, -"Apple Symbols" : 1 - -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/inspector-protocol/layout-fonts/ogham-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/inspector-protocol/layout-fonts/ogham-expected.txt deleted file mode 100644 index c319861..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/inspector-protocol/layout-fonts/ogham-expected.txt +++ /dev/null
@@ -1,10 +0,0 @@ -ᚁᚂᚃᚄᚅᚆᚇᚈᚉᚊᚋᚌᚍᚎᚏᚐᚑᚒᚓᚔᚕᚖᚗᚘᚙᚚ᚛᚜ -#oghammonofont: -"Geneva" : 29 - -ᚁᚂᚃᚄᚅᚆᚇᚈᚉᚊᚋᚌᚍᚎᚏᚐᚑᚒᚓᚔᚕᚖᚗᚘᚙᚚ᚛᚜ -#oghamdefaultfont: -"Geneva" : 29 - -There should be two lines of Ogham above. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/inspector-protocol/layout-fonts/tifinagh-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/inspector-protocol/layout-fonts/tifinagh-expected.txt deleted file mode 100644 index 1edb19c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/inspector-protocol/layout-fonts/tifinagh-expected.txt +++ /dev/null
@@ -1,5 +0,0 @@ -ⵉⵎⴷⴰⵏⴻⵏ, ⴰⴽⴽⴻⵏ ⵎⴰ ⵍⵍⴰⵏ ⵜⵜⵍⴰⵍⴻⵏ ⴷ ⵉⵍⴻⵍⵍⵉⵢⴻⵏ ⵎⵙⴰⵡⴰⵏ ⴷⵉ ⵍⵃⵡⴻⵕⵎⴰ ⴷ ⵢⵉⵣⴻⵔⴼⴰⵏ-ⵖⵓⵔ ⵙⴻⵏ ⵜⴰⵎⵙⴰⴽⵡⵉⵜ ⴷ ⵍⴰⵇⵓⴻⵍ ⵓ ⵢⴻⵙⵙⴻⴼⴽ ⴰⴷ-ⵜⵉⵍⵉ ⵜⴻⴳⵎⴰⵜⵜ ⴳⴰⵔ ⴰⵙⴻⵏ -#tifinagh_text: -"Times" : 132 - -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/media/controls/video-overlay-cast-dark-rendering-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/media/controls/video-overlay-cast-dark-rendering-expected.png deleted file mode 100644 index 41e3454a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/media/controls/video-overlay-cast-dark-rendering-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/media/track/track-cue-rendering-vertical-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/media/track/track-cue-rendering-vertical-expected.png deleted file mode 100644 index 07055e21..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/media/track/track-cue-rendering-vertical-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/media/video-colorspace-yuv420-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/media/video-colorspace-yuv420-expected.png deleted file mode 100644 index 0fcac23e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/media/video-colorspace-yuv420-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/paint/invalidation/compositing/text-color-change-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/paint/invalidation/compositing/text-color-change-expected.png deleted file mode 100644 index 90f5c47f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/paint/invalidation/compositing/text-color-change-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/paint/invalidation/selection/japanese-rl-selection-clear-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/paint/invalidation/selection/japanese-rl-selection-clear-expected.png deleted file mode 100644 index 059fb37..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/paint/invalidation/selection/japanese-rl-selection-clear-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/paint/invalidation/svg/embedded-svg-size-changes-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/paint/invalidation/svg/embedded-svg-size-changes-expected.png deleted file mode 100644 index 4031daa1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/paint/invalidation/svg/embedded-svg-size-changes-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/paint/invalidation/svg/js-late-clipPath-creation-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/paint/invalidation/svg/js-late-clipPath-creation-expected.png deleted file mode 100644 index 69804db..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/paint/invalidation/svg/js-late-clipPath-creation-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/paint/invalidation/svg/nested-embedded-svg-size-changes-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/paint/invalidation/svg/nested-embedded-svg-size-changes-expected.png deleted file mode 100644 index 962c37f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/paint/invalidation/svg/nested-embedded-svg-size-changes-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/paint/invalidation/svg/use-detach-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/paint/invalidation/svg/use-detach-expected.png deleted file mode 100644 index e351886..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/paint/invalidation/svg/use-detach-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/plugins/mouse-click-plugin-clears-selection-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/plugins/mouse-click-plugin-clears-selection-expected.png deleted file mode 100644 index e044efb..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/plugins/mouse-click-plugin-clears-selection-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/plugins/mouse-click-plugin-clears-selection-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/plugins/mouse-click-plugin-clears-selection-expected.txt deleted file mode 100644 index b8f2ae7..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/plugins/mouse-click-plugin-clears-selection-expected.txt +++ /dev/null
@@ -1,21 +0,0 @@ -CONSOLE MESSAGE: Blink Test Plugin: initializing -CONSOLE MESSAGE: Blink Test Plugin: DidChangeFocus(true) -CONSOLE MESSAGE: Blink Test Plugin: MouseDown at (52,52) -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x584 - LayoutBlockFlow (anonymous) at (0,0) size 784x119 - LayoutBR {BR} at (100,100) size 0x0 - LayoutTextControl {INPUT} at (0,100) size 131x19 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)] - LayoutText {#text} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (0,119) size 784x0 -layer at (8,8) size 100x100 - LayoutEmbeddedObject {EMBED} at (0,0) size 100x100 -layer at (11,111) size 125x13 - LayoutBlockFlow {DIV} at (3,3) size 125x13 - LayoutText {#text} at (0,0) size 24x13 - text run at (0,0) width 24: "hello" -selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 4 {INPUT} of body -selection end: position 5 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 4 {INPUT} of body
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/scrollbars/custom-scrollbar-with-incomplete-style-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/scrollbars/custom-scrollbar-with-incomplete-style-expected.png deleted file mode 100644 index 2e33d1a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/scrollbars/custom-scrollbar-with-incomplete-style-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/svg/W3C-SVG-1.1/text-align-08-b-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/svg/W3C-SVG-1.1/text-align-08-b-expected.png deleted file mode 100644 index 99584c5f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/svg/W3C-SVG-1.1/text-align-08-b-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/svg/W3C-SVG-1.1/text-fonts-01-t-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/svg/W3C-SVG-1.1/text-fonts-01-t-expected.png deleted file mode 100644 index 0e98b9b5..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/svg/W3C-SVG-1.1/text-fonts-01-t-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/svg/as-object/embedded-svg-immediate-offsetWidth-query-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/svg/as-object/embedded-svg-immediate-offsetWidth-query-expected.png deleted file mode 100644 index d5ca30f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/svg/as-object/embedded-svg-immediate-offsetWidth-query-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/svg/batik/text/xmlSpace-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/svg/batik/text/xmlSpace-expected.png deleted file mode 100644 index 693a3df7..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/svg/batik/text/xmlSpace-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/svg/custom/dominant-baseline-hanging-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/svg/custom/dominant-baseline-hanging-expected.png deleted file mode 100644 index b6a1a5304..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/svg/custom/dominant-baseline-hanging-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/svg/custom/getscreenctm-in-mixed-content-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/svg/custom/getscreenctm-in-mixed-content-expected.png deleted file mode 100644 index e91c342..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/svg/custom/getscreenctm-in-mixed-content-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/svg/custom/object-sizing-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/svg/custom/object-sizing-expected.png deleted file mode 100644 index 638d100..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/svg/custom/object-sizing-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/svg/custom/rootmost-svg-xy-attrs-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/svg/custom/rootmost-svg-xy-attrs-expected.png deleted file mode 100644 index 81d6c2e25..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/svg/custom/rootmost-svg-xy-attrs-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/svg/dom/SVGLocatable-getCTM-svg-root-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/svg/dom/SVGLocatable-getCTM-svg-root-expected.png deleted file mode 100644 index bb0dbc3c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/svg/dom/SVGLocatable-getCTM-svg-root-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/svg/dom/SVGStringList-basics-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/svg/dom/SVGStringList-basics-expected.png deleted file mode 100644 index 7f15db53..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/svg/dom/SVGStringList-basics-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/svg/dom/css-transforms-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/svg/dom/css-transforms-expected.png deleted file mode 100644 index a206a5b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/svg/dom/css-transforms-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/svg/text/small-fonts-2-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/svg/text/small-fonts-2-expected.png deleted file mode 100644 index cb4b196..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/svg/text/small-fonts-2-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/svg/text/text-selection-fonts-01-t-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/svg/text/text-selection-fonts-01-t-expected.png deleted file mode 100644 index d79f460..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/svg/text/text-selection-fonts-01-t-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/45621-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/45621-expected.png deleted file mode 100644 index bc6bda6..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/45621-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug10269-2-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug10269-2-expected.png deleted file mode 100644 index 164228e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug10269-2-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug10296-1-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug10296-1-expected.png deleted file mode 100644 index e7ac7de..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug10296-1-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug1055-1-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug1055-1-expected.png deleted file mode 100644 index 5495b7e5..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug1055-1-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug13105-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug13105-expected.png deleted file mode 100644 index c6105f2..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug13105-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug13118-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug13118-expected.png deleted file mode 100644 index edbdf04..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug13118-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug139524-2-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug139524-2-expected.png deleted file mode 100644 index 8c0fbd3..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug139524-2-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug157890-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug157890-expected.png deleted file mode 100644 index 548428c0..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug157890-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug194024-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug194024-expected.png deleted file mode 100644 index 04c70129..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug194024-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug20579-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug20579-expected.png deleted file mode 100644 index 6c5ebbb2..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug20579-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug22019-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug22019-expected.png deleted file mode 100644 index ebbf242..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug22019-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug23235-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug23235-expected.png deleted file mode 100644 index 8deaa5e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug23235-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug30559-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug30559-expected.png deleted file mode 100644 index e86cf70..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug30559-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug30692-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug30692-expected.png deleted file mode 100644 index a0b5469..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug30692-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug7112-1-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug7112-1-expected.png deleted file mode 100644 index 5ff20a52..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug7112-1-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug7112-2-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug7112-2-expected.png deleted file mode 100644 index 2bd0404..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug7112-2-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug7121-1-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug7121-1-expected.png deleted file mode 100644 index 471f80c6..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug7121-1-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug83786-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug83786-expected.png deleted file mode 100644 index 57b4286..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug83786-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug8950-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug8950-expected.png deleted file mode 100644 index 776682a9..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug8950-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/collapsing_borders/bug41262-3-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/collapsing_borders/bug41262-3-expected.png deleted file mode 100644 index ae7cec8..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/collapsing_borders/bug41262-3-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/other/test6-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/other/test6-expected.png deleted file mode 100644 index 4776159..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/other/test6-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla_expected_failures/bugs/bug1055-2-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla_expected_failures/bugs/bug1055-2-expected.png deleted file mode 100644 index cfe9fcab..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla_expected_failures/bugs/bug1055-2-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla_expected_failures/bugs/bug1128-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla_expected_failures/bugs/bug1128-expected.png deleted file mode 100644 index 56b7beb..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla_expected_failures/bugs/bug1128-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla_expected_failures/bugs/bug21518-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla_expected_failures/bugs/bug21518-expected.png deleted file mode 100644 index d7a61f53..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla_expected_failures/bugs/bug21518-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla_expected_failures/bugs/bug22122-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla_expected_failures/bugs/bug22122-expected.png deleted file mode 100644 index 21da165..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla_expected_failures/bugs/bug22122-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png deleted file mode 100644 index 598833c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png deleted file mode 100644 index 2aa903f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/transforms/2d/hindi-rotated-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/transforms/2d/hindi-rotated-expected.png deleted file mode 100644 index 7cd99ca..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/transforms/2d/hindi-rotated-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/bidi-caret-affinity/editing/caret/caret-painting-low-dpi-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/bidi-caret-affinity/editing/caret/caret-painting-low-dpi-expected.png deleted file mode 100644 index d313333..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/bidi-caret-affinity/editing/caret/caret-painting-low-dpi-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/cascade/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/cascade/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png deleted file mode 100644 index 2847553d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/cascade/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/cascade/fast/forms/date/date-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/cascade/fast/forms/date/date-appearance-basic-expected.png deleted file mode 100644 index 019b11b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/cascade/fast/forms/date/date-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/cascade/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/cascade/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png deleted file mode 100644 index 635b7a1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/cascade/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/cascade/fast/forms/month/month-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/cascade/fast/forms/month/month-appearance-basic-expected.png deleted file mode 100644 index 36f2c97..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/cascade/fast/forms/month/month-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/cascade/fast/forms/textarea/textarea-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/cascade/fast/forms/textarea/textarea-appearance-basic-expected.png deleted file mode 100644 index 33dfac4e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/cascade/fast/forms/textarea/textarea-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/autofill/basic-autofill-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/autofill/basic-autofill-expected.png deleted file mode 100644 index b7b919e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/autofill/basic-autofill-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/button/button-pressed-state-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/button/button-pressed-state-expected.png deleted file mode 100644 index 0d5e2e2..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/button/button-pressed-state-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/calendar-picker/date-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/calendar-picker/date-picker-appearance-expected.png deleted file mode 100644 index 84cba9f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/calendar-picker/date-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/calendar-picker/date-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/calendar-picker/date-picker-appearance-highlight-expected.png deleted file mode 100644 index 764e6dc5..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/calendar-picker/date-picker-appearance-highlight-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/calendar-picker/date-picker-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/calendar-picker/date-picker-disabled-values-expected.png deleted file mode 100644 index fb069f39..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/calendar-picker/date-picker-disabled-values-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/checkbox/checkbox-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/checkbox/checkbox-appearance-basic-expected.png deleted file mode 100644 index 11769f8e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/checkbox/checkbox-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/color/color-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/color/color-picker-appearance-expected.png deleted file mode 100644 index c070e4e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/color/color-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/color/color-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/color/color-suggestion-picker-appearance-expected.png deleted file mode 100644 index e98c383..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/color/color-suggestion-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png deleted file mode 100644 index 27c4ab0..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/date/date-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/date/date-appearance-basic-expected.png deleted file mode 100644 index 5598c63f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/date/date-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png deleted file mode 100644 index 78e6bba..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/datetimelocal/datetimelocal-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/datetimelocal/datetimelocal-appearance-basic-expected.png deleted file mode 100644 index 5f1a13a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/datetimelocal/datetimelocal-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/file/file-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/file/file-appearance-basic-expected.png deleted file mode 100644 index 9d8f436..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/file/file-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/meter/meter-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/meter/meter-appearance-basic-expected.png deleted file mode 100644 index b58d39c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/meter/meter-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png deleted file mode 100644 index 585c580..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/month-picker/month-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/month-picker/month-picker-appearance-expected.png deleted file mode 100644 index 8e9e496..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/month-picker/month-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/month-picker/month-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/month-picker/month-picker-appearance-highlight-expected.png deleted file mode 100644 index 0f270c1ba..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/month-picker/month-picker-appearance-highlight-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/month/month-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/month/month-appearance-basic-expected.png deleted file mode 100644 index 167864b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/month/month-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/progress/progress-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/progress/progress-appearance-basic-expected.png deleted file mode 100644 index 478f8510..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/progress/progress-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/radio/radio-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/radio/radio-appearance-basic-expected.png deleted file mode 100644 index e8b5811..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/radio/radio-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/search/search-appearance-font-size-20px-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/search/search-appearance-font-size-20px-expected.png deleted file mode 100644 index 336d5609..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/search/search-appearance-font-size-20px-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/search/search-appearance-zoom-2x-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/search/search-appearance-zoom-2x-expected.png deleted file mode 100644 index 0433490..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/search/search-appearance-zoom-2x-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-appearance-after-closing-popup-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-appearance-after-closing-popup-expected.png deleted file mode 100644 index 982a9482..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-appearance-after-closing-popup-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-inpage-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-inpage-appearance-basic-expected.png deleted file mode 100644 index 299681d1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-inpage-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-multiple-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-multiple-appearance-basic-expected.png deleted file mode 100644 index c70092c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-multiple-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-multiple-hover-focused-unselected-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-multiple-hover-focused-unselected-expected.png deleted file mode 100644 index 2c95c70..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-multiple-hover-focused-unselected-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-multiple-hover-selected-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-multiple-hover-selected-expected.png deleted file mode 100644 index 06378e10f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-multiple-hover-selected-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-multiple-hover-unselected-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-multiple-hover-unselected-expected.png deleted file mode 100644 index ca3ec0d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-multiple-hover-unselected-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-popup-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-popup-appearance-basic-expected.png deleted file mode 100644 index 982a9482..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-popup-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png deleted file mode 100644 index a27b838..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png deleted file mode 100644 index c07aec3..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png deleted file mode 100644 index 127cfd9..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png deleted file mode 100644 index a378379..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png deleted file mode 100644 index bb3df659..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/text-selection-outside-control-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/text-selection-outside-control-expected.png deleted file mode 100644 index 330eee3..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/text-selection-outside-control-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/text/input-basic-box-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/text/input-basic-box-appearance-basic-expected.png deleted file mode 100644 index b3ac421e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/text/input-basic-box-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/time-picker/time-picker-appearance-after-closing-popup-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/time-picker/time-picker-appearance-after-closing-popup-expected.png deleted file mode 100644 index 0705bf9..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/time-picker/time-picker-appearance-after-closing-popup-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/time-picker/time-picker-appearance-expected.png deleted file mode 100644 index 81ce662..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/time-picker/time-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/time/time-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/time/time-appearance-basic-expected.png deleted file mode 100644 index 876ecc0..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/time/time-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/week-picker/week-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/week-picker/week-picker-appearance-highlight-expected.png deleted file mode 100644 index 48aee36..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/week-picker/week-picker-appearance-highlight-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/week/week-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/week/week-appearance-basic-expected.png deleted file mode 100644 index 009b41b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/fast/forms/color-scheme/week/week-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/scrollbar/scrollbar-middle-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/scrollbar/scrollbar-middle-expected.png deleted file mode 100644 index 112ad74..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/scrollbar/scrollbar-middle-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/dark-color-scheme/date/date-focus-ring-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/dark-color-scheme/date/date-focus-ring-expected.png deleted file mode 100644 index 0bcfaa7..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/dark-color-scheme/date/date-focus-ring-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/dark-color-scheme/date/date-picker-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/dark-color-scheme/date/date-picker-basic-expected.png deleted file mode 100644 index 1864902..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/dark-color-scheme/date/date-picker-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/dark-color-scheme/date/date-picker-month-year-selector-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/dark-color-scheme/date/date-picker-month-year-selector-expected.png deleted file mode 100644 index fa0d31b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/dark-color-scheme/date/date-picker-month-year-selector-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/dark-color-scheme/date/date-picker-open-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/dark-color-scheme/date/date-picker-open-expected.png deleted file mode 100644 index 6e1c3ef..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/dark-color-scheme/date/date-picker-open-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/dark-color-scheme/datetimelocal-picker/datetimelocal-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/dark-color-scheme/datetimelocal-picker/datetimelocal-basic-expected.png deleted file mode 100644 index c34e8a3..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/dark-color-scheme/datetimelocal-picker/datetimelocal-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/dark-color-scheme/datetimelocal-picker/datetimelocal-focus-ring-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/dark-color-scheme/datetimelocal-picker/datetimelocal-focus-ring-expected.png deleted file mode 100644 index 11e2a803..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/dark-color-scheme/datetimelocal-picker/datetimelocal-focus-ring-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/dark-color-scheme/datetimelocal-picker/datetimelocal-open-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/dark-color-scheme/datetimelocal-picker/datetimelocal-open-expected.png deleted file mode 100644 index 4ac00628..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/dark-color-scheme/datetimelocal-picker/datetimelocal-open-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/dark-color-scheme/text/input-dark-mode-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/dark-color-scheme/text/input-dark-mode-basic-expected.png deleted file mode 100644 index c9df4be..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/dark-color-scheme/text/input-dark-mode-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/exotic-color-space/images/color-profile-munsell-adobe-to-srgb-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/exotic-color-space/images/color-profile-munsell-adobe-to-srgb-expected.png deleted file mode 100644 index 87f65ff7..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/exotic-color-space/images/color-profile-munsell-adobe-to-srgb-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/exotic-color-space/images/color-profile-munsell-adobe-to-srgb-webgl-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/exotic-color-space/images/color-profile-munsell-adobe-to-srgb-webgl-expected.png deleted file mode 100644 index d8e8e41..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/exotic-color-space/images/color-profile-munsell-adobe-to-srgb-webgl-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/exotic-color-space/images/color-profile-munsell-srgb-to-srgb-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/exotic-color-space/images/color-profile-munsell-srgb-to-srgb-expected.png deleted file mode 100644 index 88d2b4c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/exotic-color-space/images/color-profile-munsell-srgb-to-srgb-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png deleted file mode 100644 index d3436e6..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/exotic-color-space/images/jpeg-yuv-image-decoding-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/exotic-color-space/images/jpeg-yuv-image-decoding-expected.png deleted file mode 100644 index cb3141f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/exotic-color-space/images/jpeg-yuv-image-decoding-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/eye-dropper/fast/forms/color-scheme/color/color-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/eye-dropper/fast/forms/color-scheme/color/color-suggestion-picker-appearance-expected.png deleted file mode 100644 index e98c383..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/eye-dropper/fast/forms/color-scheme/color/color-suggestion-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/eye-dropper/fast/forms/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/eye-dropper/fast/forms/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png deleted file mode 100644 index 27c4ab0..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/eye-dropper/fast/forms/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-background-clip-text-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-background-clip-text-expected.png deleted file mode 100644 index fb3518b41..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-background-clip-text-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-background-image-cross-fade-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-background-image-cross-fade-expected.png deleted file mode 100644 index c52649a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-background-image-cross-fade-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-background-image-cross-fade-png-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-background-image-cross-fade-png-expected.png deleted file mode 100644 index c52649a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-background-image-cross-fade-png-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-group-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-group-expected.png deleted file mode 100644 index 9a40d8e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-group-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-mask-image-svg-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-mask-image-svg-expected.png deleted file mode 100644 index 6c05e045..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-mask-image-svg-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-munsell-adobe-to-srgb-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-munsell-adobe-to-srgb-expected.png deleted file mode 100644 index 71f5aa1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-munsell-adobe-to-srgb-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-munsell-adobe-to-srgb-webgl-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-munsell-adobe-to-srgb-webgl-expected.png deleted file mode 100644 index 856ac9c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-munsell-adobe-to-srgb-webgl-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-munsell-srgb-to-srgb-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-munsell-srgb-to-srgb-expected.png deleted file mode 100644 index 1f00131..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-munsell-srgb-to-srgb-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-svg-fill-text-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-svg-fill-text-expected.png deleted file mode 100644 index 3c16dee..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-svg-fill-text-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/cross-fade-background-size-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/cross-fade-background-size-expected.png deleted file mode 100644 index 6435d50..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/cross-fade-background-size-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/icon-decoding-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/icon-decoding-expected.png deleted file mode 100644 index 8ac130ba..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/icon-decoding-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/image-load-reset-on-new-base-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/image-load-reset-on-new-base-expected.png deleted file mode 100644 index e69de29..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/image-load-reset-on-new-base-expected.png +++ /dev/null
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/jpeg-yuv-image-decoding-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/jpeg-yuv-image-decoding-expected.png deleted file mode 100644 index 93967cb2..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/jpeg-yuv-image-decoding-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/ycbcr-with-cmyk-color-profile-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/ycbcr-with-cmyk-color-profile-expected.png deleted file mode 100644 index 19392c5..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu-rasterization/images/ycbcr-with-cmyk-color-profile-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu/fast/canvas/canvas-arc-circumference-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu/fast/canvas/canvas-arc-circumference-expected.png deleted file mode 100644 index 7bad532..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu/fast/canvas/canvas-arc-circumference-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu/fast/canvas/canvas-ellipse-circumference-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu/fast/canvas/canvas-ellipse-circumference-expected.png deleted file mode 100644 index 982bd43..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu/fast/canvas/canvas-ellipse-circumference-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu/fast/canvas/canvas-ellipse-circumference-fill-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu/fast/canvas/canvas-ellipse-circumference-fill-expected.png deleted file mode 100644 index 1464101..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu/fast/canvas/canvas-ellipse-circumference-fill-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu/fast/canvas/image-object-in-canvas-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu/fast/canvas/image-object-in-canvas-expected.png deleted file mode 100644 index 9f680a3..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/gpu/fast/canvas/image-object-in-canvas-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout-ng-grid/external/wpt/css/css-grid/layout-algorithm/grid-intrinsic-track-sizes-001-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout-ng-grid/external/wpt/css/css-grid/layout-algorithm/grid-intrinsic-track-sizes-001-expected.png deleted file mode 100644 index 890f7ed..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout-ng-grid/external/wpt/css/css-grid/layout-algorithm/grid-intrinsic-track-sizes-001-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng/fast/block/basic/015-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng/fast/block/basic/015-expected.png deleted file mode 100644 index 1d7f6d6..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng/fast/block/basic/015-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng/fast/block/float/float-avoidance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng/fast/block/float/float-avoidance-expected.png deleted file mode 100644 index 85973bc..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng/fast/block/float/float-avoidance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng/fast/block/float/shrink-to-avoid-float-complexity-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng/fast/block/float/shrink-to-avoid-float-complexity-expected.png deleted file mode 100644 index 083c05f3..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng/fast/block/float/shrink-to-avoid-float-complexity-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_block_frag/printing/fixed-positioned-headers-and-footers-inside-transform-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_block_frag/printing/fixed-positioned-headers-and-footers-inside-transform-expected.png deleted file mode 100644 index a013c17..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_block_frag/printing/fixed-positioned-headers-and-footers-inside-transform-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-cell-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-cell-collapsed-border-expected.png deleted file mode 100644 index d6e1ef0..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-cell-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-cell-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-cell-expected.png deleted file mode 100644 index a04c4e2..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-cell-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-collapsed-border-expected.png deleted file mode 100644 index 9fdd454..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-column-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-column-collapsed-border-expected.png deleted file mode 100644 index 5b52a48a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-column-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-column-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-column-expected.png deleted file mode 100644 index c5049dd..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-column-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-column-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-column-group-collapsed-border-expected.png deleted file mode 100644 index e448481..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-column-group-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-column-group-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-column-group-expected.png deleted file mode 100644 index dc088bc..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-column-group-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-expected.png deleted file mode 100644 index a64124a9..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-quirks-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-quirks-collapsed-border-expected.png deleted file mode 100644 index ca9286b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-quirks-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-quirks-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-quirks-expected.png deleted file mode 100644 index a4db924..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-quirks-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-row-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-row-collapsed-border-expected.png deleted file mode 100644 index cd019a7..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-row-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-row-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-row-expected.png deleted file mode 100644 index 2c5c47ca..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-row-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-row-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-row-group-collapsed-border-expected.png deleted file mode 100644 index 3a414a5..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-row-group-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-row-group-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-row-group-expected.png deleted file mode 100644 index a6699e9..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-row-group-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_layers-hide-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_layers-hide-collapsed-border-expected.png deleted file mode 100644 index 9386100..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_layers-hide-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_layers-hide-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_layers-hide-expected.png deleted file mode 100644 index 8ffac1f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_layers-hide-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-cell-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-cell-collapsed-border-expected.png deleted file mode 100644 index 0ee5390..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-cell-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-cell-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-cell-expected.png deleted file mode 100644 index c640b2d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-cell-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-collapsed-border-expected.png deleted file mode 100644 index 578726a2..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-column-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-column-collapsed-border-expected.png deleted file mode 100644 index 9a9f3d8..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-column-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-column-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-column-expected.png deleted file mode 100644 index e5a1296..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-column-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-column-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-column-group-collapsed-border-expected.png deleted file mode 100644 index 68d2a5cf..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-column-group-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-column-group-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-column-group-expected.png deleted file mode 100644 index 17f2ab6..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-column-group-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-expected.png deleted file mode 100644 index 965dff1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-row-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-row-collapsed-border-expected.png deleted file mode 100644 index 0014ab4..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-row-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-row-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-row-expected.png deleted file mode 100644 index 68f38d1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-row-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-row-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-row-group-collapsed-border-expected.png deleted file mode 100644 index 0d2de07..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-row-group-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-row-group-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-row-group-expected.png deleted file mode 100644 index 74fae93..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-row-group-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-cell-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-cell-collapsed-border-expected.png deleted file mode 100644 index cfdea9dd..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-cell-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-cell-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-cell-expected.png deleted file mode 100644 index 5b4cdf0..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-cell-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-collapsed-border-expected.png deleted file mode 100644 index f4c5c59f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-column-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-column-collapsed-border-expected.png deleted file mode 100644 index 9d15f15..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-column-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-column-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-column-expected.png deleted file mode 100644 index 6a02022..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-column-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png deleted file mode 100644 index 3f220f24..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-column-group-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-column-group-expected.png deleted file mode 100644 index 6fae948..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-column-group-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-expected.png deleted file mode 100644 index feecaee..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-row-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-row-collapsed-border-expected.png deleted file mode 100644 index fcb0aa47e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-row-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-row-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-row-expected.png deleted file mode 100644 index f21b6a9..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-row-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png deleted file mode 100644 index 2c18d7a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-row-group-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-row-group-expected.png deleted file mode 100644 index 961f6af..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-row-group-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/mojo-blobs/fast/files/file-in-input-display-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/mojo-blobs/fast/files/file-in-input-display-expected.png deleted file mode 100644 index 32c6fe8..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/mojo-blobs/fast/files/file-in-input-display-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/not-omt-sw-fetch/external/wpt/xhr/getallresponseheaders-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/not-omt-sw-fetch/external/wpt/xhr/getallresponseheaders-expected.txt deleted file mode 100644 index 69617d19..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/not-omt-sw-fetch/external/wpt/xhr/getallresponseheaders-expected.txt +++ /dev/null
@@ -1,10 +0,0 @@ -This is a testharness.js-based test. -FAIL XMLHttpRequest: getAllResponseHeaders() assert_equals: expected "also-here: Mr. PB\r\newok: lego\r\nfoo-test: 1, 2\r\n__custom: token\r\n" but got "__custom: token\r\nalso-here: Mr. PB\r\nfoo-test: 1, 2\r\newok: lego\r\n" -PASS XMLHttpRequest: getAllResponseHeaders() 1 -PASS XMLHttpRequest: getAllResponseHeaders() 2 -PASS XMLHttpRequest: getAllResponseHeaders() 3 -PASS XMLHttpRequest: getAllResponseHeaders() 4 -PASS XMLHttpRequest: getAllResponseHeaders() 5 -PASS XMLHttpRequest: getAllResponseHeaders() 6 -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/not-omt-sw-fetch/external/wpt/xhr/responsexml-document-properties-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/not-omt-sw-fetch/external/wpt/xhr/responsexml-document-properties-expected.txt deleted file mode 100644 index 8703e748..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/not-omt-sw-fetch/external/wpt/xhr/responsexml-document-properties-expected.txt +++ /dev/null
@@ -1,27 +0,0 @@ -This is a testharness.js-based test. -PASS domain -PASS URL -PASS documentURI -PASS baseURI -PASS referrer -PASS title -PASS contentType -PASS readyState -PASS location -PASS defaultView -PASS body -PASS doctype -PASS all -PASS cookie -PASS Test document URL properties after redirect -PASS Test document URL properties of document with <base> after redirect -PASS lastModified set to time of response if no HTTP header provided -PASS lastModified set to related HTTP header if provided -PASS cookie (after setting it) -PASS styleSheets should be an object -PASS implementation should be an object -PASS images should be an object -PASS forms should be an object -PASS links should be an object -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/omt-worker-fetch/external/wpt/xhr/abort-after-send.any-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/omt-worker-fetch/external/wpt/xhr/abort-after-send.any-expected.txt deleted file mode 100644 index 0f10f7e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/omt-worker-fetch/external/wpt/xhr/abort-after-send.any-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL XMLHttpRequest: abort() after send() assert_equals: expected "abort(0,0,false)" but got "upload.abort(0,0,false)" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/pointerevent/fast/events/context-no-deselect-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/pointerevent/fast/events/context-no-deselect-expected.png deleted file mode 100644 index 433a94f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/pointerevent/fast/events/context-no-deselect-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/pointerevent/fast/events/context-no-deselect-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/pointerevent/fast/events/context-no-deselect-expected.txt deleted file mode 100644 index a3130b7..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/pointerevent/fast/events/context-no-deselect-expected.txt +++ /dev/null
@@ -1,14 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x584 - LayoutTextControl {INPUT} at (0,0) size 123x19 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)] - LayoutText {#text} at (0,0) size 0x0 - LayoutText {#text} at (0,0) size 0x0 -layer at (11,11) size 117x13 - LayoutBlockFlow {DIV} at (3,3) size 117x13 - LayoutText {#text} at (0,0) size 95x13 - text run at (0,0) width 95: "some sample text" -selection start: position 5 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 1 {INPUT} of body -selection end: position 15 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 1 {INPUT} of body
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/prefer_compositing_to_lcd_text/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/prefer_compositing_to_lcd_text/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png deleted file mode 100644 index ad16105..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/prefer_compositing_to_lcd_text/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/prefer_compositing_to_lcd_text/scrollbars/custom-scrollbar-with-incomplete-style-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/prefer_compositing_to_lcd_text/scrollbars/custom-scrollbar-with-incomplete-style-expected.png deleted file mode 100644 index 2e33d1a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/prefer_compositing_to_lcd_text/scrollbars/custom-scrollbar-with-incomplete-style-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/reporting/external/wpt/content-security-policy/reporting/securitypolicyviolation-idl-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/reporting/external/wpt/content-security-policy/reporting/securitypolicyviolation-idl-expected.txt deleted file mode 100644 index 18d8446..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/reporting/external/wpt/content-security-policy/reporting/securitypolicyviolation-idl-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -This is a testharness.js-based test. -PASS Test driver -PASS SecurityPolicyViolationEvent interface: existence and properties of interface object -PASS SecurityPolicyViolationEvent interface object length -PASS SecurityPolicyViolationEvent interface object name -PASS SecurityPolicyViolationEvent interface: existence and properties of interface prototype object -PASS SecurityPolicyViolationEvent interface: existence and properties of interface prototype object's "constructor" property -PASS SecurityPolicyViolationEvent interface: attribute documentURI -PASS SecurityPolicyViolationEvent interface: attribute referrer -PASS SecurityPolicyViolationEvent interface: attribute blockedURI -PASS SecurityPolicyViolationEvent interface: attribute violatedDirective -PASS SecurityPolicyViolationEvent interface: attribute effectiveDirective -PASS SecurityPolicyViolationEvent interface: attribute originalPolicy -PASS SecurityPolicyViolationEvent interface: attribute disposition -PASS SecurityPolicyViolationEvent interface: attribute sourceFile -PASS SecurityPolicyViolationEvent interface: attribute statusCode -PASS SecurityPolicyViolationEvent interface: attribute lineNumber -PASS SecurityPolicyViolationEvent interface: attribute columnNumber -PASS SecurityPolicyViolationEvent must be primary interface of event_to_test -PASS Stringification of event_to_test -PASS SecurityPolicyViolationEvent interface: event_to_test must inherit property "documentURI" with the proper type -PASS SecurityPolicyViolationEvent interface: event_to_test must inherit property "referrer" with the proper type -PASS SecurityPolicyViolationEvent interface: event_to_test must inherit property "blockedURI" with the proper type -PASS SecurityPolicyViolationEvent interface: event_to_test must inherit property "violatedDirective" with the proper type -PASS SecurityPolicyViolationEvent interface: event_to_test must inherit property "effectiveDirective" with the proper type -PASS SecurityPolicyViolationEvent interface: event_to_test must inherit property "originalPolicy" with the proper type -PASS SecurityPolicyViolationEvent interface: event_to_test must inherit property "disposition" with the proper type -PASS SecurityPolicyViolationEvent interface: event_to_test must inherit property "sourceFile" with the proper type -PASS SecurityPolicyViolationEvent interface: event_to_test must inherit property "statusCode" with the proper type -PASS SecurityPolicyViolationEvent interface: event_to_test must inherit property "lineNumber" with the proper type -PASS SecurityPolicyViolationEvent interface: event_to_test must inherit property "columnNumber" with the proper type -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/samesite-by-default-cookies/external/wpt/cookies/http-state/general-tests-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/samesite-by-default-cookies/external/wpt/cookies/http-state/general-tests-expected.txt deleted file mode 100644 index 4d33a0e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/samesite-by-default-cookies/external/wpt/cookies/http-state/general-tests-expected.txt +++ /dev/null
@@ -1,31 +0,0 @@ -This is a testharness.js-based test. -PASS 0001 - Set cookie. -PASS 0002 - Set cookie with future expiration. -PASS 0003 - Set expired cookie along with valid cookie. -FAIL 0004 - Ignore cookie without key. assert_equals: expected "" but got "foo" -PASS 0005 - Set cookie with age. -PASS 0006 - Set no cookie with max-age=0. -PASS 0007 - Set cookie with version=1. -PASS 0008 - Set cookie with version=1000. -PASS 0009 - Set cookie with custom value. -PASS 0010 - Dont accept 'secure' cookies over http. -PASS 0011 - Ignore separators in cookie values. -PASS 0012 - Ignore values with separators and without ';'. -PASS 0013 - Use last value for cookies with identical keys. -PASS 0014 - Keep alphabetic key order. -PASS 0015 - Keep alphabetic single-char key order. -PASS 0016 - Keep non-alphabetic key order. -PASS 0017 - Keep order if comma-separated. -PASS 0018 - Ignore keys after semicolon. -PASS 0019 - Ignore attributes after semicolon. -FAIL 0020 - Ignore cookies without key and value. assert_equals: expected "a=b; c=d" but got "a=b; ; c=d" -FAIL 0021 - Ignore cookie without key in all 'Set-Cookie'. assert_equals: expected "a=b; c=d" but got "a=b; x; c=d" -PASS 0022 - Set cookie without value in all 'Set-Cookie'. -PASS 0023 - Ignore cookies without '=' in all 'Set-Cookie'. -PASS 0024 - Ignore malformed cookies in all 'Set-Cookie'. -PASS 0025 - Ignore cookies with ';' in all 'Set-Cookie'. -PASS 0026 - Ignore malformed cookies in all 'Set-Cookie' v2. -FAIL 0027 - Ignore malformed cookies in all 'Set-Cookie' v3. assert_equals: expected "" but got "bar" -FAIL 0028 - [INVALID EXPECTATION] Ignore malformed cookies in all 'Set-Cookie' v4. assert_equals: expected "Set-Cookie: foo\nSet-Cookie:" but got "" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor150/fast/hidpi/static/data-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor150/fast/hidpi/static/data-suggestion-picker-appearance-expected.png deleted file mode 100644 index caec6b3..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor150/fast/hidpi/static/data-suggestion-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor150/fast/hidpi/static/popup-menu-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor150/fast/hidpi/static/popup-menu-appearance-expected.png deleted file mode 100644 index 61451e7..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor150/fast/hidpi/static/popup-menu-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/css3/filters/backdrop-filter-boundary-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/css3/filters/backdrop-filter-boundary-expected.png deleted file mode 100644 index a42e0c5d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/css3/filters/backdrop-filter-boundary-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/css3/filters/backdrop-filter-edge-pixels-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/css3/filters/backdrop-filter-edge-pixels-expected.png deleted file mode 100644 index 46558de6..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/css3/filters/backdrop-filter-edge-pixels-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/css3/filters/composited-layer-child-bounds-after-composited-to-sw-shadow-change-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/css3/filters/composited-layer-child-bounds-after-composited-to-sw-shadow-change-expected.txt deleted file mode 100644 index 40d10fc5..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/css3/filters/composited-layer-child-bounds-after-composited-to-sw-shadow-change-expected.txt +++ /dev/null
@@ -1,93 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "drawsContent": false, - "backgroundColor": "#FFFFFF" - }, - { - "name": "Scrolling Layer", - "bounds": [800, 600], - "drawsContent": false - }, - { - "name": "Scrolling Contents Layer", - "bounds": [800, 600], - "contentsOpaque": true, - "backgroundColor": "#FFFFFF" - }, - { - "name": "LayoutBlockFlow (positioned) DIV id='composited-parent' class='compositor-painted-shadow'", - "bounds": [100, 100], - "contentsOpaque": true, - "backgroundColor": "#FF0000", - "transform": 1 - }, - { - "name": "LayoutBlockFlow (positioned) DIV id='absolutely-positioned-composited-child'", - "bounds": [100, 100], - "contentsOpaque": true, - "backgroundColor": "#008000", - "transform": 1 - } - ], - "transforms": [ - { - "id": 1, - "transform": [ - [1, 0, 0, 0], - [0, 1, 0, 0], - [0, 0, 1, 0], - [100, 100, 0, 1] - ] - } - ] -} -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "drawsContent": false, - "backgroundColor": "#FFFFFF" - }, - { - "name": "Scrolling Layer", - "bounds": [785, 585], - "drawsContent": false - }, - { - "name": "Scrolling Contents Layer", - "bounds": [835, 711], - "contentsOpaque": true, - "backgroundColor": "#FFFFFF" - }, - { - "name": "LayoutBlockFlow (positioned) DIV id='composited-parent' class='software-painted-shadow'", - "bounds": [100, 100], - "contentsOpaque": true, - "backgroundColor": "#FF0000", - "transform": 1 - }, - { - "name": "LayoutBlockFlow (positioned) DIV id='absolutely-positioned-composited-child'", - "bounds": [100, 100], - "contentsOpaque": true, - "backgroundColor": "#008000", - "transform": 1 - } - ], - "transforms": [ - { - "id": 1, - "transform": [ - [1, 0, 0, 0], - [0, 1, 0, 0], - [0, 0, 1, 0], - [100, 100, 0, 1] - ] - } - ] -} -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/css3/filters/effect-reference-colorspace-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/css3/filters/effect-reference-colorspace-expected.png deleted file mode 100644 index 32ed34b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/css3/filters/effect-reference-colorspace-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/css3/filters/filter-repaint-child-layers-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/css3/filters/filter-repaint-child-layers-expected.png deleted file mode 100644 index 5853476..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/css3/filters/filter-repaint-child-layers-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/css3/filters/filter-with-transform-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/css3/filters/filter-with-transform-expected.png deleted file mode 100644 index ec40383..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/css3/filters/filter-with-transform-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png deleted file mode 100644 index 533d697..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png deleted file mode 100644 index 1092956e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png deleted file mode 100644 index a851846..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/fast/hidpi/static/popup-menu-with-scrollbar-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/fast/hidpi/static/popup-menu-with-scrollbar-appearance-expected.png deleted file mode 100644 index 281a86d780..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/fast/hidpi/static/popup-menu-with-scrollbar-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png deleted file mode 100644 index c4b63735..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance-expected.png deleted file mode 100644 index aad5608..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/sharedarraybuffer/fast/css/crash-on-gradient-with-derived-color-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/sharedarraybuffer/fast/css/crash-on-gradient-with-derived-color-expected.txt deleted file mode 100644 index 97296481..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/sharedarraybuffer/fast/css/crash-on-gradient-with-derived-color-expected.txt +++ /dev/null
@@ -1 +0,0 @@ -This test passes if it does not CRASH.
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/sharedarraybuffer/fast/css/number-parsing-crash-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/sharedarraybuffer/fast/css/number-parsing-crash-expected.txt deleted file mode 100644 index 75cf4f3..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/sharedarraybuffer/fast/css/number-parsing-crash-expected.txt +++ /dev/null
@@ -1 +0,0 @@ -This should not crash.
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/storage-access-api/external/wpt/storage-access-api/requestStorageAccess.sub.window-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/storage-access-api/external/wpt/storage-access-api/requestStorageAccess.sub.window-expected.txt deleted file mode 100644 index bfee9055..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/storage-access-api/external/wpt/storage-access-api/requestStorageAccess.sub.window-expected.txt +++ /dev/null
@@ -1,14 +0,0 @@ -This is a testharness.js-based test. -PASS [top-level-context] document.requestStorageAccess() should be supported on the document interface -PASS [top-level-context] document.requestStorageAccess() should be rejected by default with no user gesture -PASS [top-level-context] document.requestStorageAccess() should be resolved when called properly with a user gesture -PASS [cross-origin-frame] document.requestStorageAccess() should be supported on the document interface -PASS [cross-origin-frame] document.requestStorageAccess() should be rejected by default with no user gesture -PASS [same-origin-frame] document.requestStorageAccess() should be supported on the document interface -PASS [same-origin-frame] document.requestStorageAccess() should be rejected by default with no user gesture -PASS [nested-cross-origin-frame] document.requestStorageAccess() should be supported on the document interface -PASS [nested-cross-origin-frame] document.requestStorageAccess() should be rejected by default with no user gesture -PASS [nested-same-origin-frame] document.requestStorageAccess() should be supported on the document interface -PASS [nested-same-origin-frame] document.requestStorageAccess() should be rejected by default with no user gesture -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/aat-morx-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/aat-morx-expected.png deleted file mode 100644 index ac4cea4e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/aat-morx-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/atomic-inline-before-ellipsis-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/atomic-inline-before-ellipsis-expected.png deleted file mode 100644 index 2c89a3a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/atomic-inline-before-ellipsis-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/atsui-multiple-renderers-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/atsui-multiple-renderers-expected.png deleted file mode 100644 index 904d6687..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/atsui-multiple-renderers-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/atsui-pointtooffset-calls-cg-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/atsui-pointtooffset-calls-cg-expected.png deleted file mode 100644 index 9663394..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/atsui-pointtooffset-calls-cg-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/atsui-small-caps-punctuation-size-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/atsui-small-caps-punctuation-size-expected.png deleted file mode 100644 index 263c7ed..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/atsui-small-caps-punctuation-size-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/atsui-spacing-features-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/atsui-spacing-features-expected.png deleted file mode 100644 index 229106c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/atsui-spacing-features-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/001-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/001-expected.png deleted file mode 100644 index c0f1b6bd..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/001-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/002-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/002-expected.png deleted file mode 100644 index 4746208e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/002-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/003-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/003-expected.png deleted file mode 100644 index 5fd661c4..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/003-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/004-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/004-expected.png deleted file mode 100644 index 63ce997..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/004-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/005-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/005-expected.png deleted file mode 100644 index dbb6f50d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/005-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/006-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/006-expected.png deleted file mode 100644 index 329fa66..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/006-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/007-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/007-expected.png deleted file mode 100644 index a0dee05..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/007-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/008-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/008-expected.png deleted file mode 100644 index eafb7c7..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/008-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/009-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/009-expected.png deleted file mode 100644 index 2334066..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/009-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/011-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/011-expected.png deleted file mode 100644 index 642ea41..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/011-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/012-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/012-expected.png deleted file mode 100644 index 1a29f232..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/012-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/013-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/013-expected.png deleted file mode 100644 index 9441e6f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/013-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/014-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/014-expected.png deleted file mode 100644 index c06249f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/014-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/015-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/015-expected.png deleted file mode 100644 index dc71909..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/015-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/generic-family-changes-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/generic-family-changes-expected.png deleted file mode 100644 index e621535..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/generic-family-changes-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/generic-family-reset-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/generic-family-reset-expected.png deleted file mode 100644 index 9f04915d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/basic/generic-family-reset-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/bidi-embedding-pop-and-push-same-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/bidi-embedding-pop-and-push-same-expected.png deleted file mode 100644 index 326bf548..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/bidi-embedding-pop-and-push-same-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/bidi-img-alt-text-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/bidi-img-alt-text-expected.png deleted file mode 100644 index cab4709..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/bidi-img-alt-text-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/break-word-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/break-word-expected.png deleted file mode 100644 index e3536e29..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/break-word-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/capitalize-boundaries-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/capitalize-boundaries-expected.png deleted file mode 100644 index 5814906..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/capitalize-boundaries-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/capitalize-empty-generated-string-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/capitalize-empty-generated-string-expected.png deleted file mode 100644 index ed1f5e4..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/capitalize-empty-generated-string-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/capitalize-preserve-nbsp-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/capitalize-preserve-nbsp-expected.png deleted file mode 100644 index 29b5755..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/capitalize-preserve-nbsp-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/caps-lock-indicator-disabled-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/caps-lock-indicator-disabled-expected.png deleted file mode 100644 index b9fe9a5..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/caps-lock-indicator-disabled-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/caps-lock-indicator-enabled-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/caps-lock-indicator-enabled-expected.png deleted file mode 100644 index 042cac2a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/caps-lock-indicator-enabled-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/caps-lock-indicator-enabled-rtl-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/caps-lock-indicator-enabled-rtl-expected.png deleted file mode 100644 index e6beb773..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/caps-lock-indicator-enabled-rtl-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/cg-fallback-bolding-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/cg-fallback-bolding-expected.png deleted file mode 100644 index 8840bf2..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/cg-fallback-bolding-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/cg-vs-atsui-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/cg-vs-atsui-expected.png deleted file mode 100644 index 5dd0497..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/cg-vs-atsui-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/color-emoji-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/color-emoji-expected.png deleted file mode 100644 index 87361bfb..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/color-emoji-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/complex-path-with-no-subpixel-fonts-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/complex-path-with-no-subpixel-fonts-expected.png deleted file mode 100644 index 6592cbaf..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/complex-path-with-no-subpixel-fonts-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/complex-preferred-logical-widths-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/complex-preferred-logical-widths-expected.png deleted file mode 100644 index e46e8754..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/complex-preferred-logical-widths-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/complex-synthetic-bold-space-width-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/complex-synthetic-bold-space-width-expected.png deleted file mode 100644 index 1d5db2cf..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/complex-synthetic-bold-space-width-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/complex-text-opacity-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/complex-text-opacity-expected.png deleted file mode 100644 index 180707c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/complex-text-opacity-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/decorations-with-text-combine-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/decorations-with-text-combine-expected.png deleted file mode 100644 index 1958ace8..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/decorations-with-text-combine-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/drawBidiText-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/drawBidiText-expected.png deleted file mode 100644 index 635a11ce..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/drawBidiText-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-at-edge-of-ltr-text-in-rtl-flow-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-at-edge-of-ltr-text-in-rtl-flow-expected.png deleted file mode 100644 index 7f00efd..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-at-edge-of-ltr-text-in-rtl-flow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-at-edge-of-rtl-text-in-ltr-flow-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-at-edge-of-rtl-text-in-ltr-flow-expected.png deleted file mode 100644 index bafa8881..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-at-edge-of-rtl-text-in-ltr-flow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-in-absolute-block-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-in-absolute-block-expected.png deleted file mode 100644 index 416cff8..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-in-absolute-block-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-in-justified-text-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-in-justified-text-expected.png deleted file mode 100644 index a7d723936..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-in-justified-text-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-ltr-text-in-ltr-flow-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-ltr-text-in-ltr-flow-expected.png deleted file mode 100644 index 4dcd7672..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-ltr-text-in-ltr-flow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-ltr-text-in-ltr-flow-underline-composition-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-ltr-text-in-ltr-flow-underline-composition-expected.png deleted file mode 100644 index 3349b51e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-ltr-text-in-ltr-flow-underline-composition-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-ltr-text-in-ltr-flow-underline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-ltr-text-in-ltr-flow-underline-expected.png deleted file mode 100644 index e8ed4252..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-ltr-text-in-ltr-flow-underline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-ltr-text-in-rtl-flow-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-ltr-text-in-rtl-flow-expected.png deleted file mode 100644 index 7b8eec0..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-ltr-text-in-rtl-flow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-ltr-text-in-rtl-flow-leading-space-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-ltr-text-in-rtl-flow-leading-space-expected.png deleted file mode 100644 index bc6b56a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-ltr-text-in-rtl-flow-leading-space-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-ltr-text-in-rtl-flow-underline-composition-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-ltr-text-in-rtl-flow-underline-composition-expected.png deleted file mode 100644 index 6cb538f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-ltr-text-in-rtl-flow-underline-composition-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-ltr-text-in-rtl-flow-underline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-ltr-text-in-rtl-flow-underline-expected.png deleted file mode 100644 index f82e9901..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-ltr-text-in-rtl-flow-underline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-mixed-text-in-ltr-flow-underline-2-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-mixed-text-in-ltr-flow-underline-2-expected.png deleted file mode 100644 index 43332e67..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-mixed-text-in-ltr-flow-underline-2-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-mixed-text-in-ltr-flow-underline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-mixed-text-in-ltr-flow-underline-expected.png deleted file mode 100644 index fe085ff8..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-mixed-text-in-ltr-flow-underline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-mixed-text-in-rtl-flow-underline-2-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-mixed-text-in-rtl-flow-underline-2-expected.png deleted file mode 100644 index 4e4ba17c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-mixed-text-in-rtl-flow-underline-2-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-mixed-text-in-rtl-flow-underline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-mixed-text-in-rtl-flow-underline-expected.png deleted file mode 100644 index 232375f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-mixed-text-in-rtl-flow-underline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-platform-font-change-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-platform-font-change-expected.png deleted file mode 100644 index 08ae57822..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-platform-font-change-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-rtl-text-in-ltr-flow-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-rtl-text-in-ltr-flow-expected.png deleted file mode 100644 index 8d165e7..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-rtl-text-in-ltr-flow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-rtl-text-in-ltr-flow-underline-composition-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-rtl-text-in-ltr-flow-underline-composition-expected.png deleted file mode 100644 index 5de355fa..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-rtl-text-in-ltr-flow-underline-composition-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-rtl-text-in-ltr-flow-underline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-rtl-text-in-ltr-flow-underline-expected.png deleted file mode 100644 index ef69d11..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-rtl-text-in-ltr-flow-underline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-rtl-text-in-rtl-flow-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-rtl-text-in-rtl-flow-expected.png deleted file mode 100644 index e0ee200..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-rtl-text-in-rtl-flow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-rtl-text-in-rtl-flow-underline-composition-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-rtl-text-in-rtl-flow-underline-composition-expected.png deleted file mode 100644 index 1b3c6fb3..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-rtl-text-in-rtl-flow-underline-composition-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-rtl-text-in-rtl-flow-underline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-rtl-text-in-rtl-flow-underline-expected.png deleted file mode 100644 index faa1353..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-rtl-text-in-rtl-flow-underline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-with-list-marker-in-ltr-flow-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-with-list-marker-in-ltr-flow-expected.png deleted file mode 100644 index 675409a9..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-with-list-marker-in-ltr-flow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-with-list-marker-in-rtl-flow-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-with-list-marker-in-rtl-flow-expected.png deleted file mode 100644 index 2859d74..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/ellipsis-with-list-marker-in-rtl-flow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/emoji-vertical-origin-visual-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/emoji-vertical-origin-visual-expected.png deleted file mode 100644 index 766e200c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/emoji-vertical-origin-visual-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/emoji-web-font-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/emoji-web-font-expected.png deleted file mode 100644 index ef95e0cf..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/emoji-web-font-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/emoticons-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/emoticons-expected.png deleted file mode 100644 index ca2cc8d50..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/emoticons-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/emphasis-complex-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/emphasis-complex-expected.png deleted file mode 100644 index 6b4b59a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/emphasis-complex-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/emphasis-ellipsis-complextext-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/emphasis-ellipsis-complextext-expected.png deleted file mode 100644 index e3dd38a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/emphasis-ellipsis-complextext-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/emphasis-vertical-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/emphasis-vertical-expected.png deleted file mode 100644 index f51d2af..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/emphasis-vertical-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/fake-italic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/fake-italic-expected.png deleted file mode 100644 index 3a567a4..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/fake-italic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/fallback-for-custom-font-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/fallback-for-custom-font-expected.png deleted file mode 100644 index 8ed4b2d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/fallback-for-custom-font-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/fallback-traits-fixup-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/fallback-traits-fixup-expected.png deleted file mode 100644 index 9515301..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/fallback-traits-fixup-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/firstline/001-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/firstline/001-expected.png deleted file mode 100644 index 56dbde0..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/firstline/001-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/firstline/002-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/firstline/002-expected.png deleted file mode 100644 index b82554d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/firstline/002-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/firstline/003-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/firstline/003-expected.png deleted file mode 100644 index 6769dba..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/firstline/003-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-ascent-mac-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-ascent-mac-expected.png deleted file mode 100644 index 638a899c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-ascent-mac-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-fallback-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-fallback-expected.png deleted file mode 100644 index edfff2d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-fallback-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-features/caps-native-synthesis-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-features/caps-native-synthesis-expected.png deleted file mode 100644 index d50d4572..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-features/caps-native-synthesis-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-format-support-color-cff2-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-format-support-color-cff2-expected.png deleted file mode 100644 index 4ab815d9e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-format-support-color-cff2-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-format-support-color-cff2-vertical-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-format-support-color-cff2-vertical-expected.png deleted file mode 100644 index 9ac4a4b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-format-support-color-cff2-vertical-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-initial-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-initial-expected.png deleted file mode 100644 index e6e925b1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-initial-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-size-adjust-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-size-adjust-expected.png deleted file mode 100644 index 302a237..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-size-adjust-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-smallcaps-layout-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-smallcaps-layout-expected.png deleted file mode 100644 index dae1243..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-smallcaps-layout-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-stretch-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-stretch-expected.png deleted file mode 100644 index 26efafc..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-stretch-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-stretch-variant-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-stretch-variant-expected.png deleted file mode 100644 index 1472d33..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-stretch-variant-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-weight-600-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-weight-600-expected.png deleted file mode 100644 index c2cf942..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-weight-600-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-weight-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-weight-expected.png deleted file mode 100644 index 604e21c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-weight-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-weight-variant-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-weight-variant-expected.png deleted file mode 100644 index c8cce70e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/font-weight-variant-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/format-control-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/format-control-expected.png deleted file mode 100644 index c057bfb..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/format-control-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/hide-atomic-inlines-after-ellipsis-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/hide-atomic-inlines-after-ellipsis-expected.png deleted file mode 100644 index 5078628c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/hide-atomic-inlines-after-ellipsis-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/in-rendered-text-rtl-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/in-rendered-text-rtl-expected.png deleted file mode 100644 index 7a48461..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/in-rendered-text-rtl-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/001-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/001-expected.png deleted file mode 100644 index 1cb07197..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/001-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/002-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/002-expected.png deleted file mode 100644 index 326d934..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/002-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/003-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/003-expected.png deleted file mode 100644 index 80c2c40..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/003-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/alef-connected-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/alef-connected-expected.png deleted file mode 100644 index 46c25c4..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/alef-connected-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-AN-after-L-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-AN-after-L-expected.png deleted file mode 100644 index b702cd7..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-AN-after-L-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-AN-after-empty-run-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-AN-after-empty-run-expected.png deleted file mode 100644 index 987985f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-AN-after-empty-run-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-CS-after-AN-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-CS-after-AN-expected.png deleted file mode 100644 index 2b023b9..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-CS-after-AN-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-L2-run-reordering-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-L2-run-reordering-expected.png deleted file mode 100644 index 52cc7e4d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-L2-run-reordering-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-LDB-2-CSS-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-LDB-2-CSS-expected.png deleted file mode 100644 index 7530c4759..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-LDB-2-CSS-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-LDB-2-HTML-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-LDB-2-HTML-expected.png deleted file mode 100644 index 7747532..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-LDB-2-HTML-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-LDB-2-formatting-characters-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-LDB-2-formatting-characters-expected.png deleted file mode 100644 index de5b9480..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-LDB-2-formatting-characters-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-control-chars-treated-as-ZWS-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-control-chars-treated-as-ZWS-expected.png deleted file mode 100644 index 696403bf..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-control-chars-treated-as-ZWS-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-european-terminators-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-european-terminators-expected.png deleted file mode 100644 index f69cd39..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-european-terminators-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-explicit-embedding-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-explicit-embedding-expected.png deleted file mode 100644 index 13f4dc5..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-explicit-embedding-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-ignored-for-first-child-inline-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-ignored-for-first-child-inline-expected.png deleted file mode 100644 index c68bde2..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-ignored-for-first-child-inline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-innertext-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-innertext-expected.png deleted file mode 100644 index b790573..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-innertext-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-layout-across-linebreak-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-layout-across-linebreak-expected.png deleted file mode 100644 index bfa15d92..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-layout-across-linebreak-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-linebreak-001-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-linebreak-001-expected.png deleted file mode 100644 index 0279b88..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-linebreak-001-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-linebreak-002-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-linebreak-002-expected.png deleted file mode 100644 index 0b76277..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-linebreak-002-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-linebreak-003-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-linebreak-003-expected.png deleted file mode 100644 index 0b76277..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-linebreak-003-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-listbox-atsui-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-listbox-atsui-expected.png deleted file mode 100644 index 755993122..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-listbox-atsui-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-listbox-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-listbox-expected.png deleted file mode 100644 index e779efb..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-listbox-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-mirror-he-ar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-mirror-he-ar-expected.png deleted file mode 100644 index e50d16d0..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-mirror-he-ar-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-neutral-directionality-paragraph-start-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-neutral-directionality-paragraph-start-expected.png deleted file mode 100644 index 4bbeeb4..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-neutral-directionality-paragraph-start-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-neutral-run-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-neutral-run-expected.png deleted file mode 100644 index 4d8e9c6b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-neutral-run-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-override-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-override-expected.png deleted file mode 100644 index e4a6c42..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-override-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-word-spacing-rtl-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-word-spacing-rtl-expected.png deleted file mode 100644 index 180f536f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bidi-word-spacing-rtl-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bold-bengali-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bold-bengali-expected.png deleted file mode 100644 index 141879bb..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/bold-bengali-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/complex-character-based-fallback-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/complex-character-based-fallback-expected.png deleted file mode 100644 index 86fd887..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/complex-character-based-fallback-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/danda-space-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/danda-space-expected.png deleted file mode 100644 index f2dfbdb..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/danda-space-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/hebrew-vowels-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/hebrew-vowels-expected.png deleted file mode 100644 index a38de1b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/hebrew-vowels-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/hindi-spacing-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/hindi-spacing-expected.png deleted file mode 100644 index a37bb0b5..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/hindi-spacing-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/hindi-whitespace-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/hindi-whitespace-expected.png deleted file mode 100644 index 2af803e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/hindi-whitespace-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/lang-glyph-cache-separation-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/lang-glyph-cache-separation-expected.png deleted file mode 100644 index c113ffa..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/lang-glyph-cache-separation-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/plane2-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/plane2-expected.png deleted file mode 100644 index a01d0ce..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/plane2-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/rtl-negative-letter-spacing-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/rtl-negative-letter-spacing-expected.png deleted file mode 100644 index 1386eb3..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/rtl-negative-letter-spacing-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/rtl-white-space-pre-wrap-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/rtl-white-space-pre-wrap-expected.png deleted file mode 100644 index 56da16b7..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/rtl-white-space-pre-wrap-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/text-combine-image-test-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/text-combine-image-test-expected.png deleted file mode 100644 index 4ebc7a2..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/text-combine-image-test-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/text-spliced-font-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/text-spliced-font-expected.png deleted file mode 100644 index c5950c8..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/text-spliced-font-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/thai-baht-space-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/thai-baht-space-expected.png deleted file mode 100644 index c7a1d09..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/thai-baht-space-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/unicode-bidi-plaintext-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/unicode-bidi-plaintext-expected.png deleted file mode 100644 index 9fd7e56..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/unicode-bidi-plaintext-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/unicode-bidi-plaintext-in-textarea-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/unicode-bidi-plaintext-in-textarea-expected.png deleted file mode 100644 index d5e1149..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/unicode-bidi-plaintext-in-textarea-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/vertical-text-glyph-test-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/vertical-text-glyph-test-expected.png deleted file mode 100644 index 2b860cd..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/vertical-text-glyph-test-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/wrap-CJK-001-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/wrap-CJK-001-expected.png deleted file mode 100644 index 20c7bb6f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/international/wrap-CJK-001-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/justify-ideograph-complex-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/justify-ideograph-complex-expected.png deleted file mode 100644 index 0b9b524..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/justify-ideograph-complex-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/justify-ideograph-leading-expansion-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/justify-ideograph-leading-expansion-expected.png deleted file mode 100644 index b6137b6..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/justify-ideograph-leading-expansion-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/justify-ideograph-simple-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/justify-ideograph-simple-expected.png deleted file mode 100644 index 0b9b524..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/justify-ideograph-simple-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/justify-ideograph-vertical-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/justify-ideograph-vertical-expected.png deleted file mode 100644 index 1acff96..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/justify-ideograph-vertical-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/large-text-composed-char-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/large-text-composed-char-expected.png deleted file mode 100644 index 4bc9c574..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/large-text-composed-char-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/letter-spacing-leading-and-trailing-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/letter-spacing-leading-and-trailing-expected.png deleted file mode 100644 index 9aede5eb..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/letter-spacing-leading-and-trailing-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/letter-spacing-negative-opacity-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/letter-spacing-negative-opacity-expected.png deleted file mode 100644 index ec4075f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/letter-spacing-negative-opacity-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/line-breaks-after-white-space-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/line-breaks-after-white-space-expected.png deleted file mode 100644 index 74141d7..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/line-breaks-after-white-space-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/line-breaks-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/line-breaks-expected.png deleted file mode 100644 index 7759f918..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/line-breaks-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/line-initial-and-final-swashes-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/line-initial-and-final-swashes-expected.png deleted file mode 100644 index 32c6ad6..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/line-initial-and-final-swashes-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/mac-system-ui-trak-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/mac-system-ui-trak-expected.txt deleted file mode 100644 index e2ab1fb..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/mac-system-ui-trak-expected.txt +++ /dev/null
@@ -1,3 +0,0 @@ -This is a testharness.js-based test. -FAIL Font size to width ratio should match Safari and stay constant above 78px, according to the font's trak table. assert_less_than: expected a number less than 0.01 but got 0.7212239583333346 -Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/mac-system-ui-weight-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/mac-system-ui-weight-expected.png deleted file mode 100644 index 88737bb..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/mac-system-ui-weight-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/midword-break-after-breakable-char-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/midword-break-after-breakable-char-expected.png deleted file mode 100644 index 0e96f3d6..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/midword-break-after-breakable-char-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/midword-break-before-surrogate-pair-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/midword-break-before-surrogate-pair-expected.png deleted file mode 100644 index 70cf33b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/midword-break-before-surrogate-pair-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/midword-break-hang-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/midword-break-hang-expected.png deleted file mode 100644 index 1dccf55..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/midword-break-hang-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/orientation-sideways-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/orientation-sideways-expected.png deleted file mode 100644 index aab915e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/orientation-sideways-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-ellipsis-in-inline-block-adjacent-float-2-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-ellipsis-in-inline-block-adjacent-float-2-expected.png deleted file mode 100644 index f1eaccd6..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-ellipsis-in-inline-block-adjacent-float-2-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-ellipsis-in-inline-block-adjacent-float-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-ellipsis-in-inline-block-adjacent-float-expected.png deleted file mode 100644 index f855acf..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-ellipsis-in-inline-block-adjacent-float-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-ellipsis-in-inline-blocks-2-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-ellipsis-in-inline-blocks-2-expected.png deleted file mode 100644 index b5507602..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-ellipsis-in-inline-blocks-2-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-ellipsis-in-inline-blocks-align-center-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-ellipsis-in-inline-blocks-align-center-expected.png deleted file mode 100644 index a6e44de..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-ellipsis-in-inline-blocks-align-center-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-ellipsis-in-inline-blocks-align-justify-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-ellipsis-in-inline-blocks-align-justify-expected.png deleted file mode 100644 index a6e44de..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-ellipsis-in-inline-blocks-align-justify-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-ellipsis-in-inline-blocks-align-left-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-ellipsis-in-inline-blocks-align-left-expected.png deleted file mode 100644 index a6e44de..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-ellipsis-in-inline-blocks-align-left-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-ellipsis-in-inline-blocks-align-right-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-ellipsis-in-inline-blocks-align-right-expected.png deleted file mode 100644 index a6e44de..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-ellipsis-in-inline-blocks-align-right-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-ellipsis-in-inline-blocks-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-ellipsis-in-inline-blocks-expected.png deleted file mode 100644 index a6e44de..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-ellipsis-in-inline-blocks-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-mixed-ellipsis-in-inline-blocks-2-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-mixed-ellipsis-in-inline-blocks-2-expected.png deleted file mode 100644 index 6d2960e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-mixed-ellipsis-in-inline-blocks-2-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-mixed-ellipsis-in-inline-blocks-align-center-2-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-mixed-ellipsis-in-inline-blocks-align-center-2-expected.png deleted file mode 100644 index bbaf78a2..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-mixed-ellipsis-in-inline-blocks-align-center-2-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-mixed-ellipsis-in-inline-blocks-align-center-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-mixed-ellipsis-in-inline-blocks-align-center-expected.png deleted file mode 100644 index 08e5379..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-mixed-ellipsis-in-inline-blocks-align-center-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-mixed-ellipsis-in-inline-blocks-align-justify-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-mixed-ellipsis-in-inline-blocks-align-justify-expected.png deleted file mode 100644 index e6284f81..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-mixed-ellipsis-in-inline-blocks-align-justify-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-mixed-ellipsis-in-inline-blocks-align-left-2-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-mixed-ellipsis-in-inline-blocks-align-left-2-expected.png deleted file mode 100644 index 197f3ea..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-mixed-ellipsis-in-inline-blocks-align-left-2-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-mixed-ellipsis-in-inline-blocks-align-left-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-mixed-ellipsis-in-inline-blocks-align-left-expected.png deleted file mode 100644 index bbf912f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-mixed-ellipsis-in-inline-blocks-align-left-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-mixed-ellipsis-in-inline-blocks-align-right-2-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-mixed-ellipsis-in-inline-blocks-align-right-2-expected.png deleted file mode 100644 index db6c153..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-mixed-ellipsis-in-inline-blocks-align-right-2-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-mixed-ellipsis-in-inline-blocks-align-right-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-mixed-ellipsis-in-inline-blocks-align-right-expected.png deleted file mode 100644 index ee800b11..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-mixed-ellipsis-in-inline-blocks-align-right-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-mixed-ellipsis-in-inline-blocks-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-mixed-ellipsis-in-inline-blocks-expected.png deleted file mode 100644 index e6284f81..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-mixed-ellipsis-in-inline-blocks-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-rtl-ellipsis-in-inline-blocks-2-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-rtl-ellipsis-in-inline-blocks-2-expected.png deleted file mode 100644 index d564a29..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-rtl-ellipsis-in-inline-blocks-2-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-rtl-ellipsis-in-inline-blocks-align-center-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-rtl-ellipsis-in-inline-blocks-align-center-expected.png deleted file mode 100644 index 8d784742..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-rtl-ellipsis-in-inline-blocks-align-center-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-rtl-ellipsis-in-inline-blocks-align-justify-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-rtl-ellipsis-in-inline-blocks-align-justify-expected.png deleted file mode 100644 index 8d784742..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-rtl-ellipsis-in-inline-blocks-align-justify-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-rtl-ellipsis-in-inline-blocks-align-left-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-rtl-ellipsis-in-inline-blocks-align-left-expected.png deleted file mode 100644 index 8d784742..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-rtl-ellipsis-in-inline-blocks-align-left-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-rtl-ellipsis-in-inline-blocks-align-right-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-rtl-ellipsis-in-inline-blocks-align-right-expected.png deleted file mode 100644 index 8d784742..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-rtl-ellipsis-in-inline-blocks-align-right-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-rtl-ellipsis-in-inline-blocks-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-rtl-ellipsis-in-inline-blocks-expected.png deleted file mode 100644 index 8d784742..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/place-rtl-ellipsis-in-inline-blocks-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/reset-emptyRun-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/reset-emptyRun-expected.png deleted file mode 100644 index 352129b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/reset-emptyRun-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/atsui-kerning-and-ligatures-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/atsui-kerning-and-ligatures-expected.png deleted file mode 100644 index 792a47b5..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/atsui-kerning-and-ligatures-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/atsui-partial-selection-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/atsui-partial-selection-expected.png deleted file mode 100644 index f08857b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/atsui-partial-selection-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/atsui-rtl-override-selection-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/atsui-rtl-override-selection-expected.png deleted file mode 100644 index 1a79b1ed..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/atsui-rtl-override-selection-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/complex-text-rtl-selection-repaint-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/complex-text-rtl-selection-repaint-expected.png deleted file mode 100644 index ed36d2ea..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/complex-text-rtl-selection-repaint-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/delete-hard-break-character-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/delete-hard-break-character-expected.png deleted file mode 100644 index c0660d47..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/delete-hard-break-character-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/emphasis-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/emphasis-expected.png deleted file mode 100644 index 6baefaa..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/emphasis-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/flexbox-selection-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/flexbox-selection-expected.png deleted file mode 100644 index 879d484f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/flexbox-selection-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/flexbox-selection-nested-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/flexbox-selection-nested-expected.png deleted file mode 100644 index f8d5d48..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/flexbox-selection-nested-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/justified-selection-at-edge-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/justified-selection-at-edge-expected.png deleted file mode 100644 index e131a33..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/justified-selection-at-edge-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/justified-selection-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/justified-selection-expected.png deleted file mode 100644 index ce7a063..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/justified-selection-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/khmer-selection-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/khmer-selection-expected.png deleted file mode 100644 index 6ae62e2..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/khmer-selection-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/mixed-directionality-selection-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/mixed-directionality-selection-expected.png deleted file mode 100644 index 82063aa..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/mixed-directionality-selection-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/pre-wrap-overflow-selection-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/pre-wrap-overflow-selection-expected.png deleted file mode 100644 index e3fe54b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/pre-wrap-overflow-selection-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/rtl-caret-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/rtl-caret-expected.png deleted file mode 100644 index b4d472c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/rtl-caret-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/select-ligature-1-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/select-ligature-1-expected.png deleted file mode 100644 index af2bc1e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/select-ligature-1-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/select-ligature-2-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/select-ligature-2-expected.png deleted file mode 100644 index 31b4753..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/select-ligature-2-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/select-ligature-3-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/select-ligature-3-expected.png deleted file mode 100644 index 9c5b1a0..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/select-ligature-3-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/select-new-line-with-line-break-normal-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/select-new-line-with-line-break-normal-expected.png deleted file mode 100644 index 014e7c63..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/select-new-line-with-line-break-normal-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/selection-hard-linebreak-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/selection-hard-linebreak-expected.png deleted file mode 100644 index 12bc914..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/selection-hard-linebreak-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/selection-multiple-runs-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/selection-multiple-runs-expected.png deleted file mode 100644 index 5edca8a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/selection-multiple-runs-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/selection-painting-hidpi-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/selection-painting-hidpi-expected.png deleted file mode 100644 index 86063f77..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/selection-painting-hidpi-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/selection-rect-line-height-too-big-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/selection-rect-line-height-too-big-expected.png deleted file mode 100644 index d2baf5d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/selection-rect-line-height-too-big-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/selection-rect-line-height-too-small-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/selection-rect-line-height-too-small-expected.png deleted file mode 100644 index 33648842..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/selection-rect-line-height-too-small-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/selection-with-inline-padding-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/selection-with-inline-padding-expected.png deleted file mode 100644 index aae6e2f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/selection-with-inline-padding-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/shaping-selection-rect-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/shaping-selection-rect-expected.png deleted file mode 100644 index c1b7927..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/shaping-selection-rect-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/should-use-atsui-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/should-use-atsui-expected.png deleted file mode 100644 index 0ae3d64e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/selection/should-use-atsui-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/shadow-no-blur-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/shadow-no-blur-expected.png deleted file mode 100644 index 7f06cb7..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/shadow-no-blur-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/shadow-translucent-fill-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/shadow-translucent-fill-expected.png deleted file mode 100644 index be6fd89..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/shadow-translucent-fill-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/shaping/same-script-different-lang-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/shaping/same-script-different-lang-expected.png deleted file mode 100644 index f988eb2..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/shaping/same-script-different-lang-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/shaping/shaping-script-order-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/shaping/shaping-script-order-expected.png deleted file mode 100644 index 69525b1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/shaping/shaping-script-order-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/small-caps-turkish-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/small-caps-turkish-expected.png deleted file mode 100644 index 237c000..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/small-caps-turkish-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/softHyphen-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/softHyphen-expected.png deleted file mode 100644 index 66bc70d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/softHyphen-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/stroking-decorations-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/stroking-decorations-expected.png deleted file mode 100644 index bf121654..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/stroking-decorations-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/stroking-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/stroking-expected.png deleted file mode 100644 index e3345d5..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/stroking-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/text-letter-spacing-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/text-letter-spacing-expected.png deleted file mode 100644 index fe34a95..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/text-letter-spacing-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/text-shadow-no-default-color-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/text-shadow-no-default-color-expected.png deleted file mode 100644 index b157d4a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/text-shadow-no-default-color-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/text-stroke-with-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/text-stroke-with-border-expected.png deleted file mode 100644 index b203ea5..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/text-stroke-with-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/textIteratorNilRenderer-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/textIteratorNilRenderer-expected.png deleted file mode 100644 index fcac98f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/textIteratorNilRenderer-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/trailing-white-space-2-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/trailing-white-space-2-expected.png deleted file mode 100644 index 9083dbf..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/trailing-white-space-2-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/trailing-white-space-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/trailing-white-space-expected.png deleted file mode 100644 index 6eba983..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/trailing-white-space-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/unicode-fallback-font-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/unicode-fallback-font-expected.png deleted file mode 100644 index 02f06454..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/unicode-fallback-font-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/updateNewFont-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/updateNewFont-expected.png deleted file mode 100644 index 0948870..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/updateNewFont-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/variable-fonts/cff2-variations-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/variable-fonts/cff2-variations-expected.png deleted file mode 100644 index 09b6017..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/variable-fonts/cff2-variations-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/vertical-rl-rtl-linebreak-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/vertical-rl-rtl-linebreak-expected.png deleted file mode 100644 index 9c742f6..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/vertical-rl-rtl-linebreak-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/vertical-surrogate-pair-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/vertical-surrogate-pair-expected.png deleted file mode 100644 index 0f06b99..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/vertical-surrogate-pair-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/wbr-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/wbr-expected.png deleted file mode 100644 index b36cd66..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/wbr-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/wbr-in-pre-crash-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/wbr-in-pre-crash-expected.png deleted file mode 100644 index 1d047f2..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/wbr-in-pre-crash-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/wbr-pre-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/wbr-pre-expected.png deleted file mode 100644 index 56bce33..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/wbr-pre-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/wbr-styled-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/wbr-styled-expected.png deleted file mode 100644 index f260c94..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/wbr-styled-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/webfont-synthetic-bold-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/webfont-synthetic-bold-expected.png deleted file mode 100644 index ed4da967..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/webfont-synthetic-bold-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/001-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/001-expected.png deleted file mode 100644 index 08911de..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/001-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/002-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/002-expected.png deleted file mode 100644 index 5e76a67..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/002-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/003-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/003-expected.png deleted file mode 100644 index 5e76a67..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/003-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/004-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/004-expected.png deleted file mode 100644 index 59747e8..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/004-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/005-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/005-expected.png deleted file mode 100644 index 94776f2..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/005-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/007-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/007-expected.png deleted file mode 100644 index 46baecb..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/007-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/008-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/008-expected.png deleted file mode 100644 index 045a541f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/008-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/009-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/009-expected.png deleted file mode 100644 index 1b2d226..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/009-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/010-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/010-expected.png deleted file mode 100644 index 59747e8..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/010-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/011-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/011-expected.png deleted file mode 100644 index 94776f2..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/011-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/012-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/012-expected.png deleted file mode 100644 index 25a28df7..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/012-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/015-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/015-expected.png deleted file mode 100644 index 59747e8..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/015-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/016-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/016-expected.png deleted file mode 100644 index 94776f2..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/016-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/018-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/018-expected.png deleted file mode 100644 index 94572ad..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/018-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/019-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/019-expected.png deleted file mode 100644 index 9ddbe568..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/019-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/020-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/020-expected.png deleted file mode 100644 index c7a7c31c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/020-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/021-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/021-expected.png deleted file mode 100644 index 51eefb897..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/021-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/022-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/022-expected.png deleted file mode 100644 index c6efce0f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/022-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/023-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/023-expected.png deleted file mode 100644 index 3679bd6..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/023-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/024-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/024-expected.png deleted file mode 100644 index 82606be..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/024-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/025-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/025-expected.png deleted file mode 100644 index 41f399c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/025-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/026-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/026-expected.png deleted file mode 100644 index 707ddda..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/026-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/027-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/027-expected.png deleted file mode 100644 index f0f3ae9d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/027-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/028-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/028-expected.png deleted file mode 100644 index 03ab68a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/028-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/029-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/029-expected.png deleted file mode 100644 index 82a2f38..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/029-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/030-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/030-expected.png deleted file mode 100644 index 5fd0315d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/030-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/nbsp-mode-and-linewraps-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/nbsp-mode-and-linewraps-expected.png deleted file mode 100644 index ab5e8bd..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/nbsp-mode-and-linewraps-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/normal-after-nowrap-breaking-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/normal-after-nowrap-breaking-expected.png deleted file mode 100644 index b819bfaa..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/normal-after-nowrap-breaking-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/nowrap-clear-float-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/nowrap-clear-float-expected.png deleted file mode 100644 index e51d5e6..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/nowrap-clear-float-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/pre-newline-box-test-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/pre-newline-box-test-expected.png deleted file mode 100644 index 1fbfc62..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/pre-newline-box-test-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/pre-wrap-last-char-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/pre-wrap-last-char-expected.png deleted file mode 100644 index 51e85dd..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/pre-wrap-last-char-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/pre-wrap-line-test-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/pre-wrap-line-test-expected.png deleted file mode 100644 index 25a665b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/pre-wrap-line-test-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/span-in-word-space-causes-overflow-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/span-in-word-space-causes-overflow-expected.png deleted file mode 100644 index c935fbe..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/span-in-word-space-causes-overflow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/tab-character-basics-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/tab-character-basics-expected.png deleted file mode 100644 index 394fa5e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/whitespace/tab-character-basics-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/word-break-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/word-break-expected.png deleted file mode 100644 index 7755a8b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/word-break-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/word-break-run-rounding-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/word-break-run-rounding-expected.png deleted file mode 100644 index 45a8614..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/word-break-run-rounding-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/word-break-soft-hyphen-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/word-break-soft-hyphen-expected.png deleted file mode 100644 index 56f2fae..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/word-break-soft-hyphen-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/word-space-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/word-space-expected.png deleted file mode 100644 index ec7342e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/word-space-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/zero-font-size-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/zero-font-size-expected.png deleted file mode 100644 index f22f90d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/text-antialias/zero-font-size-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-inpage-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-inpage-appearance-basic-expected.png deleted file mode 100644 index 299681d1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-inpage-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-multiple-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-multiple-appearance-basic-expected.png deleted file mode 100644 index c70092c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-multiple-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-multiple-hover-selected-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-multiple-hover-selected-expected.png deleted file mode 100644 index 06378e10f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-multiple-hover-selected-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-multiple-hover-unselected-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-multiple-hover-unselected-expected.png deleted file mode 100644 index ca3ec0d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-multiple-hover-unselected-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-popup-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-popup-appearance-basic-expected.png deleted file mode 100644 index fce436f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-popup-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/user-activation-v2/fast/events/context-no-deselect-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/user-activation-v2/fast/events/context-no-deselect-expected.png deleted file mode 100644 index 7305d55..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/user-activation-v2/fast/events/context-no-deselect-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/video-surface-layer/media/track/track-cue-rendering-vertical-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/video-surface-layer/media/track/track-cue-rendering-vertical-expected.png deleted file mode 100644 index 07055e21..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/video-surface-layer/media/track/track-cue-rendering-vertical-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/web-components-v0-disabled/fast/dom/timer-throttling-hidden-page-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/web-components-v0-disabled/fast/dom/timer-throttling-hidden-page-expected.txt deleted file mode 100644 index d3e121f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/web-components-v0-disabled/fast/dom/timer-throttling-hidden-page-expected.txt +++ /dev/null
@@ -1,16 +0,0 @@ -Bug 98474: Throttle DOM timers on hidden pages. - -On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". - -PASS timerIntervalWhilePageVisible is within 200 of 100 -PASS firstTimerIntervalWhilePageNotVisible is >= 0 -PASS firstTimerIntervalWhilePageNotVisible <= 1300 is true -PASS timerIntervalWhilePageNotVisible is within 200 of 1000 -PASS timerIntervalWhilePageVisible is within 200 of 100 -PASS timerIntervalWhilePageVisible is within 200 of 100 -PASS successfullyParsed is true - -TEST COMPLETE - - -This test measures the time taken to fire a 100ms DOM Timer when the page visibility is set to "visible", "hidden", and then back to "visible". Due to page timer throttling, the timer should fire close to 1s when page is hidden. And it should fire close to 100ms, when the page is visible.
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/web-components-v0-disabled/fast/parser/entity-comment-in-textarea-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/web-components-v0-disabled/fast/parser/entity-comment-in-textarea-expected.png deleted file mode 100644 index f38e49e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/web-components-v0-disabled/fast/parser/entity-comment-in-textarea-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/web-components-v0-disabled/fast/parser/open-comment-in-textarea-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/web-components-v0-disabled/fast/parser/open-comment-in-textarea-expected.png deleted file mode 100644 index e2b0696b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/web-components-v0-disabled/fast/parser/open-comment-in-textarea-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-1-and-click-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-1-and-click-expected.png deleted file mode 100644 index a0acb64..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-1-and-click-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/web-components-v0-disabled/html/details_summary/details-replace-summary-child-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/web-components-v0-disabled/html/details_summary/details-replace-summary-child-expected.png deleted file mode 100644 index 9059339e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/web-components-v0-disabled/html/details_summary/details-replace-summary-child-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/web-components-v0-disabled/html/details_summary/details-replace-text-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/web-components-v0-disabled/html/details_summary/details-replace-text-expected.png deleted file mode 100644 index dc6a7b25..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/web-components-v0-disabled/html/details_summary/details-replace-text-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/css2.1/t1202-counter-04-b-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/css2.1/t1202-counter-04-b-expected.png deleted file mode 100644 index 5cdee49..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/css2.1/t1202-counter-04-b-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/css2.1/t1202-counters-04-b-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/css2.1/t1202-counters-04-b-expected.png deleted file mode 100644 index e5b0e78..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/css2.1/t1202-counters-04-b-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/css3/masking/mask-repeat-space-padding-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/css3/masking/mask-repeat-space-padding-expected.png deleted file mode 100644 index d2575e9..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/css3/masking/mask-repeat-space-padding-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/custom-elements/form-validation-bubble-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/custom-elements/form-validation-bubble-appearance-expected.png deleted file mode 100644 index 16f638a9..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/custom-elements/form-validation-bubble-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/content-security-policy/securitypolicyviolation/securitypolicyviolation-block-cross-origin-image.sub-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/content-security-policy/securitypolicyviolation/securitypolicyviolation-block-cross-origin-image.sub-expected.txt deleted file mode 100644 index 4f655ba..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/content-security-policy/securitypolicyviolation/securitypolicyviolation-block-cross-origin-image.sub-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL Non-redirected cross-origin URLs are not stripped. Failed to construct 'URL': Invalid URL -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/css/css-text-decor/text-decoration-width-computed-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/css/css-text-decor/text-decoration-width-computed-expected.txt deleted file mode 100644 index 03ec802..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/css/css-text-decor/text-decoration-width-computed-expected.txt +++ /dev/null
@@ -1,6 +0,0 @@ -This is a testharness.js-based test. -FAIL Property text-decoration-width value 'auto' computes to 'auto' assert_true: text-decoration-width doesn't seem to be supported in the computed style expected true got false -FAIL Property text-decoration-width value 'from-font' computes to 'from-font' assert_true: text-decoration-width doesn't seem to be supported in the computed style expected true got false -FAIL Property text-decoration-width value 'calc(10px - 8px)' computes to '2px' assert_true: text-decoration-width doesn't seem to be supported in the computed style expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/css/css-text-decor/text-decoration-width-valid-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/css/css-text-decor/text-decoration-width-valid-expected.txt deleted file mode 100644 index 09b05db..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/css/css-text-decor/text-decoration-width-valid-expected.txt +++ /dev/null
@@ -1,11 +0,0 @@ -This is a testharness.js-based test. -FAIL e.style['text-decoration-width'] = "auto" should set the property value assert_not_equals: property should be set got disallowed value "" -FAIL e.style['text-decoration-width'] = "from-font" should set the property value assert_not_equals: property should be set got disallowed value "" -FAIL e.style['text-decoration-width'] = "-10px" should set the property value assert_not_equals: property should be set got disallowed value "" -FAIL e.style['text-decoration-width'] = "2001em" should set the property value assert_not_equals: property should be set got disallowed value "" -FAIL e.style['text-decoration-width'] = "-49em" should set the property value assert_not_equals: property should be set got disallowed value "" -FAIL e.style['text-decoration-width'] = "53px" should set the property value assert_not_equals: property should be set got disallowed value "" -FAIL e.style['text-decoration-width'] = "calc(40em - 10px)" should set the property value assert_not_equals: property should be set got disallowed value "" -FAIL e.style['text-decoration-width'] = "calc(-50em + 13px)" should set the property value assert_not_equals: property should be set got disallowed value "" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/css/css-text/i18n/other-lang/css-text-line-break-de-in-loose-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/css/css-text/i18n/other-lang/css-text-line-break-de-in-loose-expected.txt deleted file mode 100644 index ee73f7ad..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/css/css-text/i18n/other-lang/css-text-line-break-de-in-loose-expected.txt +++ /dev/null
@@ -1,8 +0,0 @@ -This is a testharness.js-based test. -FAIL 2024 ONE DOT LEADER may appear at line start if de and loose assert_true: expected true got false -FAIL 2025 TWO DOT LEADER may appear at line start if de and loose assert_true: expected true got false -FAIL 2026 HORIZONTAL ELLIPSIS may appear at line start if de and loose assert_true: expected true got false -FAIL 22EF MIDLINE HORIZONTAL ELLIPSIS may appear at line start if de and loose assert_true: expected true got false -FAIL FE19 PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS may appear at line start if de and loose assert_true: expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-pr-strict-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-pr-strict-expected.txt deleted file mode 100644 index 5d9d42c5..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-pr-strict-expected.txt +++ /dev/null
@@ -1,11 +0,0 @@ -This is a testharness.js-based test. -FAIL 00B1 PLUS-MINUS SIGN may NOT appear at line start if zh and strict assert_true: expected true got false -FAIL 20AC EURO SIGN may NOT appear at line start if zh and strict assert_true: expected true got false -FAIL 2116 NUMERO SIGN may NOT appear at line start if zh and strict assert_true: expected true got false -FAIL FE69 SMALL DOLLAR SIGN may NOT appear at line start if zh and strict assert_true: expected true got false -FAIL FF04 FULLWIDTH DOLLAR SIGN may NOT appear at line start if zh and strict assert_true: expected true got false -FAIL FFE1 FULLWIDTH POUND SIGN may NOT appear at line start if zh and strict assert_true: expected true got false -FAIL FFE5 FULLWIDTH YEN SIGN may NOT appear at line start if zh and strict assert_true: expected true got false -FAIL FFE6 FULLWIDTH WON SIGN may NOT appear at line start if zh and strict assert_true: expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/css/css-text/white-space/control-chars-00C-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/css/css-text/white-space/control-chars-00C-expected.png deleted file mode 100644 index e69de29..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/css/css-text/white-space/control-chars-00C-expected.png +++ /dev/null
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/css/cssom/getComputedStyle-width-scroll.tentative-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/css/cssom/getComputedStyle-width-scroll.tentative-expected.txt deleted file mode 100644 index 587d4b1db..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/css/cssom/getComputedStyle-width-scroll.tentative-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL getComputedStyle() round-trips in presence of scrollbars assert_equals: width round-trips expected "85px" but got "70px" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/dom/events/scrolling/scrollend-event-for-user-scroll-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/dom/events/scrolling/scrollend-event-for-user-scroll-expected.txt deleted file mode 100644 index 0c871762..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/dom/events/scrolling/scrollend-event-for-user-scroll-expected.txt +++ /dev/null
@@ -1,7 +0,0 @@ -This is a testharness.js-based test. -FAIL Tests that the target_div gets scrollend event when dragging scroll on target. promise_test: Unhandled rejection with value: "target_div did not receive scrollend event after dragging scroll on target." -FAIL Tests that the target_div gets scrollend event when click scrollbar on target. promise_test: Unhandled rejection with value: "target_div did not receive scrollend event after clicking scrollbar on target." -FAIL Tests that the target_div gets scrollend event when drag the thumb of target. promise_test: Unhandled rejection with value: "target_div did not receive scrollend event after dragging the thumb of target." -FAIL Tests that the target_div gets scrollend event when send DOWN key to target. assert_true: expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.resize-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.resize-expected.txt deleted file mode 100644 index ddd06474..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.resize-expected.txt +++ /dev/null
@@ -1,13 +0,0 @@ -This is a testharness.js-based test. -PASS Verify that writing to the width and height attributes of an OffscreenCanvas works when there is no context attached. -PASS Verify that writing to the width and height attributes of an OffscreenCanvas works when there is a 2d context attached. -PASS Verify that writing to the width and height attributes of an OffscreenCanvas works when there is a webgl context attached. -PASS Verify that writing to the width or height attribute of a placeholder canvas throws an exception -PASS Verify that writing to the width or height attribute of a placeholder canvas throws an exception even when not changing the value of the attribute. -PASS Verify that resizing a 2d context resets its state. -PASS Verify that setting the size of a 2d context to the same size it already had resets its state. -PASS Verify that resizing an OffscreenCanvas with a 2d context propagates the new size to its placeholder canvas asynchronously. -PASS Verify that resizing an OffscreenCanvas with a webgl context propagates the new size to its placeholder canvas asynchronously. -PASS Verify that drawImage uses the size of the frame as the intinsic size of a placeholder canvas. -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/html/cross-origin-opener/new_window_same_site_unsafe_allow_outgoing.tentative-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/html/cross-origin-opener/new_window_same_site_unsafe_allow_outgoing.tentative-expected.txt deleted file mode 100644 index 4c79453..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/html/cross-origin-opener/new_window_same_site_unsafe_allow_outgoing.tentative-expected.txt +++ /dev/null
@@ -1,21 +0,0 @@ -This is a testharness.js-based test. -PASS same-site_unsafe-allow-outgoing document opening popup to http://web-platform.test:8001 with COOP: "" -PASS same-site_unsafe-allow-outgoing document opening popup to http://web-platform.test:8001 with COOP: "jibberish" -FAIL same-site_unsafe-allow-outgoing document opening popup to http://web-platform.test:8001 with COOP: "same-site" assert_equals: expected "" but got "same-site_unsafe-allow-outgoing_to_SAME_ORIGIN_same-site" -PASS same-site_unsafe-allow-outgoing document opening popup to http://web-platform.test:8001 with COOP: "same-site unsafe-allow-outgoing" -FAIL same-site_unsafe-allow-outgoing document opening popup to http://web-platform.test:8001 with COOP: "same-origin" assert_equals: expected "" but got "same-site_unsafe-allow-outgoing_to_SAME_ORIGIN_same-origin" -FAIL same-site_unsafe-allow-outgoing document opening popup to http://web-platform.test:8001 with COOP: "same-origin unsafe-allow-outgoing" assert_equals: expected "" but got "same-site_unsafe-allow-outgoing_to_SAME_ORIGIN_same-origin-unsafe-allow-outgoing" -PASS same-site_unsafe-allow-outgoing document opening popup to http://www1.web-platform.test:8001 with COOP: "" -PASS same-site_unsafe-allow-outgoing document opening popup to http://www1.web-platform.test:8001 with COOP: "jibberish" -FAIL same-site_unsafe-allow-outgoing document opening popup to http://www1.web-platform.test:8001 with COOP: "same-site" assert_equals: expected "" but got "same-site_unsafe-allow-outgoing_to_SAME_SITE_same-site" -PASS same-site_unsafe-allow-outgoing document opening popup to http://www1.web-platform.test:8001 with COOP: "same-site unsafe-allow-outgoing" -FAIL same-site_unsafe-allow-outgoing document opening popup to http://www1.web-platform.test:8001 with COOP: "same-origin" assert_equals: expected "" but got "same-site_unsafe-allow-outgoing_to_SAME_SITE_same-origin" -FAIL same-site_unsafe-allow-outgoing document opening popup to http://www1.web-platform.test:8001 with COOP: "same-origin unsafe-allow-outgoing" assert_equals: expected "" but got "same-site_unsafe-allow-outgoing_to_SAME_SITE_same-origin-unsafe-allow-outgoing" -PASS same-site_unsafe-allow-outgoing document opening popup to http://not-web-platform.test:8001 with COOP: "" -PASS same-site_unsafe-allow-outgoing document opening popup to http://not-web-platform.test:8001 with COOP: "jibberish" -FAIL same-site_unsafe-allow-outgoing document opening popup to http://not-web-platform.test:8001 with COOP: "same-site" assert_equals: expected "" but got "same-site_unsafe-allow-outgoing_to_CROSS_ORIGIN_same-site" -FAIL same-site_unsafe-allow-outgoing document opening popup to http://not-web-platform.test:8001 with COOP: "same-site unsafe-allow-outgoing" assert_equals: expected "" but got "same-site_unsafe-allow-outgoing_to_CROSS_ORIGIN_same-site-unsafe-allow-outgoing" -FAIL same-site_unsafe-allow-outgoing document opening popup to http://not-web-platform.test:8001 with COOP: "same-origin" assert_equals: expected "" but got "same-site_unsafe-allow-outgoing_to_CROSS_ORIGIN_same-origin" -FAIL same-site_unsafe-allow-outgoing document opening popup to http://not-web-platform.test:8001 with COOP: "same-origin unsafe-allow-outgoing" assert_equals: expected "" but got "same-site_unsafe-allow-outgoing_to_CROSS_ORIGIN_same-origin-unsafe-allow-outgoing" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/html/cross-origin/anonymous.tentative-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/html/cross-origin/anonymous.tentative-expected.txt deleted file mode 100644 index 9e6555e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/html/cross-origin/anonymous.tentative-expected.txt +++ /dev/null
@@ -1,13 +0,0 @@ -This is a testharness.js-based test. -FAIL Top-level with anonymous policy: navigating a frame to a null policy should fail. assert_equals: expected null but got Document node with 1 child -FAIL Top-level with anonymous policy: navigating a frame from an anonymous policy to a null policy should fail. assert_equals: Navigation to null policy should fail expected null but got Document node with 1 child -FAIL Top-level with anonymous policy: navigating a frame from a use-credentials policy to a null policy should fail. assert_equals: Navigation to null policy should fail expected null but got Document node with 1 child -PASS Top-level with anonymous policy: creating a noopener popup with null policy should work. -PASS Top-level with anonymous policy: creating a popup with null policy should fail. -PASS Top-level noopener with anonymous policy: navigating to a different policy should work -FAIL Fetch policy: anonymous policy no-cors fetches should be changed to cors assert_equals: type should have been changed to cors expected "cors" but got "opaque" -PASS Top-level popup with anonymous policy: Navigating the popup to a null policy should fail. -PASS Top-level popup with anonymous policy: Navigating the popup to a null policy should fail. (even when we clear the opener) -PASS Top-level popup with anonymous policy: Navigating the popup to a null policy should fail. (even opener window is closed) -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/pointerevents/pointerevent_pointercapture_in_frame-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/pointerevents/pointerevent_pointercapture_in_frame-expected.txt deleted file mode 100644 index 4d3d205..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/pointerevents/pointerevent_pointercapture_in_frame-expected.txt +++ /dev/null
@@ -1,15 +0,0 @@ -This is a testharness.js-based test. -PASS Test mousepointer capture in same-origin frame: Pointer down at inner frame and set pointer capture. -PASS Test mousepointer capture in same-origin frame: Pointer down at outer frame body and set pointer capture. -PASS Test mousepointer capture in same-origin frame: Pointerdown with set capture at inner frame, then release on next pointermove. -PASS Test mousepointer capture in same-origin frame: Pointerdown with set capture at outer frame, then release on next pointermove. -PASS Test touchpointer capture in same-origin frame: Pointer down at inner frame and set pointer capture. -PASS Test touchpointer capture in same-origin frame: Pointer down at outer frame body and set pointer capture. -PASS Test touchpointer capture in same-origin frame: Pointerdown with set capture at inner frame, then release on next pointermove. -PASS Test touchpointer capture in same-origin frame: Pointerdown with set capture at outer frame, then release on next pointermove. -PASS Test penpointer capture in same-origin frame: Pointer down at inner frame and set pointer capture. -FAIL Test penpointer capture in same-origin frame: Pointer down at outer frame body and set pointer capture. assert_array_equals: Received events: outerFrame received pointerdown,outerFrame received gotpointercapture,outerFrame received pointermove,innerFrame received pointerup lengths differ, expected array ["outerFrame received pointerdown", "outerFrame received gotpointercapture", "outerFrame received pointermove", "outerFrame received pointerup", "outerFrame received lostpointercapture"] length 5, got ["outerFrame received pointerdown", "outerFrame received gotpointercapture", "outerFrame received pointermove", "innerFrame received pointerup"] length 4 -PASS Test penpointer capture in same-origin frame: Pointerdown with set capture at inner frame, then release on next pointermove. -PASS Test penpointer capture in same-origin frame: Pointerdown with set capture at outer frame, then release on next pointermove. -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/shape-detection/idlharness.https.any.sharedworker-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/shape-detection/idlharness.https.any.sharedworker-expected.txt deleted file mode 100644 index e69de29..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/shape-detection/idlharness.https.any.sharedworker-expected.txt +++ /dev/null
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/web-animations/interfaces/AnimationTimeline/document-timeline-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/web-animations/interfaces/AnimationTimeline/document-timeline-expected.txt deleted file mode 100644 index b6d094d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/web-animations/interfaces/AnimationTimeline/document-timeline-expected.txt +++ /dev/null
@@ -1,8 +0,0 @@ -This is a testharness.js-based test. -PASS document.timeline identity tests -FAIL document.timeline.currentTime value tests assert_equals: document.timeline.currentTime matches requestAnimationFrame time expected 212.37900000051013 but got 227.00766666639538 -PASS document.timeline.currentTime liveness tests -PASS iframe document.timeline.currentTime liveness tests -PASS document.timeline.currentTime time should be the same for all RAF callbacks in a frame -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/webaudio/the-audio-api/the-audiocontext-interface/processing-after-resume.https-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/webaudio/the-audio-api/the-audiocontext-interface/processing-after-resume.https-expected.txt deleted file mode 100644 index a031495..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/webaudio/the-audio-api/the-audiocontext-interface/processing-after-resume.https-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL Test consistency of processing after resume() assert_equals: construct time before resume expected 0.06095238095238095 but got 0 -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/webaudio/the-audio-api/the-oscillatornode-interface/osc-basic-waveform-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/webaudio/the-audio-api/the-oscillatornode-interface/osc-basic-waveform-expected.txt deleted file mode 100644 index 94757926..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/webaudio/the-audio-api/the-oscillatornode-interface/osc-basic-waveform-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -This is a testharness.js-based test. -PASS # AUDIT TASK RUNNER STARTED. -PASS Executing "Test 0" -PASS Executing "Test 1" -PASS Executing "Test 2" -PASS Executing "Test 3" -PASS Executing "Test 4" -PASS Executing "Test 5" -PASS Audit report -PASS > [Test 0] Sine wave: 100 Hz -PASS Sine: 100 Hz equals [0,0.014247103594243526,0.028491314500570297,0.04272974282503128,0.056959498673677444,0.07117769122123718,0.08538143336772919,0.09956784546375275,0.11373404413461685,0.1278771609067917,0.14199431240558624,0.1560826450586319,0.17013929784297943,0.18416140973567963,0.19814614951610565,0.2120906561613083...] with an element-wise tolerance of {"absoluteThreshold":0.0000018045,"relativeThreshold":0}. -PASS Sine: SNR (db) is greater than or equal to 118.91. -PASS < [Test 0] All assertions passed. (total 2 assertions) -PASS > [Test 1] Sine wave: -100 Hz -FAIL X Sine: -100 Hz does not equal [0,-0.014247103594243526,-0.028491314500570297,-0.04272974282503128,-0.056959498673677444,-0.07117769122123718,-0.08538143336772919,-0.09956784546375275,-0.11373404413461685,-0.1278771609067917,-0.14199431240558624,-0.1560826450586319,-0.17013929784297943,-0.18416140973567963,-0.19814614951610565,-0.2120906561613083...] with an element-wise tolerance of {"absoluteThreshold":4.1724e-7,"relativeThreshold":0}. - Index Actual Expected AbsError RelError Test threshold - [116] -9.9664568901062012e-1 -9.9664616584777832e-1 4.7683715820312500e-7 4.7844177255978550e-7 4.1724000000000000e-7 - Max AbsError of 4.7683715820312500e-7 at index of 116. - Max RelError of 4.7844177255978550e-7 at index of 116. - assert_true: expected true got false -PASS Sine: SNR (db) is greater than or equal to 130.95. -FAIL < [Test 1] 1 out of 2 assertions were failed. assert_true: expected true got false -PASS > [Test 2] Sine wave: 2 Hz -PASS Sine: 2 Hz equals [0,0.0002849517040885985,0.000569903408177197,0.0008548550540581346,0.0011398065835237503,0.001424758112989366,0.0017097094096243382,0.0019946605898439884,0.0022796117700636387,0.0025645627174526453,0.0028495131991803646,0.003134463680908084,0.0034194139298051596,0.003704363713040948,0.003989313263446093,0.004274262581020594...] with an element-wise tolerance of {"absoluteThreshold":1.4516e-7,"relativeThreshold":0}. -PASS Sine: SNR (db) is greater than or equal to 119.93. -PASS < [Test 2] All assertions passed. (total 2 assertions) -PASS > [Test 3] Sine wave: 1 Hz -PASS Sine: 1 Hz equals [0,0.00014247585204429924,0.0002849517040885985,0.00042742755613289773,0.000569903408177197,0.0007123792311176658,0.0008548550540581346,0.0009973308769986033,0.0011398065835237503,0.001282282406464219,0.001424758112989366,0.001567233819514513,0.0017097094096243382,0.0018521851161494851,0.0019946605898439884,0.0021371361799538136...] with an element-wise tolerance of {"absoluteThreshold":1.4157e-7,"relativeThreshold":0}. -PASS Sine: SNR (db) is greater than or equal to 112.22. -PASS < [Test 3] All assertions passed. (total 2 assertions) -PASS > [Test 4] Custom wave: 100 Hz -PASS Custom: 100 Hz equals [1,1.0141456127166748,1.0280853509902954,1.0418163537979126,1.0553359985351562,1.0686413049697876,1.081729769706726,1.094598650932312,1.1072453260421753,1.1196671724319458,1.1318618059158325,1.1438266038894653,1.1555593013763428,1.1670573949813843,1.1783186197280884,1.189340591430664...] with an element-wise tolerance of {"absoluteThreshold":0.0000018478,"relativeThreshold":0}. -PASS Custom: SNR (db) is greater than or equal to 122.43. -PASS < [Test 4] All assertions passed. (total 2 assertions) -PASS > [Test 5] Custom wave: 1 Hz -PASS Custom: 1 Hz equals [1,1.0001424551010132,1.0002849102020264,1.0004273653030396,1.0005697011947632,1.0007121562957764,1.0008544921875,1.0009968280792236,1.0011391639709473,1.001281499862671,1.001423716545105,1.0015660524368286,1.0017082691192627,1.0018504858016968,1.0019927024841309,1.0021347999572754...] with an element-wise tolerance of {"absoluteThreshold":4.7684e-7,"relativeThreshold":0}. -PASS Custom: SNR (db) is greater than or equal to 138.76. -PASS < [Test 5] All assertions passed. (total 2 assertions) -FAIL # AUDIT TASK RUNNER FINISHED: 1 out of 6 tasks were failed. assert_true: expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/xhr/abort-after-send.any-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/xhr/abort-after-send.any-expected.txt deleted file mode 100644 index 0f10f7e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/xhr/abort-after-send.any-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL XMLHttpRequest: abort() after send() assert_equals: expected "abort(0,0,false)" but got "upload.abort(0,0,false)" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/block/positioning/047-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/block/positioning/047-expected.png deleted file mode 100644 index dbf0a60..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/block/positioning/047-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/dnd/link-dragging-draggable-div-with-dragged-link-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/dnd/link-dragging-draggable-div-with-dragged-link-expected.png deleted file mode 100644 index 57036e8..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/dnd/link-dragging-draggable-div-with-dragged-link-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/dnd/link-dragging-non-draggable-link-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/dnd/link-dragging-non-draggable-link-expected.png deleted file mode 100644 index 7c077df..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/dnd/link-dragging-non-draggable-link-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/dom/rtl-scroll-to-leftmost-and-resize-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/dom/rtl-scroll-to-leftmost-and-resize-expected.png deleted file mode 100644 index c4bf06bb..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/dom/rtl-scroll-to-leftmost-and-resize-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/events/context-no-deselect-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/events/context-no-deselect-expected.png deleted file mode 100644 index 6abe93d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/events/context-no-deselect-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png deleted file mode 100644 index 3f705a75..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png deleted file mode 100644 index b0c779e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png deleted file mode 100644 index 27c4ab0..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/color-scheme/meter/meter-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/color-scheme/meter/meter-appearance-basic-expected.png deleted file mode 100644 index b58d39c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/color-scheme/meter/meter-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/color-scheme/radio/radio-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/color-scheme/radio/radio-appearance-basic-expected.png deleted file mode 100644 index e8b5811..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/color-scheme/radio/radio-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/color-scheme/select/select-multiple-hover-focused-unselected-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/color-scheme/select/select-multiple-hover-focused-unselected-expected.png deleted file mode 100644 index 2c95c70..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/color-scheme/select/select-multiple-hover-focused-unselected-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/color-scheme/select/select-multiple-hover-unselected-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/color-scheme/select/select-multiple-hover-unselected-expected.png deleted file mode 100644 index ca3ec0d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/color-scheme/select/select-multiple-hover-unselected-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/color-scheme/select/select-popup-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/color-scheme/select/select-popup-appearance-basic-expected.png deleted file mode 100644 index 982a9482..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/color-scheme/select/select-popup-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/color-scheme/text/input-basic-box-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/color-scheme/text/input-basic-box-appearance-basic-expected.png deleted file mode 100644 index b3ac421e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/color-scheme/text/input-basic-box-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.png deleted file mode 100644 index 3509c9e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/file/file-appearance-bidi-filenames-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/file/file-appearance-bidi-filenames-expected.png deleted file mode 100644 index c6c48b80..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/file/file-appearance-bidi-filenames-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/month/month-appearance-l10n-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/month/month-appearance-l10n-expected.png deleted file mode 100644 index ed63e033..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/month/month-appearance-l10n-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/suggestion-picker/date-suggestion-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/suggestion-picker/date-suggestion-picker-appearance-zoom125-expected.png deleted file mode 100644 index a205478..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/suggestion-picker/date-suggestion-picker-appearance-zoom125-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/suggestion-picker/date-suggestion-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/suggestion-picker/date-suggestion-picker-appearance-zoom200-expected.png deleted file mode 100644 index 17047d0..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/suggestion-picker/date-suggestion-picker-appearance-zoom200-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/validation-bubble-appearance-edge-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/validation-bubble-appearance-edge-expected.png deleted file mode 100644 index a2ed4f6..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/validation-bubble-appearance-edge-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/validation-bubble-appearance-escape-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/validation-bubble-appearance-escape-expected.png deleted file mode 100644 index b094b80..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/validation-bubble-appearance-escape-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/validation-bubble-appearance-iframe-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/validation-bubble-appearance-iframe-expected.png deleted file mode 100644 index d5c70dc..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/validation-bubble-appearance-iframe-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/validation-bubble-appearance-rtl-ui-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/validation-bubble-appearance-rtl-ui-expected.png deleted file mode 100644 index 838e5a6f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/validation-bubble-appearance-rtl-ui-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/validation-bubble-appearance-wrap-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/validation-bubble-appearance-wrap-expected.png deleted file mode 100644 index 29dd257..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/validation-bubble-appearance-wrap-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/validation-bubble-device-emulation-change-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/validation-bubble-device-emulation-change-expected.png deleted file mode 100644 index 6068c94..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/validation-bubble-device-emulation-change-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/validation-bubble-device-emulation-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/validation-bubble-device-emulation-expected.png deleted file mode 100644 index 6068c94..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/validation-bubble-device-emulation-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/ruby/nested-ruby-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/ruby/nested-ruby-expected.png deleted file mode 100644 index 16c53d1be..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/ruby/nested-ruby-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-cell-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-cell-collapsed-border-expected.png deleted file mode 100644 index aced896..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-cell-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-cell-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-cell-expected.png deleted file mode 100644 index 3a5fc3b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-cell-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-collapsed-border-expected.png deleted file mode 100644 index 7e065c3e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-column-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-column-collapsed-border-expected.png deleted file mode 100644 index 6a2f9365..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-column-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-column-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-column-expected.png deleted file mode 100644 index 05dc7ef..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-column-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-column-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-column-group-collapsed-border-expected.png deleted file mode 100644 index 66373f8..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-column-group-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-column-group-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-column-group-expected.png deleted file mode 100644 index c4f17b1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-column-group-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-expected.png deleted file mode 100644 index b45d7223..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-quirks-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-quirks-collapsed-border-expected.png deleted file mode 100644 index baaa9084..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-quirks-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-quirks-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-quirks-expected.png deleted file mode 100644 index a73dbb5..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-quirks-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-row-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-row-collapsed-border-expected.png deleted file mode 100644 index b1ce6ad..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-row-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-row-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-row-expected.png deleted file mode 100644 index b93078f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-row-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-row-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-row-group-collapsed-border-expected.png deleted file mode 100644 index 9a71db5..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-row-group-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-row-group-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-row-group-expected.png deleted file mode 100644 index 78ef95be..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_border-table-row-group-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_layers-hide-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_layers-hide-collapsed-border-expected.png deleted file mode 100644 index 1c8ab7a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_layers-hide-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_layers-hide-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_layers-hide-expected.png deleted file mode 100644 index 4998730..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_layers-hide-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-cell-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-cell-collapsed-border-expected.png deleted file mode 100644 index c9e3d7f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-cell-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-cell-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-cell-expected.png deleted file mode 100644 index c753fda..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-cell-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-collapsed-border-expected.png deleted file mode 100644 index a319713..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-column-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-column-collapsed-border-expected.png deleted file mode 100644 index 60edd675..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-column-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-column-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-column-expected.png deleted file mode 100644 index 7566da3..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-column-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-column-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-column-group-collapsed-border-expected.png deleted file mode 100644 index 2aea6dd..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-column-group-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-column-group-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-column-group-expected.png deleted file mode 100644 index 5b7c46c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-column-group-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-expected.png deleted file mode 100644 index 90af0eb9..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-row-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-row-collapsed-border-expected.png deleted file mode 100644 index a9ded30..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-row-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-row-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-row-expected.png deleted file mode 100644 index b328165..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-row-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-row-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-row-group-collapsed-border-expected.png deleted file mode 100644 index 0d9a21f1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-row-group-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-row-group-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-row-group-expected.png deleted file mode 100644 index 7f89986..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_position-table-row-group-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-cell-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-cell-collapsed-border-expected.png deleted file mode 100644 index baae64e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-cell-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-cell-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-cell-expected.png deleted file mode 100644 index 49796e2..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-cell-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-collapsed-border-expected.png deleted file mode 100644 index 491513e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-column-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-column-collapsed-border-expected.png deleted file mode 100644 index 9ce6e464..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-column-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-column-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-column-expected.png deleted file mode 100644 index a100fec..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-column-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png deleted file mode 100644 index 993d310..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-column-group-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-column-group-expected.png deleted file mode 100644 index 751899d4..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-column-group-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-expected.png deleted file mode 100644 index 27d1f39..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-row-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-row-collapsed-border-expected.png deleted file mode 100644 index 29604d62..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-row-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-row-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-row-expected.png deleted file mode 100644 index 1f6920b0..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-row-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png deleted file mode 100644 index dd5dccdc..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-row-group-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-row-group-expected.png deleted file mode 100644 index d3dce7f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/table/backgr_simple-table-row-group-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/writing-mode/text-combine-various-fonts-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/writing-mode/text-combine-various-fonts-expected.png deleted file mode 100644 index 129f53f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/writing-mode/text-combine-various-fonts-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fonts/sans-serif-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fonts/sans-serif-expected.png deleted file mode 100644 index 541427dc..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/fonts/sans-serif-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/http/tests/devtools/elements/elements-panel-rewrite-href-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/http/tests/devtools/elements/elements-panel-rewrite-href-expected.txt deleted file mode 100644 index c870eec..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/http/tests/devtools/elements/elements-panel-rewrite-href-expected.txt +++ /dev/null
@@ -1,7 +0,0 @@ -Tests that src and href element targets are rewritten properly. - - javascript:alert('foo') -http://127.0.0.1:8000/devtools/elements/script.js -http://127.0.0.1:8000/devtools/elements/stylesheet.css -http://127.0.0.1:8000/devtools/elements/target.html -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/http/tests/html/validation-bubble-oopif-clip-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/http/tests/html/validation-bubble-oopif-clip-expected.png deleted file mode 100644 index 794290f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/http/tests/html/validation-bubble-oopif-clip-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/http/tests/security/cookies/basic-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/http/tests/security/cookies/basic-expected.txt deleted file mode 100644 index b38b7e4..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/http/tests/security/cookies/basic-expected.txt +++ /dev/null
@@ -1,3 +0,0 @@ -Running test. -secret=PASS -Test complete.
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/inspector-protocol/layout-fonts/lang-fallback-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/inspector-protocol/layout-fonts/lang-fallback-expected.txt deleted file mode 100644 index 4740907..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/inspector-protocol/layout-fonts/lang-fallback-expected.txt +++ /dev/null
@@ -1,249 +0,0 @@ -تح -#ar: -"Geeza Pro" : 2 - -ՀՁ -#hy-am: -"Mshtakan" : 2 - -সম -#bn: -"Kohinoor Bangla" : 2 - -⡰⡱ -#en-us-brai: -"Apple Braille" : 2 - -ᨀᨁ -#bug: -"Times" : 2 - -ᐐᐑ -#cans: -"Euphemia UCAS" : 2 - -𐊠𐊡 -#xcr: -"Geneva" : 2 - -ᎡᎢ -#chr: -"Plantagenet Cherokee" : 2 - -ⲁⲂ -#copt: -"Noto Sans Coptic" : 2 - -𒀀𒀌 -#akk: -"Times" : 2 - -𐠀𐠁 -#ecy: -"Times" : 2 - -АБВ -#ru: -"Times" : 3 - -𐐀𐐁 -#en: -"Baskerville" : 2 - -अआ -#hi: -"ITF Devanagari" : 2 - -ሁሂ -#am: -"Kefa" : 2 - -ႠႡ -#ka: -"Arial Unicode MS" : 2 - -ΑΒ -#el: -"Times" : 2 - -ਡਢ -#pa: -"Gurmukhi MN" : 2 - -我 -#zh-CN: -"Songti SC" : 1 - -我 -#zh-HK: -"Songti SC" : 1 - -我 -#zh-Hans: -"Songti SC" : 1 - -我 -#zh-Hant: -"Songti SC" : 1 - -我 -#ja: -"Songti SC" : 1 - -ᄀᄁ -#ko: -"AppleMyungjo" : 2 - -בג -#he: -"Lucida Grande" : 2 - -កខ -#km: -"Khmer MN" : 2 - -𐡁𐡂 -#arc: -"Times" : 2 - -𐭡𐭢 -#pal: -"Times" : 2 - -𐭁𐭂 -#xpr: -"Times" : 2 - -ꦑꦒ -#jv: -"Times" : 2 - -ಡಢ -#kn: -"Kannada MN" : 2 - -𐨐𐨑 -#sa: -"Times" : 2 - -໐໑ -#lo: -"Lao MN" : 2 - -ꓐꓑ -#lis: -"Noto Sans Lisu" : 2 - -𐊁𐊂 -#xlc: -"Geneva" : 2 - -𐤡𐤢 -#xld: -"Times" : 2 - -ഡഢ -#ml: -"Malayalam MN" : 2 - -𐦡𐦢 -#script_meroitic: -"Times" : 2 - -ကခ -#my: -"Myanmar MN" : 2 - -ᦁᦂ -#script_new_tai_lue: -"Noto Sans New Tai Lue" : 2 - -߁߂ -#nko: -"Noto Sans NKo" : 2 - -ᚁ -#script_ogham: -"Noto Sans Ogham" : 2 - -᱑᱒ -#script_ol_chiki: -"Noto Sans Ol Chiki" : 2 - -𐌁𐌂 -#script_old_italic: -"Geneva" : 2 - -𐎡𐎢 -#peo: -"Times" : 2 - -𐩡𐩢 -#script_old_south_arabian: -"Times" : 2 - -ଡଢ -#or: -"Oriya MN" : 2 - -ꡁꡂ -#script_phags_pa: -"Noto Sans Phags Pa" : 2 - -ᚠᚡ -#script_runic: -"Noto Sans Runic" : 2 - -𐑑𐑒 -#script_shavian: -"Geneva" : 2 - -එඒ -#si: -"Sinhala MN" : 2 - -𑃑𑃒 -#script_sora_sompeng: -"Times" : 2 - -ܑܒ -#syr: -"Noto Sans Syriac Eastern" : 2 - -ᥑᥒ -#script_tai_le: -"Noto Sans Tai Le" : 2 - -றல -#ta: -"Tamil Sangam MN" : 2 - -డఢ -#te: -"Kohinoor Telugu" : 2 - -ށނ -#script_thaana: -"Times" : 2 - -กข -#th: -"Thonburi" : 2 - -༁༂ -#bo: -"Kokonor" : 2 - -ⴱⴲ -#script_tifinagh: -"Noto Sans Tifinagh" : 2 - -ꔁꔂ -#vai: -"Noto Sans Vai" : 2 - -ꀀꀁ -#yi: -"Songti SC" : 2 - -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/inspector-protocol/layout-fonts/languages-emoji-rare-glyphs-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/inspector-protocol/layout-fonts/languages-emoji-rare-glyphs-expected.txt deleted file mode 100644 index 6ec712d7..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/inspector-protocol/layout-fonts/languages-emoji-rare-glyphs-expected.txt +++ /dev/null
@@ -1,53 +0,0 @@ -百家姓 趙錢孫李 周吳鄭王 馮陳褚衛 蔣沈韓楊 朱秦尤許 何呂施張 孔曹嚴華 金魏陶薑 戚謝鄒喻 柏水竇章 雲蘇潘葛 奚範彭郎 魯韋昌馬 苗鳳花方 俞任袁柳 酆鮑史唐 費廉岑薛 雷賀倪湯 滕殷羅畢 郝鄔安常 樂於時傅 皮卞齊康 伍餘元蔔 顧孟平黃 和穆蕭尹 姚邵堪汪 祁毛禹狄 米貝明臧 計伏成戴 談宋茅龐 熊紀舒屈 項祝董梁 杜阮藍閔 席季麻強 賈路婁危 江童顏郭 梅盛林刁 鍾徐邱駱 高夏蔡田 樊胡淩霍 虞萬支柯 昝管盧莫 經房裘繆 幹解應宗 丁宣賁鄧 鬱單杭洪 包諸左石 崔吉鈕龔 程嵇邢滑 裴陸榮翁 荀羊於惠 甄曲家封 芮羿儲靳 汲邴糜松 井段富巫 烏焦巴弓 牧隗山穀 車侯宓蓬 全郗班仰 秋仲伊宮 寧仇欒暴 甘鈄厲戎 祖武符劉 景詹束龍 葉幸司韶 郜黎薊薄 印宿白懷 蒲台從鄂 索鹹籍賴 卓藺屠蒙 池喬陰鬱 胥能蒼雙 聞莘黨翟 譚貢勞逄 姬申扶堵 冉宰酈雍 卻璩桑桂 濮牛壽通 邊扈燕冀 郟浦尚農 溫別莊晏 柴瞿閻充 慕連茹習 宦艾魚容 向古易慎 戈廖庚終 暨居衡步 都耿滿弘 匡國文寇 廣祿闕東 毆殳沃利 蔚越夔隆 師鞏厙聶 晁勾敖融 冷訾辛闞 那簡饒空 曾毋沙乜 養鞠須豐 巢關蒯相 查後荊紅 遊竺權逯 蓋益桓公 萬俟司馬 上官歐陽 夏侯諸葛 聞人東方 赫連皇甫 尉遲公羊 澹台公冶 宗政濮陽 淳於單於 太叔申屠 公孫仲孫 軒轅令狐 鐘離宇文 長孫慕容 鮮於閭丘 司徒司空 亓官司寇 仉督子車 顓孫端木 巫馬公西 漆雕樂正 壤駟公良 拓拔夾穀 宰父穀粱 晉楚閆法 汝鄢塗欽 段幹百里 東郭南門 呼延歸海 羊舌微生 嶽帥緱亢 況後有琴 梁丘左丘 東門西門 商牟佘佴 伯賞南宮 墨哈譙笪 年愛陽佟 -#hundred_chinese_surnames: -"Songti SC" : 563, -"Times" : 140 - -いろはにほへと ちりぬるを わかよたれそ つねならむ うゐのおくやま けふこえて あさき ゆめみし ゑひもせす(ん)色は匂へど 散りぬるを 我が世誰ぞ 常ならむ 有為の奥山 今日越えて 浅き夢見じ 酔ひもせず(ん) -#japanese_iroha: -"Songti SC" : 92, -"Times" : 15 - -키스의 고유조건은 입술끼리 만나야 하고 특별한 기술은 필요치 않다. -#korean_pangram: -"AppleMyungjo" : 28, -"Times" : 9 - -ऋषियों को सताने वाले दुष्ट राक्षसों के राजा रावण का सर्वनाश करने वाले विष्णुवतार भगवान श्रीराम, अयोध्या के महाराज दशरथ के बड़े सपुत्र थे। -#hindi_pangram: -"ITF Devanagari" : 97, -"Times" : 24 - -نصٌّ حكيمٌ لهُ سِرٌّ قاطِعٌ وَذُو شَأنٍ عَظيمٍ مكتوبٌ على ثوبٍ أخضرَ ومُغلفٌ بجلدٍ أزرق -#arabic_pangram: -"Geeza Pro" : 71, -"Times" : 14 - -🌱🌲🌳🌴🌵🌷🌸🌹🌺🌻🌼💐🌾🌿🍀🍁🍂🍃🍄🌰☺️😀👪 -#emoji: -"Apple Color Emoji" : 24 - -𓀀𓀁𓀂𓀃𓀄𓀅𓀆𓀇𓀈𓀉𓀊𓀋𓀌𓀍𓀎𓀏 -#egyptian_hieroglyphs: -"Times" : 16 - -ខ្ញុំអាចញុំកញ្ចក់បាន ដោយគ្មានបញ្ហារ -#khmer: -"Khmer MN" : 26, -"Times" : 1 - -𐌲𐌿𐍄𐌹𐍃𐌺 -#gothic: -"Times" : 6 - -ܐܬܘܪܝܐ -#syriac: -"Noto Sans Syriac Eastern" : 6 - -⇦⇧⇨⇩←↑→↓⟀ -#text_presentation_arrows_maths: -"Arial Unicode MS" : 4, -"Hiragino Mincho ProN" : 4, -"Apple Symbols" : 1 - -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/inspector-protocol/layout-fonts/ogham-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/inspector-protocol/layout-fonts/ogham-expected.txt deleted file mode 100644 index 4ce19ca..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/inspector-protocol/layout-fonts/ogham-expected.txt +++ /dev/null
@@ -1,10 +0,0 @@ -ᚁᚂᚃᚄᚅᚆᚇᚈᚉᚊᚋᚌᚍᚎᚏᚐᚑᚒᚓᚔᚕᚖᚗᚘᚙᚚ᚛᚜ -#oghammonofont: -"Noto Sans Ogham" : 29 - -ᚁᚂᚃᚄᚅᚆᚇᚈᚉᚊᚋᚌᚍᚎᚏᚐᚑᚒᚓᚔᚕᚖᚗᚘᚙᚚ᚛᚜ -#oghamdefaultfont: -"Noto Sans Ogham" : 29 - -There should be two lines of Ogham above. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/inspector-protocol/layout-fonts/tifinagh-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/inspector-protocol/layout-fonts/tifinagh-expected.txt deleted file mode 100644 index 4793163..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/inspector-protocol/layout-fonts/tifinagh-expected.txt +++ /dev/null
@@ -1,6 +0,0 @@ -ⵉⵎⴷⴰⵏⴻⵏ, ⴰⴽⴽⴻⵏ ⵎⴰ ⵍⵍⴰⵏ ⵜⵜⵍⴰⵍⴻⵏ ⴷ ⵉⵍⴻⵍⵍⵉⵢⴻⵏ ⵎⵙⴰⵡⴰⵏ ⴷⵉ ⵍⵃⵡⴻⵕⵎⴰ ⴷ ⵢⵉⵣⴻⵔⴼⴰⵏ-ⵖⵓⵔ ⵙⴻⵏ ⵜⴰⵎⵙⴰⴽⵡⵉⵜ ⴷ ⵍⴰⵇⵓⴻⵍ ⵓ ⵢⴻⵙⵙⴻⴼⴽ ⴰⴷ-ⵜⵉⵍⵉ ⵜⴻⴳⵎⴰⵜⵜ ⴳⴰⵔ ⴰⵙⴻⵏ -#tifinagh_text: -"Noto Sans Tifinagh" : 109, -"Times" : 23 - -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/media/controls/video-overlay-cast-dark-rendering-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/media/controls/video-overlay-cast-dark-rendering-expected.png deleted file mode 100644 index 70d66723..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/media/controls/video-overlay-cast-dark-rendering-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/media/track/track-cue-rendering-vertical-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/media/track/track-cue-rendering-vertical-expected.png deleted file mode 100644 index 3a2ab97..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/media/track/track-cue-rendering-vertical-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/plugins/mouse-click-plugin-clears-selection-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/plugins/mouse-click-plugin-clears-selection-expected.png deleted file mode 100644 index cc50e97..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/plugins/mouse-click-plugin-clears-selection-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/printing/thead-under-multicol-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/printing/thead-under-multicol-expected.png deleted file mode 100644 index 77fd3cf..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/printing/thead-under-multicol-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.png deleted file mode 100644 index 8857c77..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.png deleted file mode 100644 index e8ebf3a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/painting-marker-06-f-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/painting-marker-06-f-expected.png deleted file mode 100644 index d8f72d75..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/painting-marker-06-f-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/styling-pres-02-f-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/styling-pres-02-f-expected.png deleted file mode 100644 index 04338fe0..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/styling-pres-02-f-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.png deleted file mode 100644 index 7ef14afdee..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/text-intro-02-b-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/text-intro-02-b-expected.png deleted file mode 100644 index 270060a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/text-intro-02-b-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.png deleted file mode 100644 index 8c95a97..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.png deleted file mode 100644 index 2a4d6ab..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.png deleted file mode 100644 index 817fc5a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.png deleted file mode 100644 index b2b0456..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1/filters-turb-02-f-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1/filters-turb-02-f-expected.png deleted file mode 100644 index a99d6dd..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1/filters-turb-02-f-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1/text-fonts-01-t-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1/text-fonts-01-t-expected.png deleted file mode 100644 index 47db25f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/svg/W3C-SVG-1.1/text-fonts-01-t-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/svg/text/surrogate-pair-queries-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/svg/text/surrogate-pair-queries-expected.png deleted file mode 100644 index 9fa7679e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/svg/text/surrogate-pair-queries-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/svg/text/text-selection-fonts-01-t-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/svg/text/text-selection-fonts-01-t-expected.png deleted file mode 100644 index 77e4510..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/svg/text/text-selection-fonts-01-t-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/tables/mozilla/core/bloomberg-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/tables/mozilla/core/bloomberg-expected.png deleted file mode 100644 index 2de885c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/tables/mozilla/core/bloomberg-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png deleted file mode 100644 index 01a6a57..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/bidi-caret-affinity/editing/caret/caret-painting-low-dpi-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/bidi-caret-affinity/editing/caret/caret-painting-low-dpi-expected.png deleted file mode 100644 index 777b8932..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/bidi-caret-affinity/editing/caret/caret-painting-low-dpi-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/cascade/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/cascade/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png deleted file mode 100644 index 3a3b745..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/cascade/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/button/button-pressed-state-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/button/button-pressed-state-expected.png deleted file mode 100644 index 0d5e2e2..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/button/button-pressed-state-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/checkbox/checkbox-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/checkbox/checkbox-appearance-basic-expected.png deleted file mode 100644 index 11769f8e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/checkbox/checkbox-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/color/color-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/color/color-picker-appearance-expected.png deleted file mode 100644 index c070e4e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/color/color-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/color/color-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/color/color-suggestion-picker-appearance-expected.png deleted file mode 100644 index e98c383..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/color/color-suggestion-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png deleted file mode 100644 index 27c4ab0..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/file/file-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/file/file-appearance-basic-expected.png deleted file mode 100644 index 9d8f436..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/file/file-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/meter/meter-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/meter/meter-appearance-basic-expected.png deleted file mode 100644 index b58d39c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/meter/meter-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/progress/progress-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/progress/progress-appearance-basic-expected.png deleted file mode 100644 index 478f8510..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/progress/progress-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/radio/radio-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/radio/radio-appearance-basic-expected.png deleted file mode 100644 index e8b5811..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/radio/radio-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/search/search-appearance-font-size-20px-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/search/search-appearance-font-size-20px-expected.png deleted file mode 100644 index 336d5609..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/search/search-appearance-font-size-20px-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/search/search-appearance-zoom-2x-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/search/search-appearance-zoom-2x-expected.png deleted file mode 100644 index 0433490..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/search/search-appearance-zoom-2x-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-appearance-after-closing-popup-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-appearance-after-closing-popup-expected.png deleted file mode 100644 index 982a9482..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-appearance-after-closing-popup-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-inpage-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-inpage-appearance-basic-expected.png deleted file mode 100644 index 299681d1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-inpage-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-multiple-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-multiple-appearance-basic-expected.png deleted file mode 100644 index c70092c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-multiple-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-multiple-hover-focused-unselected-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-multiple-hover-focused-unselected-expected.png deleted file mode 100644 index 2c95c70..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-multiple-hover-focused-unselected-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-multiple-hover-selected-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-multiple-hover-selected-expected.png deleted file mode 100644 index 06378e10f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-multiple-hover-selected-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-multiple-hover-unselected-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-multiple-hover-unselected-expected.png deleted file mode 100644 index ca3ec0d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-multiple-hover-unselected-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-popup-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-popup-appearance-basic-expected.png deleted file mode 100644 index 982a9482..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/select/select-popup-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/text-selection-outside-control-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/text-selection-outside-control-expected.png deleted file mode 100644 index 330eee3..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/text-selection-outside-control-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/text/input-basic-box-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/text/input-basic-box-appearance-basic-expected.png deleted file mode 100644 index b3ac421e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/fast/forms/color-scheme/text/input-basic-box-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/scrollbar/scrollbar-middle-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/scrollbar/scrollbar-middle-expected.png deleted file mode 100644 index 112ad74..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/scrollbar/scrollbar-middle-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/dark-color-scheme/text/input-dark-mode-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/dark-color-scheme/text/input-dark-mode-basic-expected.png deleted file mode 100644 index e42fae46..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/dark-color-scheme/text/input-dark-mode-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/eye-dropper/fast/forms/color-scheme/color/color-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/eye-dropper/fast/forms/color-scheme/color/color-suggestion-picker-appearance-expected.png deleted file mode 100644 index e98c383..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/eye-dropper/fast/forms/color-scheme/color/color-suggestion-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/eye-dropper/fast/forms/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/eye-dropper/fast/forms/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png deleted file mode 100644 index 27c4ab0..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/eye-dropper/fast/forms/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/fractional_scrolling/fast/scrolling/editor-command-scroll-page-scale-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/fractional_scrolling/fast/scrolling/editor-command-scroll-page-scale-expected.txt deleted file mode 100644 index 7749044..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/fractional_scrolling/fast/scrolling/editor-command-scroll-page-scale-expected.txt +++ /dev/null
@@ -1,6 +0,0 @@ -This is a testharness.js-based test. -FAIL Document scrolling commands scroll visual viewport assert_equals: expected 1700 but got 1400 -FAIL Page scrolling commands scroll visual viewport assert_equals: expected 1700 but got 1400 -FAIL Line scrolling commands scroll visual viewport assert_equals: expected 1700 but got 1400 -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/gpu-rasterization/images/color-profile-background-clip-text-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/gpu-rasterization/images/color-profile-background-clip-text-expected.png deleted file mode 100644 index ac896d7..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/gpu-rasterization/images/color-profile-background-clip-text-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/gpu-rasterization/images/color-profile-group-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/gpu-rasterization/images/color-profile-group-expected.png deleted file mode 100644 index 7787526..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/gpu-rasterization/images/color-profile-group-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/gpu-rasterization/images/ycbcr-with-cmyk-color-profile-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/gpu-rasterization/images/ycbcr-with-cmyk-color-profile-expected.png deleted file mode 100644 index 19392c5..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/gpu-rasterization/images/ycbcr-with-cmyk-color-profile-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/gpu/fast/canvas/canvas-arc-circumference-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/gpu/fast/canvas/canvas-arc-circumference-expected.png deleted file mode 100644 index 7bad532..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/gpu/fast/canvas/canvas-arc-circumference-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/gpu/fast/canvas/canvas-ellipse-circumference-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/gpu/fast/canvas/canvas-ellipse-circumference-expected.png deleted file mode 100644 index 982bd43..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/gpu/fast/canvas/canvas-ellipse-circumference-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/gpu/fast/canvas/canvas-ellipse-circumference-fill-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/gpu/fast/canvas/canvas-ellipse-circumference-fill-expected.png deleted file mode 100644 index 1464101..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/gpu/fast/canvas/canvas-ellipse-circumference-fill-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/gpu/fast/canvas/image-object-in-canvas-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/gpu/fast/canvas/image-object-in-canvas-expected.png deleted file mode 100644 index 9f680a3..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/gpu/fast/canvas/image-object-in-canvas-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng/fast/block/float/float-avoidance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng/fast/block/float/float-avoidance-expected.png deleted file mode 100644 index 8ec3fa1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng/fast/block/float/float-avoidance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-cell-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-cell-collapsed-border-expected.png deleted file mode 100644 index aced896..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-cell-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-cell-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-cell-expected.png deleted file mode 100644 index 3a5fc3b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-cell-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-collapsed-border-expected.png deleted file mode 100644 index 7e065c3e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-column-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-column-collapsed-border-expected.png deleted file mode 100644 index 6a2f9365..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-column-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-column-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-column-expected.png deleted file mode 100644 index 05dc7ef..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-column-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-column-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-column-group-collapsed-border-expected.png deleted file mode 100644 index 66373f8..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-column-group-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-column-group-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-column-group-expected.png deleted file mode 100644 index c4f17b1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-column-group-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-expected.png deleted file mode 100644 index b45d7223..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-quirks-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-quirks-collapsed-border-expected.png deleted file mode 100644 index baaa9084..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-quirks-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-quirks-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-quirks-expected.png deleted file mode 100644 index a73dbb5..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-quirks-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-row-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-row-collapsed-border-expected.png deleted file mode 100644 index b1ce6ad..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-row-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-row-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-row-expected.png deleted file mode 100644 index b93078f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-row-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-row-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-row-group-collapsed-border-expected.png deleted file mode 100644 index 9a71db5..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-row-group-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-row-group-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-row-group-expected.png deleted file mode 100644 index 78ef95be..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_border-table-row-group-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_layers-hide-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_layers-hide-collapsed-border-expected.png deleted file mode 100644 index 1c8ab7a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_layers-hide-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_layers-hide-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_layers-hide-expected.png deleted file mode 100644 index 4998730..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_layers-hide-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-cell-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-cell-collapsed-border-expected.png deleted file mode 100644 index c9e3d7f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-cell-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-cell-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-cell-expected.png deleted file mode 100644 index c753fda..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-cell-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-collapsed-border-expected.png deleted file mode 100644 index a319713..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-column-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-column-collapsed-border-expected.png deleted file mode 100644 index 60edd675..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-column-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-column-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-column-expected.png deleted file mode 100644 index 7566da3..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-column-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-column-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-column-group-collapsed-border-expected.png deleted file mode 100644 index 2aea6dd..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-column-group-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-column-group-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-column-group-expected.png deleted file mode 100644 index 5b7c46c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-column-group-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-expected.png deleted file mode 100644 index 90af0eb9..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-row-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-row-collapsed-border-expected.png deleted file mode 100644 index a9ded30..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-row-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-row-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-row-expected.png deleted file mode 100644 index b328165..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-row-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-row-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-row-group-collapsed-border-expected.png deleted file mode 100644 index 0d9a21f1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-row-group-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-row-group-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-row-group-expected.png deleted file mode 100644 index 7f89986..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_position-table-row-group-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-cell-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-cell-collapsed-border-expected.png deleted file mode 100644 index baae64e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-cell-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-cell-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-cell-expected.png deleted file mode 100644 index 49796e2..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-cell-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-collapsed-border-expected.png deleted file mode 100644 index 491513e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-column-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-column-collapsed-border-expected.png deleted file mode 100644 index 9ce6e464..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-column-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-column-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-column-expected.png deleted file mode 100644 index a100fec..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-column-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png deleted file mode 100644 index 993d310..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-column-group-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-column-group-expected.png deleted file mode 100644 index 751899d4..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-column-group-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-expected.png deleted file mode 100644 index 27d1f39..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-row-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-row-collapsed-border-expected.png deleted file mode 100644 index 29604d62..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-row-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-row-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-row-expected.png deleted file mode 100644 index 1f6920b0..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-row-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png deleted file mode 100644 index dd5dccdc..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-row-group-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-row-group-expected.png deleted file mode 100644 index d3dce7f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/layout_ng_fragment_traversal/fast/table/backgr_simple-table-row-group-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/mojo-blobs/fast/files/file-in-input-display-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/mojo-blobs/fast/files/file-in-input-display-expected.png deleted file mode 100644 index b6069d39..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/mojo-blobs/fast/files/file-in-input-display-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/not-omt-sw-fetch/external/wpt/xhr/getallresponseheaders-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/not-omt-sw-fetch/external/wpt/xhr/getallresponseheaders-expected.txt deleted file mode 100644 index 69617d19..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/not-omt-sw-fetch/external/wpt/xhr/getallresponseheaders-expected.txt +++ /dev/null
@@ -1,10 +0,0 @@ -This is a testharness.js-based test. -FAIL XMLHttpRequest: getAllResponseHeaders() assert_equals: expected "also-here: Mr. PB\r\newok: lego\r\nfoo-test: 1, 2\r\n__custom: token\r\n" but got "__custom: token\r\nalso-here: Mr. PB\r\nfoo-test: 1, 2\r\newok: lego\r\n" -PASS XMLHttpRequest: getAllResponseHeaders() 1 -PASS XMLHttpRequest: getAllResponseHeaders() 2 -PASS XMLHttpRequest: getAllResponseHeaders() 3 -PASS XMLHttpRequest: getAllResponseHeaders() 4 -PASS XMLHttpRequest: getAllResponseHeaders() 5 -PASS XMLHttpRequest: getAllResponseHeaders() 6 -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/not-omt-sw-fetch/external/wpt/xhr/responsexml-document-properties-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/not-omt-sw-fetch/external/wpt/xhr/responsexml-document-properties-expected.txt deleted file mode 100644 index 8703e748..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/not-omt-sw-fetch/external/wpt/xhr/responsexml-document-properties-expected.txt +++ /dev/null
@@ -1,27 +0,0 @@ -This is a testharness.js-based test. -PASS domain -PASS URL -PASS documentURI -PASS baseURI -PASS referrer -PASS title -PASS contentType -PASS readyState -PASS location -PASS defaultView -PASS body -PASS doctype -PASS all -PASS cookie -PASS Test document URL properties after redirect -PASS Test document URL properties of document with <base> after redirect -PASS lastModified set to time of response if no HTTP header provided -PASS lastModified set to related HTTP header if provided -PASS cookie (after setting it) -PASS styleSheets should be an object -PASS implementation should be an object -PASS images should be an object -PASS forms should be an object -PASS links should be an object -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/omt-worker-fetch/external/wpt/xhr/abort-after-send.any-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/omt-worker-fetch/external/wpt/xhr/abort-after-send.any-expected.txt deleted file mode 100644 index 0f10f7e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/omt-worker-fetch/external/wpt/xhr/abort-after-send.any-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL XMLHttpRequest: abort() after send() assert_equals: expected "abort(0,0,false)" but got "upload.abort(0,0,false)" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/prefer_compositing_to_lcd_text/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/prefer_compositing_to_lcd_text/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png deleted file mode 100644 index da30bae..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/prefer_compositing_to_lcd_text/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/reporting/external/wpt/content-security-policy/reporting/securitypolicyviolation-idl-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/reporting/external/wpt/content-security-policy/reporting/securitypolicyviolation-idl-expected.txt deleted file mode 100644 index 18d8446..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/reporting/external/wpt/content-security-policy/reporting/securitypolicyviolation-idl-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -This is a testharness.js-based test. -PASS Test driver -PASS SecurityPolicyViolationEvent interface: existence and properties of interface object -PASS SecurityPolicyViolationEvent interface object length -PASS SecurityPolicyViolationEvent interface object name -PASS SecurityPolicyViolationEvent interface: existence and properties of interface prototype object -PASS SecurityPolicyViolationEvent interface: existence and properties of interface prototype object's "constructor" property -PASS SecurityPolicyViolationEvent interface: attribute documentURI -PASS SecurityPolicyViolationEvent interface: attribute referrer -PASS SecurityPolicyViolationEvent interface: attribute blockedURI -PASS SecurityPolicyViolationEvent interface: attribute violatedDirective -PASS SecurityPolicyViolationEvent interface: attribute effectiveDirective -PASS SecurityPolicyViolationEvent interface: attribute originalPolicy -PASS SecurityPolicyViolationEvent interface: attribute disposition -PASS SecurityPolicyViolationEvent interface: attribute sourceFile -PASS SecurityPolicyViolationEvent interface: attribute statusCode -PASS SecurityPolicyViolationEvent interface: attribute lineNumber -PASS SecurityPolicyViolationEvent interface: attribute columnNumber -PASS SecurityPolicyViolationEvent must be primary interface of event_to_test -PASS Stringification of event_to_test -PASS SecurityPolicyViolationEvent interface: event_to_test must inherit property "documentURI" with the proper type -PASS SecurityPolicyViolationEvent interface: event_to_test must inherit property "referrer" with the proper type -PASS SecurityPolicyViolationEvent interface: event_to_test must inherit property "blockedURI" with the proper type -PASS SecurityPolicyViolationEvent interface: event_to_test must inherit property "violatedDirective" with the proper type -PASS SecurityPolicyViolationEvent interface: event_to_test must inherit property "effectiveDirective" with the proper type -PASS SecurityPolicyViolationEvent interface: event_to_test must inherit property "originalPolicy" with the proper type -PASS SecurityPolicyViolationEvent interface: event_to_test must inherit property "disposition" with the proper type -PASS SecurityPolicyViolationEvent interface: event_to_test must inherit property "sourceFile" with the proper type -PASS SecurityPolicyViolationEvent interface: event_to_test must inherit property "statusCode" with the proper type -PASS SecurityPolicyViolationEvent interface: event_to_test must inherit property "lineNumber" with the proper type -PASS SecurityPolicyViolationEvent interface: event_to_test must inherit property "columnNumber" with the proper type -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/samesite-by-default-cookies/external/wpt/cookies/http-state/general-tests-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/samesite-by-default-cookies/external/wpt/cookies/http-state/general-tests-expected.txt deleted file mode 100644 index 4d33a0e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/samesite-by-default-cookies/external/wpt/cookies/http-state/general-tests-expected.txt +++ /dev/null
@@ -1,31 +0,0 @@ -This is a testharness.js-based test. -PASS 0001 - Set cookie. -PASS 0002 - Set cookie with future expiration. -PASS 0003 - Set expired cookie along with valid cookie. -FAIL 0004 - Ignore cookie without key. assert_equals: expected "" but got "foo" -PASS 0005 - Set cookie with age. -PASS 0006 - Set no cookie with max-age=0. -PASS 0007 - Set cookie with version=1. -PASS 0008 - Set cookie with version=1000. -PASS 0009 - Set cookie with custom value. -PASS 0010 - Dont accept 'secure' cookies over http. -PASS 0011 - Ignore separators in cookie values. -PASS 0012 - Ignore values with separators and without ';'. -PASS 0013 - Use last value for cookies with identical keys. -PASS 0014 - Keep alphabetic key order. -PASS 0015 - Keep alphabetic single-char key order. -PASS 0016 - Keep non-alphabetic key order. -PASS 0017 - Keep order if comma-separated. -PASS 0018 - Ignore keys after semicolon. -PASS 0019 - Ignore attributes after semicolon. -FAIL 0020 - Ignore cookies without key and value. assert_equals: expected "a=b; c=d" but got "a=b; ; c=d" -FAIL 0021 - Ignore cookie without key in all 'Set-Cookie'. assert_equals: expected "a=b; c=d" but got "a=b; x; c=d" -PASS 0022 - Set cookie without value in all 'Set-Cookie'. -PASS 0023 - Ignore cookies without '=' in all 'Set-Cookie'. -PASS 0024 - Ignore malformed cookies in all 'Set-Cookie'. -PASS 0025 - Ignore cookies with ';' in all 'Set-Cookie'. -PASS 0026 - Ignore malformed cookies in all 'Set-Cookie' v2. -FAIL 0027 - Ignore malformed cookies in all 'Set-Cookie' v3. assert_equals: expected "" but got "bar" -FAIL 0028 - [INVALID EXPECTATION] Ignore malformed cookies in all 'Set-Cookie' v4. assert_equals: expected "Set-Cookie: foo\nSet-Cookie:" but got "" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/css3/filters/composited-layer-child-bounds-after-composited-to-sw-shadow-change-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/css3/filters/composited-layer-child-bounds-after-composited-to-sw-shadow-change-expected.txt deleted file mode 100644 index 40d10fc5..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/css3/filters/composited-layer-child-bounds-after-composited-to-sw-shadow-change-expected.txt +++ /dev/null
@@ -1,93 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "drawsContent": false, - "backgroundColor": "#FFFFFF" - }, - { - "name": "Scrolling Layer", - "bounds": [800, 600], - "drawsContent": false - }, - { - "name": "Scrolling Contents Layer", - "bounds": [800, 600], - "contentsOpaque": true, - "backgroundColor": "#FFFFFF" - }, - { - "name": "LayoutBlockFlow (positioned) DIV id='composited-parent' class='compositor-painted-shadow'", - "bounds": [100, 100], - "contentsOpaque": true, - "backgroundColor": "#FF0000", - "transform": 1 - }, - { - "name": "LayoutBlockFlow (positioned) DIV id='absolutely-positioned-composited-child'", - "bounds": [100, 100], - "contentsOpaque": true, - "backgroundColor": "#008000", - "transform": 1 - } - ], - "transforms": [ - { - "id": 1, - "transform": [ - [1, 0, 0, 0], - [0, 1, 0, 0], - [0, 0, 1, 0], - [100, 100, 0, 1] - ] - } - ] -} -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "drawsContent": false, - "backgroundColor": "#FFFFFF" - }, - { - "name": "Scrolling Layer", - "bounds": [785, 585], - "drawsContent": false - }, - { - "name": "Scrolling Contents Layer", - "bounds": [835, 711], - "contentsOpaque": true, - "backgroundColor": "#FFFFFF" - }, - { - "name": "LayoutBlockFlow (positioned) DIV id='composited-parent' class='software-painted-shadow'", - "bounds": [100, 100], - "contentsOpaque": true, - "backgroundColor": "#FF0000", - "transform": 1 - }, - { - "name": "LayoutBlockFlow (positioned) DIV id='absolutely-positioned-composited-child'", - "bounds": [100, 100], - "contentsOpaque": true, - "backgroundColor": "#008000", - "transform": 1 - } - ], - "transforms": [ - { - "id": 1, - "transform": [ - [1, 0, 0, 0], - [0, 1, 0, 0], - [0, 0, 1, 0], - [100, 100, 0, 1] - ] - } - ] -} -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/css3/filters/effect-reference-colorspace-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/css3/filters/effect-reference-colorspace-expected.png deleted file mode 100644 index 32ed34b..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/css3/filters/effect-reference-colorspace-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/css3/filters/filter-repaint-child-layers-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/css3/filters/filter-repaint-child-layers-expected.png deleted file mode 100644 index 5853476..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/css3/filters/filter-repaint-child-layers-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/css3/filters/filter-with-transform-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/css3/filters/filter-with-transform-expected.png deleted file mode 100644 index ec40383..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/css3/filters/filter-with-transform-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png deleted file mode 100644 index 6ddedb9..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png deleted file mode 100644 index 2c84db24..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png deleted file mode 100644 index 2b817746..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/fast/hidpi/static/popup-menu-with-scrollbar-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/fast/hidpi/static/popup-menu-with-scrollbar-appearance-expected.png deleted file mode 100644 index 02349936..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/fast/hidpi/static/popup-menu-with-scrollbar-appearance-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png deleted file mode 100644 index c4df74eb..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/sharedarraybuffer/fast/css/crash-on-gradient-with-derived-color-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/sharedarraybuffer/fast/css/crash-on-gradient-with-derived-color-expected.txt deleted file mode 100644 index 97296481..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/sharedarraybuffer/fast/css/crash-on-gradient-with-derived-color-expected.txt +++ /dev/null
@@ -1 +0,0 @@ -This test passes if it does not CRASH.
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/sharedarraybuffer/fast/css/number-parsing-crash-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/sharedarraybuffer/fast/css/number-parsing-crash-expected.txt deleted file mode 100644 index 75cf4f3..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/sharedarraybuffer/fast/css/number-parsing-crash-expected.txt +++ /dev/null
@@ -1 +0,0 @@ -This should not crash.
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/storage-access-api/external/wpt/storage-access-api/requestStorageAccess.sub.window-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/storage-access-api/external/wpt/storage-access-api/requestStorageAccess.sub.window-expected.txt deleted file mode 100644 index 4e8d403..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/storage-access-api/external/wpt/storage-access-api/requestStorageAccess.sub.window-expected.txt +++ /dev/null
@@ -1,14 +0,0 @@ -This is a testharness.js-based test. -PASS [top-level-context] document.requestStorageAccess() should be supported on the document interface -PASS [top-level-context] document.requestStorageAccess() should be rejected by default with no user gesture -PASS [top-level-context] document.requestStorageAccess() should be resolved when called properly with a user gesture -PASS [cross-origin-frame] document.requestStorageAccess() should be supported on the document interface -PASS [cross-origin-frame] document.requestStorageAccess() should be rejected by default with no user gesture -PASS [same-origin-frame] document.requestStorageAccess() should be supported on the document interface -PASS [same-origin-frame] document.requestStorageAccess() should be rejected by default with no user gesture -PASS [nested-cross-origin-frame] document.requestStorageAccess() should be supported on the document interface -PASS [nested-cross-origin-frame] document.requestStorageAccess() should be rejected by default with no user gesture -PASS [nested-same-origin-frame] document.requestStorageAccess() should be supported on the document interface -FAIL [nested-same-origin-frame] document.requestStorageAccess() should be rejected by default with no user gesture assert_unreached: Should have rejected: document.requestStorageAccess() call without user gesture Reached unreachable code -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/color-emoji-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/color-emoji-expected.png deleted file mode 100644 index c83b636..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/color-emoji-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/complex-preferred-logical-widths-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/complex-preferred-logical-widths-expected.png deleted file mode 100644 index 323180d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/complex-preferred-logical-widths-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/emoji-vertical-origin-visual-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/emoji-vertical-origin-visual-expected.png deleted file mode 100644 index 030e64c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/emoji-vertical-origin-visual-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/emoticons-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/emoticons-expected.png deleted file mode 100644 index b54aa84..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/emoticons-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/emphasis-complex-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/emphasis-complex-expected.png deleted file mode 100644 index 4e9c333..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/emphasis-complex-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/fallback-traits-fixup-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/fallback-traits-fixup-expected.png deleted file mode 100644 index efced01..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/fallback-traits-fixup-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/font-fallback-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/font-fallback-expected.png deleted file mode 100644 index ccaae1aa..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/font-fallback-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/international/lang-glyph-cache-separation-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/international/lang-glyph-cache-separation-expected.png deleted file mode 100644 index 31e8374..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/international/lang-glyph-cache-separation-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/justify-ideograph-complex-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/justify-ideograph-complex-expected.png deleted file mode 100644 index d017822..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/justify-ideograph-complex-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/justify-ideograph-simple-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/justify-ideograph-simple-expected.png deleted file mode 100644 index d017822..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/justify-ideograph-simple-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/justify-ideograph-vertical-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/justify-ideograph-vertical-expected.png deleted file mode 100644 index 540c2ca..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/justify-ideograph-vertical-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/mac-system-ui-weight-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/mac-system-ui-weight-expected.png deleted file mode 100644 index 8c9f14e..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/mac-system-ui-weight-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/midword-break-before-surrogate-pair-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/midword-break-before-surrogate-pair-expected.png deleted file mode 100644 index ddf341a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/midword-break-before-surrogate-pair-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/selection/flexbox-selection-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/selection/flexbox-selection-expected.png deleted file mode 100644 index 30bd61f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/selection/flexbox-selection-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/selection/flexbox-selection-nested-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/selection/flexbox-selection-nested-expected.png deleted file mode 100644 index 5103b0c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/selection/flexbox-selection-nested-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/selection/khmer-selection-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/selection/khmer-selection-expected.png deleted file mode 100644 index bbca073..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/selection/khmer-selection-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/unicode-fallback-font-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/unicode-fallback-font-expected.png deleted file mode 100644 index 8001ca6..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/text-antialias/unicode-fallback-font-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/threaded/printing/thead-under-multicol-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/threaded/printing/thead-under-multicol-expected.png deleted file mode 100644 index 77fd3cf..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/threaded/printing/thead-under-multicol-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-inpage-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-inpage-appearance-basic-expected.png deleted file mode 100644 index 299681d1..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-inpage-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-multiple-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-multiple-appearance-basic-expected.png deleted file mode 100644 index c70092c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-multiple-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-multiple-hover-selected-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-multiple-hover-selected-expected.png deleted file mode 100644 index 06378e10f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-multiple-hover-selected-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-multiple-hover-unselected-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-multiple-hover-unselected-expected.png deleted file mode 100644 index ca3ec0d..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-multiple-hover-unselected-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-popup-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-popup-appearance-basic-expected.png deleted file mode 100644 index fce436f..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/use-common-select-popup/fast/forms/color-scheme/select/select-popup-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/user-activation-v2/fast/events/context-no-deselect-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/user-activation-v2/fast/events/context-no-deselect-expected.png deleted file mode 100644 index 56b5620..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/user-activation-v2/fast/events/context-no-deselect-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/video-surface-layer/media/controls/paint-controls-webkit-appearance-none-custom-bg-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/video-surface-layer/media/controls/paint-controls-webkit-appearance-none-custom-bg-expected.png deleted file mode 100644 index 6339e039..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/video-surface-layer/media/controls/paint-controls-webkit-appearance-none-custom-bg-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/video-surface-layer/media/controls/paint-controls-webkit-appearance-none-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/video-surface-layer/media/controls/paint-controls-webkit-appearance-none-expected.png deleted file mode 100644 index 6339e039..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/video-surface-layer/media/controls/paint-controls-webkit-appearance-none-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/video-surface-layer/media/track/track-cue-rendering-vertical-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/video-surface-layer/media/track/track-cue-rendering-vertical-expected.png deleted file mode 100644 index 3a2ab97..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/video-surface-layer/media/track/track-cue-rendering-vertical-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/video-surface-layer/media/video-no-audio-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/video-surface-layer/media/video-no-audio-expected.png deleted file mode 100644 index ae0220a..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/video-surface-layer/media/video-no-audio-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/web-components-v0-disabled/external/wpt/dom/events/scrolling/scrollend-event-for-user-scroll-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/web-components-v0-disabled/external/wpt/dom/events/scrolling/scrollend-event-for-user-scroll-expected.txt deleted file mode 100644 index 0c871762..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/web-components-v0-disabled/external/wpt/dom/events/scrolling/scrollend-event-for-user-scroll-expected.txt +++ /dev/null
@@ -1,7 +0,0 @@ -This is a testharness.js-based test. -FAIL Tests that the target_div gets scrollend event when dragging scroll on target. promise_test: Unhandled rejection with value: "target_div did not receive scrollend event after dragging scroll on target." -FAIL Tests that the target_div gets scrollend event when click scrollbar on target. promise_test: Unhandled rejection with value: "target_div did not receive scrollend event after clicking scrollbar on target." -FAIL Tests that the target_div gets scrollend event when drag the thumb of target. promise_test: Unhandled rejection with value: "target_div did not receive scrollend event after dragging the thumb of target." -FAIL Tests that the target_div gets scrollend event when send DOWN key to target. assert_true: expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/web-components-v0-disabled/fast/dom/timer-throttling-hidden-page-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/web-components-v0-disabled/fast/dom/timer-throttling-hidden-page-expected.txt deleted file mode 100644 index 53a372c..0000000 --- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/web-components-v0-disabled/fast/dom/timer-throttling-hidden-page-expected.txt +++ /dev/null
@@ -1,16 +0,0 @@ -Bug 98474: Throttle DOM timers on hidden pages. - -On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". - -PASS timerIntervalWhilePageVisible is within 200 of 100 -PASS firstTimerIntervalWhilePageNotVisible is >= 0 -PASS firstTimerIntervalWhilePageNotVisible <= 1300 is true -FAIL timerIntervalWhilePageNotVisible should be within 200 of 1000. Was 1360. -PASS timerIntervalWhilePageVisible is within 200 of 100 -PASS timerIntervalWhilePageVisible is within 200 of 100 -PASS successfullyParsed is true - -TEST COMPLETE - - -This test measures the time taken to fire a 100ms DOM Timer when the page visibility is set to "visible", "hidden", and then back to "visible". Due to page timer throttling, the timer should fire close to 1s when page is hidden. And it should fire close to 100ms, when the page is visible.
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/button/button-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/button/button-appearance-basic-expected.png deleted file mode 100644 index 30b583f..0000000 --- a/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/button/button-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/button/button-focus-ring-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/button/button-focus-ring-expected.png deleted file mode 100644 index 3f26e05..0000000 --- a/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/button/button-focus-ring-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/button/button-hover-state-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/button/button-hover-state-expected.png deleted file mode 100644 index e650bf77..0000000 --- a/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/button/button-hover-state-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/button/button-pressed-state-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/button/button-pressed-state-expected.png deleted file mode 100644 index 36fc449..0000000 --- a/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/button/button-pressed-state-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/checkbox/checkbox-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/checkbox/checkbox-appearance-basic-expected.png deleted file mode 100644 index 549983b..0000000 --- a/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/checkbox/checkbox-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/color/color-picker-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/color/color-picker-appearance-basic-expected.png deleted file mode 100644 index cae13b8d..0000000 --- a/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/color/color-picker-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/color/color-picker-focus-ring-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/color/color-picker-focus-ring-expected.png deleted file mode 100644 index 8ffcb45..0000000 --- a/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/color/color-picker-focus-ring-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/progress/progress-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/progress/progress-appearance-basic-expected.png deleted file mode 100644 index 51ea81aa..0000000 --- a/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/progress/progress-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/radio/radio-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/radio/radio-appearance-basic-expected.png deleted file mode 100644 index dc74184e..0000000 --- a/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/radio/radio-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/range/range-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/range/range-appearance-basic-expected.png deleted file mode 100644 index e14a0e1..0000000 --- a/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/range/range-appearance-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/range/range-focus-ring-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/range/range-focus-ring-expected.png deleted file mode 100644 index a6d7ded..0000000 --- a/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/range/range-focus-ring-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/text/input-dark-mode-basic-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/text/input-dark-mode-basic-expected.png deleted file mode 100644 index c02d100..0000000 --- a/third_party/blink/web_tests/platform/mac-retina/virtual/dark-color-scheme/text/input-dark-mode-basic-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/closure_compiler/externs/automation.js b/third_party/closure_compiler/externs/automation.js index eb0c76a..6fe917a 100644 --- a/third_party/closure_compiler/externs/automation.js +++ b/third_party/closure_compiler/externs/automation.js
@@ -1028,7 +1028,7 @@ * Determines the location of the text within the node specified by |startIndex| * and |endIndex|, inclusively. Invokes |callback| with the bounding rectangle, * in screen coordinates. |callback| can be invoked either synchronously or - * asynchronously. + * asynchronously. The bounds are clipped to ancestors. * @param {number} startIndex * @param {number} endIndex * @param {function(!chrome.automation.Rect): void} callback @@ -1037,6 +1037,19 @@ chrome.automation.AutomationNode.prototype.boundsForRange = function(startIndex, endIndex, callback) {}; /** + * Determines the location of the text within the node specified by |startIndex| + * and |endIndex|, inclusively. Invokes |callback| with the bounding rectangle, + * in screen coordinates. |callback| can be invoked either synchronously or + * asynchronously. The bounds are not clipped to ancestors. + * @param {number} startIndex + * @param {number} endIndex + * @param {function(!chrome.automation.Rect): void} callback + * @see https://developer.chrome.com/extensions/automation#method-unclippedBoundsForRange + */ +chrome.automation.AutomationNode.prototype.unclippedBoundsForRange = function( + startIndex, endIndex, callback) {}; + +/** * The location (as a bounding box) of this node in global screen coordinates without applying any clipping from ancestors. * @type {(!chrome.automation.Rect|undefined)} * @see https://developer.chrome.com/extensions/automation#type-unclippedLocation
diff --git a/third_party/leveldatabase/env_chromium.cc b/third_party/leveldatabase/env_chromium.cc index 1803b21f..a20dda3 100644 --- a/third_party/leveldatabase/env_chromium.cc +++ b/third_party/leveldatabase/env_chromium.cc
@@ -24,6 +24,8 @@ #include "base/strings/stringprintf.h" #include "base/strings/utf_string_conversions.h" #include "base/system/sys_info.h" +#include "base/task/task_traits.h" +#include "base/task/thread_pool.h" #include "base/threading/scoped_blocking_call.h" #include "base/time/time_override.h" #include "base/trace_event/memory_dump_manager.h" @@ -700,14 +702,9 @@ ChromiumEnv::ChromiumEnv(const std::string& name, std::unique_ptr<storage::FilesystemProxy> filesystem) - : filesystem_(std::move(filesystem)), - name_(name), - bgsignal_(&mu_), - started_bgthread_(false) { + : filesystem_(std::move(filesystem)), name_(name) { DCHECK(filesystem_); - bgsignal_.declare_only_used_while_idle(); - size_t max_open_files = base::GetMaxFds(); if (base::FeatureList::IsEnabled(kLevelDBFileHandleEviction) && max_open_files < kFileLimitToDisableEviction) { @@ -1041,46 +1038,9 @@ }; void ChromiumEnv::Schedule(ScheduleFunc* function, void* arg) { - mu_.Acquire(); - - // Start background thread if necessary - if (!started_bgthread_) { - started_bgthread_ = true; - StartThread(&ChromiumEnv::BGThreadWrapper, this); - } - - // If the queue is currently empty, the background thread may currently be - // waiting. - if (queue_.empty()) { - bgsignal_.Signal(); - } - - // Add to priority queue - queue_.push_back(BGItem()); - queue_.back().function = function; - queue_.back().arg = arg; - - mu_.Release(); -} - -void ChromiumEnv::BGThread() { - base::PlatformThread::SetName(name_.c_str()); - - while (true) { - // Wait until there is an item that is ready to run - mu_.Acquire(); - while (queue_.empty()) { - bgsignal_.Wait(); - } - - void (*function)(void*) = queue_.front().function; - void* arg = queue_.front().arg; - queue_.pop_front(); - - mu_.Release(); - TRACE_EVENT0("leveldb", "ChromiumEnv::BGThread-Task"); - (*function)(arg); - } + base::ThreadPool::PostTask(FROM_HERE, + {base::MayBlock(), base::WithBaseSyncPrimitives()}, + base::BindOnce(function, arg)); } void ChromiumEnv::StartThread(void (*function)(void* arg), void* arg) {
diff --git a/third_party/leveldatabase/env_chromium.h b/third_party/leveldatabase/env_chromium.h index de2433d..e1466cb 100644 --- a/third_party/leveldatabase/env_chromium.h +++ b/third_party/leveldatabase/env_chromium.h
@@ -197,30 +197,12 @@ private: void RemoveBackupFiles(const base::FilePath& dir); - // BGThread() is the body of the background thread - void BGThread(); - static void BGThreadWrapper(void* arg) { - reinterpret_cast<ChromiumEnv*>(arg)->BGThread(); - } - - const std::unique_ptr<storage::FilesystemProxy> filesystem_; - base::FilePath test_directory_; + base::Lock mu_; + base::FilePath test_directory_ GUARDED_BY(mu_); std::string name_; - - base::Lock mu_; - base::ConditionVariable bgsignal_; - bool started_bgthread_; - - // Entry per Schedule() call - struct BGItem { - void* arg; - void (*function)(void*); - }; - using BGQueue = base::circular_deque<BGItem>; - BGQueue queue_; std::unique_ptr<leveldb::Cache> file_cache_; };
diff --git a/third_party/tint/README.chromium b/third_party/tint/README.chromium index e13c7f2..72595c6 100644 --- a/third_party/tint/README.chromium +++ b/third_party/tint/README.chromium
@@ -2,7 +2,7 @@ Short Name: tint URL: https://dawn.googlesource.com/tint Version: 0 -Revision: f18d737b4e9318a1817126852edb6cc596ff1f5e +Revision: bc80805c4b04d0e8cd9dad12bef32927363b9787 License: Apache 2.0 License File: LICENSE Security Critical: yes
diff --git a/tools/mb/mb_config.pyl b/tools/mb/mb_config.pyl index 344f2f65..bff6a945 100644 --- a/tools/mb/mb_config.pyl +++ b/tools/mb/mb_config.pyl
@@ -94,15 +94,15 @@ 'android-cronet-x86-dbg': 'android_cronet_debug_static_bot_x86', 'android-cronet-x86-rel': 'android_cronet_release_bot_minimal_symbols_x86', 'android-incremental-dbg': 'android_incremental_debug_bot', - 'android-lollipop-arm-rel': 'android_release_bot_minimal_symbols_fastbuild_webview_google', + 'android-lollipop-arm-rel': 'android_release_bot_minimal_symbols_webview_google', # This bot must use the gpu_tests mixin to match 'Android FYI Release (Nexus 5X)' # on the chromium.gpu waterfall, which it mirrors via trybots.pyl. - 'android-marshmallow-arm64-rel': 'gpu_tests_android_release_bot_minimal_symbols_arm64_fastbuild', + 'android-marshmallow-arm64-rel': 'gpu_tests_android_release_bot_minimal_symbols_arm64', 'android-marshmallow-x86-rel': 'android_release_bot_minimal_symbols_x86_fastbuild_resource_whitelisting_webview_google', 'android-nougat-arm64-rel': 'android_release_bot_minimal_symbols_arm64_fastbuild_webview_google', - 'android-pie-arm64-rel': 'android_release_bot_minimal_symbols_arm64_webview_google', + 'android-pie-arm64-rel': 'android_release_bot_minimal_symbols_arm64_webview_google_fastbuild', 'android-pie-x86-rel': 'android_release_bot_minimal_symbols_x86_fastbuild_webview_google', 'android-10-arm64-rel': 'android_release_bot_minimal_symbols_arm64_fastbuild_webview_google', }, @@ -550,10 +550,10 @@ 'chromium.dev': { # This should be the same with 'android-lollipop-arm-rel'. - 'android-lollipop-arm-rel-swarming': 'android_release_bot_minimal_symbols_fastbuild_webview_google', + 'android-lollipop-arm-rel-swarming': 'android_release_bot_minimal_symbols_webview_google', # This should be the same with 'android-marshmallow-arm64-rel'. - 'android-marshmallow-arm64-rel-swarming': 'gpu_tests_android_release_bot_minimal_symbols_arm64_fastbuild', + 'android-marshmallow-arm64-rel-swarming': 'gpu_tests_android_release_bot_minimal_symbols_arm64', # These should be the same with 'Linux Builder'. 'linux-rel-swarming': 'gpu_tests_release_bot', @@ -707,7 +707,7 @@ # TODO(crbug/597596): Switch this back to debug_trybot when cronet's # shared library loading is fixed. 'android-cronet-arm-dbg': 'android_cronet_debug_static_bot_arm_no_neon', - 'android-lollipop-arm-rel': 'android_release_trybot_fastbuild_webview_google', + 'android-lollipop-arm-rel': 'android_release_trybot_webview_google', 'android-marshmallow-arm64-rel': 'gpu_tests_android_release_trybot_arm64_resource_whitelisting_fastbuild_java_coverage', 'android-marshmallow-x86-fyi-rel': 'android_release_trybot_x86_fastbuild_resource_whitelisting_webview_google', 'android-marshmallow-x86-rel': 'android_release_trybot_x86_fastbuild_resource_whitelisting_webview_google', @@ -1258,9 +1258,15 @@ 'strip_debug_info', 'webview_google', ], - 'android_release_bot_minimal_symbols_fastbuild_webview_google': [ + 'android_release_bot_minimal_symbols_arm64_webview_google_fastbuild': [ + 'android', 'release_bot', 'minimal_symbols', 'arm64', + 'strip_debug_info', 'webview_google', 'android_fastbuild', + 'android_no_proguard', + ], + + 'android_release_bot_minimal_symbols_webview_google': [ 'android', 'release_bot', 'minimal_symbols', - 'strip_debug_info', 'android_fastbuild', 'webview_google', + 'strip_debug_info', 'webview_google', ], 'android_release_bot_minimal_symbols_x86_fastbuild_resource_whitelisting_webview_google': [ @@ -1302,9 +1308,9 @@ 'use_clang_coverage', 'partial_code_coverage_instrumentation', ], - 'android_release_trybot_fastbuild_webview_google': [ - 'android', 'release_trybot', 'strip_debug_info', 'android_fastbuild', - 'android_no_proguard', 'webview_google', + 'android_release_trybot_webview_google': [ + 'android', 'release_trybot', 'strip_debug_info', 'android_no_proguard', + 'webview_google', ], 'android_release_trybot_x86_fastbuild_resource_whitelisting_webview_google': [ @@ -1813,10 +1819,9 @@ 'gpu_fyi_tests', 'release_trybot', 'x86', ], - 'gpu_tests_android_release_bot_minimal_symbols_arm64_fastbuild': [ + 'gpu_tests_android_release_bot_minimal_symbols_arm64': [ 'gpu_tests', 'android', 'release_bot', 'minimal_symbols', 'arm64', - 'resource_whitelisting', 'static_angle', 'android_fastbuild', 'webview_google', - 'android_no_proguard', + 'resource_whitelisting', 'static_angle', 'webview_google', ], 'gpu_tests_android_release_bot_minimal_symbols_arm64_fastbuild_java_coverage': [ @@ -1848,7 +1853,6 @@ 'gpu_tests_android_release_trybot_arm64_resource_whitelisting_fastbuild_java_coverage': [ 'gpu_tests', 'android', 'release_trybot', 'arm64', 'static_angle', 'resource_whitelisting', 'android_fastbuild', 'webview_google', - 'android_no_proguard', 'use_java_coverage', 'partial_code_coverage_instrumentation', ],
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml index d0a9f81b..8b067c0 100644 --- a/tools/metrics/histograms/enums.xml +++ b/tools/metrics/histograms/enums.xml
@@ -28693,6 +28693,7 @@ <int value="3367" label="ConversionRegistration"/> <int value="3368" label="WebSharePolicyAllow"/> <int value="3369" label="WebSharePolicyDisallow"/> + <int value="3370" label="FormAssociatedCustomElement"/> </enum> <enum name="FeaturePolicyAllowlistType"> @@ -30664,6 +30665,43 @@ <int value="2" label="Failed / credentials rejected"/> </enum> +<enum name="FuseZipError"> + <int value="0" label="Success">Hardcoded in fuse-zip</int> + <int value="11" label="Multipart ZIP"> + ZIP_ER_BASE from fuse-zip + ZIP_ER_MULTIDISK from libzip + </int> + <int value="15" label="Cannot read"> + ZIP_ER_BASE from fuse-zip + ZIP_ER_READ from libzip + </int> + <int value="21" label="Cannot open"> + ZIP_ER_BASE from fuse-zip + ZIP_ER_OPEN from libzip + </int> + <int value="29" label="Not a ZIP"> + ZIP_ER_BASE from fuse-zip + ZIP_ER_NOZIP from libzip + </int> + <int value="36" label="Missing password"> + ZIP_ER_BASE from fuse-zip + ZIP_ER_NOPASSWD from libzip + </int> + <int value="37" label="Bad password"> + ZIP_ER_BASE from fuse-zip + ZIP_ER_WRONGPASSWD from libzip + </int> + <int value="132" label="Terminated by SIGILL"> + MINIJAIL_ERR_SIG_BASE + SIGILL from libminijail + </int> + <int value="134" label="Terminated by SIGABRT"> + MINIJAIL_ERR_SIG_BASE + SIGABRT from libminijail + </int> + <int value="139" label="Terminated by SIGSEGV"> + MINIJAIL_ERR_SIG_BASE + SIGSEGV from libminijail + </int> + <int value="251" label="Cannot mount file in mount namespace"> + MINIJAIL_ERR_MOUNT from libminijail + </int> + <int value="253" label="Seccomp violation"> + MINIJAIL_ERR_JAIL from libminijail + </int> +</enum> + <enum name="GaiaPasswordHashChange"> <int value="0" label="Saved on Chrome sign-in (syncing)"/> <int value="1" label="Saved in the content area"/> @@ -37131,6 +37169,7 @@ <enum name="IOSActivityScenario"> <int value="0" label="Tab Share Button"/> <int value="1" label="QR Code Image"/> + <int value="2" label="History Entry"/> </enum> <enum name="IOSContentSizeCategory"> @@ -37244,6 +37283,7 @@ <int value="4" label="Open in New Window"/> <int value="5" label="Remove"/> <int value="6" label="Edit"/> + <int value="7" label="Share"/> </enum> <enum name="IOSMenuScenario"> @@ -40444,6 +40484,7 @@ <int value="-1567727398" label="DesktopPWAsWithoutExtensions:disabled"/> <int value="-1564232131" label="OmniboxOnDeviceHeadProviderNonIncognito:enabled"/> + <int value="-1562065709" label="ForceEnableDevicesPage:enabled"/> <int value="-1561360053" label="LauncherSettingsSearch:disabled"/> <int value="-1561252720" label="AutofillCreditCardUploadFeedback:disabled"/> <int value="-1560729847" label="AutofillCacheQueryResponses:enabled"/> @@ -40479,6 +40520,7 @@ <int value="-1535758690" label="AutoplayIgnoreWebAudio:disabled"/> <int value="-1535694535" label="PageInfoPerformanceHints:enabled"/> <int value="-1533258008" label="CalculateNativeWinOcclusion:enabled"/> + <int value="-1532645183" label="ReleaseNotesNotification:enabled"/> <int value="-1532035450" label="DragTabsInTabletMode:disabled"/> <int value="-1532014193" label="disable-encryption-migration"/> <int value="-1530711962" label="PrivacyElevatedAndroid:disabled"/> @@ -42924,6 +42966,7 @@ <int value="1082054180" label="PersistentWindowBounds:disabled"/> <int value="1083020187" label="FractionalScrollOffsets:enabled"/> <int value="1083201516" label="PersistentWindowBounds:enabled"/> + <int value="1084365949" label="ReleaseNotesNotification:disabled"/> <int value="1084972292" label="WebXRAnchors:enabled"/> <int value="1085130793" label="LongPressBackForHistory:disabled"/> <int value="1087235172" label="file-manager-enable-new-audio-player"/> @@ -43237,6 +43280,7 @@ <int value="1393722373" label="SaveEditedPDFForm:disabled"/> <int value="1397069250" label="NetworkService:disabled"/> <int value="1398148960" label="LanguageSettingsUpdate:disabled"/> + <int value="1398333721" label="ForceEnableDevicesPage:disabled"/> <int value="1399950951" label="AutofillTokenPrefixMatching:disabled"/> <int value="1403195370" label="ArcCupsApi:enabled"/> <int value="1405459667" label="enable-fast-text-autosizing"/> @@ -50104,7 +50148,7 @@ </enum> <enum name="NetworkServiceError"> - <int value="0" label="UNKNOWN"/> + <int value="0" label="NONE"/> <int value="1" label="AAA_FAILED"/> <int value="2" label="ACTIVATION_FAILED"/> <int value="3" label="BAD_PASSPHRASE"/> @@ -50125,6 +50169,10 @@ <int value="18" label="OUT_OF_RANGE"/> <int value="19" label="PPP_AUTH_FAILED"/> <int value="20" label="PIN_MISSING"/> + <int value="21" label="UNKNOWN"/> + <int value="22" label="NOT_ASSOCIATED"/> + <int value="23" label="NOT_AUTHENTICATED"/> + <int value="24" label="TOO_MANY_STAS"/> </enum> <enum name="NetworkStatus"> @@ -59246,6 +59294,9 @@ <int value="139" label="Terminated by SIGSEGV"> MINIJAIL_ERR_SIG_BASE + SIGSEGV from libminijail </int> + <int value="251" label="Cannot mount file in mount namespace"> + MINIJAIL_ERR_MOUNT from libminijail + </int> <int value="253" label="Seccomp violation"> MINIJAIL_ERR_JAIL from libminijail </int>
diff --git a/tools/metrics/histograms/histogram_ownership.py b/tools/metrics/histograms/histogram_ownership.py index 7014e0c6..e0441d5e 100755 --- a/tools/metrics/histograms/histogram_ownership.py +++ b/tools/metrics/histograms/histogram_ownership.py
@@ -9,19 +9,18 @@ from __future__ import print_function -import extract_histograms +import errno import os import sys -import xml.etree.ElementTree +from xml.etree import ElementTree as ET -sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'common')) -import path_util +import extract_histograms +import histogram_paths +import merge_xml -def main(): - tree = xml.etree.ElementTree.parse(path_util.GetHistogramsFile()) - root = tree.getroot() + +def PrintOwners(root): assert root.tag == 'histogram-configuration' - root_children = root.getchildren() histograms = None for node in root_children: @@ -45,7 +44,6 @@ continue if node.text == extract_histograms.OWNER_PLACEHOLDER: continue - assert '@' in node.text owners.append(node.text) if not obsolete: @@ -55,5 +53,33 @@ print(name, 'NO_OWNER') +def main(): + """Prints the owners of histograms in a specific file or of all histograms. + + Args: + argv[1]: Optional argument that is the relative path to a specific + histograms.xml. + + Example usage to print owners of histograms_xml/Accessibility/histograms.xml: + python histogram_ownership.py histograms_xml/Accessibility/histograms.xml + + Example usage to print owners of all histograms: + python histogram_ownership.py + """ + if len(sys.argv) == 1: + merged_xml_string = merge_xml.PrettyPrintMergedFiles( + histogram_paths.ALL_XMLS) + root = ET.fromstring(merged_xml_string) + else: + rel_path = sys.argv[1] + if not os.path.exists(rel_path): + raise FileNotFoundError(errno.ENOENT, os.strerror(errno.ENOENT)) + + tree = ET.parse(rel_path) + root = tree.getroot() + + PrintOwners(root) + + if __name__ == '__main__': main()
diff --git a/tools/metrics/histograms/histogram_paths.py b/tools/metrics/histograms/histogram_paths.py index 4c65c102..76c7842 100644 --- a/tools/metrics/histograms/histogram_paths.py +++ b/tools/metrics/histograms/histogram_paths.py
@@ -10,12 +10,38 @@ sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'common')) import path_util -ALL_XMLS_RELATIVE = [ - 'tools/metrics/histograms/enums.xml', - 'tools/metrics/histograms/histograms.xml' -] -ALL_XMLS = [path_util.GetInputFile(f) for f in ALL_XMLS_RELATIVE] -ENUMS_XML, HISTOGRAMS_XML = ALL_XMLS + +def _FindHistogramsXmlFiles(base_dir): + """Gets a list of all histograms.xml files under the directory tree, prefixed + with tools/metrics/histograms/.""" + file_list = [] + for dirName, _, fileList in os.walk(base_dir): + for filename in fileList: + if filename == 'histograms.xml': + filepath = os.path.join('tools/metrics/histograms/', dirName, filename) + file_list.append(filepath) + return file_list + + +ENUMS_XML_RELATIVE = 'tools/metrics/histograms/enums.xml' +# This file path accounts for cases where the script is executed from other +# metrics-related directories. +PATH_TO_HISTOGRAMS_XML_DIR = os.path.join('..', 'histograms/histograms_xml') +# In the middle state, histogram paths include both the large histograms.xml +# file as well as the split up files. +# TODO: Improve on the current design to avoid calling `os.walk()` at the time +# of module import. +HISTOGRAMS_XMLS_RELATIVE = (['tools/metrics/histograms/histograms.xml'] + + _FindHistogramsXmlFiles(PATH_TO_HISTOGRAMS_XML_DIR)) +OBSOLETE_XML_RELATIVE = ('tools/metrics/histograms/histograms_xml/' + 'obsolete_histograms.xml') +ALL_XMLS_RELATIVE = [ENUMS_XML_RELATIVE, OBSOLETE_XML_RELATIVE + ] + HISTOGRAMS_XMLS_RELATIVE + +ENUMS_XML = path_util.GetInputFile(ENUMS_XML_RELATIVE) +HISTOGRAMS_XMLS = [path_util.GetInputFile(f) for f in HISTOGRAMS_XMLS_RELATIVE] +OBSOLETE_XML = path_util.GetInputFile(OBSOLETE_XML_RELATIVE) +ALL_XMLS = [ENUMS_XML, OBSOLETE_XML] + HISTOGRAMS_XMLS ALL_TEST_XMLS_RELATIVE = [ 'tools/metrics/histograms/test_data/enums.xml', @@ -23,4 +49,4 @@ 'tools/metrics/histograms/test_data/ukm.xml', ] ALL_TEST_XMLS = [path_util.GetInputFile(f) for f in ALL_TEST_XMLS_RELATIVE] -TEST_ENUMS_XML, TEST_HISTOGRAMS_XML, TEST_UKM_XML = ALL_TEST_XMLS \ No newline at end of file +TEST_ENUMS_XML, TEST_HISTOGRAMS_XML, TEST_UKM_XML = ALL_TEST_XMLS
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml index 1d066fa4..054f2aa 100644 --- a/tools/metrics/histograms/histograms.xml +++ b/tools/metrics/histograms/histograms.xml
@@ -34068,6 +34068,16 @@ </summary> </histogram> +<histogram name="CrosDisks.Fuse.FuseZip" enum="FuseZipError" + expires_after="2021-10-01"> + <owner>fdegros@chromium.org</owner> + <owner>chromeos-files-app@google.com</owner> + <summary> + The error code returned by ZIP mounting program fuse-zip, which is called + every time a user opens a ZIP archive in ChromeOS Files App. + </summary> +</histogram> + <histogram name="CrosDisks.Fuse.Rar2fs" enum="Rar2fsError" expires_after="2021-04-01"> <owner>fdegros@chromium.org</owner> @@ -62861,217 +62871,6 @@ </summary> </histogram> -<histogram name="Fingerprint.Reset.ResetContextMode" - enum="FingerprintSensorMode" expires_after="2021-01-03"> - <owner>tomhughes@chromium.org</owner> - <owner>chromeos-fingerprint@google.com</owner> - <summary>The mode FPMCU was in when we reset context.</summary> -</histogram> - -<histogram name="Fingerprint.SetContext.SetContextMode" - enum="FingerprintSensorMode" expires_after="2021-01-03"> - <owner>yichengli@chromium.org</owner> - <owner>chromeos-fingerprint@google.com</owner> - <summary>The mode FPMCU was in when we set its context.</summary> -</histogram> - -<histogram name="Fingerprint.SetContext.Success" enum="BooleanSuccess" - expires_after="2021-01-03"> - <owner>yichengli@chromium.org</owner> - <owner>chromeos-fingerprint@google.com</owner> - <summary>Whether setting FPMCU mode succeeded.</summary> -</histogram> - -<histogram name="Fingerprint.Unlock.AttemptsCountBeforeSuccess" units="count" - expires_after="2021-01-03"> - <owner>rsorokin@chromium.org</owner> - <owner>jessejames@chromium.org</owner> - <owner>cros-oac@google.com</owner> - <summary> - Counts the number of fingerprint attempts until successful screen unlock. - </summary> -</histogram> - -<histogram name="Fingerprint.Unlock.AuthSuccessful" enum="BooleanSuccess" - expires_after="2021-01-03"> - <owner>rsorokin@chromium.org</owner> - <owner>jessejames@chromium.org</owner> - <owner>cros-oac@google.com</owner> - <summary> - Counts the number of times that the fingerprint match successfully vs. - rejected. - </summary> -</histogram> - -<histogram name="Fingerprint.Unlock.EnrolledFingerCount" units="count" - expires_after="2021-01-03"> - <owner>rsorokin@chromium.org</owner> - <owner>jessejames@chromium.org</owner> - <owner>cros-oac@google.com</owner> - <summary>Counts the number of fingers enrolled by the user.</summary> -</histogram> - -<histogram name="Fingerprint.Unlock.Match.Duration.Capture" units="ms" - expires_after="2021-01-03"> - <owner>rsorokin@chromium.org</owner> - <owner>jessejames@chromium.org</owner> - <owner>cros-oac@google.com</owner> - <summary> - Measures the time it took to capture the fingerprint image in the 'match' - case. - </summary> -</histogram> - -<histogram name="Fingerprint.Unlock.Match.Duration.Matcher" units="ms" - expires_after="2021-01-03"> - <owner>rsorokin@chromium.org</owner> - <owner>jessejames@chromium.org</owner> - <owner>cros-oac@google.com</owner> - <summary> - Measures the time it took to run matcher in the 'match' case. - </summary> -</histogram> - -<histogram name="Fingerprint.Unlock.Match.Duration.Overall" units="ms" - expires_after="2021-01-03"> - <owner>rsorokin@chromium.org</owner> - <owner>jessejames@chromium.org</owner> - <owner>cros-oac@google.com</owner> - <summary> - Measures the time it took between the detection of a finger and the 'match' - event being sent to the AP. - </summary> -</histogram> - -<histogram name="Fingerprint.Unlock.Match.PositiveMatchSecretCorrect" - enum="BooleanCorrect" expires_after="2021-01-03"> - <owner>yichengli@chromium.org</owner> - <owner>chromeos-fingerprint@google.com</owner> - <summary> - Whether the hash of the positive match secret read from FPMCU matches the - record. - </summary> -</histogram> - -<histogram name="Fingerprint.Unlock.MatchIgnoredDueToPowerButtonPress" - enum="BooleanIgnored" expires_after="2020-11-02"> - <owner>ravisadineni@chromium.org</owner> - <owner>chromeos-fingerprint@google.com</owner> - <summary> - Whether fingerprint touch was ignored due to parallel power button press. - </summary> -</histogram> - -<histogram name="Fingerprint.Unlock.MigrationForPositiveMatchSecretResult" - enum="BooleanSuccess" expires_after="M85"> - <owner>yichengli@chromium.org</owner> - <owner>chromeos-fingerprint@google.com</owner> - <summary> - Whether migrating a record to positive match secret succeeded. - </summary> -</histogram> - -<histogram name="Fingerprint.Unlock.NoMatch.Duration.Capture" units="ms" - expires_after="2021-01-03"> - <owner>rsorokin@chromium.org</owner> - <owner>jessejames@chromium.org</owner> - <owner>cros-oac@google.com</owner> - <summary> - Measures the time it took to capture the fingerprint image in the 'no-match' - case. - </summary> -</histogram> - -<histogram name="Fingerprint.Unlock.NoMatch.Duration.Matcher" units="ms" - expires_after="2021-01-03"> - <owner>rsorokin@chromium.org</owner> - <owner>jessejames@chromium.org</owner> - <owner>cros-oac@google.com</owner> - <summary> - Measures the time it took to run the matcher in the 'no-match' case. - </summary> -</histogram> - -<histogram name="Fingerprint.Unlock.NoMatch.Duration.Overall" units="ms" - expires_after="2021-01-03"> - <owner>rsorokin@chromium.org</owner> - <owner>jessejames@chromium.org</owner> - <owner>cros-oac@google.com</owner> - <summary> - Measures the time it took between the detection of a finger and the - 'no-match' event being sent to the AP. - </summary> -</histogram> - -<histogram name="Fingerprint.Unlock.ReadPositiveMatchSecret.Success" - enum="BooleanSuccess" expires_after="2021-01-03"> - <owner>yichengli@chromium.org</owner> - <owner>chromeos-fingerprint@google.com</owner> - <summary> - Whether successfully read positive match secret from FPMCU when needed. - </summary> -</histogram> - -<histogram name="Fingerprint.Unlock.RecordFormatVersion" - enum="FingerprintRecordFormatVersion" expires_after="2021-01-03"> - <owner>yichengli@chromium.org</owner> - <owner>chromeos-fingerprint@google.com</owner> - <summary> - Format version of a fingerprint template record read from storage. - </summary> -</histogram> - -<histogram name="Fingerprint.UnlockEnabled" enum="BooleanEnabled" - expires_after="2021-01-03"> - <owner>rsorokin@chromium.org</owner> - <owner>jessejames@chromium.org</owner> - <owner>cros-oac@google.com</owner> - <summary> - Track whether fingerprint is enabled to unlock the screen, when the user - logs in. - </summary> -</histogram> - -<histogram name="Fingerprint.Updater.NoUpdate.Duration.Overall" units="ms" - expires_after="2021-01-03"> - <owner>tomhughes@chromium.org</owner> - <owner>hesling@chromium.org</owner> - <owner>chromeos-fingerprint@google.com</owner> - <summary> - Measures the total time it takes to run the fingerprint firmware updater - when an update was not necessary. - </summary> -</histogram> - -<histogram name="Fingerprint.Updater.Reason" enum="FingerprintUpdaterReason" - expires_after="2021-01-03"> - <owner>tomhughes@chromium.org</owner> - <owner>hesling@chromium.org</owner> - <owner>chromeos-fingerprint@google.com</owner> - <summary> - Tracks the fingerprint firmware updater's reason(s) for re-flashing. - </summary> -</histogram> - -<histogram name="Fingerprint.Updater.Status" enum="FingerprintUpdaterStatus" - expires_after="2021-01-03"> - <owner>tomhughes@chromium.org</owner> - <owner>hesling@chromium.org</owner> - <owner>chromeos-fingerprint@google.com</owner> - <summary>Tracks the fingerprint firmware updater's overall status.</summary> -</histogram> - -<histogram name="Fingerprint.Updater.Update.Duration.Overall" units="ms" - expires_after="2021-01-03"> - <owner>tomhughes@chromium.org</owner> - <owner>hesling@chromium.org</owner> - <owner>chromeos-fingerprint@google.com</owner> - <summary> - Measures the total time it takes to run the fingerprint firmware updater - when an update was necessary. - </summary> -</histogram> - <histogram name="FirstRun.IOSFirebaseConfigured" enum="FirebaseConfiguredState" expires_after="M87"> <owner>ghendel@chromium.org</owner> @@ -88559,6 +88358,16 @@ <summary>Tracks which sharing entry point was triggered.</summary> </histogram> +<histogram name="Mobile.Share.HistoryEntry.Actions" enum="IOSShareAction" + expires_after="2021-06-01"> + <owner>seblalancette@chromium.org</owner> + <owner>chrome-sharing-core@google.com</owner> + <summary> + Tracks the sharing actions executed when the sharing scenario was initiated + for a history entry. + </summary> +</histogram> + <histogram name="Mobile.Share.QRCodeImage.Actions" enum="IOSShareAction" expires_after="2021-06-01"> <owner>seblalancette@chromium.org</owner> @@ -89323,7 +89132,32 @@ expires_after="2021-03-01"> <owner>tedchoc@chromium.org</owner> <owner>twellington@chromium.org</owner> - <summary>The count of launching Chrome mobile app within a day.</summary> + <summary> + Android only. + + The number of times the tabbed mode of Chrome is launched within a given 24 + hour window. A "launch" here is defined as anytime the tabbed mode + is made visible (foregrounded), but all Chrome activities must be completely + hidden before we'll count an additional launch. It includes all kinds of + intents, such as MAIN and VIEW. By ensuring all Chrome activities are + hidden, we avoid overcounting by going to Settings and returning to Chrome. + + This launch definition includes some items one might not expect: (i) click a + link in Chrome that opens in another app, then click back. (ii) have Chrome + in the foreground, then the screen times out (goes blank) or engages the + lock screen, then wake up/unlock the device. (iii) switch to + "Recents", then re-select Chrome. In all these cases, Chrome has + gone to the background so returning to it counts as another launch. + + The value reported reflects activity over a 24-hour window in the past, + possibly the distant past. Reporting is controlled by storing an initial + launch timestamp and counting all "launches" as a count until a + new launch happens after the 24hr window has elapsed (at this point, a new + 24hr window is started). The count is reported at the start of the next 24hr + window, so this is a retroactive count. For example, if a user uses Chrome + in one day two months ago, then doesn't use Chrome at all, then when Chrome + launches today it'll report the value during that 24-hour window. + </summary> </histogram> <histogram name="MobileStartup.IntentToCreationTime" units="ms" @@ -116725,7 +116559,7 @@ </histogram> <histogram name="Omnibox.ElisionConfig" enum="OmniboxElisionConfig" - expires_after="M86"> + expires_after="M88"> <owner>livvielin@chromium.org</owner> <owner>tommycli@chromium.org</owner> <summary> @@ -117532,7 +117366,7 @@ </histogram> <histogram name="Omnibox.ShowFullUrlsEnabled" enum="BooleanEnabled" - expires_after="M86"> + expires_after="M88"> <owner>livvielin@chromium.org</owner> <owner>tommycli@chromium.org</owner> <summary> @@ -148218,7 +148052,20 @@ <summary> Records when a user in the Delayed Warnings experiment group visits a page with a delayed SafeBrowsing phishing warning, triggers the delayed warning - (via keypress), or leaves the page without interacting. + (via keypress), or leaves the page without interacting. Only recorded when + user has not disabled URL elision via "Always Show Full URLs" + context menu item. + </summary> +</histogram> + +<histogram name="SafeBrowsing.DelayedWarnings.Event_UrlElisionDisabled" + enum="SafeBrowsingDelayedWarningEvent" expires_after="M89"> + <owner>meacer@chromium.org</owner> + <owner>chrome-safebrowsing-alerts@google.com</owner> + <summary> + Same as SafeBrowsing.DelayedWarnings.Event but only recorded when user has + disabled URL elision via "Always Show Full URLs" context menu + item, or by installing the Suspicious Site Reporter extension. </summary> </histogram> @@ -157530,7 +157377,7 @@ </histogram> <histogram name="Security.SecurityLevel.InsecureMainFrameFormSubmission" - enum="SecurityLevel" expires_after="M86"> + enum="SecurityLevel" expires_after="M89"> <owner>estark@chromium.org</owner> <owner>livvielin@chromium.org</owner> <summary> @@ -157543,7 +157390,7 @@ </histogram> <histogram name="Security.SecurityLevel.InsecureMainFrameNonFormNavigation" - enum="SecurityLevel" expires_after="M86"> + enum="SecurityLevel" expires_after="M89"> <owner>estark@chromium.org</owner> <owner>livvielin@chromium.org</owner> <summary> @@ -183536,1451 +183383,6 @@ </summary> </histogram> -<histogram name="UMA.ActualLogUploadInterval" units="minutes" - expires_after="2021-04-15"> - <owner>asvitkine@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - The actual interval between log upload start and previous log upload - finished within the same process. A value of 0 indicates there was no - previous upload. Prior to M71, logging for this metric was broken. - </summary> -</histogram> - -<histogram name="UMA.AntiVirusMetricsProvider.Result" - enum="AntiVirusMetricsProviderResult" expires_after="2020-03-08"> - <owner>wfh@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Records the result of the attempt to enumerate the installed AntiVirus on - the machine. This is recorded once during metrics initialization. - </summary> -</histogram> - -<histogram name="UMA.CleanExitBeaconConsistency" enum="UmaCleanExitConsistency" - expires_after="M85"> - <owner>siggi@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Reports the combined state of distinct clean exit beacons stored in Local - State and the Windows registry. They are normally expected to be identical. - </summary> -</histogram> - -<histogram name="UMA.ClientIdBackupRecoveredWithAge" units="hours" - expires_after="2020-10-25"> - <owner>gab@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Recorded when we are somehow missing the client ID stored in Local State yet - are able to recover it from a backup location along with the backed up - installation date. This report carries the age in hours of the recovered - client id. - </summary> -</histogram> - -<histogram name="UMA.ClientIdMigrated" enum="BooleanMigrated" - expires_after="2015-06-01"> - <obsolete> - Removed in M45. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <summary> - Recorded when the one-time UMA client id reset was performed (and the client - id of this user was migrated). - </summary> -</histogram> - -<histogram name="UMA.CollectExternalEventsTime" units="ms" - expires_after="2015-08-07"> - <obsolete> - Removed as of August 2015. The histogram showed no unexpected slowness, and - a profiler is a better tool for identifying any future issues. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <summary> - The time to run the external metrics collection task (Chrome OS). - </summary> -</histogram> - -<histogram name="UMA.ComputeCurrentSigninStatus" - enum="ComputeCurrentSigninStatus" expires_after="2016-06-14"> - <obsolete> - Removed as of Jun 2016. The histogram was added for debugging purpose and is - not needed anymore. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <owner>yiyaoliu@chromium.org</owner> - <summary> - Records attempts to compute the current the signin status and error - encountered when computing. - </summary> -</histogram> - -<histogram name="UMA.CreatePersistentHistogram.Result" - enum="CreatePersistentHistogramResult" expires_after="2018-04-12"> - <obsolete> - Removed April, 2018 as the information has never shown any problems. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <owner>bcwhite@chromium.org</owner> - <summary> - Records attempts to create histograms in presistent space and any errors - encountered when doing so. - </summary> -</histogram> - -<histogram name="UMA.Debug.EnableCrashUpload.DeferredStartUpAsyncTaskDuration" - units="ms" expires_after="M77"> - <obsolete> - No longer useful or monitored, removed 2020-01-06. - </obsolete> - <owner>wnwen@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Measures how much time it took to complete all async deferred startup tasks - on the background thread. Only logged on Android. - </summary> -</histogram> - -<histogram name="UMA.Debug.EnableCrashUpload.DeferredStartUpCompleteTime" - units="ms" expires_after="M77"> - <obsolete> - No longer useful or monitored, removed 2020-01-06. - </obsolete> - <owner>wnwen@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Measures how much time since application was first in foreground till all - deferred tasks are done. Only logged on Android. - </summary> -</histogram> - -<histogram name="UMA.Debug.EnableCrashUpload.DeferredStartUpDuration" - units="ms" expires_after="M77"> - <obsolete> - No longer useful or monitored, removed 2020-01-06. - </obsolete> - <owner>wnwen@chromium.org</owner> - <owner>asvitkine@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Measures how much time it took to complete deferred startup tasks on the UI - thread. Only logged on Android. - </summary> -</histogram> - -<histogram name="UMA.Debug.EnableCrashUpload.DeferredStartUpDurationAsync" - units="ms" expires_after="2017-01-24"> - <obsolete> - Removed 01/2017 for - UMA.Debug.EnableCrashUpload.DeferredStartupAsyncTaskDuration. - </obsolete> - <owner>wnwen@chromium.org</owner> - <owner>asvitkine@chromium.org</owner> - <summary> - Measures how much time it took to complete async deferred startup tasks on - the background thread. Only logged on Android. - </summary> -</histogram> - -<histogram name="UMA.Debug.EnableCrashUpload.DeferredStartUpMaxTaskDuration" - units="ms" expires_after="2020-02-16"> - <obsolete> - No longer useful or monitored, removed 2020-01-06. - </obsolete> - <owner>wnwen@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Measures the maximum amount of time a single deferred startup task took. - </summary> -</histogram> - -<histogram name="UMA.Debug.EnableCrashUpload.DeferredStartUptime" units="ms" - expires_after="2016-08-08"> - <obsolete> - Replaced by UMA.Debug.EnableCrashUpload.DeferredStartUptime2 - </obsolete> - <owner>asvitkine@chromium.org</owner> - <summary> - Measures how much time since start up it took for onDeferredStartup() to be - called, which schedules enablePotentialCrashUploading() to be executed on an - async task. Only logged on Android. - </summary> -</histogram> - -<histogram name="UMA.Debug.EnableCrashUpload.DeferredStartUptime2" units="ms" - expires_after="2017-06-28"> - <obsolete> - Removed 2017. No longer tracked. - </obsolete> - <owner>wnwen@chromium.org</owner> - <owner>asvitkine@chromium.org</owner> - <summary> - Measures how much time since application was first in foreground till - deferred tasks are initialized and queued on the idle handler. Only logged - on Android. - </summary> -</histogram> - -<histogram name="UMA.Debug.EnableCrashUpload.PostDeferredStartUptime" - units="ms" expires_after="2016-08-08"> - <obsolete> - Replaced by UMA.Debug.EnableCrashUpload.PostDeferredStartUptime2 - </obsolete> - <owner>asvitkine@chromium.org</owner> - <summary> - Measures how much time since start up it took before ChromeActivity's - postDeferredStartupIfNeeded() was called. Only logged on Android. - </summary> -</histogram> - -<histogram name="UMA.Debug.EnableCrashUpload.PostDeferredStartUptime2" - units="ms" expires_after="2017-06-28"> - <obsolete> - Removed 2017. No longer tracked. - </obsolete> - <owner>wnwen@chromium.org</owner> - <owner>asvitkine@chromium.org</owner> - <summary> - Measures how much time since application was first in foreground till - ChromeActivity's postDeferredStartupIfNeeded() was called exactly once. Only - logged on Android. - </summary> -</histogram> - -<histogram name="UMA.Debug.EnableCrashUpload.Uptime" units="ms" - expires_after="2016-05-16"> - <obsolete> - Replaced by UMA.Debug.EnableCrashUpload.Uptime2 - </obsolete> - <owner>asvitkine@chromium.org</owner> - <summary> - Measures how much time since start up it took before crash reporting was - enabled via enablePotentialCrashUploading() as part of deferred start up. - Only logged on Android. - </summary> -</histogram> - -<histogram name="UMA.Debug.EnableCrashUpload.Uptime2" units="ms" - expires_after="2016-08-08"> - <obsolete> - Replaced by UMA.Debug.EnableCrashUpload.Uptime3 - </obsolete> - <owner>asvitkine@chromium.org</owner> - <summary> - Measures how much time since start up it took before crash reporting was - enabled via enablePotentialCrashUploading() as part of deferred start up. - Only logged on Android. - </summary> -</histogram> - -<histogram name="UMA.Debug.EnableCrashUpload.Uptime3" units="ms" - expires_after="2017-06-28"> - <obsolete> - Removed 2017. No longer tracked. - </obsolete> - <owner>wnwen@chromium.org</owner> - <owner>asvitkine@chromium.org</owner> - <summary> - Measures how much time since application was first in foreground till crash - reporting was enabled as part of deferred start up. Only logged on Android. - </summary> -</histogram> - -<histogram name="UMA.Discarded Log Events" units="units" - expires_after="2017-06-05"> - <obsolete> - Replaced by UMA.Truncate* metrics. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <owner>rkaplow@chromium.org</owner> - <summary> - The number of events that would be discarded at log transmission time - because the event count was already too large. Note that this doesn't - measure actual discards - in case the UMAThrottleEvents feature is disabled, - the discards won't occur. - </summary> -</histogram> - -<histogram name="UMA.EnrollmentStatus" enum="EnrollmentStatus" - expires_after="2021-04-15"> - <owner>asvitkine@chromium.org</owner> - <owner>kaznacheev@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Logs the device enrollment status for Chrome OS device. Logged with every - UMA upload. - </summary> -</histogram> - -<histogram name="UMA.EntropySourceType" enum="UmaEntropySourceType" - expires_after="2021-04-15"> - <owner>asvitkine@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Logs the entropy source type that was used for field trial randomization. - Logged once at each start up. - </summary> -</histogram> - -<histogram name="UMA.ExternalExperiment.GroupCount" units="groups" - expires_after="2018-08-30"> - <owner>asvitkine@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Logged on Android whenever an external experiment is registered. The logged - value is the number of groups in the experiment. This will not be logged at - all if there are no external experiments, but will be logged on group - transitions (e.g. when going from 1 to 0 groups). - </summary> -</histogram> - -<histogram name="UMA.FieldTrialAllocator.Size" units="bytes" - expires_after="2016-11-09"> - <obsolete> - Removed 11/2016 for UMA.FieldTrialAllocator.Used - </obsolete> - <owner>lawrencewu@chromium.org</owner> - <owner>bcwhite@chromium.org</owner> - <owner>asvitkine@chromium.org</owner> - <summary> - Size, before padding, of objects allocated from persistent memory in the - browser process for field trials. Updated on each subprocess launch. - </summary> -</histogram> - -<histogram name="UMA.FieldTrialsEnabledBenchmarking" enum="BooleanUsage" - expires_after="2014-10-15"> - <obsolete> - Removed 2012. No longer tracked. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <summary> - Log whether the --enable-benchmarking flag was set, which causes field - trials to only use the default group. - </summary> -</histogram> - -<histogram name="UMA.FileMetricsProvider.AccessResult" - enum="FileMetricsProviderAccessResult" expires_after="M87"> - <owner>asvitkine@chromium.org</owner> - <owner>bcwhite@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Records attempts to access a file for the purpose of extracting metrics. - </summary> -</histogram> - -<histogram name="UMA.FileMetricsProvider.DeletedFiles" units="units" - expires_after="2018-04-12"> - <obsolete> - Removed April, 2018 as the information it provides is no longer useful. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <owner>bcwhite@chromium.org</owner> - <summary> - The number of old metrics files for which a delete was attempted. This is - logged once with each upload operation. Values greater than 1 indicate that - the files are not deletable by the browser and must be cleaned up by - whatever process is creating them. - </summary> -</histogram> - -<histogram name="UMA.FileMetricsProvider.DirectoryFiles" units="units" - expires_after="2018-04-12"> - <obsolete> - Removed April, 2018 as no problems were ever indicated. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <owner>bcwhite@chromium.org</owner> - <summary> - The number of metrics files in a directory that need to be uploaded. This is - logged once with each upload operation. - </summary> -</histogram> - -<histogram name="UMA.FileMetricsProvider.EmbeddedProfile.DroppedFileAge" - units="minutes" expires_after="2017-07-08"> - <obsolete> - Removed 07/2017. Was only for short-term analysis. About 95% of dropped - files were less than 1 day old. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <owner>bcwhite@chromium.org</owner> - <summary> - Records the last-modified age of a file that was dropped for lack of an - embedded profile. - </summary> -</histogram> - -<histogram name="UMA.FileMetricsProvider.EmbeddedProfile.DroppedHistogramCount" - units="units" expires_after="M75"> - <obsolete> - Removed 2019/04 with the resolution of https://crbug.com/695880 - </obsolete> - <owner>asvitkine@chromium.org</owner> - <owner>bcwhite@chromium.org</owner> - <summary> - Records the number of histograms present in a file that was dropped for lack - of an embedded profile. - </summary> -</histogram> - -<histogram name="UMA.FileMetricsProvider.EmbeddedProfile.RecordTime" units="ms" - expires_after="M71"> - <obsolete> - Removed 2019/04 as times are small, consistent, and now on a background - thread. - </obsolete> - <owner>bcwhite@chromium.org</owner> - <summary> - Tracks the time used to record all histograms from a file with an embedded - profile. - </summary> -</histogram> - -<histogram name="UMA.FileMetricsProvider.EmbeddedProfileResult" - enum="FileMetricsProviderEmbeddedProfileResult" expires_after="M75"> - <obsolete> - Removed 2019/04 with the resolution of https://crbug.com/695880 - </obsolete> - <owner>asvitkine@chromium.org</owner> - <owner>bcwhite@chromium.org</owner> - <summary> - Records attempts to upload metrics from files with embedded system profiles. - Counts are not necessarily mutually exclusive. - </summary> -</histogram> - -<histogram name="UMA.FileMetricsProvider.Happening" - enum="FileMetricsProviderHappening" expires_after="2018-02-09"> - <obsolete> - This metrics was to provide information for crbug/760317 which has been - resolved. Removed February, 2018. - </obsolete> - <owner>bcwhite@chromium.org</owner> - <summary> - Records various happenings within the FileMetricsProvider for debugging - purposes. - </summary> -</histogram> - -<histogram name="UMA.FileMetricsProvider.InitialAccessResult" - enum="FileMetricsProviderAccessResult" expires_after="M87"> - <owner>asvitkine@chromium.org</owner> - <owner>bcwhite@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Records attempts to access a file for the purpose of extracting initial - stability metrics. - </summary> -</histogram> - -<histogram name="UMA.FileMetricsProvider.InitialCheckTime.File" units="ms" - expires_after="M77"> - <obsolete> - Access times are consistently on the order of a few ms. Removed 2019/06. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <owner>bcwhite@chromium.org</owner> - <summary> - Records how much wall time was spent checking and mapping an initial metrics - file on disk. - </summary> -</histogram> - -<histogram name="UMA.FileMetricsProvider.InitialCheckTime.Total" units="ms" - expires_after="2018-04-12"> - <obsolete> - Removed April, 2018 as the information it provides is no longer useful. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <owner>bcwhite@chromium.org</owner> - <summary> - Records how much wall time was spent checking and mapping initial metrics - from all files on disk. - </summary> -</histogram> - -<histogram name="UMA.FileMetricsProvider.InitialSnapshotTime.File" units="ms" - expires_after="M80"> - <obsolete> - Access times are consistently on the order of a few ms. Removed 2019/06. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <owner>bcwhite@chromium.org</owner> - <summary> - Records how much wall time was spent collecting initial stability metrics - from a file on disk. - </summary> -</histogram> - -<histogram name="UMA.FileMetricsProvider.InitialSnapshotTime.Total" units="ms" - expires_after="2018-04-12"> - <obsolete> - Removed April, 2018 as the information it provides is no longer useful. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <owner>bcwhite@chromium.org</owner> - <summary> - Records how much wall time was spent collecting initial stability metrics - from all files on disk. - </summary> -</histogram> - -<histogram name="UMA.FileMetricsProvider.SnapshotTime.File" units="ms" - expires_after="M80"> - <obsolete> - Access times are consistently on the order of a few ms. Removed 2019/06. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <owner>bcwhite@chromium.org</owner> - <summary> - Records how much wall time was spent collecting metrics from a file on disk. - </summary> -</histogram> - -<histogram name="UMA.FileMetricsProvider.SnapshotTime.Total" units="ms" - expires_after="2018-04-12"> - <obsolete> - Removed April, 2018 as the information it provides is no longer useful. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <owner>bcwhite@chromium.org</owner> - <summary> - Records how much wall time was spent collecting metrics from all files on - disk. - </summary> -</histogram> - -<histogram name="UMA.GeneratedLowEntropySource" enum="Boolean" - expires_after="2015-08-07"> - <obsolete> - Removed as of August 2015. No longer tracked. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <summary> - For each attempt to generate the low entropy source, log whether or not the - load required generating a new low entropy source. - </summary> -</histogram> - -<histogram name="UMA.Histograms.Activity{OtherActivityProcesses}" - enum="HistogramActivityReport" expires_after="2017-10-16"> - <obsolete> - Removed as of October 2017. No longer tracked. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <owner>bcwhite@chromium.org</owner> - <summary> - Type and flags of every histogram created plus other activities. Counts are - not mutually-exclusive except for the different types. - </summary> - <token key="OtherActivityProcesses"> - <variant name=".gpu-process" label=""/> - <variant name=".ppapi" label=""/> - <variant name=".renderer" label=""/> - <variant name=".setup" label=""/> - <variant name=".utility" label=""/> - </token> -</histogram> - -<histogram name="UMA.InitSequence" enum="UmaInitSequence" - expires_after="2021-04-15"> - <owner>asvitkine@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Logged during MetricsService initialization whether the init task or the - initial log timer completed first. The expectation is the vast majority of - the time, the init task should complete first. If metrics show otherwise, - then it may indicate there's a bug in the MetricsService init sequence and - that it should be investigated. - </summary> -</histogram> - -<histogram name="UMA.IsClonedInstall" enum="BooleanCloned" - expires_after="2021-04-15"> - <owner>asvitkine@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - This is logged with a value of true in every log when the UMA client code - has detected that this is a potentially cloned install and has set the pref - to reset its UMA client id on the next startup. - </summary> -</histogram> - -<histogram name="UMA.JavaCachingRecorder.DroppedHistogramSampleCount" - units="samples" expires_after="2021-01-16"> - <owner>bttk@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Number of histogram samples that were not recorded when flushing due to - cache size limits in the Java in-memory cache. There are separate limits on - the number of cached histograms, and the number of samples in a histogram. - </summary> -</histogram> - -<histogram name="UMA.JavaCachingRecorder.DroppedSampleCount" units="samples" - expires_after="2020-03-31"> - <obsolete> - Removed on 2020-03-18. Renamed to - UMA.JavaCachingRecorder.DroppedHistogramSampleCount and reports also - histogram samples dropped due to a limit of the number of cached histograms. - </obsolete> - <owner>bttk@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Number of histogram samples that were not recorded when flushing due to a - per-histogram sample count limit in the Java in-memory cache. - </summary> -</histogram> - -<histogram name="UMA.JavaCachingRecorder.DroppedUserActionCount" - units="samples" expires_after="2021-01-16"> - <owner>bttk@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Number of user actions that were not recorded when flushing due to a cache - size limit in Java the in-memory cache. - </summary> -</histogram> - -<histogram name="UMA.JavaCachingRecorder.FlushedHistogramCount" - units="histograms" expires_after="2021-01-16"> - <owner>bttk@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Number of histograms recorded when flushing the Java in-memory cache. - </summary> -</histogram> - -<histogram name="UMA.JavaCachingRecorder.FullHistogramCount" units="histograms" - expires_after="2020-03-31"> - <obsolete> - Removed on 2020-03-18 to reduce the number of histograms emitted by the - cache. - </obsolete> - <owner>bttk@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Number of histograms for which not all samples may have been recorded when - flushing the Java in-memory cache due to a per-histogram sample count limit. - </summary> -</histogram> - -<histogram name="UMA.JavaCachingRecorder.HistogramLimitDroppedSampleCount" - units="samples" expires_after="2020-03-31"> - <obsolete> - Removed on 2020-03-18 to reduce the number of histograms emitted by the - cache. UMA.JavaCachingRecorder.DroppedHistogramSampleCount includes - histogram samples that were reported in this histogram. - </obsolete> - <owner>bttk@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Number of samples that were not recorded when flushing the Java in-memory - cache due to a histogram count limit. - </summary> -</histogram> - -<histogram name="UMA.JavaCachingRecorder.InputHistogramSampleCount" - units="samples" expires_after="2021-01-16"> - <owner>bttk@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Number of histogram samples seen by the time the Java in-memory cache was - flushed. This includes samples counted in DroppedHistogramSampleCount. - </summary> -</histogram> - -<histogram name="UMA.JavaCachingRecorder.InputSampleCount" units="samples" - expires_after="2020-03-31"> - <obsolete> - Removed on 2020-03-18. Renamed to - UMA.JavaCachingRecorder.InputHistogramSampleCount. - </obsolete> - <owner>bttk@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Number of histogram samples seen by the time the Java in-memory cache was - flushed. This is a sum of DroppedSampleCount and FlushedHistogramCount. - </summary> -</histogram> - -<histogram name="UMA.JavaCachingRecorder.InputUserActionCount" units="samples" - expires_after="2021-01-16"> - <owner>bttk@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Number of user actions seen by the time the in-memory cache was flushed. - This includes actions counted in DroppedUserActionCount. - </summary> -</histogram> - -<histogram name="UMA.JavaCachingRecorder.RemainingHistogramLimit" - units="histograms" expires_after="2020-03-31"> - <obsolete> - Removed on 2020-03-18 to reduce the number of histograms emitted by the - cache. - </obsolete> - <owner>bttk@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - The remaining histogram count limit when flushing in the Java in-memory - cache. - </summary> -</histogram> - -<histogram name="UMA.JavaCachingRecorder.RemainingSampleLimit" - units="histograms" expires_after="2020-03-31"> - <obsolete> - Removed on 2020-03-18 to reduce the number of histograms emitted by the - cache. - </obsolete> - <owner>bttk@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - The smallest remaining sample count limit in metrics flushed from the Java - in-memory cache. - </summary> -</histogram> - -<histogram name="UMA.Large Accumulated Log Not Persisted" units="bytes" - expires_after="2018-08-30"> - <obsolete> - Removed 2020-04 - </obsolete> - <owner>asvitkine@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Number of bytes in an excessively large log that was discarded at shutdown - instead of being saved to disk to retry during next chrome run. - </summary> -</histogram> - -<histogram name="UMA.Large Rejected Log was Discarded" units="bytes" - expires_after="2018-08-30"> - <obsolete> - Removed 2020-04 - </obsolete> - <owner>asvitkine@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Number of bytes in a log was was rejected by server, and then discarded. - </summary> -</histogram> - -<histogram name="UMA.LoadLogsTime" units="ms" expires_after="2015-08-05"> - <obsolete> - Removed as of August 2015. The histograms showed no unexpected slowness, and - a profiler is a better tool for identifying any future issues. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <summary> - The time spent to load (de-serialize) unsent logs from local state, recorded - during the MetricsService startup sequence. - </summary> -</histogram> - -<histogram name="UMA.LocalPersistentMemoryAllocator.Failures.Posix" - enum="PopularOSErrno" expires_after="M85"> - <owner>bcwhite@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Failures, as reported in errno, encountered while allocating local - persistent memory under Posix. - </summary> -</histogram> - -<histogram name="UMA.LocalPersistentMemoryAllocator.Failures.Win" - enum="WinGetLastError" expires_after="M85"> - <owner>bcwhite@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Failures, as reported by GetLastError(), encountered while allocating local - persistent memory under Windows. - </summary> -</histogram> - -<histogram name="UMA.LogLoadComplete called" units="units" - expires_after="2016-04-09"> - <obsolete> - No longer tracked. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <summary> - Simple counter of the number of times LogLoadComplete was called (bug - demonstration, as we're called more often than once per page load :-/ ) - </summary> -</histogram> - -<histogram name="UMA.LogSize.OnSuccess" units="KB" expires_after="2021-04-15"> - <owner>asvitkine@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Size in kilobytes (after compression) of an uploaded UMA log. Recorded after - a successful UMA upload. - - Note: A related metric (UMA.ProtoCompressionRatio) logs the compression - ratio. - </summary> -</histogram> - -<histogram name="UMA.LogUpload.Canceled.CellularConstraint" - enum="BooleanCanceled" expires_after="2021-01-03"> - <owner>holte@chromium.org</owner> - <owner>asvitkine@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Logs whether a log was not uploaded due to cellular log throttling logic. - Android only. - </summary> -</histogram> - -<histogram name="UMA.LogUpload.ConnetionType" enum="NetworkConnectionType" - expires_after="2016-04-11"> - <obsolete> - Used for analyzing UMA log uploads on cellular connection, but necessary - after the analysis is finished. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <owner>gayane@chromium.org</owner> - <summary> - The network connection type for each successful metrics log upload. - </summary> -</histogram> - -<histogram name="UMA.LogUpload.ResponseOrErrorCode" - enum="CombinedHttpResponseAndNetErrorCode" expires_after="2021-04-15"> - <owner>holte@chromium.org</owner> - <owner>asvitkine@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - HTTP response codes and network errors encountered by UMA when attempting to - upload logs to the server through an HTTPS connection. - </summary> -</histogram> - -<histogram name="UMA.LogUpload.ResponseOrErrorCode.HTTP" - enum="CombinedHttpResponseAndNetErrorCode" expires_after="2021-04-15"> - <owner>holte@chromium.org</owner> - <owner>asvitkine@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - HTTP response codes and network errors encountered by UMA when attempting to - upload logs to the server through an HTTP connection. - </summary> -</histogram> - -<histogram name="UMA.LogUploader.UploadSize" units="bytes" - expires_after="2019-01-22"> - <obsolete> - Removed in favor of UMA.LogSize.OnSuccess - </obsolete> - <owner>asvitkine@chromium.org</owner> - <owner>holte@chromium.org</owner> - <summary> - Reports total upload length in bytes when the UMA service type is used. - </summary> -</histogram> - -<histogram name="UMA.LowEntropySource3Value" units="units" - expires_after="2021-04-15"> - <owner>asvitkine@chromium.org</owner> - <owner>mpearson@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Distribution of the new low entropy source value. Corresponds to - metrics::prefs::kMetricsLowEntropySource. Used for field trial - randomization. Recorded on startup. - </summary> -</histogram> - -<histogram name="UMA.LowEntropySourceValue" units="units" - expires_after="2021-04-15"> - <owner>asvitkine@chromium.org</owner> - <owner>mpearson@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Distribution of the old low entropy source value. Corresponds to - metrics::prefs::kMetricsOldLowEntropySource. Used for field trial - randomization on clients that already have it, but not created on new - installs. Recorded on startup. - </summary> -</histogram> - -<histogram name="UMA.MachineIdState" enum="UmaMachineIdState" - expires_after="M77"> - <owner>jwd@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Tracks if the machine ID is generated successfully and if it changes from - one run to the next. The machine ID is a 24-bit hash of machine - characteristics. It is expected to change if an install of Chrome is copied - to multiple machines. This check happens once per browser startup. - </summary> -</histogram> - -<histogram name="UMA.MetricsIDsReset" enum="BooleanHit" - expires_after="2020-12-06"> - <owner>jwd@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - A count of the number of times the metrics ids (client id and low entropy - source) have been reset due to a cloned install being detected. - </summary> -</histogram> - -<histogram name="UMA.MetricsReporting.Toggle" enum="MetricsReportingChange" - expires_after="2021-04-15"> - <owner>asvitkine@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Logged when user successfully enables/disables MetricsReporting or when an - error occurs. - </summary> -</histogram> - -<histogram name="UMA.MetricsService.DeletedDirectorySize.Failure" units="KB" - expires_after="2018-02-09"> - <obsolete> - This metrics was to provide information for crbug/760317 which has been - resolved. Removed February, 2018. - </obsolete> - <owner>bcwhite@chromium.org</owner> - <summary> - Records the size of the metrics directory size, after failing to be deleted. - This is a temporary metric that will be removed in M63 or M64. - </summary> -</histogram> - -<histogram name="UMA.MetricsService.DeletedDirectorySize.Success" units="KB" - expires_after="2018-02-09"> - <obsolete> - This metrics was to provide information for crbug/760317 which has been - resolved. Removed February, 2018. - </obsolete> - <owner>bcwhite@chromium.org</owner> - <summary> - Records the size of the metrics directory size, after being successfully - deleted. This should always be zero unless there is a bug in the return - code. This is a temporary metric that will be removed in M63 or M64. - </summary> -</histogram> - -<histogram name="UMA.MetricsService.Initialize" enum="Boolean" - expires_after="2020-12-01"> - <owner>rkaplow@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Records true during the initialization of the metrics state, right at the - time of logging a count to launch_count in stability prefs. - </summary> -</histogram> - -<histogram name="UMA.MetricsService.RecordCurrentHistograms.Time" units="ms" - expires_after="2018-02-07"> - <obsolete> - Removed February, 2018 because persistent metrics are fully launched with no - observable change in operation time. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <owner>bcwhite@chromium.org</owner> - <summary> - Records how much wall time was spent merging, taking snapshots, and - recording histograms for reporting to UMA. - </summary> -</histogram> - -<histogram name="UMA.NegativeSamples.Histogram" enum="HistogramNameHash" - expires_after="2021-04-15"> - <owner>asvitkine@chromium.org</owner> - <owner>bcwhite@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - The lower 32 bits of the ID of the histogram that went negative. - </summary> -</histogram> - -<histogram name="UMA.NegativeSamples.Increment" units="increment" - expires_after="2021-04-15"> - <owner>asvitkine@chromium.org</owner> - <owner>bcwhite@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - The amount of increment that caused a sample count to become negative. - </summary> -</histogram> - -<histogram name="UMA.NegativeSamples.Reason" enum="NegativeSampleReason" - expires_after="2021-04-15"> - <owner>asvitkine@chromium.org</owner> - <owner>bcwhite@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Reasons why a negative sample count would have been created. Currently, only - negative samples from persistent sparse histograms are being checked. - </summary> -</histogram> - -<histogram name="UMA.Perf.GetData" enum="GetPerfDataOutcome" - expires_after="2019-01-14"> - <obsolete> - Removed 01/2019 in b/110205489 being split into ChromeOS.CWP.CollectPerf and - ChromeOS.CWP.UploadPerf. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <summary> - A count of successes and various failure modes related to collecting and - processing performance data obtained through "perf" on Chrome OS. - </summary> -</histogram> - -<histogram base="true" name="UMA.PersistentAllocator.Allocs" units="bytes" - expires_after="2017-02-16"> - <obsolete> - Removed 2/2017 for Issue 689315 which indicated they weren't being used. - </obsolete> - <owner>bcwhite@chromium.org</owner> - <owner>asvitkine@chromium.org</owner> - <summary> - Size, before padding, of objects allocated from persistent memory. This is - updated with every allocation. - </summary> -</histogram> - -<histogram base="true" name="UMA.PersistentAllocator.Errors" - enum="PersistentAllocatorErrors" expires_after="M85"> - <owner>bcwhite@chromium.org</owner> - <owner>asvitkine@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Errors detected by the persistent memory allocator. These are set when they - occur. - </summary> -</histogram> - -<histogram base="true" name="UMA.PersistentAllocator.UsedPct" units="%" - expires_after="M85"> - <owner>bcwhite@chromium.org</owner> - <owner>asvitkine@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Percentage of persistent memory segment that has been allocated. This is - updated only once per reporting cycle. - </summary> -</histogram> - -<histogram name="UMA.PersistentHistograms.InitResult" - enum="PersistentHistogramsInitResult" expires_after="2020-12-20"> - <owner>bcwhite@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - A count of successes and failures for the creation of various forms of - persistent memory used to store histograms. - </summary> -</histogram> - -<histogram name="UMA.PersistentHistograms.TmpRemovals" units="units" - expires_after="M77"> - <obsolete> - Data showed many files being deleted during rollout and then tapering off to - near zero. Removed 2019/07. - </obsolete> - <owner>bcwhite@chromium.org</owner> - <owner>asvitkine@chromium.org</owner> - <summary> - Number of old .tmp files of the kind that Windows creates and leaves around - when trying to rename a file to another one that already exists. See - https://crbug.com/934164 - </summary> -</histogram> - -<histogram name="UMA.PrimaryUserType" enum="UserType" - expires_after="2020-12-06"> - <owner>michaelpg@chromium.org</owner> - <owner>yilkal@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - This UMA logs the primary user type per metrics recording interval. - </summary> -</histogram> - -<histogram name="UMA.ProfilesCount.AfterErase" units="units" - expires_after="2016-06-14"> - <obsolete> - Removed as of Jun 2016. The histogram was added for debugging purpose and is - not needed anymore. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <owner>yiyaoliu@chromium.org</owner> - <summary> - Record the number of loaded profiles when a profile is erased from the - profiles map kept by profile manager. - </summary> -</histogram> - -<histogram name="UMA.ProfileSignInStatus" enum="ProfileSigninStatus" - expires_after="never"> -<!-- expires-never: For the signin_status filter in dynamic table. --> - - <owner>asvitkine@chromium.org</owner> - <owner>isherman@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - An enum representing the signin status of all opened profiles during one UMA - session. - - Reported incorrect data on ChromeOS before M80. - </summary> -</histogram> - -<histogram name="UMA.ProtoCompressionRatio" units="%" - expires_after="2021-04-15"> - <owner>asvitkine@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Compression ratio of the serialized protobuf that will be uploaded to the - UMA server. This serialized protobuf is compressed using gzip. See also - UMA.LogSize.OnSuccess. - </summary> -</histogram> - -<histogram name="UMA.ProtoGzipped" enum="Boolean" expires_after="2013-09-13"> - <obsolete> - Removed as of Sep, 2013. Gzipping protobufs is now the default. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <summary>Was the UMA protobuf uploaded earlier compressed or not.</summary> -</histogram> - -<histogram name="UMA.ProtoGzippedKBSaved" units="KB" expires_after="2015-08-06"> - <obsolete> - Removed as of August 2015. See UMA.ProtoCompressionRatio instead. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <summary> - Kilobytes saved from gzipping the protobufs before uploading them. - </summary> -</histogram> - -<histogram name="UMA.SamplingRatePerMille" units="samples per mille" - expires_after="2021-04-15"> - <owner>jwd@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Sample rate applied to this client, expressed as number of clients per 1000 - that are in the sample. Recorded on every log upload but only if the client - is eligible for sampling. (As of September 2019, the only clients eligible - for sampling are Windows and Android installs on which the UMA checkbox was - enabled by default.) - - Clients not eligible for sampling will not have this histogram recorded. - - Clients that are eligible for sampling but are sampled out (i.e., not - uploading logs) will not have this histogram recorded. Notably, it will not - appear in chrome://histograms! (Obviously, it also won't appear in the UMA - logs because the client is not uploading logs.) - - Additional nuance, hopefully not important: the rate refers to the session - that the log was generated in, not the session the log was generated about. - This means when UMA uploads information about the last session (such as - stability statistics), it is possible--though extremely unlikely--that the - sampling rate config has changed from the previous session to the current - one. As such, the sampling rate emitted in a previous-session log record may - not be the right one that should've applied to that record. - </summary> -</histogram> - -<histogram name="UMA.StoreLogsTime" units="ms" expires_after="2015-08-05"> - <obsolete> - Removed as of August 2015. The histograms showed no unexpected slowness, and - a profiler is a better tool for identifying any future issues. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <summary> - The time spent to store unsent logs to local state, which is done - periodically and also during start up if there was an initial stability log. - </summary> -</histogram> - -<histogram name="UMA.StructuredMetrics.EventRecordingState" - enum="StructuredMetricsEventRecordingState" expires_after="2021-02-01"> - <owner>tby@chromium.org</owner> - <owner>rkaplow@chromium.org</owner> - <owner>asvitkine@chromium.org</owner> - <summary> - Emitted when a structured metrics event is sent for recording. This records - whether that event was recorded successfully, or otherwise what error - occurred. - </summary> -</histogram> - -<histogram name="UMA.StructuredMetrics.InternalError" - enum="StructuredMetricsInternalError" expires_after="2021-02-01"> - <owner>tby@chromium.org</owner> - <owner>rkaplow@chromium.org</owner> - <owner>asvitkine@chromium.org</owner> - <summary> - Records unexpected internal errors of the structured metrics system. The - bucket proportion of this metric is not meaningful. - </summary> -</histogram> - -<histogram name="UMA.StructuredMetrics.KeyValidationState" - enum="StructuredMetricsKeyValidationState" expires_after="2021-02-01"> - <owner>tby@chromium.org</owner> - <owner>rkaplow@chromium.org</owner> - <owner>asvitkine@chromium.org</owner> - <summary> - When a user event key is validated (and possibly updated), whether the key - was valid and required no changes, missing and required creation, or old and - required rotation. - </summary> -</histogram> - -<histogram name="UMA.StructuredMetrics.NumEventsInUpload" units="count" - expires_after="2021-02-01"> - <owner>tby@chromium.org</owner> - <owner>rkaplow@chromium.org</owner> - <owner>asvitkine@chromium.org</owner> - <summary> - How many events are provided when the structured metrics system is called on - to provide its current session data. - </summary> -</histogram> - -<histogram name="UMA.StructuredMetrics.PrefReadError" - enum="PrefServiceReadError" expires_after="2021-02-01"> - <owner>tby@chromium.org</owner> - <owner>rkaplow@chromium.org</owner> - <owner>asvitkine@chromium.org</owner> - <summary> - When the structured metrics provider initializes, it reads the pref store - from disk that holds keys and unsent logs. If there was an error during that - read, this records the error code. PREF_READ_ERROR_NO_FILE is recorded - whenever a particular profile signs into a particular device for the first - time, so a reasonable number of errors are expected. - </summary> -</histogram> - -<histogram name="UMA.SubprocessMetricsProvider.SubprocessCount" - units="subprocesses" expires_after="2020-04-05"> - <obsolete> - Removed 2020/04 - </obsolete> - <owner>asvitkine@chromium.org</owner> - <owner>bcwhite@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - The number of subprocesses from which persistent metrics were collected, - logged once with every reporting cycle. - </summary> -</histogram> - -<histogram name="UMA.SubprocessMetricsProvider.UntrackedProcesses" - enum="SubprocessType" expires_after="M77"> - <obsolete> - Removed 2019/06 after not reporting anything in years. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <owner>bcwhite@chromium.org</owner> - <summary> - The number of subprocesses, by type, from which persistent metrics are NOT - collected because there is no information about this (likely new) process - type. Process numbers 1000 or greater are "custom" processes used - by embedders. - </summary> -</histogram> - -<histogram name="UMA.SyntheticTrials.Count" units="units" - expires_after="2015-08-06"> - <obsolete> - Removed as of August 2015. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <summary> - The number of synthetic field trials added to the UMA log when the system - profile is recorded. Since this is done prior to capturing the histograms - from the current process, this will generally be logged once per UMA log. - </summary> -</histogram> - -<histogram name="UMA.TruncatedEvents.Omnibox" units="events" - expires_after="M85"> - <owner>rkaplow@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - The number of omnibox events that existed in the metrics log before we - truncated them to save bandwidth. - </summary> -</histogram> - -<histogram name="UMA.TruncatedEvents.UserAction" units="events" - expires_after="2021-01-31"> - <owner>rkaplow@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - The number of user actions events that existed in the metrics log before we - truncated them to save bandwidth. - </summary> -</histogram> - -<histogram name="UMA.Unacceptable_Log_Discarded" units="units" - expires_after="2013-07-11"> - <obsolete> - Removed as of May, 2012 (i.e. Chrome 21+). Replaced by the - UMA.UploadResponseStatus.XML and UMA.UploadResponseStatus.Protobuf - histograms. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <summary>The server returned a 400 code, and we discarded a log.</summary> - <details> - This tends to indicate that a syntax error is present in a log, such as - would appear when a bogus XML tag is included, or the XML is not balanced - and well structured. - </details> -</histogram> - -<histogram name="UMA.UnsentLogs.Dropped" units="units" - expires_after="2021-08-30"> - <owner>holte@chromium.org</owner> - <owner>asvitkine@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - Counter for number of UMA unsent logs removed from persistent storage. - </summary> -</histogram> - -<histogram name="UMA.UnsentLogs.PersistedSizeInKB" units="KB" - expires_after="2021-05-30"> - <owner>michaelbai@chromium.org</owner> - <owner>asvitkine@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - The size of all persistent initial or ongoing logs that have been - proto-encoded and compressed in the previous browser run; it is recorded on - the browser start up. The value '0' means no unsent logs. - </summary> -</histogram> - -<histogram name="UMA.UnsentLogs.SentCount" units="samples" - expires_after="2021-05-30"> - <owner>michaelbai@chromium.org</owner> - <owner>asvitkine@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - The number of UMA sent samples in the previous browser run; it is recorded - on the browser start up. - </summary> -</histogram> - -<histogram name="UMA.UnsentLogs.UnsentCount" units="samples" - expires_after="2021-05-30"> - <owner>michaelbai@chromium.org</owner> - <owner>asvitkine@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - The number of UMA unsent samples in the previous browser run; it is recorded - on the browser start up. - </summary> -</histogram> - -<histogram name="UMA.UnsentLogs.UnsentPercentage" units="%" - expires_after="2021-05-30"> - <owner>michaelbai@chromium.org</owner> - <owner>asvitkine@chromium.org</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - The percentage of the unsent samples over the total in the previous browser - run; it is recorded on the browser start up. - </summary> -</histogram> - -<histogram name="UMA.UploadCreation" enum="BooleanSuccess" - expires_after="2015-08-06"> - <obsolete> - Removed as of August 2015. This failure case no longer exists. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <summary> - For each attempted UMA upload, log whether the upload was successfully - constructed. An upload might fail to be constructed, for example, if we try - to upload before the system is fully initialized; or if serialization of the - data fails. - </summary> -</histogram> - -<histogram name="UMA.UploadResponseStatus.Protobuf" - enum="UmaUploadResponseStatus" expires_after="2017-04-04"> - <obsolete> - Replaced by UMA.LogUpload.ResponseOrErrorCode - </obsolete> - <owner>asvitkine@chromium.org</owner> - <summary> - For each upload to the protocol buffer (v2) UMA server, log whether the - upload was successful, or whether there was an error. - </summary> -</histogram> - -<histogram name="UMA.UploadResponseStatus.XML" enum="UmaUploadResponseStatus" - expires_after="2014-10-15"> - <obsolete> - Removed 2013. No longer tracked. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <summary> - For each upload to the XML (v1) UMA server, log whether the upload was - successful, or whether there was an error. - </summary> -</histogram> - -<histogram name="UMA.UsedResetVariationsFlag" enum="BooleanUsage" - expires_after="2016-04-09"> - <obsolete> - No longer tracked. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <summary> - Log whether the --reset-variation-state flag was set before the low entropy - source was requested. - </summary> -</histogram> - -<histogram name="UMA.UserDemographics.Status" enum="UserDemographicsStatus" - expires_after="2021-04-15"> - <owner>vincb@google.com</owner> - <owner>src/base/metrics/OWNERS</owner> - <summary> - The status of the retrieval of user demographics from sync that are reported - to UMA. Emitted each time UMA metrics are reported. - </summary> -</histogram> - -<histogram name="UMA.XMLNodeDumpTime" units="ms" expires_after="2014-10-15"> - <obsolete> - Removed 2013. No longer tracked. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <summary> - The time spent in converting the XML tree into a character buffer when - closing a metrics log (Chrome OS). - </summary> -</histogram> - -<histogram name="UMA.XMLWriterDestructionTime" units="ms" - expires_after="2014-10-15"> - <obsolete> - Removed 2013. No longer tracked. - </obsolete> - <owner>asvitkine@chromium.org</owner> - <summary> - The time spent in freeing the XML writer and tree when closing a metrics log - (Chrome OS). - </summary> -</histogram> - <histogram name="UncompressAndParseSkiaVectorAsset" units="microseconds" expires_after="M85"> <owner>malaykeshav@chromium.org</owner> @@ -212316,73 +210718,6 @@ <affected-histogram name="Permissions.Requested.CrossOrigin"/> </histogram_suffixes> -<histogram_suffixes name="PersistentMemoryAllocs" separator="." - ordering="prefix,2"> - <obsolete> - Removed 2/2017 for Issue 689315 which indicated they weren't being used. - </obsolete> - <suffix name="BrowserMetrics" label="For browser process metrics."/> - <suffix name="FieldTrialAllocator" label="For field-trial allocator."/> - <suffix name="GpuMetrics" label="For GPU process metrics."/> - <suffix name="NotificationHelperMetrics" - label="For notification_helper process metrics."/> - <suffix name="PpapiBrokerMetrics" - label="For "PPAPI broker" process metrics."/> - <suffix name="PpapiPluginMetrics" - label="For "PPAPI plugin" process metrics."/> - <suffix name="RendererMetrics" label="For renderer process metrics."/> - <suffix name="SandboxHelperMetrics" - label="For "sandbox helper" process metrics."/> - <suffix name="SetupMetrics" label="For setup metrics."/> - <suffix name="UtilityMetrics" - label="For "utility" process metrics."/> - <suffix name="ZygoteMetrics" label="For "zygote" process metrics."/> - <affected-histogram name="UMA.PersistentAllocator.Allocs"/> -</histogram_suffixes> - -<histogram_suffixes name="PersistentMemoryErrors" separator="." - ordering="prefix,2"> - <suffix name="BrowserMetrics" label="For browser process metrics."/> - <suffix name="CrashpadMetrics" label="For metrics from Crashpad."/> - <suffix name="FieldTrialAllocator" label="For field-trial allocator."/> - <suffix name="GpuMetrics" label="For GPU process metrics."/> - <suffix name="NotificationHelperMetrics" - label="For notification_helper process metrics."/> - <suffix name="PpapiBrokerMetrics" - label="For "PPAPI broker" process metrics."/> - <suffix name="PpapiPluginMetrics" - label="For "PPAPI plugin" process metrics."/> - <suffix name="RendererMetrics" label="For renderer process metrics."/> - <suffix name="SandboxHelperMetrics" - label="For "sandbox helper" process metrics."/> - <suffix name="SetupMetrics" label="For setup metrics."/> - <suffix name="UtilityMetrics" - label="For "utility" process metrics."/> - <suffix name="ZygoteMetrics" label="For "zygote" process metrics."/> - <affected-histogram name="UMA.PersistentAllocator.Errors"/> -</histogram_suffixes> - -<histogram_suffixes name="PersistentMemoryUsedPct" separator="." - ordering="prefix,2"> - <suffix name="BrowserMetrics" label="For browser process metrics."/> - <suffix name="FieldTrialAllocator" label="For field-trial allocator."/> - <suffix name="GpuMetrics" label="For GPU process metrics."/> - <suffix name="NotificationHelperMetrics" - label="For notification_helper process metrics."/> - <suffix name="PpapiBrokerMetrics" - label="For "PPAPI broker" process metrics."/> - <suffix name="PpapiPluginMetrics" - label="For "PPAPI plugin" process metrics."/> - <suffix name="RendererMetrics" label="For renderer process metrics."/> - <suffix name="SandboxHelperMetrics" - label="For "sandbox helper" process metrics."/> - <suffix name="SetupMetrics" label="For setup metrics."/> - <suffix name="UtilityMetrics" - label="For "utility" process metrics."/> - <suffix name="ZygoteMetrics" label="For "zygote" process metrics."/> - <affected-histogram name="UMA.PersistentAllocator.UsedPct"/> -</histogram_suffixes> - <histogram_suffixes name="PhoneHubFeature" separator="."> <suffix name="NotificationBadge" label="Notification badge sub-feature."/> <suffix name="Notifications" label="Notifications sub-feature."/>
diff --git a/tools/metrics/histograms/histograms_xml/Fingerprint/histograms.xml b/tools/metrics/histograms/histograms_xml/Fingerprint/histograms.xml new file mode 100644 index 0000000..449d6ee --- /dev/null +++ b/tools/metrics/histograms/histograms_xml/Fingerprint/histograms.xml
@@ -0,0 +1,244 @@ +<!-- +Copyright 2013 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. +--> + +<!-- +This file is used to generate a comprehensive list of Chrome histograms along +with a detailed description for each histogram. + +For best practices on writing histogram descriptions, see +https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md + +For brief details on how to modify this file to add your description, see +https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/one-pager.md + +Please pretty-print and validate your edits by running the pretty_print.py +and validate_format.py scripts in the same directory as this file before +uploading your change for review. + +Please send CLs to chromium-metrics-reviews@google.com rather than to specific +individuals. These CLs will be automatically reassigned to a reviewer within +about 5 minutes. This approach helps the metrics team to load-balance incoming +reviews. Googlers can read more about this at go/gwsq-gerrit. +--> + +<histogram-configuration> + +<histograms> + +<histogram name="Fingerprint.Reset.ResetContextMode" + enum="FingerprintSensorMode" expires_after="2021-01-03"> + <owner>tomhughes@chromium.org</owner> + <owner>chromeos-fingerprint@google.com</owner> + <summary>The mode FPMCU was in when we reset context.</summary> +</histogram> + +<histogram name="Fingerprint.SetContext.SetContextMode" + enum="FingerprintSensorMode" expires_after="2021-01-03"> + <owner>yichengli@chromium.org</owner> + <owner>chromeos-fingerprint@google.com</owner> + <summary>The mode FPMCU was in when we set its context.</summary> +</histogram> + +<histogram name="Fingerprint.SetContext.Success" enum="BooleanSuccess" + expires_after="2021-01-03"> + <owner>yichengli@chromium.org</owner> + <owner>chromeos-fingerprint@google.com</owner> + <summary>Whether setting FPMCU mode succeeded.</summary> +</histogram> + +<histogram name="Fingerprint.Unlock.AttemptsCountBeforeSuccess" units="count" + expires_after="2021-01-03"> + <owner>rsorokin@chromium.org</owner> + <owner>jessejames@chromium.org</owner> + <owner>cros-oac@google.com</owner> + <summary> + Counts the number of fingerprint attempts until successful screen unlock. + </summary> +</histogram> + +<histogram name="Fingerprint.Unlock.AuthSuccessful" enum="BooleanSuccess" + expires_after="2021-01-03"> + <owner>rsorokin@chromium.org</owner> + <owner>jessejames@chromium.org</owner> + <owner>cros-oac@google.com</owner> + <summary> + Counts the number of times that the fingerprint match successfully vs. + rejected. + </summary> +</histogram> + +<histogram name="Fingerprint.Unlock.EnrolledFingerCount" units="count" + expires_after="2021-01-03"> + <owner>rsorokin@chromium.org</owner> + <owner>jessejames@chromium.org</owner> + <owner>cros-oac@google.com</owner> + <summary>Counts the number of fingers enrolled by the user.</summary> +</histogram> + +<histogram name="Fingerprint.Unlock.Match.Duration.Capture" units="ms" + expires_after="2021-01-03"> + <owner>rsorokin@chromium.org</owner> + <owner>jessejames@chromium.org</owner> + <owner>cros-oac@google.com</owner> + <summary> + Measures the time it took to capture the fingerprint image in the 'match' + case. + </summary> +</histogram> + +<histogram name="Fingerprint.Unlock.Match.Duration.Matcher" units="ms" + expires_after="2021-01-03"> + <owner>rsorokin@chromium.org</owner> + <owner>jessejames@chromium.org</owner> + <owner>cros-oac@google.com</owner> + <summary> + Measures the time it took to run matcher in the 'match' case. + </summary> +</histogram> + +<histogram name="Fingerprint.Unlock.Match.Duration.Overall" units="ms" + expires_after="2021-01-03"> + <owner>rsorokin@chromium.org</owner> + <owner>jessejames@chromium.org</owner> + <owner>cros-oac@google.com</owner> + <summary> + Measures the time it took between the detection of a finger and the 'match' + event being sent to the AP. + </summary> +</histogram> + +<histogram name="Fingerprint.Unlock.Match.PositiveMatchSecretCorrect" + enum="BooleanCorrect" expires_after="2021-01-03"> + <owner>yichengli@chromium.org</owner> + <owner>chromeos-fingerprint@google.com</owner> + <summary> + Whether the hash of the positive match secret read from FPMCU matches the + record. + </summary> +</histogram> + +<histogram name="Fingerprint.Unlock.MatchIgnoredDueToPowerButtonPress" + enum="BooleanIgnored" expires_after="2020-11-02"> + <owner>ravisadineni@chromium.org</owner> + <owner>chromeos-fingerprint@google.com</owner> + <summary> + Whether fingerprint touch was ignored due to parallel power button press. + </summary> +</histogram> + +<histogram name="Fingerprint.Unlock.MigrationForPositiveMatchSecretResult" + enum="BooleanSuccess" expires_after="M85"> + <owner>yichengli@chromium.org</owner> + <owner>chromeos-fingerprint@google.com</owner> + <summary> + Whether migrating a record to positive match secret succeeded. + </summary> +</histogram> + +<histogram name="Fingerprint.Unlock.NoMatch.Duration.Capture" units="ms" + expires_after="2021-01-03"> + <owner>rsorokin@chromium.org</owner> + <owner>jessejames@chromium.org</owner> + <owner>cros-oac@google.com</owner> + <summary> + Measures the time it took to capture the fingerprint image in the 'no-match' + case. + </summary> +</histogram> + +<histogram name="Fingerprint.Unlock.NoMatch.Duration.Matcher" units="ms" + expires_after="2021-01-03"> + <owner>rsorokin@chromium.org</owner> + <owner>jessejames@chromium.org</owner> + <owner>cros-oac@google.com</owner> + <summary> + Measures the time it took to run the matcher in the 'no-match' case. + </summary> +</histogram> + +<histogram name="Fingerprint.Unlock.NoMatch.Duration.Overall" units="ms" + expires_after="2021-01-03"> + <owner>rsorokin@chromium.org</owner> + <owner>jessejames@chromium.org</owner> + <owner>cros-oac@google.com</owner> + <summary> + Measures the time it took between the detection of a finger and the + 'no-match' event being sent to the AP. + </summary> +</histogram> + +<histogram name="Fingerprint.Unlock.ReadPositiveMatchSecret.Success" + enum="BooleanSuccess" expires_after="2021-01-03"> + <owner>yichengli@chromium.org</owner> + <owner>chromeos-fingerprint@google.com</owner> + <summary> + Whether successfully read positive match secret from FPMCU when needed. + </summary> +</histogram> + +<histogram name="Fingerprint.Unlock.RecordFormatVersion" + enum="FingerprintRecordFormatVersion" expires_after="2021-01-03"> + <owner>yichengli@chromium.org</owner> + <owner>chromeos-fingerprint@google.com</owner> + <summary> + Format version of a fingerprint template record read from storage. + </summary> +</histogram> + +<histogram name="Fingerprint.UnlockEnabled" enum="BooleanEnabled" + expires_after="2021-01-03"> + <owner>rsorokin@chromium.org</owner> + <owner>jessejames@chromium.org</owner> + <owner>cros-oac@google.com</owner> + <summary> + Track whether fingerprint is enabled to unlock the screen, when the user + logs in. + </summary> +</histogram> + +<histogram name="Fingerprint.Updater.NoUpdate.Duration.Overall" units="ms" + expires_after="2021-01-03"> + <owner>tomhughes@chromium.org</owner> + <owner>hesling@chromium.org</owner> + <owner>chromeos-fingerprint@google.com</owner> + <summary> + Measures the total time it takes to run the fingerprint firmware updater + when an update was not necessary. + </summary> +</histogram> + +<histogram name="Fingerprint.Updater.Reason" enum="FingerprintUpdaterReason" + expires_after="2021-01-03"> + <owner>tomhughes@chromium.org</owner> + <owner>hesling@chromium.org</owner> + <owner>chromeos-fingerprint@google.com</owner> + <summary> + Tracks the fingerprint firmware updater's reason(s) for re-flashing. + </summary> +</histogram> + +<histogram name="Fingerprint.Updater.Status" enum="FingerprintUpdaterStatus" + expires_after="2021-01-03"> + <owner>tomhughes@chromium.org</owner> + <owner>hesling@chromium.org</owner> + <owner>chromeos-fingerprint@google.com</owner> + <summary>Tracks the fingerprint firmware updater's overall status.</summary> +</histogram> + +<histogram name="Fingerprint.Updater.Update.Duration.Overall" units="ms" + expires_after="2021-01-03"> + <owner>tomhughes@chromium.org</owner> + <owner>hesling@chromium.org</owner> + <owner>chromeos-fingerprint@google.com</owner> + <summary> + Measures the total time it takes to run the fingerprint firmware updater + when an update was necessary. + </summary> +</histogram> + +</histograms> + +</histogram-configuration>
diff --git a/tools/metrics/histograms/histograms_xml/UMA/histograms.xml b/tools/metrics/histograms/histograms_xml/UMA/histograms.xml new file mode 100644 index 0000000..3fd5c54 --- /dev/null +++ b/tools/metrics/histograms/histograms_xml/UMA/histograms.xml
@@ -0,0 +1,608 @@ +<!-- +Copyright 2013 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. +--> + +<!-- +This file is used to generate a comprehensive list of Chrome histograms along +with a detailed description for each histogram. + +For best practices on writing histogram descriptions, see +https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md + +For brief details on how to modify this file to add your description, see +https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/one-pager.md + +Please pretty-print and validate your edits by running the pretty_print.py +and validate_format.py scripts in the same directory as this file before +uploading your change for review. + +Please send CLs to chromium-metrics-reviews@google.com rather than to specific +individuals. These CLs will be automatically reassigned to a reviewer within +about 5 minutes. This approach helps the metrics team to load-balance incoming +reviews. Googlers can read more about this at go/gwsq-gerrit. +--> + +<histogram-configuration> + +<histograms> + +<histogram name="UMA.ActualLogUploadInterval" units="minutes" + expires_after="2021-04-15"> + <owner>asvitkine@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + The actual interval between log upload start and previous log upload + finished within the same process. A value of 0 indicates there was no + previous upload. Prior to M71, logging for this metric was broken. + </summary> +</histogram> + +<histogram name="UMA.AntiVirusMetricsProvider.Result" + enum="AntiVirusMetricsProviderResult" expires_after="2020-03-08"> + <owner>wfh@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Records the result of the attempt to enumerate the installed AntiVirus on + the machine. This is recorded once during metrics initialization. + </summary> +</histogram> + +<histogram name="UMA.CleanExitBeaconConsistency" enum="UmaCleanExitConsistency" + expires_after="M85"> + <owner>siggi@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Reports the combined state of distinct clean exit beacons stored in Local + State and the Windows registry. They are normally expected to be identical. + </summary> +</histogram> + +<histogram name="UMA.ClientIdBackupRecoveredWithAge" units="hours" + expires_after="2020-10-25"> + <owner>gab@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Recorded when we are somehow missing the client ID stored in Local State yet + are able to recover it from a backup location along with the backed up + installation date. This report carries the age in hours of the recovered + client id. + </summary> +</histogram> + +<histogram name="UMA.EnrollmentStatus" enum="EnrollmentStatus" + expires_after="2021-04-15"> + <owner>asvitkine@chromium.org</owner> + <owner>kaznacheev@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Logs the device enrollment status for Chrome OS device. Logged with every + UMA upload. + </summary> +</histogram> + +<histogram name="UMA.EntropySourceType" enum="UmaEntropySourceType" + expires_after="2021-04-15"> + <owner>asvitkine@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Logs the entropy source type that was used for field trial randomization. + Logged once at each start up. + </summary> +</histogram> + +<histogram name="UMA.ExternalExperiment.GroupCount" units="groups" + expires_after="2018-08-30"> + <owner>asvitkine@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Logged on Android whenever an external experiment is registered. The logged + value is the number of groups in the experiment. This will not be logged at + all if there are no external experiments, but will be logged on group + transitions (e.g. when going from 1 to 0 groups). + </summary> +</histogram> + +<histogram name="UMA.FileMetricsProvider.AccessResult" + enum="FileMetricsProviderAccessResult" expires_after="M87"> + <owner>asvitkine@chromium.org</owner> + <owner>bcwhite@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Records attempts to access a file for the purpose of extracting metrics. + </summary> +</histogram> + +<histogram name="UMA.FileMetricsProvider.InitialAccessResult" + enum="FileMetricsProviderAccessResult" expires_after="M87"> + <owner>asvitkine@chromium.org</owner> + <owner>bcwhite@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Records attempts to access a file for the purpose of extracting initial + stability metrics. + </summary> +</histogram> + +<histogram name="UMA.InitSequence" enum="UmaInitSequence" + expires_after="2021-04-15"> + <owner>asvitkine@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Logged during MetricsService initialization whether the init task or the + initial log timer completed first. The expectation is the vast majority of + the time, the init task should complete first. If metrics show otherwise, + then it may indicate there's a bug in the MetricsService init sequence and + that it should be investigated. + </summary> +</histogram> + +<histogram name="UMA.IsClonedInstall" enum="BooleanCloned" + expires_after="2021-04-15"> + <owner>asvitkine@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + This is logged with a value of true in every log when the UMA client code + has detected that this is a potentially cloned install and has set the pref + to reset its UMA client id on the next startup. + </summary> +</histogram> + +<histogram name="UMA.JavaCachingRecorder.DroppedHistogramSampleCount" + units="samples" expires_after="2021-01-16"> + <owner>bttk@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Number of histogram samples that were not recorded when flushing due to + cache size limits in the Java in-memory cache. There are separate limits on + the number of cached histograms, and the number of samples in a histogram. + </summary> +</histogram> + +<histogram name="UMA.JavaCachingRecorder.DroppedUserActionCount" + units="samples" expires_after="2021-01-16"> + <owner>bttk@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Number of user actions that were not recorded when flushing due to a cache + size limit in Java the in-memory cache. + </summary> +</histogram> + +<histogram name="UMA.JavaCachingRecorder.FlushedHistogramCount" + units="histograms" expires_after="2021-01-16"> + <owner>bttk@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Number of histograms recorded when flushing the Java in-memory cache. + </summary> +</histogram> + +<histogram name="UMA.JavaCachingRecorder.InputHistogramSampleCount" + units="samples" expires_after="2021-01-16"> + <owner>bttk@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Number of histogram samples seen by the time the Java in-memory cache was + flushed. This includes samples counted in DroppedHistogramSampleCount. + </summary> +</histogram> + +<histogram name="UMA.JavaCachingRecorder.InputUserActionCount" units="samples" + expires_after="2021-01-16"> + <owner>bttk@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Number of user actions seen by the time the in-memory cache was flushed. + This includes actions counted in DroppedUserActionCount. + </summary> +</histogram> + +<histogram name="UMA.LocalPersistentMemoryAllocator.Failures.Posix" + enum="PopularOSErrno" expires_after="M85"> + <owner>bcwhite@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Failures, as reported in errno, encountered while allocating local + persistent memory under Posix. + </summary> +</histogram> + +<histogram name="UMA.LocalPersistentMemoryAllocator.Failures.Win" + enum="WinGetLastError" expires_after="M85"> + <owner>bcwhite@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Failures, as reported by GetLastError(), encountered while allocating local + persistent memory under Windows. + </summary> +</histogram> + +<histogram name="UMA.LogSize.OnSuccess" units="KB" expires_after="2021-04-15"> + <owner>asvitkine@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Size in kilobytes (after compression) of an uploaded UMA log. Recorded after + a successful UMA upload. + + Note: A related metric (UMA.ProtoCompressionRatio) logs the compression + ratio. + </summary> +</histogram> + +<histogram name="UMA.LogUpload.Canceled.CellularConstraint" + enum="BooleanCanceled" expires_after="2021-01-03"> + <owner>holte@chromium.org</owner> + <owner>asvitkine@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Logs whether a log was not uploaded due to cellular log throttling logic. + Android only. + </summary> +</histogram> + +<histogram name="UMA.LogUpload.ResponseOrErrorCode" + enum="CombinedHttpResponseAndNetErrorCode" expires_after="2021-04-15"> + <owner>holte@chromium.org</owner> + <owner>asvitkine@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + HTTP response codes and network errors encountered by UMA when attempting to + upload logs to the server through an HTTPS connection. + </summary> +</histogram> + +<histogram name="UMA.LogUpload.ResponseOrErrorCode.HTTP" + enum="CombinedHttpResponseAndNetErrorCode" expires_after="2021-04-15"> + <owner>holte@chromium.org</owner> + <owner>asvitkine@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + HTTP response codes and network errors encountered by UMA when attempting to + upload logs to the server through an HTTP connection. + </summary> +</histogram> + +<histogram name="UMA.LowEntropySource3Value" units="units" + expires_after="2021-04-15"> + <owner>asvitkine@chromium.org</owner> + <owner>mpearson@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Distribution of the new low entropy source value. Corresponds to + metrics::prefs::kMetricsLowEntropySource. Used for field trial + randomization. Recorded on startup. + </summary> +</histogram> + +<histogram name="UMA.LowEntropySourceValue" units="units" + expires_after="2021-04-15"> + <owner>asvitkine@chromium.org</owner> + <owner>mpearson@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Distribution of the old low entropy source value. Corresponds to + metrics::prefs::kMetricsOldLowEntropySource. Used for field trial + randomization on clients that already have it, but not created on new + installs. Recorded on startup. + </summary> +</histogram> + +<histogram name="UMA.MachineIdState" enum="UmaMachineIdState" + expires_after="M77"> + <owner>jwd@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Tracks if the machine ID is generated successfully and if it changes from + one run to the next. The machine ID is a 24-bit hash of machine + characteristics. It is expected to change if an install of Chrome is copied + to multiple machines. This check happens once per browser startup. + </summary> +</histogram> + +<histogram name="UMA.MetricsIDsReset" enum="BooleanHit" + expires_after="2020-12-06"> + <owner>jwd@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + A count of the number of times the metrics ids (client id and low entropy + source) have been reset due to a cloned install being detected. + </summary> +</histogram> + +<histogram name="UMA.MetricsReporting.Toggle" enum="MetricsReportingChange" + expires_after="2021-04-15"> + <owner>asvitkine@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Logged when user successfully enables/disables MetricsReporting or when an + error occurs. + </summary> +</histogram> + +<histogram name="UMA.MetricsService.Initialize" enum="Boolean" + expires_after="2020-12-01"> + <owner>rkaplow@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Records true during the initialization of the metrics state, right at the + time of logging a count to launch_count in stability prefs. + </summary> +</histogram> + +<histogram name="UMA.NegativeSamples.Histogram" enum="HistogramNameHash" + expires_after="2021-04-15"> + <owner>asvitkine@chromium.org</owner> + <owner>bcwhite@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + The lower 32 bits of the ID of the histogram that went negative. + </summary> +</histogram> + +<histogram name="UMA.NegativeSamples.Increment" units="increment" + expires_after="2021-04-15"> + <owner>asvitkine@chromium.org</owner> + <owner>bcwhite@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + The amount of increment that caused a sample count to become negative. + </summary> +</histogram> + +<histogram name="UMA.NegativeSamples.Reason" enum="NegativeSampleReason" + expires_after="2021-04-15"> + <owner>asvitkine@chromium.org</owner> + <owner>bcwhite@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Reasons why a negative sample count would have been created. Currently, only + negative samples from persistent sparse histograms are being checked. + </summary> +</histogram> + +<histogram base="true" name="UMA.PersistentAllocator.Errors" + enum="PersistentAllocatorErrors" expires_after="M85"> + <owner>bcwhite@chromium.org</owner> + <owner>asvitkine@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Errors detected by the persistent memory allocator. These are set when they + occur. + </summary> +</histogram> + +<histogram base="true" name="UMA.PersistentAllocator.UsedPct" units="%" + expires_after="M85"> + <owner>bcwhite@chromium.org</owner> + <owner>asvitkine@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Percentage of persistent memory segment that has been allocated. This is + updated only once per reporting cycle. + </summary> +</histogram> + +<histogram name="UMA.PersistentHistograms.InitResult" + enum="PersistentHistogramsInitResult" expires_after="2020-12-20"> + <owner>bcwhite@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + A count of successes and failures for the creation of various forms of + persistent memory used to store histograms. + </summary> +</histogram> + +<histogram name="UMA.PrimaryUserType" enum="UserType" + expires_after="2020-12-06"> + <owner>michaelpg@chromium.org</owner> + <owner>yilkal@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + This UMA logs the primary user type per metrics recording interval. + </summary> +</histogram> + +<histogram name="UMA.ProfileSignInStatus" enum="ProfileSigninStatus" + expires_after="never"> +<!-- expires-never: For the signin_status filter in dynamic table. --> + + <owner>asvitkine@chromium.org</owner> + <owner>isherman@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + An enum representing the signin status of all opened profiles during one UMA + session. + + Reported incorrect data on ChromeOS before M80. + </summary> +</histogram> + +<histogram name="UMA.ProtoCompressionRatio" units="%" + expires_after="2021-04-15"> + <owner>asvitkine@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Compression ratio of the serialized protobuf that will be uploaded to the + UMA server. This serialized protobuf is compressed using gzip. See also + UMA.LogSize.OnSuccess. + </summary> +</histogram> + +<histogram name="UMA.SamplingRatePerMille" units="samples per mille" + expires_after="2021-04-15"> + <owner>jwd@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Sample rate applied to this client, expressed as number of clients per 1000 + that are in the sample. Recorded on every log upload but only if the client + is eligible for sampling. (As of September 2019, the only clients eligible + for sampling are Windows and Android installs on which the UMA checkbox was + enabled by default.) + + Clients not eligible for sampling will not have this histogram recorded. + + Clients that are eligible for sampling but are sampled out (i.e., not + uploading logs) will not have this histogram recorded. Notably, it will not + appear in chrome://histograms! (Obviously, it also won't appear in the UMA + logs because the client is not uploading logs.) + + Additional nuance, hopefully not important: the rate refers to the session + that the log was generated in, not the session the log was generated about. + This means when UMA uploads information about the last session (such as + stability statistics), it is possible--though extremely unlikely--that the + sampling rate config has changed from the previous session to the current + one. As such, the sampling rate emitted in a previous-session log record may + not be the right one that should've applied to that record. + </summary> +</histogram> + +<histogram name="UMA.StructuredMetrics.EventRecordingState" + enum="StructuredMetricsEventRecordingState" expires_after="2021-02-01"> + <owner>tby@chromium.org</owner> + <owner>rkaplow@chromium.org</owner> + <owner>asvitkine@chromium.org</owner> + <summary> + Emitted when a structured metrics event is sent for recording. This records + whether that event was recorded successfully, or otherwise what error + occurred. + </summary> +</histogram> + +<histogram name="UMA.StructuredMetrics.InternalError" + enum="StructuredMetricsInternalError" expires_after="2021-02-01"> + <owner>tby@chromium.org</owner> + <owner>rkaplow@chromium.org</owner> + <owner>asvitkine@chromium.org</owner> + <summary> + Records unexpected internal errors of the structured metrics system. The + bucket proportion of this metric is not meaningful. + </summary> +</histogram> + +<histogram name="UMA.StructuredMetrics.KeyValidationState" + enum="StructuredMetricsKeyValidationState" expires_after="2021-02-01"> + <owner>tby@chromium.org</owner> + <owner>rkaplow@chromium.org</owner> + <owner>asvitkine@chromium.org</owner> + <summary> + When a user event key is validated (and possibly updated), whether the key + was valid and required no changes, missing and required creation, or old and + required rotation. + </summary> +</histogram> + +<histogram name="UMA.StructuredMetrics.NumEventsInUpload" units="count" + expires_after="2021-02-01"> + <owner>tby@chromium.org</owner> + <owner>rkaplow@chromium.org</owner> + <owner>asvitkine@chromium.org</owner> + <summary> + How many events are provided when the structured metrics system is called on + to provide its current session data. + </summary> +</histogram> + +<histogram name="UMA.StructuredMetrics.PrefReadError" + enum="PrefServiceReadError" expires_after="2021-02-01"> + <owner>tby@chromium.org</owner> + <owner>rkaplow@chromium.org</owner> + <owner>asvitkine@chromium.org</owner> + <summary> + When the structured metrics provider initializes, it reads the pref store + from disk that holds keys and unsent logs. If there was an error during that + read, this records the error code. PREF_READ_ERROR_NO_FILE is recorded + whenever a particular profile signs into a particular device for the first + time, so a reasonable number of errors are expected. + </summary> +</histogram> + +<histogram name="UMA.TruncatedEvents.Omnibox" units="events" + expires_after="M85"> + <owner>rkaplow@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + The number of omnibox events that existed in the metrics log before we + truncated them to save bandwidth. + </summary> +</histogram> + +<histogram name="UMA.TruncatedEvents.UserAction" units="events" + expires_after="2021-01-31"> + <owner>rkaplow@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + The number of user actions events that existed in the metrics log before we + truncated them to save bandwidth. + </summary> +</histogram> + +<histogram name="UMA.UnsentLogs.Dropped" units="units" + expires_after="2021-08-30"> + <owner>holte@chromium.org</owner> + <owner>asvitkine@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Counter for number of UMA unsent logs removed from persistent storage. + </summary> +</histogram> + +<histogram name="UMA.UnsentLogs.PersistedSizeInKB" units="KB" + expires_after="2021-05-30"> + <owner>michaelbai@chromium.org</owner> + <owner>asvitkine@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + The size of all persistent initial or ongoing logs that have been + proto-encoded and compressed in the previous browser run; it is recorded on + the browser start up. The value '0' means no unsent logs. + </summary> +</histogram> + +<histogram name="UMA.UnsentLogs.SentCount" units="samples" + expires_after="2021-05-30"> + <owner>michaelbai@chromium.org</owner> + <owner>asvitkine@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + The number of UMA sent samples in the previous browser run; it is recorded + on the browser start up. + </summary> +</histogram> + +<histogram name="UMA.UnsentLogs.UnsentCount" units="samples" + expires_after="2021-05-30"> + <owner>michaelbai@chromium.org</owner> + <owner>asvitkine@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + The number of UMA unsent samples in the previous browser run; it is recorded + on the browser start up. + </summary> +</histogram> + +<histogram name="UMA.UnsentLogs.UnsentPercentage" units="%" + expires_after="2021-05-30"> + <owner>michaelbai@chromium.org</owner> + <owner>asvitkine@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + The percentage of the unsent samples over the total in the previous browser + run; it is recorded on the browser start up. + </summary> +</histogram> + +<histogram name="UMA.UserDemographics.Status" enum="UserDemographicsStatus" + expires_after="2021-04-15"> + <owner>vincb@google.com</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + The status of the retrieval of user demographics from sync that are reported + to UMA. Emitted each time UMA metrics are reported. + </summary> +</histogram> + +</histograms> + +</histogram-configuration>
diff --git a/tools/metrics/histograms/histograms_xml/histogram_suffixes.xml b/tools/metrics/histograms/histograms_xml/histogram_suffixes.xml new file mode 100644 index 0000000..60129f5 --- /dev/null +++ b/tools/metrics/histograms/histograms_xml/histogram_suffixes.xml
@@ -0,0 +1,100 @@ +<!-- +Copyright 2013 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. +--> + +<!-- +This file is used to generate a comprehensive list of Chrome histograms along +with a detailed description for each histogram. + +For best practices on writing histogram descriptions, see +https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md + +For brief details on how to modify this file to add your description, see +https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/one-pager.md + +Please pretty-print and validate your edits by running the pretty_print.py +and validate_format.py scripts in the same directory as this file before +uploading your change for review. + +Please send CLs to chromium-metrics-reviews@google.com rather than to specific +individuals. These CLs will be automatically reassigned to a reviewer within +about 5 minutes. This approach helps the metrics team to load-balance incoming +reviews. Googlers can read more about this at go/gwsq-gerrit. +--> + +<histogram-configuration> + +<histogram_suffixes_list> + +<histogram_suffixes name="PersistentMemoryAllocs" separator="." + ordering="prefix,2"> + <obsolete> + Removed 2/2017 for Issue 689315 which indicated they weren't being used. + </obsolete> + <suffix name="BrowserMetrics" label="For browser process metrics."/> + <suffix name="FieldTrialAllocator" label="For field-trial allocator."/> + <suffix name="GpuMetrics" label="For GPU process metrics."/> + <suffix name="NotificationHelperMetrics" + label="For notification_helper process metrics."/> + <suffix name="PpapiBrokerMetrics" + label="For "PPAPI broker" process metrics."/> + <suffix name="PpapiPluginMetrics" + label="For "PPAPI plugin" process metrics."/> + <suffix name="RendererMetrics" label="For renderer process metrics."/> + <suffix name="SandboxHelperMetrics" + label="For "sandbox helper" process metrics."/> + <suffix name="SetupMetrics" label="For setup metrics."/> + <suffix name="UtilityMetrics" + label="For "utility" process metrics."/> + <suffix name="ZygoteMetrics" label="For "zygote" process metrics."/> + <affected-histogram name="UMA.PersistentAllocator.Allocs"/> +</histogram_suffixes> + +<histogram_suffixes name="PersistentMemoryErrors" separator="." + ordering="prefix,2"> + <suffix name="BrowserMetrics" label="For browser process metrics."/> + <suffix name="CrashpadMetrics" label="For metrics from Crashpad."/> + <suffix name="FieldTrialAllocator" label="For field-trial allocator."/> + <suffix name="GpuMetrics" label="For GPU process metrics."/> + <suffix name="NotificationHelperMetrics" + label="For notification_helper process metrics."/> + <suffix name="PpapiBrokerMetrics" + label="For "PPAPI broker" process metrics."/> + <suffix name="PpapiPluginMetrics" + label="For "PPAPI plugin" process metrics."/> + <suffix name="RendererMetrics" label="For renderer process metrics."/> + <suffix name="SandboxHelperMetrics" + label="For "sandbox helper" process metrics."/> + <suffix name="SetupMetrics" label="For setup metrics."/> + <suffix name="UtilityMetrics" + label="For "utility" process metrics."/> + <suffix name="ZygoteMetrics" label="For "zygote" process metrics."/> + <affected-histogram name="UMA.PersistentAllocator.Errors"/> +</histogram_suffixes> + +<histogram_suffixes name="PersistentMemoryUsedPct" separator="." + ordering="prefix,2"> + <suffix name="BrowserMetrics" label="For browser process metrics."/> + <suffix name="FieldTrialAllocator" label="For field-trial allocator."/> + <suffix name="GpuMetrics" label="For GPU process metrics."/> + <suffix name="NotificationHelperMetrics" + label="For notification_helper process metrics."/> + <suffix name="PpapiBrokerMetrics" + label="For "PPAPI broker" process metrics."/> + <suffix name="PpapiPluginMetrics" + label="For "PPAPI plugin" process metrics."/> + <suffix name="RendererMetrics" label="For renderer process metrics."/> + <suffix name="SandboxHelperMetrics" + label="For "sandbox helper" process metrics."/> + <suffix name="SetupMetrics" label="For setup metrics."/> + <suffix name="UtilityMetrics" + label="For "utility" process metrics."/> + <suffix name="ZygoteMetrics" label="For "zygote" process metrics."/> + <affected-histogram name="UMA.PersistentAllocator.UsedPct"/> +</histogram_suffixes> + +</histogram_suffixes_list> + +</histogram-configuration> \ No newline at end of file
diff --git a/tools/metrics/histograms/histograms_xml/obsolete_histograms.xml b/tools/metrics/histograms/histograms_xml/obsolete_histograms.xml new file mode 100644 index 0000000..c00fbd3 --- /dev/null +++ b/tools/metrics/histograms/histograms_xml/obsolete_histograms.xml
@@ -0,0 +1,896 @@ +<!-- +Copyright 2013 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. +--> + +<!-- +This file is used to generate a comprehensive list of Chrome histograms along +with a detailed description for each histogram. + +For best practices on writing histogram descriptions, see +https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md + +For brief details on how to modify this file to add your description, see +https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/one-pager.md + +Please pretty-print and validate your edits by running the pretty_print.py +and validate_format.py scripts in the same directory as this file before +uploading your change for review. + +Please send CLs to chromium-metrics-reviews@google.com rather than to specific +individuals. These CLs will be automatically reassigned to a reviewer within +about 5 minutes. This approach helps the metrics team to load-balance incoming +reviews. Googlers can read more about this at go/gwsq-gerrit. +--> + +<histogram-configuration> + +<histograms> + +<histogram name="UMA.ClientIdMigrated" enum="BooleanMigrated" + expires_after="2015-06-01"> + <obsolete> + Removed in M45. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <summary> + Recorded when the one-time UMA client id reset was performed (and the client + id of this user was migrated). + </summary> +</histogram> + +<histogram name="UMA.CollectExternalEventsTime" units="ms" + expires_after="2015-08-07"> + <obsolete> + Removed as of August 2015. The histogram showed no unexpected slowness, and + a profiler is a better tool for identifying any future issues. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <summary> + The time to run the external metrics collection task (Chrome OS). + </summary> +</histogram> + +<histogram name="UMA.ComputeCurrentSigninStatus" + enum="ComputeCurrentSigninStatus" expires_after="2016-06-14"> + <obsolete> + Removed as of Jun 2016. The histogram was added for debugging purpose and is + not needed anymore. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <owner>yiyaoliu@chromium.org</owner> + <summary> + Records attempts to compute the current the signin status and error + encountered when computing. + </summary> +</histogram> + +<histogram name="UMA.CreatePersistentHistogram.Result" + enum="CreatePersistentHistogramResult" expires_after="2018-04-12"> + <obsolete> + Removed April, 2018 as the information has never shown any problems. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <owner>bcwhite@chromium.org</owner> + <summary> + Records attempts to create histograms in presistent space and any errors + encountered when doing so. + </summary> +</histogram> + +<histogram name="UMA.Debug.EnableCrashUpload.DeferredStartUpAsyncTaskDuration" + units="ms" expires_after="M77"> + <obsolete> + No longer useful or monitored, removed 2020-01-06. + </obsolete> + <owner>wnwen@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Measures how much time it took to complete all async deferred startup tasks + on the background thread. Only logged on Android. + </summary> +</histogram> + +<histogram name="UMA.Debug.EnableCrashUpload.DeferredStartUpCompleteTime" + units="ms" expires_after="M77"> + <obsolete> + No longer useful or monitored, removed 2020-01-06. + </obsolete> + <owner>wnwen@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Measures how much time since application was first in foreground till all + deferred tasks are done. Only logged on Android. + </summary> +</histogram> + +<histogram name="UMA.Debug.EnableCrashUpload.DeferredStartUpDuration" + units="ms" expires_after="M77"> + <obsolete> + No longer useful or monitored, removed 2020-01-06. + </obsolete> + <owner>wnwen@chromium.org</owner> + <owner>asvitkine@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Measures how much time it took to complete deferred startup tasks on the UI + thread. Only logged on Android. + </summary> +</histogram> + +<histogram name="UMA.Debug.EnableCrashUpload.DeferredStartUpDurationAsync" + units="ms" expires_after="2017-01-24"> + <obsolete> + Removed 01/2017 for + UMA.Debug.EnableCrashUpload.DeferredStartupAsyncTaskDuration. + </obsolete> + <owner>wnwen@chromium.org</owner> + <owner>asvitkine@chromium.org</owner> + <summary> + Measures how much time it took to complete async deferred startup tasks on + the background thread. Only logged on Android. + </summary> +</histogram> + +<histogram name="UMA.Debug.EnableCrashUpload.DeferredStartUpMaxTaskDuration" + units="ms" expires_after="2020-02-16"> + <obsolete> + No longer useful or monitored, removed 2020-01-06. + </obsolete> + <owner>wnwen@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Measures the maximum amount of time a single deferred startup task took. + </summary> +</histogram> + +<histogram name="UMA.Debug.EnableCrashUpload.DeferredStartUptime" units="ms" + expires_after="2016-08-08"> + <obsolete> + Replaced by UMA.Debug.EnableCrashUpload.DeferredStartUptime2 + </obsolete> + <owner>asvitkine@chromium.org</owner> + <summary> + Measures how much time since start up it took for onDeferredStartup() to be + called, which schedules enablePotentialCrashUploading() to be executed on an + async task. Only logged on Android. + </summary> +</histogram> + +<histogram name="UMA.Debug.EnableCrashUpload.DeferredStartUptime2" units="ms" + expires_after="2017-06-28"> + <obsolete> + Removed 2017. No longer tracked. + </obsolete> + <owner>wnwen@chromium.org</owner> + <owner>asvitkine@chromium.org</owner> + <summary> + Measures how much time since application was first in foreground till + deferred tasks are initialized and queued on the idle handler. Only logged + on Android. + </summary> +</histogram> + +<histogram name="UMA.Debug.EnableCrashUpload.PostDeferredStartUptime" + units="ms" expires_after="2016-08-08"> + <obsolete> + Replaced by UMA.Debug.EnableCrashUpload.PostDeferredStartUptime2 + </obsolete> + <owner>asvitkine@chromium.org</owner> + <summary> + Measures how much time since start up it took before ChromeActivity's + postDeferredStartupIfNeeded() was called. Only logged on Android. + </summary> +</histogram> + +<histogram name="UMA.Debug.EnableCrashUpload.PostDeferredStartUptime2" + units="ms" expires_after="2017-06-28"> + <obsolete> + Removed 2017. No longer tracked. + </obsolete> + <owner>wnwen@chromium.org</owner> + <owner>asvitkine@chromium.org</owner> + <summary> + Measures how much time since application was first in foreground till + ChromeActivity's postDeferredStartupIfNeeded() was called exactly once. Only + logged on Android. + </summary> +</histogram> + +<histogram name="UMA.Debug.EnableCrashUpload.Uptime" units="ms" + expires_after="2016-05-16"> + <obsolete> + Replaced by UMA.Debug.EnableCrashUpload.Uptime2 + </obsolete> + <owner>asvitkine@chromium.org</owner> + <summary> + Measures how much time since start up it took before crash reporting was + enabled via enablePotentialCrashUploading() as part of deferred start up. + Only logged on Android. + </summary> +</histogram> + +<histogram name="UMA.Debug.EnableCrashUpload.Uptime2" units="ms" + expires_after="2016-08-08"> + <obsolete> + Replaced by UMA.Debug.EnableCrashUpload.Uptime3 + </obsolete> + <owner>asvitkine@chromium.org</owner> + <summary> + Measures how much time since start up it took before crash reporting was + enabled via enablePotentialCrashUploading() as part of deferred start up. + Only logged on Android. + </summary> +</histogram> + +<histogram name="UMA.Debug.EnableCrashUpload.Uptime3" units="ms" + expires_after="2017-06-28"> + <obsolete> + Removed 2017. No longer tracked. + </obsolete> + <owner>wnwen@chromium.org</owner> + <owner>asvitkine@chromium.org</owner> + <summary> + Measures how much time since application was first in foreground till crash + reporting was enabled as part of deferred start up. Only logged on Android. + </summary> +</histogram> + +<histogram name="UMA.Discarded Log Events" units="units" + expires_after="2017-06-05"> + <obsolete> + Replaced by UMA.Truncate* metrics. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <owner>rkaplow@chromium.org</owner> + <summary> + The number of events that would be discarded at log transmission time + because the event count was already too large. Note that this doesn't + measure actual discards - in case the UMAThrottleEvents feature is disabled, + the discards won't occur. + </summary> +</histogram> + +<histogram name="UMA.FieldTrialAllocator.Size" units="bytes" + expires_after="2016-11-09"> + <obsolete> + Removed 11/2016 for UMA.FieldTrialAllocator.Used + </obsolete> + <owner>lawrencewu@chromium.org</owner> + <owner>bcwhite@chromium.org</owner> + <owner>asvitkine@chromium.org</owner> + <summary> + Size, before padding, of objects allocated from persistent memory in the + browser process for field trials. Updated on each subprocess launch. + </summary> +</histogram> + +<histogram name="UMA.FieldTrialsEnabledBenchmarking" enum="BooleanUsage" + expires_after="2014-10-15"> + <obsolete> + Removed 2012. No longer tracked. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <summary> + Log whether the --enable-benchmarking flag was set, which causes field + trials to only use the default group. + </summary> +</histogram> + +<histogram name="UMA.FileMetricsProvider.DeletedFiles" units="units" + expires_after="2018-04-12"> + <obsolete> + Removed April, 2018 as the information it provides is no longer useful. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <owner>bcwhite@chromium.org</owner> + <summary> + The number of old metrics files for which a delete was attempted. This is + logged once with each upload operation. Values greater than 1 indicate that + the files are not deletable by the browser and must be cleaned up by + whatever process is creating them. + </summary> +</histogram> + +<histogram name="UMA.FileMetricsProvider.DirectoryFiles" units="units" + expires_after="2018-04-12"> + <obsolete> + Removed April, 2018 as no problems were ever indicated. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <owner>bcwhite@chromium.org</owner> + <summary> + The number of metrics files in a directory that need to be uploaded. This is + logged once with each upload operation. + </summary> +</histogram> + +<histogram name="UMA.FileMetricsProvider.EmbeddedProfile.DroppedFileAge" + units="minutes" expires_after="2017-07-08"> + <obsolete> + Removed 07/2017. Was only for short-term analysis. About 95% of dropped + files were less than 1 day old. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <owner>bcwhite@chromium.org</owner> + <summary> + Records the last-modified age of a file that was dropped for lack of an + embedded profile. + </summary> +</histogram> + +<histogram name="UMA.FileMetricsProvider.EmbeddedProfile.DroppedHistogramCount" + units="units" expires_after="M75"> + <obsolete> + Removed 2019/04 with the resolution of https://crbug.com/695880 + </obsolete> + <owner>asvitkine@chromium.org</owner> + <owner>bcwhite@chromium.org</owner> + <summary> + Records the number of histograms present in a file that was dropped for lack + of an embedded profile. + </summary> +</histogram> + +<histogram name="UMA.FileMetricsProvider.EmbeddedProfile.RecordTime" units="ms" + expires_after="M71"> + <obsolete> + Removed 2019/04 as times are small, consistent, and now on a background + thread. + </obsolete> + <owner>bcwhite@chromium.org</owner> + <summary> + Tracks the time used to record all histograms from a file with an embedded + profile. + </summary> +</histogram> + +<histogram name="UMA.FileMetricsProvider.EmbeddedProfileResult" + enum="FileMetricsProviderEmbeddedProfileResult" expires_after="M75"> + <obsolete> + Removed 2019/04 with the resolution of https://crbug.com/695880 + </obsolete> + <owner>asvitkine@chromium.org</owner> + <owner>bcwhite@chromium.org</owner> + <summary> + Records attempts to upload metrics from files with embedded system profiles. + Counts are not necessarily mutually exclusive. + </summary> +</histogram> + +<histogram name="UMA.FileMetricsProvider.Happening" + enum="FileMetricsProviderHappening" expires_after="2018-02-09"> + <obsolete> + This metrics was to provide information for crbug/760317 which has been + resolved. Removed February, 2018. + </obsolete> + <owner>bcwhite@chromium.org</owner> + <summary> + Records various happenings within the FileMetricsProvider for debugging + purposes. + </summary> +</histogram> + +<histogram name="UMA.FileMetricsProvider.InitialCheckTime.File" units="ms" + expires_after="M77"> + <obsolete> + Access times are consistently on the order of a few ms. Removed 2019/06. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <owner>bcwhite@chromium.org</owner> + <summary> + Records how much wall time was spent checking and mapping an initial metrics + file on disk. + </summary> +</histogram> + +<histogram name="UMA.FileMetricsProvider.InitialCheckTime.Total" units="ms" + expires_after="2018-04-12"> + <obsolete> + Removed April, 2018 as the information it provides is no longer useful. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <owner>bcwhite@chromium.org</owner> + <summary> + Records how much wall time was spent checking and mapping initial metrics + from all files on disk. + </summary> +</histogram> + +<histogram name="UMA.FileMetricsProvider.InitialSnapshotTime.File" units="ms" + expires_after="M80"> + <obsolete> + Access times are consistently on the order of a few ms. Removed 2019/06. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <owner>bcwhite@chromium.org</owner> + <summary> + Records how much wall time was spent collecting initial stability metrics + from a file on disk. + </summary> +</histogram> + +<histogram name="UMA.FileMetricsProvider.InitialSnapshotTime.Total" units="ms" + expires_after="2018-04-12"> + <obsolete> + Removed April, 2018 as the information it provides is no longer useful. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <owner>bcwhite@chromium.org</owner> + <summary> + Records how much wall time was spent collecting initial stability metrics + from all files on disk. + </summary> +</histogram> + +<histogram name="UMA.FileMetricsProvider.SnapshotTime.File" units="ms" + expires_after="M80"> + <obsolete> + Access times are consistently on the order of a few ms. Removed 2019/06. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <owner>bcwhite@chromium.org</owner> + <summary> + Records how much wall time was spent collecting metrics from a file on disk. + </summary> +</histogram> + +<histogram name="UMA.FileMetricsProvider.SnapshotTime.Total" units="ms" + expires_after="2018-04-12"> + <obsolete> + Removed April, 2018 as the information it provides is no longer useful. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <owner>bcwhite@chromium.org</owner> + <summary> + Records how much wall time was spent collecting metrics from all files on + disk. + </summary> +</histogram> + +<histogram name="UMA.GeneratedLowEntropySource" enum="Boolean" + expires_after="2015-08-07"> + <obsolete> + Removed as of August 2015. No longer tracked. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <summary> + For each attempt to generate the low entropy source, log whether or not the + load required generating a new low entropy source. + </summary> +</histogram> + +<histogram name="UMA.Histograms.Activity" enum="HistogramActivityReport" + expires_after="2017-10-16"> + <obsolete> + Removed as of October 2017. No longer tracked. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <owner>bcwhite@chromium.org</owner> + <summary> + Type and flags of every histogram created plus other activities. Counts are + not mutually-exclusive except for the different types. + </summary> +</histogram> + +<histogram name="UMA.JavaCachingRecorder.DroppedSampleCount" units="samples" + expires_after="2020-03-31"> + <obsolete> + Removed on 2020-03-18. Renamed to + UMA.JavaCachingRecorder.DroppedHistogramSampleCount and reports also + histogram samples dropped due to a limit of the number of cached histograms. + </obsolete> + <owner>bttk@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Number of histogram samples that were not recorded when flushing due to a + per-histogram sample count limit in the Java in-memory cache. + </summary> +</histogram> + +<histogram name="UMA.JavaCachingRecorder.FullHistogramCount" units="histograms" + expires_after="2020-03-31"> + <obsolete> + Removed on 2020-03-18 to reduce the number of histograms emitted by the + cache. + </obsolete> + <owner>bttk@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Number of histograms for which not all samples may have been recorded when + flushing the Java in-memory cache due to a per-histogram sample count limit. + </summary> +</histogram> + +<histogram name="UMA.JavaCachingRecorder.HistogramLimitDroppedSampleCount" + units="samples" expires_after="2020-03-31"> + <obsolete> + Removed on 2020-03-18 to reduce the number of histograms emitted by the + cache. UMA.JavaCachingRecorder.DroppedHistogramSampleCount includes + histogram samples that were reported in this histogram. + </obsolete> + <owner>bttk@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Number of samples that were not recorded when flushing the Java in-memory + cache due to a histogram count limit. + </summary> +</histogram> + +<histogram name="UMA.JavaCachingRecorder.InputSampleCount" units="samples" + expires_after="2020-03-31"> + <obsolete> + Removed on 2020-03-18. Renamed to + UMA.JavaCachingRecorder.InputHistogramSampleCount. + </obsolete> + <owner>bttk@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Number of histogram samples seen by the time the Java in-memory cache was + flushed. This is a sum of DroppedSampleCount and FlushedHistogramCount. + </summary> +</histogram> + +<histogram name="UMA.JavaCachingRecorder.RemainingHistogramLimit" + units="histograms" expires_after="2020-03-31"> + <obsolete> + Removed on 2020-03-18 to reduce the number of histograms emitted by the + cache. + </obsolete> + <owner>bttk@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + The remaining histogram count limit when flushing in the Java in-memory + cache. + </summary> +</histogram> + +<histogram name="UMA.JavaCachingRecorder.RemainingSampleLimit" + units="histograms" expires_after="2020-03-31"> + <obsolete> + Removed on 2020-03-18 to reduce the number of histograms emitted by the + cache. + </obsolete> + <owner>bttk@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + The smallest remaining sample count limit in metrics flushed from the Java + in-memory cache. + </summary> +</histogram> + +<histogram name="UMA.Large Accumulated Log Not Persisted" units="bytes" + expires_after="2018-08-30"> + <obsolete> + Removed 2020-04 + </obsolete> + <owner>asvitkine@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Number of bytes in an excessively large log that was discarded at shutdown + instead of being saved to disk to retry during next chrome run. + </summary> +</histogram> + +<histogram name="UMA.Large Rejected Log was Discarded" units="bytes" + expires_after="2018-08-30"> + <obsolete> + Removed 2020-04 + </obsolete> + <owner>asvitkine@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Number of bytes in a log was was rejected by server, and then discarded. + </summary> +</histogram> + +<histogram name="UMA.LoadLogsTime" units="ms" expires_after="2015-08-05"> + <obsolete> + Removed as of August 2015. The histograms showed no unexpected slowness, and + a profiler is a better tool for identifying any future issues. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <summary> + The time spent to load (de-serialize) unsent logs from local state, recorded + during the MetricsService startup sequence. + </summary> +</histogram> + +<histogram name="UMA.LogLoadComplete called" units="units" + expires_after="2016-04-09"> + <obsolete> + No longer tracked. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <summary> + Simple counter of the number of times LogLoadComplete was called (bug + demonstration, as we're called more often than once per page load :-/ ) + </summary> +</histogram> + +<histogram name="UMA.LogUpload.ConnetionType" enum="NetworkConnectionType" + expires_after="2016-04-11"> + <obsolete> + Used for analyzing UMA log uploads on cellular connection, but necessary + after the analysis is finished. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <owner>gayane@chromium.org</owner> + <summary> + The network connection type for each successful metrics log upload. + </summary> +</histogram> + +<histogram name="UMA.LogUploader.UploadSize" units="bytes" + expires_after="2019-01-22"> + <obsolete> + Removed in favor of UMA.LogSize.OnSuccess + </obsolete> + <owner>asvitkine@chromium.org</owner> + <owner>holte@chromium.org</owner> + <summary> + Reports total upload length in bytes when the UMA service type is used. + </summary> +</histogram> + +<histogram name="UMA.MetricsService.DeletedDirectorySize.Failure" units="KB" + expires_after="2018-02-09"> + <obsolete> + This metrics was to provide information for crbug/760317 which has been + resolved. Removed February, 2018. + </obsolete> + <owner>bcwhite@chromium.org</owner> + <summary> + Records the size of the metrics directory size, after failing to be deleted. + This is a temporary metric that will be removed in M63 or M64. + </summary> +</histogram> + +<histogram name="UMA.MetricsService.DeletedDirectorySize.Success" units="KB" + expires_after="2018-02-09"> + <obsolete> + This metrics was to provide information for crbug/760317 which has been + resolved. Removed February, 2018. + </obsolete> + <owner>bcwhite@chromium.org</owner> + <summary> + Records the size of the metrics directory size, after being successfully + deleted. This should always be zero unless there is a bug in the return + code. This is a temporary metric that will be removed in M63 or M64. + </summary> +</histogram> + +<histogram name="UMA.MetricsService.RecordCurrentHistograms.Time" units="ms" + expires_after="2018-02-07"> + <obsolete> + Removed February, 2018 because persistent metrics are fully launched with no + observable change in operation time. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <owner>bcwhite@chromium.org</owner> + <summary> + Records how much wall time was spent merging, taking snapshots, and + recording histograms for reporting to UMA. + </summary> +</histogram> + +<histogram name="UMA.Perf.GetData" enum="GetPerfDataOutcome" + expires_after="2019-01-14"> + <obsolete> + Removed 01/2019 in b/110205489 being split into ChromeOS.CWP.CollectPerf and + ChromeOS.CWP.UploadPerf. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <summary> + A count of successes and various failure modes related to collecting and + processing performance data obtained through "perf" on Chrome OS. + </summary> +</histogram> + +<histogram base="true" name="UMA.PersistentAllocator.Allocs" units="bytes" + expires_after="2017-02-16"> + <obsolete> + Removed 2/2017 for Issue 689315 which indicated they weren't being used. + </obsolete> + <owner>bcwhite@chromium.org</owner> + <owner>asvitkine@chromium.org</owner> + <summary> + Size, before padding, of objects allocated from persistent memory. This is + updated with every allocation. + </summary> +</histogram> + +<histogram name="UMA.PersistentHistograms.TmpRemovals" units="units" + expires_after="M77"> + <obsolete> + Data showed many files being deleted during rollout and then tapering off to + near zero. Removed 2019/07. + </obsolete> + <owner>bcwhite@chromium.org</owner> + <owner>asvitkine@chromium.org</owner> + <summary> + Number of old .tmp files of the kind that Windows creates and leaves around + when trying to rename a file to another one that already exists. See + https://crbug.com/934164 + </summary> +</histogram> + +<histogram name="UMA.ProfilesCount.AfterErase" units="units" + expires_after="2016-06-14"> + <obsolete> + Removed as of Jun 2016. The histogram was added for debugging purpose and is + not needed anymore. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <owner>yiyaoliu@chromium.org</owner> + <summary> + Record the number of loaded profiles when a profile is erased from the + profiles map kept by profile manager. + </summary> +</histogram> + +<histogram name="UMA.ProtoGzipped" enum="Boolean" expires_after="2013-09-13"> + <obsolete> + Removed as of Sep, 2013. Gzipping protobufs is now the default. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <summary>Was the UMA protobuf uploaded earlier compressed or not.</summary> +</histogram> + +<histogram name="UMA.ProtoGzippedKBSaved" units="KB" expires_after="2015-08-06"> + <obsolete> + Removed as of August 2015. See UMA.ProtoCompressionRatio instead. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <summary> + Kilobytes saved from gzipping the protobufs before uploading them. + </summary> +</histogram> + +<histogram name="UMA.StoreLogsTime" units="ms" expires_after="2015-08-05"> + <obsolete> + Removed as of August 2015. The histograms showed no unexpected slowness, and + a profiler is a better tool for identifying any future issues. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <summary> + The time spent to store unsent logs to local state, which is done + periodically and also during start up if there was an initial stability log. + </summary> +</histogram> + +<histogram name="UMA.SubprocessMetricsProvider.SubprocessCount" + units="subprocesses" expires_after="2020-04-05"> + <obsolete> + Removed 2020/04 + </obsolete> + <owner>asvitkine@chromium.org</owner> + <owner>bcwhite@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + The number of subprocesses from which persistent metrics were collected, + logged once with every reporting cycle. + </summary> +</histogram> + +<histogram name="UMA.SubprocessMetricsProvider.UntrackedProcesses" + enum="SubprocessType" expires_after="M77"> + <obsolete> + Removed 2019/06 after not reporting anything in years. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <owner>bcwhite@chromium.org</owner> + <summary> + The number of subprocesses, by type, from which persistent metrics are NOT + collected because there is no information about this (likely new) process + type. Process numbers 1000 or greater are "custom" processes used + by embedders. + </summary> +</histogram> + +<histogram name="UMA.SyntheticTrials.Count" units="units" + expires_after="2015-08-06"> + <obsolete> + Removed as of August 2015. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <summary> + The number of synthetic field trials added to the UMA log when the system + profile is recorded. Since this is done prior to capturing the histograms + from the current process, this will generally be logged once per UMA log. + </summary> +</histogram> + +<histogram name="UMA.Unacceptable_Log_Discarded" units="units" + expires_after="2013-07-11"> + <obsolete> + Removed as of May, 2012 (i.e. Chrome 21+). Replaced by the + UMA.UploadResponseStatus.XML and UMA.UploadResponseStatus.Protobuf + histograms. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <summary>The server returned a 400 code, and we discarded a log.</summary> + <details> + This tends to indicate that a syntax error is present in a log, such as + would appear when a bogus XML tag is included, or the XML is not balanced + and well structured. + </details> +</histogram> + +<histogram name="UMA.UploadCreation" enum="BooleanSuccess" + expires_after="2015-08-06"> + <obsolete> + Removed as of August 2015. This failure case no longer exists. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <summary> + For each attempted UMA upload, log whether the upload was successfully + constructed. An upload might fail to be constructed, for example, if we try + to upload before the system is fully initialized; or if serialization of the + data fails. + </summary> +</histogram> + +<histogram name="UMA.UploadResponseStatus.Protobuf" + enum="UmaUploadResponseStatus" expires_after="2017-04-04"> + <obsolete> + Replaced by UMA.LogUpload.ResponseOrErrorCode + </obsolete> + <owner>asvitkine@chromium.org</owner> + <summary> + For each upload to the protocol buffer (v2) UMA server, log whether the + upload was successful, or whether there was an error. + </summary> +</histogram> + +<histogram name="UMA.UploadResponseStatus.XML" enum="UmaUploadResponseStatus" + expires_after="2014-10-15"> + <obsolete> + Removed 2013. No longer tracked. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <summary> + For each upload to the XML (v1) UMA server, log whether the upload was + successful, or whether there was an error. + </summary> +</histogram> + +<histogram name="UMA.UsedResetVariationsFlag" enum="BooleanUsage" + expires_after="2016-04-09"> + <obsolete> + No longer tracked. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <summary> + Log whether the --reset-variation-state flag was set before the low entropy + source was requested. + </summary> +</histogram> + +<histogram name="UMA.XMLNodeDumpTime" units="ms" expires_after="2014-10-15"> + <obsolete> + Removed 2013. No longer tracked. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <summary> + The time spent in converting the XML tree into a character buffer when + closing a metrics log (Chrome OS). + </summary> +</histogram> + +<histogram name="UMA.XMLWriterDestructionTime" units="ms" + expires_after="2014-10-15"> + <obsolete> + Removed 2013. No longer tracked. + </obsolete> + <owner>asvitkine@chromium.org</owner> + <summary> + The time spent in freeing the XML writer and tree when closing a metrics log + (Chrome OS). + </summary> +</histogram> + +</histograms> + +</histogram-configuration>
diff --git a/tools/metrics/histograms/merge_xml.py b/tools/metrics/histograms/merge_xml.py index 939862b..a715be0 100755 --- a/tools/metrics/histograms/merge_xml.py +++ b/tools/metrics/histograms/merge_xml.py
@@ -16,17 +16,19 @@ import populate_enums -def GetElementsByTagName(trees, tag): +def GetElementsByTagName(trees, tag, depth=2): """Gets all elements with the specified tag from a set of DOM trees. Args: trees: A list of DOM trees. tag: The tag of the elements to find. + depth: The depth in the trees by which a match should be found. + Returns: A list of DOM nodes with the specified tag. """ iterator = extract_histograms.IterElementsWithTag - return list(e for t in trees for e in iterator(t, tag, 2)) + return list(e for t in trees for e in iterator(t, tag, depth)) def GetEnumsNodes(doc, trees): @@ -55,6 +57,28 @@ return enums_list +def CombineHistogramsSorted(doc, trees): + """Sorts <histogram> nodes by name and returns a single <histograms> node. + + Args: + doc: The document to create the node in. + trees: A list of DOM trees. + + Returns: + A list containing a single <histograms> node. + """ + combined_histograms = doc.createElement('histograms') + + histogram_nodes = GetElementsByTagName(trees, 'histogram', depth=3) + sorted_histograms = sorted(histogram_nodes, + key=lambda node: node.getAttribute('name').lower()) + + for histogram in sorted_histograms: + combined_histograms.appendChild(histogram) + + return [combined_histograms] + + def MakeNodeWithChildren(doc, tag, children): """Creates a DOM node with specified tag and child nodes. @@ -82,12 +106,16 @@ A merged DOM tree. """ doc = xml.dom.minidom.Document() - doc.appendChild(MakeNodeWithChildren(doc, 'histogram-configuration', - # This can result in the merged document having multiple <enums> and - # similar sections, but scripts ignore these anyway. - GetEnumsNodes(doc, trees) + - GetElementsByTagName(trees, 'histograms') + - GetElementsByTagName(trees, 'histogram_suffixes_list'))) + doc.appendChild( + MakeNodeWithChildren( + doc, + 'histogram-configuration', + # This can result in the merged document having multiple <enums> and + # similar sections, but scripts ignore these anyway. + GetEnumsNodes(doc, trees) + + # Sort the histograms by name and return a single <histograms> node. + CombineHistogramsSorted(doc, trees) + + GetElementsByTagName(trees, 'histogram_suffixes_list'))) return doc
diff --git a/tools/metrics/md2xml.py b/tools/metrics/md2xml.py index 78fd4b7..6033a57 100755 --- a/tools/metrics/md2xml.py +++ b/tools/metrics/md2xml.py
@@ -59,7 +59,6 @@ sys.path.append(os.path.join(os.path.dirname(__file__), 'histograms')) import pretty_print - SupportedTags = [ "added", "expires", @@ -142,12 +141,19 @@ def main(): - if len(sys.argv) != 2: - sys.stderr.write('Usage: %s <path-to-md-file>\n' % (sys.argv[0])) + """ + argv[1]: The path to the md file. + argv[2]: The relative path of the xml file to be added. + """ + if len(sys.argv) != 3: + sys.stderr.write('Usage: %s <path-to-md-file> <path-to-histograms-file>\n' % + (sys.argv[0])) sys.exit(1) + rel_path = sys.argv[2] with Trace('Reading histograms.xml') as t: - xml_path = path_util.GetHistogramsFile() + xml_path = path_util.GetInputFile( + os.path.join('tools', 'metrics', 'histograms', rel_path)) with open(xml_path, 'rb') as f: raw_xml = f.read()
diff --git a/ui/ozone/platform/drm/common/drm_util.cc b/ui/ozone/platform/drm/common/drm_util.cc index c05b2948..251c414 100644 --- a/ui/ozone/platform/drm/common/drm_util.cc +++ b/ui/ozone/platform/drm/common/drm_util.cc
@@ -536,4 +536,15 @@ } } +uint64_t GetEnumValueForName(int fd, int property_id, const char* str) { + ScopedDrmPropertyPtr res(drmModeGetProperty(fd, property_id)); + for (int i = 0; i < res->count_enums; ++i) { + if (strcmp(res->enums[i].name, str) == 0) { + return res->enums[i].value; + } + } + NOTREACHED(); + return 0; +} + } // namespace ui
diff --git a/ui/ozone/platform/drm/common/drm_util.h b/ui/ozone/platform/drm/common/drm_util.h index 7fb2cebb..c8fc1b71 100644 --- a/ui/ozone/platform/drm/common/drm_util.h +++ b/ui/ozone/platform/drm/common/drm_util.h
@@ -98,6 +98,8 @@ bool ModeIsInterlaced(const drmModeModeInfo& mode); +uint64_t GetEnumValueForName(int fd, int property_id, const char* str); + } // namespace ui #endif // UI_OZONE_PLATFORM_DRM_COMMON_DRM_UTIL_H_
diff --git a/ui/ozone/platform/drm/gpu/hardware_display_plane.cc b/ui/ozone/platform/drm/gpu/hardware_display_plane.cc index 6505127..272a86d8 100644 --- a/ui/ozone/platform/drm/gpu/hardware_display_plane.cc +++ b/ui/ozone/platform/drm/gpu/hardware_display_plane.cc
@@ -8,6 +8,7 @@ #include <drm_mode.h> #include "base/logging.h" +#include "ui/ozone/platform/drm/common/drm_util.h" #include "ui/ozone/platform/drm/gpu/drm_device.h" #include "ui/ozone/platform/drm/gpu/drm_gpu_util.h" @@ -92,6 +93,14 @@ if (properties_.type.id) type_ = GetPlaneType(properties_.type.value); + if (properties_.plane_color_encoding.id) { + color_encoding_bt601_ = + GetEnumValueForName(drm->get_fd(), properties_.plane_color_encoding.id, + "ITU-R BT.601 YCbCr"); + color_range_limited_ = GetEnumValueForName( + drm->get_fd(), properties_.plane_color_range.id, "YCbCr limited range"); + } + VLOG(3) << "Initialized plane=" << id_ << " crtc_mask=" << std::hex << "0x" << crtc_mask_ << std::dec << " supported_formats_count=" << supported_formats_.size() @@ -168,6 +177,10 @@ GetDrmPropertyForName(drm, props.get(), "IN_FENCE_FD", &properties_.in_fence_fd); GetDrmPropertyForName(drm, props.get(), "PLANE_CTM", &properties_.plane_ctm); + GetDrmPropertyForName(drm, props.get(), "COLOR_ENCODING", + &properties_.plane_color_encoding); + GetDrmPropertyForName(drm, props.get(), "COLOR_RANGE", + &properties_.plane_color_range); } } // namespace ui
diff --git a/ui/ozone/platform/drm/gpu/hardware_display_plane.h b/ui/ozone/platform/drm/gpu/hardware_display_plane.h index 0f85f1b..ea61486 100644 --- a/ui/ozone/platform/drm/gpu/hardware_display_plane.h +++ b/ui/ozone/platform/drm/gpu/hardware_display_plane.h
@@ -68,6 +68,8 @@ DrmDevice::Property in_formats; DrmDevice::Property in_fence_fd; DrmDevice::Property plane_ctm; + DrmDevice::Property plane_color_encoding; + DrmDevice::Property plane_color_range; }; const uint32_t id_; @@ -82,6 +84,9 @@ std::vector<uint32_t> supported_formats_; std::vector<drm_format_modifier> supported_format_modifiers_; + uint64_t color_encoding_bt601_; + uint64_t color_range_limited_; + private: void InitializeProperties(DrmDevice* drm);
diff --git a/ui/ozone/platform/drm/gpu/hardware_display_plane_atomic.cc b/ui/ozone/platform/drm/gpu/hardware_display_plane_atomic.cc index 1899daf4..7b50c3c8 100644 --- a/ui/ozone/platform/drm/gpu/hardware_display_plane_atomic.cc +++ b/ui/ozone/platform/drm/gpu/hardware_display_plane_atomic.cc
@@ -64,6 +64,12 @@ properties_.src_w.id && properties_.src_h.id; LOG_IF(ERROR, !ret) << "Failed to find all required properties for plane=" << id_; + + ret &= (properties_.plane_color_encoding.id == 0) == + (properties_.plane_color_range.id == 0); + LOG_IF(ERROR, !ret) << "Inconsistent color management properties for plane=" + << id_; + return ret; } @@ -119,6 +125,16 @@ AddPropertyIfValid(property_set, id_, properties_.in_fence_fd); } + if (properties_.plane_color_encoding.id) { + properties_.plane_color_encoding.value = color_encoding_bt601_; + properties_.plane_color_range.value = color_range_limited_; + plane_set_succeeded = + plane_set_succeeded && + AddPropertyIfValid(property_set, id_, + properties_.plane_color_encoding) && + AddPropertyIfValid(property_set, id_, properties_.plane_color_range); + } + if (!plane_set_succeeded) { LOG(ERROR) << "Failed to set plane data"; return false;
diff --git a/ui/views/BUILD.gn b/ui/views/BUILD.gn index 35ee2f8a..0ee43ea 100644 --- a/ui/views/BUILD.gn +++ b/ui/views/BUILD.gn
@@ -109,7 +109,6 @@ "controls/button/button.h", "controls/button/button_controller.h", "controls/button/button_controller_delegate.h", - "controls/button/button_observer.h", "controls/button/checkbox.h", "controls/button/image_button.h", "controls/button/image_button_factory.h",
diff --git a/ui/views/controls/button/button.cc b/ui/views/controls/button/button.cc index cae2a774..126fc7c1 100644 --- a/ui/views/controls/button/button.cc +++ b/ui/views/controls/button/button.cc
@@ -20,7 +20,6 @@ #include "ui/views/animation/ink_drop_impl.h" #include "ui/views/controls/button/button_controller.h" #include "ui/views/controls/button/button_controller_delegate.h" -#include "ui/views/controls/button/button_observer.h" #include "ui/views/controls/button/checkbox.h" #include "ui/views/controls/button/image_button.h" #include "ui/views/controls/button/label_button.h" @@ -238,16 +237,6 @@ AnimateInkDrop(bubble_visible ? views::InkDropState::ACTIVATED : views::InkDropState::DEACTIVATED, nullptr); - for (ButtonObserver& observer : button_observers_) - observer.OnHighlightChanged(this, bubble_visible); -} - -void Button::AddButtonObserver(ButtonObserver* observer) { - button_observers_.AddObserver(observer); -} - -void Button::RemoveButtonObserver(ButtonObserver* observer) { - button_observers_.RemoveObserver(observer); } PropertyChangedSubscription Button::AddStateChangedCallback( @@ -533,10 +522,7 @@ void Button::OnSetTooltipText(const base::string16& tooltip_text) {} -void Button::StateChanged(ButtonState old_state) { - for (ButtonObserver& observer : button_observers_) - observer.OnStateChanged(this, old_state); -} +void Button::StateChanged(ButtonState old_state) {} bool Button::IsTriggerableEvent(const ui::Event& event) { return button_controller_->IsTriggerableEvent(event);
diff --git a/ui/views/controls/button/button.h b/ui/views/controls/button/button.h index 6431bdf..1095469 100644 --- a/ui/views/controls/button/button.h +++ b/ui/views/controls/button/button.h
@@ -27,7 +27,6 @@ class Button; class ButtonController; -class ButtonObserver; class Event; // An interface implemented by an object to let it know that a button was @@ -178,8 +177,6 @@ // Highlights the ink drop for the button. void SetHighlighted(bool bubble_visible); - void AddButtonObserver(ButtonObserver* observer); - void RemoveButtonObserver(ButtonObserver* observer); PropertyChangedSubscription AddStateChangedCallback( PropertyChangedCallback callback); @@ -357,8 +354,6 @@ AddEnabledChangedCallback(base::BindRepeating(&Button::OnEnabledChanged, base::Unretained(this)))}; - base::ObserverList<ButtonObserver> button_observers_; - DISALLOW_COPY_AND_ASSIGN(Button); };
diff --git a/ui/views/controls/button/button_observer.h b/ui/views/controls/button/button_observer.h deleted file mode 100644 index 56efa5d..0000000 --- a/ui/views/controls/button/button_observer.h +++ /dev/null
@@ -1,28 +0,0 @@ -// Copyright 2019 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. - -#ifndef UI_VIEWS_CONTROLS_BUTTON_BUTTON_OBSERVER_H_ -#define UI_VIEWS_CONTROLS_BUTTON_BUTTON_OBSERVER_H_ - -#include "base/observer_list_types.h" -#include "ui/views/controls/button/button.h" -#include "ui/views/views_export.h" - -namespace views { - -class VIEWS_EXPORT ButtonObserver : public base::CheckedObserver { - public: - virtual void OnHighlightChanged(views::Button* observed_button, - bool highlighted) {} - - virtual void OnStateChanged(views::Button* observed_button, - views::Button::ButtonState old_state) {} - - protected: - ~ButtonObserver() override = default; -}; - -} // namespace views - -#endif // UI_VIEWS_CONTROLS_BUTTON_BUTTON_OBSERVER_H_
diff --git a/ui/views/controls/button/button_unittest.cc b/ui/views/controls/button/button_unittest.cc index be7b132..73451ac 100644 --- a/ui/views/controls/button/button_unittest.cc +++ b/ui/views/controls/button/button_unittest.cc
@@ -12,7 +12,6 @@ #include "base/macros.h" #include "base/memory/ptr_util.h" #include "base/run_loop.h" -#include "base/scoped_observer.h" #include "build/build_config.h" #include "testing/gtest/include/gtest/gtest.h" #include "ui/base/layout.h" @@ -26,7 +25,6 @@ #include "ui/views/animation/test/test_ink_drop_host.h" #include "ui/views/context_menu_controller.h" #include "ui/views/controls/button/button_controller.h" -#include "ui/views/controls/button/button_observer.h" #include "ui/views/controls/button/checkbox.h" #include "ui/views/controls/button/image_button.h" #include "ui/views/controls/button/label_button.h" @@ -138,44 +136,34 @@ DISALLOW_COPY_AND_ASSIGN(TestButton); }; -class TestButtonObserver : public ButtonObserver { +class TestButtonObserver { public: - explicit TestButtonObserver(Button* button) { observer_.Add(button); } - ~TestButtonObserver() override = default; - - void OnHighlightChanged(views::Button* observed_button, - bool highlighted) override { - EXPECT_TRUE(observer_.IsObserving(observed_button)); - highlighted_changed_ = true; - highlighted_ = highlighted; + explicit TestButtonObserver(Button* button) { + highlighted_changed_subscription_ = + button->AddHighlightedChangedCallback(base::BindRepeating( + [](TestButtonObserver* obs) { obs->highlighted_changed_ = true; }, + base::Unretained(this))); + state_changed_subscription_ = + button->AddStateChangedCallback(base::BindRepeating( + [](TestButtonObserver* obs) { obs->state_changed_ = true; }, + base::Unretained(this))); } - - void OnStateChanged(views::Button* observed_button, - views::Button::ButtonState old_state) override { - EXPECT_TRUE(observer_.IsObserving(observed_button)); - state_changed_ = true; - } + ~TestButtonObserver() = default; void Reset() { highlighted_changed_ = false; - highlighted_ = false; state_changed_ = false; } bool highlighted_changed() const { return highlighted_changed_; } - bool highlighted() const { return highlighted_; } bool state_changed() const { return state_changed_; } private: bool highlighted_changed_ = false; - bool highlighted_ = false; bool state_changed_ = false; - ScopedObserver<Button, - ButtonObserver, - &Button::AddButtonObserver, - &Button::RemoveButtonObserver> - observer_{this}; + PropertyChangedSubscription highlighted_changed_subscription_; + PropertyChangedSubscription state_changed_subscription_; DISALLOW_COPY_AND_ASSIGN(TestButtonObserver); }; @@ -231,7 +219,6 @@ } void TearDown() override { - button_observer_.reset(); widget_.reset(); ViewsTestBase::TearDown(); @@ -909,19 +896,16 @@ EXPECT_FALSE(button()->OnKeyReleased(control_release)); } -// Verifies that ButtonObserver is notified when the button activation highlight -// state is changed. Also verifies the |observed_button| and |highlighted| -// passed to observer are correct. +// Verifies that button activation highlight state changes trigger property +// change callbacks. TEST_F(ButtonTest, ChangingHighlightStateNotifiesListener) { CreateButtonWithObserver(); EXPECT_FALSE(button_observer()->highlighted_changed()); EXPECT_FALSE(button()->GetHighlighted()); - EXPECT_FALSE(button_observer()->highlighted()); button()->SetHighlighted(/*bubble_visible=*/true); EXPECT_TRUE(button_observer()->highlighted_changed()); EXPECT_TRUE(button()->GetHighlighted()); - EXPECT_TRUE(button_observer()->highlighted()); button_observer()->Reset(); EXPECT_FALSE(button_observer()->highlighted_changed()); @@ -930,10 +914,9 @@ button()->SetHighlighted(/*bubble_visible=*/false); EXPECT_TRUE(button_observer()->highlighted_changed()); EXPECT_FALSE(button()->GetHighlighted()); - EXPECT_FALSE(button_observer()->highlighted()); } -// Verifies that ButtonObserver is notified when the button state is changed. +// Verifies that button state changes trigger property change callbacks. TEST_F(ButtonTest, ClickingButtonNotifiesObserverOfStateChanges) { CreateButtonWithObserver(); EXPECT_FALSE(button_observer()->state_changed()); @@ -953,8 +936,8 @@ EXPECT_EQ(Button::STATE_HOVERED, button()->GetState()); } -// Verifies the ButtonObserver is notified whenever Button::SetState() is -// called directly. +// Verifies that direct calls to Button::SetState() trigger property change +// callbacks. TEST_F(ButtonTest, SetStateNotifiesObserver) { CreateButtonWithObserver(); EXPECT_FALSE(button_observer()->state_changed());
diff --git a/ui/views/controls/label.cc b/ui/views/controls/label.cc index 8a433a4..d0b0036 100644 --- a/ui/views/controls/label.cc +++ b/ui/views/controls/label.cc
@@ -731,8 +731,9 @@ return selection_controller_->OnMousePressed( event, false, - had_focus ? SelectionController::FOCUSED - : SelectionController::UNFOCUSED); + had_focus + ? SelectionController::InitialFocusStateOnMousePress::kFocused + : SelectionController::InitialFocusStateOnMousePress::kUnFocused); } bool Label::OnMouseDragged(const ui::MouseEvent& event) {
diff --git a/ui/views/controls/textfield/textfield.cc b/ui/views/controls/textfield/textfield.cc index 08714a46..36e3066 100644 --- a/ui/views/controls/textfield/textfield.cc +++ b/ui/views/controls/textfield/textfield.cc
@@ -764,8 +764,9 @@ return selection_controller_.OnMousePressed( event, handled, - had_focus ? SelectionController::FOCUSED - : SelectionController::UNFOCUSED); + had_focus + ? SelectionController::InitialFocusStateOnMousePress::kFocused + : SelectionController::InitialFocusStateOnMousePress::kUnFocused); } bool Textfield::OnMouseDragged(const ui::MouseEvent& event) {
diff --git a/ui/views/selection_controller.cc b/ui/views/selection_controller.cc index 13c005d4..4f8f035 100644 --- a/ui/views/selection_controller.cc +++ b/ui/views/selection_controller.cc
@@ -76,7 +76,7 @@ if (event.IsOnlyRightMouseButton()) { if (PlatformStyle::kSelectAllOnRightClickWhenUnfocused && - initial_focus_state == InitialFocusStateOnMousePress::UNFOCUSED) { + initial_focus_state == InitialFocusStateOnMousePress::kUnFocused) { SelectAll(); } else if (PlatformStyle::kSelectWordOnRightClick && !render_text->IsPointInSelection(event.location()) &&
diff --git a/ui/views/selection_controller.h b/ui/views/selection_controller.h index 4603542..31ec3486 100644 --- a/ui/views/selection_controller.h +++ b/ui/views/selection_controller.h
@@ -30,9 +30,9 @@ public: // Describes whether the view managing the delegate was initially focused when // the mouse press was received. - enum InitialFocusStateOnMousePress { - FOCUSED, - UNFOCUSED, + enum class InitialFocusStateOnMousePress { + kFocused, + kUnFocused, }; // |delegate| must be non-null.
diff --git a/ui/views/selection_controller_unittest.cc b/ui/views/selection_controller_unittest.cc index b14035c..1c5fad7 100644 --- a/ui/views/selection_controller_unittest.cc +++ b/ui/views/selection_controller_unittest.cc
@@ -123,8 +123,9 @@ ui::MouseEvent(ui::ET_MOUSE_PRESSED, location, location, last_event_time_, mouse_flags_, button), false, - focused ? SelectionController::FOCUSED - : SelectionController::UNFOCUSED); + focused + ? SelectionController::InitialFocusStateOnMousePress::kFocused + : SelectionController::InitialFocusStateOnMousePress::kUnFocused); } void ReleaseMouseButton(int button) {
diff --git a/weblayer/browser/favicon/favicon_fetcher_browsertest.cc b/weblayer/browser/favicon/favicon_fetcher_browsertest.cc index 5d800ca..d3413255 100644 --- a/weblayer/browser/favicon/favicon_fetcher_browsertest.cc +++ b/weblayer/browser/favicon/favicon_fetcher_browsertest.cc
@@ -5,14 +5,18 @@ #include "weblayer/browser/favicon/favicon_fetcher_impl.h" #include "base/run_loop.h" +#include "build/build_config.h" #include "components/favicon/content/content_favicon_driver.h" #include "ui/gfx/image/image.h" +#include "weblayer/browser/browser_context_impl.h" #include "weblayer/browser/favicon/favicon_fetcher_impl.h" #include "weblayer/browser/favicon/favicon_service_impl.h" #include "weblayer/browser/favicon/favicon_service_impl_factory.h" #include "weblayer/browser/favicon/favicon_service_impl_observer.h" #include "weblayer/browser/favicon/test_favicon_fetcher_delegate.h" +#include "weblayer/browser/profile_impl.h" #include "weblayer/browser/tab_impl.h" +#include "weblayer/public/browser.h" #include "weblayer/public/favicon_fetcher_delegate.h" #include "weblayer/public/navigation_controller.h" #include "weblayer/shell/browser/shell.h" @@ -133,4 +137,30 @@ EXPECT_FALSE(fetcher_delegate.last_image().IsEmpty()); } +// This test creates a Browser and Tab, which doesn't work well with Java when +// driven from native code. +#if !defined(OS_ANDROID) +IN_PROC_BROWSER_TEST_F(FaviconFetcherBrowserTest, OffTheRecord) { + auto otr_profile = Profile::Create(std::string()); + ProfileImpl* otr_profile_impl = static_cast<ProfileImpl*>(otr_profile.get()); + EXPECT_TRUE(otr_profile_impl->GetBrowserContext()->IsOffTheRecord()); + auto otr_browser = Browser::Create(otr_profile.get(), nullptr); + Tab* tab = otr_browser->CreateTab(); + + // There is no FaviconService for off the record profiles. FaviconService + // writes to disk, which is not appropriate for off the record mode. + EXPECT_EQ(nullptr, + FaviconServiceImplFactory::GetForProfile(otr_profile_impl)); + ASSERT_TRUE(embedded_test_server()->Start()); + TestFaviconFetcherDelegate fetcher_delegate; + auto fetcher = tab->CreateFaviconFetcher(&fetcher_delegate); + NavigateAndWaitForCompletion( + embedded_test_server()->GetURL("/simple_page_with_favicon.html"), tab); + fetcher_delegate.WaitForFavicon(); + EXPECT_FALSE(fetcher_delegate.last_image().IsEmpty()); + EXPECT_EQ(fetcher_delegate.last_image(), fetcher->GetFavicon()); + EXPECT_EQ(1, fetcher_delegate.on_favicon_changed_call_count()); +} +#endif + } // namespace weblayer
diff --git a/weblayer/browser/favicon/favicon_service_impl_factory.cc b/weblayer/browser/favicon/favicon_service_impl_factory.cc index eb7fb5e..e849a8fb 100644 --- a/weblayer/browser/favicon/favicon_service_impl_factory.cc +++ b/weblayer/browser/favicon/favicon_service_impl_factory.cc
@@ -37,7 +37,6 @@ KeyedService* FaviconServiceImplFactory::BuildServiceInstanceFor( content::BrowserContext* context) const { - // TODO(sky): figure out best way to support incognito. DCHECK(!context->IsOffTheRecord()); std::unique_ptr<FaviconServiceImpl> service = std::make_unique<FaviconServiceImpl>();
diff --git a/weblayer/browser/favicon/favicon_service_impl_factory.h b/weblayer/browser/favicon/favicon_service_impl_factory.h index 48c42a9..c217096 100644 --- a/weblayer/browser/favicon/favicon_service_impl_factory.h +++ b/weblayer/browser/favicon/favicon_service_impl_factory.h
@@ -20,6 +20,7 @@ FaviconServiceImplFactory& operator=(const FaviconServiceImplFactory&) = delete; + // Off the record profiles do not have a FaviconServiceImpl. static FaviconServiceImpl* GetForProfile(ProfileImpl* profile); // Returns the FaviconServiceFactory singleton.