Commit graph

16964 commits

Author SHA1 Message Date
bors-servo
90ab488d42 Auto merge of #10495 - asajeffrey:temporarily-disable-unwrap-test, r=KiChjang
Removed etc/ci/check_no_unwrap.sh from .travis.yml

Temporarily disable #10448 until all the uses of unwrap are removed from the constellation/compositor.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10495)
<!-- Reviewable:end -->
2016-04-09 08:20:07 +05:30
Alan Jeffrey
ce5ee47be6 Removed etc/ci/check_no_unwrap.sh from .travis.yml 2016-04-08 21:44:40 -05:00
bors-servo
269eeeddd2 Auto merge of #10494 - pcwalton:overflow-scroll-nested-fixed-height, r=mbrubeck
layout: Make inner scroll wrappers acquire the overflow region of their contents.

Makes Twitter pages show up when scrolling, if WebRender is not in use.
WebRender does not yet support overflow:scroll.

r? @mbrubeck

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10494)
<!-- Reviewable:end -->
2016-04-09 06:51:21 +05:30
Patrick Walton
6a6b688fa8 layout: Make inner scroll wrappers acquire the overflow region of their
contents.

Makes Twitter pages show up when scrolling, if WebRender is not in use.
WebRender does not yet support overflow:scroll.
2016-04-08 18:18:49 -07:00
bors-servo
0a1efe4578 Auto merge of #10320 - malayaleecoder:master, r=KiChjang
Rename imm_child_iter() and child_iter().

Fixes #10286

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10320)
<!-- Reviewable:end -->
2016-04-09 03:54:40 +05:30
bors-servo
93c41fba69 Auto merge of #10484 - emilio:reupdate-stylo-bindings, r=bholley
geckolib: reupdate bindings to allow easy union modifications

This commit updates the current bindings with a m-c trunk build.

This improves quite a few things:
 * It adds `Debug` support for structs, which should be easy.
 * It generates unnamed structs definitions.
 * And... It allows changing union types directly!

The way mutating a union works is as follows. Each union field has an
unsized field of type `__BindgenUnionField<T>`, where `T` is the type of
the field.

The field has two unsafe methods, `as_ref` and `as_mut`, that would work
as follows (assuming 64 bit pointers):

````rust
let u = nsStyleUnion {
    mInt: Default::default(),
    mFloat: Default::default(),
    mPointer: Default::default(),
    _bindgen_data_: 0,
};

unsafe {
    assert_eq!(*u.mInt.as_ref() == 0);
    *u.mPointer.as_mut() = !0 as *mut _;
    assert_eq!(*u.mInt.as_ref() == !0);
    *u.mInt.as_mut() = 0;
    assert_eq!(*u.mInt.as_ref() == 0);
    assert_eq!(*u.mPointer.as_ref() == (!0 << 32) as *mut _);
}
```

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10484)
<!-- Reviewable:end -->
2016-04-09 02:06:09 +05:30
bors-servo
4da38cdd7c Auto merge of #10324 - perlun:rename-style-structs, r=bholley
Renamed the style structs

Renamed style structs.

The idea is to rename all style structs from Foo to ServoFoo, as described out in #10185.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10324)
<!-- Reviewable:end -->
2016-04-09 01:24:28 +05:30
Emilio Cobos Álvarez
c906d06d4e
geckolib: reupdate bindings to allow easy union modifications
This commit updates the current bindings with a m-c trunk build.

This improves quite a few things:
 * It adds `Debug` support for structs, which should be easy.
 * It generates unnamed structs definitions.
 * And... It allows changing union types directly!

The way mutating a union works is as follows. Each union field has an
unsized field of type `__BindgenUnionField<T>`, where `T` is the type of
the field.

The field has two unsafe methods, `as_ref` and `as_mut`, that would work
as follows (assuming 64 bit pointers):

````
let u = nsStyleUnion {
    mInt: Default::default(),
    mFloat: Default::default(),
    mPointer: Default::default(),
    _bindgen_data_: 0,
};

unsafe {
    assert_eq!(*u.mInt.as_ref() == 0);
    *u.mPointer.as_mut() = !0 as *mut _;
    assert_eq!(*u.mInt.as_ref() == !0);
    *u.mInt.as_mut() = 0;
    assert_eq!(*u.mInt.as_ref() == 0);
    assert_eq!(*u.mPointer.as_ref() == (!0 << 32) as *mut _);
}
```
2016-04-08 21:49:13 +02:00
malayaleecoder
d4dcaf3167 Rename imm_child_iter() and child_iter(). Fixes #10286 2016-04-09 01:18:00 +05:30
bors-servo
c56eb65b7c Auto merge of #10448 - matthiaskrgr:travis, r=aneeshusa
travis: add and run script which checks if listed files contain "unwrap". Should fix #10446.

