Commit Graph

755 Commits

Author SHA1 Message Date
Corey Farwell
e694380ecf servo: Merge #5351 - Add links for script::dom::window to whatwg HTML spec (from frewsxcv:window-docs); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 8b5df113f0202e889195e3772e13c037c4d33cc7
2015-03-24 23:54:48 -06:00
Diego Marcos
70420c0960 servo: Merge #5231 - Implementing canvas drawImage API for HTML Canvas elements as image sour (from dmarcos:issue4784); r=jdm
...ce

Source-Repo: https://github.com/servo/servo
Source-Revision: 2ab1ece765a50e26c2908bcbe5463ff1fda0b085
2015-03-24 14:01:06 -06:00
snf
a8c8cecb20 servo: Merge #5306 - Implementing StorageEvent interface (from snf:storage_event); r=jdm
Needed for #5196

Source-Repo: https://github.com/servo/servo
Source-Revision: 2c51d0ef53d25892be4c992fdbe131c1b641bf74
2015-03-24 12:52:00 -06:00
Corey Farwell
032b27e090 servo: Merge #5343 - Clean up a few things in script::dom::window (from frewsxcv:script-dom-window); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 1432b630d2fb54be1bae512d3a37cc0aee714db4
2015-03-24 10:33:55 -06:00
Corey Farwell
1e579d0b66 servo: Merge #5334 - Cleanup and modernize script::dom::document (from frewsxcv:cleanup-document); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 8f4526842087c0e47a51d320d06749980ed94ecb
2015-03-24 06:54:48 -06:00
Nicholas Nethercote
dab428b57b servo: Merge #5335 - Move profiler code from util into a new crate profile (from nnethercote:profile-crate); r=glennw
- Most of util::memory has been moved into profile::mem, though the
  `SizeOf` trait and related things remain in util::memory. The
  `SystemMemoryReporter` code is now in a submodule
  profile::mem::system_reporter.

- util::time has been moved entirely into profile::time.

Source-Repo: https://github.com/servo/servo
Source-Revision: d1268ec9c6633684270015e7b2619181aeb47b8b
2015-03-24 03:15:49 -06:00
Glenn Watson
99fb8dc2ab servo: Merge #5333 - Ensures that iframe navigation updates the parent iframe element subpage id (from glennw:fix-iframe-subpage); r=jdm
This fixes the case of clicking a link in an iframe, going back, then clicking the link again.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2f85c5bb502c2582d34772db979e27c741ee76e3
2015-03-23 23:03:45 -06:00
Glenn Watson
37dd093e24 servo: Merge #5318 - Make text input relayout when value is changed directly (from glennw:input-relayout); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b7e66c5349e639dd6b1850e6b6e93811ffd47141
2015-03-23 18:03:45 -06:00
Josh Matthews
8b2e844fa1 servo: Merge #5327 - Fix double-panic when the script task panics (from Ms2ger:memory-explosion); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 5ce7d8accfc52dd37b19b4400a643a980412bb2f
2015-03-23 13:39:53 -06:00
Corey Farwell
1ab8b106f2 servo: Merge #5321 - Add TODO comments for a recently opened issue (from frewsxcv:patch-1); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: ca79abe45871b4bfe8e8162cb39f8b6bacd0b0b6
2015-03-23 07:57:50 -06:00
Ms2ger
18b512bb2e servo: Merge #5323 - Fix warnings in script (from Ms2ger:script-warnings); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: f9826c3ae80a9d859fc067dcceddf3ab105656f6
2015-03-23 06:57:50 -06:00
Corey Farwell
388e42a421 servo: Merge #5319 - dom::urlsearchparams cleanup and documentation (from frewsxcv:urlsearchparams); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: ccac6a944e37e2ea99aa933bbabc2e3d896c2f6e
2015-03-23 05:18:50 -06:00
Glenn Watson
b3a06d687a servo: Merge #5281 - Experimental implementation of (a small subset of) mozbrowser APIs (from glennw:mozbrowser); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 1f682d878db99651bfd26b8a28b57895f2238f87
2015-03-22 21:36:51 -06:00
Corey Farwell
b4d6ac8261 servo: Merge #5316 - Stop abusing format! macro when construct a String (from frewsxcv:no-format-abuse); r=jdm
In these cases for `format!`, we're just constructing a String of the
single argument with no special format.

