Commit graph

7420 commits

Author SHA1 Message Date
Clark Gaebel
d3e4d29368 Fixed #4170 - Incremental reflow wasn't being aggressive enough when nodes get reparented.
When inserting a node that was already dirtied, the dirtying logic
would short circuit: "This node is already dirty? Great! Then its
parents must be HAS_DIRTY_DESCENDANTS, too! Let's skip that step."

This isn't appropriate when nodes move around the tree. In that case,
the node may be marked HAS_CHANGED, but ancestors may not yet have
the HAS_DIRTY_DESCENDANTS flag set.

This patch adds a `content_and_heritage_changed` hook in the document,
to deal with these cases appropriately.
2014-12-03 11:17:38 -08:00
bors-servo
873ca6cadd auto merge of #4140 : SimonSapin/servo/no-root-cargo-toml, r=SimonSapin
This fixes #3957, and allow #4115 not to regress #4099.
2014-12-02 19:27:51 -07:00
Simon Sapin
e1c2210c23 More target path fixup. 2014-12-02 18:23:06 -08:00
Simon Sapin
9bbc633ced Don’t try to run unit tests for the servo crate.
There are none, but the contenttest program fails with:

```
task '<main>' panicked at 'Required option 'source-dir' missing.', ../../tests/contenttest.rs:48
```
2014-12-02 18:04:06 -08:00
Simon Sapin
26cd2b46df Fix up android/glut port to find its servo dependency. 2014-12-02 18:04:06 -08:00
Simon Sapin
14e28f6654 Have ./mach cargo not change to components/servo.
`ports/android/glut` relies on it executing on the current directory.
2014-12-02 18:04:06 -08:00
Simon Sapin
cc4ea7507f Make build system more independent of current directory. 2014-12-02 18:04:06 -08:00
Simon Sapin
ff4877b473 Warn when Cargo is run directly. Fix #3957. 2014-12-02 18:03:39 -08:00
Simon Sapin
2f413c8937 Move the servo crate from root to components/servo 2014-12-02 18:03:39 -08:00
bors-servo
b2b6d4d0d1 auto merge of #4186 : mbrubeck/servo/layout-viewer, r=glennw
d1b433a3b3 changed the encoding format for Flows.  The root is no longer wrapped inside a `data` field, but instead includes BaseFlow fields directly.  This broke the layout trace viewer, which threw an uncaught exception when the `data` property was missing.  This fixes the exception, though some functionality may still be partly broken.
2014-12-02 18:39:50 -07:00
bors-servo
c91e949ed0 auto merge of #4169 : IdeaHat/servo/fix-mach-unit-test-filter, r=jdm
Minor change, added unit test filter to components so that ./mach test-unit [test-filter] works in line with documentation.

I'd personally like to also make filters on the components as well as the tests. This would change the interface (probably to ./mach test-unit [component-filter] [test-filter]), but change is NOT in this pull request.
2014-12-02 18:15:51 -07:00
bors-servo
c68269097e auto merge of #4155 : mttr/servo/reftest_unknown_servo_args, r=jdm
Fixes #4101
2014-12-02 17:51:50 -07:00
Matt Brubeck
a75d66d8f2 Fix error in layout trace viewer 2014-12-02 16:17:40 -08:00
bors-servo
600da2af7e auto merge of #4168 : mttr/servo/mach_inferred_test_cleanup, r=Manishearth
No actual change in functionality here. I was just unhappy with the way test-ref was singled out before, and realized an obvious fix.
2014-12-02 15:42:53 -07:00
bors-servo
791606bde7 auto merge of #4136 : pcwalton/servo/cef-calloc, r=metajack
r? @metajack
2014-12-02 14:39:51 -07:00
bors-servo
ed45aa9efd auto merge of #4156 : Michael03/servo/master, r=Ms2ger
This fixes issue #4122
2014-12-02 05:24:49 -07:00
bors-servo
3775e686e1 auto merge of #4020 : cgaebel/servo/border-radius, r=SimonSapin
This patch is a first stab at implementing border-radius. It looks fine as long as
the border isn't an ellipse (that might not even parse yet), and the border-widths
around a border-radius are the same.

