Commit Graph

1586 Commits

Author SHA1 Message Date
Ms2ger
04a10a588f servo: Merge #6788 - Remove unused StyledNode::has_style method (from Ms2ger:has_style); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 662c00a8109c49d4c57343156b774441f4f48640
2015-07-27 08:07:23 -06:00
David Zbarsky
a9e70c7bbb servo: Merge #6773 - Fix MouseEvent.which to not throw (from dzbarsky:which); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 5b90cfd57d2d4595596c37b7f441d3422391eb8d
2015-07-27 05:57:09 -06:00
Corey Farwell
2eb4f27674 servo: Merge #6777 - Cleanup lint special cases, refactor flake8 linting (from frewsxcv:refactor-tidy); r=jdm
Currently, there are a few linting functions that only run on certain
filetypes (determined by the file extension). Prior to this commit, the
special cases were handled in a parent function with a conditional. This
commit changes the system so each linting function gets passed a
filename so the function can determine whether it should run or not
based on the file extension.

I also refactored flake8 linting slightly. From what I've read so far of
the code, flake8 itself will only print the results directly to stdout
(though the linter would report the quantity of errors detected).
Prior to this commit, we would let flake8 print directly to stdout and
just determine if there were >0 errors reported. This commit (sort of
hackily) temporarily captures stdout when we call flake8 so we can do
what we want with the output, allowing us to `yield` the line number
and message like we do with the other linting functions.

In my opinion, both of these changes isolate specific behaviors/checks
into their respective linting functions instead of having them handled
at a more global level.

In addition to the changes above:

* The whitespace linter now runs on WebIDL and TOML files
* The license header linter now runs on WebIDL files

Source-Repo: https://github.com/servo/servo
Source-Revision: 7c8922c0c39616559b580b4a363ebe2a8c6b3ba8
2015-07-27 04:39:04 -06:00
Ms2ger
f010dea998 servo: Merge #6771 - Remove unused allow(unrooted_must_root) attribute (from Ms2ger:unused-attr); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 78455ec033c6116732a8f43b909093b7d7732779
2015-07-27 02:23:53 -06:00
Patrick Walton
37246da499 servo: Merge #6597 - script: Make the ImageCacheTask use IPC (from pcwalton:image-cache-ipc); r=jdm
This necessitated getting rid of the boxed trait object that was being
be passed between the script task and the image cache task.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: e13ebf712de444132a6cc90f394c121d8d751c4c
2015-07-27 00:08:15 -06:00
Ms2ger
7315e1291e servo: Merge #6781 - Remove unused method Window::handle_resize_inactive_msg (from Ms2ger:handle_resize_inactive_msg); r=saneyuki
Source-Repo: https://github.com/servo/servo
Source-Revision: 380de1ba821140b180ef137796e5c3097a953c11
2015-07-26 20:55:40 -06:00
Patrick Walton
0b910b28af servo: Merge #6746 - net: Convert the storage task to use IPC (from pcwalton:storage-task-ipc); r=jdm
r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 362de0390280d01989521b2176477510fb6c0413
2015-07-26 18:07:32 -06:00
David Zbarsky
4566808441 servo: Merge #6760 - Remove outdated comment about cloning elements (from dzbarsky:comment-fix); r=jdm
The comment points to the "implement element prefix" issue, but we clone the element's prefix when we construct the element right above.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5a66b59f9bfece8944d9766872cc95cdce7705e6
2015-07-26 08:01:56 -06:00
Michael Howell
ed608d9b15 servo: Merge #6776 - Remove unnecessarily verbose matches (from notriddle:filereader-matches); r=jdm
Fixes #6766.

Source-Repo: https://github.com/servo/servo
Source-Revision: fd1bf1900d876be2da4743c65ea0956be1057453
2015-07-26 00:18:10 -06:00
Ravi Shankar
9a6f1bfbc2 servo: Merge #6761 - Combining FileReaderEvent and Process into an enum; r=jdm (from Wafflespeanut:filereader); r=jdm
This one's for #6752. The build was successful for this change. I'll commit the next one for `perform_annotated_read_operation` in a moment...

