Commit graph

19 commits

Author SHA1 Message Date
Anthony Ramine
c66380d83c Update Rust to 1.13.0-nightly (198713106 2016-08-26) 2016-08-28 13:45:03 +02:00
rohan.prinja
1f02c4ebbb task -> thread 2016-01-10 17:58:13 +09:00
zmike
80b027ef9f add missing cef types from last sync 2015-09-14 16:01:16 -04:00
zmike
5f9aac6c1a update cef interfaces from upstream 2015-09-14 14:02:35 -04:00
Johann Tuffe
ec07178b6f sort all uses 2015-08-20 20:47:12 +08:00
Mike Blumenkrantz
612cefa02d update all cef interfaces to use borrows for string_list params
it was somewhat impossible to make this work with allocated string_lists
due to constant leakage from box allocations going out of scope, so this should
simplify it ane be more manageable in the future
2015-06-02 22:16:27 -04:00
Mike Blumenkrantz
d7ad5d6ea2 add cef method for notifying the main loop of work available 2015-05-27 14:45:37 -04:00
Mike Blumenkrantz
bf1d12e5e9 add note that cef_render_handler_t::get_backing_rect() is only for os 2015-05-21 21:15:11 -04:00
Mike Blumenkrantz
a296b2d073 add back cef_browser_host::composite() method 2015-05-21 21:15:10 -04:00
Mike Blumenkrantz
6011d39ca1 one more embedding interfaces update because they removed cef_url & time_t 2015-05-06 12:49:32 -04:00
Mike Blumenkrantz
745e3bd49f update embedding interfaces again to use filling_drop feature
...and remove trailing whitespaces
2015-05-06 12:33:15 -04:00
Mike Blumenkrantz
efb2b37185 update embedding interfaces/mod.rs to add MPL 2015-05-06 12:33:14 -04:00
Mike Blumenkrantz
4679fc77b0 update cef embedding interfaces to latest cef 2015-05-05 17:01:53 -04:00
Ms2ger
de94e39ff7 Stop using int/uint in CEF. 2015-04-13 14:11:17 +02:00
Joseph Crail
c254d195ad Fix spelling mistakes in comments. 2014-12-11 23:56:29 -05:00
Patrick Walton
c52f550367 Update to get the reference counting correct 2014-11-27 10:31:32 -06:00
Patrick Walton
1ac5bfe830 Add mostly-correct (albeit leaky) string marshaling 2014-11-27 10:31:32 -06:00
Patrick Walton
14ef53cf57 Add back API hashes 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