Commit Graph

2993 Commits

Author SHA1 Message Date
Patrick Walton
17ceb8b360 servo: Merge #4299 - layout: Implement outline per CSS 2.1 § 18.4 (from pcwalton:outline); r=mbrubeck
`invert` is not yet supported.

Objects that get layers will not yet display outlines properly. This is
because our overflow calculation doesn't take styles into account and
because layers are always anchored to the top left of the border box.
Since fixing this is work that is not related to outline *per se* I'm
leaving that to a followup and making a note in the code.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: d31237f3439e5e5d4055b3a9e53eaeee4f3cdf2c
2014-12-11 16:45:56 -07:00
Rohan Prinja
996bde0a5f servo: Merge #4273 - some fixes for multiple-mode textinput (from ajnirp:multiple-line-textintput); r=Manishearth
#4258

Source-Repo: https://github.com/servo/servo
Source-Revision: 7ce37636b15346b6672fff4da4698e418d4d9436
2014-12-11 16:22:07 -07:00
Chris Manchester
801f0adcea servo: Merge #4189 - Return early and decline analysis when linting within unsafe functions; fixes #3658 (from chmanchester:rootlint); r=jdm
I think this matches the intent of the issue, I'm a rust/servo novice; any suggestions for improvements are welcome. Thanks!

Source-Repo: https://github.com/servo/servo
Source-Revision: 2615be9bab984c8356bc053f90452d6f9fdaa241
2014-12-11 15:57:58 -07:00
Martin Robinson
71b34ee355 servo: Merge #4329 - Improve root layer masking to deal with uninitialized layers (from mrobinson:phantom-layer); r=pcwalton
At various moments, whether due to timing or layout issues, root layers (iframes) do not have a size and location. We modify the compositor to have all root layers mask to their content boundaries whether they have a frame rect or not. Uninitialized layers have empty boundaries, so they will disappear from the page. We also have to ensure that clicks to not go to areas of layers that are masked away. This fixes issues where ads on github take over the entire viewport.

Source-Repo: https://github.com/servo/servo
Source-Revision: 512d55ecefac4c5f7f6fc52ad5cedb7f2664b0c9
2014-12-11 10:39:59 -07:00
Ms2ger
6bdd8d6b77 servo: Merge #4330 - Cleanup page.rs some more (from Ms2ger:page); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: d67bcfa7ce7b37e7ed45a53f1daddbc6b2f2ddf2
2014-12-11 08:07:14 -07:00
Glenn Watson
f0cf6081ef servo: Merge #4322 - Update ./mach update-cargo to include gonk Cargo.lock (from glennw:gonk-update-cargo); r=larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: 80756a11d2fc9dbc67eda580e7ed9c22b354647e
2014-12-10 18:21:54 -07:00
Glenn Watson
1ce2d668d8 servo: Merge #4321 - Update skia + azure to get android compile and text rendering fixes. Sync CEF cargo.lock (from glennw:update-azure-skia-android); r=larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: 3d845a0c407182eceb14f122e93a36875823459c
2014-12-10 17:57:51 -07:00
Patrick Walton
b04ff95e47 servo: Merge #4311 - layout: Implement text-transform (from pcwalton:text-transform); r=SimonSapin
The Unicode awareness of `text-transform` is implemented as well as
possible given the Rust standard library's Unicode support. In
particular, the notion of an alphabetic character is used instead of a
letter.

Gecko has a subclass of text run to handle text transforms, but I
implemented this in a simpler way.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 9bf1d1862a141dcf75d585d7ae5675d4e86a4c0d
2014-12-10 15:12:58 -07:00
Michael Wu
87f75259e4 servo: Merge #4316 - Make the gonk port work again (from michaelwu:fix-gonk); r=glennw
This makes the gonk port build/work again after the recent CEF port update.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5b53d5a163fb8b32e109d5dea4eddddf64caad08
2014-12-10 13:15:59 -07:00
Glenn Watson
ecf4a03a01 servo: Merge #4317 - CEF updates for Linux / MiniServo-GTK (from glennw:linux-cef-fixes); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 13a24fe6c0938084885a1c1305803416a62a2ce7
2014-12-10 12:51:58 -07:00
Martin Robinson
1e49c6a95d servo: Merge #4073 - Remove PseudoDisplayItemClass (from mrobinson:pseudo-rm-rf); r=pcwalton
Now that content box queries are made against the flow tree, we can
remove PseudoDisplayItems from the display list.