Source-Repo: https://github.com/servo/servo
Source-Revision: 3af6992151b087412b2dd460d20b34fb9fc2f28f
2015-07-25 13:58:34 -06:00
Anthony Ramine
2e8341b50d servo: Merge #6660 - Introduce VirtualMethods::children_changed() (from nox:children-changed); r=jdm
This virtual method mimics the behaviour of mutation observers and make it more viable than the older child_inserted(), which didn't cover removed nodes and was called as many times as there were inserted nodes.

A few other shortcomings where remove_child() was called directly instead of Node::remove() were also fixed while at it.

Source-Repo: https://github.com/servo/servo
Source-Revision: 705c95dedbbaa60ffd08e70579915e228d5b6ee0
2015-07-25 11:39:20 -06:00
Akos Kiss
84f654baea servo: Merge #6749 - Bump up dependencies past the point where both aarch64 fixes and x11 v2.0.0 bump-ups are landed (from akosthekiss:bump-deps); r=jdm
Affected dependencies are:
* azure,
* clipboard,
* glutin,
* js,
* layers,
* offscreen_gl_context,
* skia, and
* x11 (of course).

ipc-channel has already been bumped up in a previous commit.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8edf1a5ecdecc9f6de8210fc875cff3679fda09e
2015-07-25 10:17:55 -06:00
Christopher Hotchkiss
70c1538b8d servo: Merge #6742 - Added support for int32 to webdriver (from chotchki:accept_int32); r=jdm
Fix for issue #6729

Source-Repo: https://github.com/servo/servo
Source-Revision: ee07e7110d045eb6411ba101d2373318b5ab4f17
2015-07-25 07:50:26 -06:00
Patrick Walton
89b3b2b275 servo: Merge #6616 - script: Make most of 2D canvas and WebGL run over IPC (from pcwalton:canvas-webgl-ipc); r=jdm
To actually make the multiprocess communication work, we'll need to
reroute the task creation to the pipeline or the compositor. But this
works as a first step.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 1764267379a00b96a1df89f3917299a0c6fd325c
2015-07-25 01:50:31 -06:00
Ms2ger
57a380949b servo: Merge #6712 - Cleanup ParallelPostorderFlowTraversal (from Ms2ger:traversal); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 886c08c393f51499490702eaf97fc770273a2600
2015-07-24 20:50:55 -06:00
Patrick Walton
9a5dbcbefe servo: Merge #6629 - profile: Make the time and memory profilers run over IPC (from pcwalton:profiler-ipc); r=jdm
Uses a couple of extra threads to work around the lack of cross-process
boxed trait objects.

r? @nnethercote

Source-Repo: https://github.com/servo/servo
Source-Revision: f778e0eecf7cd8a2b870d18c3c305ff10d6b1894
2015-07-24 18:55:05 -06:00
Martin Robinson
e630ca094c servo: Merge #6679 - Have BufferMap store NativeSurfaces and rename to SurfaceMap (from mrobinson:surface-cache); r=pcwalton
We currently store LayerBuffers, because previously NativeSurfaces did
not record their own size. Now we can store NativeSurfaces directly,
which saves a bit of space in the surface cache and allows us to create
LayerBuffers only in the PaintTask.

This also means that instead of sending cached LayerBuffers, the
compositor can just send cached NativeSurfaces to the PaintTask.

Source-Repo: https://github.com/servo/servo
Source-Revision: 590cb33bb7ae9f4713a7c2ee8bfe1076c180e392
2015-07-24 17:59:45 -06:00
Patrick Walton
63409fac20 servo: Merge #6705 - canvas: Move to shared memory for images and canvas backing stores (from pcwalton:image-cache-shmem); r=jdm
The idea here is to land this before making images and canvas IPC-safe,
because this will shake out bugs relating to the shared memory. There
are currently test timeouts that are preventing multiprocess images and
canvas from landing, and I believe those are due to the inefficiency of
sending large amounts of data in the unoptimized builds we test with. By
moving to shared memory, this should drastically reduce the number of
copies and `serde` serialization.

Under the hood, this uses Mach OOL messages on Mac and temporary
memory-mapped files on Linux.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: ed1b6a3513e7546b580693f554a081bc0c7c478a
2015-07-24 17:14:59 -06:00
Sam Gibson
a10adef83b servo: Merge #6726 - Eval'ing int32's in devtools panic'd (from samfoo:int32-panic); r=Ms2ger
Eval'ing int32 in devconsole panics. Resolves #6725

