Commit Graph

766 Commits

Author SHA1 Message Date
Anthony Ramine
cd1d355ca7 servo: Merge #5850 - Fix generation of nullary callbacks (from nox:nullary-callbacks); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 92359c7b9addfe7ee161760aad20368bafd76c26
2015-04-27 08:42:42 -05:00
Tim Cuthbertson
b5ddf2fa72 servo: Merge #5865 - Implement implicit form submission from input elements (from timbertson:implicit-submit); r=Manishearth
With submission-blocking rules from https://html.spec.whatwg.org/multipage/forms.html#implicit-submission.

I wasn't sure if/where it would be relevant to add new tests (I couldn't find any existing tests in wpt to enable), so just let me know if this needs tests.

Source-Repo: https://github.com/servo/servo
Source-Revision: 56105e9f2fb390b431416473a616000636ad409c
2015-04-27 08:05:25 -05:00
Anthony Ramine
4b09eab3c6 servo: Merge #5862 - Change MutNullableJS<T> to MutNullableHeap<JS<T>> (from nox:mutnullableheap); r=jdm
This is useful for union types, in cases where we need MutNullableHeap&lt;NodeOrString&gt;.

Source-Repo: https://github.com/servo/servo
Source-Revision: b0ddd8149b04db6bceba0c0b8de852acc1086838
2015-04-27 03:50:08 -05:00
ecoal95
eabccfe7ae servo: Merge #5863 - Refactor WebGL implementation (reopens #5769) (from emilio:webgl-refactor); r=jdm
GitHub doesn't allow me to reopen #5769, so I created this.

Sorry about the merge fail, my bad :/

cc/ @jdm @dmarcos

---

This PR uses customized GL context creation code, right now only working under Linux, so I expect the clearcolor test to fail on other platforms.

It addresses some other problems:

* Propagates context creation error to the top, returning null if not found.
* Uses GLContextAttributes, which will allow us to write WebGLContextAttributes easily.
* Doesn't allow a 2d context and a WebGL context coexist.
* Panics when resizing the context to larger dimensions (to be fixed soon, but better than blindly allowing it).
    Removes some unused dependencies

Source-Repo: https://github.com/servo/servo
Source-Revision: 9f2ad9376eaf598898387ea2c26f48c3ceb0330d
2015-04-26 21:28:35 -05:00
Jacob Taylor-Hindle
630913efbb servo: Merge #5860 - Remove #[jstraceable] annotation for the RootedVec type [Issue #5849] (from GlassAndOneHalf:remove-jstraceable); r=jdm
This PR solves Issue #5849.

Source-Repo: https://github.com/servo/servo
Source-Revision: ea00e949a45ca2e8842882b1b8a6ad7970890c00
2015-04-26 19:00:06 -05:00
Anthony Ramine
02e9fd35d0 servo: Merge #5852 - Remove unsafe transmute functions in JS and LayoutJS (from nox:rm-unsafe-transmute); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 56a7981c9c9c6df30fbb3add3d8d0085916fe313
2015-04-26 14:40:31 -05:00
Ms2ger
c7955e722b servo: Merge #5847 - Avoid as_slice() / at_mut_slice() (from Ms2ger:slice); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 1389be37823fccf4108f4e79d0a3a793f0bbe93e
2015-04-26 05:30:28 -05:00
Peter
9ac0d7f286 servo: Merge #5844 - Removed unessary poping in dispatch_event, fixes #5843 (from pgonda:removing-poping-dispatch_event); r=Ms2ger
fixes for #5843

