Commit Graph

3034 Commits

Author SHA1 Message Date
Glenn Watson
b185394a0f servo: Merge #4405 - Update rustc to revision 3dcd2157403163789aaf21a9ab3c4d30a7c6494d (from servo:rustup_20141124); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: fbf42c951b2f53d91e2f32f8035484a07ea83493
2014-12-17 18:45:49 -07:00
Glenn Watson
bd8a083ff1 servo: Merge #4398 - Update gleam, clear initial framebuffer under glutin (from glennw:glutin-clear); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: b8900782b0fcb409f37189bdc08eb7f8b3564a5f
2014-12-16 20:18:44 -07:00
Adenilson Cavalcanti
f38d6c1c65 servo: Merge #4393 - Inset and outset border coloring is incorrect on left side border (from Adenilson:fixInsetOutsetColor01); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: df4c3ff28441884217333eb13c18b944b81f1a3a
2014-12-16 17:03:43 -07:00
Jerry Shih
efed6f1c6f servo: Merge #4397 - Handle null when evaluating JS value. Fixes #4235 (from jdm:issue_4235); r=jdm
Rebased from #4241.

Source-Repo: https://github.com/servo/servo
Source-Revision: 03666f31051562453a6be789f9d350db9c3fa6a2
2014-12-16 16:03:45 -07:00
Matthew Rasmus
4f922915fe servo: Merge #4133 - Implements basic form resetting (from mttr:form_resetting); r=jdm
We can reset `<input type=text>` fields! I wish I could've done something with checkboxes, but unfortunately, that's it for now.

In addition to that, this PR implements `HTMLInputAttribute.defaultValue`, updates wpt-test to expect passing tests as a result of that implementation, and fixes an index error crash with text inputs.

edit: also includes an html example where one may lazily watch form resets in action: ` tests/html/form_reset_handsfree.html`

Source-Repo: https://github.com/servo/servo
Source-Revision: 5951056973fc0e08e70224214740a274ca8ef20f
2014-12-16 15:03:49 -07:00
Michael Wu
7c59583691 servo: Merge #4392 - Update Cargo.lock to fix gonk build (from michaelwu:fix-gonk-20141216); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b6a593650bcc33e4188153d135e9a2781a488f96
2014-12-16 13:31:08 -07:00
Matthew Rasmus
a9eadca568 servo: Merge #4380 - Makes layout respect <textarea> rows and cols attributes (from mttr:textarea_rows_and_cols); r=jdm
...with a bit of a caveat: sizing has the same problem as seen in #4378, and it is _significantly_ more noticeable when using `rows`.

Fixes #4291

Source-Repo: https://github.com/servo/servo
Source-Revision: fcaa45fb675bdf3fede3b50a9d212adda1dc2b4f
2014-12-16 12:09:50 -07:00
Ms2ger
68d4605b77 servo: Merge #4390 - Remove some manual deref() / deref_mut() calls (from Ms2ger:derefs); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 905c30d69739fcacfe67cb2605eb9f669ae9a82f
2014-12-16 09:22:02 -07:00
Ms2ger
f505abaa83 servo: Merge #4389 - Fix bogus transmute (from Ms2ger:transmute); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 508924771e8f0f60700931ebd88aebf8c8889e44
2014-12-16 08:54:51 -07:00
Glenn Watson
a917674ccc servo: Merge #4386 - Update cocoa (needed for newer glutin) (from glennw:update-cocoa); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: cd1ccacf5e803281ead0168c3ac1ba5f64dc9343
2014-12-16 08:24:49 -07:00
thiagopnts
02dc0e1e27 servo: Merge #4374 - Add auxiliary method to EventTargetHelpers for events without target (from thiagopnts:dispatch-event); r=Ms2ger
servo/pull/4369 with the right commit.

Source-Repo: https://github.com/servo/servo
Source-Revision: 746b262ff4e23db11586f74ef1a03e98cb12bb52
2014-12-16 06:36:47 -07:00
Edit Balint
f458bd96e5 servo: Merge #4387 - Fixed codegen error regarding Uint8ClampedArray (from ebalint:codegen); r=Ms2ger
If we added a "readonly attribute Uint8ClampedArray arrayAttribute" in a webidl, codegen created the binding method like this: "fn ArrayAttribute(self) -> * mut JSObject;" but called it with a "*mut JSContext" parameter.

