Version 2.18.0-130.0.dev

Merge commit 'e89fadaf00d7f546bc00a183d203a6c29fc0328a' into 'dev'
diff --git a/build/win/chrome_win.croc b/build/win/chrome_win.croc
deleted file mode 100644
index acf8e39..0000000
--- a/build/win/chrome_win.croc
+++ /dev/null
@@ -1,26 +0,0 @@
-# -*- python -*-
-# Crocodile config file for Chromium windows
-
-{
-  # List of rules, applied in order
-  'rules' : [
-    # Specify inclusions before exclusions, since rules are in order.
-
-    # Don't include ChromeOS, posix, or linux specific files
-    {
-      'regexp' : '.*(_|/)(chromeos|linux|posix)(\\.|_)',
-      'include' : 0,
-    },
-    # Don't include ChromeOS dirs
-    {
-      'regexp' : '.*/chromeos/',
-      'include' : 0,
-    },
-
-    # Groups
-    {
-      'regexp' : '.*_test_win\\.',
-      'group' : 'test',
-    },
-  ],
-}
diff --git a/build/win/compatibility.manifest b/build/win/compatibility.manifest
deleted file mode 100644
index 10d10da..0000000
--- a/build/win/compatibility.manifest
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
-  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
-    <application>
-      <!--The ID below indicates application support for Windows Vista -->
-      <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
-      <!--The ID below indicates application support for Windows 7 -->
-      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
-      <!--The ID below indicates application support for Windows 8 -->
-      <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
-      <!--The ID below indicates application support for Windows 8.1 -->
-      <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
-      <!--The ID below indicates application support for Windows 10 -->
-      <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
-    </application>
-  </compatibility>
-</assembly>
diff --git a/build/win/dbghelp_xp/README.chromium b/build/win/dbghelp_xp/README.chromium
deleted file mode 100644
index a52cfad..0000000
--- a/build/win/dbghelp_xp/README.chromium
+++ /dev/null
@@ -1,2 +0,0 @@
-This dbghelp.dll is the redistributable version from the Windows 7 SDK, the

-last one to work on Windows XP.

