Commit Graph

181 Commits

Author SHA1 Message Date
Chris Manchester
ff1ba18d20 servo: Merge #4189 - Return early and decline analysis when linting within unsafe functions; fixes #3658 (from chmanchester:rootlint); r=jdm
I think this matches the intent of the issue, I'm a rust/servo novice; any suggestions for improvements are welcome. Thanks!

Source-Repo: https://github.com/servo/servo
Source-Revision: 2615be9bab984c8356bc053f90452d6f9fdaa241
2014-12-11 15:57:58 -07:00
Patrick Walton
755e7a69c3 servo: Merge #4193 - ports/cef: Implement accelerated compositing for the CEF port (from pcwalton:cef-redux); r=pcwalton,metajack
@glennw, is it possible to rebase your stuff on top of this? Sorry for the mess.

r? @metajack

Source-Repo: https://github.com/servo/servo
Source-Revision: ba06d50e3a611d1c27c6c9aa0b21441282911c3f
2014-12-10 09:40:03 -07:00
Shing Lyu
d9fa5e29a5 servo: Merge #4108 - Blob (from shinglyu:blob); r=jdm
Let's build this incrementally. I implemented a `Blob` that can hold a `DOMString`, and has `size` attribute and `slice(...)` method. I'll finish the rest in later PRs.

Source-Repo: https://github.com/servo/servo
Source-Revision: d2a67abea9f6acd7b0ea29a852bf5029aef3f405
2014-12-09 08:43:08 -07:00
Emanuel Rylke
5e08e6b5a8 servo: Merge #4304 - Don't include the root element when calling Element#getElementsByTagName (from ema-fox:bytag); r=Ms2ger
Fixes #4249

Source-Repo: https://github.com/servo/servo
Source-Revision: ef81fb13e73d8d8bbda80fbe52ee9d5a539bc519
2014-12-09 06:33:59 -07:00
Zirak
410a8ea2d2 servo: Merge #4298 - Bound several link properties (from Manishearth:zirak-link-attrs); r=Manishearth
Carried over from #4248

Critic review: https://critic.hoppipolla.co.uk/r/3392

Source-Repo: https://github.com/servo/servo
Source-Revision: 7d4ec333750fd7d57226c1d915f3227a2998e02f
2014-12-08 23:30:59 -07:00
Ms2ger
705af5ec49 servo: Merge #4280 - Cleanup some code in node.rs (from Ms2ger:cleanup-node); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 368d6dc6bfd1b69b9082a6b773f79f1371602b70
2014-12-08 13:55:08 -07:00
ProgramFOX
c0732d32a0 servo: Merge #4270 - Implemented Document#inputEncoding (from ProgramFOX:issue-4252); r=saneyuki
Resolves #4252

Source-Repo: https://github.com/servo/servo
Source-Revision: feabaf34acfc41c0976acdff5e4df15a135d1b09
2014-12-08 13:28:12 -07:00
Clark Gaebel
b2e4f7735a servo: Merge #4194 - Fixed #4170 - Incremental reflow wasn't being aggressive enough when nodes get reparented (from cgaebel:incremental-reflow-fix); r=pcwalton
When inserting a node that was already dirtied, the dirtying logic
would short circuit: "This node is already dirty? Great! Then its
parents must be HAS_DIRTY_DESCENDANTS, too! Let's skip that step."

This isn't appropriate when nodes move around the tree. In that case,
the node may be marked HAS_CHANGED, but ancestors may not yet have
the HAS_DIRTY_DESCENDANTS flag set.

This patch adds a `content_and_heritage_changed` hook in the document,
to deal with these cases appropriately.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5c506f7a98368020c7936517f1d8e243c9556937
2014-12-08 12:28:14 -07:00
Matthew Rasmus
d8454896c0 servo: Merge #4190 - Implements the :checked pseudo-class for inputs (from mttr:checked_pseudo_class); r=Manishearth
Relevant spec:
https://html.spec.whatwg.org/multipage/scripting.html#selector-checked

Also modifies HTMLInputElement::SetChecked to no longer modify its
checked content value, instead making use of its internal checkedness
state now that we can match `:checked` properly.

Source-Repo: https://github.com/servo/servo
Source-Revision: f18c18371d2bb5edde9d64e46b74bf01411afab3
2014-12-08 12:01:51 -07:00
Tetsuharu OHZEKI
91421a9ceb servo: Merge #4279 - Rename "render"/"rendering" to "paint"/"painting" (from saneyuki:rename); r=jdm
#4275

