ports/www/qt5-webengine/files/patch-python3-chromium
Jason E. Hale d53807cc0e qt5-webengine: Track 5.15 branch
Since we roll our own distfile, this will make it easier to stay caught
up with backported Chromium security patches. Currently, it is patched
up to Chromium version 119.0.6045.123.

Fix build with newer devel/re2 and unbundle. Add a few patches that
reduce warnings that significantly increase build log size, some coming
as a result of having to build with c++17 now.

Add patches from Arch Linux [1] to finally remove dependency on the
long-expired Python 2.7. Special thanks to kai@ for reworking theses
patches for FreeBSD and testing them.

Obtained from:	https://gitlab.archlinux.org/archlinux/packaging/packages/qt5-webengine/ [1]
MFH:		2023Q4
Security:	6e4e8e87-9fb8-4e32-9f8e-9b4303f4bfd5
Security:	88754d55-521a-11ee-8290-a8a1599412c6
Security:	5666688f-803b-4cf0-9cb1-08c088f2225a
Security:	df0a2fd1-4c92-11ee-8290-a8a1599412c6
2023-11-19 18:26:33 -05:00

2140 lines
95 KiB
Text
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

* Convert to newer Python and remove Python2 related artifacts
Obtained from:
https://gitlab.archlinux.org/archlinux/packaging/packages/qt5-webengine/-/raw/main/qt5-webengine-chromium-python3.patch?ref_type=heads
--- src/3rdparty/chromium/BUILD.gn.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/BUILD.gn
@@ -239,7 +239,6 @@ group("gn_all") {
"//media/capture:capture_unittests",
"//media/cast:cast_unittests",
"//third_party/angle/src/tests:angle_white_box_tests",
- "//third_party/catapult/telemetry:bitmaptools($host_toolchain)",
]
} else if (is_ios && !use_qt) {
deps += [
@@ -354,7 +353,6 @@ group("gn_all") {
"//net/android:net_junit_tests",
"//services:services_junit_tests",
"//testing/android/junit:junit_unit_tests",
- "//third_party/catapult/devil",
"//third_party/smhasher:murmurhash3",
"//tools/android:android_tools",
"//tools/android:memconsumer",
@@ -959,7 +957,6 @@ if (is_chromeos) {
"//third_party/dawn/src/tests:dawn_unittests",
# Blocked on https://github.com/catapult-project/catapult/issues/2297
- #"//third_party/catapult/telemetry:bitmaptools",
"//tools/perf/clear_system_cache",
"//ui/ozone/gl:ozone_gl_unittests",
]
@@ -1037,7 +1034,6 @@ if (!is_ios && !use_qt) {
data_deps = [
"//chrome:chrome",
"//chrome/test/chromedriver",
- "//third_party/catapult/third_party/typ",
]
if (is_win) {
data_deps += [ "//build/win:copy_cdb_to_output" ]
@@ -1084,7 +1080,6 @@ if (!is_ios && !use_qt) {
"//third_party/blink/public:blink_devtools_inspector_resources",
"//third_party/blink/public/mojom:mojom_platform_js_data_deps",
"//third_party/blink/renderer/core/html:js_files_for_form_controls_web_tests",
- "//third_party/catapult/third_party/typ",
"//third_party/mesa_headers",
"//tools/imagediff",
]
@@ -1152,7 +1147,6 @@ if (!is_ios && !use_qt) {
if (is_android) {
data += [
- "//third_party/catapult/",
"//build/android/",
]
}
@@ -1259,11 +1253,6 @@ if (!is_ios && !use_qt) {
"//third_party/blink/web_tests/StaleTestExpectations",
"//third_party/blink/web_tests/TestExpectations",
"//third_party/blink/web_tests/VirtualTestSuites",
- "//third_party/catapult/common/py_utils/",
- "//third_party/catapult/devil/",
- "//third_party/catapult/dependency_manager/",
- "//third_party/catapult/third_party/zipfile/",
- "//third_party/catapult/third_party/typ/",
"//third_party/depot_tools/pylint",
"//third_party/depot_tools/pylint-1.5",
"//third_party/depot_tools/pylint_main.py",
--- src/3rdparty/chromium/build/print_python_deps.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/build/print_python_deps.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python2.7
+#!/usr/bin/python
# Copyright 2016 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.
@@ -80,7 +80,7 @@ def _GetTargetPythonVersion(module):
if shebang.startswith('#!'):
# Examples:
# '#!/usr/bin/python'
- # '#!/usr/bin/python2.7'
+ # '#!/usr/bin/python'
# '#!/usr/bin/python3'
# '#!/usr/bin/env python3'
# '#!/usr/bin/env vpython'
@@ -152,7 +152,7 @@ def main():
# Trybots run with vpython as default Python, but with a different config
# from //.vpython. To make the is_vpython test work, and to match the behavior
- # of dev machines, the shebang line must be run with python2.7.
+ # of dev machines, the shebang line must be run with python.
#
# E.g. $HOME/.vpython-root/dd50d3/bin/python
# E.g. /b/s/w/ir/cache/vpython/ab5c79/bin/python
--- src/3rdparty/chromium/chrome/chrome_paks.gni.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/chrome/chrome_paks.gni
@@ -94,7 +94,6 @@ template("chrome_extra_paks") {
"$root_gen_dir/chrome/common_resources.pak",
"$root_gen_dir/components/autofill/core/browser/autofill_address_rewriter_resources.pak",
"$root_gen_dir/components/components_resources.pak",
- "$root_gen_dir/content/browser/tracing/tracing_resources.pak",
"$root_gen_dir/content/content_resources.pak",
"$root_gen_dir/mojo/public/js/mojo_bindings_resources.pak",
"$root_gen_dir/net/net_resources.pak",
@@ -110,7 +109,6 @@ template("chrome_extra_paks") {
"//components/autofill/core/browser:autofill_address_rewriter_resources",
"//components/resources",
"//content:content_resources",
- "//content/browser/tracing:resources",
"//mojo/public/js:resources",
"//net:net_resources",
"//skia:skia_resources",
--- src/3rdparty/chromium/chrome/test/BUILD.gn.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/chrome/test/BUILD.gn
@@ -7103,8 +7103,6 @@ if (!is_fuchsia && !is_android) {
"//chrome/test/data/password/captured_sites/",
"//chrome/test/data/web_page_replay_go_helper_scripts/automation_helper.js",
"//components/test/data/autofill/web_page_replay_support_files/",
- "//third_party/catapult/telemetry/telemetry/bin/",
- "//third_party/catapult/web_page_replay_go/deterministic.js",
]
if (is_linux || is_chromeos || is_win) {
@@ -7141,7 +7139,6 @@ if (!is_fuchsia && !is_android) {
# TODO(uwyiming@chromium.org) create a gn target for Web Page Replay Go (WPR Go) and only WPR Go.
# So that test targets requiring WPR Go does not pull down the whole telemetry tool chain.
- "//third_party/catapult:telemetry_chrome_test_support",
"//third_party/hunspell",
"//third_party/icu",
"//third_party/libpng",
@@ -7171,7 +7168,6 @@ if (!is_fuchsia && !is_android) {
deps = [ "//tools/perf/chrome_telemetry_build:telemetry_chrome_test" ]
data = [
- "//third_party/catapult/telemetry/telemetry/internal/bin/",
"//tools/perf/run_telemetry_tests",
# For isolate contract.
@@ -7189,7 +7185,6 @@ if (!is_fuchsia && !is_android) {
group("telemetry_gpu_unittests") {
testonly = true
deps = [
- "//third_party/catapult:telemetry_chrome_test_support",
"//tools/metrics:metrics_python_tests",
]
data = [
@@ -7313,7 +7308,6 @@ if (is_mac || is_win || is_android) {
"//testing/scripts",
"//testing/test_env.py",
"//testing/xvfb.py",
- "//third_party/catapult",
"//tools",
]
}
--- src/3rdparty/chromium/components/resources/protobufs/binary_proto_generator.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/components/resources/protobufs/binary_proto_generator.py
@@ -7,7 +7,7 @@
Converts a given ASCII proto into a binary resource.
"""
-
+from __future__ import print_function
import abc
import imp
import optparse
@@ -196,12 +196,12 @@ class BinaryProtoGenerator:
self._ImportProtoModules(opts.path)
if not self.VerifyArgs(opts):
- print "Wrong arguments"
+ print("Wrong arguments")
return 1
try:
self._GenerateBinaryProtos(opts)
except Exception as e:
- print "ERROR: Failed to render binary version of %s:\n %s\n%s" % (
- opts.infile, str(e), traceback.format_exc())
+ print("ERROR: Failed to render binary version of %s:\n %s\n%s" %
+ (opts.infile, str(e), traceback.format_exc()))
return 1
--- src/3rdparty/chromium/content/browser/BUILD.gn.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/content/browser/BUILD.gn
@@ -2169,7 +2169,6 @@ jumbo_static_library("browser") {
if (!is_android) {
deps += [
"//components/vector_icons",
- "//content/browser/tracing:resources",
]
}
--- src/3rdparty/chromium/content/browser/tracing/BUILD.gn.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/content/browser/tracing/BUILD.gn
@@ -1,51 +0,0 @@
-# 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("//tools/grit/grit_rule.gni")
-
-# generate_about_tracing puts its files in this directory
-tracing_gen_dir = "$root_gen_dir/content/browser/tracing"
-
-# The script just writes filename with no dirs to the .grd, so we always need
-# this file to be in the same directory as the inputs.
-tracing_grd = "$tracing_gen_dir/tracing_resources.grd"
-
-action("generate_tracing_grd") {
- visibility = [ ":*" ] # Depend on ":resources" to get this.
- script = "generate_trace_viewer_grd.py"
-
- input_pages = [
- "$tracing_gen_dir/about_tracing.html",
- "$tracing_gen_dir/about_tracing.js",
- ]
- inputs = input_pages
- outputs = [ tracing_grd ]
-
- args = rebase_path(input_pages, target_gen_dir) + [
- "--output",
- rebase_path(tracing_grd, root_build_dir),
- ]
-
- deps = [ "//third_party/catapult/tracing:generate_about_tracing" ]
-}
-
-grit("resources") {
- source = tracing_grd
-
- # Required because the .grd is generated.
- enable_input_discovery_for_gn_analyze = false
-
- outputs = [
- "grit/tracing_resources.h",
- "tracing_resources.pak",
- ]
-
- # resource_ids has an entry for our .grd file that looks like:
- # "<(SHARED_INTERMEDIATE_DIR)/content/browser/tracing/tracing_resources.grd"
- # and what we pass here should make that resolve to our .grd file.
- defines =
- [ "SHARED_INTERMEDIATE_DIR=" + rebase_path(root_gen_dir, root_build_dir) ]
-
- deps = [ ":generate_tracing_grd" ]
-}
--- src/3rdparty/chromium/content/browser/tracing/generate_trace_viewer_grd.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/content/browser/tracing/generate_trace_viewer_grd.py
@@ -74,7 +74,7 @@ def main(argv):
for filename in parsed_args.source_files:
add_file_to_grd(doc, os.path.basename(filename))
- with open(parsed_args.output_filename, 'w') as output_file:
+ with open(parsed_args.output_filename, 'wb') as output_file:
output_file.write(doc.toxml(encoding='UTF-8'))
--- src/3rdparty/chromium/content/browser/tracing/tracing_ui.cc.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/content/browser/tracing/tracing_ui.cc
@@ -27,7 +27,6 @@
#include "base/strings/stringprintf.h"
#include "base/trace_event/trace_event.h"
#include "base/values.h"
-#include "content/browser/tracing/grit/tracing_resources.h"
#include "content/browser/tracing/tracing_controller_impl.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_thread.h"
@@ -242,8 +241,6 @@ TracingUI::TracingUI(WebUI* web_ui)
WebUIDataSource* source = WebUIDataSource::Create(kChromeUITracingHost);
source->DisableTrustedTypesCSP();
source->UseStringsJs();
- source->SetDefaultResource(IDR_TRACING_HTML);
- source->AddResourcePath("tracing.js", IDR_TRACING_JS);
source->SetRequestFilter(base::BindRepeating(OnShouldHandleRequest),
base::BindRepeating(OnTracingRequest));
WebUIDataSource::Add(browser_context, source);
--- src/3rdparty/chromium/content/shell/BUILD.gn.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/content/shell/BUILD.gn
@@ -390,7 +390,6 @@ repack("pak") {
sources = [
"$root_gen_dir/content/app/resources/content_resources_100_percent.pak",
"$root_gen_dir/content/browser/resources/media/media_internals_resources.pak",
- "$root_gen_dir/content/browser/tracing/tracing_resources.pak",
"$root_gen_dir/content/browser/webrtc/resources/webrtc_internals_resources.pak",
"$root_gen_dir/content/content_resources.pak",
"$root_gen_dir/content/dev_ui_content_resources.pak",
@@ -413,7 +412,6 @@ repack("pak") {
"//content:dev_ui_content_resources",
"//content/app/resources",
"//content/browser/resources/media:media_internals_resources",
- "//content/browser/tracing:resources",
"//content/browser/webrtc/resources",
"//mojo/public/js:resources",
"//net:net_resources",
--- src/3rdparty/chromium/fuchsia/engine/BUILD.gn.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/fuchsia/engine/BUILD.gn
@@ -43,7 +43,6 @@ repack("web_engine_pak") {
"$root_gen_dir/components/components_resources.pak",
"$root_gen_dir/components/strings/components_strings_en-US.pak",
"$root_gen_dir/content/app/resources/content_resources_100_percent.pak",
- "$root_gen_dir/content/browser/tracing/tracing_resources.pak",
"$root_gen_dir/content/content_resources.pak",
"$root_gen_dir/content/dev_ui_content_resources.pak",
"$root_gen_dir/mojo/public/js/mojo_bindings_resources.pak",
@@ -66,7 +65,6 @@ repack("web_engine_pak") {
"//content:content_resources",
"//content:dev_ui_content_resources",
"//content/app/resources",
- "//content/browser/tracing:resources",
"//gpu/command_buffer/service",
"//mojo/public/js:resources",
"//net:net_resources",
--- src/3rdparty/chromium/headless/BUILD.gn.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/headless/BUILD.gn
@@ -37,7 +37,6 @@ repack("pak") {
"$root_gen_dir/components/components_resources.pak",
"$root_gen_dir/components/strings/components_strings_en-US.pak",
"$root_gen_dir/content/app/resources/content_resources_100_percent.pak",
- "$root_gen_dir/content/browser/tracing/tracing_resources.pak",
"$root_gen_dir/content/content_resources.pak",
"$root_gen_dir/content/dev_ui_content_resources.pak",
"$root_gen_dir/headless/headless_lib_resources.pak",
@@ -65,7 +64,6 @@ repack("pak") {
"//content:content_resources",
"//content:dev_ui_content_resources",
"//content/app/resources",
- "//content/browser/tracing:resources",
"//mojo/public/js:resources",
"//net:net_resources",
"//third_party/blink/public:resources",
--- src/3rdparty/chromium/mojo/public/tools/BUILD.gn.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/mojo/public/tools/BUILD.gn
@@ -14,5 +14,4 @@ group("mojo_python_unittests") {
"//testing/xvfb.py",
]
deps = [ "//mojo/public/tools/mojom/mojom:tests" ]
- data_deps = [ "//third_party/catapult/third_party/typ/" ]
}
--- src/3rdparty/chromium/mojo/public/tools/bindings/BUILD.gn.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/mojo/public/tools/bindings/BUILD.gn
@@ -2,9 +2,11 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+import("//build/config/python.gni")
import("//mojo/public/tools/bindings/mojom.gni")
import("//third_party/jinja2/jinja2.gni")
+# TODO(crbug.com/1194274): Investigate nondeterminism in Py3 builds.
action("precompile_templates") {
sources = mojom_generator_sources
sources += [
--- src/3rdparty/chromium/mojo/public/tools/bindings/gen_data_files_list.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/mojo/public/tools/bindings/gen_data_files_list.py
@@ -18,7 +18,6 @@ import sys
import re
import sys
-from cStringIO import StringIO
from optparse import OptionParser
sys.path.insert(
@@ -41,12 +40,9 @@ def main():
pattern = re.compile(options.pattern)
files = [f for f in os.listdir(options.directory) if pattern.match(f)]
- stream = StringIO()
- for f in files:
- print(f, file=stream)
+ contents = '\n'.join(f for f in files) + '\n'
+ WriteFile(contents, options.output)
- WriteFile(stream.getvalue(), options.output)
- stream.close()
if __name__ == '__main__':
sys.exit(main())
--- src/3rdparty/chromium/mojo/public/tools/bindings/generators/mojom_java_generator.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/mojo/public/tools/bindings/generators/mojom_java_generator.py
@@ -25,6 +25,10 @@ from util import build_utils
'build', 'android', 'gyp'))
from util import build_utils
+# TODO(crbug.com/1174969): Remove this once Python2 is obsoleted.
+if sys.version_info.major != 2:
+ basestring = str
+ long = int
GENERATOR_PREFIX = 'java'
--- src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/generator.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/generator.py
@@ -136,9 +136,14 @@ def WriteFile(contents, full_path):
def WriteFile(contents, full_path):
# If |contents| is same with the file content, we skip updating.
+ if not isinstance(contents, bytes):
+ data = contents.encode('utf8')
+ else:
+ data = contents
+
if os.path.isfile(full_path):
with open(full_path, 'rb') as destination_file:
- if destination_file.read() == contents:
+ if destination_file.read() == data:
return
# Make sure the containing directory exists.
@@ -146,11 +151,8 @@ def WriteFile(contents, full_path):
fileutil.EnsureDirectoryExists(full_dir)
# Dump the data to disk.
- with open(full_path, "wb") as f:
- if not isinstance(contents, bytes):
- f.write(contents.encode('utf-8'))
- else:
- f.write(contents)
+ with open(full_path, 'wb') as f:
+ f.write(data)
def AddComputedData(module):
--- src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/module.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/module.py
@@ -398,7 +398,8 @@ class StructField(Field):
class StructField(Field):
- pass
+ def __hash__(self):
+ return super(Field, self).__hash__()
class UnionField(Field):
--- src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/template_expander.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/template_expander.py
@@ -75,9 +75,9 @@ def PrecompileTemplates(generator_modules, output_dir)
os.path.dirname(module.__file__), generator.GetTemplatePrefix())
]))
jinja_env.filters.update(generator.GetFilters())
- jinja_env.compile_templates(
- os.path.join(output_dir, "%s.zip" % generator.GetTemplatePrefix()),
- extensions=["tmpl"],
- zip="stored",
- py_compile=True,
- ignore_errors=False)
+ jinja_env.compile_templates(os.path.join(
+ output_dir, "%s.zip" % generator.GetTemplatePrefix()),
+ extensions=["tmpl"],
+ zip="stored",
+ py_compile=sys.version_info.major < 3,
+ ignore_errors=False)
--- src/3rdparty/chromium/testing/BUILD.gn.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/testing/BUILD.gn
@@ -27,7 +27,6 @@ group("run_perf_test") {
data_deps = [
":test_scripts_shared",
- "//third_party/catapult/tracing:convert_chart_json",
]
if (is_android) {
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/blink_v8_bridge.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/blink_v8_bridge.py
@@ -344,7 +344,7 @@ def make_default_value_expr(idl_type, default_value):
"""
assert default_value.is_type_compatible_with(idl_type)
- class DefaultValueExpr:
+ class DefaultValueExpr(object):
_ALLOWED_SYMBOLS_IN_DEPS = ("isolate")
def __init__(self, initializer_expr, initializer_deps,
@@ -502,7 +502,7 @@ def make_v8_to_blink_value(blink_var_name,
assert isinstance(blink_var_name, str)
assert isinstance(v8_value_expr, str)
assert isinstance(idl_type, web_idl.IdlType)
- assert (argument_index is None or isinstance(argument_index, (int, long)))
+ assert (argument_index is None or isinstance(argument_index, int))
assert (default_value is None
or isinstance(default_value, web_idl.LiteralConstant))
@@ -622,7 +622,7 @@ def make_v8_to_blink_value_variadic(blink_var_name, v8
"""
assert isinstance(blink_var_name, str)
assert isinstance(v8_array, str)
- assert isinstance(v8_array_start_index, (int, long))
+ assert isinstance(v8_array_start_index, int)
assert isinstance(idl_type, web_idl.IdlType)
pattern = ("auto&& ${{{_1}}} = "
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/callback_interface.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/callback_interface.py
@@ -177,7 +177,7 @@ def generate_callback_interface(callback_interface_ide
prop_install_mode=PropInstallMode.UNCONDITIONAL,
trampoline_var_name=None,
attribute_entries=[],
- constant_entries=filter(is_unconditional, constant_entries),
+ constant_entries=list(filter(is_unconditional, constant_entries)),
exposed_construct_entries=[],
operation_entries=[])
(install_interface_template_decl, install_interface_template_def,
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/code_node.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/code_node.py
@@ -503,13 +503,13 @@ class CompositeNode(CodeNode):
gensym_kwargs = {}
template_vars = {}
for arg in args:
- assert isinstance(arg, (CodeNode, int, long, str))
+ assert isinstance(arg, (CodeNode, int, str))
gensym = CodeNode.gensym()
gensym_args.append("${{{}}}".format(gensym))
template_vars[gensym] = arg
for key, value in kwargs.items():
- assert isinstance(key, (int, long, str))
- assert isinstance(value, (CodeNode, int, long, str))
+ assert isinstance(key, (int, str))
+ assert isinstance(value, (CodeNode, int, str))
gensym = CodeNode.gensym()
gensym_kwargs[key] = "${{{}}}".format(gensym)
template_vars[gensym] = value
@@ -602,7 +602,7 @@ class ListNode(CodeNode):
def insert(self, index, node):
if node is None:
return
- assert isinstance(index, (int, long))
+ assert isinstance(index, int)
assert isinstance(node, CodeNode)
assert node.outer is None and node.prev is None
@@ -721,7 +721,7 @@ class SymbolScopeNode(SequenceNode):
if not scope_chains:
return counts
- self_index = iter(scope_chains).next().index(self)
+ self_index = next(iter(scope_chains)).index(self)
scope_chains = map(
lambda scope_chain: scope_chain[self_index + 1:], scope_chains)
scope_to_likeliness = {}
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_expr.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_expr.py
@@ -109,7 +109,7 @@ def expr_and(terms):
if any(term.is_always_false for term in terms):
return _Expr(False)
- terms = filter(lambda x: not x.is_always_true, terms)
+ terms = list(filter(lambda x: not x.is_always_true, terms))
if not terms:
return _Expr(True)
if len(terms) == 1:
@@ -124,7 +124,7 @@ def expr_or(terms):
if any(term.is_always_true for term in terms):
return _Expr(True)
- terms = filter(lambda x: not x.is_always_false, terms)
+ terms = list(filter(lambda x: not x.is_always_false, terms))
if not terms:
return _Expr(False)
if len(terms) == 1:
@@ -222,7 +222,7 @@ def expr_from_exposure(exposure,
elif exposure.only_in_secure_contexts is False:
secure_context_term = _Expr(True)
else:
- terms = map(ref_enabled, exposure.only_in_secure_contexts)
+ terms = list(map(ref_enabled, exposure.only_in_secure_contexts))
secure_context_term = expr_or(
[_Expr("${is_in_secure_context}"),
expr_not(expr_and(terms))])
@@ -275,10 +275,11 @@ def expr_from_exposure(exposure,
# [ContextEnabled]
if exposure.context_enabled_features:
- terms = map(
- lambda feature: _Expr(
- "${{context_feature_settings}}->is{}Enabled()".format(
- feature)), exposure.context_enabled_features)
+ terms = list(
+ map(
+ lambda feature: _Expr(
+ "${{context_feature_settings}}->is{}Enabled()".format(
+ feature)), exposure.context_enabled_features))
context_enabled_terms.append(
expr_and([_Expr("${context_feature_settings}"),
expr_or(terms)]))
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_format.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_format.py
@@ -23,7 +23,7 @@ class _TemplateFormatter(string.Formatter):
self._template_formatter_indexing_count_ = 0
def get_value(self, key, args, kwargs):
- if isinstance(key, (int, long)):
+ if isinstance(key, int):
return args[key]
assert isinstance(key, str)
if not key:
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py
@@ -116,4 +116,4 @@ def write_code_node_to_file(code_node, filepath):
# stderr=format_result.error_message))
#
# web_idl.file_io.write_to_file_if_changed(filepath, format_result.contents)
- web_idl.file_io.write_to_file_if_changed(filepath, rendered_text)
+ web_idl.file_io.write_to_file_if_changed(filepath, rendered_text.encode('utf-8'))
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/dictionary.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/dictionary.py
@@ -993,7 +993,7 @@ def make_dict_trace_func(cg_context):
_2 = _blink_member_name(member).value_var
return TextNode(_format(pattern, _1=_1, _2=_2))
- body.extend(map(make_trace_member_node, own_members))
+ body.extend(list(map(make_trace_member_node, own_members)))
body.append(TextNode("BaseClass::Trace(visitor);"))
return func_decl, func_def
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/interface.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/interface.py
@@ -582,7 +582,7 @@ def _make_blink_api_call(code_node,
overriding_args=None):
assert isinstance(code_node, SymbolScopeNode)
assert isinstance(cg_context, CodeGenContext)
- assert num_of_args is None or isinstance(num_of_args, (int, long))
+ assert num_of_args is None or isinstance(num_of_args, int)
assert (overriding_args is None
or (isinstance(overriding_args, (list, tuple))
and all(isinstance(arg, str) for arg in overriding_args)))
@@ -1196,8 +1196,10 @@ def make_overload_dispatcher(cg_context):
did_use_break = did_use_break or can_fail
conditional = expr_or(
- map(lambda item: expr_from_exposure(item.function_like.exposure),
- items))
+ list(
+ map(
+ lambda item: expr_from_exposure(item.function_like.exposure
+ ), items)))
if not conditional.is_always_true:
node = CxxUnlikelyIfNode(cond=conditional, body=node)
@@ -4642,7 +4644,7 @@ class _PropEntryConstructorGroup(_PropEntryBase):
def __init__(self, is_context_dependent, exposure_conditional, world,
constructor_group, ctor_callback_name, ctor_func_length):
assert isinstance(ctor_callback_name, str)
- assert isinstance(ctor_func_length, (int, long))
+ assert isinstance(ctor_func_length, int)
_PropEntryBase.__init__(self, is_context_dependent,
exposure_conditional, world, constructor_group)
@@ -4670,7 +4672,7 @@ class _PropEntryOperationGroup(_PropEntryBase):
op_func_length,
no_alloc_direct_callback_name=None):
assert isinstance(op_callback_name, str)
- assert isinstance(op_func_length, (int, long))
+ assert isinstance(op_func_length, int)
_PropEntryBase.__init__(self, is_context_dependent,
exposure_conditional, world, operation_group)
@@ -5175,9 +5177,9 @@ def make_install_interface_template(cg_context, functi
])
if class_like.identifier == "CSSStyleDeclaration":
- css_properties = filter(
- lambda attr: "CSSProperty" in attr.extended_attributes,
- class_like.attributes)
+ css_properties = list(
+ filter(lambda attr: "CSSProperty" in attr.extended_attributes,
+ class_like.attributes))
if css_properties:
prop_name_list = "".join(
map(lambda attr: "\"{}\", ".format(attr.identifier),
@@ -5567,8 +5569,8 @@ ${instance_object} = ${v8_context}->Global()->GetProto
"V8DOMConfiguration::InstallConstants(${isolate}, "
"${interface_template}, ${prototype_template}, "
"kConstantCallbackTable, base::size(kConstantCallbackTable));")
- constant_callback_entries = filter(lambda entry: entry.const_callback_name,
- constant_entries)
+ constant_callback_entries = list(filter(lambda entry: entry.const_callback_name,
+ constant_entries))
install_properties(table_name, constant_callback_entries,
_make_constant_callback_registration_table,
installer_call_text)
@@ -5584,8 +5586,8 @@ ${instance_object} = ${v8_context}->Global()->GetProto
"V8DOMConfiguration::InstallConstants(${isolate}, "
"${interface_template}, ${prototype_template}, "
"kConstantValueTable, base::size(kConstantValueTable));")
- constant_value_entries = filter(
- lambda entry: not entry.const_callback_name, constant_entries)
+ constant_value_entries = list(filter(
+ lambda entry: not entry.const_callback_name, constant_entries))
install_properties(table_name, constant_value_entries,
_make_constant_value_registration_table,
installer_call_text)
@@ -6336,8 +6338,8 @@ def make_v8_context_snapshot_api(cg_context, component
assert isinstance(component, web_idl.Component)
derived_interfaces = cg_context.interface.deriveds
- derived_names = map(lambda interface: interface.identifier,
- derived_interfaces)
+ derived_names = list(
+ map(lambda interface: interface.identifier, derived_interfaces))
derived_names.append(cg_context.interface.identifier)
if not ("Window" in derived_names or "HTMLDocument" in derived_names):
return None, None
@@ -6411,9 +6413,11 @@ def _make_v8_context_snapshot_get_reference_table_func
collect_callbacks(named_properties_object_callback_defs)
collect_callbacks(cross_origin_property_callback_defs)
- entry_nodes = map(
- lambda name: TextNode("reinterpret_cast<intptr_t>({}),".format(name)),
- filter(None, callback_names))
+ entry_nodes = list(
+ map(
+ lambda name: TextNode("reinterpret_cast<intptr_t>({}),".format(name
+ )),
+ filter(None, callback_names)))
table_node = ListNode([
TextNode("using namespace ${class_name}Callbacks;"),
TextNode("static const intptr_t kReferenceTable[] = {"),
@@ -6451,10 +6455,11 @@ def _make_v8_context_snapshot_install_props_per_contex
class_name=None,
prop_install_mode=PropInstallMode.V8_CONTEXT_SNAPSHOT,
trampoline_var_name=None,
- attribute_entries=filter(selector, attribute_entries),
- constant_entries=filter(selector, constant_entries),
- exposed_construct_entries=filter(selector, exposed_construct_entries),
- operation_entries=filter(selector, operation_entries))
+ attribute_entries=list(filter(selector, attribute_entries)),
+ constant_entries=list(filter(selector, constant_entries)),
+ exposed_construct_entries=list(
+ filter(selector, exposed_construct_entries)),
+ operation_entries=list(filter(selector, operation_entries)))
return func_decl, func_def
@@ -6810,11 +6815,11 @@ def generate_interface(interface_identifier):
class_name=impl_class_name,
prop_install_mode=PropInstallMode.UNCONDITIONAL,
trampoline_var_name=tp_install_unconditional_props,
- attribute_entries=filter(is_unconditional, attribute_entries),
- constant_entries=filter(is_unconditional, constant_entries),
- exposed_construct_entries=filter(is_unconditional,
- exposed_construct_entries),
- operation_entries=filter(is_unconditional, operation_entries))
+ attribute_entries=list(filter(is_unconditional, attribute_entries)),
+ constant_entries=list(filter(is_unconditional, constant_entries)),
+ exposed_construct_entries=list(
+ filter(is_unconditional, exposed_construct_entries)),
+ operation_entries=list(filter(is_unconditional, operation_entries)))
(install_context_independent_props_decl,
install_context_independent_props_def,
install_context_independent_props_trampoline) = make_install_properties(
@@ -6823,11 +6828,14 @@ def generate_interface(interface_identifier):
class_name=impl_class_name,
prop_install_mode=PropInstallMode.CONTEXT_INDEPENDENT,
trampoline_var_name=tp_install_context_independent_props,
- attribute_entries=filter(is_context_independent, attribute_entries),
- constant_entries=filter(is_context_independent, constant_entries),
- exposed_construct_entries=filter(is_context_independent,
- exposed_construct_entries),
- operation_entries=filter(is_context_independent, operation_entries))
+ attribute_entries=list(
+ filter(is_context_independent, attribute_entries)),
+ constant_entries=list(filter(is_context_independent,
+ constant_entries)),
+ exposed_construct_entries=list(
+ filter(is_context_independent, exposed_construct_entries)),
+ operation_entries=list(
+ filter(is_context_independent, operation_entries)))
(install_context_dependent_props_decl, install_context_dependent_props_def,
install_context_dependent_props_trampoline) = make_install_properties(
cg_context,
@@ -6835,11 +6843,13 @@ def generate_interface(interface_identifier):
class_name=impl_class_name,
prop_install_mode=PropInstallMode.CONTEXT_DEPENDENT,
trampoline_var_name=tp_install_context_dependent_props,
- attribute_entries=filter(is_context_dependent, attribute_entries),
- constant_entries=filter(is_context_dependent, constant_entries),
- exposed_construct_entries=filter(is_context_dependent,
- exposed_construct_entries),
- operation_entries=filter(is_context_dependent, operation_entries))
+ attribute_entries=list(filter(is_context_dependent,
+ attribute_entries)),
+ constant_entries=list(filter(is_context_dependent, constant_entries)),
+ exposed_construct_entries=list(
+ filter(is_context_dependent, exposed_construct_entries)),
+ operation_entries=list(filter(is_context_dependent,
+ operation_entries)))
(install_interface_template_decl, install_interface_template_def,
install_interface_template_trampoline) = make_install_interface_template(
cg_context,
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/mako_renderer.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/mako_renderer.py
@@ -105,7 +105,7 @@ class MakoRenderer(object):
on_error = self._caller_stack_on_error
if (len(current) <= len(on_error)
and all(current[i] == on_error[i]
- for i in xrange(len(current)))):
+ for i in range(len(current)))):
pass # Error happened in a deeper caller.
else:
self._caller_stack_on_error = list(self._caller_stack)
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py
@@ -70,8 +70,13 @@ def _invoke_format_command(command_line, filename, con
def _invoke_format_command(command_line, filename, contents):
- proc = subprocess.Popen(
- command_line, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
+ kwargs = {}
+ if sys.version_info.major != 2:
+ kwargs['encoding'] = 'utf-8'
+ proc = subprocess.Popen(command_line,
+ stdin=subprocess.PIPE,
+ stdout=subprocess.PIPE,
+ **kwargs)
stdout_output, stderr_output = proc.communicate(input=contents)
exit_code = proc.wait()
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/task_queue.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/task_queue.py
@@ -2,6 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+import functools
import multiprocessing
from .package_initializer import package_initializer
@@ -76,7 +77,7 @@ class TaskQueue(object):
if not report_progress:
return
- done_count = reduce(
+ done_count = functools.reduce(
lambda count, worker_task: count + bool(worker_task.ready()),
self._worker_tasks, 0)
report_progress(len(self._worker_tasks), done_count)
@@ -85,4 +86,4 @@ def _task_queue_run_tasks(tasks):
def _task_queue_run_tasks(tasks):
for task in tasks:
func, args, kwargs = task
- apply(func, args, kwargs)
+ func(*args, **kwargs)
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/code_generator.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/code_generator.py
@@ -13,6 +13,7 @@ from idl_types import set_ancestors, IdlType
import sys
from idl_types import set_ancestors, IdlType
+from itertools import groupby
from v8_globals import includes
from v8_interface import constant_filters
from v8_types import set_component_dirs
@@ -43,6 +44,7 @@ import jinja2
# after path[0] == invoking script dir
sys.path.insert(1, THIRD_PARTY_DIR)
import jinja2
+from jinja2.filters import make_attrgetter, environmentfilter
def generate_indented_conditional(code, conditional):
@@ -88,6 +90,13 @@ def runtime_enabled_if(code, name):
return generate_indented_conditional(code, function)
+@environmentfilter
+def do_stringify_key_group_by(environment, value, attribute):
+ expr = make_attrgetter(environment, attribute)
+ key = lambda item: '' if expr(item) is None else str(expr(item))
+ return groupby(sorted(value, key=key), expr)
+
+
def initialize_jinja_env(cache_dir):
jinja_env = jinja2.Environment(
loader=jinja2.FileSystemLoader(TEMPLATES_DIR),
@@ -117,6 +126,7 @@ def initialize_jinja_env(cache_dir):
})
jinja_env.filters.update(constant_filters())
jinja_env.filters.update(method_filters())
+ jinja_env.filters["stringifykeygroupby"] = do_stringify_key_group_by
return jinja_env
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/generate_origin_trial_features.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/generate_origin_trial_features.py
@@ -80,7 +80,7 @@ def read_idl_file(reader, idl_filename):
assert len(interfaces) == 1, (
"Expected one interface in file %r, found %d" %
(idl_filename, len(interfaces)))
- return (interfaces.values()[0], includes)
+ return (list(interfaces.values())[0], includes)
def interface_is_global(interface):
@@ -281,7 +281,7 @@ def main():
info_provider = create_component_info_provider(
os.path.normpath(options.info_dir), options.target_component)
- idl_filenames = map(str.strip, open(options.idl_files_list))
+ idl_filenames = list(map(str.strip, open(options.idl_files_list)))
generate_origin_trial_features(info_provider, options, idl_filenames)
return 0
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/idl_definitions.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/idl_definitions.py
@@ -394,7 +394,8 @@ class IdlInterface(object):
else:
raise ValueError('Unrecognized node class: %s' % child_class)
- if len(filter(None, [self.iterable, self.maplike, self.setlike])) > 1:
+ if len(list(filter(None,
+ [self.iterable, self.maplike, self.setlike]))) > 1:
raise ValueError(
'Interface can only have one of iterable<>, maplike<> and setlike<>.'
)
@@ -512,7 +513,10 @@ class IdlAttribute(TypedObject):
def accept(self, visitor):
visitor.visit_attribute(self)
+ def __lt__(self, other):
+ return self.name < other.name
+
################################################################################
# Constants
################################################################################
@@ -852,7 +856,7 @@ class IdlIncludes(object):
################################################################################
-class Exposure:
+class Exposure(object):
"""An Exposure holds one Exposed or RuntimeEnabled condition.
Each exposure has two properties: exposed and runtime_enabled.
Exposure(e, r) corresponds to [Exposed(e r)]. Exposure(e) corresponds to
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/idl_reader.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/idl_reader.py
@@ -55,8 +55,8 @@ def validate_blink_idl_definitions(idl_filename, idl_f
definitions. There is no filename convention in this case.
- Otherwise, an IDL file is invalid.
"""
- targets = (
- definitions.interfaces.values() + definitions.dictionaries.values())
+ targets = (list(definitions.interfaces.values()) +
+ list(definitions.dictionaries.values()))
number_of_targets = len(targets)
if number_of_targets > 1:
raise Exception(
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/idl_types.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/idl_types.py
@@ -349,7 +349,7 @@ class IdlUnionType(IdlTypeBase):
return True
def single_matching_member_type(self, predicate):
- matching_types = filter(predicate, self.flattened_member_types)
+ matching_types = list(filter(predicate, self.flattened_member_types))
if len(matching_types) > 1:
raise ValueError('%s is ambiguous.' % self.name)
return matching_types[0] if matching_types else None
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/utilities.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/utilities.py
@@ -196,8 +196,9 @@ class ComponentInfoProviderModules(ComponentInfoProvid
@property
def callback_functions(self):
- return dict(self._component_info_core['callback_functions'].items() +
- self._component_info_modules['callback_functions'].items())
+ return dict(
+ list(self._component_info_core['callback_functions'].items()) +
+ list(self._component_info_modules['callback_functions'].items()))
@property
def specifier_for_export(self):
@@ -209,8 +210,8 @@ def load_interfaces_info_overall_pickle(info_dir):
def load_interfaces_info_overall_pickle(info_dir):
- with open(os.path.join(info_dir,
- 'interfaces_info.pickle')) as interface_info_file:
+ with open(os.path.join(info_dir, 'interfaces_info.pickle'),
+ mode='rb') as interface_info_file:
return pickle.load(interface_info_file)
@@ -236,23 +237,20 @@ def create_component_info_provider_core(info_dir):
def create_component_info_provider_core(info_dir):
interfaces_info = load_interfaces_info_overall_pickle(info_dir)
- with open(
- os.path.join(info_dir, 'core',
- 'component_info_core.pickle')) as component_info_file:
+ with open(os.path.join(info_dir, 'core', 'component_info_core.pickle'),
+ mode='rb') as component_info_file:
component_info = pickle.load(component_info_file)
return ComponentInfoProviderCore(interfaces_info, component_info)
def create_component_info_provider_modules(info_dir):
interfaces_info = load_interfaces_info_overall_pickle(info_dir)
- with open(
- os.path.join(info_dir, 'core',
- 'component_info_core.pickle')) as component_info_file:
+ with open(os.path.join(info_dir, 'core', 'component_info_core.pickle'),
+ mode='rb') as component_info_file:
component_info_core = pickle.load(component_info_file)
- with open(
- os.path.join(
- info_dir, 'modules',
- 'component_info_modules.pickle')) as component_info_file:
+ with open(os.path.join(info_dir, 'modules',
+ 'component_info_modules.pickle'),
+ mode='rb') as component_info_file:
component_info_modules = pickle.load(component_info_file)
return ComponentInfoProviderModules(interfaces_info, component_info_core,
component_info_modules)
@@ -356,7 +354,7 @@ def write_pickle_file(pickle_filename, data):
pickle_filename = abs(pickle_filename)
# If |data| is same with the file content, we skip updating.
if os.path.isfile(pickle_filename):
- with open(pickle_filename) as pickle_file:
+ with open(pickle_filename, 'rb') as pickle_file:
try:
if pickle.load(pickle_file) == data:
return
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/v8_interface.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/v8_interface.py
@@ -189,7 +189,7 @@ def context_enabled_features(attributes):
return sorted([
member for member in members
if member.get(KEY) and not member.get('exposed_test')
- ])
+ ], key=lambda item: item['name'])
def member_filter_by_name(members, name):
return [member for member in members if member[KEY] == name]
@@ -612,7 +612,8 @@ def interface_context(interface, interfaces, component
sorted(
origin_trial_features(interface, context['constants'],
context['attributes'], context['methods']) +
- context_enabled_features(context['attributes'])),
+ context_enabled_features(context['attributes']),
+ key=lambda item: item['name']),
})
if context['optional_features']:
includes.add('platform/bindings/v8_per_context_data.h')
@@ -1356,9 +1357,9 @@ def resolution_tests_methods(effective_overloads):
# Extract argument and IDL type to simplify accessing these in each loop.
arguments = [method['arguments'][index] for method in methods]
- arguments_methods = zip(arguments, methods)
+ arguments_methods = list(zip(arguments, methods))
idl_types = [argument['idl_type_object'] for argument in arguments]
- idl_types_methods = zip(idl_types, methods)
+ idl_types_methods = list(zip(idl_types, methods))
# We cant do a single loop through all methods or simply sort them, because
# a method may be listed in multiple steps of the resolution algorithm, and
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/v8_methods.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/v8_methods.py
@@ -46,6 +46,10 @@ from v8_utilities import (has_extended_attribute_value
import v8_utilities
from v8_utilities import (has_extended_attribute_value, is_unforgeable)
+# TODO: Remove this once Python2 is obsoleted.
+if sys.version_info.major != 2:
+ basestring = str
+
def method_is_visible(method, interface_is_partial):
if 'overloads' in method:
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/v8_utilities.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/v8_utilities.py
@@ -271,7 +271,7 @@ EXPOSED_WORKERS = set([
])
-class ExposureSet:
+class ExposureSet(object):
"""An ExposureSet is a collection of Exposure instructions."""
def __init__(self, exposures=None):
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/callback_interface.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/callback_interface.py
@@ -91,11 +91,13 @@ class CallbackInterface(UserDefinedType, WithExtendedA
for operation_ir in ir.operations
])
self._operation_groups = tuple([
- OperationGroup(
- operation_group_ir,
- filter(lambda x: x.identifier == operation_group_ir.identifier,
- self._operations),
- owner=self) for operation_group_ir in ir.operation_groups
+ OperationGroup(operation_group_ir,
+ list(
+ filter(
+ lambda x: x.identifier == operation_group_ir
+ .identifier, self._operations)),
+ owner=self)
+ for operation_group_ir in ir.operation_groups
])
@property
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/database.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/database.py
@@ -156,4 +156,4 @@ class Database(object):
return self._view_by_kind(Database._Kind.UNION)
def _view_by_kind(self, kind):
- return self._impl.find_by_kind(kind).values()
+ return list(self._impl.find_by_kind(kind).values())
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/exposure.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/exposure.py
@@ -8,8 +8,11 @@ class _Feature(str):
class _Feature(str):
"""Represents a runtime-enabled feature."""
+ def __new__(cls, value):
+ return str.__new__(cls, value)
+
def __init__(self, value):
- str.__init__(self, value)
+ str.__init__(self)
self._is_context_dependent = (
RuntimeEnabledFeatures.is_context_dependent(self))
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/function_like.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/function_like.py
@@ -71,8 +71,9 @@ class FunctionLike(WithIdentifier):
def num_of_required_arguments(self):
"""Returns the number of required arguments."""
return len(
- filter(lambda arg: not (arg.is_optional or arg.is_variadic),
- self.arguments))
+ list(
+ filter(lambda arg: not (arg.is_optional or arg.is_variadic),
+ self.arguments)))
class OverloadGroup(WithIdentifier):
@@ -171,8 +172,7 @@ class OverloadGroup(WithIdentifier):
Returns the effective overload set.
https://heycam.github.io/webidl/#compute-the-effective-overload-set
"""
- assert argument_count is None or isinstance(argument_count,
- (int, long))
+ assert argument_count is None or isinstance(argument_count, int)
N = argument_count
S = []
@@ -188,21 +188,21 @@ class OverloadGroup(WithIdentifier):
S.append(
OverloadGroup.EffectiveOverloadItem(
- X, map(lambda arg: arg.idl_type, X.arguments),
- map(lambda arg: arg.optionality, X.arguments)))
+ X, list(map(lambda arg: arg.idl_type, X.arguments)),
+ list(map(lambda arg: arg.optionality, X.arguments))))
if X.is_variadic:
- for i in xrange(n, max(maxarg, N)):
- t = map(lambda arg: arg.idl_type, X.arguments)
- o = map(lambda arg: arg.optionality, X.arguments)
- for _ in xrange(n, i + 1):
+ for i in range(n, max(maxarg, N)):
+ t = list(map(lambda arg: arg.idl_type, X.arguments))
+ o = list(map(lambda arg: arg.optionality, X.arguments))
+ for _ in range(n, i + 1):
t.append(X.arguments[-1].idl_type)
o.append(X.arguments[-1].optionality)
S.append(OverloadGroup.EffectiveOverloadItem(X, t, o))
- t = map(lambda arg: arg.idl_type, X.arguments)
- o = map(lambda arg: arg.optionality, X.arguments)
- for i in xrange(n - 1, -1, -1):
+ t = list(map(lambda arg: arg.idl_type, X.arguments))
+ o = list(map(lambda arg: arg.optionality, X.arguments))
+ for i in range(n - 1, -1, -1):
if X.arguments[i].optionality == IdlType.Optionality.REQUIRED:
break
S.append(OverloadGroup.EffectiveOverloadItem(X, t[:i], o[:i]))
@@ -222,7 +222,7 @@ class OverloadGroup(WithIdentifier):
for item in items)
assert len(items) > 1
- for index in xrange(len(items[0].type_list)):
+ for index in range(len(items[0].type_list)):
# Assume that the given items are valid, and we only need to test
# the two types.
if OverloadGroup.are_distinguishable_types(
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/idl_compiler.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/idl_compiler.py
@@ -149,8 +149,8 @@ class IdlCompiler(object):
for old_ir in old_irs:
new_ir = make_copy(old_ir)
self._ir_map.add(new_ir)
- new_ir.attributes = filter(not_disabled, new_ir.attributes)
- new_ir.operations = filter(not_disabled, new_ir.operations)
+ new_ir.attributes = list(filter(not_disabled, new_ir.attributes))
+ new_ir.operations = list(filter(not_disabled, new_ir.operations))
def _record_defined_in_partial_and_mixin(self):
old_irs = self._ir_map.irs_of_kinds(
@@ -231,7 +231,7 @@ class IdlCompiler(object):
only_to_members_of_partial_or_mixin=False)
propagate_to_exposure(propagate)
- map(process_member_like, ir.iter_all_members())
+ list(map(process_member_like, ir.iter_all_members()))
def process_member_like(ir):
propagate = functools.partial(propagate_extattr, ir=ir)
@@ -257,7 +257,7 @@ class IdlCompiler(object):
self._ir_map.move_to_new_phase()
- map(process_interface_like, old_irs)
+ list(map(process_interface_like, old_irs))
def _determine_blink_headers(self):
irs = self._ir_map.irs_of_kinds(
@@ -422,9 +422,9 @@ class IdlCompiler(object):
assert not new_interface.deriveds
derived_set = identifier_to_derived_set.get(
new_interface.identifier, set())
- new_interface.deriveds = map(
- lambda id_: self._ref_to_idl_def_factory.create(id_),
- sorted(derived_set))
+ new_interface.deriveds = list(
+ map(lambda id_: self._ref_to_idl_def_factory.create(id_),
+ sorted(derived_set)))
def _supplement_missing_html_constructor_operation(self):
# Temporary mitigation of misuse of [HTMLConstructor]
@@ -553,7 +553,8 @@ class IdlCompiler(object):
self._ir_map.add(new_ir)
for group in new_ir.iter_all_overload_groups():
- exposures = map(lambda overload: overload.exposure, group)
+ exposures = list(map(lambda overload: overload.exposure,
+ group))
# [Exposed]
if any(not exposure.global_names_and_features
@@ -653,8 +654,8 @@ class IdlCompiler(object):
constructs = set()
for global_name in global_names:
constructs.update(exposed_map.get(global_name, []))
- new_ir.exposed_constructs = map(
- self._ref_to_idl_def_factory.create, sorted(constructs))
+ new_ir.exposed_constructs = list(
+ map(self._ref_to_idl_def_factory.create, sorted(constructs)))
assert not new_ir.legacy_window_aliases
if new_ir.identifier != 'Window':
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/interface.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/interface.py
@@ -180,8 +180,9 @@ class Interface(UserDefinedType, WithExtendedAttribute
self._constructor_groups = tuple([
ConstructorGroup(
group_ir,
- filter(lambda x: x.identifier == group_ir.identifier,
- self._constructors),
+ list(
+ filter(lambda x: x.identifier == group_ir.identifier,
+ self._constructors)),
owner=self) for group_ir in ir.constructor_groups
])
assert len(self._constructor_groups) <= 1
@@ -192,8 +193,9 @@ class Interface(UserDefinedType, WithExtendedAttribute
self._named_constructor_groups = tuple([
ConstructorGroup(
group_ir,
- filter(lambda x: x.identifier == group_ir.identifier,
- self._named_constructors),
+ list(
+ filter(lambda x: x.identifier == group_ir.identifier,
+ self._named_constructors)),
owner=self) for group_ir in ir.named_constructor_groups
])
self._operations = tuple([
@@ -203,22 +205,23 @@ class Interface(UserDefinedType, WithExtendedAttribute
self._operation_groups = tuple([
OperationGroup(
group_ir,
- filter(lambda x: x.identifier == group_ir.identifier,
- self._operations),
+ list(
+ filter(lambda x: x.identifier == group_ir.identifier,
+ self._operations)),
owner=self) for group_ir in ir.operation_groups
])
self._exposed_constructs = tuple(ir.exposed_constructs)
self._legacy_window_aliases = tuple(ir.legacy_window_aliases)
self._indexed_and_named_properties = None
- indexed_and_named_property_operations = filter(
- lambda x: x.is_indexed_or_named_property_operation,
- self._operations)
+ indexed_and_named_property_operations = list(
+ filter(lambda x: x.is_indexed_or_named_property_operation,
+ self._operations))
if indexed_and_named_property_operations:
self._indexed_and_named_properties = IndexedAndNamedProperties(
indexed_and_named_property_operations, owner=self)
self._stringifier = None
- stringifier_operation_irs = filter(lambda x: x.is_stringifier,
- ir.operations)
+ stringifier_operation_irs = list(
+ filter(lambda x: x.is_stringifier, ir.operations))
if stringifier_operation_irs:
assert len(stringifier_operation_irs) == 1
op_ir = make_copy(stringifier_operation_irs[0])
@@ -231,8 +234,9 @@ class Interface(UserDefinedType, WithExtendedAttribute
attribute = None
if operation.stringifier_attribute:
attr_id = operation.stringifier_attribute
- attributes = filter(lambda x: x.identifier == attr_id,
- self._attributes)
+ attributes = list(
+ filter(lambda x: x.identifier == attr_id,
+ self._attributes))
assert len(attributes) == 1
attribute = attributes[0]
self._stringifier = Stringifier(operation, attribute, owner=self)
@@ -578,8 +582,9 @@ class Iterable(WithDebugInfo):
self._operation_groups = tuple([
OperationGroup(
group_ir,
- filter(lambda x: x.identifier == group_ir.identifier,
- self._operations),
+ list(
+ filter(lambda x: x.identifier == group_ir.identifier,
+ self._operations)),
owner=owner) for group_ir in ir.operation_groups
])
@@ -666,8 +671,9 @@ class Maplike(WithDebugInfo):
self._operation_groups = tuple([
OperationGroup(
group_ir,
- filter(lambda x: x.identifier == group_ir.identifier,
- self._operations),
+ list(
+ filter(lambda x: x.identifier == group_ir.identifier,
+ self._operations)),
owner=owner) for group_ir in ir.operation_groups
])
@@ -755,8 +761,9 @@ class Setlike(WithDebugInfo):
self._operation_groups = tuple([
OperationGroup(
group_ir,
- filter(lambda x: x.identifier == group_ir.identifier,
- self._operations),
+ list(
+ filter(lambda x: x.identifier == group_ir.identifier,
+ self._operations)),
owner=owner) for group_ir in ir.operation_groups
])
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/ir_builder.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/ir_builder.py
@@ -2,6 +2,8 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+import sys
+
from .argument import Argument
from .ast_group import AstGroup
from .attribute import Attribute
@@ -30,6 +32,11 @@ from .typedef import Typedef
from .typedef import Typedef
+# TODO: Remove this once Python2 is obsoleted.
+if sys.version_info.major != 2:
+ long = int
+
+
def load_and_register_idl_definitions(filepaths, register_ir,
create_ref_to_idl_def, idl_type_factory):
"""
@@ -160,7 +167,7 @@ class _IRBuilder(object):
child_nodes = list(node.GetChildren())
extended_attributes = self._take_extended_attributes(child_nodes)
- members = map(self._build_interface_member, child_nodes)
+ members = list(map(self._build_interface_member, child_nodes))
attributes = []
constants = []
operations = []
@@ -302,7 +309,7 @@ class _IRBuilder(object):
child_nodes = list(node.GetChildren())
inherited = self._take_inheritance(child_nodes)
extended_attributes = self._take_extended_attributes(child_nodes)
- own_members = map(self._build_dictionary_member, child_nodes)
+ own_members = list(map(self._build_dictionary_member, child_nodes))
return Dictionary.IR(
identifier=Identifier(node.GetName()),
@@ -336,7 +343,7 @@ class _IRBuilder(object):
child_nodes = list(node.GetChildren())
extended_attributes = self._take_extended_attributes(child_nodes)
- members = map(self._build_interface_member, child_nodes)
+ members = list(map(self._build_interface_member, child_nodes))
constants = []
operations = []
for member in members:
@@ -456,8 +463,8 @@ class _IRBuilder(object):
assert len(child_nodes) == 1
child = child_nodes[0]
if child.GetClass() == 'Arguments':
- arguments = map(build_extattr_argument,
- child.GetChildren())
+ arguments = list(
+ map(build_extattr_argument, child.GetChildren()))
elif child.GetClass() == 'Call':
assert len(child.GetChildren()) == 1
grand_child = child.GetChildren()[0]
@@ -486,7 +493,9 @@ class _IRBuilder(object):
assert node.GetClass() == 'ExtAttributes'
return ExtendedAttributes(
- filter(None, map(build_extended_attribute, node.GetChildren())))
+ list(
+ filter(None, map(build_extended_attribute,
+ node.GetChildren()))))
def _build_inheritance(self, node):
assert node.GetClass() == 'Inherit'
@@ -506,7 +515,7 @@ class _IRBuilder(object):
def _build_iterable(self, node):
assert node.GetClass() == 'Iterable'
- types = map(self._build_type, node.GetChildren())
+ types = list(map(self._build_type, node.GetChildren()))
assert len(types) == 1 or len(types) == 2
if len(types) == 1: # value iterator
key_type, value_type = (None, types[0])
@@ -584,7 +593,7 @@ class _IRBuilder(object):
def _build_maplike(self, node, interface_identifier):
assert node.GetClass() == 'Maplike'
assert isinstance(interface_identifier, Identifier)
- types = map(self._build_type, node.GetChildren())
+ types = list(map(self._build_type, node.GetChildren()))
assert len(types) == 2
key_type, value_type = types
is_readonly = bool(node.GetProperty('READONLY'))
@@ -676,7 +685,7 @@ class _IRBuilder(object):
def _build_setlike(self, node, interface_identifier):
assert node.GetClass() == 'Setlike'
assert isinstance(interface_identifier, Identifier)
- types = map(self._build_type, node.GetChildren())
+ types = list(map(self._build_type, node.GetChildren()))
assert len(types) == 1
value_type = types[0]
is_readonly = bool(node.GetProperty('READONLY'))
@@ -838,7 +847,7 @@ class _IRBuilder(object):
def build_union_type(node, extended_attributes):
return self._idl_type_factory.union_type(
- member_types=map(self._build_type, node.GetChildren()),
+ member_types=list(map(self._build_type, node.GetChildren())),
is_optional=is_optional,
extended_attributes=extended_attributes,
debug_info=self._build_debug_info(node))
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/make_copy.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/make_copy.py
@@ -3,6 +3,13 @@
# found in the LICENSE file.
+import sys
+
+# TODO: Remove this once Python2 is obsoleted.
+if sys.version_info.major != 2:
+ long = int
+ basestring = str
+
def make_copy(obj, memo=None):
"""
Creates a copy of the given object, which should be an IR or part of IR.
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/namespace.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/namespace.py
@@ -107,11 +107,13 @@ class Namespace(UserDefinedType, WithExtendedAttribute
for operation_ir in ir.operations
])
self._operation_groups = tuple([
- OperationGroup(
- operation_group_ir,
- filter(lambda x: x.identifier == operation_group_ir.identifier,
- self._operations),
- owner=self) for operation_group_ir in ir.operation_groups
+ OperationGroup(operation_group_ir,
+ list(
+ filter(
+ lambda x: x.identifier == operation_group_ir
+ .identifier, self._operations)),
+ owner=self)
+ for operation_group_ir in ir.operation_groups
])
@property
--- src/3rdparty/chromium/third_party/blink/renderer/bindings/templates/dictionary_v8.cc.tmpl.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/bindings/templates/dictionary_v8.cc.tmpl
@@ -59,9 +59,9 @@ void {{v8_class}}::ToImpl(v8::Isolate* isolate, v8::Lo
DCHECK(executionContext);
{% endif %}{# has_origin_trial_members #}
{% endif %}{# members #}
- {% for origin_trial_test, origin_trial_member_list in members | groupby('origin_trial_feature_name') %}
+ {% for origin_trial_test, origin_trial_member_list in members | stringifykeygroupby('origin_trial_feature_name') %}
{% filter origin_trial_enabled(origin_trial_test, "executionContext") %}
- {% for feature_name, member_list in origin_trial_member_list | groupby('runtime_enabled_feature_name') %}
+ {% for feature_name, member_list in origin_trial_member_list | stringifykeygroupby('runtime_enabled_feature_name') %}
{% filter runtime_enabled(feature_name) %}
{% for member in member_list %}
v8::Local<v8::Value> {{member.v8_value}};
@@ -147,9 +147,9 @@ bool toV8{{cpp_class}}(const {{cpp_class}}* impl, v8::
DCHECK(executionContext);
{% endif %}{# has_origin_trial_members #}
{% endif %}{# members #}
- {% for origin_trial_test, origin_trial_member_list in members | groupby('origin_trial_feature_name') %}
+ {% for origin_trial_test, origin_trial_member_list in members | stringifykeygroupby('origin_trial_feature_name') %}
{% filter origin_trial_enabled(origin_trial_test, "executionContext") %}
- {% for feature_name, member_list in origin_trial_member_list | groupby('runtime_enabled_feature_name') %}
+ {% for feature_name, member_list in origin_trial_member_list | stringifykeygroupby('runtime_enabled_feature_name') %}
{% filter runtime_enabled(feature_name) %}
{% for member in member_list %}
v8::Local<v8::Value> {{member.v8_value}};
--- src/3rdparty/chromium/third_party/blink/renderer/build/scripts/core/css/make_style_shorthands.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/build/scripts/core/css/make_style_shorthands.py
@@ -71,7 +71,7 @@ class Expansion(object):
def enabled_longhands(self):
include = lambda longhand: not longhand[
'runtime_flag'] or self.is_enabled(longhand['runtime_flag'])
- return filter(include, self._longhands)
+ return list(filter(include, self._longhands))
@property
def index(self):
@@ -87,8 +87,9 @@ def create_expansions(longhands):
def create_expansions(longhands):
flags = collect_runtime_flags(longhands)
- expansions = map(lambda mask: Expansion(longhands, flags, mask),
- range(1 << len(flags)))
+ expansions = list(
+ map(lambda mask: Expansion(longhands, flags, mask),
+ range(1 << len(flags))))
assert len(expansions) > 0
# We generate 2^N expansions for N flags, so enforce some limit.
assert len(flags) <= 4, 'Too many runtime flags for a single shorthand'
@@ -114,14 +115,14 @@ class StylePropertyShorthandWriter(json5_generator.Wri
self._longhand_dictionary = defaultdict(list)
for property_ in json5_properties.shorthands:
- property_['longhand_enum_keys'] = map(enum_key_for_css_property,
- property_['longhands'])
- property_['longhand_property_ids'] = map(id_for_css_property,
- property_['longhands'])
+ property_['longhand_enum_keys'] = list(
+ map(enum_key_for_css_property, property_['longhands']))
+ property_['longhand_property_ids'] = list(
+ map(id_for_css_property, property_['longhands']))
- longhands = map(
- lambda name: json5_properties.properties_by_name[name],
- property_['longhands'])
+ longhands = list(
+ map(lambda name: json5_properties.properties_by_name[name],
+ property_['longhands']))
property_['expansions'] = create_expansions(longhands)
for longhand_enum_key in property_['longhand_enum_keys']:
self._longhand_dictionary[longhand_enum_key].append(property_)
--- src/3rdparty/chromium/third_party/blink/renderer/build/scripts/core/css/properties/make_css_property_instances.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/build/scripts/core/css/properties/make_css_property_instances.py
@@ -42,8 +42,8 @@ class CSSPropertyInstancesWriter(json5_generator.Write
aliases = self._css_properties.aliases
# Lists of PropertyClassData.
- self._property_classes_by_id = map(self.get_class, properties)
- self._alias_classes_by_id = map(self.get_class, aliases)
+ self._property_classes_by_id = list(map(self.get_class, properties))
+ self._alias_classes_by_id = list(map(self.get_class, aliases))
# Sort by enum value.
self._property_classes_by_id.sort(key=lambda t: t.enum_value)
--- src/3rdparty/chromium/third_party/blink/renderer/build/scripts/gperf.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/build/scripts/gperf.py
@@ -95,7 +95,7 @@ def main():
open(args.output_file, 'wb').write(
generate_gperf(gperf_path,
- open(infile).read(), gperf_args))
+ open(infile).read(), gperf_args).encode('utf-8'))
if __name__ == '__main__':
--- src/3rdparty/chromium/third_party/blink/renderer/build/scripts/in_file.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/build/scripts/in_file.py
@@ -66,7 +66,7 @@ class InFile(object):
self._defaults = defaults
self._valid_values = copy.deepcopy(
valid_values if valid_values else {})
- self._parse(map(str.strip, lines))
+ self._parse(list(map(str.strip, lines)))
@classmethod
def load_from_files(self, file_paths, defaults, valid_values,
--- src/3rdparty/chromium/third_party/blink/renderer/build/scripts/in_generator.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/build/scripts/in_generator.py
@@ -32,9 +32,14 @@ import shutil
import os.path
import shlex
import shutil
+import sys
import optparse
from in_file import InFile
+
+# TODO: Remove this once Python2 is obsoleted.
+if sys.version_info.major != 2:
+ basestring = str
#########################################################
--- src/3rdparty/chromium/third_party/blink/renderer/build/scripts/make_runtime_features.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/build/scripts/make_runtime_features.py
@@ -138,7 +138,7 @@ class RuntimeFeatureWriter(BaseRuntimeFeatureWriter):
except Exception:
# If trouble unpickling, overwrite
pass
- with open(os.path.abspath(file_name), 'w') as pickle_file:
+ with open(os.path.abspath(file_name), 'wb') as pickle_file:
pickle.dump(features_map, pickle_file)
def _template_inputs(self):
--- src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/element_factory.cc.tmpl.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/element_factory.cc.tmpl
@@ -26,7 +26,7 @@ static {{namespace}}FunctionMap* g_{{namespace|lower}}
static {{namespace}}FunctionMap* g_{{namespace|lower}}_constructors = nullptr;
-{% for tag in tags|sort if not tag.noConstructor %}
+{% for tag in tags|sort(attribute='name') if not tag.noConstructor %}
static {{namespace}}Element* {{namespace}}{{tag.name.to_upper_camel_case()}}Constructor(
Document& document, const CreateElementFlags flags) {
{% if tag.runtimeEnabled %}
@@ -52,7 +52,7 @@ static void Create{{namespace}}FunctionMap() {
// Empty array initializer lists are illegal [dcl.init.aggr] and will not
// compile in MSVC. If tags list is empty, add check to skip this.
static const Create{{namespace}}FunctionMapData data[] = {
- {% for tag in tags|sort if not tag.noConstructor %}
+ {% for tag in tags|sort(attribute='name') if not tag.noConstructor %}
{ {{cpp_namespace}}::{{tag|symbol}}Tag, {{namespace}}{{tag.name.to_upper_camel_case()}}Constructor },
{% endfor %}
};
--- src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/element_type_helpers.cc.tmpl.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/element_type_helpers.cc.tmpl
@@ -22,7 +22,7 @@ HTMLTypeMap CreateHTMLTypeMap() {
const char* name;
HTMLElementType type;
} kTags[] = {
- {% for tag in tags|sort %}
+ {% for tag in tags|sort(attribute='name') %}
{ "{{tag.name}}", HTMLElementType::k{{tag.js_interface}} },
{% endfor %}
};
@@ -42,7 +42,7 @@ HTMLElementType htmlElementTypeForTag(const AtomicStri
if (it == html_type_map.end())
return HTMLElementType::kHTMLUnknownElement;
- {% for tag in tags|sort %}
+ {% for tag in tags|sort(attribute='name') %}
{% if tag.runtimeEnabled %}
if (tagName == "{{tag.name}}") {
if (!RuntimeEnabledFeatures::{{tag.runtimeEnabled}}Enabled(document->GetExecutionContext())) {
--- src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/element_type_helpers.h.tmpl.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/element_type_helpers.h.tmpl
@@ -15,7 +15,7 @@ class Document;
class Document;
// Type checking.
-{% for tag in tags|sort if not tag.multipleTagNames and not tag.noTypeHelpers %}
+{% for tag in tags|sort(attribute='name') if not tag.multipleTagNames and not tag.noTypeHelpers %}
class {{tag.interface}};
template <>
inline bool IsElementOfType<const {{tag.interface}}>(const Node& node) {
--- src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/macros.tmpl.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/macros.tmpl
@@ -25,7 +25,7 @@
{% macro trie_leaf(index, object, return_macro, lowercase_data) %}
-{% set name, value = object.items()[0] %}
+{% set name, value = (object.items()|list)[0] %}
{% if name|length %}
if (
{%- for c in name -%}
@@ -45,7 +45,7 @@ return {{ return_macro(value) }};
{% macro trie_switch(trie, index, return_macro, lowercase_data) %}
-{% if trie|length == 1 and trie.values()[0] is string %}
+{% if trie|length == 1 and (trie.values()|list)[0] is string %}
{{ trie_leaf(index, trie, return_macro, lowercase_data) -}}
{% else %}
{% if lowercase_data %}
--- src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/make_qualified_names.h.tmpl.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/make_qualified_names.h.tmpl
@@ -24,12 +24,12 @@ namespace {{cpp_namespace}} {
{{symbol_export}}extern const WTF::AtomicString& {{namespace_prefix}}NamespaceURI;
// Tags
-{% for tag in tags|sort %}
+{% for tag in tags|sort(attribute='name') %}
{{symbol_export}}extern const blink::{{namespace}}QualifiedName& {{tag|symbol}}Tag;
{% endfor %}
// Attributes
-{% for attr in attrs|sort %}
+{% for attr in attrs|sort(attribute='name') %}
{{symbol_export}}extern const blink::QualifiedName& {{attr|symbol}}Attr;
{% endfor %}
--- src/3rdparty/chromium/third_party/dawn/generator/generator_lib.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/dawn/generator/generator_lib.py
@@ -201,6 +201,10 @@ def _compute_python_dependencies(root_dir=None):
paths = set()
for path in module_paths:
+ # Builtin/namespaced modules may return None for the file path.
+ if not path:
+ continue
+
path = os.path.abspath(path)
if not path.startswith(root_dir):
--- src/3rdparty/chromium/third_party/devtools-frontend/src/BUILD.gn.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/devtools-frontend/src/BUILD.gn
@@ -2,6 +2,8 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+import("//build/config/python.gni")
+
import("//third_party/blink/public/public_features.gni")
import("./all_devtools_files.gni")
import("./all_devtools_modules.gni")
--- src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/build_inspector_overlay.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/build_inspector_overlay.py
@@ -45,7 +45,8 @@ def rollup(input_path, output_path, filename, max_size
['--format', 'iife', '-n', 'InspectorOverlay'] + ['--input', target] +
['--plugin', rollup_plugin],
stdout=subprocess.PIPE,
- stderr=subprocess.PIPE)
+ stderr=subprocess.PIPE,
+ text=True)
out, error = rollup_process.communicate()
if not out:
raise Exception("rollup failed: " + error)
--- src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/build_release_applications.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/build_release_applications.py
@@ -10,7 +10,7 @@ and the application loader into a single script
and the application loader into a single script.
"""
-from cStringIO import StringIO
+from io import StringIO
from os import path
from os.path import join
import copy
@@ -145,8 +145,7 @@ class ReleaseBuilder(object):
resource_content = read_file(path.join(self.application_dir, resource_name))
if not (resource_name.endswith('.html')
or resource_name.endswith('md')):
- resource_content += resource_source_url(resource_name).encode(
- 'utf-8')
+ resource_content += resource_source_url(resource_name)
resource_content = resource_content.replace('\\', '\\\\')
resource_content = resource_content.replace('\n', '\\n')
resource_content = resource_content.replace('"', '\\"')
@@ -173,7 +172,9 @@ class ReleaseBuilder(object):
def _concatenate_application_script(self, output):
output.write('Root.allDescriptors.push(...%s);' % self._release_module_descriptors())
if self.descriptors.extends:
- output.write('Root.applicationDescriptor.modules.push(...%s);' % json.dumps(self.descriptors.application.values()))
+ output.write(
+ 'Root.applicationDescriptor.modules.push(...%s);' %
+ json.dumps(list(self.descriptors.application.values())))
else:
output.write('Root.applicationDescriptor = %s;' % self.descriptors.application_json())
--- src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/generate_devtools_grd.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/generate_devtools_grd.py
@@ -123,7 +123,7 @@ def main(argv):
try:
os.makedirs(path.join(output_directory, 'Images'))
- except OSError, e:
+ except OSError as e:
if e.errno != errno.EEXIST:
raise e
@@ -147,7 +147,7 @@ def main(argv):
shutil.copy(path.join(dirname, filename), path.join(output_directory, 'Images'))
add_file_to_grd(doc, path.join('Images', filename))
- with open(parsed_args.output_filename, 'w') as output_file:
+ with open(parsed_args.output_filename, 'wb') as output_file:
output_file.write(doc.toxml(encoding='UTF-8'))
--- src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/modular_build.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/modular_build.py
@@ -7,6 +7,8 @@ Utilities for the modular DevTools build.
Utilities for the modular DevTools build.
"""
+from __future__ import print_function
+
import collections
from os import path
import os
@@ -40,7 +42,7 @@ def load_and_parse_json(filename):
try:
return json.loads(read_file(filename))
except:
- print 'ERROR: Failed to parse %s' % filename
+ print('ERROR: Failed to parse %s' % filename)
raise
class Descriptors:
@@ -57,7 +59,7 @@ class Descriptors:
def application_json(self):
result = dict()
- result['modules'] = self.application.values()
+ result['modules'] = list(self.application.values())
return json.dumps(result)
def all_compiled_files(self):
--- src/3rdparty/chromium/third_party/jinja2/tests.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/jinja2/tests.py
@@ -10,7 +10,7 @@ import re
"""
import operator
import re
-from collections import Mapping
+from collections.abc import Mapping
from jinja2.runtime import Undefined
from jinja2._compat import text_type, string_types, integer_types
import decimal
--- src/3rdparty/chromium/third_party/webrtc/test/BUILD.gn.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/third_party/webrtc/test/BUILD.gn
@@ -258,10 +258,6 @@ rtc_library("perf_test") {
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
if (rtc_enable_protobuf) {
sources += [ "testsupport/perf_test_histogram_writer.cc" ]
- deps += [
- "//third_party/catapult/tracing/tracing:histogram",
- "//third_party/catapult/tracing/tracing:reserved_infos",
- ]
} else {
sources += [ "testsupport/perf_test_histogram_writer_no_protobuf.cc" ]
}
@@ -566,7 +562,6 @@ if (rtc_include_tests) {
if (rtc_enable_protobuf) {
sources += [ "testsupport/perf_test_histogram_writer_unittest.cc" ]
- deps += [ "//third_party/catapult/tracing/tracing:histogram" ]
}
data = test_support_unittests_resources
--- src/3rdparty/chromium/tools/binary_size/BUILD.gn.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/tools/binary_size/BUILD.gn
@@ -18,7 +18,6 @@ python_library("sizes_py") {
python_library("sizes_py") {
testonly = true
pydeps_file = "sizes.pydeps"
- data_deps = [ "//third_party/catapult/tracing:convert_chart_json" ]
}
if (is_linux || is_chromeos) {
--- src/3rdparty/chromium/tools/grit/BUILD.gn.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/tools/grit/BUILD.gn
@@ -33,7 +33,6 @@ group("grit_python_unittests") {
"//testing/scripts/run_isolated_script_test.py",
"//testing/xvfb.py",
"//tools/grit/",
- "//third_party/catapult/third_party/typ/",
]
}
--- src/3rdparty/chromium/tools/grit/grit/util.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/tools/grit/grit/util.py
@@ -211,7 +211,7 @@ def ReadFile(filename, encoding):
mode = 'rb'
encoding = None
else:
- mode = 'rU'
+ mode = 'r'
with io.open(abs(filename), mode, encoding=encoding) as f:
return f.read()
--- src/3rdparty/chromium/tools/gritsettings/resource_ids.spec.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/tools/gritsettings/resource_ids.spec
@@ -499,12 +499,6 @@
"content/shell/shell_resources.grd": {
"includes": [2940],
},
-
- # This file is generated during the build.
- "<(SHARED_INTERMEDIATE_DIR)/content/browser/tracing/tracing_resources.grd": {
- "META": {"sizes": {"includes": [20],}},
- "includes": [2960],
- },
# END content/ section.
# START ios/web/ section.
--- src/3rdparty/chromium/tools/metrics/BUILD.gn.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/tools/metrics/BUILD.gn
@@ -56,7 +56,6 @@ group("metrics_python_tests") {
"//testing/scripts/common.py",
"//testing/xvfb.py",
"//testing/test_env.py",
- "//third_party/catapult/third_party/typ/",
# Scripts we depend on. Their unit tests are also included.
"//tools/json_comment_eater/json_comment_eater.py",
--- src/3rdparty/chromium/tools/metrics/ukm/gen_builders.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/tools/metrics/ukm/gen_builders.py
@@ -48,9 +48,10 @@ def ReadFilteredData(path):
data = ukm_model.UKM_XML_TYPE.Parse(ukm_file.read())
event_tag = ukm_model._EVENT_TYPE.tag
metric_tag = ukm_model._METRIC_TYPE.tag
- data[event_tag] = filter(ukm_model.IsNotObsolete, data[event_tag])
+ data[event_tag] = list(filter(ukm_model.IsNotObsolete, data[event_tag]))
for event in data[event_tag]:
- event[metric_tag] = filter(ukm_model.IsNotObsolete, event[metric_tag])
+ event[metric_tag] = list(
+ filter(ukm_model.IsNotObsolete, event[metric_tag]))
return data
--- src/3rdparty/chromium/tools/metrics/ukm/ukm_model.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/tools/metrics/ukm/ukm_model.py
@@ -42,7 +42,7 @@ _STATISTICS_TYPE = models.ObjectNodeType(
_STATISTICS_TYPE = models.ObjectNodeType(
'statistics',
attributes=[
- ('export', str, r'^(?i)(|true|false)$'),
+ ('export', str, r'(?i)^(|true|false)$'),
],
children=[
models.ChildType(_QUANTILES_TYPE.tag, _QUANTILES_TYPE, multiple=False),
@@ -94,7 +94,7 @@ _EVENT_TYPE = models.ObjectNodeType(
'event',
attributes=[
('name', str, r'^[A-Za-z0-9.]+$'),
- ('singular', str, r'^(?i)(|true|false)$'),
+ ('singular', str, r'(?i)^(|true|false)$'),
],
alphabetization=[
(_OBSOLETE_TYPE.tag, _KEEP_ORDER),
--- src/3rdparty/chromium/tools/perf/chrome_telemetry_build/BUILD.gn.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/tools/perf/chrome_telemetry_build/BUILD.gn
@@ -107,7 +107,6 @@ group("telemetry_chrome_test_without_chrome") {
"//tools/perf/core/", # chrome_telemetry_build/ depends on core/
]
data_deps = [
- "//third_party/catapult:telemetry_chrome_test_support",
"//tools/metrics:metrics_python_tests",
]
@@ -151,7 +150,5 @@ group("telemetry_chrome_test_without_chrome") {
"//build/android:devil_chromium_py",
"//build/android:stack_tools",
]
- } else if (!is_fuchsia) {
- data_deps += [ "//third_party/catapult/telemetry:bitmaptools" ]
}
}
--- src/3rdparty/chromium/tools/perf/core/perfetto_binary_roller/BUILD.gn.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/tools/perf/core/perfetto_binary_roller/BUILD.gn
@@ -7,7 +7,6 @@ generate_wrapper("upload_trace_processor") {
generate_wrapper("upload_trace_processor") {
testonly = true
data_deps = [
- "//third_party/catapult:telemetry_chrome_test_support",
"//third_party/perfetto/src/trace_processor:trace_processor_shell",
]
data = [
--- src/3rdparty/chromium/tools/polymer/BUILD.gn.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/tools/polymer/BUILD.gn
@@ -10,6 +10,5 @@ group("polymer_tools_python_unittests") {
"//testing/scripts/run_isolated_script_test.py",
"//testing/xvfb.py",
"//tools/polymer/",
- "//third_party/catapult/third_party/typ/",
]
}
--- src/3rdparty/chromium/ui/ozone/generate_constructor_list.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/ui/ozone/generate_constructor_list.py
@@ -45,12 +45,15 @@ Example Output: ./ui/ozone/generate_constructor_list.p
} // namespace ui
"""
+try:
+ from StringIO import StringIO # for Python 2
+except ImportError:
+ from io import StringIO # for Python 3
import optparse
import os
import collections
import re
import sys
-import string
def GetTypedefName(typename):
@@ -68,7 +71,7 @@ def GetConstructorName(typename, platform):
This is just "Create" + typename + platform.
"""
- return 'Create' + typename + string.capitalize(platform)
+ return 'Create' + typename + platform.capitalize()
def GenerateConstructorList(out, namespace, export, typenames, platforms,
@@ -163,12 +166,14 @@ def main(argv):
sys.exit(1)
# Write to standard output or file specified by --output_cc.
- out_cc = sys.stdout
+ out_cc = getattr(sys.stdout, 'buffer', sys.stdout)
if options.output_cc:
out_cc = open(options.output_cc, 'wb')
- GenerateConstructorList(out_cc, options.namespace, options.export,
+ out_cc_str = StringIO()
+ GenerateConstructorList(out_cc_str, options.namespace, options.export,
typenames, platforms, includes, usings)
+ out_cc.write(out_cc_str.getvalue().encode('utf-8'))
if options.output_cc:
out_cc.close()
--- src/3rdparty/chromium/ui/ozone/generate_ozone_platform_list.py.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/ui/ozone/generate_ozone_platform_list.py
@@ -49,12 +49,15 @@ Example Output: ./generate_ozone_platform_list.py --de
"""
+try:
+ from StringIO import StringIO # for Python 2
+except ImportError:
+ from io import StringIO # for Python 3
import optparse
import os
import collections
import re
import sys
-import string
def GetConstantName(name):
@@ -63,7 +66,7 @@ def GetConstantName(name):
We just capitalize the platform name and prepend "CreateOzonePlatform".
"""
- return 'kPlatform' + string.capitalize(name)
+ return 'kPlatform' + name.capitalize()
def GeneratePlatformListText(out, platforms):
@@ -149,9 +152,9 @@ def main(argv):
platforms.insert(0, options.default)
# Write to standard output or file specified by --output_{cc,h}.
- out_cc = sys.stdout
- out_h = sys.stdout
- out_txt = sys.stdout
+ out_cc = getattr(sys.stdout, 'buffer', sys.stdout)
+ out_h = getattr(sys.stdout, 'buffer', sys.stdout)
+ out_txt = getattr(sys.stdout, 'buffer', sys.stdout)
if options.output_cc:
out_cc = open(options.output_cc, 'wb')
if options.output_h:
@@ -159,9 +162,16 @@ def main(argv):
if options.output_txt:
out_txt = open(options.output_txt, 'wb')
- GeneratePlatformListText(out_txt, platforms)
- GeneratePlatformListHeader(out_h, platforms)
- GeneratePlatformListSource(out_cc, platforms)
+ out_txt_str = StringIO()
+ out_h_str = StringIO()
+ out_cc_str = StringIO()
+
+ GeneratePlatformListText(out_txt_str, platforms)
+ out_txt.write(out_txt_str.getvalue().encode('utf-8'))
+ GeneratePlatformListHeader(out_h_str, platforms)
+ out_h.write(out_h_str.getvalue().encode('utf-8'))
+ GeneratePlatformListSource(out_cc_str, platforms)
+ out_cc.write(out_cc_str.getvalue().encode('utf-8'))
if options.output_cc:
out_cc.close()
--- src/3rdparty/chromium/v8/tools/BUILD.gn.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/v8/tools/BUILD.gn
@@ -31,10 +31,6 @@ group("v8_android_test_runner_deps") {
if (is_android && !build_with_chromium) {
data_deps = [ "//build/android:test_runner_py" ]
- data = [
- # This is used by android.py, but not included by test_runner_py above.
- "//third_party/catapult/devil/devil/android/perf/",
- ]
}
}
--- src/3rdparty/chromium/weblayer/shell/BUILD.gn.orig 2023-07-14 13:25:01 UTC
+++ src/3rdparty/chromium/weblayer/shell/BUILD.gn
@@ -161,7 +161,6 @@ repack("support_pak") {
"$root_gen_dir/components/strings/components_locale_settings_en-US.pak",
"$root_gen_dir/components/strings/components_strings_en-US.pak",
"$root_gen_dir/content/app/resources/content_resources_100_percent.pak",
- "$root_gen_dir/content/browser/tracing/tracing_resources.pak",
"$root_gen_dir/content/content_resources.pak",
"$root_gen_dir/content/dev_ui_content_resources.pak",
"$root_gen_dir/mojo/public/js/mojo_bindings_resources.pak",
@@ -182,7 +181,6 @@ repack("support_pak") {
"//content:content_resources",
"//content:dev_ui_content_resources",
"//content/app/resources",
- "//content/browser/tracing:resources",
"//mojo/public/js:resources",
"//net:net_resources",
"//third_party/blink/public:resources",