Commit Graph

86 Commits

Author SHA1 Message Date
Zakor Gyula
67516483ed servo: Merge #15314 - Permissions API and WebBluetooth integration (from szeged:permissions-api); r=jdm
<!-- Please describe your changes on the following line: -->
This implements the [Permissions API](https://w3c.github.io/permissions/) spec.
Also includes the WebBluetooth related implementation for this.

There are some know issues:
- [ ] If the descriptor name is invalid [this](https://gist.github.com/dati91/7a6a0a563d90f49ba5a351e48c5b626b#file-permissionstatusbindings-rs-L323) will throw an error, rather that return it and we could handle it.
- [x] The [environment settings object](https://html.spec.whatwg.org/multipage/webappapis.html#environment-settings-object) is not implemented in servo and the spec rely on it.
- [x] There is a popup in the implementation which prevent us to add wpt test, we should figure out a way to make it work
- [ ] The allowedDevice's allowed_services attribute is not used in our implementation, because we store these in the lower level, not in the dom side.
- [ ] We think the bluetooth revoke function will need some more work, but the problem is the spec needs clarifications on that part.

---
<!-- 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 fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: a537cf48b18d9bba3453b924a4453f5e19dea4ed

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 50bc944e75966879ab6aca2a6cc229212e733d64
2017-02-14 08:09:22 -08:00
Imanol Fernandez
952fe5d9e8 servo: Merge #14618 - WebVR API Implementation (from MortimerGoro:webvr_api); r=larsbergstrom,emilio,jdm,nox,asajeffrey,cvan
<!-- Please describe your changes on the following line: -->

WebVR API Implementation with HTC Vive support on Windows. The current implementations only enables the WebVR support on Windows. In other platforms the API is available on JavaScript but navigator.vr.getDisplays() returns an empty array. This will change when we add support for more VR providers and platforms ;)

Info about the architecture:
https://blog.mozvr.com/webvr-servo-architecture-and-latency-optimizations/
---
<!-- 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 fix #__ (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

Proprietary openvr.dll must be copied next to servo.exe in order to test on HTC Vive (https://github.com/ValveSoftware/openvr/tree/master/bin/win64) I have added some of the official WebVR samples for testing. Switch on your headset and run:

mach run tests/html/webvr/room-scale.html

Source-Repo: https://github.com/servo/servo
Source-Revision: 518ef39cfd429082dd8dc0d5b13e2db637d08a53
2017-01-09 06:39:45 -08:00
Attila Dusnoki
6482812c91 servo: Merge #14657 - Remove unused html bluetooth tests (from dati91:remove_html_tests); r=jdm
<!-- Please describe your changes on the following line: -->
Remove unused html bluetooth tests, because we use wpt based bluetooth tests now.

---
<!-- 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

<!-- Either: -->
- [X] These changes do not require tests because no functionality changed.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: b67bfb39aee98cba5218e8dfa0fa7019f16a4dae
2016-12-21 05:55:19 -08:00
Bhavya Bansal
d245344de3 servo: Merge #13969 - html form validation initial steps with test html file (from bbansalWolfPack:master); r=jdm
<!-- Please describe your changes on the following line: -->

Added code for initial steps in html form validation.
1. Added methods for trait validatable
2. implemented stub methods for  elements like HTMLInputElement, HTMLButtonElement, etc

<!-- 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 fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: beec035eb0ff6babf48ce836184329e60e795177
2016-11-25 06:49:44 -08:00
Patrick Trottier
8efe4a3a91 servo: Merge #13419 - ServiceWorkerContainer::Promise (from Coder206:swPromise); r=jdm
<!-- 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] These changes fix #13409  (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 0d46c7c708b226f25eae72f1d711e4e55fd04527
2016-10-31 11:19:01 -05:00
Patrick Walton
f1f3ee7678 servo: Merge #13705 - layout: Don't touch the inline positions of block children unless they are to be reflowed (from pcwalton:incremental-float); r=notriddle
See the comment added to
`BlockFlow::propagate_assigned_inline_size_to_children()` for details.

Closes #13704.

r? @notriddle

Source-Repo: https://github.com/servo/servo
Source-Revision: 0ffbba94fa141f0049c96b3c30dccc22b1b43e6c
2016-10-12 16:00:37 -05:00
Imanol Fernandez
fa1ea9c973 servo: Merge #13208 - Fix WebGL tests & Implement WebGLRenderingContext::{validateProgram, getProgramInfoLog, disableVertexAttribArray} (from MortimerGoro:programinfolog); r=emilio
<!-- Please describe your changes on the following line: -->
Implement WebGLRenderingContext::{validateProgram, getProgramInfoLog} and improve WebGL testcase to show shader link and validation errors.

---
<!-- 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 fix #13199 (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: fc251384a76547167c027d69c28deae8c410c626
2016-10-03 16:54:51 -05:00
Mátyás Mustoha
65bcc3d393 servo: Merge #13428 - Update WebBluetooth to use Promises (from szeged:wbt_promise); r=jdm
<!-- Please describe your changes on the following line: -->
Initial patch to support promises in WebBluetooth.
This will allow us to use the expected syntax in webpages.

---
<!-- 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 fix #__ (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 0c80ac9a1ba14966165ddb6b91f7c6efda6c2eae
2016-10-01 06:18:59 -05:00
zakorgyula
97cdbe35a4 servo: Merge #13184 - Webbluetooth requestDevice refactor and update (from szeged:requestdevice-refactor); r=jdm
<!-- Please describe your changes on the following line: -->
Refactor requestDevice function according to the specification changes.
1. Moved the `request_bluetooth_devices` algorithm out from the `requestDevice` function.
2. Two new members in `BluetoothRequestDeviceFilter` and one new member in `RequestDeviceOptions`.
3. Also added annotations to the related functions.
Related links:
https://webbluetoothcg.github.io/web-bluetooth/#device-discovery,
https://webbluetoothcg.github.io/web-bluetooth/#dom-bluetooth-requestdevice, https://webbluetoothcg.github.io/web-bluetooth/#request-bluetooth-devices,
https://webbluetoothcg.github.io/web-bluetooth/#matches-a-filter

---
<!-- 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 fix #12614

<!-- Either: -->
- [x] These changes do not require tests because , there is no WebBluetooth Test API implementation yet.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8334020a870c4343b2b5e1476c2ee20a4d2d7779
2016-09-15 17:29:44 -05:00
Rahul Sharma
4dc69a4645 servo: Merge #12910 - Implement postMessage for ServiceWorkers (from creativcoder:swsender); r=jdm
<!-- Please describe your changes on the following line: -->

Fixes #12773
r? @jdm

Changes:
* Implements `postMessage` on `ServiceWorker` object.
* Removes unused channels from sw and their scopes.
* Fixes a crash when calling `scope.script_chan()` in sw-scopes event handling.

---
<!-- 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 fix #12773

<!-- Either: -->
- [X] There are tests for these changes at `tests/html/service-worker`

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 0ec4ea4ee188f2e5db9d387d182c34a9d97d07cd
2016-09-15 08:34:22 -05:00
UK992
c15c920395 servo: Merge #13107 - Tidy: Handle empty files (from UK992:tidy); r=Wafflespeanut
Fix index error ``list index out of range``, when file is empty.

r? @Wafflespeanut

---
- [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

Source-Repo: https://github.com/servo/servo
Source-Revision: c3ce9f2c909cd75c8f424bcef4036d0e29476546

--HG--
rename : servo/python/tidy/servo_tidy_tests/test_ignored/whee/foo/bar.rs => servo/python/tidy/servo_tidy_tests/empty_file.rs
2016-08-31 07:42:25 -05:00
Josh Matthews
1e538847df servo: Merge #12980 - Fix ridiculous DOM proxy getter performance (from jdm:proxychanges); r=nox
This implements the missing shadowing checks that were causing us to take many slow paths when dealing with proxy objects. Verified by running `tests/html/binding_perf.html` before and after and observing a 12x improvement.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #12357
- [X] These changes do not require tests because we can't test performance yet.

Source-Repo: https://github.com/servo/servo
Source-Revision: 78344754826e938c004a83a21c898552a8e77b17
2016-08-25 06:31:46 -05:00
Simon Martin
f267f6f076 servo: Merge #12576 - Issue #12421: tidy should also check .html files (from simartin:issue_12421); r=jdm
./mach test-tidy should also check .html files, to avoid patches containing badly formatted new test cases go unnoticed

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #12421
- [X] There are tests for these changes (./mach test-tidy failed without the changes to .hrml files)

Source-Repo: https://github.com/servo/servo
Source-Revision: 93004ce57999947f51067d680c6fde056741331a
2016-08-09 17:20:50 -05:00
Rahul Sharma
5d478f9b9e servo: Merge #12682 - Dispatch lifecycle events to service worker object and refactor html tests (from creativcoder:fire-fetch); r=jdm
<!-- Please describe your changes on the following line: -->

Changes introduced to dispatch `controllerchange`, `activate` and `fetch` simple events to Service Worker interfaces. The html tests under `tests/html/service-workers` was also updated to demo the changes.
r? @jdm

---
<!-- 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 fix #__ (github issue number if applicable).

<!-- Either: -->
- [X] These changes do not require tests because refactor.
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 20b9ce6cff2a2e553a1eba4bf74d8f58a96b6e65
2016-08-04 01:25:23 -05:00
Steve Melia
1938063073 servo: Merge #11726 - Issue 7720: Add target selector and update when scrolling to fragment (from sjmelia:7720_add_target_selector); r=mbrubeck
<!-- Please describe your changes on the following line: -->
Add the target pseudo selector and set/unset it during scrolling to fragment. This change is not complete as no repaint is triggered after the selector is added - it will only take effect after a repaint is triggered by e.g. hovering over another element. (See manual test)

I would like some help because i'm not sure how to resolve this; I can only think to call window.reflow.

I added a manual test case, don't think this counts really! I think the applicable automated test is in /tests/wpt/web-platform-tests/dom/nodes/Element-matches.html but it currently fails, I think due to the above.

---
<!-- 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 fix #7720  (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 7a7bdf51adc3c5051f93c8044797c8fcaf89953c
2016-08-03 14:53:30 -05:00
zakorgyula
554c1e7997 servo: Merge #12556 - Refactoring the WebBluetooth html tests (from szeged:htmltests); r=jdm
<!-- Please describe your changes on the following line: -->
We refactored the existing html tests, created new ones for every function of WebBluetooth specification and we moved them into a new folder. In every new test there are different test cases for each step of the function.
On this page (http://szeged.github.io/servo/testing/) there is a description about these tests, which describes the steps, the test cases, the expected behavior and the actual result.

---
<!-- 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 fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because these are tests for WebBluetooth.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 3401361461f149f5577b473aeee40a4e8f887a8d

--HG--
rename : servo/tests/html/bluetooth_characteristic_info.html => servo/tests/html/bluetooth/bluetooth_characteristic_info.html
rename : servo/tests/html/bluetooth_descriptor_info.html => servo/tests/html/bluetooth/bluetooth_descriptor_info.html
rename : servo/tests/html/bluetooth_device_disconnect.html => servo/tests/html/bluetooth/bluetooth_device_disconnect.html
rename : servo/tests/html/bluetooth_device_info.html => servo/tests/html/bluetooth/bluetooth_device_info.html
rename : servo/tests/html/bluetooth_included_service_info.html => servo/tests/html/bluetooth/bluetooth_included_service_info.html
rename : servo/tests/html/bluetooth_primary_service_info.html => servo/tests/html/bluetooth/bluetooth_primary_service_info.html
2016-07-28 08:56:18 -05:00
Rahul Sharma
7fc9b5fc26 servo: Merge #11727 - Integrate service worker manager thread (from creativcoder:swmanager); r=jdm
<!-- 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] These changes are part of #11091

<!-- Either: -->
- [X] There are tests for these changes at my [gh-pages](https://github.com/creativcoder/gsoc16/tree/gh-pages) branch to test  the instantiation of service workers by their manager, but will need to discuss how that would integrate into master.

Changes:
- Introduces a `ServiceWorkerManager`, which maintains an map of registered service workers as well as a map of active workers keyed by their `scope_url`.
- Adds the initialization of ServiceWorkerManager, at the `script::init()`, which makes it available as a single entity listening for requests from different script threads.
- Adds a timeout thread in `serviceworkerglobalscope`, which terminates the workers, after a timeout of 60 secs, thereby removing it from the active workers list.
- Adds the matching of scope urls, in longest prefix way rather than path structural way, according to [spec](https://slightlyoff.github.io/ServiceWorker/spec/service_worker/#scope-match-algorithm).
- Make ServiceWorkerManager, the holder of network sender, instead of script thread, so it can send `CustomResponse`.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 513811f6b40d522bc425c2588320b889614f2973
2016-07-18 09:50:59 -07:00
Josh Matthews
c9ebdb260a servo: Merge #12449 - Add a manual test for measuring DOM binding performance (from servo:jdm-patch-1); r=Ms2ger
This is the test harness I've been using for profiling and measuring in #12354.

Source-Repo: https://github.com/servo/servo
Source-Revision: f2efc0011ab229718181175a2637bbc4ce70cd0c
2016-07-15 02:21:19 -07:00
Emilio Cobos Álvarez
11c4b0e968 servo: Merge #12118 - style: Add support to the animation shorthand and fix parsing of animation-name (from emilio:animation-shorthand); r=SimonSapin
<!-- 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

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Part of #11916.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 1fabfee27e16a237d8a6a6b2e4aaad5e67311104
2016-07-08 06:01:52 -07:00
Steve Melia
9118aca3be servo: Merge #11781 - Issue 8719: Add basic support for :active selector (from sjmelia:8719_support_for_css_active); r=Manishearth
<!-- Please describe your changes on the following line: -->
Added toggling of active state for element and parents on mousedown/mouseup. Active state is removed when mouseout. (hover)

- As with my other PR i'm struggling a bit with the automated testing. I've added a manual test case and found quirks-mode/active-and-hover-manual.html which - aside from also being a manual test, is functional in Firefox but does not render correctly in Servo.
- Not implemented: In Firefox, behaviour differs with a <!DOCTYPE HTML> and an anchor does not lose it's activation on mouseout; whereas a button does.

---
<!-- 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 fix #8719  (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 5afdf7fb5c9a4c997a287f6d61ec05857f073ce2
2016-07-08 05:06:57 -07:00
Josh Matthews
b6061f6085 servo: Merge #11803 - Avoid unwinding into C stack frames (from jdm:catch-unwind); r=nox
Fix the biggest cause of #6462 by wrapping lots of JS->Rust transitions in catch_panic, and calling resume_panic after all Rust->JS transitions return.

Known issue:
* Finalizers can be called in response to any JS engine allocation that triggers a GC, so it's possible for a Rust object's Drop implementation that panics to leave an interrupted panic in TLS. This is why 30d8009 is part of this PR; the underlying problem is that there's no clear place to resume the panic after it is interrupted.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #6462 (github issue number if applicable).
- [X] There are tests for these changes OR

Source-Repo: https://github.com/servo/servo
Source-Revision: 87d991ebd24886051ad1131bdbe3b9019cb1c4b3
2016-06-22 08:36:01 -05:00
Patrick Walton
2120477f7d servo: Merge #11680 - script: When using WebRender, keep the DOM-side scroll positions for elements with overflow: scroll up to date, and take them into account when doing hit testing (from pcwalton:wr-overflow-scroll-hit-testing); r=jdm
Closes #11648.

r? @jdm
cc @paulrouget

Source-Repo: https://github.com/servo/servo
Source-Revision: 2d9338085561e7908c80ec7b2dd6d30125489aac
2016-06-11 11:01:36 -05:00
Anthony Ramine
bdd5c96847 servo: Merge #11610 - Fix all the links to the UI Events spec (from nox:dom3events); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 573c0a74684dc0043da4800a84065d72453641fd
2016-06-04 20:25:36 -05:00
Attila Dusnoki
16e1b07909 servo: Merge #11367 - Extend WebBluetooth with included services (from szeged:included_services); r=jdm
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy --faster` does not report any errors
- [X] These changes do not require tests because there are no webbluetooth tests yet

Source-Repo: https://github.com/servo/servo
Source-Revision: 3bf96a7a318d495c48538ccba15f6a4108e9b4c2

--HG--
rename : servo/tests/html/bluetooth_primary_service_info.html => servo/tests/html/bluetooth_included_service_info.html
2016-05-26 14:04:33 -05:00
zakorgy
a0cd31e623 servo: Merge #11028 - Remove BluetoothDevice members (from szeged:webbluetooth); r=jdm
Five of the BluetoothDevice members has been deleted in the spec:
8d148ba3c3

These were the vendorID, vendorIDSource, deviceClass, productID, productVersion.

Source-Repo: https://github.com/servo/servo
Source-Revision: a153e20c5503b6720d7abbfe36acfdda33a8d4dd
2016-05-06 17:07:55 -07:00
Attila Dusnoki
4b585c7691 servo: Merge #10632 - WebBluetooth impementation (from szeged:bluetooth-ipc); r=jdm
Update the current WebBluetooth implementation.

Source-Repo: https://github.com/servo/servo
Source-Revision: 944a8dc25a590e9722753abc968cb8cb21745997
2016-05-04 08:06:06 -07:00
Zhen Zhang
f136b02391 servo: Merge #9968 - Implement scroll, scrollLeft, scrollTop and friends, addressing issue #9650 (from izgzhen:scroll); r=asajeffrey
This is a work in progress to solve https://github.com/servo/servo/issues/9650. Thanks a lot for helping the review.

- [x] scroll
- [x] scrollTo
- [x] scrollBy
- [x] scrollTop (setter and getter)
- [x] scrollLeft (setter and getter)

The setters will be implemented in another PR after this is merged.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8d988f20c12e0a5267e79650a90310951c66ca77
2016-04-20 18:11:26 +05:01
Patrick Walton
46e11f6e68 servo: Merge #10529 - layout: Make child stacking contexts of fixed position stacking contexts also fixed position (from pcwalton:nested-fixed-position-webrender); r=glennw
Improves YouTube.
Improves the Washington Post.

Closes #10526.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 150338503dce8f2ba7f2a6850dca253733a636a1
2016-04-12 10:09:11 +05:01
Emilio Cobos Álvarez
7f3c31c248 servo: Merge #10224 - webgl: Add attribute validations and other nits (from emilio:shader-type-validations); r=jdm
Fixes https://github.com/servo/servo/issues/9958

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

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: f0014bd9cd5ac5db3e5a2f9fa8eafeb992df309a
2016-04-12 04:49:49 +05:01
Patrick Walton
356b5034b1 servo: Merge #10494 - layout: Make inner scroll wrappers acquire the overflow region of their contents (from pcwalton:overflow-scroll-nested-fixed-height); r=mbrubeck
Makes Twitter pages show up when scrolling, if WebRender is not in use.
WebRender does not yet support overflow:scroll.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 269eeeddd204cd13ed5a0bf80deefcb46a259b3c

--HG--
rename : servo/tests/html/percentage-body-height.html => servo/tests/html/overflow_scroll_with_nested_fixed_height.html
2016-04-09 06:22:21 +05:01
Joe Wilm
b4b5f371df servo: Merge #9688 - Implement Worker#terminate() (fixes #4427) (from KiChjang:worker-terminate); r=jdm
Adds support for terminating DOM workers. A closing flag was added to
WorkerGlobalScope per the spec.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: c0aa049b0aaf39df979234dff1ed01ff5d9aa5c5
2016-04-08 04:32:18 +05:01
Patrick Walton
3b41027007 servo: Merge #10450 - layout: Allow non-absolutely-positioned elements with overflow: scroll set to be scrolled (from pcwalton:overflow-scroll-non-positioned); r=mbrubeck
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.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: e66e437ae66346883cb2cc700f84d06c44962be1
2016-04-07 21:01:13 +05:01
Connor Brewster
d0bd2f8d97 servo: Merge #10215 - WebGL: Finish, Flush, DetachShader, GenerateMipmap (from cbrewster:webgl_finish); r=emilio
Implements #10212 and #10213

r? @emilio

Source-Repo: https://github.com/servo/servo
Source-Revision: 8b32e63db843b4ac534c33a87ed53a4acf9b6da7
2016-04-02 23:39:47 +05:01
Sagar Muchhal
135f6ff4b2 servo: Merge #10169 - Implement initial pieces of form validation (from jdm:formvalidation); r=jdm
Rebase of #10108.

Source-Repo: https://github.com/servo/servo
Source-Revision: f56062b0698addf17d8077f11e3c12a7e3a3cb8b

--HG--
rename : servo/resources/shaders/clear.fs.glsl => servo/components/script/dom/validation.rs
2016-03-24 18:44:02 +05:01
Glenn Watson
0bb8ab3918 servo: Merge #9841 - Fix unexpected overflow with overflow: hidden set (from glennw:extra-overflow); r=pcwalton
Fixes #9719.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3ff5082798825c6b5925ba4ef3553eb653700695
2016-03-03 00:06:50 +05:01
Peter
77f0496d57 servo: Merge #9632 - Addresses Issue #1716. Indicated part of the document (from peterjoel:issue_1716); r=KiChjang
Fixes #1716.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8d63eff463417cdc739dd291d0ae4ab225b8dce5
2016-02-17 14:54:21 +05:01
Patrick Walton
98bb874f22 servo: Merge #9522 - layout: Separate out overflow-for-scrolling from overflow-for-paint (from pcwalton:two-overflows); r=mbrubeck
Closes #9484.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: fb3fe3d784c24cdfd8040af0282e5c2182ee2051
2016-02-05 10:29:50 +05:01
Patrick Walton
9c109d7fbb servo: Merge #9429 - Dispatch scroll events to layers above others (from pcwalton:iframe-scroll-stacking); r=mbrubeck
Closes #9416.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: b66a0014510aaebb7c926160923738fc4fe88ca2
2016-01-26 06:59:23 +05:01
Patrick Walton
c5adf3e3d9 servo: Merge #9428 - Make hit tests against box shadows always fail (from pcwalton:incorporeal-shadows); r=mbrubeck
Closes #9268.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 71d49fc73dd0f3fe42757d87cb60b98c9454d5fa
2016-01-26 06:13:57 +05:01
Patrick Walton
12dbf27eaf servo: Merge #9405 - layout: Remove some bogus code that tried to handle absolutely-positioned flows separately when storing overflow (from pcwalton:absolute-positioning-overflow); r=glennw
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.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 4755cc5c6211e845fc8081cb3c8a67b4bdbea5cc
2016-01-25 23:51:26 +05:01
Manish Goregaokar
a60fbbcbd2 servo: Merge #8983 - Various textinput fixes (from Manishearth:cursors); r=jdm
- Currently the cursor sticks around if you click elsewhere. Now the text inputs are relayout-ed on blur.
 - Currently whitespace gets collapsed in text input (https://github.com/servo/servo/issues/8772). Not anymore.

Source-Repo: https://github.com/servo/servo
Source-Revision: 099beee85c02d391b854dc5e06da34f89df8b760
2016-01-11 22:52:03 +05:01
Manish Goregaokar
e927e712c3 servo: Merge #9072 - Fix placeholders for password inputs (from Manishearth:password-placeholder); r=eefriedman
currently they show dots instead of the placeholder text

Source-Repo: https://github.com/servo/servo
Source-Revision: 7f156b8c12833e9134d29c4c309963eaa48c4ce1
2016-01-03 09:52:26 +05:01
Emilio Cobos Álvarez
504c454c42 servo: Merge #8876 - WebGL nits (from emilio:webgl-nits); r=jdm
This improves support for running our triangle test (see: https://github.com/servo/servo/pull/8831), and adds missing error in `BufferSubData`

Source-Repo: https://github.com/servo/servo
Source-Revision: 9cccd34bc487f485c69dae71c5cd07ac8fabed4d
2015-12-08 03:27:52 +05:01
Ravi Shankar
d99d5eaa1c servo: Merge #8649 - Moving Servo's cry message! (from Wafflespeanut:I_TRIED); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: f6591a3d9e5e4b010d09fb2b2869234297367eec

--HG--
rename : servo/tests/html/itried.jpg => servo/resources/itried.jpg
2015-11-23 02:52:57 +05:01
Josh Matthews
19cffaa15a servo: Merge #7847 - Style <select multiple> appropriately (from jdm:selectstyling); r=Manishearth
<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">

Source-Repo: https://github.com/servo/servo
Source-Revision: 460f067b9da42cf7663f22428547b81f43ea60c1
2015-10-04 12:49:26 -06:00
Bryan Bell
d2f7e5b8c7 servo: Merge #7685 - Replace twitter fail whale with redirect to archive.org version (from bjwbell:add-twitter-fail-whale-attribution); r=pcwalton
Sorry @pcwalton should have gotten the attribution approved first (https://twitter.com/subcide/status/645149674546966528)

r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: b26fac3f783f9f67089875a697cc2bf835babbfa
2015-09-24 20:40:49 -06:00
Bryan Bell
20434e217e servo: Merge #7679 - Add css twitter fail whale html test & update ellipse_to_bezier comment (from bjwbell:reftest-twitter-fail-whale); r=pcwalton
cgaebel had a TODO for a css twitter fail whale reftest, which depended on elliptical border-radius support.
I didn't see any feasible way other than a reference image for border_twitter_fail_whale_b.html.

r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: c91c0188f279b9d7edf706fc7ad3111948156ed6
2015-09-18 22:54:44 -06:00
Patrick Walton
3574beaa4c servo: Merge #7600 - layout: Allow the overflow area of the <body> to be scrolled (from pcwalton:body-overflow-scroll); r=mbrubeck
Fixes scrolling on Twitter.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 8d7ba12f28a873880c1f51b122d4fc185294c849

--HG--
rename : servo/tests/html/lipsum.html => servo/tests/html/percentage-body-height.html
2015-09-11 11:20:13 -06:00
farodin91
d45cce0ef0 servo: Merge #7500 - Implement viewport functions for window #1718 (from farodin91:viewport); r=jdm
@jdm r?
closes #6875

Source-Repo: https://github.com/servo/servo
Source-Revision: a844c0b0e8ca26e3bd76a42616e406fad8f7e5a5
2015-09-01 21:31:25 -06:00
Michael Howell
1c55a7a5be servo: Merge #7260 - Navigate to a new page even when there's a fragment (from notriddle:issue_7169); r=Ms2ger
Closes #7169

Source-Repo: https://github.com/servo/servo
Source-Revision: 70b9922eb021a41ebdd9f54a4db0e9ddfb17786a
2015-08-19 01:40:28 -06:00