gecko-dev/servo/ports/cef
Patrick Walton c89b718f8e servo: Merge #5016 - script: Implement enough 2D canvas support to render basic SVGs such as (from jdm:canvas-for-svg); r=jdm
the tiger.

Rebased from #4623.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2e1adb3fa670504fb0fedaa517f312ba233bf67b

--HG--
rename : servo/components/script/dom/webidls/HTMLHeadElement.webidl => servo/components/script/dom/webidls/CanvasPattern.webidl
2015-02-22 20:33:45 -07:00
..
.cargo servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm 2015-01-27 18:15:50 -07:00
interfaces servo: Merge #4171 - Fix spelling mistakes in comments (from jbcrail:fix-spelling); r=jdm 2014-12-12 02:12:51 -07:00
browser_host.rs servo: Merge #4886 - Import msg as msg rather than servo_msg (from Ms2ger:servo_msg); r=saneyuki 2015-02-10 03:51:46 -07:00
browser.rs servo: Merge #4924 - Fix some warnings (from servo:warnings); r=jdm 2015-02-13 07:36:50 -07:00
Cargo.lock servo: Merge #5016 - script: Implement enough 2D canvas support to render basic SVGs such as (from jdm:canvas-for-svg); r=jdm 2015-02-22 20:33:45 -07:00
Cargo.toml servo: Merge #4946 - Update to latest glutin (from Manishearth:glutin_up); r=gw 2015-02-17 00:18:49 -07:00
command_line.rs servo: Merge #4924 - Fix some warnings (from servo:warnings); r=jdm 2015-02-13 07:36:50 -07:00
cookie.rs servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm 2015-01-27 18:15:50 -07:00
core.rs servo: Merge #5024 - Fix build warnings in CEF (from Ms2ger:cef-warnings); r=jdm 2015-02-22 15:57:43 -07:00
drag_data.rs servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm 2015-01-27 18:15:50 -07:00
eutil.rs servo: Merge #4924 - Fix some warnings (from servo:warnings); r=jdm 2015-02-13 07:36:50 -07:00
frame.rs servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm 2015-01-27 18:15:50 -07:00
lib.rs servo: Merge #4962 - Remove the libc feature gate from cef (from Ms2ger:cef-libc); r=jdm 2015-02-19 06:45:52 -07:00
macros.rs servo: Merge #4756 - Fix various build warnings (from Ms2ger:warnings); r=mbrubeck 2015-01-28 13:15:53 -07:00
print_settings.rs servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm 2015-01-27 18:15:50 -07:00
process_message.rs servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm 2015-01-27 18:15:50 -07:00
README.md servo: Merge #4102 - ports/cef: Use the CEF translator tool to generate the full set of CEF bindings (from pcwalton:cef-autogeneration); r=larsbergstrom 2014-11-27 23:18:44 -07:00
render_handler.rs servo: Merge #4405 - Update rustc to revision 3dcd2157403163789aaf21a9ab3c4d30a7c6494d (from servo:rustup_20141124); r=jdm 2014-12-17 18:45:49 -07:00
request_context.rs servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm 2015-01-27 18:15:50 -07:00
request.rs servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm 2015-01-27 18:15:50 -07:00
response.rs servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm 2015-01-27 18:15:50 -07:00
stream.rs servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm 2015-01-27 18:15:50 -07:00
string_list.rs servo: Merge #4102 - ports/cef: Use the CEF translator tool to generate the full set of CEF bindings (from pcwalton:cef-autogeneration); r=larsbergstrom 2014-11-27 23:18:44 -07:00
string_map.rs servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm 2015-01-27 18:15:50 -07:00
string_multimap.rs servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm 2015-01-27 18:15:50 -07:00
string.rs servo: Merge #4924 - Fix some warnings (from servo:warnings); r=jdm 2015-02-13 07:36:50 -07:00
stubs.rs servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm 2015-01-27 18:15:50 -07:00
switches.rs servo: Merge #4044 - Embedding process (from zmike:embedding-process); r=jdm 2014-11-20 13:06:32 -07:00
task.rs servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm 2015-01-27 18:15:50 -07:00
types.rs servo: Merge #4171 - Fix spelling mistakes in comments (from jbcrail:fix-spelling); r=jdm 2014-12-12 02:12:51 -07:00
urlrequest.rs servo: Merge #4102 - ports/cef: Use the CEF translator tool to generate the full set of CEF bindings (from pcwalton:cef-autogeneration); r=larsbergstrom 2014-11-27 23:18:44 -07:00
v8.rs servo: Merge #4756 - Fix various build warnings (from Ms2ger:warnings); r=mbrubeck 2015-01-28 13:15:53 -07:00
values.rs servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm 2015-01-27 18:15:50 -07:00
window.rs servo: Merge #4932 - Fix a build warning with CEF on Mac (from Ms2ger:warning-cef-mac); r=jdm 2015-02-15 13:45:52 -07:00
wrappers.rs servo: Merge #4890 - Remove our copy of Utf16Encoder in favor of the built-in equivalent (fixes #4725) (from servo:Utf16Encoder); r=Ms2ger 2015-02-12 09:18:46 -07:00
xml_reader.rs servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm 2015-01-27 18:15:50 -07:00
zip_reader.rs servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm 2015-01-27 18:15:50 -07:00

How to test:

  1. Go to http://cefbuilds.com/ and download a binary for your OS/arch
  2. Unpack the (huge) archive
  3. Create both Debug and Release build types for CEF (./build.sh [Debug|Release])
  4. Build servo
  5. Run a CEF-based executable with the embedding crate preloaded:
    • Linux: LD_LIBRARY_PATH=/path/to/cef-bin-unpack-dir/out/$build_type LD_PRELOAD=/path/to/servo/build/libembedding-*.so [CEF EXE]
  6. Enjoy CEF-powered crashes

Notes:

  • Running with the Debug build in GDB is EXTREMELY slow on startup. Only use this if you are actively debugging an unimplemented CEF interaction.
  • The contents of interfaces/, with the exception of interfaces/mod.rs is autogenerated. To regenerate:
    • Check out the servo branch of the following repository: https://github.com/pcwalton/chromium-embedded-framework
    • Change to the tools directory and run ./translator.sh
    • Run the following command to copy in the Rust header files, replacing ${SERVO_SRC} with the path to your Servo checkout: $ cp ../libcef_dll/rust/*.rs ${SERVO_SRC}/ports/cef/interfaces/