Source-Repo: https://github.com/servo/servo
Source-Revision: dfb8929b001c8d0fb6d5e63f5a9d6dcc17cb388a
2015-03-22 19:30:51 -06:00
Corey Farwell
d159d13b5d servo: Merge #5307 - Tidy up script::dom::document.SetBody (from frewsxcv:document-set-body); r=jdm
There were a few things that were bothering me with `SetBody`:

* The 'Step 3' comment is in the wrong place
* The logic of 'Step 4' comes before 'Step 3'
* 'Step 5' was not documented

Source-Repo: https://github.com/servo/servo
Source-Revision: 445f1c891a5536a26b4759ba4b2dab99c31505f4
2015-03-22 10:09:46 -06:00
Manish Goregaokar
b61b655dbb servo: Merge #5298 - Basic userscript support (from Manishearth:userscript); r=saneyuki
Gives us a place to store polyfills and other userscripts so that we can:

 - Quickly determine what DOM features are needed to make stuff like jQuery work by iteratively writing stub implementations
 - Write spec-incompatible but "good enough" polyfills for stuff like jQuery to make Servo more testable on live sites, for demos, and for browser.html


r? @jdm

cc @eddyb

Source-Repo: https://github.com/servo/servo
Source-Revision: 72e2c79a089ff6654a36951ce4aedac62006e6a1
2015-03-22 08:27:48 -06:00
Manish Goregaokar
5e87044185 servo: Merge #5296 - Replace unsafe_blocks by unsafe_code (from servo:unsafe_code); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 29a36adbe7d87fb38ba9bef3a718c6c823fb5977
2015-03-21 05:12:45 -06:00
Patrick Walton
99ae36dcac servo: Merge #5261 - Remove debugging info in release mode and stop reflowing on every new image that comes in (from pcwalton:too-many-reflows); r=pcwalton,metajack
These help Facebook Timeline a lot.

r? @metajack

Source-Repo: https://github.com/servo/servo
Source-Revision: aa6ed369b80cbbc81eef9e8697963d0d64358f9b
2015-03-20 11:51:47 -06:00
Ms2ger
bfd31316e6 servo: Merge #5288 - Fix various build warnings (from Ms2ger:warnings); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 0663cd632517c9a9c86db47456c5a4da637045ed
2015-03-20 11:00:54 -06:00
Ms2ger
94ceefff5b servo: Merge #5287 - Update some feature gates (from Ms2ger:gates); r=jdm
CC #5286.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6ffd459479dde59f471eb42ef0515dd964b6a9d9
2015-03-20 09:12:51 -06:00
Tim Cuthbertson
1184464f95 servo: Merge #5282 - Free the interface prototype array when Window is finalized (from timbertson:finalize_global); r=Ms2ger
Fixes #1871

I thought I'd take a look at this for a first contribution to servo. A couple of things I'm not 100% sure on are:

1) `get_proto_or_iface_array` returns a `*mut *mut JSObj`, which I'm assuming is really an array of pointers to `JSObj`s. So dropping its return value will drop the memory for the array of pointers. Do we also need to drop each element, or is that handled by GC?

