Commit graph

21295 commits

Author SHA1 Message Date
bors-servo
34950418ea auto merge of #5269 : Manishearth/servo/old_impl, r=jdm
Brings us to zero old impls. \o/

Feel free to add this to a larger warning fix PR
2015-03-18 22:33:47 -06:00
bors-servo
646f821479 auto merge of #5268 : mbrubeck/servo/append, r=jdm
The new `Vec::append` method is clearer and potentially faster.
2015-03-18 21:39:49 -06:00
bors-servo
0b1c2a1798 auto merge of #5267 : Adenilson/servo/squashWarnings02, r=jdm 2015-03-18 20:54:48 -06:00
Glenn Watson
ad0ffac81b Fix hit testing with stacking contexts (apparent since transforms landed). 2015-03-19 11:58:36 +10:00
Manish Goregaokar
0d7afc37e3 rm unnecessary old_impl_check 2015-03-19 07:16:03 +05:30
bors-servo
e0ead84781 auto merge of #5254 : glennw/servo/ib-stacking-context, r=pcwalton 2015-03-18 19:45:47 -06:00
Matt Brubeck
94a7563aea Use append instead of extend where possible
The new `Vec::append` method is clearer and potentially faster.
2015-03-18 17:17:33 -07:00
bors-servo
1236280bea auto merge of #5029 : ChrisParis/servo/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.
2015-03-18 18:06:49 -06:00
Adenilson Cavalcanti
375dbeff1e Squashing a few warnings. 2015-03-18 16:26:16 -07:00
bors-servo
b2fb06d6e2 auto merge of #4888 : ChrisParis/servo/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.
2015-03-18 17:12:49 -06:00
bors-servo
2346c9b940 auto merge of #5266 : mbrubeck/servo/linked_list, r=metajack
Fixes deprecation warnings.  Also removes a workaround for a fixed bug in Rust.
2015-03-18 16:28:09 -06:00
Chris Paris
a5d6c6a1fc Serialize using html5ever 2015-03-18 12:17:56 -10:00
Matt Brubeck
6ef9cb4e18 Remove workaround for rust-lang/rust#22244 2015-03-18 14:44:34 -07:00
Matt Brubeck
1ead92b474 Rename dlist to linked_list. 2015-03-18 14:44:34 -07:00
Glenn Watson
d61d3ad4ba Fixes positioning of inline blocks that generate stacking contexts. 2015-03-19 07:38:33 +10:00
bors-servo
124a78fb2e auto merge of #5262 : servo/servo/fix-warnings, r=metajack 2015-03-18 15:21:49 -06:00
Chris Paris
99286e4b4f Implement Element.innerHTML setter 2015-03-18 11:20:47 -10:00
Simon Sapin
6a58cbd118 Fix more warnings everywhere. 2015-03-18 22:11:20 +01:00
Simon Sapin
5ffd71cd5e Fix some warnings in gfx. 2015-03-18 22:08:00 +01:00
Simon Sapin
2f6951af0b Fix some warnings in net. 2015-03-18 21:56:31 +01:00
Simon Sapin
fef279a8f5 Fix build scripts warnings. 2015-03-18 21:53:48 +01:00
Simon Sapin
1e858ecbc6 Fix some warnings in util. 2015-03-18 21:35:06 +01:00
Adenilson Cavalcanti
814283321d Adding geometry information on DisplayList items while dumping. 2015-03-18 12:52:14 -07:00
Simon Sapin
d553bfefbb Fix warnings in style. 2015-03-18 19:29:48 +01:00
Ms2ger
5f15eb5fbf Upgrade rustc to d3c49d2140fc65e8bb7d7cf25bfe74dda6ce5ecf/rustc-1.0.0-dev. 2015-03-18 13:18:31 -04:00
bors-servo
65d4b12bf2 auto merge of #4736 : mattnenterprise/servo/dispatch_input_event, r=jdm 2015-03-17 22:27:47 -06:00
Matt McCoy
0bd717e470 #4508 Adding simple test and actually getting the event to dispatch 2015-03-17 19:54:05 -04:00
bors-servo
755581ff54 auto merge of #5249 : glennw/servo/iframe-navigate, r=jdm
This allows iframes to navigate their own history.
2015-03-17 16:21:48 -06:00
Glenn Watson
3fb3e66ada Add support for selecting which frame is requesting a navigation.
This allows iframes to navigate their own history.
2015-03-18 07:50:46 +10:00
Matt McCoy
5938a4c0f5 #4508 Ranaming the runnable and making sure the event is trusted 2015-03-17 17:05:41 -04:00
Matt McCoy
a481c8f28a #4508 Only dispatching input event when the textarea receives keyboard input and not for javascript 2015-03-17 17:05:41 -04:00
Matt McCoy
bfa4fe762b #4508 Fixing issues related to dispatching input event at HTMLTextareaElement 2015-03-17 17:05:41 -04:00
Matt McCoy
7cb851dda1 Fixes #4508 dispatching input event at HTMLTextareaElement 2015-03-17 17:05:21 -04:00
bors-servo
29b158e985 auto merge of #5252 : nnethercote/servo/system-reporter, r=jdm
Currently the system memory measurements ("resident", "vsize", etc.) are
not reported through the generic memory reporting mechanism, simply
because they pre-date that mechanism. This changeset removes that
special-casing.

One consequence of this is that previously if a platform didn't
implement one of the basic measurements, a '???' entry would be printed.
Now nothing will be printed. This is no great loss and matches what
Firefox does.