Source-Repo: https://github.com/servo/servo
Source-Revision: 38a4e71502f3b668ff322d9047af7ec8892312d3
2014-12-16 04:06:56 -07:00
Patrick Walton
ea62373791 servo: Merge #4385 - script: Fix double-borrow error (from pcwalton:page-double-borrow); r=jdm
This was my fault. It comes up on almost any page after scrolling a bit.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: fb5c1bef6fe48b7bd2c1dd9e73069d5b00b20aad
2014-12-15 20:54:44 -07:00
Manish Goregaokar
bff63476bf servo: Merge #4381 - Fix window.performance.now() (from Manishearth:performancenow); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: e0ec21e814f07601fa3e5e2ec04de7c7a0fd7893
2014-12-15 20:00:53 -07:00
Patrick Walton
90a61bb1c7 servo: Merge #4289 - style: Implement basic column spans, quirks mode, and the legacy bgcolor and border attributes (from pcwalton:hacker-news); r=SimonSapin
This patch provides some of the groundwork for column spans greater than
1. It implements the column-span CSS property as well as the
corresponding colspan attribute; although the former is not
well-specified outside of CSS multi-column layout, INTRINSIC refers to
it. Although width is distributed to spanning columns, they do not yet
contribute minimum and preferred widths; this will be implemented in a
follow-up.

The parsing for the legacy bgcolor and border attributes is
implemented according to the WHATWG HTML specification.

Additionally, this patch cleans up some miscellaneous formatting issues,
refactors layout/css somewhat to eliminate needless levels of
indirection, and cleans up the handling of table rowgroups.

New Hacker News screenshot: http://i.imgur.com/hnl2a7E.png

Source-Repo: https://github.com/servo/servo
Source-Revision: 8e31e5f98747e4b42dafcc4b076fac46aeb09310
2014-12-15 19:33:46 -07:00
Patrick Walton
23a62da542 servo: Merge #4371 - layout: Make line breaking able to restart from any position (from pcwalton:line-breaking-improvements); r=mbrubeck
This commit removes the "merge-fragments" pass from inline reflow,
instead merging "on the fly". This ended up being simpler, as well as
more fine grained. Additionally, this patch makes the line breaker no
longer clone every fragment (!)

This functionality will be used in the implementation of
`text-overflow`.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 88ec52dd617bafe384553ef38325c552fb4f1e23
2014-12-15 19:09:49 -07:00
Patrick Walton
59d35b5a90 servo: Merge #4310 - layout: Implement basic lists and the CSS1 list properties (from pcwalton:lists); r=SimonSapin
The exact rendering is ill-spec'd. Some things are ugly (especially the
width and height of list style images) but they are infrequently used
and I believe this implementation matches the spec. Numeric lists are
not supported yet, since they will require a separate layout pass.

The implementation is a subclass of `BlockFlow`, on advice from Robert
O'Callahan.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 112ef5c484e821aa4869aeaf12a12146f2424fe0
2014-12-15 17:42:48 -07:00
Patrick Walton
4a65faf9eb servo: Merge #4318 - gfx: Implement box-shadow per CSS-BACKGROUNDS (from pcwalton:box-shadow-redux); r=SimonSapin
r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 7805fe19edf5353711f49a8ef1c988dc9f932bb7
2014-12-15 16:31:14 -07:00
Patrick Walton
ee36da2b11 servo: Merge #3844 - script: Improve dirty propagation and fix script-layout synchronization (from pcwalton:script-layout-synchronization); r=jdm
This fixes race conditions whereby layout and script could be running
simultaneously.

r? @jdm
cc @cgaebel

Source-Repo: https://github.com/servo/servo
Source-Revision: 5f2684d2f81046abd7548fb22d996d1e506a104a
2014-12-15 15:31:21 -07:00
Michael Wu
b7c00db2cb servo: Merge #4375 - Fix gonk 20141215 (from michaelwu:fix-gonk-20141215); r=glennw
This updates azure to pick up a gonk fix - https://github.com/servo/rust-azure/pull/120 and adds a stub function to the window.

