aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2015-07-24 04:10:50 -0600
committerbors-servo <metajack+bors@gmail.com>2015-07-24 04:10:50 -0600
commitcdcecaef04e8450b139d2e4b7d06c8fe7a035903 (patch)
tree0a6f062a5c660ddc646ba71cadb41f8b387aa2fe
parent3c88d3418c5384e0e75c91ca2b3d8960c78af45f (diff)
parent17e6b082654453aa5c0dbd3b6f7777d8ed8e7009 (diff)
downloadservo-cdcecaef04e8450b139d2e4b7d06c8fe7a035903.tar.gz
servo-cdcecaef04e8450b139d2e4b7d06c8fe7a035903.zip
Auto merge of #6726 - samfoo:int32-panic, r=Ms2ger
Eval'ing int32's in devtools panic'd Eval'ing int32 in devconsole panics. Resolves #6725 <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6726) <!-- Reviewable:end -->
-rw-r--r--components/script/devtools.rs13
1 files changed, 10 insertions, 3 deletions
diff --git a/components/script/devtools.rs b/components/script/devtools.rs
index f80dfddaa98..f60eb2d4488 100644
--- a/components/script/devtools.rs
+++ b/components/script/devtools.rs
@@ -25,7 +25,12 @@ use std::sync::mpsc::Sender;
use std::rc::Rc;
-pub fn handle_evaluate_js(page: &Rc<Page>, pipeline: PipelineId, eval: String, reply: Sender<EvaluateJSReply>){
+pub fn handle_evaluate_js(
+ page: &Rc<Page>,
+ pipeline: PipelineId,
+ eval: String,
+ reply: Sender<EvaluateJSReply>
+ ) {
let page = get_page(&*page, pipeline);
let window = page.window();
let cx = window.r().get_cx();
@@ -36,8 +41,10 @@ pub fn handle_evaluate_js(page: &Rc<Page>, pipeline: PipelineId, eval: String, r
EvaluateJSReply::VoidValue
} else if rval.ptr.is_boolean() {
EvaluateJSReply::BooleanValue(rval.ptr.to_boolean())
- } else if rval.ptr.is_double() {
- EvaluateJSReply::NumberValue(FromJSValConvertible::from_jsval(cx, rval.handle(), ()).unwrap())
+ } else if rval.ptr.is_double() || rval.ptr.is_int32() {
+ EvaluateJSReply::NumberValue(
+ FromJSValConvertible::from_jsval(cx, rval.handle(), ()).unwrap()
+ )
} else if rval.ptr.is_string() {
//FIXME: use jsstring_to_str when jsval grows to_jsstring
EvaluateJSReply::StringValue(