Another consequence is that the order in which the measurements are
printed is changed. I plan to fix this soon so that reports are sorted
in a more sensible fashion.
2015-03-17 14:31:10 -06:00
bors-servo
203240c1d8 auto merge of #5134 : pcwalton/servo/transforms, r=SimonSapin
r? @SimonSapin
2015-03-17 13:39:51 -06:00
Nicholas Nethercote
f306febd13 Put system memory measurements in a memory reporter.
Currently the system memory measurements ("resident", "vsize", etc.) are
not reported through the generic memory reporting mechanism, simply
because they pre-date that mechanism. This changeset removes that
special-casing.

One consequence of this is that previously if a platform didn't
implement one of the basic measurements, a '???' entry would be printed.
Now nothing will be printed. This is no great loss and matches what
Firefox does.

Another consequence is that the order in which the measurements are
printed is changed. I plan to fix this soon so that reports are sorted
in a more sensible fashion.
2015-03-17 12:24:33 -07:00
Patrick Walton
d10627a2b3 layout: Implement 2D CSS transforms per CSS-TRANSFORMS § 5, 6, 7, and 8. 2015-03-17 11:30:55 -07:00
Matt Brubeck
531bcb12ae Fixes for positioning of RTL blocks.
This fixes a bug in finding the top left corner of an RTL block in physical
coordinates.  (The old code used the `start` point of the `position` rect,
which is not always the top left.)

It also fixes the setting of `position.start.i` in certain mixed LTR/RTL
cases.

There is still a bug related to `position.size` for RTL blocks with margins.
See the FIXME comments for details.
2015-03-17 10:18:17 -07:00
Mátyás Mustoha
2817f2e066 Canvas: implement quadraticCurveTo(). 2015-03-17 16:05:36 +01:00
bors-servo
7bd6cb0091 auto merge of #5219 : doublec/servo/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.
2015-03-17 07:18:51 -06:00
Glenn Watson
84c5db900f Ensure that clicking a link in an iframe gets the existing iframe rect.
Otherwise, the new iframe may not get a valid window size until the
parent frame does another reflow.
2015-03-17 15:26:50 +10:00
Chris Double
618142fac7 Implement displaying of text/plain documents
This is done by detecting the content type as text/plain
and following the requirements from:
https://html.spec.whatwg.org/multipage/browsers.html#read-text
2015-03-17 18:11:33 +13:00
bors-servo
2281bca892 auto merge of #5245 : nnethercote/servo/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.
2015-03-16 22:21:49 -06:00
bors-servo
f093620922 auto merge of #5193 : nnethercote/servo/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?
2015-03-16 21:33:50 -06:00
bors-servo
990a965ddf auto merge of #5244 : mattnenterprise/servo/page_load_thread_name, r=jdm 2015-03-16 20:36:49 -06:00
Nicholas Nethercote
2b10f6e7ea Make IOCompositor only respond to the first Quit event.
This avoids huge mpsc_queue build-ups from the flood of Quit events
coming from glutin.

Fixes #5234.
2015-03-16 19:32:57 -07:00
Matt McCoy
f083583132 Fixes #5215 Serializing the thread name for the page load task to make it a simple url 2015-03-16 22:08:37 -04:00
Nicholas Nethercote
fa9ca206ef Remove the fake memory profiler thread.
Currently if you don't specify the '-m' option, a fake do-nothing memory
profiler thread gets created instead of the real one. It ignores all
events except for `Exit`. And the timer thread doesn't get created so no
`Print` events are sent.

This changeset instead always creates the real thread. If you specify
'-m' the *timer* thread is still absent and it won't print anything.
However, the memory profiler thread will respond to register/unregister
events, which is good, because if there's a bug in those (e.g.
double-registration of a particular name) it'll show up in invocations
that lack '-m'.
2015-03-16 18:12:28 -07:00
Nicholas Nethercote
ece2711185 Add memory reporting infrastructure and use it to measure the display list.
This changeset implements the beginnings of fine-grained measurement of
Servo's data structures.

- It adds a new `SizeOf` trait, which is used to measure the memory used
  by heap data structures, and implements it for some std types: Box,
  String, Option, Arc, Vec, and DList.

- It adds a new `MemoryReporter` trait which is used to report memory
  measurements from other threads to the memory profiler. Reporters are
  registered and unregistered with the memory profiler, and the memory
  profiler makes measurement requests of reporters when necessary.

- It plumbs a MemoryProfilerChan through to the layout task so it can
  register a memory reporter.

- It implements the `SizeOf` trait for `DisplayList` and associated
  types, and adds a memory reporter that uses it.

The display list hits 14.77 MiB when viewing
tests/html/perf-rainbow.html, and 2.51 MiB when viewing the Guardians of
the Galaxy Wikipedia page from servo-static-suite. Example output:

  0.29: display-list::http://www.reddit.com/
  0.00: display-list::http://static.adzerk.net/reddit/ads.html?sr=-reddit.com,loggedout&bust2#http://www.reddit.com
  0.00: display-list::http://www.reddit.com/static/createadframe.html

There are a number of FIXME comments indicating sub-optimal things. This
is a big enough change for now that doing them as follow-ups seems best.
2015-03-16 18:12:26 -07:00
Nicholas Nethercote
5865d5f717 Rename LayoutTask::handle_script_request.
Because it handles requests from tasks other than the Script Task.
2015-03-16 18:05:36 -07:00