From e5e3748a463769ba7f404ffc760b8638a9ca418a Mon Sep 17 00:00:00 2001 From: Tremoneck Date: Mon, 10 Jul 2017 12:43:01 +0200 Subject: [PATCH] Move WR profiler keybindings to glutin window, where the other keybindings are located --- components/compositing/compositor.rs | 19 ++++++------------- components/compositing/windowing.rs | 3 +++ ports/glutin/window.rs | 3 +++ 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/components/compositing/compositor.rs b/components/compositing/compositor.rs index 94c806414db..32dea8e272e 100644 --- a/components/compositing/compositor.rs +++ b/components/compositing/compositor.rs @@ -11,7 +11,7 @@ use gfx_traits::Epoch; use gleam::gl; use image::{DynamicImage, ImageFormat, RgbImage}; use ipc_channel::ipc::{self, IpcSharedMemory}; -use msg::constellation_msg::{Key, KeyModifiers, KeyState, CONTROL}; +use msg::constellation_msg::{Key, KeyModifiers, KeyState}; use msg::constellation_msg::{PipelineId, PipelineIndex, PipelineNamespaceId, TraversalDirection}; use net_traits::image::base::{Image, PixelFormat}; use profile_traits::time::{self, ProfilerCategory, profile}; @@ -825,6 +825,11 @@ impl IOCompositor { warn!("Sending reload to constellation failed ({}).", e); } } + + WindowEvent::ToggleWebRenderProfiler => { + let profiler_enabled = self.webrender.get_profiler_enabled(); + self.set_webrender_profiler_enabled(!profiler_enabled); + } } } @@ -1313,18 +1318,6 @@ impl IOCompositor { 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/compositing/windowing.rs b/components/compositing/windowing.rs index ac8d6a8ea21..94dfca5268e 100644 --- a/components/compositing/windowing.rs +++ b/components/compositing/windowing.rs @@ -76,6 +76,8 @@ pub enum WindowEvent { KeyEvent(Option, Key, KeyState, KeyModifiers), /// Sent when Ctr+R/Apple+R is called to reload the current page. Reload, + /// Toggles the Web renderer profiler on and off + ToggleWebRenderProfiler, } impl Debug for WindowEvent { @@ -98,6 +100,7 @@ impl Debug for WindowEvent { WindowEvent::Navigation(..) => write!(f, "Navigation"), WindowEvent::Quit => write!(f, "Quit"), WindowEvent::Reload => write!(f, "Reload"), + WindowEvent::ToggleWebRenderProfiler => write!(f, "ToggleWebRenderProfiler"), } } } diff --git a/ports/glutin/window.rs b/ports/glutin/window.rs index c82327b2335..1893fb2d47a 100644 --- a/ports/glutin/window.rs +++ b/ports/glutin/window.rs @@ -1290,6 +1290,9 @@ impl WindowMethods for Window { self.event_queue.borrow_mut().push(WindowEvent::Quit); } } + (CONTROL, None, Key::F12) => { + self.event_queue.borrow_mut().push(WindowEvent::ToggleWebRenderProfiler); + } _ => { self.platform_handle_key(key, mods);