Josh Matthews
81a67aed9e
Double key image cache by requesting origin, and store CORS status with cached images.
2019-10-04 09:22:21 -04:00
Paul Rouget
3695fb1eb4
Temporary implementation of Canvas.MeasureText
2019-09-25 13:34:48 +02:00
Emilio Cobos Álvarez
3d57c22e9c
Update euclid.
...
There are a few canvas2d-related dependencies that haven't updated, but they
only use euclid internally so that's not blocking landing the rest of the
changes.
Given the size of this patch, I think it's useful to get this landed as-is.
2019-07-23 23:09:55 +02:00
Emilio Cobos Álvarez
2e5078e9c5
layout: Fix servo build.
2019-06-04 01:04:02 -04:00
Maharsh
85c20db495
Extract canvas operations for reuse by OffscreenCanvas.
2019-05-22 10:24:54 -04:00
Maharsh
cbff66928f
removed comments
2019-05-13 14:17:12 -04:00
Maharsh
854ba8d514
Borrow Layout Change
2019-05-13 12:04:17 -04:00
Maharsh
65e1f1fb3e
Updated Testcases and Formatting
2019-05-11 21:58:15 -04:00
Maharsh
1de8ddd89c
Changes for sender reciever
2019-05-09 21:54:48 -04:00
Maharsh
30cc087526
Changes for gitignore
2019-05-09 18:30:25 -04:00
Maharsh
6c6fb676b7
Created CanvasRect fro OffscreenCanvas and Updated Testcases
2019-03-29 15:12:53 -04:00
Simon Sapin
be69f9c3e6
Rustfmt has changed its default style :/
2018-12-28 13:17:47 +01:00
Anthony Ramine
9a8d03a0f3
Make HTMLCanvasElement::fetch_all_data return a shared memory blob
2018-11-21 12:53:50 +01:00
Anthony Ramine
cfca906ee2
Call rgba8_byte_swap_colors_inplace on the WebGL thread
2018-11-20 10:14:52 +01:00
Anthony Ramine
2c0acf6b9b
Move PixelFormat to the pixels crate
2018-11-20 10:14:52 +01:00
Jan Andre Ikenmeyer
a1a14459c1
Update MPL license to https (part 3)
2018-11-19 14:47:12 +01:00
Anthony Ramine
a5779ad372
Prefix some pixels functions with rgba8_
2018-11-16 12:37:34 +01:00
Simon Sapin
9f977c5287
Remove useless use crate_name;
imports.
...
A `crate_name::foo` path always works in 2018
2018-11-08 09:29:52 +01:00
Simon Sapin
2012be4a8b
cargo fix --edition-idioms
2018-11-08 09:28:00 +01:00
Pyfisch
9e92eb205a
Reorder imports
2018-11-06 22:35:07 +01:00
Pyfisch
cb07debcb6
Format remaining files
2018-11-06 22:30:31 +01:00
Simon Sapin
76e59a46d3
Sort use
statements
2018-11-06 15:26:02 +01:00
Simon Sapin
45f7199eee
cargo fix --edition
2018-11-06 15:26:02 +01:00
Anthony Ramine
bb2101f540
Simplify ctx.drawImage a bit
...
There is no need to swap between RGBA and BGRA twice.
2018-10-11 15:46:42 +02:00
Anthony Ramine
6c469b90b1
Share some code between 2D canvas and WebGL
2018-10-09 14:57:02 +02:00
Anthony Ramine
551c405b0f
Avoid ctx.getImageData in canvas.toDataURL
2018-10-08 12:19:10 +02:00
Anthony Ramine
77c28bdfc9
Abstract some stuff common to ctx.getImageData and ctx.putImageData
2018-10-08 11:39:09 +02:00
Anthony Ramine
e62dbabb46
Handle some transparent black cases in ctx.getImageData
2018-10-07 02:52:06 +02:00
Anthony Ramine
241dba064d
Align ctx.createImageData and ctx.getImageData with the spec
2018-10-06 11:41:48 +02:00
Anthony Ramine
75e6f5dfaa
Avoid copying pixels in ctx.putImageData sometimes
2018-10-06 02:59:25 +02:00
Anthony Ramine
19f40cdf0b
Introduce ImageData::get_rect
...
We use that to send only the pixels that will be actually drawn to the
canvas thread in CanvasRenderingContext2d::PutImageData.
We also make the canvas thread byte swap and premultiply colours in-place.
2018-10-06 01:12:05 +02:00
Anthony Ramine
784fbb2bc1
Merge some byte swap/premultiply functions in their own crate
2018-10-06 01:11:55 +02:00
Anthony Ramine
82c7d71811
Improve gl.putImageData
...
This commit should allow us to send smaller blobs to the canvas thread,
I made it into its own commit just to try=wpt.
2018-10-05 17:07:58 +02:00
Anthony Ramine
3d910feb3a
Align canvas.putImageData with spec
...
The arguments are supposed to be long values, not floats.
2018-10-05 17:07:56 +02:00
Anthony Ramine
62ea3c093a
Move canvas.putImageData checks to the DOM side
2018-10-05 00:35:39 +02:00
Anthony Ramine
a3392610c3
Make HTMLCanvasElement::get_size return a Size2D<u32>
...
The changes keep trickling down.
2018-10-02 14:21:06 +02:00
chansuke
c37a345dc9
Format script component
2018-09-19 17:40:47 -04:00
Anthony Ramine
8c100b23b1
Implement proper origin checks for WebGL textures ( fixes #21522 )
2018-09-18 10:33:42 +02:00
Anthony Ramine
36c8cd229e
Remove Canvas2dMsg::DrawImageSelf
...
Now that all canvas share the same thread, it's useless to have a separate message
for that.
2018-09-17 16:24:01 +02:00
Anthony Ramine
f1e8eb640c
Don't create 2D canvas contexts arbitrarily
...
Sometimes, the canvas still has no rendering context, in this case it represents
a transparent black rectangle.
2018-09-16 20:44:41 +02:00
Anthony Ramine
3528ef30e5
Update CanvasRenderingContext2D WebIDL definition
...
CanvasImageSource was never supposed to include CanvasRenderingContext2D.
2018-09-14 14:48:42 +02:00
Anthony Ramine
2f2331f149
Use a byte channel to retrieve pixels of 2D canvas
2018-09-13 22:04:30 +02:00
Anthony Ramine
b5c469d52e
Merge byte swap and unmultiplying loops in ctx.getImageData()
2018-09-13 22:04:30 +02:00
Brody-Eastwood
f3065f3707
Moved Canvas rendering to a single thread.
2018-04-23 20:50:05 -04:00
Brody Eastwood
8a1590efc6
Add unique canvas IDs to all canvas operations.
2018-04-02 22:02:22 -04:00
Anthony Ramine
ce81420bef
Use ByteBuf for the canvas messages
...
The type Vec<u8> is super unefficient to work with in Serde if all you want
to represent is a simple blob.
2018-03-26 20:48:02 +02:00
Nakul Jindal
7d4e2b11e9
Implements profiler for blocked recv
2018-03-22 11:48:27 -07:00
Alex Fong
8d09398230
Avoid Window::GetComputedStyle
when checking for display: none
2018-02-26 19:07:04 +08:00
Josh Matthews
0e211d0d8f
Revert "Send IPC receiver for canvas as part of CreateCanvasPaintThread message"
...
This reverts commit a504c9358b
.
2017-12-18 10:51:00 -05:00
tigercosmos
a504c9358b
Send IPC receiver for canvas as part of CreateCanvasPaintThread message
2017-12-16 12:04:59 +08:00