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 412 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
423 // a transform, transparency layer, etc. | 423 // a transform, transparency layer, etc. |
424 Element* elt; | 424 Element* elt; |
425 for (elt = document()->ownerElement(); view() && elt && elt->renderer(); elt
= elt->document()->ownerElement()) { | 425 for (elt = document()->ownerElement(); view() && elt && elt->renderer(); elt
= elt->document()->ownerElement()) { |
426 RenderLayer* layer = elt->renderer()->enclosingLayer(); | 426 RenderLayer* layer = elt->renderer()->enclosingLayer(); |
427 if (layer->cannotBlitToWindow()) { | 427 if (layer->cannotBlitToWindow()) { |
428 frameView()->setCannotBlitToWindow(); | 428 frameView()->setCannotBlitToWindow(); |
429 break; | 429 break; |
430 } | 430 } |
431 | 431 |
432 if (RenderLayer* compositingLayer = layer->enclosingCompositingLayerForR
epaint()) { | 432 if (RenderLayer* compositingLayer = layer->enclosingCompositingLayerForR
epaint()) { |
433 if (!compositingLayer->backing()->paintsIntoWindow()) { | 433 frameView()->setCannotBlitToWindow(); |
434 frameView()->setCannotBlitToWindow(); | 434 break; |
435 break; | |
436 } | |
437 } | 435 } |
438 } | 436 } |
439 | 437 |
440 if (document()->ownerElement() || !view()) | 438 if (document()->ownerElement() || !view()) |
441 return; | 439 return; |
442 | 440 |
443 if (paintInfo.skipRootBackground()) | 441 if (paintInfo.skipRootBackground()) |
444 return; | 442 return; |
445 | 443 |
446 bool rootFillsViewport = false; | 444 bool rootFillsViewport = false; |
(...skipping 629 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1076 return m_flowThreadController.get(); | 1074 return m_flowThreadController.get(); |
1077 } | 1075 } |
1078 | 1076 |
1079 RenderBlock::IntervalArena* RenderView::intervalArena() | 1077 RenderBlock::IntervalArena* RenderView::intervalArena() |
1080 { | 1078 { |
1081 if (!m_intervalArena) | 1079 if (!m_intervalArena) |
1082 m_intervalArena = IntervalArena::create(); | 1080 m_intervalArena = IntervalArena::create(); |
1083 return m_intervalArena.get(); | 1081 return m_intervalArena.get(); |
1084 } | 1082 } |
1085 | 1083 |
| 1084 bool RenderView::backgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const |
| 1085 { |
| 1086 // FIXME: Remove this main frame check. Same concept applies to subframes to
o. |
| 1087 Page* page = document()->page(); |
| 1088 Frame* mainFrame = page ? page->mainFrame() : 0; |
| 1089 if (!m_frameView || m_frameView->frame() != mainFrame) |
| 1090 return false; |
| 1091 |
| 1092 return m_frameView->hasOpaqueBackground(); |
| 1093 } |
| 1094 |
1086 void RenderView::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const | 1095 void RenderView::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const |
1087 { | 1096 { |
1088 MemoryClassInfo info(memoryObjectInfo, this, PlatformMemoryTypes::Rendering)
; | 1097 MemoryClassInfo info(memoryObjectInfo, this, PlatformMemoryTypes::Rendering)
; |
1089 RenderBlock::reportMemoryUsage(memoryObjectInfo); | 1098 RenderBlock::reportMemoryUsage(memoryObjectInfo); |
1090 info.addWeakPointer(m_frameView); | 1099 info.addWeakPointer(m_frameView); |
1091 info.addWeakPointer(m_selectionStart); | 1100 info.addWeakPointer(m_selectionStart); |
1092 info.addWeakPointer(m_selectionEnd); | 1101 info.addWeakPointer(m_selectionEnd); |
1093 info.addMember(m_widgets, "widgets"); | 1102 info.addMember(m_widgets, "widgets"); |
1094 info.addMember(m_layoutState, "layoutState"); | 1103 info.addMember(m_layoutState, "layoutState"); |
1095 info.addMember(m_compositor, "compositor"); | 1104 info.addMember(m_compositor, "compositor"); |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1131 #endif | 1140 #endif |
1132 | 1141 |
1133 if (layoutState) | 1142 if (layoutState) |
1134 layoutState->m_isPaginated = m_fragmenting; | 1143 layoutState->m_isPaginated = m_fragmenting; |
1135 | 1144 |
1136 if (m_flowThreadState != RenderObject::NotInsideFlowThread) | 1145 if (m_flowThreadState != RenderObject::NotInsideFlowThread) |
1137 m_root->setFlowThreadStateIncludingDescendants(m_flowThreadState); | 1146 m_root->setFlowThreadStateIncludingDescendants(m_flowThreadState); |
1138 } | 1147 } |
1139 | 1148 |
1140 } // namespace WebCore | 1149 } // namespace WebCore |
OLD | NEW |