Commit graph

76 commits

Author SHA1 Message Date
bors-servo
150338503d Auto merge of #10529 - pcwalton:nested-fixed-position-webrender, r=glennw
layout: Make child stacking contexts of fixed position stacking contexts also fixed position.

Improves YouTube.
Improves the Washington Post.

Closes #10526.

r? @glennw

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10529)
<!-- Reviewable:end -->
2016-04-12 10:38:11 +05:30
bors-servo
f0014bd9cd Auto merge of #10224 - emilio:shader-type-validations, r=jdm
webgl: Add attribute validations and other nits

Fixes https://github.com/servo/servo/issues/9958

Depends on a bunch of prs, and needs a test.

r? @jdm

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10224)
<!-- Reviewable:end -->
2016-04-12 05:18:49 +05:30
Patrick Walton
8cc3e0660b layout: Make child stacking contexts of fixed position stacking contexts
also fixed position.

Improves YouTube.
Improves the Washington Post.

Closes #10526.
2016-04-11 13:36:31 -07:00
Patrick Walton
6a6b688fa8 layout: Make inner scroll wrappers acquire the overflow region of their
contents.

Makes Twitter pages show up when scrolling, if WebRender is not in use.
WebRender does not yet support overflow:scroll.
2016-04-08 18:18:49 -07:00
bors-servo
c0aa049b0a Auto merge of #9688 - KiChjang:worker-terminate, r=jdm
Implement Worker#terminate() (fixes #4427).

Adds support for terminating DOM workers. A closing flag was added to
WorkerGlobalScope per the spec.

Rebased #6652, with some comments addressed.
Fixes #4427.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9688)
<!-- Reviewable:end -->
2016-04-08 05:01:18 +05:30
Joe Wilm
229b176321 Implement Worker#terminate() (fixes #4427).
Adds support for terminating DOM workers. A closing flag was added to
WorkerGlobalScope per the spec.
2016-04-07 18:54:32 -04:00
Patrick Walton
1e884ddc69 layout: Allow non-absolutely-positioned elements with overflow: scroll
set to be scrolled.

This makes them establish stacking contexts, which is a CSS 2.1 spec
violation. However, we were already violating the spec here for
absolutely-positioned elements with `overflow: scroll`. It will probably
be easier to fix this spec violation once we either switch entirely to
WebRender or we have multiple layers per stacking context.

Closes #2742.
2016-04-06 17:58:47 -07:00
Emilio Cobos Álvarez
ee8ecd9299 webgl: tests: Fix webgl triangle test
It was giving a ton of whitespace errors, and I don't know if it's due
to nodeValue or ANGLE...
2016-04-03 01:21:56 +02:00
Emilio Cobos Álvarez
6fcc03c965 webgl: Make the api return the context limits and use them for validations
This allows keeping the VertexAttrib* calls asynchronous.

Another option would be to do the validation in the apply() function,
but that'd require us passing an unnecessary channel around and add
extra synchronization.

The counterpart of this is that it has to be updated when the context
changes, but that's less problem.
2016-04-03 01:21:56 +02:00
Connor Brewster
3fd7634f54 webgl: finish, flush, detachShader, generateMipmap, Uniform1i 2016-04-02 12:31:47 -06:00
Sagar Muchhal
051ffba0e5 Implement initial pieces of form validation. 2016-03-24 09:07:38 -04:00
Glenn Watson
ff831bb478 Fix unexpected overflow with overflow: hidden set.
Fixes #9719.
2016-03-03 05:02:37 +10:00
Peter
e39e59ef18 #1716 The indicated part of the document.
Interactive test for fragid resolution.

    Added HTML tests for scrolling to fragid

    Applied algorithm from whatwg spec
    https://html.spec.whatwg.org/multipage/#the-indicated-part-of-the-document

    Changes following code review
2016-02-17 00:51:46 +00:00
Patrick Walton
7c5b2d6cb3 layout: Separate out overflow-for-scrolling from overflow-for-paint.
Closes #9484.
2016-02-03 16:06:24 -08:00
bors-servo
b66a001451 Auto merge of #9429 - pcwalton:iframe-scroll-stacking, r=mbrubeck
Dispatch scroll events to layers above others.

Closes #9416.