diff --git a/build/win/dbghelp_xp/dbghelp.dll b/build/win/dbghelp_xp/dbghelp.dll
deleted file mode 100755
index 9f52a5d..0000000
--- a/build/win/dbghelp_xp/dbghelp.dll
+++ /dev/null
Binary files differ
diff --git a/build/win/importlibs/create_importlib_win.py b/build/win/importlibs/create_importlib_win.py
deleted file mode 100755
index b23a7c0..0000000
--- a/build/win/importlibs/create_importlib_win.py
+++ /dev/null
@@ -1,213 +0,0 @@
-#!/usr/bin/env python3
-# Copyright (c) 2012 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.
-#
-"""Creates an import library from an import description file."""
-import ast
-import logging
-import optparse
-import os
-import os.path
-import shutil
-import subprocess
-import sys
-import tempfile
-
-_USAGE = """\
-Usage: %prog [options] [imports-file]
-
-Creates an import library from imports-file.
-
-Note: this script uses the microsoft assembler (ml.exe) and the library tool
-    (lib.exe), both of which must be in path.
-"""
-
-_ASM_STUB_HEADER = """\
-; This file is autogenerated by create_importlib_win.py, do not edit.
-.386
-.MODEL FLAT, C
-.CODE
-
-; Stubs to provide mangled names to lib.exe for the
-; correct generation of import libs.
-"""
-
-_DEF_STUB_HEADER = """\
-; This file is autogenerated by create_importlib_win.py, do not edit.
-
-; Export declarations for generating import libs.
-"""
-
-_LOGGER = logging.getLogger()
-
-
-class _Error(Exception):
-    pass
-
-
-class _ImportLibraryGenerator(object):
-
-    def __init__(self, temp_dir):
-        self._temp_dir = temp_dir
-
-    def _Shell(self, cmd, **kw):
-        ret = subprocess.call(cmd, **kw)
-        _LOGGER.info('Running "%s" returned %d.', cmd, ret)
-        if ret != 0:
-            raise _Error('Command "%s" returned %d.' % (cmd, ret))
-
-    def _ReadImportsFile(self, imports_file):
-        # Slurp the imports file.
-        return ast.literal_eval(open(imports_file).read())
-
-    def _WriteStubsFile(self, import_names, output_file):
-        output_file.write(_ASM_STUB_HEADER)
-
-        for name in import_names:
-            output_file.write('%s PROC\n' % name)
-            output_file.write('%s ENDP\n' % name)
-
-        output_file.write('END\n')
-
-    def _WriteDefFile(self, dll_name, import_names, output_file):
-        output_file.write(_DEF_STUB_HEADER)
-        output_file.write('NAME %s\n' % dll_name)
-        output_file.write('EXPORTS\n')
-        for name in import_names:
-            name = name.split('@')[0]
-            output_file.write('  %s\n' % name)
-
-    def _CreateObj(self, dll_name, imports):
-        """Writes an assembly file containing empty declarations.
-
-    For each imported function of the form:
-
-    AddClipboardFormatListener@4 PROC
-    AddClipboardFormatListener@4 ENDP
-
-    The resulting object file is then supplied to lib.exe with a .def file
-    declaring the corresponding non-adorned exports as they appear on the
-    exporting DLL, e.g.
-
-    EXPORTS
-      AddClipboardFormatListener
-
-    In combination, the .def file and the .obj file cause lib.exe to generate
-    an x86 import lib with public symbols named like
-    "__imp__AddClipboardFormatListener@4", binding to exports named like
-    "AddClipboardFormatListener".
-
-    All of this is perpetrated in a temporary directory, as the intermediate
-    artifacts are quick and easy to produce, and of no interest to anyone
-    after the fact."""
-
-        # Create an .asm file to provide stdcall-like stub names to lib.exe.
-        asm_name = dll_name + '.asm'
-        _LOGGER.info('Writing asm file "%s".', asm_name)
-        with open(os.path.join(self._temp_dir, asm_name), 'wb') as stubs_file:
-            self._WriteStubsFile(imports, stubs_file)
-
-        # Invoke on the assembler to compile it to .obj.
-        obj_name = dll_name + '.obj'
-        cmdline = ['ml.exe', '/nologo', '/c', asm_name, '/Fo', obj_name]
-        self._Shell(cmdline, cwd=self._temp_dir, stdout=open(os.devnull))
-
-        return obj_name
-
-    def _CreateImportLib(self, dll_name, imports, architecture, output_file):
-        """Creates an import lib binding imports to dll_name for architecture.
-
-    On success, writes the import library to output file.
-    """
-        obj_file = None
-
-        # For x86 architecture we have to provide an object file for correct
-        # name mangling between the import stubs and the exported functions.
-        if architecture == 'x86':
-            obj_file = self._CreateObj(dll_name, imports)
-
-        # Create the corresponding .def file. This file has the non stdcall-adorned
-        # names, as exported by the destination DLL.
-        def_name = dll_name + '.def'
-        _LOGGER.info('Writing def file "%s".', def_name)
-        with open(os.path.join(self._temp_dir, def_name), 'wb') as def_file:
-            self._WriteDefFile(dll_name, imports, def_file)
-
-        # Invoke on lib.exe to create the import library.
-        # We generate everything into the temporary directory, as the .exp export
-        # files will be generated at the same path as the import library, and we
-        # don't want those files potentially gunking the works.
-        dll_base_name, ext = os.path.splitext(dll_name)
-        lib_name = dll_base_name + '.lib'
-        cmdline = [
-            'lib.exe',
-            '/machine:%s' % architecture,
-            '/def:%s' % def_name,
-            '/out:%s' % lib_name
-        ]
-        if obj_file:
-            cmdline.append(obj_file)
-
-        self._Shell(cmdline, cwd=self._temp_dir, stdout=open(os.devnull))
-
-        # Copy the .lib file to the output directory.
-        shutil.copyfile(os.path.join(self._temp_dir, lib_name), output_file)
-        _LOGGER.info('Created "%s".', output_file)
-
-    def CreateImportLib(self, imports_file, output_file):
-        # Read the imports file.
-        imports = self._ReadImportsFile(imports_file)
-
-        # Creates the requested import library in the output directory.
-        self._CreateImportLib(imports['dll_name'], imports['imports'],
-                              imports.get('architecture', 'x86'), output_file)
-
-
-def main():
-    parser = optparse.OptionParser(usage=_USAGE)
-    parser.add_option(
-        '-o', '--output-file', help='Specifies the output file path.')
-    parser.add_option(
-        '-k',
-        '--keep-temp-dir',
-        action='store_true',
-        help='Keep the temporary directory.')
-    parser.add_option(
-        '-v', '--verbose', action='store_true', help='Verbose logging.')
-
-    options, args = parser.parse_args()
-
-    if len(args) != 1:
-        parser.error('You must provide an imports file.')
-
-    if not options.output_file:
-        parser.error('You must provide an output file.')
-
-    options.output_file = os.path.abspath(options.output_file)
-
-    if options.verbose:
-        logging.basicConfig(level=logging.INFO)
-    else:
-        logging.basicConfig(level=logging.WARN)
-
-    temp_dir = tempfile.mkdtemp()
-    _LOGGER.info('Created temporary directory "%s."', temp_dir)
-    try:
-        # Create a generator and create the import lib.
-        generator = _ImportLibraryGenerator(temp_dir)
-
-        ret = generator.CreateImportLib(args[0], options.output_file)
-    except Exception, e:
-        _LOGGER.exception('Failed to create import lib.')
-        ret = 1
-    finally:
-        if not options.keep_temp_dir:
-            shutil.rmtree(temp_dir)
-            _LOGGER.info('Deleted temporary directory "%s."', temp_dir)
-
-    return ret
-
-
-if __name__ == '__main__':
-    sys.exit(main())
diff --git a/build/win/importlibs/filter_export_list.py b/build/win/importlibs/filter_export_list.py
deleted file mode 100755
index b1fc122..0000000
--- a/build/win/importlibs/filter_export_list.py
+++ /dev/null
@@ -1,87 +0,0 @@
-#!/usr/bin/env python3
-# Copyright (c) 2012 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.
-#
-"""Help maintaining DLL import lists."""
-import ast
-import optparse
-import re
-import sys
-
-_EXPORT_RE = re.compile(
-    r"""
-  ^\s*(?P<ordinal>[0-9]+)  # The ordinal field.
-  \s+(?P<hint>[0-9A-F]+)   # The hint field.
-  \s(?P<rva>........)      # The RVA field.
-  \s+(?P<name>[^ ]+)       # And finally the name we're really after.
-""", re.VERBOSE)
-
-_USAGE = r"""\
-Usage: %prog [options] [master-file]
-
-This script filters a list of exports from a DLL, generated from something
-like the following command line:
-
-C:\> dumpbin /exports user32.dll
-
-against a master list of imports built from e.g.
-
-C:\> dumpbin /exports user32.lib
-
-The point of this is to trim non-public exports from the list, and to
-normalize the names to their stdcall-mangled form for the generation of
-import libraries.
-Note that the export names from the latter incanatation are stdcall-mangled,
-e.g. they are suffixed with "@" and the number of argument bytes to the
-function.
-"""
-
-
-def _ReadMasterFile(master_file):
-    # Slurp the master file.
-    with open(master_file) as f:
-        master_exports = ast.literal_eval(f.read())
-
-    master_mapping = {}
-    for export in master_exports:
-        name = export.split('@')[0]
-        master_mapping[name] = export
-
-    return master_mapping
-
-
-def main():
-    parser = optparse.OptionParser(usage=_USAGE)
-    parser.add_option(
-        '-r',
-        '--reverse',
-        action='store_true',
-        help='Reverse the matching, e.g. return the functions '
-        'in the master list that aren\'t in the input.')
-
-    options, args = parser.parse_args()
-    if len(args) != 1:
-        parser.error('Must provide a master file.')
-
-    master_mapping = _ReadMasterFile(args[0])
-
-    found_exports = []
-    for line in sys.stdin:
-        match = _EXPORT_RE.match(line)
-        if match:
-            export_name = master_mapping.get(match.group('name'), None)
-            if export_name:
-                found_exports.append(export_name)
-
-    if options.reverse:
-        # Invert the found_exports list.
-        found_exports = set(master_mapping.values()) - set(found_exports)
-
-    # Sort the found exports for tidy output.
-    print('\n'.join(sorted(found_exports)))
-    return 0
-
-
-if __name__ == '__main__':
-    sys.exit(main())
diff --git a/build/win/importlibs/x86/user32.winxp.imports b/build/win/importlibs/x86/user32.winxp.imports
deleted file mode 100644
index 24403a8..0000000
--- a/build/win/importlibs/x86/user32.winxp.imports
+++ /dev/null
@@ -1,670 +0,0 @@
-# Copyright (c) 2012 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 create a custom import library for Chrome's use of
-# user32.dll exports. The set of exports defined below
-{
-  'architecture': 'x86',
-
-  # The DLL to bind to.
-  'dll_name': 'user32.dll',
-
-  # Name of the generated import library.
-  'importlib_name': 'user32.winxp.lib',
-
-  # This is the set of exports observed on a user32.dll from Windows XP SP2.
-  # The version of the DLL where these were observed is 5.1.2600.2180.
-  # Incidentally this set of exports also coincides with Windows XP SP3, where
-  # the version of the DLL is 5.1.2600.5512.
-  # Don't add new imports here unless and until the minimal supported
-  # Windows version has been bumped past Windows XP SP2+.
-  'imports': [
-    'ActivateKeyboardLayout@8',
-    'AdjustWindowRect@12',
-    'AdjustWindowRectEx@16',
-    'AllowSetForegroundWindow@4',
-    'AnimateWindow@12',
-    'AnyPopup@0',
-    'AppendMenuA@16',
-    'AppendMenuW@16',
-    'ArrangeIconicWindows@4',
-    'AttachThreadInput@12',
-    'BeginDeferWindowPos@4',
-    'BeginPaint@8',
-    'BlockInput@4',
-    'BringWindowToTop@4',
-    'BroadcastSystemMessage@20',
-    'BroadcastSystemMessageA@20',
-    'BroadcastSystemMessageExA@24',
-    'BroadcastSystemMessageExW@24',
-    'BroadcastSystemMessageW@20',
-    'CallMsgFilter@8',
-    'CallMsgFilterA@8',
-    'CallMsgFilterW@8',
-    'CallNextHookEx@16',
-    'CallWindowProcA@20',
-    'CallWindowProcW@20',
-    'CascadeChildWindows@8',
-    'CascadeWindows@20',
-    'ChangeClipboardChain@8',
-    'ChangeDisplaySettingsA@8',
-    'ChangeDisplaySettingsExA@20',
-    'ChangeDisplaySettingsExW@20',
-    'ChangeDisplaySettingsW@8',
-    'ChangeMenuA@20',
-    'ChangeMenuW@20',
-    'CharLowerA@4',
-    'CharLowerBuffA@8',
-    'CharLowerBuffW@8',
-    'CharLowerW@4',
-    'CharNextA@4',
-    'CharNextExA@12',
-    'CharNextW@4',
-    'CharPrevA@8',
-    'CharPrevExA@16',
-    'CharPrevW@8',
-    'CharToOemA@8',
-    'CharToOemBuffA@12',
-    'CharToOemBuffW@12',
-    'CharToOemW@8',
-    'CharUpperA@4',
-    'CharUpperBuffA@8',
-    'CharUpperBuffW@8',
-    'CharUpperW@4',
-    'CheckDlgButton@12',
-    'CheckMenuItem@12',
-    'CheckMenuRadioItem@20',
-    'CheckRadioButton@16',
-    'ChildWindowFromPoint@12',
-    'ChildWindowFromPointEx@16',
-    'ClientToScreen@8',
-    'ClipCursor@4',
-    'CloseClipboard@0',
-    'CloseDesktop@4',
-    'CloseWindow@4',
-    'CloseWindowStation@4',
-    'CopyAcceleratorTableA@12',
-    'CopyAcceleratorTableW@12',
-    'CopyIcon@4',
-    'CopyImage@20',
-    'CopyRect@8',
-    'CountClipboardFormats@0',
-    'CreateAcceleratorTableA@8',
-    'CreateAcceleratorTableW@8',
-    'CreateCaret@16',
-    'CreateCursor@28',
-    'CreateDesktopA@24',
-    'CreateDesktopW@24',
-    'CreateDialogIndirectParamA@20',
-    'CreateDialogIndirectParamW@20',
-    'CreateDialogParamA@20',
-    'CreateDialogParamW@20',
-    'CreateIcon@28',
-    'CreateIconFromResource@16',
-    'CreateIconFromResourceEx@28',
-    'CreateIconIndirect@4',
-    'CreateMDIWindowA@40',
-    'CreateMDIWindowW@40',
-    'CreateMenu@0',
-    'CreatePopupMenu@0',
-    'CreateWindowExA@48',
-    'CreateWindowExW@48',
-    'CreateWindowStationA@16',
-    'CreateWindowStationW@16',
-    'DdeAbandonTransaction@12',
-    'DdeAccessData@8',
-    'DdeAddData@16',
-    'DdeClientTransaction@32',
-    'DdeCmpStringHandles@8',
-    'DdeConnect@16',
-    'DdeConnectList@20',
-    'DdeCreateDataHandle@28',
-    'DdeCreateStringHandleA@12',
-    'DdeCreateStringHandleW@12',
-    'DdeDisconnect@4',
-    'DdeDisconnectList@4',
-    'DdeEnableCallback@12',
-    'DdeFreeDataHandle@4',
-    'DdeFreeStringHandle@8',
-    'DdeGetData@16',
-    'DdeGetLastError@4',
-    'DdeImpersonateClient@4',
-    'DdeInitializeA@16',
-    'DdeInitializeW@16',
-    'DdeKeepStringHandle@8',
-    'DdeNameService@16',
-    'DdePostAdvise@12',
-    'DdeQueryConvInfo@12',
-    'DdeQueryNextServer@8',
-    'DdeQueryStringA@20',
-    'DdeQueryStringW@20',
-    'DdeReconnect@4',
-    'DdeSetQualityOfService@12',
-    'DdeSetUserHandle@12',
-    'DdeUnaccessData@4',
-    'DdeUninitialize@4',
-    'DefDlgProcA@16',
-    'DefDlgProcW@16',
-    'DefFrameProcA@20',
-    'DefFrameProcW@20',
-    'DefMDIChildProcA@16',
-    'DefMDIChildProcW@16',
-    'DefRawInputProc@12',
-    'DefWindowProcA@16',
-    'DefWindowProcW@16',
-    'DeferWindowPos@32',
-    'DeleteMenu@12',
-    'DeregisterShellHookWindow@4',
-    'DestroyAcceleratorTable@4',
-    'DestroyCaret@0',
-    'DestroyCursor@4',
-    'DestroyIcon@4',
-    'DestroyMenu@4',
-    'DestroyWindow@4',
-    'DialogBoxIndirectParamA@20',
-    'DialogBoxIndirectParamW@20',
-    'DialogBoxParamA@20',
-    'DialogBoxParamW@20',
-    'DisableProcessWindowsGhosting@0',
-    'DispatchMessageA@4',
-    'DispatchMessageW@4',
-    'DlgDirListA@20',
-    'DlgDirListComboBoxA@20',
-    'DlgDirListComboBoxW@20',
-    'DlgDirListW@20',
-    'DlgDirSelectComboBoxExA@16',
-    'DlgDirSelectComboBoxExW@16',
-    'DlgDirSelectExA@16',
-    'DlgDirSelectExW@16',
-    'DragDetect@12',
-    'DragObject@20',
-    'DrawAnimatedRects@16',
-    'DrawCaption@16',
-    'DrawEdge@16',
-    'DrawFocusRect@8',
-    'DrawFrame@16',
-    'DrawFrameControl@16',
-    'DrawIcon@16',
-    'DrawIconEx@36',
-    'DrawMenuBar@4',
-    'DrawStateA@40',
-    'DrawStateW@40',
-    'DrawTextA@20',
-    'DrawTextExA@24',
-    'DrawTextExW@24',
-    'DrawTextW@20',
-    'EditWndProc@16',
-    'EmptyClipboard@0',
-    'EnableMenuItem@12',
-    'EnableScrollBar@12',
-    'EnableWindow@8',
-    'EndDeferWindowPos@4',
-    'EndDialog@8',
-    'EndMenu@0',
-    'EndPaint@8',
-    'EndTask@12',
-    'EnumChildWindows@12',
-    'EnumClipboardFormats@4',
-    'EnumDesktopWindows@12',
-    'EnumDesktopsA@12',
-    'EnumDesktopsW@12',
-    'EnumDisplayDevicesA@16',
-    'EnumDisplayDevicesW@16',
-    'EnumDisplayMonitors@16',
-    'EnumDisplaySettingsA@12',
-    'EnumDisplaySettingsExA@16',
-    'EnumDisplaySettingsExW@16',
-    'EnumDisplaySettingsW@12',
-    'EnumPropsA@8',
-    'EnumPropsExA@12',
-    'EnumPropsExW@12',
-    'EnumPropsW@8',
-    'EnumThreadWindows@12',
-    'EnumWindowStationsA@8',
-    'EnumWindowStationsW@8',
-    'EnumWindows@8',
-    'EqualRect@8',
-    'ExcludeUpdateRgn@8',
-    'ExitWindowsEx@8',
-    'FillRect@12',
-    'FindWindowA@8',
-    'FindWindowExA@16',
-    'FindWindowExW@16',
-    'FindWindowW@8',
-    'FlashWindow@8',
-    'FlashWindowEx@4',
-    'FrameRect@12',
-    'FreeDDElParam@8',
-    'GetActiveWindow@0',
-    'GetAltTabInfo@20',
-    'GetAltTabInfoA@20',
-    'GetAltTabInfoW@20',
-    'GetAncestor@8',
-    'GetAsyncKeyState@4',
-    'GetCapture@0',
-    'GetCaretBlinkTime@0',
-    'GetCaretPos@4',
-    'GetClassInfoA@12',
-    'GetClassInfoExA@12',
-    'GetClassInfoExW@12',
-    'GetClassInfoW@12',
-    'GetClassLongA@8',
-    'GetClassLongW@8',
-    'GetClassNameA@12',
-    'GetClassNameW@12',
-    'GetClassWord@8',
-    'GetClientRect@8',
-    'GetClipCursor@4',
-    'GetClipboardData@4',
-    'GetClipboardFormatNameA@12',
-    'GetClipboardFormatNameW@12',
-    'GetClipboardOwner@0',
-    'GetClipboardSequenceNumber@0',
-    'GetClipboardViewer@0',
-    'GetComboBoxInfo@8',
-    'GetCursor@0',
-    'GetCursorInfo@4',
-    'GetCursorPos@4',
-    'GetDC@4',
-    'GetDCEx@12',
-    'GetDesktopWindow@0',
-    'GetDialogBaseUnits@0',
-    'GetDlgCtrlID@4',
-    'GetDlgItem@8',
-    'GetDlgItemInt@16',
-    'GetDlgItemTextA@16',
-    'GetDlgItemTextW@16',
-    'GetDoubleClickTime@0',
-    'GetFocus@0',
-    'GetForegroundWindow@0',
-    'GetGUIThreadInfo@8',
-    'GetGuiResources@8',
-    'GetIconInfo@8',
-    'GetInputDesktop@0',
-    'GetInputState@0',
-    'GetKBCodePage@0',
-    'GetKeyNameTextA@12',
-    'GetKeyNameTextW@12',
-    'GetKeyState@4',
-    'GetKeyboardLayout@4',
-    'GetKeyboardLayoutList@8',
-    'GetKeyboardLayoutNameA@4',
-    'GetKeyboardLayoutNameW@4',
-    'GetKeyboardState@4',
-    'GetKeyboardType@4',
-    'GetLastActivePopup@4',
-    'GetLastInputInfo@4',
-    'GetLayeredWindowAttributes@16',
-    'GetListBoxInfo@4',
-    'GetMenu@4',
-    'GetMenuBarInfo@16',
-    'GetMenuCheckMarkDimensions@0',
-    'GetMenuContextHelpId@4',
-    'GetMenuDefaultItem@12',
-    'GetMenuInfo@8',
-    'GetMenuItemCount@4',
-    'GetMenuItemID@8',
-    'GetMenuItemInfoA@16',
-    'GetMenuItemInfoW@16',
-    'GetMenuItemRect@16',
-    'GetMenuState@12',
-    'GetMenuStringA@20',
-    'GetMenuStringW@20',
-    'GetMessageA@16',
-    'GetMessageExtraInfo@0',
-    'GetMessagePos@0',
-    'GetMessageTime@0',
-    'GetMessageW@16',
-    'GetMonitorInfoA@8',
-    'GetMonitorInfoW@8',
-    'GetMouseMovePointsEx@20',
-    'GetNextDlgGroupItem@12',
-    'GetNextDlgTabItem@12',
-    'GetOpenClipboardWindow@0',
-    'GetParent@4',
-    'GetPriorityClipboardFormat@8',
-    'GetProcessDefaultLayout@4',
-    'GetProcessWindowStation@0',
-    'GetPropA@8',
-    'GetPropW@8',
-    'GetQueueStatus@4',
-    'GetRawInputBuffer@12',
-    'GetRawInputData@20',
-    'GetRawInputDeviceInfoA@16',
-    'GetRawInputDeviceInfoW@16',
-    'GetRawInputDeviceList@12',
-    'GetRegisteredRawInputDevices@12',
-    'GetScrollBarInfo@12',
-    'GetScrollInfo@12',
-    'GetScrollPos@8',
-    'GetScrollRange@16',
-    'GetShellWindow@0',
-    'GetSubMenu@8',
-    'GetSysColor@4',
-    'GetSysColorBrush@4',
-    'GetSystemMenu@8',
-    'GetSystemMetrics@4',
-    'GetTabbedTextExtentA@20',
-    'GetTabbedTextExtentW@20',
-    'GetThreadDesktop@4',
-    'GetTitleBarInfo@8',
-    'GetTopWindow@4',
-    'GetUpdateRect@12',
-    'GetUpdateRgn@12',
-    'GetUserObjectInformationA@20',
-    'GetUserObjectInformationW@20',
-    'GetUserObjectSecurity@20',
-    'GetWindow@8',
-    'GetWindowContextHelpId@4',
-    'GetWindowDC@4',
-    'GetWindowInfo@8',
-    'GetWindowLongA@8',
-    'GetWindowLongW@8',
-    'GetWindowModuleFileName@12',
-    'GetWindowModuleFileNameA@12',
-    'GetWindowModuleFileNameW@12',
-    'GetWindowPlacement@8',
-    'GetWindowRect@8',
-    'GetWindowRgn@8',
-    'GetWindowRgnBox@8',
-    'GetWindowTextA@12',
-    'GetWindowTextLengthA@4',
-    'GetWindowTextLengthW@4',
-    'GetWindowTextW@12',
-    'GetWindowThreadProcessId@8',
-    'GetWindowWord@8',
-    'GrayStringA@36',
-    'GrayStringW@36',
-    'HideCaret@4',
-    'HiliteMenuItem@16',
-    'IMPGetIMEA@8',
-    'IMPGetIMEW@8',
-    'IMPQueryIMEA@4',
-    'IMPQueryIMEW@4',
-    'IMPSetIMEA@8',
-    'IMPSetIMEW@8',
-    'ImpersonateDdeClientWindow@8',
-    'InSendMessage@0',
-    'InSendMessageEx@4',
-    'InflateRect@12',
-    'InsertMenuA@20',
-    'InsertMenuItemA@16',
-    'InsertMenuItemW@16',
-    'InsertMenuW@20',
-    'InternalGetWindowText@12',
-    'IntersectRect@12',
-    'InvalidateRect@12',
-    'InvalidateRgn@12',
-    'InvertRect@8',
-    'IsCharAlphaA@4',
-    'IsCharAlphaNumericA@4',
-    'IsCharAlphaNumericW@4',
-    'IsCharAlphaW@4',
-    'IsCharLowerA@4',
-    'IsCharLowerW@4',
-    'IsCharUpperA@4',
-    'IsCharUpperW@4',
-    'IsChild@8',
-    'IsClipboardFormatAvailable@4',
-    'IsDialogMessage@8',
-    'IsDialogMessageA@8',
-    'IsDialogMessageW@8',
-    'IsDlgButtonChecked@8',
-    'IsGUIThread@4',
-    'IsHungAppWindow@4',
-    'IsIconic@4',
-    'IsMenu@4',
-    'IsRectEmpty@4',
-    'IsWinEventHookInstalled@4',
-    'IsWindow@4',
-    'IsWindowEnabled@4',
-    'IsWindowUnicode@4',
-    'IsWindowVisible@4',
-    'IsZoomed@4',
-    'KillTimer@8',
-    'LoadAcceleratorsA@8',
-    'LoadAcceleratorsW@8',
-    'LoadBitmapA@8',
-    'LoadBitmapW@8',
-    'LoadCursorA@8',
-    'LoadCursorFromFileA@4',
-    'LoadCursorFromFileW@4',
-    'LoadCursorW@8',
-    'LoadIconA@8',
-    'LoadIconW@8',
-    'LoadImageA@24',
-    'LoadImageW@24',
-    'LoadKeyboardLayoutA@8',
-    'LoadKeyboardLayoutW@8',
-    'LoadMenuA@8',
-    'LoadMenuIndirectA@4',
-    'LoadMenuIndirectW@4',
-    'LoadMenuW@8',
-    'LoadStringA@16',
-    'LoadStringW@16',
-    'LockSetForegroundWindow@4',
-    'LockWindowUpdate@4',
-    'LockWorkStation@0',
-    'LookupIconIdFromDirectory@8',
-    'LookupIconIdFromDirectoryEx@20',
-    'MapDialogRect@8',
-    'MapVirtualKeyA@8',
-    'MapVirtualKeyExA@12',
-    'MapVirtualKeyExW@12',
-    'MapVirtualKeyW@8',
-    'MapWindowPoints@16',
-    'MenuItemFromPoint@16',
-    'MessageBeep@4',
-    'MessageBoxA@16',
-    'MessageBoxExA@20',
-    'MessageBoxExW@20',
-    'MessageBoxIndirectA@4',
-    'MessageBoxIndirectW@4',
-    'MessageBoxTimeoutA@24',
-    'MessageBoxTimeoutW@24',
-    'MessageBoxW@16',
-    'ModifyMenuA@20',
-    'ModifyMenuW@20',
-    'MonitorFromPoint@12',
-    'MonitorFromRect@8',
-    'MonitorFromWindow@8',
-    'MoveWindow@24',
-    'MsgWaitForMultipleObjects@20',
-    'MsgWaitForMultipleObjectsEx@20',
-    'NotifyWinEvent@16',
-    'OemKeyScan@4',
-    'OemToCharA@8',
-    'OemToCharBuffA@12',
-    'OemToCharBuffW@12',
-    'OemToCharW@8',
-    'OffsetRect@12',
-    'OpenClipboard@4',
-    'OpenDesktopA@16',
-    'OpenDesktopW@16',
-    'OpenIcon@4',
-    'OpenInputDesktop@12',
-    'OpenWindowStationA@12',
-    'OpenWindowStationW@12',
-    'PackDDElParam@12',
-    'PaintDesktop@4',
-    'PeekMessageA@20',
-    'PeekMessageW@20',
-    'PostMessageA@16',
-    'PostMessageW@16',
-    'PostQuitMessage@4',
-    'PostThreadMessageA@16',
-    'PostThreadMessageW@16',
-    'PrintWindow@12',
-    'PrivateExtractIconsA@32',
-    'PrivateExtractIconsW@32',
-    'PtInRect@12',
-    'RealChildWindowFromPoint@12',
-    'RealGetWindowClass@12',
-    'RealGetWindowClassA@12',
-    'RealGetWindowClassW@12',
-    'RedrawWindow@16',
-    'RegisterClassA@4',
-    'RegisterClassExA@4',
-    'RegisterClassExW@4',
-    'RegisterClassW@4',
-    'RegisterClipboardFormatA@4',
-    'RegisterClipboardFormatW@4',
-    'RegisterDeviceNotificationA@12',
-    'RegisterDeviceNotificationW@12',
-    'RegisterHotKey@16',
-    'RegisterRawInputDevices@12',
-    'RegisterShellHookWindow@4',
-    'RegisterWindowMessageA@4',
-    'RegisterWindowMessageW@4',
-    'ReleaseCapture@0',
-    'ReleaseDC@8',
-    'RemoveMenu@12',
-    'RemovePropA@8',
-    'RemovePropW@8',
-    'ReplyMessage@4',
-    'ReuseDDElParam@20',
-    'ScreenToClient@8',
-    'ScrollDC@28',
-    'ScrollWindow@20',
-    'ScrollWindowEx@32',
-    'SendDlgItemMessageA@20',
-    'SendDlgItemMessageW@20',
-    'SendIMEMessageExA@8',
-    'SendIMEMessageExW@8',
-    'SendInput@12',
-    'SendMessageA@16',
-    'SendMessageCallbackA@24',
-    'SendMessageCallbackW@24',
-    'SendMessageTimeoutA@28',
-    'SendMessageTimeoutW@28',
-    'SendMessageW@16',
-    'SendNotifyMessageA@16',
-    'SendNotifyMessageW@16',
-    'SetActiveWindow@4',
-    'SetCapture@4',
-    'SetCaretBlinkTime@4',
-    'SetCaretPos@8',
-    'SetClassLongA@12',
-    'SetClassLongW@12',
-    'SetClassWord@12',
-    'SetClipboardData@8',
-    'SetClipboardViewer@4',
-    'SetCursor@4',
-    'SetCursorPos@8',
-    'SetDebugErrorLevel@4',
-    'SetDeskWallpaper@4',
-    'SetDlgItemInt@16',
-    'SetDlgItemTextA@12',
-    'SetDlgItemTextW@12',
-    'SetDoubleClickTime@4',
-    'SetFocus@4',
-    'SetForegroundWindow@4',
-    'SetKeyboardState@4',
-    'SetLastErrorEx@8',
-    'SetLayeredWindowAttributes@16',
-    'SetMenu@8',
-    'SetMenuContextHelpId@8',
-    'SetMenuDefaultItem@12',
-    'SetMenuInfo@8',
-    'SetMenuItemBitmaps@20',
-    'SetMenuItemInfoA@16',
-    'SetMenuItemInfoW@16',
-    'SetMessageExtraInfo@4',
-    'SetMessageQueue@4',
-    'SetParent@8',
-    'SetProcessDefaultLayout@4',
-    'SetProcessWindowStation@4',
-    'SetPropA@12',
-    'SetPropW@12',
-    'SetRect@20',
-    'SetRectEmpty@4',
-    'SetScrollInfo@16',
-    'SetScrollPos@16',
-    'SetScrollRange@20',
-    'SetShellWindow@4',
-    'SetSysColors@12',
-    'SetSystemCursor@8',
-    'SetThreadDesktop@4',
-    'SetTimer@16',
-    'SetUserObjectInformationA@16',
-    'SetUserObjectInformationW@16',
-    'SetUserObjectSecurity@12',
-    'SetWinEventHook@28',
-    'SetWindowContextHelpId@8',
-    'SetWindowLongA@12',
-    'SetWindowLongW@12',
-    'SetWindowPlacement@8',
-    'SetWindowPos@28',
-    'SetWindowRgn@12',
-    'SetWindowTextA@8',
-    'SetWindowTextW@8',
-    'SetWindowWord@12',
-    'SetWindowsHookA@8',
-    'SetWindowsHookExA@16',
-    'SetWindowsHookExW@16',
-    'SetWindowsHookW@8',
-    'ShowCaret@4',
-    'ShowCursor@4',
-    'ShowOwnedPopups@8',
-    'ShowScrollBar@12',
-    'ShowWindow@8',
-    'ShowWindowAsync@8',
-    'SubtractRect@12',
-    'SwapMouseButton@4',
-    'SwitchDesktop@4',
-    'SwitchToThisWindow@8',
-    'SystemParametersInfoA@16',
-    'SystemParametersInfoW@16',
-    'TabbedTextOutA@32',
-    'TabbedTextOutW@32',
-    'TileChildWindows@8',
-    'TileWindows@20',
-    'ToAscii@20',
-    'ToAsciiEx@24',
-    'ToUnicode@24',
-    'ToUnicodeEx@28',
-    'TrackMouseEvent@4',
-    'TrackPopupMenu@28',
-    'TrackPopupMenuEx@24',
-    'TranslateAccelerator@12',
-    'TranslateAcceleratorA@12',
-    'TranslateAcceleratorW@12',
-    'TranslateMDISysAccel@8',
-    'TranslateMessage@4',
-    'UnhookWinEvent@4',
-    'UnhookWindowsHook@8',
-    'UnhookWindowsHookEx@4',
-    'UnionRect@12',
-    'UnloadKeyboardLayout@4',
-    'UnpackDDElParam@16',
-    'UnregisterClassA@8',
-    'UnregisterClassW@8',
-    'UnregisterDeviceNotification@4',
-    'UnregisterHotKey@8',
-    'UpdateLayeredWindow@36',
-    'UpdateWindow@4',
-    'UserHandleGrantAccess@12',
-    'ValidateRect@8',
-    'ValidateRgn@8',
-    'VkKeyScanA@4',
-    'VkKeyScanExA@8',
-    'VkKeyScanExW@8',
-    'VkKeyScanW@4',
-    'WINNLSEnableIME@8',
-    'WINNLSGetEnableStatus@4',
-    'WINNLSGetIMEHotkey@4',
-    'WaitForInputIdle@8',
-    'WaitMessage@0',
-    'WinHelpA@16',
-    'WinHelpW@16',
-    'WindowFromDC@4',
-    'WindowFromPoint@8',
-    'keybd_event@16',
-    'mouse_event@20',
-    'wsprintfA',
-    'wsprintfW',
-    'wvsprintfA@12',
-    'wvsprintfW@12',
-  ]
-}
diff --git a/build/win/importlibs/x86/user32.winxp.lib b/build/win/importlibs/x86/user32.winxp.lib
deleted file mode 100644
index deb5577..0000000
--- a/build/win/importlibs/x86/user32.winxp.lib
+++ /dev/null
Binary files differ
diff --git a/build/win/reorder-imports.py b/build/win/reorder-imports.py
deleted file mode 100755
index 45c4c9a..0000000
--- a/build/win/reorder-imports.py
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/usr/bin/env python3
-# Copyright 2014 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.
-
-import glob
-import optparse
-import os
-import shutil
-import subprocess
-import sys
-
-
-def reorder_imports(input_dir, output_dir, architecture):
-    """Run swapimports.exe on the initial chrome.exe, and write to the output
-  directory. Also copy over any related files that might be needed
-  (pdbs, manifests etc.).
-  """
-
-    input_image = os.path.join(input_dir, 'chrome.exe')
-    output_image = os.path.join(output_dir, 'chrome.exe')
-
-    swap_exe = os.path.join(
-        __file__,
-        '..\\..\\..\\third_party\\syzygy\\binaries\\exe\\swapimport.exe')
-
-    args = [
-        swap_exe,
-        '--input-image=%s' % input_image,
-        '--output-image=%s' % output_image, '--overwrite', '--no-logo'
-    ]
-
-    if architecture == 'x64':
-        args.append('--x64')
-
-    args.append('chrome_elf.dll')
-
-    subprocess.call(args)
-
-    for fname in glob.iglob(os.path.join(input_dir, 'chrome.exe.*')):
-        shutil.copy(fname, os.path.join(output_dir, os.path.basename(fname)))
-    return 0
-
-
-def main(argv):
-    usage = 'reorder_imports.py -i <input_dir> -o <output_dir> -a <target_arch>'
-    parser = optparse.OptionParser(usage=usage)
-    parser.add_option(
-        '-i', '--input', help='reorder chrome.exe in DIR', metavar='DIR')
-    parser.add_option(
-        '-o', '--output', help='write new chrome.exe to DIR', metavar='DIR')
-    parser.add_option(
-        '-a', '--arch', help='architecture of build (optional)', default='ia32')
-    opts, args = parser.parse_args()
-
-    if not opts.input or not opts.output:
-        parser.error('Please provide and input and output directory')
-    return reorder_imports(opts.input, opts.output, opts.arch)
-
-
-if __name__ == "__main__":
-    sys.exit(main(sys.argv[1:]))
diff --git a/build/win/use_ansi_codes.py b/build/win/use_ansi_codes.py
deleted file mode 100755
index c453c7b..0000000
--- a/build/win/use_ansi_codes.py
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/usr/bin/env python3
-# Copyright (c) 2015 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.
-"""Prints if the terminal is likely to understand ANSI codes."""
-
-import os
-
-# Add more terminals here as needed.
-print('ANSICON' in os.environ)
diff --git a/pkg/front_end/test/fasta/testing/suite.dart b/pkg/front_end/test/fasta/testing/suite.dart
index bbbcbc6b..53269b2 100644
--- a/pkg/front_end/test/fasta/testing/suite.dart
+++ b/pkg/front_end/test/fasta/testing/suite.dart
@@ -421,9 +421,7 @@
         }
       }
       steps.add(const EnsureNoErrors());