Source-Repo: https://github.com/servo/servo
Source-Revision: cdcecaef04e8450b139d2e4b7d06c8fe7a035903
2015-07-24 04:10:50 -06:00
Matt Brubeck
83840728e7 servo: Merge #6471 - Basic support for bidirectional text (from mbrubeck:bidi); r=pcwalton
This re-orders text according to the Unicode bidirectional layout algorithm, using the [unicode-bidi](https://github.com/mbrubeck/unicode-bidi) crate.  It uses the natural order of the text based on Unicode character properties and the CSS `direction` property.

This does not yet support the CSS `unicode-bidi` property or the HTML `dir` attribute, but these should be straightforward to add.

r? @pcwalton.  Also depends on servo/unicode-bidi#4.

Source-Repo: https://github.com/servo/servo
Source-Revision: d3a36fafd948d7b9366feeca44f9ca9ad012d706
2015-07-23 21:20:49 -06:00
Akos Kiss
634811c7e4 servo: Merge #6718 - Add aarch64-unknown-linux-gnu support (from akosthekiss:aarch64-support); r=jdm
* Adding dependencies
* Replacing `i8` with `libc::c_char` to build properly on platforms
  where char is unsigned.

Source-Repo: https://github.com/servo/servo
Source-Revision: b386d7ae444af868907b9faff44e8432469160bd
2015-07-23 17:17:18 -06:00
farodin91
1bcc16dc72 servo: Merge #6716 - Implement FileReader.{readAsText,readAsDataUrl}. Fixes #6172 (from farodin91:filereader); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: e32068d17bdf6a87a63bea97b6364caa22b37e79
2015-07-23 14:37:00 -06:00
Ms2ger
1e33873725 servo: Merge #6715 - Implement more methods on LayoutJS (from Ms2ger:layoutelement); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: f44d75e5b2e4229728d97b6a70de3babd3496eb1
2015-07-23 12:40:52 -06:00
Till Schneidereit
050505743e servo: Merge #6683 - Implement DOMPoint and DOMPointReadOnly (from tschneidereit:dompoint); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 658c3d05ae72b52e543342c7a33d37a345eb4374
2015-07-23 11:38:14 -06:00
Simon Sapin
fbf6f36a37 servo: Merge #6700 - Update rust-selectors (from servo:selectors); r=Ms2ger
Update for https://github.com/servo/rust-selectors/pull/37

Source-Repo: https://github.com/servo/servo
Source-Revision: 5d857c5d0cac67337ea01895b7cf309359c89cce
2015-07-23 10:55:37 -06:00
Patrick Walton
1f402a6b13 servo: Merge #6707 - script: Increase our file descriptor limit on Linux (from pcwalton:more-fds); r=larsbergstrom
We've had problems with this before, and I think it's starting to cause
problems again.

See PRs #6629 and #6616; my current theory is that this is the problem.

r? @larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: 0d7744b198d95bc2dae31a2cd48bdef1b1eeb792
2015-07-23 06:18:35 -06:00
Ms2ger
688891c28d servo: Merge #6706 - Move the WebSocket constructor logic out of WebSocket::new (from Ms2ger:ctor); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: c24d37dfccc0a57fa37efc56d08de2679db963e1
2015-07-23 01:44:20 -06:00
Glenn Watson
8c4ee2c2ea servo: Merge #6691 - Implement mouseevent.which (needed for enyojs sampler) (from glennw:mouse-which); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: ff86e0094cc4d65c5690a9df8e6996c49f9f076f
2015-07-22 21:53:00 -06:00
Ms2ger
348ab3f0fb servo: Merge #6698 - Implement some methods on LayoutJS<Element> (from Ms2ger:layoutelement); r=jdm
Part of my long-term plan to stop exposing `unsafe_get()` outside the script crate.

Source-Repo: https://github.com/servo/servo
Source-Revision: 37a1e22515e98fbda93d7e856c5a67b21d9b00a4
2015-07-22 21:10:04 -06:00
Michael Howell
5ee2c7021a servo: Merge #6667 - Optimize Node.normalize() (from notriddle:master); r=Ms2ger
Do not copy the discarded node's text data, borrow it.

Closes #6658.

p.s. What's the `let text_node = text_node.clone();` for? I removed it because it doesn't seem to be necessary, but I'd like to be sure.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5dba6d5b010e0d40ef282b6e43925ad0a7c44315
2015-07-22 15:13:43 -06:00
Ms2ger
64537e14d8 servo: Merge #6635 - Spawn a thread for WebSocket messages (from Ms2ger:ws-task); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 6fd31867baabd36a7a6fee5541c0d9816d877138
2015-07-22 14:26:21 -06:00
Michael Howell
32dbe8196b servo: Merge #6693 - Tidy finds WebIDLs with no spec (from notriddle:tidy-webidl); r=jdm
Closes #6689

Source-Repo: https://github.com/servo/servo
Source-Revision: 11a3423c29369e712ca1ce38417b9f9cf6845fd7
2015-07-22 13:44:12 -06:00
Bogdan Cuza
8a7ad0a203 servo: Merge #6682 - Fix a few issues (from boghison:scripttask); r=jdm
- Use SmallVec<[T; N]>
 - Make find_iframe a free function
 - Make ProgressEvent use enums for bubbles and cancelable
 - Change README, as `rust-snapshot-hash` is just a text file

Source-Repo: https://github.com/servo/servo
Source-Revision: aafc3dfa963b466303d5f241d69036f211aaad00
2015-07-22 12:25:57 -06:00
Martin Robinson
eac53db9f8 servo: Merge #6640 - Add memory profiling for the compositor task (from mrobinson:memory-profiling-for-compositor); r=nnethercote
Currently only the BufferMap is recorded, but a later change will also
measure the memory usage of the compositor tree.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3f69eadc0d55b2f065d59dae84baeac45a0bdc8e
2015-07-22 11:44:30 -06:00
snf
1fb5736c49 servo: Merge #6582 - Add Clamp and EnforceRange support for webidl arguments (from servo:clamp-enforce-range); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 36d732a60a39140806b4113d58a6b00e6b1931da
2015-07-22 11:03:05 -06:00
Sam Gibson
a39c05c1c8 servo: Merge #6490 - Implement HSTS (preload-only) (from samfoo:hsts-preload); r=jdm
Implement HSTS (preload-only) servo/servo#6105

* Downloads the HSTS preload list from the chromium repo (same as gecko), then convert it to a list appropriate for servo.
* Reads the preload list when creating a resource task, and implements STS for those domains.

Still todo:

* Read Strict-Transport-Security headers from servers and add details to the in-memory HSTS list. (note: this requires hyper or servo to implement an STS header struct. Hyper seems like the appropriate location, so I will create an issue/PR there soon). The work for this is nearly done with the exception of adding a new ControlMsg and the new header.
* Persist HSTS list to disk with known hosts (perhaps a different issue should be raised for this?)

Source-Repo: https://github.com/servo/servo
Source-Revision: ab3d6c472d409c1602c873dcdcb495a7fec9d4b0
2015-07-22 10:23:05 -06:00
Josh Matthews
2af9c6d1ac servo: Merge #6694 - Reject websocket protocol requests that don't match https://tools.iet… (from jdm:websocketprotocol); r=Ms2ger
…f.org/html/rfc6455#section-4.1 .

Source-Repo: https://github.com/servo/servo
Source-Revision: 6b4f1a42f08f66519af310b7c7777d77cc3d0834
2015-07-22 09:44:34 -06:00
Manish Goregaokar
3e5a305cc2 servo: Merge #6688 - Handle type parameters in unused_must_root (from Manishearth:smarter-root-lint); r=jdm
fixes #6651

Source-Repo: https://github.com/servo/servo
Source-Revision: 8a6681ba70c4e8dc524aff7b8fbc3c71167e8745
2015-07-22 07:05:31 -06:00
Corey Farwell
40267c33e3 servo: Merge #6607 - Upgrade rust-selectors, pass ':empty' tests (from frewsxcv:bump-selectors); r=Ms2ger
https://github.com/servo/rust-selectors/pull/36

Source-Repo: https://github.com/servo/servo
Source-Revision: 488f3b65a1bce549bcda718ab745aa47528cd160
2015-07-22 05:33:06 -06:00
Ms2ger
c7f133a7bc servo: Merge #6690 - Cleanup the get_*_display methods (from Ms2ger:display-getters); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 406be7accf50394f962382fc5a4c3aeb1c33aaa3
2015-07-21 15:20:12 -06:00
Ms2ger
3e2e20d119 servo: Merge #6657 - Cleanup ThreadSafeLayoutNodeChildrenIterator (from Ms2ger:ThreadSafeLayoutNodeChildrenIterator); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: b1c4862119f40e16fa41531443573d2aa9d2d22c
2015-07-21 13:38:33 -06:00
Corey Farwell
9af465c69e servo: Merge #6592 - Use NotImplementedError for Python base class methods (from frewsxcv:notimplementederror); r=Ms2ger
From the Python docs:

https://docs.python.org/2/library/exceptions.html#exceptions.NotImplementedError

"In user defined base classes, abstract methods should raise this
exception when they require derived classes to override the method."

Source-Repo: https://github.com/servo/servo
Source-Revision: a9f12da4f8a48daa197ff8bbc2021009fe6e2711
2015-07-21 11:28:21 -06:00
Josh Matthews
4d447c15f9 servo: Merge #6681 - Make the global options more resilient to unit tests running in paral… (from jdm:atomicopts); r=SimonSapin
…lel.

This should allow #6490 to land, since it's hitting problems with unit tests that create a resource task and therefore race on calling opts::get().

Source-Repo: https://github.com/servo/servo
Source-Revision: 126f5ae8f0a1041aa881b5b8d9396d0957b16036
2015-07-21 07:17:47 -06:00
Nicholas Nethercote
15357cc3c1 servo: Merge #6608 - Register/unregister memory reporters in a better place (from nnethercote:tweak-reporter-registration); r=glennw
By doing this on either side of the call to the relevant tasks' start()
method, we don't need to store the mem::ProfilerChan or the reporter
name in the task itself.

Source-Repo: https://github.com/servo/servo
Source-Revision: cb52cc66581191b6f787a4a6d0d2844e2968b7eb
2015-07-20 21:43:09 -06:00
Glenn Watson
e889835ac6 servo: Merge #6678 - Update to gleam 0.1.4 (from glennw:gleam0.1.4); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: faa180c9726f1287e5d2d00bf5723314049ee3c9
2015-07-20 18:27:06 -06:00
Glenn Watson
3082aad970 servo: Merge #6666 - Restore exit after load command line flag (from glennw:exit-flag); r=larsbergstrom
Also updates glutin with a crash fix that was exposed by this patch.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5ac80bff8e25be65e96daaf6b7403b11d23d561a
2015-07-20 15:37:33 -06:00
Bogdan Cuza
a7c587c432 servo: Merge #6648 - Make tidy check for "*" in toml files (from boghison:tidytoml); r=jdm
This checks every .toml file for an asterisk and prints an error if found.

Source-Repo: https://github.com/servo/servo
Source-Revision: 58e9bc6583b6ebbeb27e3b28a6b271ee48cd695a
2015-07-20 14:43:05 -06:00
Tetsuharu OHZEKI
dffb7982d9 servo: Merge #6675 - Implement Window.trap() to trigger a breakpoint trap (from saneyuki:trap); r=Ms2ger
Fix #6673

Source-Repo: https://github.com/servo/servo
Source-Revision: 20d8c275d747d6d8e3ce6f65c3ea592e2015d2ea
2015-07-20 10:20:57 -06:00
Ms2ger
e7879c2500 servo: Merge #6671 - Renaming browser context to browsing context (from Ms2ger:browser-context); r=jdm
That's what the spec calls it.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3a5e4335d7ff993a859bc5876243423fe4936441
2015-07-20 02:00:30 -06:00
Ms2ger
d30e7272ca servo: Merge #6669 - Remove leftover debug println (from Ms2ger:println); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: a432b14e689275ada48c4303609e4e8d4d5abef3
2015-07-19 23:17:46 -06:00