Commit Graph

154 Commits

Author SHA1 Message Date
Brandon Fairchild
d3a5501336 servo: Merge #8938 - Move LayerKind and ScrollPolicy enums to gfx_traits (from nerith:gfx); r=Ms2ger
Fixes #8836.

Source-Repo: https://github.com/servo/servo
Source-Revision: 68c4f290c7c9ad7ea45fcea66e3c6b172e42be62
2015-12-23 18:08:51 +05:00
Ms2ger
7a18cac01e servo: Merge #9035 - Remove some unused imports (from Ms2ger:warnings); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: a900196b3f56fac46f86d8a8157a61f14fdca364
2015-12-21 05:28:59 +05:00
Simon Martin
ad7cf2f6d6 servo: Merge #8863 - Issue #8352: Dispatch mozbrowsershowmodalprompt event for alert() (from simartin:issue_8352); r=jdm
Fixes https://github.com/servo/servo/issues/8352

Source-Repo: https://github.com/servo/servo
Source-Revision: 9a4d82c314754d377edb0ef6b87873076bf3c057
2015-12-21 01:58:32 +05:00
Beomjin Kim
c4724a8605 servo: Merge #9027 - Moved ScriptToCompositorMsg enum and EventResult enum to script_traits (from vwvww:cmrf2); r=jdm
Moved ScriptToCompositorMsg enum and EventResult enum to script_traits
resolving issue #8835.

(Need to be checked)
Variants in ScriptToCompositorMsg enum and EventResult enum had no doc
comment. I found some with grep command and copied it, and others I
wrote some doc comments manually to pass the build system. It needs to
be checked whether the doc comment is proper or not.

Source-Repo: https://github.com/servo/servo
Source-Revision: 62b11a28fa41d6665408844eb7b09d3479c4ea20
2015-12-21 00:00:03 +05:00
Maciej Skrzypkowski
8e5e758709 servo: Merge #9022 - Move PaintMsg enum to gfx_traits #8844 (from mskrzypkows:PaintMsg_refactoring); r=jdm
re-PR of https://github.com/servo/servo/pull/9007, because homu seems stuck

Fixes #8844.

Source-Repo: https://github.com/servo/servo
Source-Revision: 95eabdb4dbdc00937eeea5b495002d5526217f93
2015-12-20 01:04:26 +05:00
Mathieu Agopian
c4a46a7e14 servo: Merge #9019 - Use Url.join instead of UrlParser.base_url(...).parse (#9002) (from magopian:9002-use-url.join); r=SimonSapin
Fix issue #9002

Source-Repo: https://github.com/servo/servo
Source-Revision: f9141ef2db693518fef676740f25abee3b938cac
2015-12-19 01:28:56 +05:00
Paul Rouget
71bf40b221 servo: Merge #8618 - Browser API: implement iframe.reload() (from paulrouget:reload); r=jdm
fixes #8575

The implementation is naive, and doesn't support the `hardreload` parameter.
And for the test, I'm not sure how else I can test the reload.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9570b51565c3864e76570f41a45f3b94c002e50c
2015-12-17 19:15:44 +05:00
Glenn Watson
293972dde5 servo: Merge #8612 - Add test to constellation to avoid writing reftest image if there are pending frames (from glennw:pending-frames); r=jdm
This changes several tests that contain <iframe></iframe> from FAIL to TIMEOUT. This is correct
since there is a bug that prevents these iframes from ever rendering.

~~~There are also a few previous FAILs that changed to OK. These may be intermittents or they
may genuinely be fixed by this change.~~~

Source-Repo: https://github.com/servo/servo
Source-Revision: c6ae32abdde715dbdc3097a40ab7abdbc98cf4b0
2015-12-17 15:49:16 +05:00
GauriGNaik
f9f1c0b345 servo: Merge #8971 - Add pipeline information to CSS error reporting (from jdm:expose-css-errors-1); r=jdm
Rebase of #8838.

Source-Repo: https://github.com/servo/servo
Source-Revision: d11f96e27074b0130760a02d39d2da4e003c820e
2015-12-14 21:21:41 +05:00
Tomas Cernaj
bfe6437e59 servo: Merge #8939 - Move PaintListener to gfx_traits, Fixes #8834 (from cnaj:msg_refactoring); r=Ms2ger
Adding layers and msg dependency to gfx_traits.

