Commit Graph

589 Commits

Author SHA1 Message Date
ecoal95
c8d70e6b9f servo: Merge #5926 - Fix WebGL objects inheritance (from emilio:webgl-object-inheritance); r=jdm
Uses WebGLObject inheritance as specified by the WebGL 1.0 spec.

Source-Repo: https://github.com/servo/servo
Source-Revision: 72ca16ed555cac4aa3019411c7157251107efccc
2015-05-03 19:59:08 -05:00
Diego Marcos
e7427500b0 servo: Merge #5820 - Implements enough WebGL spec to draw a triangle (from dmarcos:firstTriangle); r=jdm
This is WIP. still have to clean up the code a little bit but I wanted to show the progress. I got really excited when I saw my first triangle on screen ```./mach run tests/ref/webgl-context/triangle.html```

![firsttriangle](https://cloud.githubusercontent.com/assets/39342/7313736/e3fdb41e-ea11-11e4-8c63-78523cd9dcc7.png)

Source-Repo: https://github.com/servo/servo
Source-Revision: b43a2ed80714131db4c92a51c0046245aa43da11
2015-05-02 21:22:28 -05:00
Prabhjyot Singh Sodhi
04a7bbe8e7 servo: Merge #5903 - TextEncoder::Constructor should not trim whitespaces or lowercase labels (from psdh:textencoder5900); r=Ms2ger
... #5900

Fixes #5900

Source-Repo: https://github.com/servo/servo
Source-Revision: ba8eaac3e42d6df447377203a1f92a65080a79b2
2015-05-01 16:33:58 -05:00
Ms2ger
607915e1d8 servo: Merge #5916 - Prepare for the rustup (from servo:prepare-rustup); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 2f0b805fad2419518f0d80e90cf322fbd507a916
2015-05-01 14:44:19 -05:00
Peter
4a22efa243 servo: Merge #5725 - added dispatching for mousedown and mouseup events, fixes #5705 (from pgonda:dispatch-mousedown-mouseup); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 88ed4e58e16e1ccf2957e1838175b5195c5d7950
2015-04-30 12:22:03 -05:00
Anthony Ramine
508e8d07f1 servo: Merge #5839 - Implement base machinery of Range (from nox:range); r=Manishearth
The actual boundary points are behind a Rc<_> value to let nodes be able to store weak references to them in the future.

Source-Repo: https://github.com/servo/servo
Source-Revision: 15c4372a8be9c2b73d9e09bd7684484e48d220e8
2015-04-30 05:59:55 -05:00
Anthony Ramine
7a2bf39679 servo: Merge #5896 - Properly generate proxy stringifiers (from nox:stringifier-proxy); r=jdm
The proxy stringifiers called through {}.toString.call() (obj_toString) shouldn't use the stringifier.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2c177794408bfbb5f8d6042f38639a5cba5eb2e5
2015-04-30 04:33:32 -05:00
Prabhjyot Singh Sodhi
c0097a3fe1 servo: Merge #5895 - Uniformise the various Msg types [#5882] (from psdh:uniformiseMsgTypes); r=jdm
Fixes #5882

Source-Repo: https://github.com/servo/servo
Source-Revision: 19a4a263645a643d3a3f79b41b816fe8b8727265
2015-04-29 15:51:39 -05:00
Jinwoo Song
305d6f9cf0 servo: Merge #5879 - Make NodeTypeId include CharacterData variant (from Jinwoo-Song:character_data); r=jdm
NodeTypeId is supposed to reflect the WebIDL inheritance hierarchy.
All of Text/ProcessingInstruction/Comment inherit from CharacterData,
which inherits from Node. There should be a CharacterDataTypeId value
that differentiates between those, instead.

r? @jdm
cc @yichoi

Source-Repo: https://github.com/servo/servo
Source-Revision: 5b0c6c9d31973aabdb820f16237e1a7c2a6524ad
2015-04-29 02:35:26 -05:00
Simon Sapin
18ebfd9b8c servo: Merge #5480 - Preliminary steps for CSS Multi-column Layout (from SimonSapin:multicol); r=pcwalton
This add some properties to the style system and a new flow type, but the larger issues of dealing with fragmentation in the flow tree is still an open question.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1e150140bd12624ad357e3168fb496079fb8ec7c
2015-04-28 19:48:45 -05:00
Ms2ger
622e167a6a servo: Merge #5888 - Prepare for the rustup (from Ms2ger:prepare-rustup); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: ab2d07db1fabd7ad9590aa7296038bbc91806c3f
2015-04-28 17:52:49 -05:00
Dave Hodder
290fb4e1bb servo: Merge #5883 - Add attributes to the HTMLDialogElement interface (from servo:dialog); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: ae98f76048559282421bd642c26d9ff4369a38bd
2015-04-28 10:56:06 -05:00
Glenn Watson
7aa5265bd6 servo: Merge #5877 - Remove node dirty on img width/height that is no longer needed (from glennw:img-cache-tidy); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: ae99a17a1b1b6e51317c9a22e66bc6c166815c3b
2015-04-28 09:08:44 -05:00
snf
94c0ef0714 servo: Merge #5845 - Fix defineProperty codegen (from snf:defineProperty_fix); r=jdm
This patch should get rid of #5223.

Source-Repo: https://github.com/servo/servo
Source-Revision: 01925f0f8f65be177e0c2d9bab14b091bf67b220
2015-04-28 07:51:31 -05:00
Anthony Ramine
17374ab21b servo: Merge #5871 - Cleanup JS traits and methods (from nox:rootable); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b8ae33e510ea30e3200834fc2f7fbc426b86701e
2015-04-28 04:23:05 -05:00
Ms2ger
61c403ae3e servo: Merge #5857 - Create a new infrastructure for presentational hints (from Ms2ger:preshints); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 1cb012fc5043dd978d118e49b2f76e9320090bba
2015-04-28 03:24:14 -05:00
Anthony Ramine
b9d4e653fc servo: Merge #5874 - Fix DOMImplementation.hasFeature() (from nox:hasfeature); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: cac6ef80777d2b64b800366831f460f01462e0ce
2015-04-28 01:30:51 -05:00
Manish Goregaokar
035e4ad068 servo: Merge #5855 - Add move protection to Root and friends (from Manishearth:nomove); r=kmc,munksgaard
fixes #5724, #5737


uses https://github.com/Manishearth/rust-tenacious (can be moved in-tree if needed)

I can make it `Deny` by default too (I'll add a cargo feature to tenacious), though we might want it on
`Warn` until we get some mileage on it.

Source-Repo: https://github.com/servo/servo
Source-Revision: d7987e43c944eb9b156bf3244c08fce4cb570db4
2015-04-27 23:14:25 -05:00
Peter
bdd9fd7907 servo: Merge #5692 - Switched Element::Get_attributes to use a RootedVec (from pgonda:get_attributes-memory-safety); r=jdm
Changes Element::get_attributes to use a `&mut Rooted<JS<Attr>>` param instead of returning a `Vec<Temporary<Attr>>`, fixes  #5684.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8ecb9d681c385995b082d67874fdfa7f1e929e1f
2015-04-27 15:25:30 -05:00
Ms2ger
6a37f39778 servo: Merge #5777 - Make Attr::prefix an Atom (from tamird:ICE-attr-prefix-atom); r=jdm
Rebase of https://github.com/Ms2ger/servo/commits/ICE-attr-prefix-atom

Some of the changes weren't necessary since the internals had been refactored some in the interim. In any case, I was unable to reproduce the ICE reported in https://github.com/rust-lang/rust/issues/18957.

@Ms2ger

Source-Repo: https://github.com/servo/servo
Source-Revision: b0a7d1bf865eff7b6ca3bae874004a61c19b3c27
2015-04-27 14:37:38 -05:00
Anthony Ramine
1704abb708 servo: Merge #5872 - Fix CanvasGradient.addColorStop() (from nox:canvasgradient); r=saneyuki
The argument should be a double.

Source-Repo: https://github.com/servo/servo
Source-Revision: eefa3eba256d48bc24189417c3bb8d3a9a77d979
2015-04-27 13:45:17 -05:00
Anthony Ramine
5eb08ed159 servo: Merge #5868 - Implement Body.bgColor and Document.bgColor (from nox:document-legacy); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 9ec2ce0decff852f24280a59c779220f243bcff6
2015-04-27 13:06:29 -05:00
Simon Sapin
e11ff55b59 servo: Merge #5870 - layout: Implement most of border-collapse per CSS 2.1 § 17.6.2 (from SimonSapin:border-collapse); r=SimonSapin
Fixes #5300, which it is a rebase of.

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.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8a4555cc53bc1bbb21a08eb6f010cb1215034419
2015-04-27 12:29:15 -05:00
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