Commit graph

28735 commits

Author SHA1 Message Date
eri
58081579e9
WebIDL: Remove JSObject from Document::NamedGetter (#31841)
* WebIDL: Remove `JSObject` from `Document::NamedGetter`

* fix: update rustdoc comment
2024-03-24 18:04:04 +00:00
Oluwatobi Sofela
1ab38fcd3f
clippy: Fix default_constructed_unit_structs warnings in components (#31827)
* clippy: Fix default constructed unit structs warnings

* refactor: Allow default constructed unit structs to avoid gfx build error
2024-03-24 17:24:34 +00:00
Rosemary Ajayi
0a771169b8
fix redundant closure (#31842) 2024-03-23 16:51:41 +00:00
Aarya Khandelwal
566fd475d9
Clippy: Fixed some clippy warnings (#31818)
* Fixed clippy warnings

* made changes for lowercase characters.

* changed is_lowercase() to is_ascii_lowercase()

* added std library function `is_ascii_uppercase()` and `is_ascii_lowercase()`

* made recommended changes
2024-03-23 12:48:49 +00:00
Oluwatobi Sofela
3c05b58221
clippy: Fix explicit_auto_deref warnings in components/script (#31837)
* clippy: Fix explicit auto-deref warnings

* clippy: Fix explicit auto-deref warnings

* refactor: Tidy up code

* refactor: Fix method not found errors
2024-03-23 11:29:20 +00:00
atbrakhi
3fc157338e
remove unused code (#31826) 2024-03-23 04:25:52 +00:00
cathiechen
cb275e086c
Implement StaticRange (#31809)
* Add DOM interface for AbstractRange

* Add DOM interface for StaticRange

* Update WPT tests for StaticRange-constructor.html

* Fix formatting

* Add AbstractRange & StaticRange in interfaces.html

* rebased the code and fixed the failures

Signed-off-by: Cathie Chen <cathiechen@igalia.com>

* update the expected result in idlharness.window.js.ini file

* Addressed the code review comments

* updae the test result of legacy layout

---------

Signed-off-by: Cathie Chen <cathiechen@igalia.com>
Co-authored-by: Nipun Garg <nipung271@gmail.com>
2024-03-22 15:02:01 +00:00
Oluwatobi Sofela
bae77671f8
clippy: Fix unnecessary_cast warnings in components/script (#31823)
* clippy: Fix unnecessary cast warnings

* clippy: Replace redundant field names with their shorthand alternatives

* clippy: Delete struct pattern dereferencings
2024-03-22 13:48:03 +00:00
Tumuhairwe
3e9b808938
Fix some clippy warnings in components/script/webdriver_handlers.rs (#31784)
* Fixed some clippy warnings in components/script/webdriver_handlers.rs

* Updated fixes for clippy warnings in components/script/webdriver_handlers.rs

* Updated the formatting of components/script/webdriver_handlers.rs

* Updated components/script/webdriver_handler.rs to fix some clippy warnings.
2024-03-22 11:08:07 +00:00
sandeep
77f5175efc
removed mutable compile warnings (#31822)
Signed-off-by: Sandeep Pillai <sandeeppillai@Sandeeps-MacBook-Air.local>
Co-authored-by: Sandeep Pillai <sandeeppillai@Sandeeps-MacBook-Air.local>
2024-03-22 09:58:27 +00:00
Martin Robinson
34dd38b4cb
Replace remutex with parking_lot's ReentrantMutex (#31817)
Many things in Servo depend on `parking_lot`, so we can replace our
homegrown remutex with `parking_lot`'s version.

Fixes #12641.
2024-03-22 08:16:39 +00:00
Delan Azabani
8882507ad0
Rework “visible” to “throttled” in constellation + script + compositor (#31816) 2024-03-22 06:06:28 +00:00
Aarya Khandelwal
9b26dca141
Fixed the .clone() warnings. (#31819) 2024-03-22 05:41:17 +00:00
atbrakhi
95e69fe4ff
layout: use Au in BoxFragment (#31794)
* use au in BoxFragement

* review fix
2024-03-22 04:30:39 +00:00
Delan Azabani
0b863de846
Rework “visible” to “throttled” in embedder-to-constellation + jniapi (#31815) 2024-03-21 18:48:17 +00:00
Oluwatobi Sofela
3e63f8d6ee
clippy: Fix needless borrow warnings (#31813) 2024-03-21 17:48:54 +00:00
Oluwatobi Sofela
694e86ecff
clippy: Fix dereferencing a tuple pattern warnings (#31811) 2024-03-21 17:04:18 +00:00
Martin Robinson
841bd91784
layout: Take into account text-indent for justification (#31777)
This change makes it so that when calculating the space added between
words for justification, text-indent is taken into account.

Fixes #31775.
2024-03-21 15:58:03 +00:00
Martin Robinson
755701f4f6
crown: Do not warn about crown for rustdoc or clippy (#31805)
Fixes #31804.
2024-03-21 15:33:06 +00:00
eri
8c7e9a15e1
Remove repeated imports from generated code (#31711)
* feat: try to deduplicate imports in codegen

* feat: another attempt

* feat: start testing imports

* feat: clean all global imports

* feat: remove shared imports from CGDescriptor

* feat: remove redundant imports from CGDescriptor

* fix: formatting

* fix: remove libc (base level import)

* feat: roll back named path changes

* feat: last changes and tidy

* experiment: move imports into a separate file

* fix: extra parenthesis

* fix: remove repeated allow statement
2024-03-21 13:38:16 +00:00
eri
da696b7e57
clippy: fix result_unit_err warnings (#31791)
* clippy: fix `result_unit_err` warnings

* feat: fix result warnings in script

* doc: document `generate_key` return type

Co-authored-by: Martin Robinson <mrobinson@igalia.com>

* feat: add back result to RangeRequestBounds::get_final

Co-authored-by: Martin Robinson <mrobinson@igalia.com>

---------

Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2024-03-21 12:51:45 +00:00
Oriol Brufau
ecabdc2583
Don't trim leading whitespace of anonymous table cells (#31803)
A sequence of whitespace shouldn't generate an anonymous table row/cell,
but we can't just throw away the leading whitespace, because afterwards
we may encounter some other content, and then the leading whitespace
should appear in the cell (noticeable with e.g. `white-space: pre`).
2024-03-21 11:48:39 +00:00
Rosemary Ajayi
ce0d456469
clipping: Fix some warnings in components/script/dom (#31799)
* fix clippy websocket errors

* fix clippy window errors

* fix clippy window errors

* fix clippy window errors
2024-03-21 11:46:18 +00:00
Aarya Khandelwal
7cdff9dd06
Clippy: Fixed warnings in htmlimageelement.rs (#31800)
* Fixed warnings in htmlimageelement.rs

* making changes for test-tidy to run without errors.
2024-03-21 08:00:24 +00:00
Aarya Khandelwal
da3288dd00
Clippy: Fixed clippy warnings in components/script/dom (#31801)
* fixed clippy warnings in htmlformelement.rs

* Fixed clippy warnings

* Fixed warnings related to matches!

* made changes to compile "test-tidy" successfully
2024-03-21 07:14:12 +00:00
tannal
5c0199b568
Net: fold websocket and http tokio runtime into one (#31771)
* net: use the same tokio runtime in websocket loader

#31648

* readability

* license
2024-03-21 06:13:03 +00:00
Oluwatobi Sofela
2789e98876
clippy: Fix redundant field names warnings (#31793) 2024-03-20 23:05:29 +00:00
Rhea-Eve
b3dc5c6958
Attempt using version of Stylo with -x-lang enabled (#31737)
* Attempt using version of Stylo with -x-lang enabled

Signed-off-by: Rhea Karty <rheakarty@gmail.com>

* Added x-lang to initializer list to address failing tests.

Signed-off-by: Rhea Karty <rheakarty@gmail.com>

* Fix formatting (sorry)

Signed-off-by: Rhea Karty <rheakarty@gmail.com>

* Revert changes in Cargo.toml, update Cargo.lock.

Signed-off-by: Rhea Karty <rheakarty@gmail.com>

* Removed .git suffix from Stylo

Signed-off-by: Rhea Karty <rheakarty@gmail.com>

---------

Signed-off-by: Rhea Karty <rheakarty@gmail.com>
2024-03-20 18:52:06 +00:00
Rosemary Ajayi
058319aa0b
clippy: Fix some clippy problems in components/script (#31778)
* fix clippy problems in stylesheet

* fix clippy problems in task_manager

* fix clippy problems in task_queue

* fix clippy problems in task_queue

* fix clippy problems in file_reading

* fix clippy problems in dom_manipulation

* fix clippy problems in gamepad

* fix clippy problems in networking

* fix clippy problems in performance

* fix clippy problems in port_message

* fix clippy problems in port_message

* fix clippy problems in timer

* fix clippy problems in stylesheet

* fix clippy problems

* fix clippy problems

* fix clippy problems
2024-03-20 18:41:07 +00:00
Oluwatobi Sofela
15bf32a4e6
clippy: Fix unneeded return statement warnings (#31776) 2024-03-20 14:11:40 +00:00
Oluwatobi Sofela
02a0cdd6fa
clippy: Fix dereferenced warnings (#31770) 2024-03-20 08:07:22 +00:00
Tumuhairwe
e3809dfd06
Fix clippy warnings in components/script/textinput.rs (#31769) 2024-03-19 23:13:28 +00:00
Rosemary Ajayi
865f6e621f
clippy: Fix clippy Problems in components/scripts (#31759)
* revert cargo

* revert cargo

* fic clippy problems
2024-03-19 22:22:37 +00:00
Richard Dushime
01ca220f83
clippy: Fix many warnings in components/script (#31717)
* Fix Several clippy warnings

* Fix Build errors

* Fix Unused import

* Fix requested changes

* Fix rustfmt

* Minor fixes

---------

Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2024-03-19 16:05:56 +00:00
Oluwatobi Sofela
676f655647
clippy: Fix dereferenced warning (#31758) 2024-03-19 15:04:43 +00:00
Azhar Ismagulova
d0fcbb0898
rustdoc: fix warnings in components/layout_2020/table (#31738)
* fix: fixed rustdoc warnings caused by private intra-doc links

* fix: fixed private link warning by allowing private intra doc links
2024-03-19 14:51:28 +00:00
Martin Robinson
f175679434
gfx: Derive line-through metrics for fonts on MacOS (#31756)
There is now platform-specific way to get metrics for `line-through` on
MacOS and currently striking through simply does not work. The correct
approach here is likely to first search for these metrics in font tables
and then falling back to deriving them. Searching the font tables is a
larger change, so this change adds the fallback mechanism first. This at
least makes sure that strike through renders at all on Mac.

In a followup change we can add support for getting metrics via HarfBuzz
in a platform-independent way, which is what Gecko does.

Fixes #942.
2024-03-19 13:55:12 +00:00
Oluwatobi Sofela
d3b03a20b5
rustdoc: Fix broken link to FontFace in components/gfx (#31745)
* rustdoc: Fix fontface broken link error

* Correct link to `Font`

* Reduce the diff a bit

---------

Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2024-03-19 13:06:16 +00:00
Oluwatobi Sofela
36d9ab8b28
rustdoc: Convert url text to anchor link (#31755) 2024-03-19 11:48:09 +00:00
Martin Robinson
05d9373bc5
compositor: Handle synchronous messages while shutting down (#31733)
During the shutdown process, various threads (such as the
font cache thread) may be finishing up their work. If those threads make
synchronous requests to the compositor, answer them -- even if the
results will be unused. This is at least enough processing for them to
finish their work and exit cleanly.

This addresses crashes that are sometimes seen at exit, particuarly when
the font cache thread tries to register a font during shutdown.

In addition, this change also removes an unused compositor message.
2024-03-19 11:40:06 +00:00
Martin Robinson
2ec995a56f
layout: Enable text-shadow (#31734)
`text-shadow` is enabled for legacy layout, so this just extends support
to the modern layout system.
2024-03-19 10:29:20 +00:00
Aarya Khandelwal
2a02f94d76
rustdoc: Correct unresolved link to `handle_cell. (#31708) 2024-03-19 08:41:18 +00:00
Ekta Siwach
03c11f7907
rustdoc: Fix some typos in components/layout_2020/table/mod.rs (#31644)
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2024-03-19 08:23:14 +00:00
Rosemary Ajayi
06a021db55
clippy: Fix some warnings in components/script (#31735)
* fix clippy problems

* fix clippy error

* fix clippy error

* fix clippy error

* fix clippy error

* fix clippy error

* fix clippy errors
2024-03-19 08:01:23 +00:00
Samson
c25069161d
Add pseudo async Create*PipelineAsync methods (#31695)
* Create fake CreatePipelineAsync

* Update WebGPU CTS

* Update expectations and disable some webgpu tests
2024-03-19 05:39:42 +00:00
Oriol Brufau
c07484fcb6
Update Stylo to 2023-09-01 (#31609)
* Update Stylo to 2023-09-01

* Fixup for https://phabricator.services.mozilla.com/D184929

* Fixup for https://phabricator.services.mozilla.com/D184526

* Fixup for https://phabricator.services.mozilla.com/D184525

* Fixup for https://phabricator.services.mozilla.com/D185154

* Fixup for https://phabricator.services.mozilla.com/D184685

* Fixup for https://phabricator.services.mozilla.com/D185916

* Fixup for https://phabricator.services.mozilla.com/D185492

* Fixup for https://phabricator.services.mozilla.com/D186626

* Update test expectations
2024-03-18 13:52:40 +00:00
sandeep
94c1f2c992
fonts: Consider Tertiary Ideographic Plane to be CJK (#31670)
* added check for Tertiary Ideographic Plane

* added unit test for is_cjk function

Signed-off-by: Sandeep Pillai <sandeeppillai@Sandeeps-MacBook-Air.local>

* fixed formatting

Signed-off-by: Sandeep Pillai <sandeeppillai@Sandeeps-MacBook-Air.local>

* removed for loop assertions & added TIP chars

Signed-off-by: Sandeep Pillai <sandeeppillai@Sandeeps-MacBook-Air.local>

---------

Signed-off-by: Sandeep Pillai <sandeeppillai@Sandeeps-MacBook-Air.local>
Co-authored-by: Sandeep Pillai <sandeeppillai@Sandeeps-MacBook-Air.local>
2024-03-18 11:45:52 +00:00
Mukilan Thiyagarajan
55bb289b30
android: fix broken rendering in emulators (#31727)
Android's OpenGL emulation layer (goldfish-opengl) has pre-processing
logic that looks for samplers of the type `samplerExternalOES` and
does a simple textual [replacement to change the type][1] to `sampler2D`
before compilation. It also [marks the sampler][2] as 'replaced' so
it can emulate the correct type at runtime.

However, this logic can lead to false positives when the sampler is
declared inside conditional macros. Hence, the sampler's type can be
incorrectly marked as `samplerExternalOES` even though the #if, #ifdef
conditional logic would have declared the type as `sampler2D`.
This seems to be a [known limitation][3].

WebRender (in particular the shared.glsl include) has such conditional
declaration of the texture units used from the shaders.
In particular, the sampler [sColor0 here][4] is declared within ifdefs
to have different types depending on the flags enabled, to allow the
shader to work with different image target kinds.

WebRender also maintain two versions of the compiled shaders in its cache:
  1. An unoptimized version with all the conditional logic preserved
     in the source until the shader is compiled at runtime on Android,
     when the shader is actually used.
  2. Multiple optimized versions for combinations of features required
     These versions are produced during Servo [build][5]. Thus the
     optimized versions eliminate most of the conditional declarations
     at build time.

The bug in Servo with current code is because, [by default][6], WebRender
uses the *unoptimized* versions of the shaders. This means the conditional
GLSL source is evaluated at runtime by the Android emulator and thus ends
up with the incorrect type for the sColor0 sampler unit, which breaks the
[texture sampling in the fragment shader][7], causing it to always return
Vec4(0, 0, 0, 1) and rendering all elements on the page black.

This change forces WebRender to use the *optimized* version as a
workaround - the optimized versions have unconditional code for the
sampler declarations so are not susceptible to the emulator issue.

[1]: https://android.googlesource.com/device/generic/goldfish-opengl/+/refs/tags/android-platform-11.0.0_r40/system/GLESv2_enc/GL2Encoder.cpp#1644
[2]: https://android.googlesource.com/device/generic/goldfish-opengl/+/refs/tags/android-platform-11.0.0_r40/system/GLESv2_enc/GL2Encoder.cpp#1673
[3]: https://android.googlesource.com/device/generic/goldfish-opengl/+/refs/tags/android-platform-11.0.0_r40/system/GLESv2_enc/GL2Encoder.cpp#1571
[4]: b36399019c/webrender/res/shared.glsl (L206)
[5]: b36399019c/webrender/build.rs (L289)
[6]: b36399019c/webrender/src/renderer/init.rs (L214)
[7]: b36399019c/webrender/res/composite.glsl (L189)

Fixes #31726.

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-03-18 10:57:42 +00:00
Rosemary Ajayi
3ac0ab2e4e
clippy: Fix some warnings in the script crate (#31719)
* Fix InlineFormatting error

* BoxFrament

* fix clippy error

* clippy:fix clipy errors

* fix clippy errors

* fix clippy errors

* fix clippy errors

* Remove changes to `layout_2020`

---------

Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2024-03-18 10:05:18 +00:00
RustAndMetal
f6a975fc58
clippy: Fix several warnings (#31710)
Signed-off-by: RustAndMetal <111676747+RustAndMetal@users.noreply.github.com>
2024-03-18 08:33:43 +00:00