Source-Repo: https://github.com/servo/servo
Source-Revision: aef48baeb4a67d003c8a88d91d01d3a33ac3620d
2015-04-26 02:53:45 -05:00
Ms2ger
bdc596eda8 servo: Merge #5840 - Replace the Str implementation for AttrValue by a Deref implementation (from Ms2ger:attrvalue-slice); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: b22a6c8095f03fda6e8901dea768af18d474fb31
2015-04-25 08:59:26 -05:00
Anthony Ramine
80750f3330 servo: Merge #5779 - Implement the CSS interface (from nox:css-escape); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 1f9de5ee2ce4dc039b01e575d60a4fee41a0b8b8
2015-04-25 05:42:41 -05:00
Dhananjay Nakrani
39f210d087 servo: Merge #5823 - Implement HTMLMetaElement.{name,content} (fixes #5663) (from servo:meta); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 88d9c1b257d7519e43d36bcaef67588b9fa54c7e
2015-04-24 08:28:47 -05:00
Anthony Ramine
294e101ec0 servo: Merge #5806 - Implement Text.splitText() (from nox:splittext); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 1b08211a5e9ec00eeaf241b916d51dc665289825
2015-04-23 09:38:48 -05:00
Anthony Ramine
777bcadb1c servo: Merge #5768 - Implement SVG support for Document.title (from nox:document-title); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: d037187213234d6c0deb5f2c6439647b5dd1b8a4
2015-04-23 05:20:45 -05:00
Mátyás Mustoha
69ad591e1a servo: Merge #5802 - Fix some irregular indentation (from mmatyas:indentfix); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 43d666f94b9b1b8313d430785946b8d3e020fecf
2015-04-22 19:49:30 -05:00
Glenn Watson
1511f427f8 servo: Merge #5767 - Refactored image cache task - details below (from glennw:image-cache); r=larsbergstrom,jdm
* Simpler image cache API for clients to use.
 * Significantly fewer threads.
   * One thread for image cache task (multiplexes commands, decoder threads and async resource requests).
   * 4 threads for decoder worker tasks.
 * Removed ReflowEvent hacks in script and layout tasks.
   * Image elements pass a Trusted<T> to image cache, which is used to dirty nodes via script task. Previous use of Untrusted addresses was unsafe.
   * Image requests such as background-image on layout / paint threads trigger repaint only rather than full reflow.
 * Add reflow batching for when multiple images load quickly.
   * Reduces the number of paints loading wikipedia from ~95 to ~35.
 * Reasonably simple to add proper prefetch support in a follow up PR.
 * Async loaded images always construct Image fragments now, instead of generic.
   * Image fragments support the image not being present.
 * Simpler implementation of synchronous image loading for reftests.
 * Removed image holder.
 * image.onload support.
 * image NaturalWidth and NaturalHeight support.
 * Updated WPT expectations.

Source-Repo: https://github.com/servo/servo
Source-Revision: ac0645c2363b5a6ea3930b0857b3a27f1b6d033f
2015-04-22 19:16:46 -05:00
Ms2ger
d21a740830 servo: Merge #5801 - Stop using the deprecated range function (from Ms2ger:range); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 43e664cda1dd562935fe5e4fdd92e5abcf6fb8f9
2015-04-22 18:24:21 -05:00
Mátyás Mustoha
3ceb9c7bf4 servo: Merge #5757 - Canvas: implement global composition and blending (from mmatyas:canvas_globalcomposite); r=jdm
Implements https://html.spec.whatwg.org/multipage/scripting.html#dom-context-2d-globalcompositeoperation.

Source-Repo: https://github.com/servo/servo
Source-Revision: e278e5b9a27738bdca7a151b4295628e1f179e29
2015-04-22 14:15:28 -05:00
Mátyás Mustoha
8953c2461c servo: Merge #5773 - Canvas: add clipping path support (from mmatyas:canvas_clip); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: c4b7979450a3b884ed727e0c1d306897d255aef9
2015-04-22 10:40:10 -05:00
Ms2ger
b7f90cee85 servo: Merge #5790 - Store a Runtime object in ScriptTask (from Ms2ger:new_rt_and_cx); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 886805d76c206214047c475c6f8947c8c38c40b7
2015-04-22 07:08:41 -05:00
Avi Weinstock
effc56f690 servo: Merge #5547 - X11 clipboard support (from aweinstock314:x11-clipboard); r=jdm
Manual re-opening of #5479 (since it seems that GitHub disables re-opening with the same number after a rebase).