Source-Repo: https://github.com/servo/servo
Source-Revision: d988d01dd01c4e7e1503667cdfe91d4663e2c916
2014-12-10 10:57:58 -07:00
Patrick Walton
8b6e74fa78 servo: Merge #4193 - ports/cef: Implement accelerated compositing for the CEF port (from pcwalton:cef-redux); r=pcwalton,metajack
@glennw, is it possible to rebase your stuff on top of this? Sorry for the mess.

r? @metajack

Source-Repo: https://github.com/servo/servo
Source-Revision: ba06d50e3a611d1c27c6c9aa0b21441282911c3f
2014-12-10 09:40:03 -07:00
Ms2ger
c5279d063c servo: Merge #4315 - Cleanup page.rs (from Ms2ger:page); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 315e166cf7f24f4586e8ce863be597ce0a3f34c9
2014-12-10 08:46:03 -07:00
Matt Brubeck
9cb76dbf45 servo: Merge #4309 - Simple cleanups in layout code (from mbrubeck:float-cleanup); r=pcwalton
r? @SimonSapin or @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: d8a5199ba847bb46733eb4794d0bf93966964499
2014-12-09 17:01:12 -07:00
Michael Wu
eba21f3745 servo: Merge #4308 - Remove use of rustuv/green in the gonk port (from michaelwu:remove-libgreen); r=glennw
As requested during the review of the gonk port.

Source-Repo: https://github.com/servo/servo
Source-Revision: 39271aa42d77ac7bbfabb1fd11a975265d645c99
2014-12-09 15:31:12 -07:00
Michael Wu
7e8adc03f1 servo: Merge #4306 - Add a port for gonk (from michaelwu:gonk-port-three); r=glennw
Trying again since critic didn't notice https://github.com/servo/servo/pull/4294 .

Source-Repo: https://github.com/servo/servo
Source-Revision: cbbbf4fbb54ed3fc9c017550df3b6aecc583ba43

--HG--
rename : servo/ports/android/.cargo/config => servo/ports/gonk/.cargo/config
rename : servo/ports/android/glut_app/Cargo.lock => servo/ports/gonk/Cargo.lock
rename : servo/components/servo/lib.rs => servo/ports/gonk/src/lib.rs
2014-12-09 14:42:57 -07:00
Glenn Watson
590ac875aa servo: Merge #4296 - Update rust-openssl to add static linking for android (from glennw:update-openssl); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 2dfc8fed87da0023b4bd5ddac15b3f7a76a97963
2014-12-09 14:09:59 -07:00
Ms2ger
b3f23959cf servo: Merge #4305 - Cleanup ScriptTask::load some more (from Ms2ger:script_task); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 3a70a9fa6bdbfda405ff7b027a09596a2a2747f5
2014-12-09 12:16:07 -07:00
Shing Lyu
8ddb629206 servo: Merge #4108 - Blob (from shinglyu:blob); r=jdm
Let's build this incrementally. I implemented a `Blob` that can hold a `DOMString`, and has `size` attribute and `slice(...)` method. I'll finish the rest in later PRs.

Source-Repo: https://github.com/servo/servo
Source-Revision: d2a67abea9f6acd7b0ea29a852bf5029aef3f405
2014-12-09 08:43:08 -07:00
Emanuel Rylke
6014c50b8d servo: Merge #4304 - Don't include the root element when calling Element#getElementsByTagName (from ema-fox:bytag); r=Ms2ger
Fixes #4249