Source-Repo: https://github.com/servo/servo
Source-Revision: d75e85261fd777405482e1a194dff1b5111808d7
2014-12-15 15:06:59 -07:00
Ms2ger
a3f69010d3 servo: Merge #4373 - Correctly set the BlobType for File objects (from Ms2ger:blob-type); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 4e187af2f17339df25fb1dfaf91821d0f53cba5e
2014-12-15 13:16:05 -07:00
thiagopnts
7fcc909cd2 servo: Merge #4372 - Make ErrorEvent::new take cancelable and bubbling enums (from thiagopnts:errorevent); r=Ms2ger
Fixes #4174.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1bc2c8a6397382b4db8fb09582434f4798d43868
2014-12-15 02:15:51 -07:00
Patrick Walton
04f5f3a88a servo: Merge #4361 - layout: Implement overflow-wrap/word-wrap per CSS-TEXT § 6.2 (from pcwalton:overflow-wrap); r=glennw
This property is used by approximately 55% of page loads.

To implement the line breaking behavior, the "breaking strategy" has
been cleaned up and abstracted. This should allow us to easily support
other similar properties in the future, such as `text-overflow` and
`word-break`.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 68ab18876bf4e210da26590420b9844b9cb0c92d
2014-12-13 14:06:47 -07:00
Chris Paris
d5e1dcf922 servo: Merge #4297 - Make DOMParser::ParseFromString actually parse the string (from ChrisParis:parse); r=Ms2ger
Addresses https://github.com/servo/servo/issues/3756. I've tested this code with a new test that I've submitted to https://github.com/w3c/web-platform-tests.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1be7d7ccedec170016243bc5924239ef02b0b76f
2014-12-13 12:30:45 -07:00
Patrick Walton
32a32e3723 servo: Merge #4360 - layout: Implement word-spacing per CSS 2.1 § 16.4 (from pcwalton:word-spacing); r=mbrubeck
This assumes that there are no ligatures that span across multiple
words. Since we have a per-word shape cache, this is a safe assumption
as of now. I have left comments to ensure that, if and when this is
revisted, we make sure to handle it properly.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 98920b1315e7b867b293a56f5eb81784845f4a19
2014-12-13 10:39:46 -07:00
Ms2ger
df2aeeea63 servo: Merge #4363 - Never include the root node in live HTMLCollections (from Ms2ger:collectionfilter); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 29c9975a835d7304055f1dec22d674846bb2dfa9
2014-12-13 10:15:45 -07:00
Patrick Walton
fdd3a9d6ec servo: Merge #4357 - compositing: Translate clip rects into the coordinate systems of child layers when doing hit tests (from pcwalton:compositor-hit-test-clipping); r=mrobinson
Fixes clicking on links on the second page of Hacker News.

r? @mrobinson

Source-Repo: https://github.com/servo/servo
Source-Revision: 251dbb37ed197ba0b2a4e21c95dcca4a1951ccb7
2014-12-13 02:00:52 -07:00
Gilbert Röhrbein
340fb4dc53 servo: Merge #4356 - refactor script_task.rs fn handle_msgs (from servo:msgs); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: ea39b878ac619e68907e27c486660dd4bc3fc618
2014-12-12 17:30:47 -07:00
Greg Weng
bc50bc529d servo: Merge #4355 - Return real page titles and URLs for devtools tab choices (from servo:devtools-title); r=metajack
Fixes #4167.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6362d060e16aa006877b2920c5de2fad7db3dace
2014-12-12 17:03:45 -07:00
Patrick Walton
d6d4d3ae05 servo: Merge #4328 - layout: Implement text-indent per CSS 2.1 § 16.1 (from pcwalton:text-indent); r=SimonSapin
I had to use a somewhat unconventional method of computing text
indentation (propagating from blocks down to inlines) because of the way
containing blocks are handled in Servo.

(As a side note, neither Gecko nor WebKit correctly handles percentages
in `text-align`, at least incrementally -- i.e. when the percentages are
relative to the viewport and the viewport is resized.)

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: be6612193786ef22810fd66b3ce244a7e66cbcf4
2014-12-12 15:57:46 -07:00
Adenilson Cavalcanti
b6f1b7e195 servo: Merge #4324 - Groove and Ridge rendering shows a solid border when color is black (from Adenilson:grooveBorderColor01); r=pcwalton
Groove and Ridge rendering shows a solid border when color is black, that is broken and the current patch will implement a similar behavior as Firefox.

