Alan Jeffrey
c611e46381
Remove WebVR
2020-04-08 20:23:41 -05:00
Josh Matthews
c002a29582
Support WebGL2 contexts in XRWebGLLayer.
2020-04-08 12:52:01 -04:00
Josh Matthews
9673091d7a
webgl: Only error when beginning transform feedback on programs that have no varying values.
2020-04-08 12:43:11 -04:00
Josh Matthews
66b2b3293d
webgl: Fix active uniform block length check.
2020-04-07 16:16:05 -04:00
Istvan
62f00df79d
Add initial support for VertexAttribI4*, VertexAttribIPointer
...
Adds initial support for the WebGL2 `VertexAttribI4i`, `VertexAttribI4iv`, `VertexAttribI4ui`, `VertexAttribI4uiv` and `VertexAttribIPointer` calls.
2020-04-07 15:01:39 -04:00
bors-servo
2002f490ef
Auto merge of #26130 - Manishearth:euclidup, r=nox
...
Update euclid
r? @nox @jdm
2020-04-07 11:51:38 -04:00
Manish Goregaokar
fccfff11c5
Update euclid
2020-04-07 08:51:08 -07:00
bors-servo
d8781c1054
Auto merge of #26120 - servo:layout-2020-non-opaque-style-data, r=SimonSapin
...
Remove postorder traversal from layout 2020 during styling
2020-04-07 10:38:16 -04:00
Anthony Ramine
c10e839924
Don't go through the layout thread to retrieve a node's primary style
2020-04-07 14:34:47 +02:00
bors-servo
f3aa7f7144
Auto merge of #26126 - dralley:fix-motionmark, r=jdm
...
Fix misspelled "get_suported_extensions" function
closes #21122
2020-04-06 20:31:29 -04:00
Anthony Ramine
030a1cf8fb
Replace OpaqueStyleAndLayoutData by StyleAndOpaqueLayoutData
2020-04-06 23:06:13 +02:00
Daniel Alley
d0890db479
Fix misspelled "get_suported_extensions" function
...
closes #21122
2020-04-06 13:50:49 -04:00
Anthony Ramine
e3be136c9b
Rename a bunch of style/layout data items
...
GetLayoutData::get_style_and_layout_data becomes
GetOpaqueStyleAndLayoutData::get_opaque_style_and_layout_data.
GetRawData::get_raw_data becomes GetStyleAndLayoutData::get_style_and_layout_data.
LayoutNode::init_style_and_layout_data becomes
LayoutNode::init_opaque_style_and_layout_data.
LayoutNode::take_style_and_layout_data becomes
LayoutNode::take_opaque_style_and_layout_data.
2020-04-06 12:39:52 +02:00
Tipowol
8a3bf880e9
Add InRealm argument to Callback trait
2020-04-05 19:54:30 +02:00
bors-servo
57fe27a4ef
Auto merge of #26110 - servo:layout-2020-rm-note-dirty-descendant, r=emilio
...
Kill ServoLayoutElement::note_dirty_descendant
2020-04-04 09:51:19 -04:00
bors-servo
d64f7d427a
Auto merge of #26105 - servo:layout-2020-less-opaque, r=emilio
...
Make DOM own the style and layout data, in an UnsafeCell
2020-04-04 09:35:34 -04:00
Anthony Ramine
8a0775fc89
Kill ServoLayoutElement::note_dirty_descendant
...
There is no need to set the dirty descendants flag unsafely from the layout side
for elements with pending restyles, we can do that on the DOM side when draining
the restyles from the Document.
2020-04-04 15:00:04 +02:00
Anthony Ramine
185a402d9c
Make DOM own the style and layout data, in an UnsafeCell
...
The previous Cell was a lie.
2020-04-04 13:10:19 +02:00
teapotd
779552ee7d
Form constraints validation
2020-04-02 10:16:46 +02:00
bors-servo
af1ebe79ef
Auto merge of #26083 - servo:layout-2020-more-cleanups, r=jdm
...
More layout cleanups from the introduction of a lifetime in LayoutDom<T>
What can I say, the follow-up fixes just kept coming to my door one by one, I couldn't just tell them to go away.
2020-04-01 12:05:16 -04:00
Anthony Ramine
4e64a1c682
Add some comments and remove obsolete allow attributes
2020-04-01 11:40:56 +02:00
Anthony Ramine
d9e4f7a0ba
Introduce more layout helpers to make selection_for_layout be safe
2020-04-01 11:40:56 +02:00
Anthony Ramine
28e5abe606
Introduce <LayoutDom<Element>>::focus_state
2020-04-01 11:40:56 +02:00
Anthony Ramine
295f120425
Make LayoutShadowRootHelpers::get_style_data_for_layout return a &CascadeData
...
That return type is Sync, which thus means that the method can be safe.
2020-04-01 11:40:55 +02:00
Anthony Ramine
ebd2892158
Make synthesize_presentational_hints_for_legacy_attributes be safe
2020-04-01 11:40:55 +02:00
Anthony Ramine
0c0027ecfd
Make LayoutDocumentHelpers::style_shared_lock be safe
...
StyleSharedRwLock is Sync.
2020-04-01 11:40:55 +02:00
Anthony Ramine
4636507fa1
Move unsafe code out of <LayoutDom<HTMLTextAreaElement>>::value_for_layout
2020-04-01 11:40:55 +02:00
Anthony Ramine
f8af8176de
Introduce a bunch of LayoutDom<HTMLInputElement> private helpers
...
Those help contain the unsafety in most of the actual helpers used by layout.
2020-04-01 11:40:55 +02:00
Anthony Ramine
1cd3d6bd4c
Introduce <LayoutDom<HTMLImageElement>>::current_request
...
This safe helper contains the only source of unsafety from the actual image
layout helpers methods, making them completely safe.
2020-04-01 11:40:55 +02:00
Anthony Ramine
fc07a5147c
Make LayoutNodeHelpers::composed_parent_node_ref be safe
...
For clarity, I introduce <LayoutDom<Element>>::parent_node_ref to contain
the remaining unsafety bits out of composed_parent_node_ref which is more
complex than just a field access.
2020-04-01 11:40:34 +02:00
bors-servo
2c0bbcf2aa
Auto merge of #26077 - jdm:xr-canvas-dirty, r=asajeffrey
...
webgl: Don't dirty canvas element while in immersive mode.
There are various WebGL APIs that are supposed to trigger a frame composite at the end of the event loop when they're used. We enforce this via dirtying the canvas element and ensuring that reflow occurs for normal content. This is redundant when we're using immersive mode and incurs extra work by the layout thread and compositor that inhibits the immersive rendering performance.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix (part of) #26019
- [x] These changes do not require tests because we do not have infrastructure to test immersive mode on CI.
2020-03-31 22:23:32 -04:00
Josh Matthews
ab75808b8c
webgl: Don't dirty canvas element while in immersive mode.
2020-03-31 17:17:51 -04:00
Josh Matthews
6ab7a50b31
Cache the result of retrieving an element's client rectangle from layout.
2020-03-31 17:15:44 -04:00
Anthony Ramine
f712b0bcf8
Make LayoutShadowRootHelpers::get_host_for_layout be safe
2020-03-31 22:30:42 +02:00
Anthony Ramine
68d5cfffd5
Make a bunch of LayoutNodeHelpers be safe
2020-03-31 22:30:34 +02:00
Anthony Ramine
f014da9565
Introduce LayoutDom::is
...
Just like Castable::is.
2020-03-31 22:06:40 +02:00
Anthony Ramine
9c8540af5c
Make layout methods accessing rare data be safe
...
They don't do anything fancy so there is no additional unsafety calling them
compared to using LayoutDom in the first place, the usual story of all
those changes.
2020-03-31 22:04:35 +02:00
Anthony Ramine
414d477b54
Don't generate rare_data_for_layout methods anymore
...
It is only used twice.
2020-03-31 21:54:02 +02:00
Anthony Ramine
dd750c6f86
Introduce LayoutDom::to_layout_slice
...
It generalises <LayoutDom<Element>>::attrs.
2020-03-31 21:39:45 +02:00
Anthony Ramine
72c0771299
Make a bunch of LayoutDocumentHelpers be safe
...
The other methods are actually unsafe.
2020-03-31 21:39:45 +02:00
Anthony Ramine
e561911066
Make LayoutCanvasRenderingContext2DHelpers::get_canvas_id be safe
2020-03-31 21:23:55 +02:00
Anthony Ramine
fbc3e430ab
Make a bunch or trivial LayoutElementHelpers safe
2020-03-31 20:37:57 +02:00
Anthony Ramine
a913c6650d
Reduce scope of unsafe block in LayoutHTMLCanvasElementHelpers::data
2020-03-31 19:06:25 +02:00
Anthony Ramine
5ff931d171
Introduce <LayoutDom<Element>>::attrs()
...
This safe method is the basic block to access element attributes from layout.
We reuse it in the other attr-related layout methods to remove a pretty big
source of rampant unsafe code between script and layout.
2020-03-31 18:46:49 +02:00
Anthony Ramine
0bda174823
Merge RawLayoutElementHelpers into LayoutElementHelpers
2020-03-31 18:30:42 +02:00
Anthony Ramine
3b504148d5
Move around some code in the element
...
The intent is to merge the two layout helper traits together
so I'm moving them around to make later diffs more readable.
2020-03-31 18:02:02 +02:00
bors-servo
3aa15e3fa3
Auto merge of #26070 - servo:layout-2020-more-cleanups, r=SimonSapin
...
Make LayoutNodeHelpers::text_content return a cow
What does it mean? It means that layout can process `Text` nodes' contents by just borrowing them, potentially saving us from a lot of unnecessary tempoorary allocations, which is nice.
2020-03-31 10:51:18 -04:00
CYBAI
018b23d43b
Use mozjs exposed function to generate SourceText
2020-03-31 22:29:53 +09:00
Anthony Ramine
fb1ff3f097
Remove an obsolete comment
2020-03-31 15:23:06 +02:00
Anthony Ramine
6fe294fa5b
Make LayoutNodeHelpers::text_content return a cow
2020-03-31 15:02:13 +02:00