* This changeset rename "render"/"rendering" to "paint"/"painting" under `components/`.
* This does not rename words which are used as general browser's working.
  * So this doesn't change `reftest.rs`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0b486b12109ab765ecee4cbcc684e5d99e8ad5ad
2014-12-08 10:28:10 -07:00
Jonathan Hao
176aa57228 servo: Merge #4257 - Implement the "messageevent" argument to Document#createEvent. #4008 (from johnathan79717:4008); r=jdm
This is a fix for issue #4008.

Source-Repo: https://github.com/servo/servo
Source-Revision: bdb3a2538b9f10aad4c911cc0118257d8311cd26
2014-12-08 01:55:08 -07:00
Ms2ger
78621667f8 servo: Merge #4263 - Use or_init where appropriate (from Ms2ger:or_init); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: c68e2af0a756280a687511614e44652906c0d7a1
2014-12-06 08:01:06 -07:00
ProgramFOX
251cf2a0a8 servo: Merge #4265 - Corrected case of Document#characterSet (from ProgramFOX:issue-4251); r=Ms2ger
Resolves #4251

Source-Repo: https://github.com/servo/servo
Source-Revision: b805e74fef57e5bec167b2dc6403f9f5e7fc92e7
2014-12-06 07:31:01 -07:00
Manish Goregaokar
3259a22290 servo: Merge #4002 - Implement framework for element activation (fixes #3999) (from Manishearth:activation); r=jdm
Still need to impl `Activatable` on all activatable elements. I'll probably push those changes to this PR, however they can be made separately as well.

Source-Repo: https://github.com/servo/servo
Source-Revision: 19c69b1625dda46d3c5501292e7e2d0328e400b4
2014-12-06 03:55:04 -07:00
Ms2ger
08ac1b7479 servo: Merge #4264 - Clarify the panic in get_uint_attribute (from Ms2ger:panic); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 507fdbeb6d7c7d2e37adf8313dc3970289dbb900
2014-12-06 02:37:04 -07:00
Med0paW
1b1787368c servo: Merge #4254 - Issue 4253 - Setting timeout on a sync XHR should throw InvalidAccessErr (from medopaw:settimeout-on-sync-error); r=Manishearth
fix #4253

Source-Repo: https://github.com/servo/servo
Source-Revision: 33836715a8703299b931f9f891ec6524cca160a7
2014-12-05 20:13:02 -07:00
Emanuel Rylke
fbe4497900 servo: Merge #4256 - Make the password input element show the correct number of dots for multibyte chars (from ema-fox:password_input); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: d5c62ac2c426f55a88c767e0e48cb58712870639
2014-12-05 17:13:05 -07:00
Matthew Rasmus
c8b076b106 servo: Merge #4152 - Implements multi line text input for TextArea (from mttr:textview); r=jdm
Fixes #3918

Can be tested in `tests/html/textarea.html`. Also implemented some content reflecting IDL attributes for HTMLTextAreaElement while I was in there.

There are some major problems with TextInput when Multiple is enabled that I haven't addressed here, but I'm prepared to open up a follow-up issue.

Source-Repo: https://github.com/servo/servo
Source-Revision: a369dcfa01f5ad7634469f3a3b652d7f650129a0
2014-12-05 16:25:07 -07:00
Manish Goregaokar
08f0462c06 servo: Merge #4198 - Hyper+OpenSSL on Android (from Manishearth:hyper-droid); r=Manishearth
This is the Hyper pull request, plus the set up for OpenSSL on Android to make it merge.

Sean's commits have been reviewed in #4065 (My Android changes were reviewed by Glenn)

Source-Repo: https://github.com/servo/servo
Source-Revision: 6bd9bf979bcfa96ea14e666b59eab01a6d6c373e
2014-12-05 04:16:11 -07:00
Ms2ger
a3849887cb servo: Merge #4245 - Introduce MutNullableJS::or_init (from Ms2ger:lazy-getters); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 66d4acef8d591b5516d99cb4c7dd9e379242b928
2014-12-05 03:46:07 -07:00
Ronak Nisher
7185b7cbde servo: Merge #4230 - added ErrorEvent WebIDL and errorevent.rs (from jdm:errorreporter); r=jdm
Rebased from #3822.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0065c230dad0e591d9a448ff00ef977074485dd5
2014-12-05 02:28:09 -07:00
Matt Brubeck
7a6f30ccda servo: Merge #4227 - Implement the HTMLScriptElement.src setter (from mbrubeck:script-src); r=jdm
Fixes #1113.  r? @Ms2ger