Unfortunately there is a lot of python code in tidy.py that I don't understand yet, so I simply wrote a bash script to do the job and hooked it up in travis.yml.

Tests are expected to fail:

````
components/compositing/compositor.rs:758:        self.pipeline_details.get_mut(&pipeline_id).unwrap()
components/compositing/compositor.rs:2194:        RgbImage::from_raw(width as u32, height as u32, pixels).unwrap()
components/compositing/pipeline.rs:130:        let (paint_shutdown_chan, paint_shutdown_port) = ipc::channel().unwrap();
components/compositing/pipeline.rs:131:        let (layout_shutdown_chan, layout_shutdown_port) = ipc::channel().unwrap();
components/compositing/pipeline.rs:132:        let (pipeline_chan, pipeline_port) = ipc::channel().unwrap();
components/compositing/pipeline.rs:133:        let (script_to_compositor_chan, script_to_compositor_port) = ipc::channel().unwrap();
components/compositing/pipeline.rs:151:            let (script_to_devtools_chan, script_to_devtools_port) = ipc::channel().unwrap();
components/compositing/pipeline.rs:154:                let message: ScriptToDevtoolsControlMsg = message.to().unwrap();
components/compositing/pipeline.rs:155:                devtools_chan.send(DevtoolsControlMsg::FromScript(message)).unwrap()
components/compositing/pipeline.rs:161:            ipc::channel().unwrap();
components/compositing/pipeline.rs:174:                    pipeline_port: mem::replace(&mut pipeline_port, None).unwrap(),
components/compositing/pipeline.rs:180:                           .unwrap();
components/compositing/pipeline.rs:184:                let (script_chan, script_port) = ipc::channel().unwrap();
components/compositing/pipeline.rs:190:            ipc::channel().unwrap();
components/compositing/pipeline.rs:298:        let (sender, receiver) = ipc::channel().unwrap();
components/compositing/pipeline.rs:300:        receiver.recv().unwrap();
components/compositing/pipeline.rs:315:        let _ = self.script_chan.send(ConstellationControlMsg::Freeze(self.id)).unwrap();
components/compositing/pipeline.rs:319:        let _ = self.script_chan.send(ConstellationControlMsg::Thaw(self.id)).unwrap();
components/compositing/pipeline.rs:323:        let _ = self.script_chan.send(ConstellationControlMsg::ExitPipeline(self.id)).unwrap();
components/compositing/pipeline.rs:326:        let _ = layout_channel.send(LayoutControlMsg::ExitNow).unwrap();
components/compositing/pipeline.rs:343:        let index = self.children.iter().position(|id| *id == frame_id).unwrap();
components/compositing/pipeline.rs:355:        self.script_chan.send(event).unwrap();
components/compositing/pipeline.rs:402:            control_port: mem::replace(&mut self.script_port, None).unwrap(),
components/compositing/pipeline.rs:423:                                  self.pipeline_port.unwrap(),
components/compositing/pipeline.rs:437:            self.script_content_process_shutdown_port.recv().unwrap();
components/compositing/pipeline.rs:438:            self.layout_content_process_shutdown_port.recv().unwrap();
components/compositing/constellation.rs:464:            IpcOneShotServer::<IpcSender<UnprivilegedPipelineContent>>::new().unwrap();
components/compositing/constellation.rs:468:            let mut command = sandbox::Command::me().unwrap();
components/compositing/constellation.rs:474:            let path_to_self = env::current_exe().unwrap();
components/compositing/constellation.rs:478:            ChildProcess::Unsandboxed(child_process.spawn().unwrap())
components/compositing/constellation.rs:482:        let (_receiver, sender) = server.accept().unwrap();
components/compositing/constellation.rs:835:            stderr.write_all("Pipeline failed in hard-fail mode.  Crashing!\n".as_bytes()).unwrap();
components/compositing/constellation.rs:1621:            let (sender, receiver) = ipc::channel().unwrap();
components/compositing/constellation.rs:1657:                        let (sender, receiver) = ipc::channel().unwrap();
components/compositing/constellation.rs:1659:                        layout_chan.send(LayoutControlMsg::GetCurrentEpoch(sender)).unwrap();
components/compositing/constellation.rs:1660:                        let layout_thread_epoch = receiver.recv().unwrap();
components/compositing/constellation.rs:1838:                let (chan, port) = ipc::channel().unwrap();
````

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10448)
<!-- Reviewable:end -->
2016-04-09 00:37:05 +05:30
Per Lundberg
96835c6d6f Renamed style structs.
The idea is to rename all style structs from Foo to ServoFoo, as described out in #10185.
2016-04-08 21:47:36 +03:00
Matthias Krüger
dc4fe7e337 travis: add and run script which checks if listed files contain "unwrap". Should fix #10446. 2016-04-08 20:11:08 +02:00
bors-servo
217e45006b Auto merge of #10471 - KiChjang:mime-macro, r=emilio
Use mime! macro in fetch methods

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10471)
<!-- Reviewable:end -->
2016-04-08 22:00:15 +05:30
Keith Yeung
32f309c02e Use mime! macro in fetch methods 2016-04-08 11:26:48 -04:00
bors-servo
a026e86267 Auto merge of #10444 - danlrobertson:fix9824, r=asajeffrey
Correct x and y input for origin_rect