Source-Repo: https://github.com/servo/servo
Source-Revision: e74a57821f89aa637c4aa20e8757b2635c01578d
2014-12-12 15:30:56 -07:00
Jack Moffitt
20992ec5c2 servo: Merge #4300 - Update PowerMeasure.py post-cargoify (from servo:fix-power); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 25a251e6abf50fe818b9836505b09be8191a86fa
2014-12-12 15:06:55 -07:00
Tomasz Kołodziejski
db5adf698c servo: Merge #4354 - Don't include the root element when calling Element#getElementsByTagNameNS (from neojski:getElementsByTagNameNS-filter-root); r=Ms2ger
This fixes #4349.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9e83f096a5b61beb7a26c222b1f6d7780b1335b0
2014-12-12 14:09:53 -07:00
Patrick Walton
e289ac1783 servo: Merge #4325 - gfx: Implement letter-spacing per CSS 2.1 § 16.4 (from pcwalton:letter-spacing); r=mbrubeck
The ligature disabling code has been manually verified, but I was unable
to reftest it. (The only way I could think of would be to create an
Ahem-like font with a ligature table, but that would be an awful lot of
work.)

Near as I can tell, the method used to apply the spacing (manually
inserting extra advance post-shaping) matches Gecko.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 914f27263d60ffcbe2fd1f9e47a48e3aa3f1cd76
2014-12-12 12:45:54 -07:00
Nathan E. Egge
1d5fe80591 servo: Merge #4347 - Sending key events through script task before processing them in the com (from negge:backspace4); r=jdm
...positor.

Fixes #4163

Source-Repo: https://github.com/servo/servo
Source-Revision: 4b8c9128597a7598ef76a4bebe6d81fb2ff9aa1a
2014-12-12 10:36:55 -07:00
Joseph Crail
928a39ceb6 servo: Merge #4171 - Fix spelling mistakes in comments (from jbcrail:fix-spelling); r=jdm
I only updated comments, not strings.

Source-Repo: https://github.com/servo/servo
Source-Revision: f451005f4fe075c849de2f3766f5bf84510b8465
2014-12-12 02:12:51 -07:00
Glenn Watson
3507757306 servo: Merge #4343 - Remove glut port now that android glutin has landed (from glennw:remove-glut); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 9f8dda7abc5f2dc97f5d90aa24fcc5b596ab6918
2014-12-11 19:42:55 -07:00
Michael Wu
ebc00970a5 servo: Merge #4340 - Add support for the 'rem' css unit (from michaelwu:css-rem-support); r=SimonSapin
This works on my simple test page https://people.mozilla.org/~mwu/rem.html , hopefully works on real pages too. Seems a little messy to add root_font_size directly to ComputedValues, but it didn't seem appropriate to add to the style structs.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5ef94c716d8ba8b7508552ac233a371737f8182d
2014-12-11 19:01:01 -07:00
Patrick Walton
cf7e6d5a0f servo: Merge #4339 - layout: Make table layout idempotent (from pcwalton:refactor-tables); r=mbrubeck
By "idempotent" I mean that later passes do not stomp on data from
earlier passes, so that we can run the passes individually for
incremental reflow. The main change here was to stop overwriting the
"minimum inline-size" field of each column with the column's computed
inline-size.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 909dd0e80f5c6a9051da6e2f70d77186cc545b1a
2014-12-11 18:06:53 -07:00
Ms2ger
6e64bb9ddb servo: Merge #4332 - Pass the timing information to PerformanceTiming rather than exposing methods (from Ms2ger:performance); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: a016f7b201425a4a837168407a25705aaabf30b0
2014-12-11 17:33:53 -07:00
Glenn Watson
425a65e7fd servo: Merge #4327 - Switch android to glutin (from glennw:glutin-android); r=larsbergstrom,larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: 15187cb4512baa57902ac07fe902df14b3c99500
2014-12-11 17:09:54 -07:00
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