Source-Repo: https://github.com/servo/servo
Source-Revision: 9974ebb2f969d2de8959fe74844b7410a5acd54e
2015-04-21 14:41:32 -05:00
Anthony Ramine
c721dcf26a servo: Merge #5775 - Implement CSSStyleDeclaration.float (fixes #5101) (from nox:cssstyledeclaration-float); r=jdm
It just needs to be prefixed by an underscore.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7fa1a6a42621a8bd46137b3417a7623a6b3ed2d1
2015-04-21 13:33:03 -05:00
Maciej Skrzypkowski
0b9bc60a59 servo: Merge #5594 - Refactoring, added conversion to lowercase for get_attribute_by_name method. (fixes #5561) (from mskrzypkows:get_attribute_by_name); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: a3dafe49999d24e12b2f6b5cc74b468e58b7384a
2015-04-21 10:23:03 -05:00
Mátyás Mustoha
5201431aa6 servo: Merge #5770 - Canvas: implement rectangle drawing (from mmatyas:canvas_rect); r=jdm
A simple little patch.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1d66b090a2b25203f751455d9f0f4985a77ccd64
2015-04-21 08:43:47 -05:00
Diego Marcos
00f99e2944 servo: Merge #5652 - Kicking off a WebGL implementation (from dmarcos:webgl); r=jdm
@jdm @ecoal95 I'm working on making VR happen in the Browser and I want to bring to Servo the [webVR APIs](https://github.com/MozVR/webvr-spec/blob/master/webvr.idl) we already have in Gecko. Before anything happens we need a working implementation of WebGL (and also the [fullscreen API](https://fullscreen.spec.whatwg.org/)). My implementation is very basic and probably naive (I just recently started to contribute to Servo). My patch is just a starting point:

