Commit graph

7035 commits

Author SHA1 Message Date
bors-servo
4e24e4d8e9 auto merge of #3732 : mukilan/servo/xhr-issue-3630, r=jdm
This fixes issue #3630
A short summary of the changes:
* Use atomic generation id to cancel inflight requests
* Handles nested calls to abort, open, send inside handlers
* Adds XHRReleaseMsg to delay freeing XHR object till all
  inflight events are processed
* Handles both timeout, errors and abort/open in a symmetric fashion
  i.e All inflight events will be cancelled for timeouts, aborts,
    errors and on calling open.
* Change the ErroredMsg enum to be more symmetric with the returned
  Error enum

I noticed a few possible changes that could make the code for fetch task simpler:
* We can remove the additional timer task and let the fetch task manage 
  its own timer (or maybe the resource loader can do this.)
* The CORS related steps could also be moved into the resource loader.
* Right now upload events are not support. This requires some support 
  from resource loader.
2014-11-04 05:06:34 -07:00
Mukilan Thiyagarajan
9bafd5f28a Update expectations for wpt tests under /XMLHttpRequest
Following tests are re-enabled:
* /XMLHttpRequest/send-network-error-async-events.sub.htm
* /XMLHttpRequest/send-network-error-sync-events.sub.htm
* /XMLHttpRequest/xmlhttprequest-timeout-worker-aborted.html
* /XMLHttpRequest/xmlhttprequest-timeout-worker-overrides.html
* /XMLHttpRequest/xmlhttprequest-timeout-worker-simple.html
* /XMLHttpRequest/xmlhttprequest-timeout-worker-twice.html

Following tests are disabled:
* /XMLHttpRequest/xmlhttprequest-timeout-worker-overridesexpires.html

The following tests are expected to timeout since window.postMessage is
not implemented yet:

* /XMLHttpRequest/xmlhttprequest-timeout-abortedonmain.html
* /XMLHttpRequest/xmlhttprequest-timeout-overrides.html
* /XMLHttpRequest/xmlhttprequest-timeout-overridesexpires.html
2014-11-04 08:20:46 +05:30
bors-servo
c4cfb4aae0 auto merge of #3881 : brunoabinader/servo/dataset, r=jdm
Rust doesn't handle integers as bool on if statements, and defineProperty signature uses *mut instead of *const.
2014-11-03 19:15:32 -07:00
bors-servo
2a88a3242c auto merge of #3880 : cgaebel/servo/case-insensitive-font-family-matching, r=glennw,glennw
One part (of 8!) of css font family disambiguation is that font families should
be matched case-insensitively.

