aboutsummaryrefslogtreecommitdiffstats
path: root/components
diff options
context:
space:
mode:
Diffstat (limited to 'components')
-rw-r--r--components/compositing/compositor.rs20
-rw-r--r--components/layout/webrender_helpers.rs2
-rw-r--r--components/servo/Cargo.lock4
3 files changed, 20 insertions, 6 deletions
diff --git a/components/compositing/compositor.rs b/components/compositing/compositor.rs
index dca6d253e56..70292acee1b 100644
--- a/components/compositing/compositor.rs
+++ b/components/compositing/compositor.rs
@@ -18,7 +18,7 @@ use gleam::gl::types::{GLint, GLsizei};
use image::{DynamicImage, ImageFormat, RgbImage};
use ipc_channel::ipc::{self, IpcSender, IpcSharedMemory};
use ipc_channel::router::ROUTER;
-use msg::constellation_msg::{Key, KeyModifiers, KeyState};
+use msg::constellation_msg::{Key, KeyModifiers, KeyState, CONTROL};
use msg::constellation_msg::{PipelineId, PipelineIndex, PipelineNamespaceId, TraversalDirection};
use net_traits::image::base::{Image, PixelFormat};
use profile_traits::mem::{self, Reporter, ReporterRequest};
@@ -1302,7 +1302,23 @@ impl<Window: WindowMethods> IOCompositor<Window> {
}
}
- fn on_key_event(&self, ch: Option<char>, key: Key, state: KeyState, modifiers: KeyModifiers) {
+ fn on_key_event(&mut self,
+ ch: Option<char>,
+ key: Key,
+ state: KeyState,
+ modifiers: KeyModifiers) {
+ // Steal a few key events for webrender debug options.
+ if modifiers.contains(CONTROL) && state == KeyState::Pressed {
+ match key {
+ Key::F12 => {
+ let profiler_enabled = self.webrender.get_profiler_enabled();
+ self.webrender.set_profiler_enabled(!profiler_enabled);
+ return;
+ }
+ _ => {}
+ }
+ }
+
let msg = ConstellationMsg::KeyEvent(ch, key, state, modifiers);
if let Err(e) = self.constellation_chan.send(msg) {
warn!("Sending key event to constellation failed ({}).", e);
diff --git a/components/layout/webrender_helpers.rs b/components/layout/webrender_helpers.rs
index d58a346867c..8d32029daa8 100644
--- a/components/layout/webrender_helpers.rs
+++ b/components/layout/webrender_helpers.rs
@@ -523,8 +523,6 @@ impl WebRenderFrameBuilder {
stacking_context: &mut webrender_traits::StackingContext)
-> DisplayListId {
let id = api.next_display_list_id();
- stacking_context.has_stacking_contexts = stacking_context.has_stacking_contexts ||
- display_list.descriptor().has_stacking_contexts;
stacking_context.display_lists.push(id);
self.display_lists.push((id, display_list));
id
diff --git a/components/servo/Cargo.lock b/components/servo/Cargo.lock
index 291bae77ee7..b39ab6cb89e 100644
--- a/components/servo/Cargo.lock
+++ b/components/servo/Cargo.lock
@@ -2762,7 +2762,7 @@ dependencies = [
[[package]]
name = "webrender"
version = "0.8.0"
-source = "git+https://github.com/servo/webrender#2be67987a0ff7bdd4820b65283e6fc1604cc301c"
+source = "git+https://github.com/servo/webrender#8b53081a3de714f8c1296e20658fabe4e75a6244"
dependencies = [
"app_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"bincode 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2787,7 +2787,7 @@ dependencies = [
[[package]]
name = "webrender_traits"
version = "0.8.0"
-source = "git+https://github.com/servo/webrender#2be67987a0ff7bdd4820b65283e6fc1604cc301c"
+source = "git+https://github.com/servo/webrender#8b53081a3de714f8c1296e20658fabe4e75a6244"
dependencies = [
"app_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",