Source-Repo: https://github.com/servo/servo
Source-Revision: ef81fb13e73d8d8bbda80fbe52ee9d5a539bc519
2014-12-09 06:33:59 -07:00
Ms2ger
972e593419 servo: Merge #4303 - Update typeable to pick up a warning fix (from Ms2ger:docs-warning); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 25e5d312892421008133cb6c099644cf46a7b2bc
2014-12-09 05:33:57 -07:00
Ms2ger
6383ed9edb servo: Merge #4293 - Cleanup ScriptTask::load some more (from Ms2ger:script_task); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 02955d39ccf7fcd8a76279e49c44715b62730c6d
2014-12-09 04:57:56 -07:00
Simon Sapin
d405298981 servo: Merge #4302 - Add a ./mach clean-snapshots command to remove old Cargo and Rust (from SimonSapin:clean-snapshots); r=Manishearth
Bootstrapping automatically downloads new Rust and Cargo snapshots as needed into versioned directories, but do not remove now-unused versions. This is the desired behavior for `git bisect` to be usable.

However, this means that old version keep accumulating, taking up disk space. This adds a mach command to remove snapshots other than the ones currently being used. It is never run automatically.

To be safe, the command defaults to only printing what would be removed, and only removes stuff when run with a `-f` argument.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 00298221a6238c4fe4909f68a6616a718908ccf5
2014-12-09 04:01:19 -07:00
Zirak
5893fa94ce servo: Merge #4298 - Bound several link properties (from Manishearth:zirak-link-attrs); r=Manishearth
Carried over from #4248

Critic review: https://critic.hoppipolla.co.uk/r/3392

Source-Repo: https://github.com/servo/servo
Source-Revision: 7d4ec333750fd7d57226c1d915f3227a2998e02f
2014-12-08 23:30:59 -07:00
Manish Goregaokar
de7ade69d5 servo: Merge #4160 - Add unit test to freeze sizes of DOM structs (from Manishearth:a-test-size-dom); r=cgaebel
Source-Repo: https://github.com/servo/servo
Source-Revision: 2f80a3bac66ae3d0a84b5f4317ebfb537c5c6e2c
2014-12-08 23:01:05 -07:00
Glenn Watson
d6ad689dd4 servo: Merge #4292 - Use mach to build openssl on android instead of glut makefile (from glennw:android-ssl); r=mbrubeck
The glut makefile will be removed shortly after glutin lands
for android, so we need to build openssl for android elsewhere
in the build process.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2741fd2e139b9cb8e9f14857877f567ecae3bced

--HG--
rename : servo/ports/android/openssl.sh => servo/support/android/openssl.sh
2014-12-08 17:54:57 -07:00
Matthew Rasmus
f99063b40e servo: Merge #4288 - Updates ./mach update-cargo for new path changes (from mttr:mach_update_cargo_fix); r=jdm
Also fixed a bug if run with no arguments.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1458bb439701274527308a29f2e5e65c3306f78a
2014-12-08 17:03:59 -07:00
Andreas Tolfsen
9ef84d5ed2 servo: Merge #4286 - Fix concatentation error on no args to ./mach rustc (from andreastt:ato/concat_error_on_system_rust); r=metajack
Since default argument to params is None, concatenating it with a
list will raise an error.  This behaviour prevents `./mach rustc`
to be called when system-rust is defined in .servobuild.

Currently it will only work when followed by an argument, i.e.
`./mach rustc -arg`.

Testing this patch: `./mach rustc` should not raise an error.

Source-Repo: https://github.com/servo/servo
Source-Revision: 35c13f07bfd6a8973399e75404fa61a6d9aeda00
2014-12-08 15:28:03 -07:00
Patrick Walton
c02b013483 servo: Merge #4272 - gfx: Update Azure and Skia, and rewrite broken clipping logic (from pcwalton:upgrade-azure); r=mrobinson
This exposed some problems in our clipping logic, which was never
properly rewritten for the stacking context reform. The clipping code
worked in terms of a stack of clips, but the new stacking context code
has no concept of a stack of clip regions. Fixing that in turn exposed
some flaky/incorrect tests:

* `borders` had an incorrect reference image, as far as I can tell.

