| Index: Source/core/rendering/RenderGeometryMap.cpp
|
| ===================================================================
|
| --- Source/core/rendering/RenderGeometryMap.cpp (revision 159992)
|
| +++ Source/core/rendering/RenderGeometryMap.cpp (working copy)
|
| @@ -118,10 +118,10 @@
|
| }
|
|
|
| #if !ASSERT_DISABLED
|
| - FloatPoint rendererMappedResult = m_mapping.last().m_renderer->localToAbsolute(p, m_mapCoordinatesFlags);
|
| - ASSERT(roundedIntPoint(rendererMappedResult) == roundedIntPoint(result));
|
| -// if (roundedIntPoint(rendererMappedResult) != roundedIntPoint(result))
|
| -// fprintf(stderr, "Mismatched point\n");
|
| + if (m_mapping.size() > 0) {
|
| + FloatPoint rendererMappedResult = m_mapping.last().m_renderer->localToAbsolute(p, m_mapCoordinatesFlags);
|
| + ASSERT(roundedIntPoint(rendererMappedResult) == roundedIntPoint(result));
|
| + }
|
| #endif
|
|
|
| return result;
|
| @@ -155,20 +155,20 @@
|
| }
|
|
|
| #if !ASSERT_DISABLED
|
| - const RenderObject* lastRenderer = m_mapping.last().m_renderer;
|
| - const RenderLayer* layer = lastRenderer->enclosingLayer();
|
| + if (m_mapping.size() > 0) {
|
| + const RenderObject* lastRenderer = m_mapping.last().m_renderer;
|
| + const RenderLayer* layer = lastRenderer->enclosingLayer();
|
|
|
| - // Bounds for invisible layers are intentionally not calculated, and are
|
| - // therefore not necessarily expected to be correct here. This is ok,
|
| - // because they will be recomputed if the layer becomes visible.
|
| - if (!layer || !layer->subtreeIsInvisible()) {
|
| - FloatRect rendererMappedResult = lastRenderer->localToContainerQuad(rect, container, m_mapCoordinatesFlags).boundingBox();
|
| + // Bounds for invisible layers are intentionally not calculated, and are
|
| + // therefore not necessarily expected to be correct here. This is ok,
|
| + // because they will be recomputed if the layer becomes visible.
|
| + if (!layer || !layer->subtreeIsInvisible()) {
|
| + FloatRect rendererMappedResult = lastRenderer->localToContainerQuad(rect, container, m_mapCoordinatesFlags).boundingBox();
|
|
|
| - // Inspector creates renderers with negative width <https://bugs.webkit.org/show_bug.cgi?id=87194>.
|
| - // Taking FloatQuad bounds avoids spurious assertions because of that.
|
| - ASSERT(enclosingIntRect(rendererMappedResult) == enclosingIntRect(FloatQuad(result).boundingBox()));
|
| -// if (enclosingIntRect(rendererMappedResult) != enclosingIntRect(FloatQuad(result).boundingBox()))
|
| -// fprintf(stderr, "Mismatched rects\n");
|
| + // Inspector creates renderers with negative width <https://bugs.webkit.org/show_bug.cgi?id=87194>.
|
| + // Taking FloatQuad bounds avoids spurious assertions because of that.
|
| + ASSERT(enclosingIntRect(rendererMappedResult) == enclosingIntRect(FloatQuad(result).boundingBox()));
|
| + }
|
| }
|
| #endif
|
|
|
|
|