Fixes #8834.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9f0c6d75d1abef030b1f98f07cb598100b96c05e
2015-12-12 03:57:55 +05:00
Tetsuharu OHZEKI
2570434ec3 servo: Merge #8937 - Fix some warnings (from saneyuki:warning); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 2977795e39989ca776f7e36169db2dc05294f74b
2015-12-11 22:22:47 +05:00
Beomjin Kim
44cafda54e servo: Merge #8898 - Moved CompositorMsg enum into compositing crate (from vwvww:compositor_msg_refactor); r=Ms2ger
moved CompositorMsg enum into compositing crate.
moved from components/msg/constellation_msg.rs
            to components/compositing/lib.rs
fixes #8832

Source-Repo: https://github.com/servo/servo
Source-Revision: 4e73a30b0072dcf93bd8faa18f6ed89b7b2ad245
2015-12-11 11:32:52 +05:00
Tomas Cernaj
14ace799a9 servo: Merge #8909 - Move ScriptMsg to script_traits crate, Fixes #8833 (from cnaj:msg_refactoring); r=jdm
Review of documentation that was missing needed.

Fixes #8833.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7438bc0425749989b8aab084a34ff3fff2ea6679
2015-12-10 10:54:44 +05:00
Florian Strübe
f926dd03a0 servo: Merge #8862 - Moved WorkerId type to devtools_traits (from fstr:move_workerid); r=Ms2ger
Fixes #8846.

Source-Repo: https://github.com/servo/servo
Source-Revision: 02f4be9c9f82a6e03942977eece39d98dcaff839
2015-12-08 00:23:40 +05:00
Roman Klauke
4bace2a177 servo: Merge #8855 - move FocusType enum to the script crate (from romankl:move-focus-enum); r=Ms2ger
This commit moves the FocusType enum to the script crate and replaces all usages with the new `usage`.

Fixes #8840

Source-Repo: https://github.com/servo/servo
Source-Revision: e16c930f36582f40da4736f88675f559e7e47098
2015-12-06 19:46:23 +05:00
Matt Brubeck
ea7823d554 servo: Merge #8785 - Add slow path for hit testing of iframe behind positioned content layer (from mbrubeck:fixed-hit-test); r=pcwalton
Fixes browser.html blocker #8759. r? @pcwalton

This adds a slow path for cases where the compositor's layer-based hit testing is incorrect.  If the script task discovers that a mouse event should have been dispatched to an iframe, it bounces the event back to the constellation to be forwarded to the correct pipeline.

This isn't terribly slow (on the slow path, it adds one extra round-trip message between script and constellation), but if we want to optimize this better we could instead replace the compositor's layer hit testing with display list hit testing in the paint task.  This would be a more complicated change that I think we should save for a follow-up.

This only fixes mouse input for now.  A basically-identical change will be needed for touch-screen input, whether we stick with this approach or switch to the paint task.

Source-Repo: https://github.com/servo/servo
Source-Revision: bc62b5aadb62267582fbd65daa28438ce6c6ac9c
2015-12-04 02:24:22 +05:00
Simon Sapin
dac4e7f3cc servo: Merge #8757 - Use skia and deps from crates.io (from servo:skia); r=mbrubeck
This makes the initial download for skia go from a 300 MB git repository to a 5 MB tarball. This should help with issues like #6132 and #7687.

Fix https://github.com/servo/skia/issues/70

This builds, but the at the moment causes a number of tidy errors for duplicated crates.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8b95d7b8d860ec4c0834192083361a9fb78ddbeb
2015-12-03 12:28:29 +05:00
Josh Matthews
6689e4a372 servo: Merge #8558 - Dispatch load events for cross origin iframes. Resolves #6672 (from jdm:crossoriginiframeload); r=glennw
Splitting it out from #6677.

Source-Repo: https://github.com/servo/servo
Source-Revision: 51c19fd733a863f2fae05e693795dbecce69f2ed
2015-12-01 03:39:11 +05:00
David Raifaizen
7a2123f7f4 servo: Merge #8661 - Webdriver - GetWindowSize/IsEnabled/IsSelected (from craftytrickster:8623/some-webdriver-commands); r=jgraham
Added handlers for https://github.com/servo/servo/issues/8623:
GetWindowSize
IsEnabled(WebElement)
IsSelected(WebElement)

I am not sure how to actually verify my webdriver code works, if someone can give advice I would make the necessary changes.

Thanks!

Source-Repo: https://github.com/servo/servo
Source-Revision: a877a56e0e603c6cc8e9f951c2ad14b6fe8f9b62
2015-11-30 03:12:54 +05:00
Guillaume Gomez
7855be6622 servo: Merge #8692 - Ensure crate are alphabetically sorted (from GuillaumeGomez:patch-1); r=Wafflespeanut
cc @nox

