Commit Graph

175 Commits

Author SHA1 Message Date
Nicholas Nethercote
afeab10374 servo: Merge #5912 - Add a profile_traits crate to reduce compile times (from nnethercote:profile_traits); r=Manishearth
A rebuild after touching components/profile/mem.rs now takes 48 seconds (and
only rebuilds `profile` and `servo`) which is much lower than it used to be.
In comparison, a rebuild after touching components/profile_traits/mem.rs takes
294 seconds and rebuilds many more crates.

This change also removes some unnecessary crate dependencies in `net` and
`net_traits`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 77f653da2c4120ea7ac1a946d97fc70059d513d4
2015-04-30 20:02:33 -05:00
Prabhjyot Singh Sodhi
c0097a3fe1 servo: Merge #5895 - Uniformise the various Msg types [#5882] (from psdh:uniformiseMsgTypes); r=jdm
Fixes #5882

Source-Repo: https://github.com/servo/servo
Source-Revision: 19a4a263645a643d3a3f79b41b816fe8b8727265
2015-04-29 15:51:39 -05:00
Ms2ger
622e167a6a servo: Merge #5888 - Prepare for the rustup (from Ms2ger:prepare-rustup); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: ab2d07db1fabd7ad9590aa7296038bbc91806c3f
2015-04-28 17:52:49 -05:00
James Graham
b71012fbc1 servo: Merge #5808 - Add script execution support via WebDriver (from jgraham:webdriver_execute_script); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 38ac11d0b8ae4244f49b59a6321a1a570ea01e03
2015-04-23 13:41:11 -05:00
Glenn Watson
1511f427f8 servo: Merge #5767 - Refactored image cache task - details below (from glennw:image-cache); r=larsbergstrom,jdm
* Simpler image cache API for clients to use.
 * Significantly fewer threads.
   * One thread for image cache task (multiplexes commands, decoder threads and async resource requests).
   * 4 threads for decoder worker tasks.
 * Removed ReflowEvent hacks in script and layout tasks.
   * Image elements pass a Trusted<T> to image cache, which is used to dirty nodes via script task. Previous use of Untrusted addresses was unsafe.
   * Image requests such as background-image on layout / paint threads trigger repaint only rather than full reflow.
 * Add reflow batching for when multiple images load quickly.
   * Reduces the number of paints loading wikipedia from ~95 to ~35.
 * Reasonably simple to add proper prefetch support in a follow up PR.
 * Async loaded images always construct Image fragments now, instead of generic.
   * Image fragments support the image not being present.
 * Simpler implementation of synchronous image loading for reftests.
 * Removed image holder.
 * image.onload support.
 * image NaturalWidth and NaturalHeight support.
 * Updated WPT expectations.

Source-Repo: https://github.com/servo/servo
Source-Revision: ac0645c2363b5a6ea3930b0857b3a27f1b6d033f
2015-04-22 19:16:46 -05:00
Adenilson Cavalcanti
bdad802a79 servo: Merge #5787 - Using helper color function (less verbose and clearer to understand) (from Adenilson:colorWhite01); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: f9a50c9be0ea8d941c0065ff23758fd460cc5eaa
2015-04-22 17:04:41 -05:00
Avi Weinstock
effc56f690 servo: Merge #5547 - X11 clipboard support (from aweinstock314:x11-clipboard); r=jdm
Manual re-opening of #5479 (since it seems that GitHub disables re-opening with the same number after a rebase).

Source-Repo: https://github.com/servo/servo
Source-Revision: 9974ebb2f969d2de8959fe74844b7410a5acd54e
2015-04-21 14:41:32 -05:00
Glenn Watson
0eccf68b72 servo: Merge #5559 - Support focus management and keyboard events for iframes (from glennw:iframe-focus); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 8b8daa24b8d25c531ea74a70b4b6e25cb3d7d58c
2015-04-19 18:13:59 -05:00
James Graham
3ea2485816 servo: Merge #5610 - Add enough Webdriver support to enable Get() (from jgraham:jgraham/webdriver-get); r=jdm
This is incomplete in several ways:

* It assumes that there's only one constellation (i.e. top level browsing context), ever.
* The session support is very basic indeed (no capabilities)
* Passing channels over channels may not sit well with IPC
* The error handling is mostly missing