* `negative_margins` had some stray pixels, fixed by changing the text.

r? @mrobinson

Source-Repo: https://github.com/servo/servo
Source-Revision: 40c706b42d9d29ef58913f22da49159796e1b81b
2014-12-08 14:52:02 -07:00
Emanuel Rylke
40deabd7f7 servo: Merge #4284 - Implement selection ranges and deletion of \n for TextInput (from ema-fox:textinput_selection); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b64bb47e9d7eea0402493abd12b9ea645cc8e083
2014-12-08 14:25:07 -07:00
Ms2ger
13af9a6af8 servo: Merge #4280 - Cleanup some code in node.rs (from Ms2ger:cleanup-node); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 368d6dc6bfd1b69b9082a6b773f79f1371602b70
2014-12-08 13:55:08 -07:00
ProgramFOX
a271e21d79 servo: Merge #4270 - Implemented Document#inputEncoding (from ProgramFOX:issue-4252); r=saneyuki
Resolves #4252

Source-Repo: https://github.com/servo/servo
Source-Revision: feabaf34acfc41c0976acdff5e4df15a135d1b09
2014-12-08 13:28:12 -07:00
Ben Hsu
d4b3238f9d servo: Merge #4233 - Fixes #4232 (from driftersprt:BUG-4232); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: f11089cda0564a826ed53949a4b39d519944e28a
2014-12-08 12:58:09 -07:00
Clark Gaebel
36ba47438d servo: Merge #4194 - Fixed #4170 - Incremental reflow wasn't being aggressive enough when nodes get reparented (from cgaebel:incremental-reflow-fix); r=pcwalton
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.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5c506f7a98368020c7936517f1d8e243c9556937
2014-12-08 12:28:14 -07:00
Matthew Rasmus
0c6c8fc464 servo: Merge #4190 - Implements the :checked pseudo-class for inputs (from mttr:checked_pseudo_class); r=Manishearth
Relevant spec:
https://html.spec.whatwg.org/multipage/scripting.html#selector-checked

Also modifies HTMLInputElement::SetChecked to no longer modify its
checked content value, instead making use of its internal checkedness
state now that we can match `:checked` properly.

Source-Repo: https://github.com/servo/servo
Source-Revision: f18c18371d2bb5edde9d64e46b74bf01411afab3
2014-12-08 12:01:51 -07:00
Tetsuharu OHZEKI
d9885c4396 servo: Merge #4279 - Rename "render"/"rendering" to "paint"/"painting" (from saneyuki:rename); r=jdm
#4275

* This changeset rename "render"/"rendering" to "paint"/"painting" under `components/`.
* This does not rename words which are used as general browser's working.
  * So this doesn't change `reftest.rs`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0b486b12109ab765ecee4cbcc684e5d99e8ad5ad

--HG--
rename : servo/components/canvas/canvas_render_task.rs => servo/components/canvas/canvas_paint_task.rs
rename : servo/components/gfx/render_context.rs => servo/components/gfx/paint_context.rs
rename : servo/components/gfx/render_task.rs => servo/components/gfx/paint_task.rs
2014-12-08 10:28:10 -07:00
Ms2ger
8222c91fa8 servo: Merge #4268 - Cleanup ScriptTask::load and parse_html (from Ms2ger:script_task); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 3f60bcf2c2de856da9f7b86cc8793e75c99d46d9
2014-12-08 09:43:11 -07:00
Emanuel Rylke
7dd64bc9f1 servo: Merge #4267 - Implement Page(Up|Down) functionality for TextInput and bugfix (from ema-fox:textinput); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 9ac817523c463f2e64a73fef069316f7976063e8
2014-12-08 09:04:14 -07:00
Ms2ger
a35fe37703 servo: Merge #4266 - Create the root frame before evaluating the javascript URL (from Ms2ger:js-document-crash); r=Manishearth
This prevents a crash when the script in the javascript URL accesses the
document attribute.

