merge b2g-inbound to m-c

This commit is contained in:
Wes Kocher 2013-12-17 20:52:10 -08:00
commit d02b5436e2
3 changed files with 22 additions and 14 deletions

View File

@ -1,4 +1,4 @@
{
"revision": "9919e96678a4fc08ffe6ca9068bfc245394fa5e3",
"revision": "2cc6e0988688b33fa46e3a05a726fb7919d7420e",
"repo_path": "/integration/gaia-central"
}

View File

@ -258,12 +258,13 @@ static bool IsCloseToVertical(float aAngle, float aThreshold)
return (fabs(aAngle - (M_PI / 2)) < aThreshold);
}
static inline void LogRendertraceRect(const char* aDesc, const char* aColor, const CSSRect& aRect)
static inline void LogRendertraceRect(const ScrollableLayerGuid& aGuid, const char* aDesc, const char* aColor, const CSSRect& aRect)
{
#ifdef APZC_ENABLE_RENDERTRACE
static const TimeStamp sRenderStart = TimeStamp::Now();
TimeDuration delta = TimeStamp::Now() - sRenderStart;
printf_stderr("%s RENDERTRACE %f rect %s %f %f %f %f\n",
printf_stderr("(%llu,%lu,%llu)%s RENDERTRACE %f rect %s %f %f %f %f\n",
aGuid.mLayersId, aGuid.mPresShellId, aGuid.mScrollId,
aDesc, delta.ToMilliseconds(), aColor,
aRect.x, aRect.y, aRect.width, aRect.height);
#endif
@ -1264,7 +1265,7 @@ AsyncPanZoomController::ScheduleContentRepaint(FrameMetrics &aFrameMetrics) {
if (controller) {
APZC_LOG_FM(aFrameMetrics, "%p requesting content repaint", this);
LogRendertraceRect("requested displayport", "yellow",
LogRendertraceRect(GetGuid(), "requested displayport", "yellow",
aFrameMetrics.mDisplayPort + aFrameMetrics.mScrollOffset);
mPaintThrottler.PostTask(
@ -1355,7 +1356,7 @@ bool AsyncPanZoomController::SampleContentTransformForFrame(const TimeStamp& aSa
aScrollOffset = mFrameMetrics.mScrollOffset * mFrameMetrics.mZoom;
*aNewTransform = GetCurrentAsyncTransform();
LogRendertraceRect("viewport", "red",
LogRendertraceRect(GetGuid(), "viewport", "red",
CSSRect(mFrameMetrics.mScrollOffset,
ScreenSize(mFrameMetrics.mCompositionBounds.Size()) / mFrameMetrics.mZoom));
@ -1424,8 +1425,8 @@ void AsyncPanZoomController::NotifyLayersUpdated(const FrameMetrics& aLayerMetri
mFrameMetrics.mMayHaveTouchListeners = aLayerMetrics.mMayHaveTouchListeners;
APZC_LOG_FM(aLayerMetrics, "%p got a NotifyLayersUpdated with aIsFirstPaint=%d", this, aIsFirstPaint);
LogRendertraceRect("page", "brown", aLayerMetrics.mScrollableRect);
LogRendertraceRect("painted displayport", "green",
LogRendertraceRect(GetGuid(), "page", "brown", aLayerMetrics.mScrollableRect);
LogRendertraceRect(GetGuid(), "painted displayport", "green",
aLayerMetrics.mDisplayPort + aLayerMetrics.mScrollOffset);
mPaintThrottler.TaskComplete(GetFrameTime());
@ -1693,17 +1694,19 @@ void AsyncPanZoomController::SendAsyncScrollEvent() {
bool AsyncPanZoomController::Matches(const ScrollableLayerGuid& aGuid)
{
return aGuid == ScrollableLayerGuid(mLayersId, mFrameMetrics);
return aGuid == GetGuid();
}
void AsyncPanZoomController::GetGuid(ScrollableLayerGuid* aGuidOut)
{
if (!aGuidOut) {
return;
if (aGuidOut) {
*aGuidOut = GetGuid();
}
aGuidOut->mLayersId = mLayersId;
aGuidOut->mScrollId = mFrameMetrics.mScrollId;
aGuidOut->mPresShellId = mFrameMetrics.mPresShellId;
}
ScrollableLayerGuid AsyncPanZoomController::GetGuid()
{
return ScrollableLayerGuid(mLayersId, mFrameMetrics);
}
}

View File

@ -235,10 +235,15 @@ public:
nsEventStatus HandleInputEvent(const InputData& aEvent);
/**
* Populates the provided object with the scrollable guid of this apzc.
* Populates the provided object (if non-null) with the scrollable guid of this apzc.
*/
void GetGuid(ScrollableLayerGuid* aGuidOut);
/**
* Returns the scrollable guid of this apzc.
*/
ScrollableLayerGuid GetGuid();
/**
* Returns true if this APZC instance is for the layer identified by the guid.
*/