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

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

Issue 2775663008: LayoutObject::absoluteBoundingBoxRectForRange() should take EphemeralRange (Closed)
Patch Set: Addressed Review comments Created 3 years, 8 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 1253 matching lines...) Expand 10 before | Expand all | Expand 10 after
1296 // integral size and the position has fractional values, the resultant 1297 // integral size and the position has fractional values, the resultant
1297 // IntRect can be larger than the integral size. 1298 // IntRect can be larger than the integral size.
1298 IntRect absoluteBoundingBoxRect(MapCoordinatesFlags = 0) const; 1299 IntRect absoluteBoundingBoxRect(MapCoordinatesFlags = 0) const;
1299 // FIXME: This function should go away eventually 1300 // FIXME: This function should go away eventually
1300 IntRect absoluteBoundingBoxRectIgnoringTransforms() const; 1301 IntRect absoluteBoundingBoxRectIgnoringTransforms() const;
1301 1302
1302 // Build an array of quads in absolute coords for line boxes 1303 // Build an array of quads in absolute coords for line boxes
1303 virtual void absoluteQuads(Vector<FloatQuad>&, 1304 virtual void absoluteQuads(Vector<FloatQuad>&,
1304 MapCoordinatesFlags mode = 0) const {} 1305 MapCoordinatesFlags mode = 0) const {}
1305 1306
1306 static FloatRect absoluteBoundingBoxRectForRange(const Range*); 1307 static FloatRect absoluteBoundingBoxRectForRange(const EphemeralRange&);
1307 1308
1308 // The bounding box (see: absoluteBoundingBoxRect) including all descendant 1309 // The bounding box (see: absoluteBoundingBoxRect) including all descendant
1309 // bounding boxes. 1310 // bounding boxes.
1310 IntRect absoluteBoundingBoxRectIncludingDescendants() const; 1311 IntRect absoluteBoundingBoxRectIncludingDescendants() const;
1311 1312
1312 // For accessibility, we want the bounding box rect of this element 1313 // For accessibility, we want the bounding box rect of this element
1313 // in local coordinates, which can then be converted to coordinates relative 1314 // in local coordinates, which can then be converted to coordinates relative
1314 // to any ancestor using, e.g., localToAncestorTransform. 1315 // to any ancestor using, e.g., localToAncestorTransform.
1315 virtual FloatRect localBoundingBoxRectForAccessibility() const = 0; 1316 virtual FloatRect localBoundingBoxRectForAccessibility() const = 0;
1316 1317
(...skipping 1485 matching lines...) Expand 10 before | Expand all | Expand 10 after
2802 CORE_EXPORT void showLineTree(const blink::LayoutObject*); 2803 CORE_EXPORT void showLineTree(const blink::LayoutObject*);
2803 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1); 2804 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1);
2804 // We don't make object2 an optional parameter so that showLayoutTree 2805 // We don't make object2 an optional parameter so that showLayoutTree
2805 // can be called from gdb easily. 2806 // can be called from gdb easily.
2806 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1, 2807 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1,
2807 const blink::LayoutObject* object2); 2808 const blink::LayoutObject* object2);
2808 2809
2809 #endif 2810 #endif
2810 2811
2811 #endif // LayoutObject_h 2812 #endif // LayoutObject_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698