Commit graph

1172 commits

Author SHA1 Message Date
bors-servo
f9826c3ae8 auto merge of #5323 : Ms2ger/servo/script-warnings, r=Manishearth 2015-03-23 06:57:50 -06:00
bors-servo
ccac6a944e auto merge of #5319 : frewsxcv/servo/urlsearchparams, r=Ms2ger 2015-03-23 05:18:50 -06:00
Ms2ger
6b69fec7fe Fix warnings in script. 2015-03-23 10:37:49 +01:00
bors-servo
1f682d878d auto merge of #5281 : glennw/servo/mozbrowser, r=jdm 2015-03-22 21:36:51 -06:00
Glenn Watson
bf9b8f7050 Experimental implementation of (a small subset of) mozbrowser APIs. 2015-03-23 13:26:55 +10:00
Corey Farwell
5697095298 dom::urlsearchparams cleanup and documentation 2015-03-22 20:51:48 -04:00
Corey Farwell
5a780cb221 Stop abusing format! macro when construct a String
In these cases for `format!`, we're just constructing a String of the
single argument with no special format.
2015-03-22 18:54:56 -04:00
bors-servo
445f1c891a auto merge of #5307 : frewsxcv/servo/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
2015-03-22 10:09:46 -06:00
Manish Goregaokar
596e03e546 Basic userscript support 2015-03-22 15:13:11 +05:30
Corey Farwell
5e4d80fa3a Tidy up script::dom::document.SetBody
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
2015-03-21 20:21:36 -04:00
Manish Goregaokar
3479d3fa7f Replace unsafe_blocks by unsafe_code. 2015-03-21 10:27:32 +01:00
bors-servo
aa6ed369b8 auto merge of #5261 : pcwalton/servo/too-many-reflows, r=pcwalton,metajack
These help Facebook Timeline a lot.

r? @metajack
2015-03-20 11:51:47 -06:00
Patrick Walton
2c22467d53 script: Stop rebuilding every flow in the document when an image
finishes loading.
2015-03-20 10:09:52 -07:00
Ms2ger
1604515fd9 Fix various build warnings. 2015-03-20 17:57:49 +01:00
bors-servo
6ffd459479 auto merge of #5287 : Ms2ger/servo/gates, r=jdm
CC #5286.
2015-03-20 09:12:51 -06:00
bors-servo
8998edb912 auto merge of #5282 : gfxmonk/servo/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.
2015-03-20 07:54:48 -06:00
Ms2ger
dce11222ba Update some feature gates.
CC #5286.
2015-03-20 13:55:11 +01:00
Tim Cuthbertson
0052a27b1a Free the interface prototype array when Window is finalized
Fixes #1871
2015-03-20 22:14:14 +11:00
bors-servo
2c85c1d312 auto merge of #5251 : mmatyas/servo/canvas_quadratic, r=jdm
Yet another small canvas patch.
2015-03-20 04:27:47 -06:00
bors-servo
dea36f9816 auto merge of #4891 : mmatyas/servo/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.
2015-03-20 03:12:47 -06:00
bors-servo
459c354416 auto merge of #4819 : mskrzypkows/servo/document_activeElement, r=jdm
#4770
2015-03-19 22:30:49 -06:00
bors-servo
ab8d43910c auto merge of #5229 : hsvalava/servo/m1503, r=jdm
Fixing ConsoleMsg for console.log messages in the Developer Tools web console.
2015-03-19 21:48:48 -06:00
Maciej Skrzypkowski
7da356cd05 Added document.activeElement attribute. 2015-03-19 23:00:13 +01:00
Himaja
3830d8e3e1 Fix ConsoleMsg in ConsoleAPICall for log messages in the Developer Tools web console. 2015-03-19 16:08:27 -04:00
Mátyás Mustoha
d3199aef74 Implement gradient fill styles for canvas. 2015-03-19 15:59:08 +01: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
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
Chris Paris
a5d6c6a1fc Serialize using html5ever 2015-03-18 12:17:56 -10:00
Chris Paris
99286e4b4f Implement Element.innerHTML setter 2015-03-18 11:20:47 -10:00
Simon Sapin
fef279a8f5 Fix build scripts warnings. 2015-03-18 21:53:48 +01:00
Ms2ger
5f15eb5fbf Upgrade rustc to d3c49d2140fc65e8bb7d7cf25bfe74dda6ce5ecf/rustc-1.0.0-dev. 2015-03-18 13:18:31 -04:00
Matt McCoy
0bd717e470 #4508 Adding simple test and actually getting the event to dispatch 2015-03-17 19:54:05 -04: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
Patrick Walton
d10627a2b3 layout: Implement 2D CSS transforms per CSS-TRANSFORMS § 5, 6, 7, and 8. 2015-03-17 11:30:55 -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
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
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
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
Glenn Watson
939a89568e First part of refactoring constellation to support iframe navigation.
The history is now recorded per frame, but needs to be exposed in a followup PR.

Also fixes a race condition that occurs loading iframes under heavy CPU load.

This ensures that iframes never do a reflow / layout until they have a valid
window size set from their parent frame.
2015-03-17 09:35:41 +10:00
Chris Double
82c52a7a1c Implement view-source protocol. Fixes #4181.
This follows the recommendation from issue #4181. A handler
for 'view-source' delegates to the HTTP loader. In that
loader I check for view-source, adjust the URL to be the
URL to be viewed and modify the Content-Type header to be
text/plain.

This doesn't actually result in the source being
viewed as rendering text/plain is not yet implemented.
2015-03-17 11:06:44 +13:00
bors-servo
b8e87ea020 auto merge of #5217 : zslayton/servo/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!
2015-03-16 14:48:51 -06:00
Zack Slayton
323baf92db localStorage shim, fixes #5195 2015-03-16 13:33:55 -07:00
bors-servo
ccc6faa147 auto merge of #5169 : mschroeder/servo/issue-4981, r=saneyuki
Fixes #4981
2015-03-16 11:03:58 -06:00