r? @mbrubeck

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9429)
<!-- Reviewable:end -->
2016-01-26 07:28:23 +05:30
Patrick Walton
e4db0715e1 Dispatch scroll events to layers above others.
Closes #9416.
2016-01-25 16:42:37 -08:00
Patrick Walton
32a68a43ec Make hit tests against box shadows always fail.
Closes #9268.
2016-01-25 16:30:04 -08:00
Patrick Walton
9c7b9fa32d layout: Remove some bogus code that tried to handle
absolutely-positioned flows separately when storing overflow.

This code dates back to the time when absolutely positioned flows were
ignored by all of their ancestors up to the containing block. This
hasn't been true for at least a year.

Closes #9306.
Closes #9309.
Is a partial fix for #9308.
2016-01-25 10:52:07 -08:00
Manish Goregaokar
77628df0b2 Add frewscxv's regression test for whitespace in <input> 2016-01-03 13:18:27 +05:30
Manish Goregaokar
6a0ec85d43 Fix placeholders for password inputs
currently they show dots
2015-12-27 00:18:06 +05:30
Emilio Cobos Álvarez
89b65f3a02 webgl: Use mediump in triangle test
Support for this should be almost universal.
2015-12-07 18:02:24 +01:00
Ravi Shankar
eb85d58ee4 Moving Servo's cry message! 2015-11-23 02:52:38 +05:30
bors-servo
460f067b9d Auto merge of #7847 - jdm:selectstyling, r=Manishearth
Style <select multiple> appropriately.

<img width="216" alt="screen shot 2015-10-04 at 2 33 36 pm" src="https://cloud.githubusercontent.com/assets/27658/10269411/ec1b5bce-6aa4-11e5-8ce8-0f22425ea3d4.png">

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7847)
<!-- Reviewable:end -->
2015-10-04 12:49:26 -06:00
Josh Matthews
9ed0ae4a7a Style <select multiple> appropriately. 2015-10-04 14:35:17 -04:00
Bryan Bell
3e25284ff3 Replace twitter fail whale with redirect to archive.org version
Also add link to archive.org page of twitter fail whale
2015-09-22 11:26:00 -07:00
Bryan Bell
f4a04614ff Add css twitter fail whale test & update ellipse_to_bezier comment 2015-09-18 20:55:10 -07:00
Patrick Walton
99587cf105 layout: Allow the overflow area of the <body> to be scrolled.
Fixes scrolling on Twitter.
2015-09-10 18:07:21 -07:00
farodin91
f0987380dd Implement viewport functions for window #1718 2015-09-02 00:40:52 +02:00
Michael Howell
af31e8ed0f Navigate to a new page even when there's a fragment.
Closes #7169
2015-08-18 17:35:09 -07:00
Patrick Walton
dd7345ad64 tests: Add a simple test case for overflow: scroll. 2015-08-10 21:27:05 -07:00
Michael Howell
7cb4d77c74 GC profiling.
* Closes #6968.

* Test case for GC profiling thanks to @jdm!
2015-08-06 09:45:11 -07:00
Patrick Walton
0a589d413d layout: When repairing styles for incremental reflow, only repair
styles of nodes that represent the dirty node, *including its
pseudo-element*.

Fixes lots more jumpiness.

A manual test, `inline-pseudo-repair-jumpiness.html`, has been added. I
was unable to automate it, so I will file a followup issue on that.
2015-08-04 09:02:41 -07:00
Michael Howell
337832fde4 Check if naturalWidth / naturalHeight works w/ DPR
$ ./mach run --device-pixel-ratio=1 tests/html/get-natural-height.html
    ALERT: width: 600, height: 254
    $ ./mach run --device-pixel-ratio=2 tests/html/get-natural-height.html
    ALERT: width: 600, height: 254
    $ ./mach run --device-pixel-ratio=.5 tests/html/get-natural-height.html
    ALERT: width: 600, height: 254