2) Are there any tests I need to add for this? I don't know if there are existing leak tests, or if leaks are mostly discovered by profiling.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8998edb912b4f6efea7b2ff4e707325d7c03488c
2015-03-20 07:54:48 -06:00
Mátyás Mustoha
2acb95ac2e servo: Merge #5251 - Canvas: implement quadraticCurveTo() (from mmatyas:canvas_quadratic); r=jdm
Yet another small canvas patch.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2c85c1d312405c586f05244c221b65750cf09981
2015-03-20 04:27:47 -06:00
Mátyás Mustoha
beac897eb1 servo: Merge #4891 - Implement canvas gradient (from mmatyas:canvas_gradient); r=jdm
Based on [ebalint](https://github.com/ebalint)'s original patch, this commit implements the linear and radial gradients for the canvas. The PR also includes test cases.
Depends on #4623 and servo/rust-azure#136.

Source-Repo: https://github.com/servo/servo
Source-Revision: dea36f981650f027902b4f71f0cdabd2da69fe21
2015-03-20 03:12:47 -06:00
Maciej Skrzypkowski
9f9dec2e17 servo: Merge #4819 - Added document.activeElement attribute (from mskrzypkows:document_activeElement); r=jdm
#4770

Source-Repo: https://github.com/servo/servo
Source-Revision: 459c35441612d3247450e253b1dcd0bc003985ae
2015-03-19 22:30:49 -06:00
Himaja
c49184a5b4 servo: Merge #5229 - M1503: Extend the developer tools support - Initial steps (from hsvalava:m1503); r=jdm
Fixing ConsoleMsg for console.log messages in the Developer Tools web console.

Source-Repo: https://github.com/servo/servo
Source-Revision: ab8d43910ca2f3e60e3dd1417be80ab53f438b6e
2015-03-19 21:48:48 -06:00
Chris Paris
1b0a4b2271 servo: Merge #5029 - Serialize using html5ever (from ChrisParis:h5e-serialize); r=jdm
Fixes https://github.com/servo/servo/issues/3713. Depends on https://github.com/servo/html5ever/pull/100 and https://github.com/servo/html5ever/pull/101.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1236280bea969cb3e92b27868db418be016c64a5
2015-03-18 18:06:49 -06:00
Chris Paris
5cca1b68f9 servo: Merge #4888 - Implement Element.innerHTML setter (from ChrisParis:innerhtml); r=jdm
This addresses #849.  This PR cannot land until the corresponding PR (https://github.com/servo/html5ever/pull/91) in html5ever lands. I've done some simple testing of this code, but I don't consider it thorougly tested yet. I wanted to start getting feedback about the overall design before I spend more time polishing the details, and testing.

Source-Repo: https://github.com/servo/servo
Source-Revision: b2fb06d6e25d6728d6000c283ed1dab1e8bfabb1
2015-03-18 17:12:49 -06:00
Simon Sapin
5cb6c4ea43 servo: Merge #5262 - Fix some post-rustup warnings (from servo:fix-warnings); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: 124a78fb2e4d324a7d0ed54da1cca17839d406b7
2015-03-18 15:21:49 -06:00
Ms2ger
f4ea3a3dd0 servo: Merge #5256 - Upgrade rustc to d3c49d2140fc65e8bb7d7cf25bfe74dda6ce5ecf/rustc-1.0.0-de (from servo:rustup_20150311); r=jdm
...v.

Relies on:
* https://github.com/servo/rust-geom/pull/72
* https://github.com/servo/rust-glx/pull/10
* https://github.com/servo/gleam/pull/15
* https://github.com/servo/rust-mozjs/pull/137
* https://github.com/servo/rust-core-text/pull/35
* https://github.com/servo/rust-io-surface/pull/28

Source-Repo: https://github.com/servo/servo
Source-Revision: 99cf9dbfc107bacb84dfe5afa9539a0ede3beac2
2015-03-18 11:25:00 -06:00
Matt McCoy
8132c23db3 servo: Merge #4736 - Fixes #4508 dispatching input event at HTMLTextareaElement (from mattnenterprise:dispatch_input_event); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 65d4b12bf20783ea784f1c61f4b33ec0fc975f4f
2015-03-17 22:27:47 -06:00
Patrick Walton
7ac5751923 servo: Merge #5134 - layout: Implement 2D CSS transforms per CSS-TRANSFORMS § 5, 6, 7, and 8 (from pcwalton:transforms); r=SimonSapin
r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 203240c1d82b780ce49261d8b47e6cbe6af50950
2015-03-17 13:39:51 -06:00
Chris Double
86ba64c942 servo: Merge #5219 - view-source protocol and text/plain handling (from doublec:view_source_protocol_and_plain_text); r=jdm
Implements view-source protocol by having a view-source handler, and modifying the content type to be text/plain if that is used.

Implements text/plain handling. This allows view-source content to display as plain text.

Example usage:

    ./mach run http://cd.pn/x.txt
    ./mach run view-source:http://tinyvid.tv/

This fixes issue #4181. Issue #3649 includes "support text/plain" so this possibly fixes some of that issue as well.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7bd6cb00911572e8733e462156122d974ff0c8a8
2015-03-17 07:18:51 -06:00
Glenn Watson
447809c244 servo: Merge #5248 - Ensure that clicking a link in an iframe gets the existing iframe rect (from glennw:fix-subpage-reflow); r=jdm
Otherwise, the new iframe may not get a valid window size until the parent frame does another reflow.

Source-Repo: https://github.com/servo/servo
Source-Revision: b4b2c63c11a38ebda3eb3235af6ffa2413a73cf1
2015-03-16 23:51:49 -06:00
Nicholas Nethercote
9f66ff8f0d servo: Merge #5193 - Add memory reporting infrastructure and use it to measure the display list (from nnethercote:measure-display-list); r=jdm
These changeset implements the beginnings of fine-grained measurement of Servo's data structures.

@pcwalton, @jdm: are you likely reviewers for this?

Source-Repo: https://github.com/servo/servo
Source-Revision: f093620922621e1877393b03968ed0ce767fdf12
2015-03-16 21:33:50 -06:00
Matt McCoy
4fa5af1a05 servo: Merge #5244 - Serializing the thread name for page load task (from mattnenterprise:page_load_thread_name); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 990a965ddfba254bb1b58664b27f2056fa9654f5
2015-03-16 20:36:49 -06:00
Glenn Watson
3329cf6c60 servo: Merge #5205 - First (and biggest) part of refactoring constellation to support iframe navigation (from glennw:iframe-nav); r=jdm
The history is now recorded per frame, but needs to be exposed in a followup PR.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1092ca10192c79b4b96c25985a2c6245d369090b
2015-03-16 17:54:50 -06:00
Zack Slayton
0635a7d127 servo: Merge #5217 - localStorage shim, fixes #5195 (from zslayton:master); r=jdm
@jdm This initial version has a few outstanding issues that I wanted to invite input on. Specifically:

1. I had some difficulty finding a home for the `StorageType` enum. Structs defined outside of the `script` module don't seem to be able to use the `#[jstraceable]` annotation and the `net` module (where `StorageTask` lives) doesn't have access to `script`. Per Simon Sapin's suggestion, I worked around this temporarily by creating a `TraceableStorageType` stand-in struct that was traceable and which could be translated into a regular `StorageType` when being sent to the `StorageTask`. Unsure of the best way to resolve this hack. Thoughts?

2. Apart from the `Storage` constructor used in `Window::SessionStorage` and the new `Window::LocalStorage`, there's also a method called `Storage::Constructor`. I'm unclear on what (if anything) will actually invoke this, so I'm not sure which variant of `StorageType` to use here. I've temporarily created an `Unknown` variant of `StorageType` as a placeholder.

3. I discovered that the web platform tests directory's localStorage tests. Many of them now pass despite the configured expectation that they fail. However, several do not pass. Is there a good way for me to add debug logging or otherwise get a sense of which assertion failed / what went wrong?

Thanks for your continued help!

Source-Repo: https://github.com/servo/servo
Source-Revision: b8e87ea020879090c931421cf3cec73d8cd1156f
2015-03-16 14:48:51 -06:00
Martin Schröder
5f93d37240 servo: Merge #5169 - Refactored optional argument "last_modified" for Document (from mschroeder:issue-4981); r=saneyuki
Fixes #4981

Source-Repo: https://github.com/servo/servo
Source-Revision: ccc6faa14787765485dae7ccd0976cd7e1764185
2015-03-16 11:03:58 -06:00
Mikko Perttunen
9d54446033 servo: Merge #5173 - Consider media attribute on link and style tags (from cyndis:media-attr); r=jdm
Don't add a stylesheet if the current device does not match the media
query specified in a link or style tag.

Cheers,
cyndis

Source-Repo: https://github.com/servo/servo
Source-Revision: 660ea05ddb3b17b0bb914cb09968cbcf7c6b1aec
2015-03-16 09:54:56 -06:00
Rohan Prinja
03166b0667 servo: Merge #5218 - make MouseEvent::new() and UIEvent::new() take enums for the bubbles and (from ajnirp:enums-for-mouse-ui-event-constructors); r=Ms2ger
... cancelable arguments

for #4807

Source-Repo: https://github.com/servo/servo
Source-Revision: f30faeadd09b7ef553df9d270abeb3c242c4ce3a
2015-03-15 03:18:49 -06:00
Ms2ger
1f6dd48edf servo: Merge #5211 - Use qitem rather than QualityItem::new in XHR (from Ms2ger:qitem); r=Manishearth
This is more future-proof.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2fb5eb8747fb4189ca577cc93b056f1290876980
2015-03-14 07:54:49 -06:00
Ms2ger
87466b0156 servo: Merge #5208 - Implement USVString (from Ms2ger:USVString); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 19cd87aefc24fa153fa013b5f96ae46de9a427fd
2015-03-13 14:30:49 -06:00
Ms2ger
d8b320d8ef servo: Merge #5206 - Pre rustup codegen cleanup (from Ms2ger:pre-rustup-codegen-cleanup); r=jdm,SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: c05de08630c50446cb15e42f4948fae6039e7271
2015-03-13 08:42:49 -06:00
Patrick Walton
33d4762cb0 servo: Merge #4417 - layout: Implement border-spacing per CSS 2.1 § 17.6.1 and the legacy cellspacing attribute per HTML5 § 14.3.9 (from pcwalton:border-spacing); r=larsbergstrom
Table layout code has been refactored to push the spacing down to
rowgroups and rows; this will aid the implementation of
`border-collapse` as well.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 8e811229bae6b338fabcd7df602079730c942889
2015-03-12 13:03:49 -06:00
Chris Double
fd7e1e9bd4 servo: Merge #5202 - Fix #2108 by renaming unwrap functions to native_from_reflector (from doublec:rename_unwrap); r=Ms2ger
Fix for issue #2108. That issue mentions an `unwrap_object` which doesn't seem to exist so I renamed `unwrap` to `native_from_reflector` and `unwrap_jsmanaged` to `native_from_reflector_jsmanaged`. The latter is a bit unweildy - maybe a shorter name might be better?

Source-Repo: https://github.com/servo/servo
Source-Revision: d7e9b8b96b77377fa37fd59cdb8c44fa866b5b2e
2015-03-12 01:51:49 -06:00
Md. Enzam Hossain
cdb0358d53 servo: Merge #5198 - Remove redundant force_relayout calls (from ienzam:force_relayout_cleanup); r=jdm
This is a cleanup for issue #3959

Do I need to inline force_relayout?

Source-Repo: https://github.com/servo/servo
Source-Revision: 7b6e314df1b93bd749eee9036927d795f26e1590
2015-03-11 14:12:50 -06:00
Glenn Watson
82955f4d72 servo: Merge #5192 - Remove now unused id field for frame tree (from glennw:remove-frame-id); r=Ms2ger
This will be re-introduced in a follow up PR with a different usage, but I'm trying to create small, independent PRs that are easier to review than one large change.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6ba3014d9b413d5d1d9911833e3ac08ecf97d65a
2015-03-11 03:45:47 -06:00
Glenn Watson
8deb8a8419 servo: Merge #5188 - Perform reflow if load events dirty any nodes (from glennw:reflow-events); r=jdm
This fixes some test failures that begin occurring when other events (such as resize) are fixed to only occur when needed.

Source-Repo: https://github.com/servo/servo
Source-Revision: 19827658deaf21eb811203f89c78a0f99e631ad4
2015-03-10 16:57:47 -06:00
Mátyás Mustoha
4f3961c85c servo: Merge #5185 - Canvas: added arc() support (from mmatyas:canvas_arc); r=pcwalton
This patch enables the use of `arc()` on the canvas.
I couldn't add reftest this time, as it involves some antialiasing issues, and so the reference doesn't match.

Source-Repo: https://github.com/servo/servo
Source-Revision: e8f1a046c6c704915419cb75181f6e0bc402ef98
2015-03-10 09:45:49 -06:00
Zack Slayton
13f72e057c servo: Merge #5182 - Use new if let syntax wherever possible. Fixes #4153 (from zslayton:master); r=jdm
Opening this PR to invite feedback.

Of the many `match` statement candidates for conversion to `if let`, several included `if` guards. Since `if let` doesn't support this syntax, I used nested if statements. If this is undesirable, say the word and I can revert those cases to `match`.

Source-Repo: https://github.com/servo/servo
Source-Revision: d31e80f89490afe4863574c062f34b2a0df43bae
2015-03-10 07:51:50 -06:00