Source-Repo: https://github.com/servo/servo
Source-Revision: dbff1ab33636bc7d60a4c97b63f39b59985726ce
2015-11-28 19:04:11 +05:00
Manish Goregaokar
09d3c7ef66 servo: Merge #8446 - Rust upgrade to rustc 1.6.0-nightly (5b4986fa5 2015-11-08) (from servo:rustup_20151110); r=SimonSapin+Ms2ger+jdm+Manishearth
<s>DO NOT r+ or try+ this</s>

<s>It causes an OOM (https://github.com/rust-lang/rust/issues/29740) and can crash the OS. Probably will set our CI on fire. </s>

Source-Repo: https://github.com/servo/servo
Source-Revision: f13c72d68e1e7f49e241938bfd6e8a588c68e86b
2015-11-27 10:17:00 +05:00
Greg Guthe
1e5480428c servo: Merge #8598 - Split paint task messages from ScriptMsg (from g-k:split-scriptmsg); r=KiChjang
Refs: https://github.com/servo/servo/issues/8592
Source-Repo: https://github.com/servo/servo
Source-Revision: 5e7306bf1965988551cafe6a27baab13eb927bbe
2015-11-26 02:32:47 +05:00
Patrick Walton
d5235f97ad servo: Merge #8660 - Update ipc-channel to pick up the improved error reporting (from pcwalton:ipc-channel-errors); r=larsbergstrom
Intended to help diagnose intermittent failures.

r? @jdm or @larsbergstrom (or whoever)

Source-Repo: https://github.com/servo/servo
Source-Revision: 13a96fcaf78c299beb2021d3ae9dae8d9e916762
2015-11-25 07:01:15 +05:00
James Graham
3b9162b3e1 servo: Merge #8621 - Add support for getting an element's computed style through WebDriver (from jgraham:webdriver_css); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 585d2d5c8c4e59be20ab9660dab75fc55438e247
2015-11-21 10:39:50 +05:00
Patrick Walton
d4e67f7fa7 servo: Merge #8599 - compositing: Split Servo up into multiple sandboxed processes (from jdm:e10s-redux); r=metajack
Multiprocess mode is enabled with the `-M` switch, and sandboxing is
enabled with the `-S` switch.

Rebase of #6884.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8b39b9afed6ef8a3d7d3e6609fd301a37825d3e1
2015-11-20 03:29:48 +05:00
James Graham
8492872b76 servo: Merge #8564 - Implement Get Element Attribute WebDriver command (from jgraham:webdriver_attr); r=Ms2ger
This intentionally doesn't implement the special handling for boolean
attributes yet, since that requires some kind of exhaustive list of all
such attributes

Source-Repo: https://github.com/servo/servo
Source-Revision: 7f95693288eac546b7b31a51a6fcf80883ae533b
2015-11-19 22:46:25 +05:00
Keith Yeung
6c1517928e servo: Merge #8530 - Split ConstellationMsg into ScriptMsg and CompositorMsg (from KiChjang:split-constellation-msg); r=jdm
Fixes #8356.

Source-Repo: https://github.com/servo/servo
Source-Revision: acbe41305230a926458596444ca955eff063d9dd
2015-11-19 04:09:20 +05:00
James Graham
8bd4d04d48 servo: Merge #8151 - Implement support for WebDriver send keys command (from jgraham:webdriver_sendkeys); r=jgraham
Supports sending keys to an element. The specification here is still
rather unfinished so the error handling and so on in this code will
need iteration as it becomes clearer what the expected behaviour is.

Source-Repo: https://github.com/servo/servo
Source-Revision: afe03870ce1a5a65b4c22f2e64155259da8b4609
2015-11-17 10:32:50 +05:00
Paul Rouget
0a62891bdd servo: Merge #8449 - mozbrowsericonchange event (Browser API) (from paulrouget:favicon); r=jdm
fixes #8347

Source-Repo: https://github.com/servo/servo
Source-Revision: 7f076c628bffa9d95dca61e003adb9ab3ab0a316
2015-11-14 19:24:03 +05:00
Patrick Walton
b0cfd94d48 servo: Merge #8492 - script: Make timer events e10s-safe (from jdm:e10s-timer-events); r=jdm
Closes #8235.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9eaa8e7b1f2e462f62b73477c30183c836a18399
2015-11-13 04:49:48 +05:00
Ms2ger
aa500ac691 servo: Merge #8355 - Cleanup exit messages and related code (from Ms2ger:Exit); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 9a465c58429547b59b8a6e1258eaaea46bf7e5a2
2015-11-07 22:04:45 +05:00
Manish Goregaokar
c98dcc6db4 servo: Merge #8241 - Update euclid to 0.3 (from Manishearth:euclid_up); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 0d699a2b4419632e31b35352c518e2ef5ffcc9a3
2015-10-28 21:31:15 +05:00
Matt Brubeck
62a3d94aaf servo: Merge #7204 - Very basic touch events and touch scrolling (from mbrubeck:touchevent); r=jdm
This implements just enough of [Touch Events](http://w3c.github.io/touch-events/) to enable scrolling on Android without regressing basic single-touch interaction like clicking on links.

Dragging a page will scroll it, unless the page calls `preventDefault` on the "touchstart" event.

Does **not** yet support pinch zooming or other multi-touch gestures or events.

Includes a `-Z convert-mouse-to-touch` command line flag for testing on non-touch platforms.  This is also enabled by default on Android because Glutin currently translates touch input to mouse events on Android.

Source-Repo: https://github.com/servo/servo
Source-Revision: dcd207f9bf15c9ecf5d043385ba93277e69201f6
2015-10-22 15:54:01 -06:00
Martin Robinson
2ef3e42e12 servo: Merge #7950 - Integrate iframes into the display list (from mrobinson:layerize-iframes); r=pcwalton
Instead of always promoting iframes to StackingContexts, integrate them
into the display list. This prevents stacking bugs when
non-stacking-context elements should be drawn on top of iframes.

To accomplish this, we add another step to ordering layer creation,
where LayeredItems in the DisplayList are added to layers described by
the LayerInfo structures collected at the end of the DisplayList.
Unlayered items that follow these layered items are added to
synthesized layers.

Another result of this change is that iframe layers can be positioned
directly at the location of the iframe fragment, eliminating the need
for the SubpageLayerInfo struct entirely.

Iframes are the first type of content treated this way, but this change
opens up the possibility to properly order canvas and all other layered
content that does not create a stacking context.

Source-Repo: https://github.com/servo/servo
Source-Revision: 11d23a41b31c2b2846d1e9c6b40e87ba7e2a095f
2015-10-20 16:01:38 -06:00
Glenn Watson
ec6aeca836 servo: Merge #8009 - Remove webdriver use of SubpageId (from glennw:webdriver-subpage); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: ac733746094c2ab1c3e5a3326095032206e5fb86
2015-10-14 18:05:17 -06:00
Matt Brubeck
70a47eb053 servo: Merge #7933 - Replace libpng and stb_image with PistonDevelopers/image (from mbrubeck:piston-image); r=glennw
Fixes #3368. r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 0f597d389052500d9b76b9f9f89e873e6f809ab1
2015-10-12 15:06:31 -06:00
Glenn Watson
e8bfc6de7a servo: Merge #7921 - Update RemoveIFrame to use pipeline id rather than subpage (from glennw:subpage-fixes-2); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 5ffeb3b95bfc90079622fa65fa7f6dc4fff25350
2015-10-12 07:49:26 -06:00
Glenn Watson
04c72d8ebd servo: Merge #7899 - Remove constellation round trip for subpage mapping in compositor (from glennw:subpage-fixes-1); r=pcwalton
This makes use of the new functionality that allows iframes to generate their own pipeline IDs in order to remove any knowledge of subpage ids from the compositor.

(This is the first of several commits removing subpage from parts of servo).

Source-Repo: https://github.com/servo/servo
Source-Revision: 1d617f332edd0036ca4cbc3890f1f44f57597906
2015-10-07 18:36:35 -06:00
Qeole
792d9a932d servo: Merge #7911 - Fixes #7907: rendering for unescaped string "<iframe>" in doc (from Qeole:7907); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 3e5b491a502af3158d77a1426fc585df43353ae9
2015-10-07 13:59:24 -06:00
Glenn Watson
346d7ca09a servo: Merge #7807 - Make it possible for iframes to create their own pipeline ID (from glennw:pid); r=jdm
This doesn't change any functionality, but it's the first step towards removing SubpageId.

Adding this change now will allow us to gradually change over code referencing subpage id rather than in one massive PR.

Introduces a namespace for pipeline ID generation - there is a namespace for the constellation thread, and one per script thread.

Source-Repo: https://github.com/servo/servo
Source-Revision: 098bdb5f22500a6e856b085a1140090f63ef8645
2015-10-06 01:08:32 -06:00
Martin Robinson
ebde0a093d servo: Merge #7822 - Rework how StackingContexts are dynamically added to layers (from mrobinson:layer-info); r=pcwalton
StackingContexts are added to layers when it is necessary to maintain
their ordering on top of other layered StackingContexts. Instead of
tracking the information about a layer scattered around into different
structs, combine it all into LayerInfo. LayerInfo will be used in the
future to hold layer information for DisplayItems that are layerized
independently of StackingContexts.

Source-Repo: https://github.com/servo/servo
Source-Revision: 27d468b6674b81c396aa0a13d8fe9eb410c12d6e
2015-10-05 23:05:21 -06:00
Glenn Watson
7adf35f9bd servo: Merge #7811 - Update servo to use published app units crate (from glennw:use-crates-au); r=larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: 0860be4c28ebaee36a0df4de3510d917b0e08cb7
2015-09-30 22:21:36 -06:00
Glenn Watson
5c835e208c servo: Merge #7795 - Split Au type into separate crate, with minimal dependencies (from glennw:app-units-crate); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 35888e5a1d48511ec54ddf8c58f1c7b0c47c5d3c
2015-09-30 15:19:33 -06:00
Patrick Walton
990677d856 servo: Merge #7423 - layout: Make the compositor rather than layout determine the position of each iframe (from pcwalton:iframe-stacking-context-position); r=glennw
The old code that attempted to do this during layout wasn't able to work
for multiple reasons: it couldn't know where the iframe was going to be
on the page (because of nested iframes), and at the time it was building
the display list for a fragment it couldn't know where that fragment was
going to be in page coordinates.

This patch rewrites that code so that only the size of an iframe is
determined during layout, and the position is determined by the
compositor. Layout layerizes iframes and marks the iframe layers with
the appropriate subpage ID so that the compositor can place them
correctly.

Closes #7377.

Source-Repo: https://github.com/servo/servo
Source-Revision: a0cb657fe80859dd8862361631268479d1045432
2015-09-29 19:26:49 -06:00
Glenn Watson
2e93006604 servo: Merge #7724 - Ensure that animations expire correctly and stop compositing occurring after they finish (from glennw:expire-anims); r=pcwalton
There were two problems here:

(1) The animation state update function was only called when nodes were dirty or there were new animations.
(2) When all animations for a node expired, the entry from the hash table was not removed.

The result was that once an animation began, the compositor would be running as fast as it can forever.

Fixes #7721.

Source-Repo: https://github.com/servo/servo
Source-Revision: b4b3cedc10cec47d95880bfbe55f2dbc37cd910e
2015-09-23 18:46:29 -06:00
Ravi Shankar
62e8ea2732 servo: Merge #7698 - sorted the declarations in various files (from Wafflespeanut:sorting); r=frewsxcv
This is a direct extract from my abandoned PR for a lint (#7546), along with some rather clumsy modifications (only on `components/script/dom/mod.rs` and `components/style/lib.rs`), because I had to sort some of the files again to make peace with tidy, which hasn't been educated about sorting yet!

Source-Repo: https://github.com/servo/servo
Source-Revision: a7208869f2903e36f9b2f540b55b50283d7df466
2015-09-23 15:02:56 -06:00
Manish Goregaokar
3e8738a6e4 servo: Merge #7697 - Rust upgrade to rustc 1.5.0-dev (6217b002b 2015-09-21) (from servo:rustup_20150921); r=Ms2ger
Snapshot doesn't exist yet. Rust master+ should work.

Also https://github.com/serde-rs/aster/pull/33 hasn't merged yet.

r? @Ms2ger @larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: f7f16870bebdc9359661544054259b37780f1331
2015-09-23 06:45:18 -06:00
Brandon Fairchild
704178a0dd servo: Merge #7662 - Check for multiple import blocks separated by whitespace (from nerith:import); r=frewsxcv
Fixes #7381.

Source-Repo: https://github.com/servo/servo
Source-Revision: a0d3c9223f09757124b1520c4f17e94fa8bbe249
2015-09-19 13:34:51 -06:00
Martin Robinson
4405d29b06 servo: Merge #7587 - Ensure unique LayerIds for pseudo-elements (from mrobinson:layer-id); r=pcwalton
Currently pseudo-elements, like the fragments created for ::before and
::after, with layers will have the same LayerId as the body of their
owning fragments. Instead all LayerIds should be unique.

Fixes #2010.

Source-Repo: https://github.com/servo/servo
Source-Revision: cf13e806fe2f4cf5ad5f30efd16d7bd3f501f8b3
2015-09-17 08:53:39 -06:00
Jinwoo Song
b152f531c7 servo: Merge #7605 - Implement "transform: skew()" (from nox:skew); r=mbrubeck
Thanks to @Jinwoo-Song for the original commit, which I just rebased and cleaned up. Fixes #6237.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6a12f00d6d392651bae10365b4c806f36d704b21
2015-09-16 06:31:48 -06:00