Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(78)

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutObject.h

Issue 2904833002: LayoutObject::AbsoluteBoundingBoxRectForRange() should take EphemeralRange (Closed)
Patch Set: RebasedAndUpdatedWithComments Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
3 * (C) 2000 Antti Koivisto (koivisto@kde.org) 3 * (C) 2000 Antti Koivisto (koivisto@kde.org)
4 * (C) 2000 Dirk Mueller (mueller@kde.org) 4 * (C) 2000 Dirk Mueller (mueller@kde.org)
5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com)
6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc.
7 * All rights reserved. 7 * All rights reserved.
8 * Copyright (C) 2009 Google Inc. All rights reserved. 8 * Copyright (C) 2009 Google Inc. All rights reserved.
9 * 9 *
10 * This library is free software; you can redistribute it and/or 10 * This library is free software; you can redistribute it and/or
(...skipping 12 matching lines...) Expand all
23 * Boston, MA 02110-1301, USA. 23 * Boston, MA 02110-1301, USA.
24 * 24 *
25 */ 25 */
26 26
27 #ifndef LayoutObject_h 27 #ifndef LayoutObject_h
28 #define LayoutObject_h 28 #define LayoutObject_h
29 29
30 #include "core/CoreExport.h" 30 #include "core/CoreExport.h"
31 #include "core/dom/Document.h" 31 #include "core/dom/Document.h"
32 #include "core/dom/DocumentLifecycle.h" 32 #include "core/dom/DocumentLifecycle.h"
33 #include "core/editing/EphemeralRange.h"
33 #include "core/editing/PositionWithAffinity.h" 34 #include "core/editing/PositionWithAffinity.h"
34 #include "core/layout/LayoutObjectChildList.h" 35 #include "core/layout/LayoutObjectChildList.h"
35 #include "core/layout/MapCoordinatesFlags.h" 36 #include "core/layout/MapCoordinatesFlags.h"
36 #include "core/layout/ScrollAlignment.h" 37 #include "core/layout/ScrollAlignment.h"
37 #include "core/layout/SubtreeLayoutScope.h" 38 #include "core/layout/SubtreeLayoutScope.h"
38 #include "core/layout/api/HitTestAction.h" 39 #include "core/layout/api/HitTestAction.h"
39 #include "core/layout/api/SelectionState.h" 40 #include "core/layout/api/SelectionState.h"
40 #include "core/layout/compositing/CompositingState.h" 41 #include "core/layout/compositing/CompositingState.h"
41 #include "core/loader/resource/ImageResourceObserver.h" 42 #include "core/loader/resource/ImageResourceObserver.h"
42 #include "core/paint/LayerHitTestRects.h" 43 #include "core/paint/LayerHitTestRects.h"
(...skipping 1255 matching lines...) Expand 10 before | Expand all | Expand 10 after
1298 // integral size and the position has fractional values, the resultant 1299 // integral size and the position has fractional values, the resultant
1299 // IntRect can be larger than the integral size. 1300 // IntRect can be larger than the integral size.
1300 IntRect AbsoluteBoundingBoxRect(MapCoordinatesFlags = 0) const; 1301 IntRect AbsoluteBoundingBoxRect(MapCoordinatesFlags = 0) const;
1301 // FIXME: This function should go away eventually 1302 // FIXME: This function should go away eventually
1302 IntRect AbsoluteBoundingBoxRectIgnoringTransforms() const; 1303 IntRect AbsoluteBoundingBoxRectIgnoringTransforms() const;
1303 1304
1304 // Build an array of quads in absolute coords for line boxes 1305 // Build an array of quads in absolute coords for line boxes
1305 virtual void AbsoluteQuads(Vector<FloatQuad>&, 1306 virtual void AbsoluteQuads(Vector<FloatQuad>&,
1306 MapCoordinatesFlags mode = 0) const {} 1307 MapCoordinatesFlags mode = 0) const {}
1307 1308
1308 static FloatRect AbsoluteBoundingBoxRectForRange(const Range*); 1309 static FloatRect AbsoluteBoundingBoxRectForRange(const EphemeralRange&);
1309 1310
1310 // The bounding box (see: absoluteBoundingBoxRect) including all descendant 1311 // The bounding box (see: absoluteBoundingBoxRect) including all descendant
1311 // bounding boxes. 1312 // bounding boxes.
1312 IntRect AbsoluteBoundingBoxRectIncludingDescendants() const; 1313 IntRect AbsoluteBoundingBoxRectIncludingDescendants() const;
1313 1314
1314 // For accessibility, we want the bounding box rect of this element 1315 // For accessibility, we want the bounding box rect of this element
1315 // in local coordinates, which can then be converted to coordinates relative 1316 // in local coordinates, which can then be converted to coordinates relative
1316 // to any ancestor using, e.g., localToAncestorTransform. 1317 // to any ancestor using, e.g., localToAncestorTransform.
1317 virtual FloatRect LocalBoundingBoxRectForAccessibility() const = 0; 1318 virtual FloatRect LocalBoundingBoxRectForAccessibility() const = 0;
1318 1319
(...skipping 1516 matching lines...) Expand 10 before | Expand all | Expand 10 after
2835 CORE_EXPORT void showLineTree(const blink::LayoutObject*); 2836 CORE_EXPORT void showLineTree(const blink::LayoutObject*);
2836 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1); 2837 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1);
2837 // We don't make object2 an optional parameter so that showLayoutTree 2838 // We don't make object2 an optional parameter so that showLayoutTree
2838 // can be called from gdb easily. 2839 // can be called from gdb easily.
2839 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1, 2840 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1,
2840 const blink::LayoutObject* object2); 2841 const blink::LayoutObject* object2);
2841 2842
2842 #endif 2843 #endif
2843 2844
2844 #endif // LayoutObject_h 2845 #endif // LayoutObject_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698