Commit graph

10020 commits

Author SHA1 Message Date
Anthony Ramine
3302a53d38 Introduce GlobalScope::api_base_url 2016-10-06 21:35:43 +02:00
Anthony Ramine
cb02d7911a Do not use GlobalRoot in dom::xmlhttprequest 2016-10-06 21:35:42 +02:00
Anthony Ramine
5bdc5a4c48 Use GlobalScope in dispatch_to_listeners 2016-10-06 21:35:42 +02:00
Anthony Ramine
ac5c4c2194 Make Error::to_jsval take a &GlobalScope 2016-10-06 21:35:42 +02:00
Anthony Ramine
e036579ea0 Make XMLHttpRequest::new take a &GlobalScope 2016-10-06 21:35:41 +02:00
Anthony Ramine
22252605af Make WebGLRenderingContext::new take a &GlobalScope 2016-10-06 21:35:41 +02:00
Anthony Ramine
20bacbf42e Make dispatch_jsval methods take a &GlobalScope 2016-10-06 21:35:40 +02:00
Anthony Ramine
b3393fba18 Make StructuredCloneData::read take a &GlobalScope 2016-10-06 21:35:40 +02:00
Anthony Ramine
ac5a4adf5f Make Promise::new take a &GlobalScope 2016-10-06 21:35:40 +02:00
Anthony Ramine
a8c05c6962 Make CanvasRenderingContext2d::new take a &GlobalScope 2016-10-06 21:35:39 +02:00
Anthony Ramine
896d8d4781 Make throw_dom_exception take a &GlobalScope 2016-10-06 21:35:39 +02:00
Anthony Ramine
ae6af5172b Introduce Reflectable::global_scope 2016-10-06 21:35:38 +02:00
Anthony Ramine
27f100b1d4 Introduce GlobalScope::pipeline_id 2016-10-06 20:59:13 +02:00
Anthony Ramine
c6ff767625 Introduce GlobalScope::scheduler_chan 2016-10-06 20:59:13 +02:00
Anthony Ramine
f789e73fd2 Introduce GlobalScope::constellation_chan 2016-10-06 20:59:12 +02:00
Anthony Ramine
ae3763e7b3 Introduce GlobalScope::time_profiler_chan 2016-10-06 20:59:12 +02:00
Anthony Ramine
bfa7d045d0 Introduce GlobalScope::mem_profiler_chan 2016-10-06 20:59:11 +02:00
Anthony Ramine
fe6fca9e1f Introduce GlobalScope::devtools_chan 2016-10-06 20:59:11 +02:00
Anthony Ramine
14a0b8d88c Move console timers to GlobalScope 2016-10-06 20:59:11 +02:00
Anthony Ramine
d7c2da450b Introduce GlobalScope::live_devtools_updates 2016-10-06 20:59:10 +02:00
Anthony Ramine
3e5c0c386c Introduce GlobalScope::get_next_worker_id 2016-10-06 20:59:10 +02:00
Anthony Ramine
38273fe7a8 Introduce GlobalScope::crypto 2016-10-06 20:59:09 +02:00
Anthony Ramine
fcb59d3057 Make reflect_dom_object take a &GlobalScope 2016-10-06 20:59:09 +02:00
Anthony Ramine
093b189b48 Remove workerglobalscope::WorkerGlobalScopeTypeId 2016-10-06 20:59:08 +02:00
Anthony Ramine
5a42bb58f9 Implement [Inline] interfaces
Inline interfaces just appear as a Rust type and in the TypeId hierarchy.
They are completely invisible on the JS side.
2016-10-06 20:59:08 +02:00
Anthony Ramine
b745866a4d Prevent doing use self::FooBinding::{} 2016-10-06 20:59:08 +02:00
bors-servo
bd05aa2c3c Auto merge of #13597 - servo:fetch, r=jdm
Provide the fetched data to fetch() consumers.

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13597)
<!-- Reviewable:end -->
2016-10-06 12:34:01 -05:00
Simon Sapin
540ba90bab Move PropertyDeclarationBlock into its own module. 2016-10-06 15:57:52 +02:00
Ms2ger
cb7e6715fb Provide the fetched data to fetch() consumers. 2016-10-06 14:21:03 +02:00
bors-servo
896be066dd Auto merge of #13580 - asajeffrey:script-browsingcontext-without-session-history, r=ConnorGBrewster.
Removed the session history from BrowsingContext.