Source-Repo: https://github.com/servo/servo
Source-Revision: af2f46bddad7a0e87a46fc3e303f15b4343226c7
2015-04-16 12:35:25 -05:00
Patrick Walton
87e4f98687 servo: Merge #5634 - Improve scrolling performance (from pcwalton:fix-scrolling-perf); r=metajack
This goes hand in hand with servo/glutin#18 to get our scrolling performance back on Mac.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: f017a4459c4d1067dec74ce1bf00cc6ce0612859
2015-04-11 11:02:32 -05:00
Aneesh Agrawal
b5257a6f0d servo: Merge #5558 - Remove compositor dependency on net crate (from aneeshusa:remove-compositor-dependency-on-net); r=jdm
Move the ImageCacheTaskClient trait and impl to net_traits. Fixes #5551.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6903955b9835b7cfdff6378e4a547cdad1589443
2015-04-10 07:41:54 -05:00
Thomas Jespersen
91f1ec90ad servo: Merge #5572 - Only send unused buffers messages if there are actually any buffers (from laumann:remove-unnecessary-buffer-sends); r=glennw
Some debugging reveals that the send_back_unused_buffers() quite often sends empty vectors back to the paint task. This still incurs a communication overhead though. Instead check that the there actually are buffers to send back.

Source-Repo: https://github.com/servo/servo
Source-Revision: 80851f70552c24a45755bc9ff12530b4ff80d099
2015-04-09 20:28:31 -05:00
Manish Goregaokar
2674bab6a8 servo: Merge #5465 - Split out shared networking code into net_traits crate (from gilles-leblanc:issue-4476-b); r=jdm
Fixes #4476

Source-Repo: https://github.com/servo/servo
Source-Revision: d707d1b78e3393a1ed164af8ec855bd0ff119e55
2015-04-03 13:00:46 -06:00
Ms2ger
efe6efc6c8 servo: Merge #5492 - Introduce a MouseButton enum (from Ms2ger:MouseButton)
Source-Repo: https://github.com/servo/servo
Source-Revision: 02be76bd4855a226669e8fcd1a638ff53e8f83d5
2015-04-03 13:29:12 +02:00
aditya
74d1cce38e servo: Merge #5491 - Fix issue 5466 (from ChimeraCoder:fix-issue-5466); r=Manishearth
@kenpratt and I moved the URL and IFrame fields from Reflow to LayoutTask, as described in #5466.

This is my first attempt at Rust, so let me know how this is!

Source-Repo: https://github.com/servo/servo
Source-Revision: e4da29b28b6efce3f84f00ef7d2d1716954c500d
2015-04-02 14:18:42 -06:00
Patrick Walton
b4a63e5dbd servo: Merge #5400 - layout: Implement CSS transitions per CSS-TRANSITIONS § 2 (from pcwalton:transitions-redux); r=glennw
Transition events are not yet supported, and the only animatable
properties are `top`, `right`, `bottom`, and `left`. However, all other
features of transitions are supported. There are no automated tests at
present because I'm not sure how best to test it, but three manual tests
are included.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: ebdf1d494b6c986e6dfcb7d8fd3f0ffa126523ed
2015-03-31 10:39:56 -06:00
Ms2ger
b244a0a2c4 servo: Merge #5416 - Remove some int/uints (from Ms2ger:int); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 674e52afa1012cb342629dab4d3abae975a16fe9
2015-03-28 13:58:02 -06:00
Ms2ger
95298609f7 servo: Merge #5432 - Use the new io's stderr handle to write out the hard-fail warning (from Ms2ger:stderr-comp); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: ce3f777a12212604ec5cb56a0145f3cf8fca9ea7
2015-03-28 12:10:06 -06:00
Ms2ger
49789f9058 servo: Merge #5381 - Stop using old_path (from Ms2ger:old_path); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: fefdd9afbaa661b1282babc27e3e5ca7c9ea669d
2015-03-26 09:36:56 -06:00
Nicholas Nethercote
511ce78c9b servo: Merge #5348 - Rename lots of profiling-related things (from nnethercote:profiler-renaming); r=jdm
```
------------------------------------------------------------------------
BEFORE                              AFTER
------------------------------------------------------------------------
util::memory                        util::mem
- heap_size_of                      - heap_size_of (unchanged)
- SizeOf                            - HeapSizeOf
  - size_of_excluding_self            - heap_size_of_children

prof::mem                           prof::mem
- MemoryProfilerChan                - ProfilerChan
- MemoryReport                      - Report
- MemoryReportsChan                 - ReportsChan
- MemoryReporter                    - Reporter
- MemoryProfilerMsg                 - ProfilerMsg
  - {R,UnR}egisterMemoryReporter      - {R,UnR}egisterReporter
- MemoryProfiler                    - Prof
- ReportsForest                     - ReportsForest (unchanged)
- ReportsTree                       - ReportsTree   (unchanged)
- SystemMemoryReporter              - SystemReporter

prof::time                          prof::time
- TimeProfilerChan                  - ProfilerChan
- TimerMetadata                     - TimerMetadata (unchanged)
- Formatable                        - Formattable [spelling!]
- TimeProfilerMsg                   - ProfilerMsg
- TimeProfilerCategory              - ProfilerCategory
- TimeProfilerBuckets               - ProfilerBuckets
- TimeProfiler                      - Profiler
- TimerMetadataFrameType            - TimerMetadataFrameType (unchanged)
- TimerMetadataReflowType           - TimerMetadataReflowType (unchanged)
- ProfilerMetadata                  - ProfilerMetadata (unchanged)
```
In a few places both prof::time and prof::mem are used, and so
module-qualification is needed to avoid overlap, e.g. time::Profiler and
mem::Profiler. Likewise with std::mem and prof::mem. This is not a big
deal.

