mirror of
https://github.com/roytam1/palemoon27.git
synced 2026-05-26 05:37:11 +00:00
fa9ed1e11b
- Bug 1166942 - Add logging of color layer bounds. r=nical (442de4b6c) - Bug 1152109 - Don't clear plugin data cache in ShadowLayers code, we need to resend this during repaints that do not involve reflow. r=roc (8670e73f9) - Bug 1158122 - Remove all occurences of nsIntRect in gfx/layers/composite. r=nical (dcfa2050a) - Bug 1158122 - Remove all occurences of nsIntRect in gfx/ipc/. r=nical (1ca3800b5) - Bug 1158122 - Remove all occurences of nsIntRect in gfx/gl/. r=nical (187d70360) - Bug 1158122 - Remove all occurences of nsIntRect in gfx/thebes/. r=nical (487ab747c) - Bug 1155621 - Remove no-op gfx2DGlue conversion helpers. r=Bas (f2ea364d4) - Bug 1158122 - Remove some occurences of nsIntRect in gfx/layers/. r=nical (b1bb2e736) - Bug 1158122 - Remove all occurences of nsIntRect in gfx/layers/client. r=nical (f0e71c984) - Bug 1158122 - Remove the remaining occurences of nsIntRect in gfx/layers. r=nical (571ff6de0) - Bug 1148350 - Add a test. r=botond (226b59773) - Bug 1158122 - Remove most occurences of nsIntRect in gfx/tests. r=nical (cb3b2541c) - Bug 1032848 - Part 1: Implement WebIDL for HTMLCanvasElement::CaptureStream. r=smaug, r=mt (210e34454) - Bug 1032848 - Part 2: Implement HTMLCanvasElement::CaptureStream. r=mt, r=jesup, r=jgilbert, r=gwright (bec93b4d3) - Bug 1032848 followup: Add 'override' annotation to Notify() method in CanvasCaptureMediaStream.cpp. rs=ehsan (9866fd266) - Bug 1032848 - Part 3: Add tests for HTMLCanvasElement::CaptureStream. r=mt, r=jgilbert, r=jesup (bde68ba7c) - Bug 987498 - Part 1 - Layers support OverlayImage. r=roc (8b22b789f) - Bug 987498 - Part 2 - HTMLMediaElement supports playback OverlayImage. r=roc (247dc15a2) - Bug 987498 - Part 3 - Implement DOMHwMediaStream. r=roc (f0d9de519) - Bug 987498 - Part 4 -Implement SetImageSize on DOMHwMediaStream. r=roc (850cf6ad0) - Bug 1147194 - Do scroll info layer hoisting when building the display list. r=tn (64ae65e97) - Bug 1161389 - Skip AccessibleCaret frame if nsDisplayListBuilder doesn't build caret. r=roc (0e8328488) - Bug 1068881 (Part 2) - Add reftests for rounding image dest rects to zero size. r=roc (00202564b) - Bug 1164227 - Don't allow invalid region simplification to invalidate unchanged scrolled contents. r=roc (3cde9cd56) - Bug 1148022 - When frame metrics are attached to the container layer of the root scroll frame, make sure that its scroll frame is active. r=tn (5369f9175) - Bug 1154478 - Really force-enable the event-regions code when APZ is enabled. r=tn (e7ba54c3d) - Move AsyncPanZoomAnimation into its own header. (bug 1139220 part 1, r=kats) (e06fd8854) - Bug 1139180 - Add BUG_COMPONENT metadata to moz.build for files in layout/. r=roc (468dedf02) - Factor the guts of AsyncScroll into a base helper class. (bug 1139220 part 2, r=kgilbert) (1719bcba6) - Use the main-thread key spline animation logic for Desktop APZ. (bug 1139220 part 3, r=kats,kgilbert) (84a1d8948) - Bug 1147038. Use the correct clip for root scroll frames in root content documents. r=mstange (cae882bdf) - Use Maybe to communicate the APZ scrollframe clip. (bug 1148582 part 1, r=mstange) (d22c5cfeb)
89 lines
2.7 KiB
C++
89 lines
2.7 KiB
C++
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#include "RenderTrace.h"
|
|
|
|
// If rendertrace is off let's no compile this code
|
|
#ifdef MOZ_RENDERTRACE
|
|
#include "Layers.h"
|
|
|
|
|
|
namespace mozilla {
|
|
namespace layers {
|
|
|
|
static int colorId = 0;
|
|
|
|
static gfx::Matrix4x4 GetRootTransform(Layer *aLayer) {
|
|
gfx::Matrix4x4 layerTrans = aLayer->GetTransform();
|
|
layerTrans.ProjectTo2D();
|
|
if (aLayer->GetParent() != nullptr) {
|
|
return GetRootTransform(aLayer->GetParent()) * layerTrans;
|
|
}
|
|
return layerTrans;
|
|
}
|
|
|
|
void RenderTraceLayers(Layer *aLayer, const char *aColor, const gfx::Matrix4x4 aRootTransform, bool aReset) {
|
|
if (!aLayer)
|
|
return;
|
|
|
|
gfx::Matrix4x4 trans = aRootTransform * aLayer->GetTransform();
|
|
trans.ProjectTo2D();
|
|
gfx::IntRect clipRect = aLayer->GetEffectiveVisibleRegion().GetBounds();
|
|
Rect rect(clipRect.x, clipRect.y, clipRect.width, clipRect.height);
|
|
trans.TransformBounds(rect);
|
|
|
|
if (strcmp(aLayer->Name(), "ContainerLayer") != 0 &&
|
|
strcmp(aLayer->Name(), "ContainerLayerComposite") != 0) {
|
|
printf_stderr("%s RENDERTRACE %u rect #%02X%s %i %i %i %i\n",
|
|
aLayer->Name(), (int)PR_IntervalNow(),
|
|
colorId, aColor,
|
|
(int)rect.x, (int)rect.y, (int)rect.width, (int)rect.height);
|
|
}
|
|
|
|
colorId++;
|
|
|
|
for (Layer* child = aLayer->GetFirstChild();
|
|
child; child = child->GetNextSibling()) {
|
|
RenderTraceLayers(child, aColor, aRootTransform, false);
|
|
}
|
|
|
|
if (aReset) colorId = 0;
|
|
}
|
|
|
|
void RenderTraceInvalidateStart(Layer *aLayer, const char *aColor, const gfx::IntRect aRect) {
|
|
gfx::Matrix4x4 trans = GetRootTransform(aLayer);
|
|
gfx::Rect rect(aRect.x, aRect.y, aRect.width, aRect.height);
|
|
trans.TransformBounds(rect);
|
|
|
|
printf_stderr("%s RENDERTRACE %u fillrect #%s %i %i %i %i\n",
|
|
aLayer->Name(), (int)PR_IntervalNow(),
|
|
aColor,
|
|
(int)rect.x, (int)rect.y, (int)rect.width, (int)rect.height);
|
|
}
|
|
void RenderTraceInvalidateEnd(Layer *aLayer, const char *aColor) {
|
|
// Clear with an empty rect
|
|
RenderTraceInvalidateStart(aLayer, aColor, gfx::IntRect());
|
|
}
|
|
|
|
void renderTraceEventStart(const char *aComment, const char *aColor) {
|
|
printf_stderr("%s RENDERTRACE %u fillrect #%s 0 0 10 10\n",
|
|
aComment, (int)PR_IntervalNow(), aColor);
|
|
}
|
|
|
|
void renderTraceEventEnd(const char *aComment, const char *aColor) {
|
|
printf_stderr("%s RENDERTRACE %u fillrect #%s 0 0 0 0\n",
|
|
aComment, (int)PR_IntervalNow(), aColor);
|
|
}
|
|
|
|
void renderTraceEventEnd(const char *aColor) {
|
|
renderTraceEventEnd("", aColor);
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
#endif
|
|
|