Fix error in construction of the `origin_rect` for `UnioningFragmentBorderBoxIterator`.

r? @asajeffrey

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10444)
<!-- Reviewable:end -->
2016-04-08 20:35:32 +05:30
Jack Moffitt
1bec193415 Use better JS engine defaults
This adds in preferences for all the SM 39 available options (as
retrieved from Gecko), and uses the same defaults as Gecko. A few
properties are not supported yet, and incremental GC is still always
disabled regardless of the preference setting.

This also adds back in the options that were accidentally deleted when
\#10342 was rebased, which moved things from script_thread.rs to
script_runtime.rs.
2016-04-08 08:46:22 -06:00
bors-servo
2491af84fc Auto merge of #10461 - bholley:per_product, r=SimonSapin
Add some machinery to allow us to disable CSS properties/values per-product

Here's an initial stab at solving the issues @SimonSapin brought up in #10408.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10461)
<!-- Reviewable:end -->
2016-04-08 18:56:43 +05:30
bors-servo
6150e174c1 Auto merge of #10466 - UK992:fix, r=KiChjang
Silent some warnings

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10466)
<!-- Reviewable:end -->
2016-04-08 17:15:03 +05:30
UK992
7896a05543 Rename handler to hook 2016-04-08 13:10:30 +02:00
bors-servo
13e21968e6 Auto merge of #10476 - KiChjang:remove-str-to-string, r=Ms2ger
Remove str_to_string compile test

Fixes #10474.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10476)
<!-- Reviewable:end -->
2016-04-08 16:35:45 +05:30
Keith Yeung
5959aa6cbe Remove str_to_string compile test 2016-04-08 07:00:49 -04:00
bors-servo
b6c4f51571 Auto merge of #10463 - amarant:10456-HTMLLegendElement-warnings, r=KiChjang
Issue #10456 Remove unused import warnings in HTMLLegendElement

Fixes #10456.

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10463)
<!-- Reviewable:end -->
2016-04-08 11:51:58 +05:30
bors-servo
f31aa5cb86 Auto merge of #10470 - Manishearth:kill-str-string, r=KiChjang
Remove str_to_string lint

Specialization makes all of the options equally efficient.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10470)
<!-- Reviewable:end -->
2016-04-08 10:50:18 +05:30
bors-servo
bd2051d06a Auto merge of #10469 - mbrubeck:layout-misc, r=pcwalton
Some minor layout cleanups

* Prevent unnecessary copying in `strip_leading_whitespace_if_necessary`
* Remove unused argument to `adjust_clipping_region_for_children` (silences a compiler warning)

r? @pcwalton

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10469)
<!-- Reviewable:end -->
2016-04-08 10:10:11 +05:30
bors-servo
bead958500 Auto merge of #10465 - stjepang:rescue-jit-prefs, r=KiChjang
Fix rebasing error

This PR mistakenly removed JIT enabling/disabling by preference:
https://github.com/servo/servo/pull/10342/files
Look for `get_pref`.

I'm putting the missing piece of code into the appropriate place in
script_runtime.rs

r? @KiChjang

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10465)
<!-- Reviewable:end -->
2016-04-08 09:29:07 +05:30
bors-servo
bcac1a3c95 Auto merge of #10423 - asajeffrey:constellation-pipeline-hardening, r=emilio,jdm
Removed sources of panic from piepline.rs.

Fixes #10422.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10423)
<!-- Reviewable:end -->
2016-04-08 07:04:38 +05:30
Manish Goregaokar
efa84862af
Remove str_to_string lint
Specialization makes all of the options equally efficient.
2016-04-08 06:44:57 +05:30
Alan Jeffrey
01b6e4a2c1 Removed sources of panic from piepline.rs. 2016-04-07 19:44:36 -05:00
bors-servo
c191dff04e Auto merge of #10361 - mbrubeck:empty-caret, r=pcwalton
Fixes for insertion point caret rendering

This contains several fixes for the code to position and render the insertion point.  The main effect is that the insertion point is now rendered correctly when in an empty input field.  See the individual commit messages for more detais.  r? @pcwalton

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10361)
<!-- Reviewable:end -->
2016-04-08 06:01:17 +05:30
Bobby Holley
4861d5add8 Add some machinery to allow us to disable CSS properties (or a subset of values for a property) on a per-product basis. 2016-04-07 16:31:31 -07:00
bors-servo
c0aa049b0a Auto merge of #9688 - KiChjang:worker-terminate, r=jdm
Implement Worker#terminate() (fixes #4427).

