Commit graph

7278 commits

Author SHA1 Message Date
bors-servo
9da7f10c3c auto merge of #3964 : mrobinson/servo/code-duplication, r=larsbergstrom
It is possible to share the code which creates root layers.
2014-11-19 09:00:47 -07:00
bors-servo
554f696db8 auto merge of #4035 : glennw/servo/remove-rust-alert, r=pcwalton 2014-11-18 21:30:27 -07:00
Glenn Watson
c39852a3f4 Remove rust-alert as it's broken on mac, and unimplemented on other platforms. 2014-11-19 14:19:40 +10:00
bors-servo
a07401ca4e auto merge of #3904 : pcwalton/servo/maze-solver-float-placement, r=cgaebel
r? @glennw @cgaebel
2014-11-18 16:39:25 -07:00
Patrick Walton
55da2c97d5 layout: Incrementalize reflow of block formatting contexts impacted by
floats, and make float placement idempotent.

This moves float placement outside sequential block size computation.

Improves the maze solver.
2014-11-18 15:36:04 -08:00
Patrick Walton
be36fcd3b1 layout: Eliminate the virtual is_float() in favor of the flow flags 2014-11-18 15:36:04 -08:00
bors-servo
f5c6146de0 auto merge of #4028 : glennw/servo/glutin, r=larsbergstrom
Default build uses glfw, but glutin can be enabled via:

./mach cargo build --no-default-features --features=glutin

Remaining work:
 * Mac
 * Android
 * hi-dpi
 * nested event loop

This PR also enables true headless (without X) rendering on Linux by specifying the rendering API as Mesa.
2014-11-18 15:48:29 -07:00
Glenn Watson
0278920343 Add glutin port (supported on Linux only currently).
Default build uses glfw, but glutin can be enabled via:

./mach cargo build --no-default-features --features=glutin
2014-11-19 08:31:34 +10:00
bors-servo
71d49a5b8e auto merge of #4025 : zmike/servo/embedding-string_multimap, r=jdm
@jdm @larsbergstrom
2014-11-18 14:39:31 -07:00
Mike Blumenkrantz
4ae5c88acc address review comments 2014-11-18 14:43:59 -05:00
bors-servo
e13873bba1 auto merge of #4015 : letharion/servo/Bitfield-to-bitflags, r=mbrubeck
Attempt to solve #3690 

I've re-rolled the changes from https://github.com/servo/servo/pull/2610, and then doen the necessary updates to get this to compile with the current snapshot of rust.

The documentation for values I've added in the bitflag are missing, because I don't know what is the appropriate text.
2014-11-18 11:42:32 -07:00
Claes 'Letharion' Gyllensvärd
2737db3ad7 Remove bitfield! macro in favour of bitflags! 2014-11-18 19:26:10 +01:00
bors-servo
51e1f56ff7 auto merge of #4031 : donaldpipowitch/servo/wide-form-buttons, r=jdm
My first pull request to servo \o/

Try to fix https://github.com/servo/servo/issues/3972. Tested with `./mach run tests/html/test-inputs.html`.
Any reasons why this CSS is formatted this way? (All properties on the same line. Looks a little bit _generated_?)
2014-11-18 09:06:33 -07:00
bors-servo
8cecb03d75 auto merge of #4030 : achals/servo/master, r=Ms2ger
https://github.com/servo/servo/issues/3995

This is my first PR, so please let me know if I'm doing something wrong!
2014-11-18 08:45:35 -07:00
Achal Shah
712b3d0f5b Stop including the element during Element.getElementsByClassName.
https://github.com/servo/servo/issues/3995
2014-11-18 07:20:07 -08:00
bors-servo
efb4fe4a4a auto merge of #4027 : znewman01/servo/issue4010, r=Ms2ger
Fixes #4010.

This is my first Servo contribution, so let me know if I missed anything!
2014-11-18 07:54:33 -07:00
bors-servo
929671f945 auto merge of #4029 : znewman01/servo/issue4009, r=Ms2ger
Fixes #4009.

Only lower-case the argument to Document#createElement if it's a HTML document.
2014-11-18 07:15:34 -07:00
Zachary Newman
2399a1449d Implement DOMImplementation.hasFeature
Fixes #4010.
2014-11-18 09:00:45 -05:00
bors-servo
3fafd61f71 auto merge of #4021 : letharion/servo/Case-insensitive-HTMLScriptElementHelpers-comparision, r=Ms2ger
Fix for #3993
2014-11-18 06:51:34 -07:00
donaldpipowitch
033992348c wide form buttons fixes #3972 2014-11-18 12:16:17 +01:00
Claes 'Letharion' Gyllensvärd
d84c0fc52a Lower case the type attribute before checking if it's JS 2014-11-18 08:39:59 +01:00
Zachary Newman
a8ce3e3366 Update behavior of Document.createElement
Fixes #4009.

