OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) | 4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) |
5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) | 5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) |
6 * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. | 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. |
7 * Copyright (C) 2010, 2012 Google Inc. All rights reserved. | 7 * Copyright (C) 2010, 2012 Google Inc. All rights reserved. |
8 * | 8 * |
9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
203 LayoutRect paintInvalidationRect = r; | 203 LayoutRect paintInvalidationRect = r; |
204 if (GraphicsLayer* squashingLayer = layer()->groupedMapping()->squashing Layer()) { | 204 if (GraphicsLayer* squashingLayer = layer()->groupedMapping()->squashing Layer()) { |
205 // Note: the subpixel accumulation of layer() does not need to be ad ded here. It is already taken into account. | 205 // Note: the subpixel accumulation of layer() does not need to be ad ded here. It is already taken into account. |
206 squashingLayer->setNeedsDisplayInRect(pixelSnappedIntRect(paintInval idationRect), invalidationReason); | 206 squashingLayer->setNeedsDisplayInRect(pixelSnappedIntRect(paintInval idationRect), invalidationReason); |
207 } | 207 } |
208 } else { | 208 } else { |
209 layer()->compositedLayerMapping()->setContentsNeedDisplayInRect(r, inval idationReason); | 209 layer()->compositedLayerMapping()->setContentsNeedDisplayInRect(r, inval idationReason); |
210 } | 210 } |
211 } | 211 } |
212 | 212 |
213 void RenderLayerModelObject::addChildFocusRingRects(Vector<LayoutRect>& rects, c onst LayoutPoint& additionalOffset) const | |
214 { | |
215 for (RenderObject* current = slowFirstChild(); current; current = current->n extSibling()) { | |
216 if (current->isText() || current->isListMarker()) | |
217 continue; | |
218 | |
219 if (current->isBox()) { | |
dsinclair
2014/11/06 23:56:22
if (!current->isBox()) {
current->addFocusRingRe
Xianzhu
2014/11/12 19:10:14
Done.
| |
220 RenderBox* box = toRenderBox(current); | |
221 if (box->hasLayer()) { | |
222 Vector<LayoutRect> layerFocusRingRects; | |
223 box->addFocusRingRects(layerFocusRingRects, LayoutPoint()); | |
224 for (size_t i = 0; i < layerFocusRingRects.size(); ++i) { | |
225 FloatQuad quadInBox = box->localToContainerQuad(FloatQuad(la yerFocusRingRects[i]), this); | |
226 LayoutRect rect = LayoutRect(quadInBox.boundingBox()); | |
227 if (!rect.isEmpty()) { | |
228 rect.moveBy(additionalOffset); | |
229 rects.append(rect); | |
230 } | |
231 } | |
232 } else { | |
233 box->addFocusRingRects(rects, additionalOffset + box->locationOf fset()); | |
234 } | |
235 } else { | |
236 current->addFocusRingRects(rects, additionalOffset); | |
237 } | |
238 } | |
239 } | |
240 | |
213 } // namespace blink | 241 } // namespace blink |
214 | 242 |
OLD | NEW |