Commit graph

22 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
2c032edc16 Remove unnecessary transmute in cef_string_list_value. 2015-06-20 14:04:20 +02:00
Ms2ger
4a7c5c8042 Remove no-op string_list_to_vec function. 2015-06-20 14:04:18 +02:00
Ms2ger
2248e1710a Use Box and boxed functions to manage cef_string_list_t memory. 2015-06-20 14:04:16 +02:00
Mike Blumenkrantz
e8e300a6fd move cef string_list type to actually be Vec<String>
previously this was a complicated rust wrapper because I didn't understand rust.
now I understand rust, so I'll make it a different kind of complicated wrapper
2015-06-02 22:16:26 -04:00
Ms2ger
de94e39ff7 Stop using int/uint in CEF. 2015-04-13 14:11:17 +02: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
caea3a87b3 embedding: rename string_list internal function to string_list instead of string_map 2014-11-09 21:21:41 -05:00
Ms2ger
95befc2ab2 Fix build warnings in the cef port. 2014-10-24 00:37:44 +02:00
Mike Blumenkrantz
69e8de33e8 embedding: add string_map_to_vec() to reduce transmute calls 2014-10-23 14:07:24 -04:00
Mike Blumenkrantz
43cc865629 embedding: fix string_list compile errors? 2014-10-23 14:07:20 -04:00
Mike Blumenkrantz
021937bca0 embedding: fix string_list deallocation where I accidentally the whole string_list 2014-10-23 12:25:53 -04:00
Mike Blumenkrantz
d7cb8f8307 embedding: set string_list api functions to pub
fixes #3687
2014-10-22 11:56:00 -04:00
Mike Blumenkrantz
31db638961 embedding: cef_string_list_copy() 2014-10-15 11:08:20 -04:00
Mike Blumenkrantz
04020d2a19 embedding: cef_string_list_free() 2014-10-15 11:08:20 -04:00
Mike Blumenkrantz
866483f05e embedding: cef_string_list_clear() 2014-10-15 11:08:17 -04:00
Mike Blumenkrantz
9e5b240899 embedding: cef_string_list_value() 2014-10-15 11:08:17 -04:00
Mike Blumenkrantz
f957f989cf embedding: cef_string_list_append() 2014-10-15 11:08:14 -04:00
Mike Blumenkrantz
ee8ef615a6 embedding: cef_string_list_size() 2014-10-15 11:04:36 -04:00
Mike Blumenkrantz
4d8ed45e7b embedding: begin cef string_list api
cef_string_list_alloc()
2014-10-15 11:04:36 -04:00