Source-Repo: https://github.com/servo/servo
Source-Revision: 9050a151613b78bd992d1c32f968cb0cf12dd720
2014-12-04 22:37:05 -07:00
Ms2ger
99f1e078ae servo: Merge #4219 - Cleanup some Document code (from Ms2ger:cleanup-document); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 92a8c7a80ccd5721884da96dbd28c6c40ba32b70
2014-12-04 08:46:02 -07:00
nkdalmia
e399ad3e2b servo: Merge #4157 - M1450: Implement Window.sessionStorage: Storage Task, Storage Methods (excluding Storage event, QuotaExceededError) (from nkdalmia:master); r=jdm
Changes
* Implemented Storage Task
* Used Storage Task in methods of storage.rs
* Updated webstorage test expectations

Pending Changes:
* Handle Storage Event
* Throw QuotaExceededError in case of failure for method setItem
* localStorage as alias of sessionStorage

Source-Repo: https://github.com/servo/servo
Source-Revision: 0d2251510fb9ad8f4974c99cadafbd1a9a81e30f
2014-12-03 16:54:57 -07:00
Michael Booth
fec3728296 servo: Merge #4156 - Updated reflect_dom_object to be passed by value fixes #4122 (from Michael03:master); r=Ms2ger
This fixes issue #4122

Source-Repo: https://github.com/servo/servo
Source-Revision: ed45aa9efd6cf238a83fcae6a772886df61771f7
2014-12-02 05:24:49 -07:00
aakashjain
d43a650752 servo: Merge #4149 - Fixes #4123 (from aakashjain:MovingElementGetters); r=Manishearth
Moved all getters from Element to ElementHelpers. Existing ElementHelpers getters `get_namespace` and `get_local_name` were replaced by `namespace` and `local_name`. Callers were updated accordingly. Also the getters are no longer inlined.
3 of the getters needed to be added to RawLayoutElementHelpers as well, to accomodate existing calls directly from Element objects.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9541dcdee271d83834af12c756932697ab0ef5dc
2014-11-29 04:42:41 -07:00
Kshitij Parajuli
4e20eea707 servo: Merge #4000 - M1456: Shared SnifferTask (from t29:mime-sniffing); r=jdm
Issue: #3144

This PR addresses the second step of the ticket. i.e. move from a 1:1 sniffer:request task model to a shared sniffer task.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1ac79c64da4b14f83fed6ca123a81417b9c0fc87
2014-11-28 10:51:44 -07:00
Jesse Tuchsen
86cdf0a68f servo: Merge #4132 - Fixes #4131 (from jtuchsen:issue-4131); r=jdm
A slight refactor.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2d904f70801bdd709ac845520dbe1035dd6fd5db
2014-11-28 10:27:43 -07:00
Tetsuharu OHZEKI
39f9a11d43 servo: Merge #4130 - Make callers of ${Derived}::${base}() use casts instead (from saneyuki:cast); r=Manishearth
Fix #4124

This also introduce `BarCast::from_actual()` which is used for up-cast for dom's actual data types (non JS pointer values).

Source-Repo: https://github.com/servo/servo
Source-Revision: 82050d1e535681ea993e4290d02bcf4b9f4ee5a2
2014-11-28 09:24:44 -07:00
aakashjain
03686230d9 servo: Merge #4129 - Fixes issue #4120 (from aakashjain:HTMLElement#hidden); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 12ae5413021f4e439cd067fbacd913261905e18a
2014-11-28 05:33:48 -07:00
Jesse Tuchsen
b71070cc03 servo: Merge #4128 - Fixes #3962 (from jtuchsen:issue-3962); r=jdm
Bad HTTP responses now have a 0 status code instead of 200 OK.

Source-Repo: https://github.com/servo/servo
Source-Revision: b56bab4e407b38fa1e58d8be247ecd5f156c89bc
2014-11-27 13:42:41 -07:00
Gilbert Röhrbein
c30d3b7f5d servo: Merge #4113 - fixes #4110, can input text without 'value' attribute present (from payload:issue-4110); r=jdm
The attribute `value` and the underlying model `TextInput` are not connected to each other, so I just pulled the value out of `TextInput`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 184a3346ab2fb2a4dfd267681af02711cfb6bc44
2014-11-26 16:15:38 -07:00
Hinali Marfatia
47a9f9b88d servo: Merge #4096 - Adding a new webidl and websocket.rs file (from servo:websocket); r=Ms2ger
Closes #3813.