-      if (!skipVm) {
-        steps.add(const WriteDill());
-      }
+      steps.add(new WriteDill(skipVm: skipVm));
       if (semiFuzz) {
         steps.add(const FuzzCompiles());
       }
@@ -826,6 +824,11 @@
   @override
   Future<Result<ComponentResult>> run(
       ComponentResult result, FastaContext context) async {
+    Uri? outputUri = result.outputUri;
+    if (outputUri == null) {
+      return pass(result);
+    }
+
     FolderOptions folderOptions =
         context.computeFolderOptions(result.description);
     Map<ExperimentalFlag, bool> experimentalFlags = folderOptions
diff --git a/pkg/front_end/test/flutter_gallery_leak_tester.dart b/pkg/front_end/test/flutter_gallery_leak_tester.dart
index 84fe990..d7e9630 100644
--- a/pkg/front_end/test/flutter_gallery_leak_tester.dart
+++ b/pkg/front_end/test/flutter_gallery_leak_tester.dart
@@ -111,20 +111,13 @@
         ".pub-cache/hosted/pub.dartlang.org/");
     Directory pubDir = new Directory.fromUri(pubDirUri);
     if (!pubDir.existsSync()) throw "Expected to find $pubDir";
-    File galleryDotPackages = new File("$rootPath/gallery/.packages");
-    if (!galleryDotPackages.existsSync()) {
-      throw "Didn't find $galleryDotPackages";
-    }
-    String data = galleryDotPackages.readAsStringSync();
-    data = data.replaceAll(pubDirUri.toString(), "pub/");
-    galleryDotPackages.writeAsStringSync(data);
 
     File galleryPackageConfig =
         new File("$rootPath/gallery/.dart_tool/package_config.json");
     if (!galleryPackageConfig.existsSync()) {
       throw "Didn't find $galleryPackageConfig";
     }
