From e41dccd72dea1a6fc7709228087e9fab640244cc Mon Sep 17 00:00:00 2001 From: Ryan VanderMeulen Date: Thu, 25 Jul 2013 22:55:25 -0400 Subject: [PATCH 1/3] Backed out changeset 9a867e5a4ef5 (bug 895417) for suspicion of causing OSX asserts. --- gfx/layers/ipc/AsyncPanZoomController.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/gfx/layers/ipc/AsyncPanZoomController.cpp b/gfx/layers/ipc/AsyncPanZoomController.cpp index b91226b60ad0..c66b7c0a089a 100644 --- a/gfx/layers/ipc/AsyncPanZoomController.cpp +++ b/gfx/layers/ipc/AsyncPanZoomController.cpp @@ -272,22 +272,20 @@ AsyncPanZoomController::ReceiveInputEvent(const nsInputEvent& aEvent, for (uint32_t i = 0; i < touches.Length(); ++i) { nsIDOMTouch* touch = touches[i]; if (touch) { - CSSPoint refCSSPoint = WidgetSpaceToCompensatedViewportSpace( + CSSPoint refPoint = WidgetSpaceToCompensatedViewportSpace( ScreenPoint::FromUnknownPoint(gfx::Point( touch->mRefPoint.x, touch->mRefPoint.y)), currentResolution); - LayoutDevicePoint refPoint = refCSSPoint * mFrameMetrics.mDevPixelsPerCSSPixel; touch->mRefPoint = nsIntPoint(refPoint.x, refPoint.y); } } break; } default: { - CSSPoint refCSSPoint = WidgetSpaceToCompensatedViewportSpace( + CSSPoint refPoint = WidgetSpaceToCompensatedViewportSpace( ScreenPoint::FromUnknownPoint(gfx::Point( aOutEvent->refPoint.x, aOutEvent->refPoint.y)), currentResolution); - LayoutDevicePoint refPoint = refCSSPoint * mFrameMetrics.mDevPixelsPerCSSPixel; aOutEvent->refPoint = nsIntPoint(refPoint.x, refPoint.y); break; } From 8c1a209e352ea2875cb8ce3b20edbc6f1cfe47ed Mon Sep 17 00:00:00 2001 From: Michael Wu Date: Wed, 24 Jul 2013 21:49:49 -0400 Subject: [PATCH 2/3] Bug 895417 - Fix refpoint coordinates sent to child processes, r=kats --- gfx/layers/ipc/AsyncPanZoomController.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gfx/layers/ipc/AsyncPanZoomController.cpp b/gfx/layers/ipc/AsyncPanZoomController.cpp index c66b7c0a089a..b91226b60ad0 100644 --- a/gfx/layers/ipc/AsyncPanZoomController.cpp +++ b/gfx/layers/ipc/AsyncPanZoomController.cpp @@ -272,20 +272,22 @@ AsyncPanZoomController::ReceiveInputEvent(const nsInputEvent& aEvent, for (uint32_t i = 0; i < touches.Length(); ++i) { nsIDOMTouch* touch = touches[i]; if (touch) { - CSSPoint refPoint = WidgetSpaceToCompensatedViewportSpace( + CSSPoint refCSSPoint = WidgetSpaceToCompensatedViewportSpace( ScreenPoint::FromUnknownPoint(gfx::Point( touch->mRefPoint.x, touch->mRefPoint.y)), currentResolution); + LayoutDevicePoint refPoint = refCSSPoint * mFrameMetrics.mDevPixelsPerCSSPixel; touch->mRefPoint = nsIntPoint(refPoint.x, refPoint.y); } } break; } default: { - CSSPoint refPoint = WidgetSpaceToCompensatedViewportSpace( + CSSPoint refCSSPoint = WidgetSpaceToCompensatedViewportSpace( ScreenPoint::FromUnknownPoint(gfx::Point( aOutEvent->refPoint.x, aOutEvent->refPoint.y)), currentResolution); + LayoutDevicePoint refPoint = refCSSPoint * mFrameMetrics.mDevPixelsPerCSSPixel; aOutEvent->refPoint = nsIntPoint(refPoint.x, refPoint.y); break; } From 8a72e4a46dd8b2784035867f17e23f8a1cc0aea7 Mon Sep 17 00:00:00 2001 From: Ryan VanderMeulen Date: Fri, 26 Jul 2013 01:22:40 -0400 Subject: [PATCH 3/3] Backed out changesets 4f35e943f939 and da5fa63e90cb (bug 896250) for causing frequent OSX debug asserts on a CLOSED TREE. --- layout/base/nsDisplayList.cpp | 4 ++-- mobile/android/app/mobile.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/layout/base/nsDisplayList.cpp b/layout/base/nsDisplayList.cpp index 5f08d9acd945..0f1fb69392f8 100644 --- a/layout/base/nsDisplayList.cpp +++ b/layout/base/nsDisplayList.cpp @@ -1500,7 +1500,7 @@ nsDisplayItem::ForceActiveLayers() /* static */ int32_t nsDisplayItem::MaxActiveLayers() { - static int32_t sMaxLayers = -1; + static int32_t sMaxLayers = false; static bool sMaxLayersCached = false; if (!sMaxLayersCached) { @@ -1508,7 +1508,7 @@ nsDisplayItem::MaxActiveLayers() sMaxLayersCached = true; } - return sMaxLayers; + return sMaxLayersCached; } bool diff --git a/mobile/android/app/mobile.js b/mobile/android/app/mobile.js index 1fb67d4ecf7f..ba8b4b5ba4ec 100644 --- a/mobile/android/app/mobile.js +++ b/mobile/android/app/mobile.js @@ -551,7 +551,7 @@ pref("layers.low-precision-resolution", 250); // 2) Pages that have too many layers consume too much memory and crash. // By limiting the number of layers on mobile we're making the main thread // work harder keep scrolling smooth and memory low. -pref("layers.max-active", 1); +pref("layers.max-active", 20); pref("notification.feature.enabled", true); pref("dom.webnotifications.enabled", true);