Here's a cool screenshot!

![](https://www.dropbox.com/s/gdtmgjrlnf82gzz/Screenshot%202014-11-12%2018.03.29.png?dl=0)

r? @pcwalton @SimonSapin
2014-12-02 05:01:08 -07:00
Clark Gaebel
ffcf0bf394 [gfx/style] Implement border-radius.
This patch is a first stab at implementing border-radius. It looks fine as long as
the border isn't an ellipse (that might not even parse yet), and the border-widths
around a border-radius are the same.

Here's a cool screenshot!

![](https://www.dropbox.com/s/gdtmgjrlnf82gzz/Screenshot%202014-11-12%2018.03.29.png?dl=0)

r? @pcwalton @SimonSapin
2014-12-01 16:10:35 -08:00
Nathan Climer
2dc0b8973d Fixed test filter 2014-12-01 16:49:04 -05:00
Matthew Rasmus
3a6b6792ae infer_test_by_dir cleanup
No actual change in functionality here. I was just unhappy with the way
test-ref was singled out before, and realized an obvious fix.
2014-12-01 12:51:49 -08:00
bors-servo
9afdce4405 auto merge of #4162 : pcwalton/servo/text-align-flags, r=kmcallister
Fixes the blank spaces showing up in Wikipedia.

r? @kmcallister
2014-12-01 12:12:55 -07:00
Patrick Walton
803624c51e layout: Stop having text alignment stomp on layerization flags.
Fixes the blank spaces showing up in Wikipedia.
2014-12-01 10:55:13 -08:00
Matthew Rasmus
41e50b043d Verify that reftest passes valid servo args
Fixes #4101
2014-11-30 11:49:40 -08:00
Michael Booth
2cbf5a3671 Updated reflect_dom_object to be passed by value 2014-11-30 19:47:52 +00:00
bors-servo
9cea3ce266 auto merge of #4150 : aakashjain/servo/EnableTests, r=Ms2ger 2014-11-29 19:03:43 -07:00
aakashjain
1f26912485 Fixes #4145 2014-11-29 18:22:37 +05:30
bors-servo
9541dcdee2 auto merge of #4149 : aakashjain/servo/MovingElementGetters, r=Manishearth
Moved all getters from Element to ElementHelpers. Existing ElementHelpers getters `get_namespace` and `get_local_name` were replaced by `namespace` and `local_name`. Callers were updated accordingly. Also the getters are no longer inlined.
3 of the getters needed to be added to RawLayoutElementHelpers as well, to accomodate existing calls directly from Element objects.
2014-11-29 04:42:41 -07:00
aakashjain
fab09a5137 Fixes #4123 2014-11-29 15:06:17 +05:30
bors-servo
b87d98e468 auto merge of #4093 : mttr/servo/mach_reftest_by_file, r=jdm
`./mach test-ref` no longer eats the first "-" prefixed argument for test name filtering, instead using an explicit "--name" argument. This should avoid any potential confusion when passing down arguments to servo.

Also allows for ./tests/ref to be included (and trimmed away) for tab completion convenience (`./mach test` has also been updated to take advantage of this when inferring tests from file paths).

(fixes #4091)
2014-11-29 01:12:42 -07:00
bors-servo
e9aec8b9a7 auto merge of #4141 : SimonSapin/servo/style-cleanup, r=jdm 2014-11-29 00:51:43 -07:00
bors-servo
9c3b2ae8a5 auto merge of #4147 : jdm/servo/devtoolspanic, r=Manishearth
...ets resolved since the last rustc upgrade.
2014-11-29 00:00:48 -07:00
bors-servo
ac4d2cbb78 auto merge of #4148 : jdm/servo/sniffix, r=glennw
...locking recv_opt vs. non-blocking try_recv.
2014-11-28 23:27:45 -07:00
Josh Matthews
13fe502cd6 Don't abort the sniffer task whenever an error occurs. Also, switch to blocking recv_opt vs. non-blocking try_recv. 2014-11-29 00:40:03 -05:00
Josh Matthews
9242d1a1a3 Fix the panic on runnig with --devtools due to a change in how type_id gets resolved since the last rustc upgrade. 2014-11-29 00:17:35 -05:00
bors-servo
1ac79c64da auto merge of #4000 : t29/servo/mime-sniffing, r=jdm
Issue: #3144

This PR addresses the second step of the ticket. i.e. move from a 1:1 sniffer:request task model to a shared sniffer task.
2014-11-28 10:51:44 -07:00
Simon Sapin
c6ff02199d Remove dead code 2014-11-28 17:44:00 +00:00
Simon Sapin
18de4dd75d style::properties::longhand shouldn’t be public. 2014-11-28 17:43:14 +00:00
Kshitij Parajuli
f5e9ae17cf Shared Sniffer Task
- Added TargetedLoadResponse and ResponseSenders
- LoadData constructor contains the next consumer which means
  SnifferManager doesn't need the next consumer to start
- New SnifferTask is created at new resource_task creation
- Update Unit Tests
2014-11-28 12:35:49 -05:00
bors-servo
2d904f7080 auto merge of #4132 : jtuchsen/servo/issue-4131, r=jdm
A slight refactor.
2014-11-28 10:27:43 -07:00
bors-servo
82050d1e53 auto merge of #4130 : saneyuki/servo/cast, r=Manishearth
Fix #4124

This also introduce `BarCast::from_actual()` which is used for up-cast for dom's actual data types (non JS pointer values).
2014-11-28 09:24:44 -07:00
bors-servo
fafd3fd8ba auto merge of #4135 : murphm8/servo/mach_doc, r=SimonSapin
This should fix  #4134
2014-11-28 08:54:45 -07:00
Patrick Walton
f97e9dfa8a ports/cef: Replace calls to malloc with calloc. 2014-11-28 09:27:08 -06:00
Matt Murphy
b4171b41e1 Remove default value for params in mach doc #4134 2014-11-28 08:57:07 -06:00
bors-servo
12ae541302 auto merge of #4129 : aakashjain/servo/HTMLElement#hidden, r=Manishearth 2014-11-28 05:33:48 -07:00
aakashjain
5a30bd00cb Implemented hidden, removed corresponding passed tests 2014-11-28 17:39:30 +05:30
bors-servo
02c2f53ccd auto merge of #4102 : pcwalton/servo/cef-autogeneration, r=larsbergstrom
This replaces hand-implemented CEF bindings with proper Rust wrappers
automatically generated from the C++ headers. This means that, whenever
CEF's C++ headers change, we can easily generate both the appropriate C
API and the appropriate Rust API. It eliminates much of the hand-written
unsafe code within the CEF port, because the CEF translator tool now
knows how to generate Rust smart pointer wrappers for each class that
corrently perform reference counting.

Additionally, this commit adds utility macros (located in `macros.rs`)
that make it easier to correctly expose Rust objects as CEF objects.
They handle the marshaling of objects between Rust and CEF properly.
The net result of this is that you can write mostly-natural-looking Rust
in the CEF port and interact with it with a natural-looking C++ API on
the embedding side.

This setup relies on the branch of CEF located here:

    https://github.com/pcwalton/chromium-embedded-framework

To regenerate, follow the instructions in `ports/cef/README.md`. For
convenience, and because I don't anticipate the API to change much, I
have vendored in all of the appropriate interfaces.

r? @zmike or @larsbergstrom
2014-11-27 23:18:44 -07:00
Jesse Tuchsen
db885f04ee Fixes #4131
A slight refactor.
2014-11-27 15:16:09 -08:00
Tetsuharu OHZEKI
1305ac4dd0 Remove Element.node(). 2014-11-28 06:05:45 +09:00
Tetsuharu OHZEKI
d53ce7f8d2 Remove Node.eventtarget(). 2014-11-28 06:02:21 +09:00
Tetsuharu OHZEKI
106b7a3924 Remove HTMLElement.element(). 2014-11-28 06:02:03 +09:00