Source-Repo: https://github.com/servo/servo
Source-Revision: d784d9c488be4533a3590a154addd366d15a5864
2015-03-25 21:18:48 -06:00
Avi Weinstock
96762695f2 servo: Merge #5359 - Moz events (from aweinstock314:moz-events); r=jdm
Addresses #5352.

This is based on https://github.com/glennw/servo/tree/moz-events

Source-Repo: https://github.com/servo/servo
Source-Revision: 432739164b1f3a117c0aac1dfc97b41018c89b46
2015-03-25 20:00:54 -06:00
Glenn Watson
262629a3e4 servo: Merge #5339 - Add mozbrowser events for location + title change (from glennw:moz-events); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 644dc405863cc5cdf7c562588cdd05c40d00ee35
2015-03-25 13:39:49 -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
57e4f960bb servo: Merge #5332 - Fixes a bug where the window size may not get passed to a new root pipeline (from glennw:fix-root-window-rect); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: cad58b3bec03586fd7d81e6fa45831803efd2350
2015-03-23 21:45:46 -06:00
Ms2ger
0e9f5150d2 servo: Merge #5324 - Remove allow(missing_copy_implementations) attributes (from Ms2ger:missing_copy_implementations); r=jdm
This is now the default.

Source-Repo: https://github.com/servo/servo
Source-Revision: b1a35f549baad871a3691ae485af2efecd2d73f7
2015-03-23 08:45: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
Ms2ger
761d1d93b7 servo: Merge #5303 - Update some code that's feature-gated under core (from Ms2ger:core); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 43f3f6c897916aea75773f74060ec84a338834d0
2015-03-21 12:57:46 -06:00
Corey Farwell
0d30e3a9ed servo: Merge #5259 - A few Constellation cleanup commits (from frewsxcv:constellation-cleanup); r=glennw
I messed up #5255

Source-Repo: https://github.com/servo/servo
Source-Revision: 075f667ce7fe3d94e9013768449a93ff3155c307
2015-03-20 15:57:45 -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
Glenn Watson
5943bb91ad servo: Merge #5249 - Add support for selecting which frame is requesting a navigation (from glennw:iframe-navigate); r=jdm
This allows iframes to navigate their own history.

Source-Repo: https://github.com/servo/servo
Source-Revision: 755581ff54a6f55ff7b8cdf88e09f8f3ff8dd33a
2015-03-17 16:21:48 -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
97dfb30b62 servo: Merge #5245 - Make IOCompositor only respond to the first Quit event (from nnethercote:only-one-quit-event); r=glennw
This fixes #5234, in that the huge memory spike disappears. It still takes ~15 seconds for the window to actually disappear after that first `Quit` event is received by the IOCompositor. Maybe that's a pre-existing problem.

There may be better ways to do this, like handling it on the sending side (i.e. within glutin) instead of the receiving side. I just did it this way because it seemed like the easiest thing.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2281bca89252d8e37771ce2446fb5871a69903d0
2015-03-16 22:21: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
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
Glenn Watson
244761ab60 servo: Merge #5226 - Fixes for compositor layers being removed and reftest timeouts (from glennw:fix-compositor-layers); r=larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: 0888a3a16d4f5eafe4f8008ec060764645f3bee5
2015-03-16 16:57: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
5eddd30761 servo: Merge #5189 - Make change page url message consistent with other compositor messages (from glennw:page-url); r=larsbergstrom
This doesn't have any effect on functionality, it just simplifies a few upcoming changes with how FrameIds work.