Source-Repo: https://github.com/servo/servo
Source-Revision: ea907c1311051506bc3e7ef6fef8857968c71387
2014-12-08 02:49:06 -07:00
Jonathan Hao
989f5da014 servo: Merge #4257 - Implement the "messageevent" argument to Document#createEvent. #4008 (from johnathan79717:4008); r=jdm
This is a fix for issue #4008.

Source-Repo: https://github.com/servo/servo
Source-Revision: bdb3a2538b9f10aad4c911cc0118257d8311cd26
2014-12-08 01:55:08 -07:00
Matthew Rasmus
0f1fe27243 servo: Merge #4277 - servo.css: Style <button> like <input type=button> (from mttr:style_button_element); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 673dc339712ea58bc6a4d4c90d556e5c9e84a65a
2014-12-07 22:22:07 -07:00
Glenn Watson
c20f134e76 servo: Merge #4207 - Fix path for CEF build (from glennw:fix-cef); r=larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: ccef72385131f923edd63ffc586165aae786adf2
2014-12-07 15:25:07 -07:00
Matthew Rasmus
fd67e29914 servo: Merge #4269 - Fix breakage of ./mach test (from mttr:mach_test_fix); r=mbrubeck
When running commands through Registrar.dispatch, mach does not behave
in the same way it would as if it were running through the command line.
Defaults normally provided through a combination of @CommandArgument and
argparse magic are ignored.

I have some ideas as to how to fix this, but until then, this will allow
`./mach test` to run through test-unit properly.

Source-Repo: https://github.com/servo/servo
Source-Revision: a6768b62446d599b23906eae08845dcb8bbe8853
2014-12-06 13:49:03 -07:00
Ms2ger
08aaf009b2 servo: Merge #4263 - Use or_init where appropriate (from Ms2ger:or_init); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: c68e2af0a756280a687511614e44652906c0d7a1
2014-12-06 08:01:06 -07:00
ProgramFOX
7c84eba939 servo: Merge #4265 - Corrected case of Document#characterSet (from ProgramFOX:issue-4251); r=Ms2ger
Resolves #4251

Source-Repo: https://github.com/servo/servo
Source-Revision: b805e74fef57e5bec167b2dc6403f9f5e7fc92e7
2014-12-06 07:31:01 -07:00
Matthew Rasmus
ef99ea6b43 servo: Merge #4229 - Adds a --component argument to test-unit (from mttr:mach_unit_test_select_component); r=Manishearth
Example usage:

`./mach test-unit -c style`

Source-Repo: https://github.com/servo/servo
Source-Revision: 2d0e96e1331668fea7313efd688fe7dba6d7ebed
2014-12-06 04:49:00 -07:00
Tamir Duberstein
8f3cedce7a servo: Merge #4262 - should_move_clip_rect is a bare function (from tamird:4261); r=jdm
`self` is never used, so there's no need for this to be a method.
Fixes #4261. @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 3eec780c0050d034c06c3b7b2128401a8b3b1a37
2014-12-06 04:28:01 -07:00
Manish Goregaokar
895099501f servo: Merge #4002 - Implement framework for element activation (fixes #3999) (from Manishearth:activation); r=jdm
Still need to impl `Activatable` on all activatable elements. I'll probably push those changes to this PR, however they can be made separately as well.

Source-Repo: https://github.com/servo/servo
Source-Revision: 19c69b1625dda46d3c5501292e7e2d0328e400b4
2014-12-06 03:55:04 -07:00
Ms2ger
b07144a5b9 servo: Merge #4264 - Clarify the panic in get_uint_attribute (from Ms2ger:panic); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 507fdbeb6d7c7d2e37adf8313dc3970289dbb900
2014-12-06 02:37:04 -07:00
Med0paW
902c5e9d61 servo: Merge #4254 - Issue 4253 - Setting timeout on a sync XHR should throw InvalidAccessErr (from medopaw:settimeout-on-sync-error); r=Manishearth
fix #4253

Source-Repo: https://github.com/servo/servo
Source-Revision: 33836715a8703299b931f9f891ec6524cca160a7
2014-12-05 20:13:02 -07:00