| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv
ed. | 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv
ed. |
| 4 * | 4 * |
| 5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
| 6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
| 7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
| 8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
| 9 * | 9 * |
| 10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
| (...skipping 433 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 444 { | 444 { |
| 445 ASSERT(!needsLayout()); | 445 ASSERT(!needsLayout()); |
| 446 | 446 |
| 447 // We specifically need to issue paint invalidations for the viewRect since
other layoutObjects | 447 // We specifically need to issue paint invalidations for the viewRect since
other layoutObjects |
| 448 // short-circuit on full-paint invalidation. | 448 // short-circuit on full-paint invalidation. |
| 449 LayoutRect dirtyRect = viewRect(); | 449 LayoutRect dirtyRect = viewRect(); |
| 450 if (doingFullPaintInvalidation() && !dirtyRect.isEmpty()) { | 450 if (doingFullPaintInvalidation() && !dirtyRect.isEmpty()) { |
| 451 const LayoutBoxModelObject& paintInvalidationContainer = paintInvalidati
onState.paintInvalidationContainer(); | 451 const LayoutBoxModelObject& paintInvalidationContainer = paintInvalidati
onState.paintInvalidationContainer(); |
| 452 paintInvalidationState.mapLocalRectToPaintInvalidationBacking(dirtyRect)
; | 452 paintInvalidationState.mapLocalRectToPaintInvalidationBacking(dirtyRect)
; |
| 453 invalidatePaintUsingContainer(paintInvalidationContainer, dirtyRect, Pai
ntInvalidationFull); | 453 invalidatePaintUsingContainer(paintInvalidationContainer, dirtyRect, Pai
ntInvalidationFull); |
| 454 invalidateDisplayItemClientsWithPaintInvalidationState(paintInvalidation
Container, paintInvalidationState, PaintInvalidationFull); | 454 invalidateDisplayItemClients(paintInvalidationContainer, PaintInvalidati
onFull); |
| 455 } | 455 } |
| 456 LayoutBlock::invalidateTreeIfNeeded(paintInvalidationState); | 456 LayoutBlock::invalidateTreeIfNeeded(paintInvalidationState); |
| 457 } | 457 } |
| 458 | 458 |
| 459 static void setShouldDoFullPaintInvalidationForViewAndAllDescendantsInternal(Lay
outObject* object) | 459 static void setShouldDoFullPaintInvalidationForViewAndAllDescendantsInternal(Lay
outObject* object) |
| 460 { | 460 { |
| 461 object->setShouldDoFullPaintInvalidation(); | 461 object->setShouldDoFullPaintInvalidation(); |
| 462 for (LayoutObject* child = object->slowFirstChild(); child; child = child->n
extSibling()) { | 462 for (LayoutObject* child = object->slowFirstChild(); child; child = child->n
extSibling()) { |
| 463 setShouldDoFullPaintInvalidationForViewAndAllDescendantsInternal(child); | 463 setShouldDoFullPaintInvalidationForViewAndAllDescendantsInternal(child); |
| 464 } | 464 } |
| (...skipping 514 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 979 return m_frameView->hasOpaqueBackground(); | 979 return m_frameView->hasOpaqueBackground(); |
| 980 } | 980 } |
| 981 | 981 |
| 982 FloatSize LayoutView::viewportSizeForViewportUnits() const | 982 FloatSize LayoutView::viewportSizeForViewportUnits() const |
| 983 { | 983 { |
| 984 return frameView() ? frameView()->viewportSizeForViewportUnits() : FloatSize
(); | 984 return frameView() ? frameView()->viewportSizeForViewportUnits() : FloatSize
(); |
| 985 } | 985 } |
| 986 | 986 |
| 987 void LayoutView::willBeDestroyed() | 987 void LayoutView::willBeDestroyed() |
| 988 { | 988 { |
| 989 // TODO(wangxianzhu): This is a workaround of crbug.com/570706. | |
| 990 // Should find and fix the root cause. | |
| 991 if (PaintLayer* layer = this->layer()) | |
| 992 layer->setNeedsRepaint(); | |
| 993 LayoutBlockFlow::willBeDestroyed(); | 989 LayoutBlockFlow::willBeDestroyed(); |
| 994 m_compositor.reset(); | 990 m_compositor.reset(); |
| 995 } | 991 } |
| 996 | 992 |
| 997 void LayoutView::registerMediaForPositionChangeNotification(LayoutMedia& media) | 993 void LayoutView::registerMediaForPositionChangeNotification(LayoutMedia& media) |
| 998 { | 994 { |
| 999 if (!m_mediaForPositionNotification.contains(&media)) | 995 if (!m_mediaForPositionNotification.contains(&media)) |
| 1000 m_mediaForPositionNotification.append(&media); | 996 m_mediaForPositionNotification.append(&media); |
| 1001 } | 997 } |
| 1002 | 998 |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1036 // ASSERT(!frame()->isMainFrame()) here. All main frame scrolling should | 1032 // ASSERT(!frame()->isMainFrame()) here. All main frame scrolling should |
| 1037 // be handled by the ViewportScrollCallback. | 1033 // be handled by the ViewportScrollCallback. |
| 1038 | 1034 |
| 1039 if (!frameView()) | 1035 if (!frameView()) |
| 1040 return ScrollResult(false, false, delta.width(), delta.height()); | 1036 return ScrollResult(false, false, delta.width(), delta.height()); |
| 1041 | 1037 |
| 1042 return frameView()->getScrollableArea()->userScroll(granularity, delta); | 1038 return frameView()->getScrollableArea()->userScroll(granularity, delta); |
| 1043 } | 1039 } |
| 1044 | 1040 |
| 1045 } // namespace blink | 1041 } // namespace blink |
| OLD | NEW |