Mike Blumenkrantz
90169e8f3b
force resize after sending cef_browser::on_after_created() callback
...
this fixes rendering of the first frame to be at the size of the browser
instead of the size of the initial window_info
2015-05-27 14:45:53 -04:00
Mike Blumenkrantz
14a6390f03
add embedding method for load_handler::on_load_error
...
still needs error text messages I guess
2015-05-27 14:45:52 -04:00
Mike Blumenkrantz
8e78febaac
make cef_errorcode_t a typedef for net::NetError
2015-05-27 14:45:51 -04:00
Mike Blumenkrantz
68fc51205f
add error enum for chromium net errors, create window method for error propagation
2015-05-27 14:45:50 -04:00
Mike Blumenkrantz
3f8d8a3cc9
add back/forward/loading members to ServoCefBrowser with related browser methods
2015-05-27 14:45:49 -04:00
Mike Blumenkrantz
0d46a3b89a
add navigation state data to LoadComplete messages, finish cef load state cbs
2015-05-27 14:45:48 -04:00
Mike Blumenkrantz
3481c752cd
add CompositorMsg::LoadStart, implement cef_load_handler::on_loading_state_change()
...
only adds the loading:true callback this time...
2015-05-27 14:45:47 -04:00
Mike Blumenkrantz
cd9dab7b5b
implement cef_load_handler::on_load_start()
2015-05-27 14:45:46 -04:00
Mike Blumenkrantz
1e4ceb0a1f
more accurately handle key modifiers in cef
2015-05-27 14:45:46 -04:00
Mike Blumenkrantz
28aed52a4b
improve cef keyboard handling
...
this is a rough approximation of the handling of various keycodes/syms
within chromium. it needs work, but for my system it works okay
2015-05-27 14:45:45 -04:00
Mike Blumenkrantz
efc75ef40e
ignore KEYEVENT_RAWKEYDOWN in cef browser events
...
I'm not sure exactly what this is supposed to do and there are no docs.
from what I've observed, nothing happens on this event
2015-05-27 14:45:44 -04:00
Mike Blumenkrantz
a809d6b911
remove unused cef imports
2015-05-27 14:45:43 -04:00
Mike Blumenkrantz
02606fada4
implement on_address_change handler for cef port
2015-05-27 14:45:42 -04:00
Mike Blumenkrantz
caa8172560
implement cef browser title setting callback
2015-05-27 14:45:40 -04:00
Mike Blumenkrantz
af1dce5a2e
add new browser process interface method for main loop integration
...
regular CEF requires the user to either run the cef main loop or
poll on a function to drain events. now the engine will trigger a callback
in some application thread which will notify it that there is work
to be done by the browser
2015-05-27 14:45:39 -04:00
Mike Blumenkrantz
83e605d2fb
add no_mangle to servo_test() embedding function
2015-05-27 14:45:38 -04:00
Mike Blumenkrantz
d7ad5d6ea2
add cef method for notifying the main loop of work available
2015-05-27 14:45:37 -04:00
Matt Brubeck
0fd9953802
Update azure and its dependencies
...
Part of #6088
2015-05-27 11:22:45 -07:00
Simon Sapin
56af011355
Use harfbuzz bindings from crates.io
...
https://github.com/servo/rust-harfbuzz/issues/39
https://www.mail-archive.com/dev-servo@lists.mozilla.org/msg01289.html
2015-05-26 14:47:34 +02:00
bors-servo
4a95bce9f2
Auto merge of #6125 - zmike:renderrenderrenderrender, r=larsbergstrom
...
A collection of commits which improves embedding integration and rendering.
@larsbergstrom
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png " height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6125 )
<!-- Reviewable:end -->
2015-05-24 19:26:00 -05:00
Mike Blumenkrantz
c884b43b71
another glutin update
2015-05-24 19:53:44 -04:00
Corey Farwell
8e3f4bba85
Reduce max line length from 150 to 120 characters
...
Part of https://github.com/servo/servo/issues/6041
2015-05-24 00:01:49 -04:00
Mike Blumenkrantz
8799213d4a
fix build
2015-05-23 09:03:42 -04:00
Mike Blumenkrantz
fcb5cf9c6d
update offscreen_gl_context
2015-05-23 08:39:37 -04:00
Mike Blumenkrantz
c6a4bdb787
x11 version bump
2015-05-22 21:11:08 -04:00
Lars Bergstrom
442bfb716b
Update various Cargo patches and deal with the fallout
2015-05-22 16:16:50 -05:00
Simon Sapin
53c32cdc78
Remove usage of the mod_path compiler plugin.
...
https://github.com/rust-lang/rust/pull/20179 makes its use case much weaker.
2015-05-22 10:08:38 +02:00
Mike Blumenkrantz
25f87aa8ab
fix compile after pcwalton's multi-event handling PR
2015-05-21 21:16:24 -04:00
Mike Blumenkrantz
f53fc1900d
update pkg-config for cargo
2015-05-21 21:16:23 -04:00
Mike Blumenkrantz
9b8585f20d
update cargo layers rust thing checkout
2015-05-21 21:15:23 -04:00
Mike Blumenkrantz
82cf1d53e3
bump rust-layers version
2015-05-21 21:15:22 -04:00
Mike Blumenkrantz
5697d9ff2c
add back browser_host::composite() method for embedding
...
this changes the way that applications will use servo. whereas previously
it was only necessary to call initialize() -> makecurrent, it's now necessary
to explicitly call the composite() method in order to trigger the gl rendering.
any other composite attempts (by servo) will trigger the on_paint() method,
informing the app that a frame is ready. it's then up to the app to schedule
the composite() such that the frame is rendered in a timely manner
2015-05-21 21:15:21 -04:00
Mike Blumenkrantz
12d792f427
only create our own Display* in embedding when using OSR
2015-05-21 21:15:20 -04:00
Mike Blumenkrantz
789a4973f7
check method existence for hidpi_factor(), handle platforms other than macos
2015-05-21 21:15:19 -04:00
Mike Blumenkrantz
1aed319684
add pointer checks for cef method calls to avoid crashing on nonexistent methods
2015-05-21 21:15:18 -04:00
Mike Blumenkrantz
ca7fc036fe
ensure window protocol handling occurs during cef browser loop updating
...
fixes window events when using cef windowed rendering
2015-05-21 21:15:18 -04:00
Mike Blumenkrantz
1cd850b121
add window member to servo cef browser object to fix framebuffer size method
...
platforms other than macos will not need/use a get_backing_rect() method since
there is no virtual pixel scaling, and this method will need to be usable
even before browsers are finished setting up, so ensure we can at least pass
initial window size back
also check method pointer availability before calling into a null function
2015-05-21 21:15:17 -04:00
Mike Blumenkrantz
e5a274b467
call XInitThreads() before creating our cef Display* object
2015-05-21 21:15:16 -04:00
Mike Blumenkrantz
09aba1f9de
remove misleading FIXME(pcwalton) regarding gtk event loops in cef window
2015-05-21 21:15:15 -04:00
Mike Blumenkrantz
fb72a64833
pass width and height information through to cef paint callback
2015-05-21 21:15:15 -04:00
Mike Blumenkrantz
8330eabac1
temp re-set default url for cef while I figure out wtf is going on
2015-05-21 21:15:13 -04:00
Mike Blumenkrantz
42179cf6e7
create x11 Display connection on cef_initialize() as expected
...
this is how cef does it, we must obey our chromium overlords
2015-05-21 21:15:12 -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
52fb8562d6
add embedding macro for checking pointer existence
...
needed for determining whether an interface or callback has been provided
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
Manish Goregaokar
4bc9445b9e
Upgrade rust to 716f920b7e234b450f272346fea961832505c06e (Tue May 19 05:39:29 2015 +0000)
2015-05-20 15:39:02 -07:00
bors-servo
ad53e95080
Auto merge of #6083 - ecoal95:layerize-canvas, r=pcwalton
...
I've done a bit of job to get this done. Right now readback is still used, but we have a `LayerId` -> `CanvasRenderer` map on the paint task, that we can use to get rid of that.
I'd want review, to see if this is a good approach (I know it's not the initial `CanvasId` -> renderer approach, but it's pretty similar, since a canvas involves a `PaintLayer`).
I had to do a bit of refactoring to avoid cyclic dependencies between canvas and gfx. I'd want you to review them too.
It's mergeable and doesn't break any tests :P
Some of my main concerns:
* Does the canvas render really need to be behind an `Arc<Mutex<T>>`?
* I can't clone a `NativeSurface` right now (that's why the `SendNativeSurface()` msg is unimplemented in the WebGL task). It should be easy to add that to rust-layers, supposing the caller is responsible to mark it as non-leaking, any reason to not do it?
cc @jdm @pcwalton
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png " height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6083 )
<!-- Reviewable:end -->
2015-05-20 15:42:06 -05:00
Patrick Walton
0098d9e9e8
compositing: Support multiple events per frame.
...
Improves scrolling performance on Mac.
2015-05-20 10:53:48 -07:00
ecoal95
3350522306
Layerize canvas
...
Note that this keeps using readback right now, `NativeSurface` painting
will be implemented soon.
Also see https://github.com/servo/servo/issues/6142
2015-05-20 19:10:50 +02:00
bors-servo
d68730a0fc
Auto merge of #6074 - pgonda:lint-fix-struct-enum-variants, r=Manishearth
...
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png " height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6074 )
<!-- Reviewable:end -->
2015-05-20 10:29:48 -05:00