servo/servo-tidy.toml
Delan Azabani 2778beeb7a
winit: initial minibrowser (#29976)
* winit: add minibrowser feature that depends on egui{,-winit}

* winit: carve out some space at the top of headed windows

* winit: minimal toolbar and egui/winit integration (but no painting)

* winit: try to paint with egui_glow (doesn’t work yet)

* winit: add comment about toolbar size

* Add framebuffer object, set it as glow's target

* compositing: clear only the viewport, not the whole framebuffer

* plumb the actual size of the egui toolbar to webrender

* fix formatting

* winit: fix crash when fbo is zero

* winit: don’t bother binding the framebuffer object

* winit: remove unsafe and get toolbar_height

* winit: location field should reflect the current top-level url

* [NFC] winit: move Minibrowser out of App::run

* winit: clean up toolbar height code

* winit: make App own the Minibrowser if any

* winit: make the go button work

* winit:make the location field reflect the current top-level url

* winit: allow enabling minibrowser from command line

* winit: tell compositor to repaint WR and flush when we repaint

* winit: fix bug where location field edits would get overridden

* winit: borrow the minibrowser once in App::handle_events

* winit: address todo about viewport origin coordinates

* winit: fix some minor problems with comments and errors

* winit: update location field once per HistoryChanged event

* winit: rename Window::set_toolbar_size to set_toolbar_height

* winit: take toolbar height into account in hit testing

* winit: pass egui only relevant CursorMoved events

* winit: scratch that, coalesce minibrowser updates instead

* ensure both minibrowser and WR are repainted on every frame

* compositing: only skip framebuffer clear in external present mode

* winit: destroy egui glow Painter when shutting down

* winit: clean up and fix license lint

* fix duplicate versions lint by downgrading bytemuck_derive

was egui_glow ^0.22.0 (0.22.0)
→ egui/bytemuck ^0.22.0 (0.22.0)
→ epaint/bytemuck ^0.22.0 (0.22.0)
→ bytemuck ^1.7.2 (1.13.1)
→ bytemuck_derive ^1.4 (1.4.1)
→ syn ^2.0.1 (2.0.28)

now lock has bytemuck_derive 1.4.0
→ syn ^1.0.99 (1.0.103)

* fix duplicate versions lint by disabling egui-winit/links

(we don’t need support for hyperlinks in our use of egui)

* squelch duplicate versions lint by excluding clipboard-win

* winit: fix compile warnings

* winit: make gleam an optional dependency under /minibrowser

* winit: remove cargo feature, since it’s not really optional

* winit: extract Minibrowser and related code to separate module

* winit: remove unnecessary trailing comma

* winit: simplify the ServoUrl serialisation optimisation

---------

Co-authored-by: atbrakhi <atbrakhi@igalia.com>
2023-08-15 08:08:50 +00:00

158 lines
4.6 KiB
TOML

[configs]
skip-check-length = false
skip-check-licenses = false
check-alphabetical-order = true
check-ordered-json-keys = ["./resources/prefs.json"]
# Packages which we avoid using in Servo.
# For each blocked package, we can list the exceptions,
# which are packages allowed to use the blocked package.
[blocked-packages]
num = []
rand = [
"ipc-channel",
"phf_generator",
"quickcheck", # Only used in tests
"servo_rand",
"tungstenite",
"ws",
]
[ignore]
# Ignored packages with duplicated versions
packages = [
"arrayvec",
"base64",
"cfg-if",
"cookie",
"fixedbitset",
"getrandom",
"image",
"itoa",
"libloading",
"metal",
"miniz_oxide",
"num-rational",
"parking_lot",
"parking_lot_core",
"petgraph",
"png",
"rand",
"rand_chacha",
"rand_core",
"redox_syscall",
"ron",
"time",
"wasi",
"wayland-sys",
"bitflags",
# Duplicated by rustls and image.
"spin",
# Duplicated by rustls and the version of webpki-roots required by async_tungstenite.
"rustls-webpki",
# https://github.com/servo/servo/issues/26933
"bytes",
"futures",
"mio",
# https://github.com/servo/servo/pull/23288#issuecomment-494687746
"gl_generator",
# https://github.com/servo/servo/pull/25518
"core-foundation",
"core-foundation-sys",
"lyon_geom",
# https://github.com/servo/servo/pull/28236
"nix",
# Duplicated by webrender debugger via ws
"block-buffer",
"digest",
"generic-array",
# Duplicated by winit/surfman update.
"raw-window-handle",
# Temporarily duplicated until gleam can be upgrded.
"uuid",
# winit port minibrowser (servo/servo#30049)
"clipboard-win",
]
# Files that are ignored for all tidy and lint checks.
files = [
"./components/net/tests/parsable_mime/text",
# These are ignored to avoid diverging from Gecko
"./components/style/counter_style/mod.rs",
"./components/style/properties/declaration_block.rs",
"./components/style/properties/helpers.mako.rs",
"./components/style/rule_collector.rs",
"./components/style/selector_map.rs",
"./components/style/stylesheets/import_rule.rs",
"./components/style/stylesheets/layer_rule.rs",
"./components/style/stylesheets/origin.rs",
"./components/style/stylesheets/page_rule.rs",
"./components/style/stylesheets/rule_parser.rs",
"./components/style/stylesheets/scroll_timeline_rule.rs",
"./components/style/stylist.rs",
"./components/style/values/animated/transform.rs",
"./components/style/values/computed/font.rs",
"./components/style/values/computed/image.rs",
"./components/style/values/specified/box.rs",
"./components/style/values/specified/color.rs",
"./components/style/values/specified/transform.rs",
# Mako does not lend itself easily to splitting long lines
"./components/style/properties/helpers/animated_properties.mako.rs",
"./components/style/properties/shorthands/text.mako.rs",
# Long regexes are long.
"./components/style/gecko/regen_atoms.py",
# Helper macro where actually a pseudo-element per line makes sense.
"./components/style/gecko/non_ts_pseudo_class_list.rs",
"./resources/hsts_preload.json",
"./tests/wpt/meta/MANIFEST.json",
"./tests/wpt/meta-legacy-layout/MANIFEST.json",
"./tests/wpt/mozilla/meta/MANIFEST.json",
"./tests/wpt/mozilla/meta-legacy-layout/MANIFEST.json",
# Long encoded string
"./tests/wpt/mozilla/tests/mozilla/resources/brotli.py",
"./tests/wpt/webgl/meta/MANIFEST.json",
# Upstream code from Khronos/WebGL uses tabs for indentation
"./tests/wpt/webgl/tests",
# Vendored from upstream
"./tests/wpt/webgpu/tests",
# Our import script is not currently respecting the lint.
"./tests/wpt/webgl/tools/import-conformance-tests.py",
# Ignore those files since the issues reported are on purpose
"./tests/html/bad-line-ends.html",
"./tests/wpt/mozilla/tests/css/fonts",
"./tests/wpt/mozilla/tests/css/pre_with_tab.html",
"./tests/wpt/mozilla/tests/mozilla/textarea_placeholder.html",
# Python 3 syntax causes "E901 SyntaxError" when flake8 runs in Python 2
"./components/style/properties/build.py",
# The tidy tests currently don't pass tidy.
"./python/tidy/test.py",
]
# Directories that are ignored for the non-WPT tidy check.
directories = [
# Upstream
"./support/android/apk",
"./tests/wpt/harness",
"./tests/wpt/tests",
"./tests/wpt/mozilla/tests/mozilla/referrer-policy",
"./tests/wpt/mozilla/tests/webgl",
"./python/tidy/tests",
"./python/_virtualenv*",
"./python/mach",
# Generated and upstream code combined with our own. Could use cleanup
"./target",
"./third_party",
]
# Directories that are checked for correct file extension
[check_ext]
# directory, list of expected file extensions
"./components/script/dom/webidls" = [".webidl"]