<!-- Please describe your changes on the following line: -->

The session history is stored in the constellation and accessed via the `History` object, so `BrowsingContext` doesn't need to track it.

cc @jdm @ConnorGBrewster @Ms2ger

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes do not require tests because it's a refactoring.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13580)
<!-- Reviewable:end -->
2016-10-05 13:19:37 -05:00
Alan Jeffrey
99fd08f832 Removed the session history from BrowsingContext. 2016-10-05 13:18:35 -05:00
Stephen Lester
76e04e2acd Invert conditional and return early for AddEventListener/RemoveEventListener 2016-10-05 07:55:33 -07:00
bors-servo
8a3af9d1b9 Auto merge of #13592 - glennw:update-wr-text-runs, r=pcwalton
Update webrender (text run + transforms fix).

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13592)
<!-- Reviewable:end -->
2016-10-05 03:41:13 -05:00
bors-servo
30cf58eae8 Auto merge of #13585 - shubheksha:fix/13581, r=jdm
Removed duplicate #![feature(plugin)]

<!-- Please describe your changes on the following line: -->
Removed duplicate ` #![feature(plugin)]` from two files.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #13581 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because it's removing a few lines.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13585)
<!-- Reviewable:end -->
2016-10-05 02:47:30 -05:00
bors-servo
c2727b18b0 Auto merge of #13577 - servo:warnings, r=jdm
Squash some build warnings.

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13577)
<!-- Reviewable:end -->
2016-10-05 01:53:20 -05:00
bors-servo
cbc857bb78 Auto merge of #13569 - Manishearth:simpliffi, r=emilio
Start simplifying FFI ownership sugar

This is step one of a series of changes planned to make the ownership sugar easier to use. This was blocked on #13038

*very* unsure about second commit. Don't like the thought of accepting types with destructors over FFI. Probably will revert it. Leaving it in for now in case you have some insight.

Eventually at least for the borrowed stuff I want to use T directly (because the crates are merged now), instead of the fake void types. Perhaps for the others too. I might include those changes in this PR -- was originally planning to but I realized that these steps could be split out.

Tentative plan for `Owned` (assuming it's not removed) is to have `Owned<T> <-> Box<T>` (same `T`, no "FFI type") conversions. We will only use ownership wrapper types for things with destructors, and try to keep the conversion simple. I'm envisioning a couple methods for arc/strong and a few more for box/owned. We may need to introduce new wrapper types for gecko-side managed objects (`RefPtr<T>`, `UniquePtr<T>`) but that should be all the wrapper types we have in the ownership sugar.

This PR relies on the guarantee that `Option<&T>` and `Option<Box<T>>` are pointer-sized via the `NonZero` optimization. I am now less unconvinced that this is a good idea 😉.

r? @emilio

cc @mystor

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13569)
<!-- Reviewable:end -->
2016-10-05 00:59:56 -05:00
bors-servo
34a23b343c Auto merge of #13556 - Manishearth:serialize-one, r=emilio
Add to_css_single_value for serializing a single PropertyDeclarationBlock

(fixes #13423)

r? @birtles

This needs to take the name of the property in question as input so that it can figure out which shorthand to serialize to (if any), since some props are part of multiple shorthands (and you need a way to distinguish between the lone value and the shorthand). I can tweak this to accept an `Option<Shorthand>` in case you only want to pass in the property name for shorthands.

In case you don't want to handle shorthands at all, we probably don't need this method at all, since you can just assert that there's a single field and serialize that.

Also, is `!important` involved here?

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13556)
<!-- Reviewable:end -->
2016-10-04 23:34:03 -05:00
Glenn Watson
fffa93082b Update webrender (text run + transforms fix). 2016-10-05 13:46:10 +10:00
bors-servo
c12ca6fdd5 Auto merge of #13579 - servo:old-doc, r=Wafflespeanut
Remove some documentation that is no longer correct.

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13579)
<!-- Reviewable:end -->
2016-10-04 22:40:16 -05:00
bors-servo
1c62520142 Auto merge of #13490 - pcwalton:inline-absolute-hypothetical-metrics, r=notriddle
layout: Place inline absolute hypothetical boxes properly during block fragment position assignment.