Source-Repo: https://github.com/servo/servo
Source-Revision: 62edb842c7d89f2349c4c030139cbf5a927d1eb1
2014-11-25 07:45:42 -07:00
Ms2ger
1faff8f963 servo: Merge #4084 - Panic if DOMTokenList#contains is called for an unparsed attribute (from Ms2ger:tokenlist-robust); r=jdm
Previously, if the attribute was not parsed into a token list, and the
tokens() method returned None, DOMTokenList#contains would silently return
false. This issue was encountered in
<https://github.com/servo/servo/pull/4076> and took quite some time to
figure out.

Source-Repo: https://github.com/servo/servo
Source-Revision: 51aa2fde10daa8c98f5407e35b8abf01bd364788
2014-11-24 10:39:35 -07:00
Achal Shah
1a9e2b4457 servo: Merge #4081 - Implement HTML{Anchor,Area,Link}Element.relList (from achals:master); r=jdm
https://github.com/servo/servo/issues/3994

Source-Repo: https://github.com/servo/servo
Source-Revision: 6e19955129ef77aaa5371e4953fbd80fb523815e
2014-11-24 02:03:34 -07:00
Manish Goregaokar
364287dee7 servo: Merge #4068 - Use atom! in place of Atom::from_slice where necessary (from Manishearth:atomify); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 60dfb65ab2278f8700bd698b2a9cc01e510e5b10
2014-11-23 22:00:40 -07:00
Trevor Riles
de39acf93b servo: Merge #4064 - Make set_timeout_or_interval's is_interval an enumerated value instead of a boolean (from trevorriles:isintervalenum); r=jdm
Created an `IsInterval` enum to improve readability and remove the need for `true // is_interval`

I'm still fairly new to rust. I briefly looked for a way to implement boolean comparisons of the enum but didn't figure out a way.

Also I'm not attached to any of the names. Let me know what I can fix :)

Source-Repo: https://github.com/servo/servo
Source-Revision: 90007ee781e53f65344a24a0bdbeb86d5c0fe065
2014-11-23 21:36:37 -07:00
Rohan Prinja
6766184c70 servo: Merge #4067 - implement Document#createAttribute (from ajnirp:document-create-attribute); r=Manishearth
fixes #4054

Source-Repo: https://github.com/servo/servo
Source-Revision: d215ff786756bc38042b7f41ed93c14efa3b8fca
2014-11-23 08:21:37 -07:00
Matthew Rasmus
2ae5cc089d servo: Merge #4050 - Implements Attr#nodeValue (from mttr:implement_attr_nodevalue); r=Ms2ger
Fixes #4047, and updates to expect tests that are now passing because of it.

Source-Repo: https://github.com/servo/servo
Source-Revision: c23bfdf1c52cdd42c37cd931525c23e22f1d289f
2014-11-20 17:18:29 -07:00
Achal Shah
5a6b94dfc5 servo: Merge #4030 - Stop including the element during Element.getElementsByClassName (from achals:master); r=Ms2ger
https://github.com/servo/servo/issues/3995

This is my first PR, so please let me know if I'm doing something wrong!

Source-Repo: https://github.com/servo/servo
Source-Revision: 8cecb03d756d8df4de69ca13b663d547f438d320
2014-11-18 08:45:35 -07:00
Zachary Newman
2c2660dc39 servo: Merge #4027 - Implement DOMImplementation.hasFeature (from znewman01:issue4010); r=Ms2ger
Fixes #4010.

This is my first Servo contribution, so let me know if I missed anything!

Source-Repo: https://github.com/servo/servo
Source-Revision: efb4fe4a4ac9bf96cf1db649ab112014ce2c13a4
2014-11-18 07:54:33 -07:00
Zachary Newman
5759f62525 servo: Merge #4029 - Update behavior of Document.createElement (from znewman01:issue4009); r=Ms2ger
Fixes #4009.

Only lower-case the argument to Document#createElement if it's a HTML document.