It doesn't. Answers #6769.
2015-07-25 15:41:38 -07:00
Glenn Watson
39ddbbb0e1 Implement enough of 3d transforms spec to run the CSS FPS demo. 2015-06-23 14:10:44 +10:00
Maciej Skrzypkowski
2a729166c1 New html page for testing DOM binding performance #5760 2015-06-09 09:12:08 +02:00
ecoal95
eff2bb4310 WebGLRenderingContext getters and getParameter
This implements the `canvas`, `drawingBufferHeight` and
`drawingBufferWidth` getters to `WebGLRenderingContext`, and an initial
version of `getParameter`.
2015-06-01 16:34:51 +02:00
bors-servo
0de09b936e Auto merge of #6183 - ecoal95:webglcontextattributes, r=nox
r? @jdm

I couldn't add the `getContextAttributes` method since `CodegenRust`
doesn't know how to return a dictionary value, I'll take a look at it ASAP.

I think the helper functions can return directly the renderer, since they're used just for that, but I wanted to hear your opinions about this.

By the way I'm interested in adding more serious tests for WebGL, and I think the [khronos conformance suit](https://github.com/KhronosGroup/WebGL/tree/master/conformance-suites/1.0.3) should be the best option.

Should I try to integrate it in wpt, or making a `tests/webgl` directory (or similar) inside the servo tree? (Maybe this question should be for @Ms2ger)

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6183)
<!-- Reviewable:end -->
2015-06-01 08:37:48 -05:00
ecoal95
b3ac346749 Add WebGLContextAttributes support
This commit also:
* Allows to return non-rootable dictionaries from
Codegen.
* Merges the two context types in an enum type.
2015-06-01 15:29:38 +02:00
Lars Bergstrom
d569b3c197 Add a simpler concurrency demo for linuxcon 2015-05-30 20:12:33 -05:00
Patrick Walton
6a197719b3 compositing: Implement display ports and avoid creating display lists
for items outside it.

This improves Servo's performance on large pages.
2015-05-19 16:53:51 -07:00
Guro Bokum
be2cb665de Start using on_refresh_driver_tick #5681
Final
2015-05-06 02:08:39 +07:00
William Galliher
5afec62f07 Implement incomplete opening, sending, and closing behaviour for WebSockets using rust-websocket.
Authors:
Shivaji Vidhale <savidhal@ncsu.edu>
William Galliher <wpgallih@ncsu.edu>
Allen Chen <achen4@ncsu.edu>
Rucha Jogaikar <rsjogaik@ncsu.edu>
2015-05-05 12:17:35 -04:00
Diego Marcos
79b8e7aa34 It implements enough WebGL spec to draw a triangle 2015-05-02 19:21:05 -07:00
Peter
c069d1753e added dispatching for mousedown and mouseup events, fixes #5705 2015-04-29 21:32:18 -04:00
Patrick Walton
48299a53cb layout: Implement most of border-collapse per CSS 2.1 § 17.6.2.
Known issues:

* Collapsed borders do not correctly affect the border-box of the table
  itself.

* The content widths of all cells in a column and the content height of
  all cells in a row is the same in this patch, but not in Gecko and
  WebKit.

* Corners are not painted well. The spec does not say what to do here.

* Column spans are not handled well. The spec does not say what to do
  here either.
2015-04-27 17:12:07 +02:00
Patrick Walton
8741d9e8c4 layout: Use a flag to record whether we need to perform a line break if
wrapping on newlines rather than searching for a newline character.

Since the newline character might have been stripped out during
whitespace stripping, this was incorrect.

Fixes the "jumpiness" seen on the Google home page, Wikipedia, and many
other places.
2015-04-24 13:16:34 -07:00
bors-servo
4fac8b6810 Auto merge of #5593 - shinglyu:ismap, r=jdm
This implements issue 4873
2015-04-14 00:10:08 -05:00
Shing Lyu
7a65b95ae5 4873 - Support the image map processing for <img ismap/> inside an <a/> 2015-04-14 10:09:23 +08:00
Diego Marcos
88954e3e18 Implements drawImage for html image as ImageSource 2015-04-07 11:02:50 -07:00
Patrick Walton
66dd8c8a6c layout: Implement CSS transitions per CSS-TRANSITIONS § 2.
Transition events are not yet supported, and the only animatable
properties are `top`, `right`, `bottom`, and `left`. However, all other
features of transitions are supported. There are no automated tests at
present because I'm not sure how best to test it, but three manual tests
are included.
2015-03-31 08:46:11 -07:00