Commit graph

23 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
Ms2ger
f8ae884ab5 Stop using deprecated boxed::into_raw in cef. 2015-06-26 23:00:07 +02:00
Ms2ger
da53a9c301 Return the result of cef_string_utf16_set in string_map. 2015-06-20 19:13:42 +02:00
Ms2ger
26964ff087 Use nth rather than enumerating in cef_string_map_{key,value}. 2015-06-20 14:04:29 +02:00
Ms2ger
01df802fb2 Remove the no-op string_map_to_treemap function. 2015-06-20 14:04:27 +02:00
Ms2ger
0f65c04fe9 Use Box and boxed functions to manage cef_string_map_t memory. 2015-06-20 14:04:25 +02:00
Simon Sapin
5428226e04 Remove usage of String::from_str, deprecated in #6377 2015-06-15 15:37:14 +02:00
Ms2ger
de94e39ff7 Stop using int/uint in CEF. 2015-04-13 14:11:17 +02:00
Josh Matthews
95fc29fa0d Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev. 2015-01-28 10:16:49 +10: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
8a4d2949e8 embedding: replace usage of deprecated find*() with get*() 2014-11-17 14:41:23 -05: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
19c80b1741 embedding: replace all occurrences of slicing to &str with slice_to_str() 2014-11-13 14:41:13 -05:00
Mike Blumenkrantz
c813df777e embedding: address various review nitpicks for string_map 2014-11-13 14:37:56 -05:00
Mike Blumenkrantz
0a82eebaa2 embedding: cef_string_map_free() 2014-11-09 21:21:30 -05:00
Mike Blumenkrantz
37edcdcdde embedding: cef_string_map_clear() 2014-11-09 21:21:29 -05:00
Mike Blumenkrantz
903c6f40f6 embedding: cef_string_map_value() 2014-11-09 21:21:29 -05:00
Mike Blumenkrantz
8fdb2286ae embedding: cef_string_map_key() 2014-11-09 21:21:29 -05:00
Mike Blumenkrantz
1a007e19e7 embedding: cef_string_map_find() 2014-11-09 21:21:29 -05:00
Mike Blumenkrantz
7199c6ea58 embedding: cef_string_map_append() 2014-11-09 21:21:29 -05:00
Mike Blumenkrantz
e486fa52d5 embedding: cef_string_map_size() 2014-11-09 21:21:29 -05:00
Mike Blumenkrantz
6dd1eca677 embedding: begin cef string_map api
cef_string_map_alloc()
2014-11-09 21:21:29 -05:00