Source-Repo: https://github.com/servo/servo
Source-Revision: e581648c75a55a5939a16f4089295154e38dbc23
2015-03-10 18:12:47 -06:00
Josh Matthews
e85140b16c servo: Merge #5118 - Async document loads (from jdm:pageload); r=Ms2ger
Rebased and improved version of #4967.

Source-Repo: https://github.com/servo/servo
Source-Revision: 72f8898990f06e7f505eeaf9cfa671740c60395d
2015-03-03 16:03:45 -07:00
Glenn Watson
caddec4583 servo: Merge #5113 - Only allow root pipelines to set the window title (from glennw:fix-title); r=mbrubeck
Sometimes, the root pipeline title is sent before the compositor has created the root pipeline, so also request the main page title once the initial frame tree has been sent.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6927bf6ff0ba7232f9d201d6f71f57ce9146ce12
2015-03-02 17:24:56 -07:00
Glenn Watson
5b130f0345 servo: Merge #5065 - Fix making an iframe visible when it was initially set to display:none (from glennw:iframe-vis-fix); r=pcwalton
When an iframe is created with display:none it sets the root layer to be zero width and height. When updating the rect of the iframe from layout send the entire rect rather than just the new origin, which handles the case where the iframe has been made visible and now has a non-zero rect.

Source-Repo: https://github.com/servo/servo
Source-Revision: 891dd496e3994a96dc76ce247623be6c32a073fb
2015-03-02 15:30:52 -07:00
Pawel Kondzior
231cf5701f servo: Merge #4960 - Add thaw/freeze messages that can suspend/resume webcontent timers #4907 (from pkondzior:add-script-timers-suspend-resume-functionality); r=jdm
Adds free/thaw methods to script_task that let you send suspend/resume messages to web content timers. Fixes #4907

Source-Repo: https://github.com/servo/servo
Source-Revision: a3ea3eed47713a4a6faa86c575bc2ac95c5fe135
2015-02-23 21:45:46 -07:00
Manish Goregaokar
ec73aa2e35 servo: Merge #4991 - Add ./mach build-gonk; unbreak gonk build; document (from Manishearth:gonkup); r=larsbergstrom
r? @larsbergstrom

cc @mwu

Source-Repo: https://github.com/servo/servo
Source-Revision: d326e75c5e0314903ed2d297dcb72e535c543c2f
2015-02-20 22:27:49 -07:00
Ms2ger
e82686e900 servo: Merge #4993 - Move compositing to libc from crates.io (from Ms2ger:libc-compositing); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: d8c9f2b92fb4be83895c4fe43ede2d6e83d2c274
2015-02-20 18:21:51 -07:00
Ruud van Asseldonk
02a3afe5ec servo: Merge #4925 - Remove glob re-exports in devtools_traits/lib.rs (from ruuda:devtools-traits); r=jdm
This resolves #4921.

Source-Repo: https://github.com/servo/servo
Source-Revision: 40eff84ae1220c3d596cddf4fb789763b71bcb38
2015-02-13 09:06:53 -07:00
Ms2ger
02ab4f60c3 servo: Merge #4922 - Fix some warnings (from servo:warnings); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 66f4faf44fbc6e8703d4336219a20dd3b19fb493
2015-02-13 05:33:49 -07:00
Simon Sapin
8fbd363d52 servo: Merge #4893 - Upgrade to rustc ba2f13ef0 2015-02-04 (from servo:rustup_2015-01-31); r=Ms2ger,glennw
Ready for review.

Final link step on android fails, but we know how to fix it and will add it to this branch soon.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2cc08f289ab909de44fa09a07b2c43b70ce379b9
2015-02-11 17:24:45 -07:00
Martin Robinson
2cc8cff1f3 servo: Merge #4895 - Send back unused buffers to the right pipeline (from mrobinson:fix-buffer-return); r=mbrubeck
Update to latest rust-layers and send back all buffers to their
original pipeline.

Source-Repo: https://github.com/servo/servo
Source-Revision: bc6882bdefc318402a46ede1494eb79339705c21
2015-02-11 09:27:54 -07:00
Ms2ger
0a912ace80 servo: Merge #4887 - Import net as net rather than servo_net (from Ms2ger:servo_net); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: e3a4d493117ffd09ce75270b36012845ebb9c08c
2015-02-10 05:15:45 -07:00