- It only implements ```clearColor``` and ```clear``` methods of the [WebGL spec](https://www.khronos.org/registry/webgl/specs/latest/).
- It uses the readback strategy that ```canvasRenderingContext2D``` is using (The webgl task paints stuff independently on it's own buffer and the compositor task request the pixels back to the webgl task when it needs them) I'm sure there are much better ways to handle this. Latency and FPS are critical in VR so we have to figure out the fastest way to push pixels to the screen. I've read something about layerizing the canvas but I'm still not sure what that even means :)
- There's an included test you can try ```./mach run tests/ref/webgl-context/clearcolor.html```

@ecoal95 I know you'll be working on this for the next three months. With a foundation in place we will be able to make quick progress in parallel. This is exciting!

Source-Repo: https://github.com/servo/servo
Source-Revision: e4b620ea54c94e03095e4108bce94ec750416bba
2015-04-20 19:29:02 -05:00
Ms2ger
b71bc6d55d servo: Merge #5750 - Parse attributes according to the specification in AttrValue::from_u32 (from Ms2ger:from_u32); r=jdm
This exposes another bug: "-0" failed to parse with str.parse(), and is now
successfully parsed into 0. However, input.size and textarea.{rows, cols} are
supposed to be "limited to only non-negative numbers greater than zero", so 0
is not actually supposed to be accepted.

Source-Repo: https://github.com/servo/servo
Source-Revision: b2585bee4d483f8a9ae93f3a017e97c0277421d1
2015-04-20 07:36:06 -05:00
Glenn Watson
0eccf68b72 servo: Merge #5559 - Support focus management and keyboard events for iframes (from glennw:iframe-focus); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 8b8daa24b8d25c531ea74a70b4b6e25cb3d7d58c
2015-04-19 18:13:59 -05:00
Mátyás Mustoha
958c5b446c servo: Merge #5731 - Canvas: implement context state save/restore (from mmatyas:canvas_saverestore); r=jdm
This patch enables the use of `save()` and `restore()` for the canvas context, which is used by *a lot* of sites and scripts.

Depends on servo/rust-azure#153.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9c7c289acae3ea012338a5b25bc50a10e7f7074d
2015-04-19 17:40:33 -05:00
Ms2ger
32965e105e servo: Merge #5741 - Use get_attr_for_layout more (from Ms2ger:attr-for-layout); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: e5ec55f0d8d4ec17aab3682e6d3048c88c6f458e
2015-04-19 09:37:29 -05:00
Bogdan Cuza
8a20ec7f7a servo: Merge #5567 - Make mouse_over_targets a RootedVec (from boghison:document_rootedvec); r=jdm
Fixes #5539

Source-Repo: https://github.com/servo/servo
Source-Revision: 331708f0f6d4bff8cec608e963fb24f79cf1ffca
2015-04-19 09:05:23 -05:00
Corey Farwell
7a0c4a962f servo: Merge #5729 - Don't link to specific WHATWG multipage page (from frewsxcv:whatwg-multipage-redirects); r=Manishearth
"Links to the multipage version of the specification are unfortunately
likely to break over time."
-- https://html.spec.whatwg.org/multipage/asefij.html

This commit removes all references to the specific pages when viewing
WHATWG using multipage mode. I went through all these links and they
redirect fine.

Regex used to generate this commit:

`s_whatwg.org/multipage/.*#_whatwg.org/multipage/#_g`

Source-Repo: https://github.com/servo/servo
Source-Revision: d90fe2b0889dee4eb27693aca7670969d5253424
2015-04-17 08:57:33 -05:00
Marcus Klaas
15769105c8 servo: Merge #5733 - Remove unnecessary clone in Document constructor (from marcusklaas:issue-5719); r=Manishearth
This closes issue https://github.com/servo/servo/issues/5719.

Source-Repo: https://github.com/servo/servo
Source-Revision: c3ed0fd57377c617ef877cd685d3248ce37d1710
2015-04-17 07:53:06 -05:00
Anthony Ramine
9dc8518d21 servo: Merge #5721 - Finish implementation of ChildNode and ParentNode (from nox:nodeorstring); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 4fd4370a9680f4845f05efd43ce9cb26c7433f05
2015-04-16 14:47:32 -05:00
Ms2ger
e374ed8222 servo: Merge #5717 - Fix URLSearchParams formatting (from Ms2ger:usp); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: e26219828bfd71c5dfce411f93f2ea5dbb131d7a
2015-04-16 14:15:16 -05:00
Md. Enzam Hossain
48f39ecb25 servo: Merge #5650 - Implement node::LookupPrefix and add test (from ienzam:issue/1826); r=jdm
Tracking issue #1826 - implemented one of the three methods.

This is follow up of #5402. Rebased and squashed and made the method iterative.

Source-Repo: https://github.com/servo/servo
Source-Revision: e3756f9e3fe8c042f5e6a02b9d4d6a2310aeda04
2015-04-16 13:07:20 -05:00
Josh Matthews
3e5cee10f5 servo: Merge #5156 - Support opt-in async network events (from jdm:asyncnet); r=pcwalton,Manishearth
This implements a framework for opting in to receiving network events asynchronously. It also converts XMLHttpRequest to use them, and paves the way for better support for synchronous XHR using on-demand, targeted event loops instead of spinning the global event loop. This gives us complete feature parity with the existing XHR implementation, using fewer threads than before in the async case.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3151497d498b001b4a783dce0595615c6fc40936
2015-04-16 11:33:06 -05:00
Mátyás Mustoha
4c0d815c42 servo: Merge #5701 - Add specification links to canvas line cap and line join (from mmatyas:canvas_linecapjoin_url); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 045831748e08f0b82ca84bd7d93844cb1c7eab60
2015-04-15 10:44:42 -05:00
Corey Farwell
1d84128a7b servo: Merge #5693 - Add/update comments with links to spec (from frewsxcv:spec-links); r=jdm
Extracted out of #5649

* add more hyperlinks to associated specification for structs/methods
* follow redirects and update links
* replace broken links
* removal of WHATWG multipage page name since the page name is not
  guaranteed to be stable

Source-Repo: https://github.com/servo/servo
Source-Revision: 3dc25af9e121db010e4385efb3863ba45b0e0bcf
2015-04-14 17:16:55 -05:00
Mátyás Mustoha
bccbfe6a0d servo: Merge #5635 - Canvas: added lineCap and lineJoin support (from mmatyas:canvas_linecapjoin); r=jdm
This patch adds support for setting the line cap and join. However, it seems there's a problem on the azure-side, as the line cap setting doesn't work. Changing either the default values or using the new function has no effect. Line join works fine though.

Source-Repo: https://github.com/servo/servo
Source-Revision: fe81ce942a36b08ece8ef6d58de72624a961eeaa
2015-04-14 12:57:48 -05:00
Aneesh Agrawal
ebfa505f58 servo: Merge #5659 - Add RangeError and use it in the constructors for TextEncoder and TextDecoder (from aneeshusa:add-range-errors-use-for-textencoder-textdecoder); r=jdm
Fixes #5620, and adds a few extra test cases.

Currently waiting on a few upstream PRs in rust-encoding to land.

Source-Repo: https://github.com/servo/servo
Source-Revision: f7c3544d75f277f8ac82c54f075d53042761b344
2015-04-14 09:44:21 -05:00
Anthony Ramine
a5d01b30fc servo: Merge #5674 - Remove unnecessary uses of get_unsound_ref_forever() (from nox:get_unsound_ref_forever-misc); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 2dfa28f18670dec249d00978a61f1119afa3b839
2015-04-14 04:56:08 -05:00
Ms2ger
527ad1e2b3 servo: Merge #5680 - Update some URLs (from Ms2ger:urls); r=Manishearth
The HTML spec's division into pages is not stable, so it is safer to use the
URL without a specific page (which will redirect).

Source-Repo: https://github.com/servo/servo
Source-Revision: 894b19526f1903f398c7817567b7d1b1e34998ed
2015-04-14 03:52:08 -05:00
Corey Farwell
a0f726ff70 servo: Merge #5677 - Update WHATWG links to use HTTPS (from frewsxcv:https); r=Ms2ger
Extracted this out of #5649

This commit was created with the following commands:

```
find . -iname "*.webidl" -type f -print0 | xargs -0 sed -i '' 's/http:\(.*\)whatwg.org/https:\1whatwg.org/g'
```

```
find . -iname "*.rs" -type f -print0 | xargs -0 sed -i '' 's/http:\(.*\)whatwg.org/https:\1whatwg.org/g'
```

Source-Repo: https://github.com/servo/servo
Source-Revision: 4997d3a112354a407365fede1ab1944834a2e13c
2015-04-14 02:57:41 -05:00
Aneesh Agrawal
e995123d66 servo: Merge #5642 - Switch Arc<Box<Image>> to Arc<Image> for perf boost (from aneeshusa:arc-box-image-to-arc-image); r=Ms2ger
Image used to be a trait, but no longer is, so boxing it is no longer
necessary. Fixes #5639.

Source-Repo: https://github.com/servo/servo
Source-Revision: b7f59a36461e6c9eb08b8e48760168d3cb26a400
2015-04-14 01:57:07 -05:00
Shing Lyu
5a29a7ef77 servo: Merge #5593 - 4873 - Support the image map processing for <img ismap/> inside an <a/> (from shinglyu:ismap); r=jdm
This implements issue 4873

Source-Repo: https://github.com/servo/servo
Source-Revision: 4fac8b6810d9d748fffc025cfd1bb1d2b6c5655d
2015-04-14 00:10:08 -05:00
Chris Paris
ed0933cf97 servo: Merge #5675 - Use NodeFilterConstants from NodeFilterBinding (from ChrisParis:treewalker-nodefilter); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 55de52d76ad0c864b7875c561df5c5f3867b2d73
2015-04-13 18:27:46 -05:00
Chris Paris
02a799ffa4 servo: Merge #5672 - Uncomment NodeFilter constants (from ChrisParis:nodefilter); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b9b4389628951b51e7e88fdd062220014c6c3595
2015-04-13 17:18:40 -05:00
Adenilson Cavalcanti
ca82d9f697 servo: Merge #5673 - Squashing a few compiler warnings (from Adenilson:squashWarnings); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 92991f807021fa99b844f03a6458f97fe86bf5c6
2015-04-13 16:47:09 -05:00
Chris Paris
90dab66a49 servo: Merge #3726 - Support callback interfaces with constants (from ChrisParis:callback-constants); r=jdm
This addresses https://github.com/servo/servo/issues/3149. The immediate purpose is to support the constants in NodeFilter. The changes mostly follow the current Gecko Codegen.py. The main gist is that the generation of certain code artifacts is now gated by hasInterfaceObject() or hasInterfacePrototypeObject(), rather than by isCallback().

Source-Repo: https://github.com/servo/servo
Source-Revision: 1f9c2f9b34dede8182f45655b03380f8c26f3475
2015-04-13 14:34:39 -05:00
Guro Bokum
b33284109c servo: Merge #5636 - Firefox timeline integration #4957 (from JIoJIaJIu:timeline); r=jdm
Available markers only:

Reflow
DOMEvent
Also need to implement:

Style marker
Paint marker
Javascript marker
frames reply, depends on getting javascript stack
I decided to make pull request before implemented another markers for getting feedback.
mb it would be better to create separated tasks.

Notices:
Marker doesn't fill stack and stackEnd
MemoryActor sends fake data because there is no memory profiler per tab
FramerateActor sends empty Vec, need implement http://mxr.mozilla.org/mozilla-central/source/dom/base/nsGlobalWindow.cpp#5240

Source-Repo: https://github.com/servo/servo
Source-Revision: 74c847a17fb560dd4cd62069778776f6f06df19f
2015-04-13 12:44:49 -05:00
Anthony Ramine
7d4feeae2e servo: Merge #5645 - Use a simple Temporary value in TreeIterator (from nox:treeiterator-temporary); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 1e45d025b381390f346e8f24db615cb698033844
2015-04-13 04:52:32 -05:00