This patch implements that. Once it lands, a bug needs to be filed to do lowercasing
properly (as a string, instead of char-by-char -- it's a unicode thing).

r? @glennw
2014-11-03 18:30:35 -07:00
Bruno de Oliveira Abinader
315f626393 Various fixes to CodegenRust.py 2014-11-03 17:26:23 -08:00
Clark Gaebel
d22a64884d Implements case insensitive font family names.
One part (of 8!) of css font family disambiguation is that font families should
be matched case-insensitively.

This patch implements that. Once it lands, a bug needs to be filed to do lowercasing
properly (as a string, instead of char-by-char -- it's a unicode thing).

r? @gw
2014-11-03 17:15:51 -08:00
bors-servo
39960f32e4 auto merge of #3878 : zwarich/servo/remove-input-fragment, r=jdm
Fixes #3724.
2014-11-03 16:54:31 -07:00
Cameron Zwarich
5043a63284 Remove InputFragment
Fixes #3724.
2014-11-03 15:48:20 -08:00
bors-servo
69f8b46f36 auto merge of #3835 : pcwalton/servo/script-microoptzns, r=Ms2ger
This is a grab bag of various microoptimizations for script that I came across when profiling our performance on RoboHornet.

r? @jdm
2014-11-03 15:48:34 -07:00
bors-servo
97d57689e9 auto merge of #3875 : cgaebel/servo/remove-static-constraint-on-smallvec, r=jdm
It was likely added accidentally after a rustc upgrade.

r? @jdm
2014-11-03 13:18:33 -07:00
Clark Gaebel
eef969a23f Removes the useless 'static constraint on SmallVec.
It was likely added accidentally after a rustc upgrade.

r? @jdm
2014-11-03 12:03:47 -08:00
bors-servo
cef58ccf29 auto merge of #3872 : kmcallister/servo/stb-error, r=jdm 2014-11-03 12:39:34 -07:00
bors-servo
c9089c45c4 auto merge of #3857 : mrobinson/servo/queries, r=pcwalton
Instead of looking at the display tree, have ContentBox(es)Query consult
the flow tree. This allow optimizing away parts of the display tree
later. To do this we need to be more careful about how we send reflow
requests, only querying the flow tree when possible.

Fixes #3790.
2014-11-03 12:03:37 -07:00
Martin Robinson
2d72f00ccf Have ContentBox(es)Queries consult the flow tree
Instead of looking at the display tree, have ContentBox(es)Query consult
the flow tree. This allow optimizing away parts of the display tree
later. To do this we need to be more careful about how we send reflow
requests, only querying the flow tree when possible.

Fixes #3790.
2014-11-03 10:30:28 -08:00
bors-servo
169e6a2297 auto merge of #3863 : Ms2ger/servo/cleanup-caption, r=Manishearth 2014-11-03 11:27:38 -07:00
bors-servo
21374700b6 auto merge of #3862 : Manishearth/servo/lint-fix, r=jdm
The correct thing to do here is to use `#[allow(unrooted_must_root)]` (the warning already mentions this). `#[must_root]` on functions does nothing.
2014-11-03 10:54:35 -07:00
Mukilan Thiyagarajan
7435db26ac Fix race condition in XHR and handle other abort/open scenarios
This fixes issue #3630
A short summary of the changes:
* Use generation id to cancel inflight requests
* Handles nested calls to abort, open, send inside handlers
* Adds XHRReleaseMsg to delay freeing XHR object till all
  inflight events are processed
* Change the ErroredMsg enum to be more symmetric with the returned
  Error enum
2014-11-03 22:06:17 +05:30
Keegan McAllister
a4bf64c582 More useful stb-image error handling 2014-11-02 15:20:22 -08:00
bors-servo
1a3ff8739c auto merge of #3871 : Ms2ger/servo/node-cleanup, r=Ms2ger 2014-11-02 14:51:33 -07:00
bors-servo
9b2dae58fd auto merge of #3870 : mvanderh/servo/master, r=Ms2ger
Fixes #3855.

I'm not sure if this is the right place to set `cancelable`. If changing the default value in `Event::new_inherited` is not satisfactory, it will be possible to set the `Cell`'s value to `false` in `Event::new` itself.
2014-11-02 13:39:35 -07:00
Ms2ger
68f3daa7ef Simplify the implementation of NodeIterator::next_child. 2014-11-02 21:28:06 +01:00
Ms2ger
cb68fbd68e Simplify the implementation of NodeHelpers::child_elements. 2014-11-02 21:26:59 +01:00
Mitchell Van Der Hoeff
128f162b92 Remove ./dom/nodes/Document-createEvent.html.ini in tests/wpt/metadata because we expect all tests to pass now. Fixes #3855 2014-11-02 15:19:32 -05:00
Mitchell Van Der Hoeff
536201e2b5 Initialize 'cancelable' to false in Event::new_inherited. Fixes #3855. 2014-11-02 11:36:11 -05:00
bors-servo
035ff19e4a auto merge of #3860 : pcwalton/servo/reflow-out-of-flow, r=glennw
This is the last PR and most of the work for the maze solver and RoboHornet. 

r? @glennw 
cc @cgaebel
2014-10-31 14:39:34 -06:00
bors-servo
4418a28e7a auto merge of #3830 : pcwalton/servo/persistent-list-floats, r=kmcallister
r? @kmcallister
2014-10-31 14:00:39 -06:00
Patrick Walton
a208463b62 layout: Employ a persistent list data structure to avoid copying floats
all the time.

Improves performance on the maze solver significantly since this was
basically O(n^2) before.
2014-10-31 12:42:32 -07:00
Patrick Walton
c4c4988ee1 util: Add persistent lists as a useful general-purpose thread-safe data
structure.

This will be used to improve our storage management for float lists.
2014-10-31 12:42:32 -07:00
Patrick Walton
08fc7c2795 layout: Make incremental reflow more fine-grained by introducing "reflow
out-of-flow" and "reconstruct flow" damage bits.

This is needed for good performance on the maze solver.
2014-10-31 12:24:40 -07:00
Patrick Walton
7712052e13 test: Mark the inline element in inline_hypothetical_box_a.html as
`vertical-align: top`.

We actually don't support the other values correctly, and so this test
was relying on a bug in incremental reflow.
2014-10-31 12:24:40 -07:00
Patrick Walton
265763518f layout: Make absolute position calculation idempotent.
This will be necessary for incremental reflow of absolutely-positioned
flows.
2014-10-31 12:24:39 -07:00
bors-servo
72f6e14f0b auto merge of #3834 : pcwalton/servo/smallvec-debugging, r=pcwalton
r? @cgaebel
2014-10-31 11:48:36 -06:00
Patrick Walton
b245a2475f script: Fix busted document fragment appending code 2014-10-31 10:24:49 -07:00
bors-servo
b116a6fce6 auto merge of #3833 : pcwalton/servo/display-list-debugging, r=mrobinson
r? @mrobinson
2014-10-31 11:15:38 -06:00
Patrick Walton
779ab4c5f0 gfx: Enhance display list debugging a bit with support for dumping
stacking levels, etc.
2014-10-31 10:13:08 -07:00
Patrick Walton
7321373d6b util: Add a Show implementation to SmallVec 2014-10-31 10:12:08 -07:00
bors-servo
20b2fae238 auto merge of #3864 : brunoabinader/servo/node-peekable-childelement, r=Ms2ger
This change avoid using ```child_elements().count() > 0``` approach (using ```child_elements().peek().is_some()``` instead).
2014-10-31 09:42:42 -06:00
Bruno de Oliveira Abinader
d5d4d0bec4 s/peek().is_some()/!is_empty()/ 2014-10-31 11:17:08 -04:00
Bruno de Oliveira Abinader
11d2251b1e ChildElementIterator is now peekable 2014-10-31 10:52:39 -04:00
Bruno de Oliveira Abinader
eb1ef59aee s/AbstractNodeChildrenIterator/NodeChildrenIterator/ 2014-10-31 10:52:02 -04:00
Ms2ger
bd547dee5e Cleanup the implementation of HTMLTableElement::GetCaption. 2014-10-31 10:25:44 +01:00
Manish Goregaokar
f6e14119b6 Remove suggestion to use #[must_root] for functions 2014-10-31 11:57:42 +05:30
bors-servo
ba13e448cf auto merge of #3838 : pcwalton/servo/style-sharing-enhancements, r=SimonSapin
This helps avoid problems with style sharing in common cases, often
caused by the user agent stylesheet.

r? @SimonSapin
2014-10-30 16:33:36 -06:00
bors-servo
37bbe352a8 auto merge of #3861 : glennw/servo/update-azure, r=metajack 2014-10-30 15:57:38 -06:00
Glenn Watson
56a68f49b0 Update azure. This removes the final rust-opengles dependency. 2014-10-31 07:34:18 +10:00
bors-servo
4ce185ff11 auto merge of #3859 : brunoabinader/servo/element-notify-content-changed, r=Ms2ger
Remove ```notify_attribute_{changed,removed}``` in favor of a unified ```notify_content_changed```. In the future, whether we decide to specialize ```document.content_changed()```, it'll be just a matter of adding a param.
2014-10-30 15:18:36 -06:00
Bruno de Oliveira Abinader
5db3eb0cee Cleanup Element's AttributeHandlers
Remove notify_attribute_{changed,removed} in favor of a unified
notify_content_changed.
2014-10-30 17:14:25 -04:00
bors-servo
7de9ed5fc7 auto merge of #3856 : Ms2ger/servo/tagname, r=Manishearth
format!("{}", atom) yields strings like "Atom('span' type=Inline)", which is
not intended here.
2014-10-30 12:27:35 -06:00
bors-servo
2c68599373 auto merge of #3853 : Ms2ger/servo/create, r=Manishearth
This function is not particular to the parser, so should live in the DOM.
2014-10-30 11:06:36 -06:00
Ms2ger
82216fd5c0 Move build_element_from_tag out of the HTML parser.
This function is not particular to the parser, so should live in the DOM.
2014-10-30 18:03:19 +01:00