Only lower-case the argument to Document#createElement if it's a HTML document.
2014-11-17 21:21:46 -05:00
Mike Blumenkrantz
8a4d2949e8 embedding: replace usage of deprecated find*() with get*() 2014-11-17 14:41:23 -05:00
Mike Blumenkrantz
8b231a26e4 embedding: cef_string_multimap_free() 2014-11-17 14:41:23 -05:00
Mike Blumenkrantz
32d6cff440 embedding: cef_string_multimap_clear() 2014-11-17 14:41:23 -05:00
Mike Blumenkrantz
ef288f1195 embedding: cef_string_multimap_value() 2014-11-17 14:41:22 -05:00
Mike Blumenkrantz
ce3e9fb511 embedding: cef_string_multimap_key() 2014-11-17 14:41:22 -05:00
Mike Blumenkrantz
85a099719e embedding: cef_string_multimap_enumerate() 2014-11-17 14:41:22 -05:00
Mike Blumenkrantz
7758a4427d embedding: cef_string_multimap_append() 2014-11-17 14:41:22 -05:00
Mike Blumenkrantz
f1f8c65de7 embedding: cef_string_multimap_find_count() 2014-11-17 14:41:22 -05:00
Mike Blumenkrantz
cc55f88496 embedding: cef_string_multimap_size() 2014-11-17 14:41:22 -05:00
Mike Blumenkrantz
89fa3bb99a embedding: begin cef string_multimap api
cef_string_multimap_alloc()
2014-11-17 14:41:22 -05:00
bors-servo
64cc9ec688 auto merge of #4019 : Ms2ger/servo/constellation, r=mbrubeck 2014-11-17 10:36:29 -07:00
Ms2ger
4d3977b8f8 Various cleanup in constellation.rs. 2014-11-17 18:27:22 +01:00
bors-servo
2bda68f038 auto merge of #3987 : mbrubeck/servo/rust-root, r=larsbergstrom
r? @larsbergstrom
2014-11-17 09:21:28 -07:00
bors-servo
bd4f94a11f auto merge of #4016 : SimonSapin/servo/fix-freetype-build, r=Manishearth
Pick up https://github.com/servo/libfreetype2/pull/3

r? @Manishearth
2014-11-17 08:30:31 -07:00
bors-servo
9833cfbbff auto merge of #4017 : Ms2ger/servo/sniffertask, r=jdm 2014-11-17 07:57:29 -07:00
Ms2ger
d8b0f973b0 Reformat sniffer_task.rs. 2014-11-17 15:49:45 +01:00
bors-servo
b9dcaa34c3 auto merge of #3991 : Hoverbear/servo/patch-1, r=jdm
glfw3 is in the `homebrew/versions` keg.

```bash
➜  ~  brew install glfw3
Error: No available formula for glfw3
Searching formulae...
Searching taps...
homebrew/versions/glfw3
```

Simplest fix:

```bash
➜  ~  brew install homebrew/versions/glfw3
Cloning into '/usr/local/Library/Taps/homebrew/homebrew-versions'...
remote: Counting objects: 2495, done.
remote: Total 2495 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (2495/2495), 820.05 KiB | 462.00 KiB/s, done.
Resolving deltas: 100% (1433/1433), done.
Checking connectivity... done.
Tapped 161 formulae
==> Installing glfw3 from homebrew/homebrew-versions
==> Downloading https://downloads.sourceforge.net/project/glfw/glfw/3.0.4/glfw-3.0.4.tar.bz2
Already downloaded: /Library/Caches/Homebrew/glfw3-3.0.4.tar.bz2
==> Patching
patching file CMakeLists.txt
Hunk #1 succeeded at 370 with fuzz 1 (offset 13 lines).
==> cmake -DCMAKE_INSTALL_PREFIX=/usr/local/Cellar/glfw3/3.0.4 -DCMAKE_BUILD_TYPE=None -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_VERBOSE_MAKEFILE=ON -Wno-dev -DGLFW_USE_CHDIR=TRUE -DGLFW_USE_MENUBAR=TRUE -DBUIL
==> make install
🍺  /usr/local/Cellar/glfw3/3.0.4: 11 files, 220K, built in 9 seconds
```