-    data = galleryPackageConfig.readAsStringSync();
+    String data = galleryPackageConfig.readAsStringSync();
     data = data.replaceAll(pubDirUri.toString(), "../pub/");
     galleryPackageConfig.writeAsStringSync(data);
 
@@ -146,9 +139,10 @@
     print("Exit code from ln: $processExitCode");
   }
 
-  File galleryDotPackages = new File("$rootPath/gallery/.packages");
-  if (!galleryDotPackages.existsSync()) {
-    throw "Didn't find $galleryDotPackages";
+  File packageConfig =
+      new File("$rootPath/gallery/.dart_tool/package_config.json");
+  if (!packageConfig.existsSync()) {
+    throw "Didn't find $packageConfig";
   }
 
   List<helper.Interest> interests = <helper.Interest>[];
diff --git a/pkg/front_end/test/utils/kernel_chain.dart b/pkg/front_end/test/utils/kernel_chain.dart
index d526f13..3457bb1 100644
--- a/pkg/front_end/test/utils/kernel_chain.dart
+++ b/pkg/front_end/test/utils/kernel_chain.dart
@@ -4,6 +4,7 @@
 
 library fasta.testing.kernel_chain;
 
+import 'dart:async';
 import 'dart:io' show Directory, File, IOSink, Platform;
 
 import 'dart:typed_data' show Uint8List;
@@ -32,7 +33,16 @@
 import 'package:front_end/src/fasta/messages.dart'
     show DiagnosticMessageFromJson, LocatedMessage, Message;
 
-import 'package:kernel/ast.dart' show Component, Library, Reference, Source;
+import 'package:kernel/ast.dart'
+    show
+        Block,
+        Component,
+        Library,
+        Procedure,
+        Reference,
+        ReturnStatement,
+        Source,
+        Statement;
 
 import 'package:kernel/binary/ast_from_binary.dart' show BinaryBuilder;
 
@@ -423,7 +433,9 @@
 }
 
 class WriteDill extends Step<ComponentResult, ComponentResult, ChainContext> {
-  const WriteDill();
+  final bool skipVm;
+
+  const WriteDill({required this.skipVm});
 
   @override
   String get name => "write .dill";
@@ -431,29 +443,62 @@
   @override
   Future<Result<ComponentResult>> run(ComponentResult result, _) async {
     Component component = result.component;
-    Directory tmp = await Directory.systemTemp.createTemp();
-    Uri uri = tmp.uri.resolve("generated.dill");
-    File generated = new File.fromUri(uri);
-    IOSink sink = generated.openWrite();
-    result = new ComponentResult(
-        result.description,
-        result.component,
-        result.userLibraries,
-        result.compilationSetup,
-        result.sourceTarget,
-        uri);
+    Procedure? mainMethod = component.mainMethod;
+    bool writeToFile = true;
+    if (mainMethod == null) {
+      writeToFile = false;
+    } else {
+      Statement? mainBody = mainMethod.function.body;
+      if (mainBody is Block && mainBody.statements.isEmpty ||
+          mainBody is ReturnStatement && mainBody.expression == null) {
+        writeToFile = false;
+      }
+    }
+
+    Sink<List<int>> sink;
+    String writeMessage;
+    if (writeToFile && !skipVm) {
+      Directory tmp = await Directory.systemTemp.createTemp();
+      Uri uri = tmp.uri.resolve("generated.dill");
+      File generated = new File.fromUri(uri);
+      sink = generated.openWrite();
+      result = new ComponentResult(
+          result.description,
+          result.component,
+          result.userLibraries,
+          result.compilationSetup,
+          result.sourceTarget,
+          uri);
+      writeMessage = "Wrote component to `${generated.path}`";
+    } else {
+      sink = new DevNullSink();
+      writeMessage = "Wrote component to /dev/null";
+    }
     try {
+      // TODO(johnniwinther,jensj): Avoid serializing the sdk.
       new BinaryPrinter(sink).writeComponentFile(component);
     } catch (e, s) {
       return fail(result, e, s);
     } finally {
-      print("Wrote `${generated.path}`");
-      await sink.close();
+      print(writeMessage);
+      if (sink is IOSink) {
+        await sink.close();
+      } else {
+        sink.close();
+      }
     }
     return pass(result);
   }
 }
 
