зеркало из https://github.com/mozilla/gecko-dev.git
servo: Merge #3765 - util: Make some minor formatting cleanups to profiling and gfx (from pcwalton:profiler-cleanups); r=cgaebel
The only real user-visible change this effects is to trim URLs to 30 characters so they don't make huge lines on the terminal. r? @cgaebel Source-Repo: https://github.com/servo/servo Source-Revision: a6f0159cb85e3b84a826c41ae5ad1b6aea09d7cc
This commit is contained in:
Родитель
052d295752
Коммит
de5550d56e
|
@ -215,7 +215,8 @@ impl FontContext {
|
|||
/// reference if already used by this font context.
|
||||
pub fn get_render_font_from_template(&mut self,
|
||||
template: &Arc<FontTemplateData>,
|
||||
pt_size: Au) -> Rc<RefCell<ScaledFont>> {
|
||||
pt_size: Au)
|
||||
-> Rc<RefCell<ScaledFont>> {
|
||||
for cached_font in self.render_font_cache.iter() {
|
||||
if cached_font.pt_size == pt_size &&
|
||||
cached_font.identifier == template.identifier {
|
||||
|
|
|
@ -29,7 +29,7 @@ impl TimeProfilerChan {
|
|||
pub struct TimerMetadata {
|
||||
url: String,
|
||||
iframe: bool,
|
||||
first_reflow: bool,
|
||||
incremental: bool,
|
||||
}
|
||||
|
||||
pub trait Formatable {
|
||||
|
@ -42,9 +42,14 @@ impl Formatable for Option<TimerMetadata> {
|
|||
// TODO(cgaebel): Center-align in the format strings as soon as rustc supports it.
|
||||
&Some(ref meta) => {
|
||||
let url = meta.url.as_slice();
|
||||
let first_reflow = if meta.first_reflow { " yes" } else { " no " };
|
||||
let url = if url.len() > 30 {
|
||||
url.slice_to(30)
|
||||
} else {
|
||||
url
|
||||
};
|
||||
let incremental = if meta.incremental { " yes" } else { " no " };
|
||||
let iframe = if meta.iframe { " yes" } else { " no " };
|
||||
format!(" {:14} {:9} {:30}", first_reflow, iframe, url)
|
||||
format!(" {:14} {:9} {:30}", incremental, iframe, url)
|
||||
},
|
||||
&None =>
|
||||
format!(" {:14} {:9} {:30}", " N/A", " N/A", " N/A")
|
||||
|
@ -256,7 +261,7 @@ pub fn profile<T>(category: TimeProfilerCategory,
|
|||
TimerMetadata {
|
||||
url: url.serialize(),
|
||||
iframe: iframe,
|
||||
first_reflow: first_reflow,
|
||||
incremental: !first_reflow,
|
||||
});
|
||||
time_profiler_chan.send(TimeMsg((category, meta), ms));
|
||||
return val;
|
||||
|
|
|
@ -4,65 +4,28 @@
|
|||
|
||||
//! A windowing implementation using GLFW.
|
||||
|
||||
use compositing::windowing::{WindowEvent, WindowMethods};
|
||||
use compositing::windowing::{IdleWindowEvent, ResizeWindowEvent, LoadUrlWindowEvent, MouseWindowEventClass, MouseWindowMoveEventClass};
|
||||
use compositing::windowing::{ScrollWindowEvent, ZoomWindowEvent, PinchZoomWindowEvent, NavigationWindowEvent, FinishedWindowEvent};
|
||||
use compositing::windowing::{QuitWindowEvent, MouseWindowClickEvent, MouseWindowMouseDownEvent, MouseWindowMouseUpEvent};
|
||||
use compositing::windowing::RefreshWindowEvent;
|
||||
use compositing::windowing::{Forward, Back};
|
||||
|
||||
use alert::{Alert, AlertMethods};
|
||||
use libc::c_int;
|
||||
use time;
|
||||
use time::Timespec;
|
||||
use std::cell::{Cell, RefCell};
|
||||
use std::comm::Receiver;
|
||||
use std::rc::Rc;
|
||||
|
||||
use compositing::windowing::{WindowEvent, WindowMethods};
|
||||
use compositing::windowing::{IdleWindowEvent, ResizeWindowEvent, LoadUrlWindowEvent};
|
||||
use compositing::windowing::{MouseWindowEventClass, MouseWindowMoveEventClass, ScrollWindowEvent};
|
||||
use compositing::windowing::{ZoomWindowEvent, PinchZoomWindowEvent, NavigationWindowEvent};
|
||||
use compositing::windowing::{FinishedWindowEvent, QuitWindowEvent, MouseWindowClickEvent};
|
||||
use compositing::windowing::{MouseWindowMouseDownEvent, MouseWindowMouseUpEvent};
|
||||
use compositing::windowing::{RefreshWindowEvent, Forward, Back};
|
||||
use geom::point::{Point2D, TypedPoint2D};
|
||||
use geom::scale_factor::ScaleFactor;
|
||||
use geom::size::TypedSize2D;
|
||||
use glfw::{mod, Context};
|
||||
use layers::geometry::DevicePixel;
|
||||
use libc::c_int;
|
||||
use msg::compositor_msg::{IdleRenderState, RenderState, RenderingRenderState};
|
||||
use msg::compositor_msg::{FinishedLoading, Blank, Loading, PerformingLayout, ReadyState};
|
||||
use std::cell::{Cell, RefCell};
|
||||
use std::comm::Receiver;
|
||||
use std::rc::Rc;
|
||||
use time::{mod, Timespec};
|
||||
use util::geometry::ScreenPx;
|
||||
|
||||
use glfw;
|
||||
use glfw::Context;
|
||||
|
||||
/// A structure responsible for setting up and tearing down the entire windowing system.
|
||||
macro_rules! glfw_callback(
|
||||
(
|
||||
$callback:path ($($arg:ident: $arg_ty:ty),*) $block:expr
|
||||
) => ({
|
||||
struct GlfwCallback;
|
||||
impl $callback for GlfwCallback {
|
||||
fn call(&self $(, $arg: $arg_ty)*) {
|
||||
$block
|
||||
}
|
||||
}
|
||||
~GlfwCallback
|
||||
});
|
||||
|
||||
(
|
||||
[$($state:ident: $state_ty:ty),*],
|
||||
$callback:path ($($arg:ident: $arg_ty:ty),*) $block:expr
|
||||
) => ({
|
||||
struct GlfwCallback {
|
||||
$($state: $state_ty,)*
|
||||
}
|
||||
impl $callback for GlfwCallback {
|
||||
fn call(&self $(, $arg: $arg_ty)*) {
|
||||
$block
|
||||
}
|
||||
}
|
||||
~GlfwCallback {
|
||||
$($state: $state,)*
|
||||
}
|
||||
});
|
||||
)
|
||||
|
||||
|
||||
/// The type of a window.
|
||||
pub struct Window {
|
||||
glfw: glfw::Glfw,
|
||||
|
@ -337,7 +300,8 @@ impl Window {
|
|||
pixel_dist.y * pixel_dist.y) as f64).sqrt();
|
||||
if pixel_dist < max_pixel_dist {
|
||||
let click_event = MouseWindowClickEvent(button as uint,
|
||||
TypedPoint2D(x as f32, y as f32));
|
||||
TypedPoint2D(x as f32,
|
||||
y as f32));
|
||||
self.event_queue.borrow_mut().push(MouseWindowEventClass(click_event));
|
||||
}
|
||||
}
|
||||
|
@ -363,3 +327,4 @@ impl Window {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче