aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update web-platform-tests to revision ↵Servo WPT Sync2023-08-01610-12749/+10219
| | | | b'dcf353e2846063d4b9e62ec75545d0ea857ef765' (#30045)
* Minor refactoring for PlacementAmongFloats (#30055)Oriol Brufau2023-08-011-20/+17
| | | | | | | | | | | | No difference in behavior, just these changes: - PlacementAmongFloats::new() initializes the top of the 1st band to the ceiling, so that other methods can just refer to the former without having to floor by the later. - In fact, the 'ceiling' field becomes unnecessary, and is removed. - top_of_placement_for_current_bands() is renamed to current_ceiling(). - try_place_once() is reorganized to reduce indentation. - The condition 'len() > 0' becomes '!is_empty()'. - The 1st band is now popped in place() instead of try_place_once(), then it's easier to see why the loop will end.
* Remove lzma path workaround for MacOS (#30053)Martin Robinson2023-08-016-35/+4
| | | | | Now that the new version of GStreamer fixes this issue, we can remove the workarounds for this problem as well as all of the homebrew bootstrapping logic.
* Remove homebrew packaging (#30047)Martin Robinson2023-08-011-91/+1
| | | | | | | This hasn't been updated since 2017 and homebrew installation is also provided via a cask which downloads the latest version from the website [^1]. I think this code is basically unused. [^1]: https://github.com/Homebrew/homebrew-cask/blob/9e944ae828ccde27340413ff2ac4de603243f5e0/Casks/servo.rb
* Fix interaction of margins and clearance for PlacementAmongFloats (#30038)Oriol Brufau2023-07-315-151/+118
| | | | | | | | | Consumers of PlacementAmongFloats weren't handling margins properly. They were assuming that they would either get a positive adjustment, or zero for no-op. However, just like the regular clearance triggered by 'clear', the clearance added onto blocks that establish an independent FC can be zero or negative, and the effect is different than having no clearance.
* Remove customised implementation of hsts headers. (#30046)shanehandley2023-07-311-93/+9
| | | This looks to have originally been implemented due to missing functionality in the headers crate, which has since been added and released.
* Remove Gecko-specific Python bootstrap logic (#30041)Martin Robinson2023-07-281-41/+11
| | | | | | Servo is no longer completely vendored into Gecko. Instead parts of Gecko are vendored into Servo. This change removes Python mach bootstrap code that was written to accommodate the previous situation. It's no longer necessary.
* Allow enabling minibrowser from command line (#30042)Atbrakhi2023-07-281-0/+6
|
* Remove unnecessary `join()`s from GitHub Actions (#30040)Martin Robinson2023-07-285-10/+10
| | | | `contains()` works on arrays as well as strings, so the `join` is unnecessary when trying to detect job statuses.
* Embed git hash using vergen instead of mach (#30030)Martin Robinson2023-07-288-54/+79
| | | | | | Embed the git hash into the servo binary using vergen instead of using custom Python code in mach. The benefit here is ones less difference between a normal cargo run and building via mach in addition to removing a bunch of code.
* Remove old code for out-of-date CA stores (#30031)Martin Robinson2023-07-273-30/+3
| | | | | This code was written to handle both Python 2 (which we no longer support) and old Windows CI machines that did not have up-to-date CA stores. I think we can remove this now.
* Floor child sizes in calculate_inline_content_size_for_block_level_boxes ↵Oriol Brufau2023-07-271-3/+7
| | | | | | | | | | | | | | | | (#30034) Calculating the max-content size of a block container may add the outer max-content sizes of multiple children. The problem is that the outer size may be negative (due to margins), producing an incorrect result. In particular, it could happen that the max-content size was 50-25=25, but the min-content size would just take the maximum and be 50, which doesn't make sense. Therefore, this patch floors the size of all children by 0. This seems to match Blink. Firefox and WebKit don't floor in some cases, but then the result seems suboptimal to me. Note that there is no spec for this, see https://github.com/w3c/csswg-drafts/issues/9120 for details.
* Remove ClearSide enum (#30035)Oriol Brufau2023-07-273-58/+35
| | | Just use Clear instead, they have the same values.
* More tweaks for the try GitHub Action (#30029)Martin Robinson2023-07-271-2/+5
| | | | - Don't trigger try jobs when comments are deleted or edited. - Don't report success for cancelled jobs.
* Run unit tests with both layout 2013 and layout 2020 (#30032)Oriol Brufau2023-07-274-12/+8
| | | | | | | | Since #29950, unit tests were only running with the legacy layout, and there was no way to run them for layout 2020. This patch makes './mach test-unit' run unit tests for both. Also doing some changes so that the layout 2020 floats.rs tests compile.
* Remove calculate_clearance_and_adjoin_margin (#30033)Oriol Brufau2023-07-262-17/+5
| | | It was useful when it had 3 callers, but #29977 removed 2 of them.
* Remove some unused options (#30028)Martin Robinson2023-07-261-9/+0
| | | | These are no longer used and some of them no longer make sense with WebRender.
* Never skip workflows for explicitly triggered try jobs (#30027)Martin Robinson2023-07-261-1/+1
| | | | | | | Do not do the duplicate workflow checks for main workflow jobs triggered by 'issue_comment' GitHub Actions. This prevents try jobs from being skipped. This issue was not detected in my testing, because the main workflow does not run in personal repositories and 'issue_comment' actions cannot be tested from PRs.
* Fix getting login from try GitHub Action payload (#30026)Martin Robinson2023-07-251-1/+1
|
* Update web-platform-tests to revision ↵Servo WPT Sync2023-07-25147-498/+4073
| | | | b'b6cddc4617fedeed0db493b3ba9283148797447f' (#30021)
* Fixes for the try GitHub Action (#30024)Martin Robinson2023-07-251-3/+4
| | | | 1. Properly handle multi-line comments 2. Don't skip duplicate workflows when explicitly running try
* Make "@bors-servo try" a GitHub Action (#30014)Martin Robinson2023-07-243-59/+202
| | | | | | | | | | | | | | This is the last piece of the puzzle to turning off bors. This makes functionality provided by bors to understand "@bors-servo try" a GitHub Action. For now the syntax is more or less the same, but we can modify it in the future and even add support for custom configuration options (more specific build combinations or even passing compiler flags). The big difference between this and what bors does is that there is no merge commit. GitHub simply runs tests on the version of the branch that is on a pull request. There is always the risk that tests might start failing when a branch is rebased, but this offers a bit more control because you can easily rebase from the PR and the merge queue will check this as well.
* [NFC] winit: document event handling and improve naming (#30016)Delan Azabani2023-07-2410-202/+228
| | | | | | | | | | | | | | | * compositing: rename WindowEvent to EmbedderEvent * winit: rename winit_event_to_{servo → embedder}_event * winit: rename ServoEvent::Awakened to WakerEvent * winit: document App::handle_events and rename locals * servo: rename Servo.embedder_events to messages_for_embedder * winit: rustdoc link to EmbedderEvent * winit: use new name queue_embedder_events_for_winit_event
* `mach bootstrap` should also bootstrap GStreamer on Windows (#30018)Martin Robinson2023-07-211-1/+2
| | | Fixes #30007.
* Implement :valid :invalid pseudo classes (#26729)John Poge II2023-07-2130-242/+325
| | | Signed-off-by: Martin Robinson <mrobinson@igalia.com>
* Add initial support for css-text-3 whitespace handling (#29828)Atbrakhi2023-07-20129-496/+628
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add initial support for css-text-3 whitespace handling This adds initial support for whitespace handling from the CSS specification for Layout 2020. In general, the basics are covered. Since test output is very sensitive to whitespace handling, this change incorporates several fixes: 1. Whitespace is collapsed according to the Phase 1 rules of the specification, though language-specific unbreaking rules are not handled properly yet. 2. Whitespace is mostly trimmed and positioned according to the Phase 2 rules, but full support for removing whitespace at the end of lines is pending on a temporary data structure to hold lines under construction. 3. Completely empty box fragments left over immediately after line breaks are now trimmed from the fragment tree. 4. This change tries to detect when an inline formatting context collapses through. Fixes #29994. Co-authored-by: Mukilan Thiyagarajan <me@mukilan.in> Co-authored-by: Martin Robinson <mrobinson@igalia.com> Signed-off-by: Martin Robinson <mrobinson@igalia.com> * Update test results --------- Signed-off-by: Martin Robinson <mrobinson@igalia.com> Co-authored-by: Mukilan Thiyagarajan <me@mukilan.in> Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* Revert "Update ipc-channel and other dependencies" (#30017)Martin Robinson2023-07-204-58/+84
| | | This reverts commit a3e3b4d48ffcb3f73eddc99dc0b565ea3c9ea1ff.
* Sync WPT with upstream (18-07-2023) (#30006)Servo WPT Sync2023-07-191258-10133/+27989
| | | | | | | | | * Update web-platform-tests to revision b'e16853520ae70ba309108ccff87a7816f74be4dd' * Remove new spurious result --------- Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* Fix intrinsic sizing of block container containing a BFC root after floats ↵Oriol Brufau2023-07-191-17/+16
| | | | | | | (#30012) A block that establishes an independent formatting context is placed next to previous floats, so we should add their sizes when computing the intrinsic contribution of the parent block container.
* make the concept of has_listeners_for follow other implementations (#21044)Gregory Terzian2023-07-193-14/+4
| | | Co-authored-by: Gregory Terzian <gterzian@users.noreply.github.com>
* Remove rayon_croissant and clean up `contains_floats` (#29960)Martin Robinson2023-07-197-144/+108
| | | | | | | | | | | Remove rayon_croissant and refactor the way that information about floats in flows bubbles up. This simplifies the code a good deal and lets us take advantage of some more optimized functions provided by rayon. This removes 2 crates from the dependency tree. In addition, this allows avoiding passing `contains_floats` up from every box tree construction function. This makes things simpler, but also opens up the possibility of passing more of these flags up in the future (such as `contains_counters`).
* Totally ignore abspos children for intrinsic sizing (#30010)Oriol Brufau2023-07-191-32/+26
| | | | | | | | | | | | | calculate_inline_content_size_for_block_level_boxes was relying on inline_content_sizes to get the size of each block-level box child. For absolutely positioned boxes, this was 0x0. That was no-op before #29887, but then it prevented adding the sizes of a sequence of floats. Abspos should just be ignored instead of treated as 0x0. This patch removes inline_content_sizes, moves the logic into calculate_inline_content_size_for_block_level_boxes (the only caller), and handles abspos correctly.
* Place replaced and non-auto inline size independent FCs next to floats (#29977)Martin Robinson2023-07-1813-127/+417
| | | | | | | | | | | | | | | | | | | | | * Place replaced and non-auto inline size independent FCs next to floats The CSS2 specification says that replaced content and independent formatting contexts should be placed next to floats. This change adds support for that, but punts on support for independent formatting contexts that have an auto inline size. With an auto inline size, we which requires a much more complex layout algorithm. Co-authored-by: Oriol Brufau <obrufau@igalia.com> * Fix issue with where last band was taken into account for inline size * adjustment_from_floats should prevent margin collapse * Properly handle elements with 0 height --------- Co-authored-by: Oriol Brufau <obrufau@igalia.com>
* Add .envrc to .gitignore (#29988)Jade2023-07-181-0/+3
| | | | | | This allows people on nix to add an envrc file without it polluting the working tree. Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* Remove the YAML tidy code (#30004)Martin Robinson2023-07-186-103/+4
| | | | | | | | | This code was used to test buildbox_steps.yml, but Servo no longer uses buildbot, so this code is essentially unused. In addition, YAML + Cython 3 is causing issues on the CI. Fixes #30003 Signed-off-by: Martin Robinson <mrobinson@igalia.com>
* Fix WPT sync and simplify the update scripts (#29999)Martin Robinson2023-07-179-541/+124
| | | | | | | | | Much of the code used to import WPT tests from upstream has been moved to the WPT repository itself, so this can be reused. In addition, simplify the workflows by merging the entire process into mach and also directly into the GitHub workflow. This should fix WPT imports after combining compilation of layout and legacy layout. Signed-off-by: Martin Robinson <mrobinson@igalia.com>
* Mark skipped CI workflows as successful (#30001)Martin Robinson2023-07-171-15/+41
| | | | | | | When the decision job decides that a workflow should be skipped because an identical one has already run, that workflow should be marked as successful and not unsuccessful. Signed-off-by: Martin Robinson <mrobinson@igalia.com>
* Stop using webrender_api::get_scroll_node_state (#30000)Martin Robinson2023-07-171-27/+23
| | | | | | | | | This API has been removed in the latest version of WebRender and we can simply get this information from the compositor-side scroll tree. In addition, this change limits the amount of data sent to the pipeline that actually changed and gives the function in the compositor a better name. Signed-off-by: Martin Robinson <mrobinson@igalia.com>
* Use explicit WebRender hit test items in legacy layout (#29981)Martin Robinson2023-07-172-15/+43
| | | | | | | Including hit tests in non-hit test display list items is no longer supported in upstream WebRender, so this change switches legacy layout to always use explicit hit test display list items. Signed-off-by: Martin Robinson <mrobinson@igalia.com>
* Fix the WPT update (#29996)Martin Robinson2023-07-133-61/+3
| | | | | - No longer issue the bors-servo r+ comment as we use the merge queue now. - Explicitly trigger all layout tests so that results are generated.
* De-indent code in find_block_margin_collapsing_with_parent (#29997)Oriol Brufau2023-07-131-39/+37
|
* Minibrowser: Introduce minibrowser.enabled prefs (#29995)Atbrakhi2023-07-132-0/+4
| | | | | * Introduce minibrowser.enabled prefs * commit signoff
* Enable the GitHub merge queue (#29989)Martin Robinson2023-07-138-56/+59
| | | Signed-off-by: Martin Robinson <mrobinson@igalia.com>
* Auto merge of #29925 - mukilan:update-ipc-channel-and-deps, r=jdmbors-servo2023-07-123-84/+56
|\ | | | | | | | | | | | | | | | | | | | | Update ipc-channel and other dependencies These updates will allow us to move to latest rustc nightly. --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes do not require tests because they update dependency crates.
| * Update ipc-channel and other dependenciesMukilan Thiyagarajan2023-07-103-84/+56
| | | | | | | | | | | | | | These updates will allow us to move to latest rustc nightly. Signed-off-by: Mukilan Thiyagarajan <me@mukilan.in>
* | Auto merge of #29965 - mrobinson:clip-chain, r=delanbors-servo2023-07-114-114/+165
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the WebRender clip chain API The old clipping API has been removed from WebRender, so this switches both legacy and new layout over to use the clip chain API in preparation for the WebRender upgrade. <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] There are tests for these changes OR <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
| * | Use the WebRender clip chain APIMartin Robinson2023-07-044-114/+165
| | | | | | | | | | | | | | | | | | The old clipping API has been removed from WebRender, so this switches both legacy and new layout over to use the clip chain API in preparation for the WebRender upgrade.
* | | Auto merge of #29987 - mrobinson:normalize-more-webrender-use-statements, r=jdmbors-servo2023-07-1039-327/+330
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | normalize more webrender use statements - Use the WebRender clip chain API - Use explicit WebRender hit test items in legacy layout - Try to `use` WebRender types more <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [ ] These changes do not require tests because they do not change behavior. <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
| * | | Try to `use` WebRender types moreMartin Robinson2023-07-1039-327/+330
| | | | | | | | | | | | | | | | | | | | The newer versions of WebRender move types around between `webrender` and `webrender_api` and this will reduce the churn during the upgrade.
* | | | Auto merge of #29985 - servo:remove_hololens_docs, r=mrobinsonbors-servo2023-07-101-56/+0
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove hololens doc Removing Hololens docs after #29970 --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes do not require tests <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->