Source-Repo: https://github.com/servo/servo
Source-Revision: 929671f945d30deaf37bbb9e23d15d09387bdf09
2014-11-18 07:15:34 -07:00
Claes 'Letharion' Gyllensvärd
ca39291874 servo: Merge #4021 - HTMLScriptElementHelpers::is_javascript should compare ASCII case-insensitively (from letharion:Case-insensitive-HTMLScriptElementHelpers-comparision); r=Ms2ger
Fix for #3993

Source-Repo: https://github.com/servo/servo
Source-Revision: 3fafd61f718e1f0d14c192b670a602316d02dfd0
2014-11-18 06:51:34 -07:00
Rohan Prinja
9c4eb9f085 servo: Merge #4014 - key[board]event args for Document#createEvent (from ajnirp:doc-createevent-keyevents); r=Manishearth
fix #4007

Source-Repo: https://github.com/servo/servo
Source-Revision: eeb11d68516c201d7c57508263517b69ef425273
2014-11-16 21:36:30 -07:00
Ms2ger
4692dac4ae servo: Merge #4003 - Correct the checks in step 5 of Node::pre_insert (from Ms2ger:pre-insert); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 1a40a6bc82558d1ca4997c9b93379df26e2a951f
2014-11-16 07:24:28 -07:00
Mukilan Thiyagarajan
0f497e555c servo: Merge #3941 - Allow passing arguments to setTimeout/setInterval callbacks (from mukilan:timeout-arguments); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 43b452f3b874c4bf0392ceaec27a0e40f18b5e34
2014-11-15 11:09:32 -07:00
Ms2ger
dc76d0473b servo: Merge #3979 - Use {Cell,RefCell}::as_unsafe_cell (from Ms2ger:as_unsafe_cell); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 7d3b76c60d2d5bd61cf6b48d09d769df77af293d
2014-11-14 15:48:35 -07:00
Tomasz Kołodziejski
f0af189f86 servo: Merge #3953 - Add contentDocument support for HTMLIFrameElement. Fixes #3808 (from neojski:implement-HTMLIFrameElement.contentDocument); r=jdm
Because of #2122 I cannot write test for this right now because it will be failing randomly due to that iframe issue. However, if it doesn't fail due to that issue a test like this:

```html
<html>
  <head>
    <meta charset="utf8" />
    <script src="harness.js"></script>
    <title>Iframe contentDocument test.</title>
  </head>
  <body>
    <iframe src="test_iframe_contentDocument_inner.html" id="iframe"></iframe>
    <script>
      waitForExplicitFinish();

      var timeout = 100;
      var iframe = document.getElementById('iframe');
      function test_contentWindow() {
        if (!iframe.contentWindow) {
          // Iframe not loaded yet, try again.
          // No load event for iframe, insert bug number here.
          setTimeout(test_contentWindow, timeout);
          return;
        }
        is(iframe.contentDocument.getElementById('test').textContent, 'value');
        finish();
      }
      test_contentWindow();
    </script>
  </body>
</html>
```
where inner is simply:
```html
<html><body><div id="test">value</div></body></html>
```
passes.

I have added `SameOrigin` method to the `UrlHelper`. I wanted to reuse it in [`constellation.rs` same_script check](f0184a2d01/components/compositing/constellation.rs (L625)) but I it didn't want to compile saying

```
error: unresolved import `dom::urlhelper::UrlHelper`. Maybe a missing `extern crate dom`?
```

So I didn't include it in this PR for now.

There is more discussion about the cross origin iframes in [another issue](https://github.com/servo/servo/issues/3939). In this PR I just added same origin check.

Source-Repo: https://github.com/servo/servo
Source-Revision: 85a2f0b66a32cfd6022b3e6cec6ec06f3b59baf1
2014-11-13 23:54:28 -07:00
Josh Matthews
82582a7847 servo: Merge #3585 - Implement single-line text input (from jdm:input); r=gw
This attempts to implement a bunch of the DOM Level 3 Events spec by implementing the KeyboardEvent interface, the document focus context, and dispatching keyup/keydown/keypress events appropriately. There's also some support for multiline text input that's untested.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2ffa845cf463b14b19322d477a77ffd20efa89a9
2014-11-13 10:57:33 -07:00
Glenn Watson
71f726977a servo: Merge #3948 - Rust upgrade to rustc hash b03a2755193cd756583bcf5831cf4545d75ecb8a (from servo:rustup-20141105_2); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: c5e1b0d32e17fad29799023c85e2e73ac89c3af7
2014-11-12 20:48:31 -07:00