Commit graph

13 commits

Author SHA1 Message Date
Manish Goregaokar
dc0e467945 Upgrade to rustc 1.6.0-nightly (d5fde83ae 2015-11-12)
… and libc 0.2 and many other dependencies
2015-11-27 00:15:29 -05:00
Mike Blumenkrantz
83e605d2fb add no_mangle to servo_test() embedding function 2015-05-27 14:45:38 -04:00
Mike Blumenkrantz
7e7ee225c7 add embedding function for checking whether the loaded cef lib is servo 2015-05-07 16:58:08 -04:00
Ms2ger
de94e39ff7 Stop using int/uint in CEF. 2015-04-13 14:11:17 +02:00
Ms2ger
7f47b8b8e2 Fix warnings in cef. 2015-02-13 14:57:52 +01:00
Ms2ger
2026cbada2 Fix various build warnings. 2015-01-28 20:42:39 +01:00
Josh Matthews
95fc29fa0d Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev. 2015-01-28 10:16:49 +10:00
Patrick Walton
c52f550367 Update to get the reference counting correct 2014-11-27 10:31:32 -06:00
Patrick Walton
3bf779cd21 ports/cef: Use the CEF translator tool to generate the full set of CEF
bindings.

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.
2014-11-27 10:31:32 -06:00
Mike Blumenkrantz
d33f74f499 embedding: remove eutil::fptr_is_null, fix #3967, add Option<> to fptrs 2014-11-14 14:30:59 -05:00
Mike Blumenkrantz
2d4c6a1d1c embedding: address most recent critic review 2014-11-13 15:07:41 -05:00
Mike Blumenkrantz
7ba1150943 embedding: add eutil::slice_to_str() convenience function
converts a *u8+length to &str and returns c_int
2014-11-13 14:38:54 -05:00
Jack Moffitt
c6ab60dbfc Cargoify servo 2014-09-08 20:21:42 -06:00
Renamed from src/components/embedding/eutil.rs (Browse further)