Users who have `homebrew/versions` already tapped won't notice this, since after tapping `homebrew/versions` keg shouldn't notice, since after tapping, the library is available using just ` brew install glfw3`.

```bash
➜  ~  brew tap
homebrew/versions
➜  ~  brew install glfw3
==> Installing glfw3 from homebrew/homebrew-versions
==> Downloading https://downloads.sourceforge.net/project/glfw/glfw/3.0.4/glfw-3.0.4.tar.bz2
Already downloaded: /Library/Caches/Homebrew/glfw3-3.0.4.tar.bz2
==> Patching
patching file CMakeLists.txt
Hunk #1 succeeded at 370 with fuzz 1 (offset 13 lines).
==> cmake -DCMAKE_INSTALL_PREFIX=/usr/local/Cellar/glfw3/3.0.4 -DCMAKE_BUILD_TYPE=None -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_VERBOSE_MAKEFILE=ON -Wno-dev -DGLFW_USE_CHDIR=TRUE -DGLFW_USE_MENUBAR=TRUE -DBUIL
==> make install
🍺  /usr/local/Cellar/glfw3/3.0.4: 11 files, 220K, built in 9 seconds
```
2014-11-17 07:21:29 -07:00
Simon Sapin
6ed83b55f5 Fix freetype build, pick up https://github.com/servo/libfreetype2/pull/3 2014-11-17 13:43:28 +00:00
bors-servo
d1eaa3adda auto merge of #3796 : shanil-puri/servo/ServoExitDevtools, r=jdm 2014-11-17 06:15:30 -07:00
Shanil Puri
d6e99cb269 Spacing changes corrected. 2014-11-17 00:55:41 -05:00
bors-servo
eeb11d6851 auto merge of #4014 : wenderen/servo/doc-createevent-keyevents, r=Manishearth
fix #4007
2014-11-16 21:36:30 -07:00
Rohan Prinja
aad124fce3 key[board]event args for Document#createEvent 2014-11-17 09:37:05 +05:30
bors-servo
a51d08737a auto merge of #4012 : glennw/servo/update-green-rs, r=mbrubeck 2014-11-16 20:21:28 -07:00
Glenn Watson
a1de810dd3 Add missing gfx dependency, that was causing a race in cargo on the build machine. 2014-11-17 12:13:58 +10:00
bors-servo
1fd94adb3d auto merge of #4013 : glennw/servo/android-resources, r=larsbergstrom
This is a temporary solution, until they are packaged properly.
2014-11-16 18:12:28 -07:00
Glenn Watson
e4bc2ca82a Redirect android resource folder (user-agent.css and friends) to /sdcard/servo. This is a temporary solution, until they are packaged properly. 2014-11-17 09:51:13 +10:00
Glenn Watson
e9ff6d9ce7 Update green-rs submodule to get android tls fix. 2014-11-17 09:45:56 +10:00
bors-servo
397d8138e7 auto merge of #3990 : pcwalton/servo/stacking-contexts, r=glennw
This implements the scheme described here:

    https://groups.google.com/forum/#!topic/mozilla.dev.servo/sZVPSfPVfkg

This commit changes Servo to generate one display list per stacking
context instead of one display list per layer. This is purely a
refactoring; there are no functional changes. Performance is essentially
the same as before. However, there should be numerous future benefits
that this is intended to allow for:

* It makes the code simpler to understand because the "new layer needed"
  vs. "no new layer needed" code paths are more consolidated.

* It makes it easy to support CSS properties that did not fit into our
  previous flat display list model (without unconditionally layerizing
  them):

  o `opacity` should be easy to support because the stacking context
    provides the higher-level grouping of display items to which opacity
    is to be applied.

  o `transform` can be easily supported because the stacking context
    provides a place to stash the transformation matrix. This has the side
    benefit of nicely separating the transformation matrix from the
    clipping regions.

* The `flatten` logic is now O(1) instead of O(n) and now only needs to
  be invoked for pseudo-stacking contexts (right now: just floats),
  instead of for every stacking context.

* Layers are now a proper tree instead of a flat list as far as layout
  is concerned, bringing us closer to a production-quality
  compositing/layers framework.

* This commit opens the door to incremental display list construction at
  the level of stacking contexts.

Future performance improvements could come from optimizing allocation of
display list items, and, of course, incremental display list
construction.

r? @glennw
f? @mrobinson @cgaebel
2014-11-16 16:39:27 -07:00