Adds support for terminating DOM workers. A closing flag was added to
WorkerGlobalScope per the spec.

Rebased #6652, with some comments addressed.
Fixes #4427.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9688)
<!-- Reviewable:end -->
2016-04-08 05:01:18 +05:30
Matt Brubeck
66806229ad Prevent unnecessary copying in strip_leading_whitespace_if_necessary 2016-04-07 16:24:10 -07:00
Matt Brubeck
cac06e579c Remove unused argument to adjust_clipping_region_for_children 2016-04-07 16:22:51 -07:00
Matt Brubeck
e72ae2c25a Basic insertion point reftest 2016-04-07 16:09:44 -07:00
Matt Brubeck
32aad0838e Draw insertion point even for empty input fields
This allows text layout to generate an empty text fragment if the fragment
contains the insertion point for a text input box.
2016-04-07 16:09:35 -07:00
Matt Brubeck
831243af7c Fix insertion point layout for text runs with multiple fragments
Before this fix, if a TextRun containing an insertion point was split into
multiple ScannedText fragments, text layout would draw an insertion point
inside of each of the fragments.  This patch records the insertion point
position at most once per TextRun, and copies it only into the appropriate
ScannedText fragment.
2016-04-07 16:00:49 -07:00
Matt Brubeck
bcaa62e1bd Slight refactoring of RunMapping flush method 2016-04-07 16:00:14 -07:00
Joe Wilm
229b176321 Implement Worker#terminate() (fixes #4427).
Adds support for terminating DOM workers. A closing flag was added to
WorkerGlobalScope per the spec.
2016-04-07 18:54:32 -04:00
Keith Yeung
54f139c5cf Implement HTMLTableElement#rows 2016-04-07 18:37:42 -04:00
bors-servo
eda8784c34 Auto merge of #10438 - KiChjang:text-decoration-fix, r=mbrubeck
Properly inherit text decorations

Fixes #8684.
Fixes #8783.

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10438)
<!-- Reviewable:end -->
2016-04-08 03:39:41 +05:30
Keith Yeung
b8971867f8 Properly inherit text decorations 2016-04-07 17:16:45 -04:00
bors-servo
1af756c07f Auto merge of #10462 - pcwalton:wrup3, r=glennw
servo: Update WebRender.

Closes #10256.

r? @glennw

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10462)
<!-- Reviewable:end -->
2016-04-08 02:46:23 +05:30
Stjepan Glavina
4f34422474 Fix rebasing error
This PR mistakenly removed JIT enabling/disabling by preference:
https://github.com/servo/servo/pull/10342/files
Look for `get_pref`.

I'm putting the missing piece of code into the appropriate place in
script_runtime.rs
2016-04-07 22:49:13 +02:00
Arnaud Marant
4dedd46af7 Issue #10456 Remove unused import warnings in HTMLLegendElement 2016-04-07 21:24:20 +02:00
Patrick Walton
0b839f6e32 servo: Update WebRender.
Closes #10256.
2016-04-07 11:59:14 -07:00
bors-servo
39ab006c8f Auto merge of #10402 - mbrubeck:make_mut, r=pcwalton
Avoid unnecessary Arc::clone and Arc::make_mut

r? @pcwalton

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10402)
<!-- Reviewable:end -->
2016-04-07 23:22:37 +05:30
Matt Brubeck
f7139484a2 Avoid unnecessary make_mut in inline border drawing 2016-04-07 09:29:31 -07:00
bors-servo
e66e437ae6 Auto merge of #10450 - pcwalton:overflow-scroll-non-positioned, r=mbrubeck
layout: Allow non-absolutely-positioned elements with `overflow: scroll` set to be scrolled.

This makes them establish stacking contexts, which is a CSS 2.1 spec
violation. However, we were already violating the spec here for
absolutely-positioned elements with `overflow: scroll`. It will probably
be easier to fix this spec violation once we either switch entirely to
WebRender or we have multiple layers per stacking context.

r? @mbrubeck

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10450)
<!-- Reviewable:end -->
2016-04-07 21:30:13 +05:30
bors-servo
72eae39679 Auto merge of #9835 - mskrzypkows:tidy_tests, r=Wafflespeanut
Initial tests for tidy.py #9152

I've created tests for spaces check and license. Tell me if it's good direction so I'll add more tests.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9835)
<!-- Reviewable:end -->
2016-04-07 19:45:11 +05:30
Maciej Skrzypkowski
b8c9a288e9 tests for tidy.py #9152 2016-04-07 15:22:52 +02:00