r? @notriddle

Closes #13471.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13490)
<!-- Reviewable:end -->
2016-10-04 21:03:55 -05:00
Patrick Walton
5232b0c85f layout: Place inline absolute hypothetical boxes properly during block
fragment position assignment.

Improves Rust documentation.

Closes #13471.
2016-10-04 18:40:40 -07:00
bors-servo
eb3333eb2f Auto merge of #13567 - glennw:win-fonts, r=larsbergstrom
Minimal Win32 font platform implementation.

This uses a (very simple) Win32 API call to enumerate font
families available, and load them as byte buffers.

The font rasterization itself is done by freetype.

This gets Servo + WR + Windows working, but should be improved
by adding a proper implementation that matches fonts correctly
and also uses DirectWrite (or GDI) to handle font rasterization.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13567)
<!-- Reviewable:end -->
2016-10-04 20:06:29 -05:00
bors-servo
710bd7e1dc Auto merge of #13575 - servo:fetch-link, r=jdm
Use the fetch stack for stylesheets.

Fixes #13462.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13575)
<!-- Reviewable:end -->
2016-10-04 18:12:18 -05:00
bors-servo
136c9a89b9 Auto merge of #13572 - nox:cleanup-global, r=jdm
Clean up some global things

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13572)
<!-- Reviewable:end -->
2016-10-04 17:19:11 -05:00
Glenn Watson
0849607239 Minimal Win32 font platform implementation.
This uses a (very simple) Win32 API call to enumerate font
families available, and load them as byte buffers.

The font rasterization itself is done by freetype.

This gets Servo + WR + Windows working, but should be improved
by adding a proper implementation that matches fonts correctly
and also uses DirectWrite (or GDI) to handle font rasterization.
2016-10-05 07:46:02 +10:00
bors-servo
318b23ed00 Auto merge of #13472 - asajeffrey:util-remutex-dont-log-while-mutating-lock, r=jdm
Don't log in the middle of mutating a reentrant lock

<!-- Please describe your changes on the following line: -->

Moved assertion that we are the lock owner to after the lock release. The problem is that Servo uses a reentrant lock for logging, so logging in the middle of mutating the lock is A Bad Idea.

While I was at it, I tidied up the reentrant lock code.

cc @jdm

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #13463.
- [X] These changes do not require tests because they fix an existing intermittent.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13472)
<!-- Reviewable:end -->
2016-10-04 16:01:40 -05:00
Alan Jeffrey
432580bd04 Moved assertion to after lock release; tidied up code. 2016-10-04 15:50:38 -05:00
bors-servo
19a5a30113 Auto merge of #13387 - emilio:debug-assertions, r=aneeshusa,jdm,pcwalton
Honor SERVO_ENABLE_DEBUG_ASSERTIONS on the build machines.

<!-- Please describe your changes on the following line: -->

As part of #13127.

cc @aneeshusa

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13387)
<!-- Reviewable:end -->
2016-10-04 14:01:49 -05:00
Shubheksha Jalan
86173d7a58 Removed duplicate #![feature(plugin)] 2016-10-05 00:15:27 +05:30
bors-servo
aea9545e16 Auto merge of #13459 - servo:no-arc-heapsize, r=emilio
Use parking_lot::RwLock for PropertyDeclarationBlock

<!-- Please describe your changes on the following line: -->

As discussed in https://bugzilla.mozilla.org/show_bug.cgi?id=1305141

Closes #13176

---

Original PR title: Stop relying on `impl<T: HeapSizeOf> HeapSizeOf for Arc<T>`
https://github.com/servo/heapsize/issues/37#issuecomment-249861171

This builds on top of that.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because refactor

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13459)
<!-- Reviewable:end -->
2016-10-04 11:58:56 -05:00