fix android for rust update

This commit is contained in:
aydin.kim 2014-04-08 15:06:11 +09:00 committed by Lars Bergstrom
parent ccb522a465
commit aa636218e1
10 changed files with 37 additions and 33 deletions

View file

@ -30,7 +30,7 @@ B := $(CFG_BUILD_DIR)
MKFILE_DEPS := config.stamp $(call rwildcard,$(S)mk/,*) MKFILE_DEPS := config.stamp $(call rwildcard,$(S)mk/,*)
CFG_GCCISH_CFLAGS += -DRUST_DEBUG CFG_GCCISH_CFLAGS += -DRUST_DEBUG
CFG_RUSTC_FLAGS = -D unused-imports CFG_RUSTC_FLAGS += -D unused-imports
ifdef CFG_DISABLE_OPTIMIZE ifdef CFG_DISABLE_OPTIMIZE
$(info cfg: disabling rustc optimization (CFG_DISABLE_OPTIMIZE)) $(info cfg: disabling rustc optimization (CFG_DISABLE_OPTIMIZE))

View file

@ -76,7 +76,7 @@ impl FontHandleMethods for FontHandle {
buf: ~[u8], buf: ~[u8],
style: &SpecifiedFontStyle) style: &SpecifiedFontStyle)
-> Result<FontHandle, ()> { -> Result<FontHandle, ()> {
let ft_ctx: FT_Library = fctx.ctx.borrow().ctx; let ft_ctx: FT_Library = fctx.ctx.ctx;
if ft_ctx.is_null() { return Err(()); } if ft_ctx.is_null() { return Err(()); }
let face_result = create_face_from_buffer(ft_ctx, buf.as_ptr(), buf.len(), style.pt_size); let face_result = create_face_from_buffer(ft_ctx, buf.as_ptr(), buf.len(), style.pt_size);
@ -279,7 +279,7 @@ impl<'a> FontHandle {
pub fn new_from_file(fctx: &FontContextHandle, file: &str, pub fn new_from_file(fctx: &FontContextHandle, file: &str,
style: &SpecifiedFontStyle) -> Result<FontHandle, ()> { style: &SpecifiedFontStyle) -> Result<FontHandle, ()> {
unsafe { unsafe {
let ft_ctx: FT_Library = fctx.ctx.borrow().ctx; let ft_ctx: FT_Library = fctx.ctx.ctx;
if ft_ctx.is_null() { return Err(()); } if ft_ctx.is_null() { return Err(()); }
let mut face: FT_Face = ptr::null(); let mut face: FT_Face = ptr::null();
@ -306,7 +306,7 @@ impl<'a> FontHandle {
pub fn new_from_file_unstyled(fctx: &FontContextHandle, file: ~str) pub fn new_from_file_unstyled(fctx: &FontContextHandle, file: ~str)
-> Result<FontHandle, ()> { -> Result<FontHandle, ()> {
unsafe { unsafe {
let ft_ctx: FT_Library = fctx.ctx.borrow().ctx; let ft_ctx: FT_Library = fctx.ctx.ctx;
if ft_ctx.is_null() { return Err(()); } if ft_ctx.is_null() { return Err(()); }
let mut face: FT_Face = ptr::null(); let mut face: FT_Face = ptr::null();

View file

@ -25,7 +25,7 @@ use font_list::{FontEntry, FontFamily, FontFamilyMap};
use platform::font::FontHandle; use platform::font::FontHandle;
use platform::font_context::FontContextHandle; use platform::font_context::FontContextHandle;
use collections::hashmap::HashMap; use collections::HashMap;
use std::libc; use std::libc;
use std::libc::{c_int, c_char}; use std::libc::{c_int, c_char};
use std::ptr; use std::ptr;

View file

@ -9,6 +9,7 @@ use css::matching::{ApplicableDeclarationsCache, StyleSharingCandidateCache};
use geom::size::Size2D; use geom::size::Size2D;
use gfx::display_list::OpaqueNode; use gfx::display_list::OpaqueNode;
use gfx::font_context::{FontContext, FontContextInfo}; use gfx::font_context::{FontContext, FontContextInfo};
#[cfg(not(target_os="android"))]
use green::task::GreenTask; use green::task::GreenTask;
use script::layout_interface::LayoutChan; use script::layout_interface::LayoutChan;
use servo_msg::constellation_msg::ConstellationChan; use servo_msg::constellation_msg::ConstellationChan;
@ -16,9 +17,13 @@ use servo_net::local_image_cache::LocalImageCache;
use servo_util::geometry::Au; use servo_util::geometry::Au;
use servo_util::opts::Opts; use servo_util::opts::Opts;
use std::cast; use std::cast;
#[cfg(not(target_os="android"))]
use std::ptr; use std::ptr;
#[cfg(not(target_os="android"))]
use std::rt::Runtime; use std::rt::Runtime;
#[cfg(not(target_os="android"))]
use std::rt::local::Local; use std::rt::local::Local;
#[cfg(not(target_os="android"))]
use std::rt::task::Task; use std::rt::task::Task;
use style::{ComputedValues, Stylist}; use style::{ComputedValues, Stylist};
use sync::{Arc, MutexArc}; use sync::{Arc, MutexArc};

View file

@ -97,7 +97,7 @@ impl WindowMethods<Application> for Window {
impl glut::ReshapeCallback for ReshapeCallbackState { impl glut::ReshapeCallback for ReshapeCallbackState {
fn call(&self, width: c_int, height: c_int) { fn call(&self, width: c_int, height: c_int) {
let tmp = local_window(); let tmp = local_window();
tmp.borrow().event_queue.with_mut(|queue| queue.push(ResizeWindowEvent(width as uint, height as uint))) tmp.event_queue.borrow_mut().push(ResizeWindowEvent(width as uint, height as uint))
} }
} }
glut::reshape_func(glut_window, ~ReshapeCallbackState); glut::reshape_func(glut_window, ~ReshapeCallbackState);
@ -105,7 +105,7 @@ impl WindowMethods<Application> for Window {
impl glut::KeyboardCallback for KeyboardCallbackState { impl glut::KeyboardCallback for KeyboardCallbackState {
fn call(&self, key: c_uchar, _x: c_int, _y: c_int) { fn call(&self, key: c_uchar, _x: c_int, _y: c_int) {
let tmp = local_window(); let tmp = local_window();
tmp.borrow().handle_key(key) tmp.handle_key(key)
} }
} }
glut::keyboard_func(~KeyboardCallbackState); glut::keyboard_func(~KeyboardCallbackState);
@ -114,16 +114,16 @@ impl WindowMethods<Application> for Window {
fn call(&self, button: c_int, state: c_int, x: c_int, y: c_int) { fn call(&self, button: c_int, state: c_int, x: c_int, y: c_int) {
if button < 3 { if button < 3 {
let tmp = local_window(); let tmp = local_window();
tmp.borrow().handle_mouse(button, state, x, y); tmp.handle_mouse(button, state, x, y);
} else { } else {
match button { match button {
3 => { 3 => {
let tmp = local_window(); let tmp = local_window();
tmp.borrow().event_queue.with_mut(|queue| queue.push(ScrollWindowEvent(Point2D(0.0, 5.0 as f32), Point2D(0.0 as i32, 5.0 as i32)))); tmp.event_queue.borrow_mut().push(ScrollWindowEvent(Point2D(0.0, 5.0 as f32), Point2D(0.0 as i32, 5.0 as i32)));
}, },
4 => { 4 => {
let tmp = local_window(); let tmp = local_window();
tmp.borrow().event_queue.with_mut(|queue| queue.push(ScrollWindowEvent(Point2D(0.0, -5.0 as f32), Point2D(0.0 as i32, -5.0 as i32)))); tmp.event_queue.borrow_mut().push(ScrollWindowEvent(Point2D(0.0, -5.0 as f32), Point2D(0.0 as i32, -5.0 as i32)));
}, },
_ => {} _ => {}
} }
@ -150,15 +150,13 @@ impl WindowMethods<Application> for Window {
} }
fn recv(&self) -> WindowEvent { fn recv(&self) -> WindowEvent {
if !self.event_queue.with_mut(|queue| queue.is_empty()) { if !self.event_queue.borrow_mut().is_empty() {
return self.event_queue.with_mut(|queue| queue.shift().unwrap()) return self.event_queue.borrow_mut().shift().unwrap();
} }
glut::check_loop(); glut::check_loop();
if !self.event_queue.with_mut(|queue| queue.is_empty()) {
self.event_queue.with_mut(|queue| queue.shift().unwrap()) self.event_queue.borrow_mut().shift().unwrap_or(IdleWindowEvent)
} else {
IdleWindowEvent
}
} }
/// Sets the ready state. /// Sets the ready state.
@ -174,7 +172,7 @@ impl WindowMethods<Application> for Window {
self.render_state.get() == RenderingRenderState && self.render_state.get() == RenderingRenderState &&
render_state == IdleRenderState { render_state == IdleRenderState {
// page loaded // page loaded
self.event_queue.with_mut(|queue| queue.push(FinishedWindowEvent)); self.event_queue.borrow_mut().push(FinishedWindowEvent);
} }
self.render_state.set(render_state); self.render_state.set(render_state);
@ -219,16 +217,16 @@ impl Window {
let modifiers = glut::get_modifiers(); let modifiers = glut::get_modifiers();
match key { match key {
42 => self.load_url(), 42 => self.load_url(),
43 => self.event_queue.with_mut(|queue| queue.push(ZoomWindowEvent(1.1))), 43 => self.event_queue.borrow_mut().push(ZoomWindowEvent(1.1)),
45 => self.event_queue.with_mut(|queue| queue.push(ZoomWindowEvent(0.909090909))), 45 => self.event_queue.borrow_mut().push(ZoomWindowEvent(0.909090909)),
56 => self.event_queue.with_mut(|queue| queue.push(ScrollWindowEvent(Point2D(0.0, 5.0 as f32), Point2D(0.0 as i32, 5.0 as i32)))), 56 => self.event_queue.borrow_mut().push(ScrollWindowEvent(Point2D(0.0, 5.0 as f32), Point2D(0.0 as i32, 5.0 as i32))),
50 => self.event_queue.with_mut(|queue| queue.push(ScrollWindowEvent(Point2D(0.0, -5.0 as f32), Point2D(0.0 as i32, -5.0 as i32)))), 50 => self.event_queue.borrow_mut().push(ScrollWindowEvent(Point2D(0.0, -5.0 as f32), Point2D(0.0 as i32, -5.0 as i32))),
127 => { 127 => {
if (modifiers & ACTIVE_SHIFT) != 0 { if (modifiers & ACTIVE_SHIFT) != 0 {
self.event_queue.with_mut(|queue| queue.push(NavigationWindowEvent(Forward))); self.event_queue.borrow_mut().push(NavigationWindowEvent(Forward));
} }
else { else {
self.event_queue.with_mut(|queue| queue.push(NavigationWindowEvent(Back))); self.event_queue.borrow_mut().push(NavigationWindowEvent(Back));
} }
} }
_ => {} _ => {}
@ -253,14 +251,14 @@ impl Window {
if pixel_dist < max_pixel_dist { if pixel_dist < max_pixel_dist {
let click_event = MouseWindowClickEvent(button as uint, let click_event = MouseWindowClickEvent(button as uint,
Point2D(x as f32, y as f32)); Point2D(x as f32, y as f32));
self.event_queue.with_mut(|queue| queue.push(MouseWindowEventClass(click_event))); self.event_queue.borrow_mut().push(MouseWindowEventClass(click_event));
} }
} }
MouseWindowMouseUpEvent(button as uint, Point2D(x as f32, y as f32)) MouseWindowMouseUpEvent(button as uint, Point2D(x as f32, y as f32))
} }
_ => fail!("I cannot recognize the type of mouse action that occured. :-(") _ => fail!("I cannot recognize the type of mouse action that occured. :-(")
}; };
self.event_queue.with_mut(|queue| queue.push(MouseWindowEventClass(event))); self.event_queue.borrow_mut().push(MouseWindowEventClass(event));
} }
/// Helper function to pop up an alert box prompting the user to load a URL. /// Helper function to pop up an alert box prompting the user to load a URL.
@ -270,9 +268,9 @@ impl Window {
alert.run(); alert.run();
let value = alert.prompt_value(); let value = alert.prompt_value();
if "" == value { // To avoid crashing on Linux. if "" == value { // To avoid crashing on Linux.
self.event_queue.with_mut(|queue| queue.push(LoadUrlWindowEvent(~"http://purple.com/"))) self.event_queue.borrow_mut().push(LoadUrlWindowEvent(~"http://purple.com/"))
} else { } else {
self.event_queue.with_mut(|queue| queue.push(LoadUrlWindowEvent(value.clone()))) self.event_queue.borrow_mut().push(LoadUrlWindowEvent(value.clone()))
} }
} }
} }

View file

@ -67,7 +67,8 @@ use servo_util::opts;
#[cfg(not(test))] #[cfg(not(test))]
use servo_util::url::parse_url; use servo_util::url::parse_url;
#[cfg(not(test))] #[cfg(not(test), target_os="linux")]
#[cfg(not(test), target_os="macos")]
use std::os; use std::os;
#[cfg(not(test), target_os="android")] #[cfg(not(test), target_os="android")]
use std::str; use std::str;

@ -1 +1 @@
Subproject commit 5196a2a58249ac5cfb0a24418dc628551883c807 Subproject commit 89757a91ba1b012cb003ceb60a121226f5646c02

@ -1 +1 @@
Subproject commit 700b07bd663c6559326ef7126886e200aa3b0ab1 Subproject commit c2b23d8aa8dc857536b1b68cf6646a1e11517161

@ -1 +1 @@
Subproject commit 493a4311f1202907208aecdaf3fc4a4c192608eb Subproject commit 42f6584fff271939f9eb7af031710ff4b65df464

@ -1 +1 @@
Subproject commit b00422e963694f7e46fe551a089b198badea5e1f Subproject commit a2671a7aec350a85f5de5b4838cbc500ecb03720