+class DevNullSink<T> extends Sink<T> {
+  @override
+  void add(T data) {}
+
+  @override
+  void close() {}
+}
+
 class ReadDill extends Step<Uri, Uri, ChainContext> {
   const ReadDill();
 
diff --git a/pkg/front_end/testcases/text_serialization.status b/pkg/front_end/testcases/text_serialization.status
index 09865af..889ec70 100644
--- a/pkg/front_end/testcases/text_serialization.status
+++ b/pkg/front_end/testcases/text_serialization.status
@@ -31,12 +31,10 @@
 extensions/static_access_of_instance: RuntimeError
 general/abstract_members: TypeCheckError
 general/accessors: RuntimeError
-general/ambiguous_exports: RuntimeError
 general/await_in_non_async: RuntimeError
 general/bounded_implicit_instantiation: TypeCheckError
 general/bounds_instances: TypeCheckError
 general/bug30695: TypeCheckError
-general/bug31124: RuntimeError
 general/call: RuntimeError
 general/cascade: RuntimeError
 general/constructor_initializer_invalid: RuntimeError
@@ -50,50 +48,19 @@
 general/error_locations/error_location_01: RuntimeError
 general/error_locations/error_location_02: RuntimeError
 general/error_locations/error_location_03: RuntimeError
-general/error_locations/error_location_05: RuntimeError
-general/error_locations/error_location_06: RuntimeError
-general/error_recovery/await_not_in_async: RuntimeError
-general/error_recovery/constructor_recovery_bad_name_general.crash: RuntimeError
-general/error_recovery/constructor_recovery_bad_name_get.crash: RuntimeError
-general/error_recovery/constructor_recovery_bad_name_return_type.crash: RuntimeError
-general/error_recovery/constructor_recovery_bad_name_set.crash: RuntimeError
-general/error_recovery/constructor_recovery_get: RuntimeError
-general/error_recovery/constructor_recovery_ok: RuntimeError
-general/error_recovery/constructor_recovery_operator.crash: RuntimeError
-general/error_recovery/constructor_recovery_return_type: RuntimeError
-general/error_recovery/constructor_recovery_set: RuntimeError
 general/error_recovery/empty_await_for: RuntimeError
 general/error_recovery/empty_for: RuntimeError
-general/error_recovery/issue_38415.crash: RuntimeError
-general/error_recovery/issue_39024.crash: RuntimeError
-general/error_recovery/issue_39026.crash: RuntimeError
-general/error_recovery/issue_39026_prime.crash: RuntimeError
-general/error_recovery/issue_39033.crash: RuntimeError
-general/error_recovery/issue_39033b.crash: RuntimeError
-general/error_recovery/issue_39058.crash: RuntimeError
-general/error_recovery/issue_39058_prime.crash: RuntimeError
-general/error_recovery/issue_39202.crash: RuntimeError
-general/error_recovery/issue_39230.crash: RuntimeError
-general/error_recovery/issue_39958_01: RuntimeError
-general/error_recovery/issue_39958_02: RuntimeError
-general/error_recovery/issue_39958_03: RuntimeError
-general/error_recovery/issue_39958_04: RuntimeError
 general/error_recovery/weekly_bot_91_failure: Crash
-general/error_recovery/yield_not_in_generator: RuntimeError
 general/expressions: RuntimeError
 general/getter_vs_setter_type: TypeCheckError
 general/implement_semi_stub: TypeCheckError
 general/implicit_super_call: TypeCheckError
-general/incomplete_field_formal_parameter: RuntimeError
 general/infer_field_from_multiple2: TypeCheckError
 general/infer_field_from_multiple: TypeCheckError
 general/invalid_operator: TypeCheckError
 general/invalid_operator_override: TypeCheckError
 general/invocations: TypeCheckError
 general/issue37776: RuntimeError
-general/issue38938: RuntimeError
-general/issue38944: RuntimeError
-general/issue38961: RuntimeError
 general/issue41210a: TypeCheckError
 general/issue41210b/issue41210.no_link: TypeCheckError
 general/issue41210b/issue41210: TypeCheckError
@@ -117,7 +84,6 @@
 general/redirecting_factory_invocation_in_invalid: TypeCheckError
 general/spread_collection: RuntimeError # Should be fixed as part of implementing spread collection support
 general/super_semi_stub: TypeCheckError
-general/type_parameter_type_named_int: RuntimeError
 general/type_variable_as_super: RuntimeError
 general/unsound_promotion: TypeCheckError
 general/void_methods: RuntimeError
@@ -176,32 +142,23 @@
 rasta/bad_setter_initializer: RuntimeError
 rasta/breaking_bad: RuntimeError
 rasta/class_hierarchy: RuntimeError
-rasta/class_member: RuntimeError
 rasta/constant_get_and_invoke: RuntimeError
-rasta/duplicated_mixin: RuntimeError
-rasta/export: RuntimeError
-rasta/foo: RuntimeError
 rasta/generic_factory: RuntimeError
 rasta/issue_000001: RuntimeError
 rasta/issue_000031: RuntimeError
 rasta/issue_000032: RuntimeError
 rasta/issue_000034: RuntimeError
 rasta/issue_000036: RuntimeError
-rasta/issue_000039: RuntimeError
 rasta/issue_000041: RuntimeError
 rasta/issue_000042: RuntimeError
-rasta/issue_000043: RuntimeError
 rasta/issue_000044: RuntimeError
-rasta/issue_000046: RuntimeError
 rasta/issue_000081: RuntimeError
 rasta/malformed_const_constructor: RuntimeError
 rasta/malformed_function: RuntimeError
 rasta/mixin_library: TypeCheckError
-rasta/native_is_illegal: RuntimeError
 rasta/parser_error: RuntimeError
 rasta/static: RuntimeError
 rasta/super: TypeCheckError
-rasta/super_initializer: RuntimeError
 rasta/super_mixin: TypeCheckError
 rasta/super_operator: TypeCheckError
 rasta/type_literals: RuntimeError
@@ -212,7 +169,6 @@
 rasta/unresolved_recovery: TypeCheckError
 regress/issue_29976: RuntimeError
 regress/issue_29982: RuntimeError
-regress/issue_30836: RuntimeError
 regress/issue_31180: TypeCheckError
 regress/issue_32972: RuntimeError
 regress/issue_33452: RuntimeError
@@ -223,15 +179,8 @@
 regress/issue_35259: RuntimeError
 regress/issue_35260: RuntimeError
 regress/issue_35266: RuntimeError
-regress/issue_36400: RuntimeError
-regress/issue_36647: RuntimeError
-regress/issue_36647_2: RuntimeError
-regress/issue_36669: RuntimeError
 regress/issue_37285: RuntimeError
-regress/issue_39035.crash: RuntimeError
-regress/issue_39091_1: RuntimeError
 regress/issue_39091_2: RuntimeError
-regress/utf_16_le_content.crash: RuntimeError
 runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast: RuntimeError
 set_literals/disambiguation_rule: RuntimeError
 value_class/copy_with_call_sites: RuntimeError # Expected
diff --git a/pkg/front_end/testcases/weak.status b/pkg/front_end/testcases/weak.status
index db831f6..3926219 100644
--- a/pkg/front_end/testcases/weak.status
+++ b/pkg/front_end/testcases/weak.status
@@ -121,12 +121,10 @@
 extensions/static_access_of_instance: RuntimeError
 general/abstract_members: TypeCheckError
 general/accessors: RuntimeError
-general/ambiguous_exports: RuntimeError # Expected, this file exports two main methods.
 general/await_in_non_async: RuntimeError # Expected.
 general/bounded_implicit_instantiation: TypeCheckError
 general/bounds_instances: TypeCheckError
 general/bug30695: TypeCheckError
-general/bug31124: RuntimeError # Test has no main method (and we shouldn't add one).
 general/call: RuntimeError
 general/cascade: RuntimeError
 general/constructor_initializer_invalid: RuntimeError # Fails execution after recovery
@@ -140,50 +138,19 @@
 general/error_locations/error_location_01: RuntimeError
 general/error_locations/error_location_02: RuntimeError
 general/error_locations/error_location_03: RuntimeError
-general/error_locations/error_location_05: RuntimeError
-general/error_locations/error_location_06: RuntimeError
-general/error_recovery/await_not_in_async: RuntimeError
-general/error_recovery/constructor_recovery_bad_name_general.crash: RuntimeError
-general/error_recovery/constructor_recovery_bad_name_get.crash: RuntimeError
-general/error_recovery/constructor_recovery_bad_name_return_type.crash: RuntimeError
-general/error_recovery/constructor_recovery_bad_name_set.crash: RuntimeError
-general/error_recovery/constructor_recovery_get: RuntimeError
-general/error_recovery/constructor_recovery_ok: RuntimeError
-general/error_recovery/constructor_recovery_operator.crash: RuntimeError
-general/error_recovery/constructor_recovery_return_type: RuntimeError
-general/error_recovery/constructor_recovery_set: RuntimeError
 general/error_recovery/empty_await_for: RuntimeError
 general/error_recovery/empty_for: RuntimeError
-general/error_recovery/issue_38415.crash: RuntimeError
-general/error_recovery/issue_39024.crash: RuntimeError
-general/error_recovery/issue_39026.crash: RuntimeError
-general/error_recovery/issue_39026_prime.crash: RuntimeError
-general/error_recovery/issue_39033.crash: RuntimeError
-general/error_recovery/issue_39033b.crash: RuntimeError
-general/error_recovery/issue_39058.crash: RuntimeError
-general/error_recovery/issue_39058_prime.crash: RuntimeError
-general/error_recovery/issue_39202.crash: RuntimeError
-general/error_recovery/issue_39230.crash: RuntimeError
-general/error_recovery/issue_39958_01: RuntimeError
-general/error_recovery/issue_39958_02: RuntimeError
-general/error_recovery/issue_39958_03: RuntimeError
-general/error_recovery/issue_39958_04: RuntimeError
 general/error_recovery/weekly_bot_91_failure: Crash
-general/error_recovery/yield_not_in_generator: RuntimeError
 general/expressions: RuntimeError
 general/getter_vs_setter_type: TypeCheckError
 general/implement_semi_stub: TypeCheckError
 general/implicit_super_call: TypeCheckError
-general/incomplete_field_formal_parameter: RuntimeError
 general/infer_field_from_multiple2: TypeCheckError
 general/infer_field_from_multiple: TypeCheckError
 general/invalid_operator: TypeCheckError
 general/invalid_operator_override: TypeCheckError
 general/invocations: TypeCheckError
 general/issue37776: RuntimeError
-general/issue38938: RuntimeError # no main and compile time errors.
-general/issue38944: RuntimeError # no main and compile time errors.
-general/issue38961: RuntimeError # no main and compile time errors.
 general/issue41210a: TypeCheckError
 general/issue41210b/issue41210.no_link: TypeCheckError
 general/issue41210b/issue41210: TypeCheckError
@@ -208,7 +175,6 @@
 general/redirecting_factory_invocation_in_invalid: TypeCheckError
 general/spread_collection: RuntimeError
 general/super_semi_stub: TypeCheckError
-general/type_parameter_type_named_int: RuntimeError # Expected
 general/type_variable_as_super: RuntimeError
 general/unsound_promotion: TypeCheckError
 general/void_methods: RuntimeError
@@ -266,32 +232,23 @@
 rasta/bad_setter_initializer: RuntimeError
 rasta/breaking_bad: RuntimeError
 rasta/class_hierarchy: RuntimeError
-rasta/class_member: RuntimeError
 rasta/constant_get_and_invoke: RuntimeError
-rasta/duplicated_mixin: RuntimeError # Expected, this file has no main method.
-rasta/export: RuntimeError # Expected, this file has no main method.
-rasta/foo: RuntimeError # Expected, this file has no main method.
 rasta/generic_factory: RuntimeError
 rasta/issue_000001: RuntimeError
 rasta/issue_000031: RuntimeError
 rasta/issue_000032: RuntimeError
 rasta/issue_000034: RuntimeError
 rasta/issue_000036: RuntimeError
-rasta/issue_000039: RuntimeError
 rasta/issue_000041: RuntimeError
 rasta/issue_000042: RuntimeError
-rasta/issue_000043: RuntimeError
 rasta/issue_000044: RuntimeError
-rasta/issue_000046: RuntimeError
 rasta/issue_000081: RuntimeError
 rasta/malformed_const_constructor: RuntimeError
 rasta/malformed_function: RuntimeError
 rasta/mixin_library: TypeCheckError
-rasta/native_is_illegal: RuntimeError
 rasta/parser_error: RuntimeError
 rasta/static: RuntimeError
 rasta/super: TypeCheckError
-rasta/super_initializer: RuntimeError
 rasta/super_mixin: TypeCheckError
 rasta/super_operator: TypeCheckError
 rasta/type_literals: RuntimeError
@@ -302,7 +259,6 @@
 rasta/unresolved_recovery: TypeCheckError
 regress/issue_29976: RuntimeError # Tests runtime behavior of error recovery.
 regress/issue_29982: RuntimeError # Tests runtime behavior of error recovery.
-regress/issue_30836: RuntimeError # Issue 30836.
 regress/issue_31180: TypeCheckError
 regress/issue_32972: RuntimeError
 regress/issue_33452: RuntimeError # Test has an intentional error
@@ -313,15 +269,8 @@
 regress/issue_35259: RuntimeError # Expected
 regress/issue_35260: RuntimeError # Expected
 regress/issue_35266: RuntimeError # Expected
-regress/issue_36400: RuntimeError
-regress/issue_36647: RuntimeError # Expected
-regress/issue_36647_2: RuntimeError # Expected
-regress/issue_36669: RuntimeError
 regress/issue_37285: RuntimeError
-regress/issue_39035.crash: RuntimeError
-regress/issue_39091_1: RuntimeError
 regress/issue_39091_2: RuntimeError
-regress/utf_16_le_content.crash: RuntimeError
 runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast: RuntimeError
 runtime_checks_new/mixin_forwarding_stub_getter: TypeCheckError
 set_literals/disambiguation_rule: RuntimeError
diff --git a/pkg/frontend_server/lib/frontend_server.dart b/pkg/frontend_server/lib/frontend_server.dart
index ca5700a..b2489b6 100644
--- a/pkg/frontend_server/lib/frontend_server.dart
+++ b/pkg/frontend_server/lib/frontend_server.dart
@@ -203,7 +203,12 @@
       defaultsTo: false)
   ..addFlag('print-incremental-dependencies',
       help: 'Print list of sources added and removed from compilation',
-      defaultsTo: true);
+      defaultsTo: true)
+  ..addOption('verbosity',
+      help: 'Sets the verbosity level of the compilation',
+      defaultsTo: Verbosity.defaultValue,
+      allowed: Verbosity.allowedValues,
+      allowedHelp: Verbosity.allowedValuesHelp);
 
 String usage = '''
 Usage: server [options] [input.dart]
@@ -395,26 +400,19 @@
   final List<String> errors = <String>[];
 
   _onDiagnostic(DiagnosticMessage message) {
-    // TODO(https://dartbug.com/44867): The frontend server should take a
-    // verbosity argument and put that in CompilerOptions and use it here.
-    bool printMessage;
     switch (message.severity) {
       case Severity.error:
       case Severity.internalProblem:
-        printMessage = true;
         errors.addAll(message.plainTextFormatted);
         break;
       case Severity.warning:
-        printMessage = true;
-        break;
       case Severity.info:
-        printMessage = false;
         break;
       case Severity.context:
       case Severity.ignored:
         throw 'Unexpected severity: ${message.severity}';
     }
-    if (printMessage) {
+    if (Verbosity.shouldPrint(_compilerOptions.verbosity, message)) {
       printDiagnosticMessage(message, _outputStream.writeln);
     }
   }
@@ -466,7 +464,10 @@
           parseExperimentalArguments(options['enable-experiment']),
           onError: (msg) => errors.add(msg))
       ..nnbdMode = (nullSafety == true) ? NnbdMode.Strong : NnbdMode.Weak
-      ..onDiagnostic = _onDiagnostic;
+      ..onDiagnostic = _onDiagnostic
+      ..verbosity = Verbosity.parseArgument(options['verbosity'],
+          onError: (msg) => errors.add(msg));
+    _compilerOptions = compilerOptions;
 
     if (options.wasParsed('libraries-spec')) {
       compilerOptions.librariesSpecificationUri =
@@ -554,7 +555,6 @@
       ];
     }
 
-    _compilerOptions = compilerOptions;
     _processedOptions = ProcessedOptions(options: compilerOptions);
 
     KernelCompilationResults results;
diff --git a/pkg/frontend_server/test/frontend_server_test.dart b/pkg/frontend_server/test/frontend_server_test.dart
index 46457d0..4c7fca1 100644
--- a/pkg/frontend_server/test/frontend_server_test.dart
+++ b/pkg/frontend_server/test/frontend_server_test.dart
@@ -3062,6 +3062,61 @@
         inputStreamController.close();
       }
     }, timeout: Timeout.factor(8));
+
+    test('compile with(out) warning', () async {
+      Future runTest({bool hideWarnings}) async {
+        var file = File('${tempDir.path}/foo.dart')..createSync();
+        file.writeAsStringSync("""
+main() {}
+method(int i) => i?.isEven;
+""");
+        var package_config =
+            File('${tempDir.path}/.dart_tool/package_config.json')
+              ..createSync(recursive: true)
+              ..writeAsStringSync('''
+  {
+    "configVersion": 2,
+    "packages": [
+      {
+        "name": "hello",
+        "rootUri": "../",
+        "packageUri": "./"
+      }
+    ]
+  }
+  ''');
+        var dillFile = File('${tempDir.path}/app.dill');
+
+        expect(dillFile.existsSync(), false);
+
+        final List<String> args = <String>[
+          '--sdk-root=${sdkRoot.toFilePath()}',
+          '--incremental',
+          '--platform=${ddcPlatformKernel.path}',
+          '--output-dill=${dillFile.path}',
+          '--packages=${package_config.path}',
+          '--target=dartdevc',
+          if (hideWarnings) '--verbosity=error',
+          file.path,
+        ];
+        StringBuffer output = new StringBuffer();
+        expect(await starter(args, output: output), 0);
+        String result = output.toString();
+        Matcher matcher =
+            contains("Warning: Operand of null-aware operation '?.' "
+                "has type 'int' which excludes null.");
+        if (hideWarnings) {
+          matcher = isNot(matcher);
+        }
+        expect(result, matcher);
+
+        file.deleteSync();
+        dillFile.deleteSync();
+      }
+
+      await runTest(hideWarnings: false);
+      await runTest(hideWarnings: true);
+    });
   });
 }
 
diff --git a/tools/VERSION b/tools/VERSION
index 1be6210..c7f1750 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 18
 PATCH 0
-PRERELEASE 129
+PRERELEASE 130
 PRERELEASE_PATCH 0
\ No newline at end of file