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

Side by Side Diff: Source/core/paint/DeprecatedPaintLayer.h

Issue 1032823003: Refactor HitTestResult to store the HitTestRequest (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Updated as per review comments Created 5 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
« no previous file with comments | « Source/core/page/EventHandler.cpp ('k') | Source/core/paint/DeprecatedPaintLayer.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2003, 2009, 2012 Apple Inc. All rights reserved. 2 * Copyright (C) 2003, 2009, 2012 Apple Inc. All rights reserved.
3 * Copyright (C) 2013 Intel Corporation. All rights reserved. 3 * Copyright (C) 2013 Intel Corporation. All rights reserved.
4 * 4 *
5 * Portions are Copyright (C) 1998 Netscape Communications Corporation. 5 * Portions are Copyright (C) 1998 Netscape Communications Corporation.
6 * 6 *
7 * Other contributors: 7 * Other contributors:
8 * Robert O'Callahan <roc+@cs.cmu.edu> 8 * Robert O'Callahan <roc+@cs.cmu.edu>
9 * David Baron <dbaron@fas.harvard.edu> 9 * David Baron <dbaron@fas.harvard.edu>
10 * Christian Biesinger <cbiesinger@web.de> 10 * Christian Biesinger <cbiesinger@web.de>
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 void convertToLayerCoords(const DeprecatedPaintLayer* ancestorLayer, LayoutR ect&) const; 224 void convertToLayerCoords(const DeprecatedPaintLayer* ancestorLayer, LayoutR ect&) const;
225 225
226 // Does the same as convertToLayerCoords() when not in multicol. For multico l, however, 226 // Does the same as convertToLayerCoords() when not in multicol. For multico l, however,
227 // convertToLayerCoords() calculates the offset in flow-thread coordinates ( what the layout 227 // convertToLayerCoords() calculates the offset in flow-thread coordinates ( what the layout
228 // engine uses internally), while this method calculates the visual coordina tes; i.e. it figures 228 // engine uses internally), while this method calculates the visual coordina tes; i.e. it figures
229 // out which column the layer starts in and adds in the offset. See 229 // out which column the layer starts in and adds in the offset. See
230 // http://www.chromium.org/developers/design-documents/multi-column-layout f or more info. 230 // http://www.chromium.org/developers/design-documents/multi-column-layout f or more info.
231 LayoutPoint visualOffsetFromAncestor(const DeprecatedPaintLayer* ancestorLay er) const; 231 LayoutPoint visualOffsetFromAncestor(const DeprecatedPaintLayer* ancestorLay er) const;
232 232
233 // The hitTest() method looks for mouse events by walking layers that inters ect the point from front to back. 233 // The hitTest() method looks for mouse events by walking layers that inters ect the point from front to back.
234 bool hitTest(const HitTestRequest&, HitTestResult&); 234 bool hitTest(HitTestResult&);
235 bool hitTest(const HitTestRequest&, const HitTestLocation&, HitTestResult&); 235 bool hitTest(const HitTestRequest&, const HitTestLocation&, HitTestResult&);
236 236
237 // Pass offsetFromRoot if known. 237 // Pass offsetFromRoot if known.
238 bool intersectsDamageRect(const LayoutRect& layerBounds, const LayoutRect& d amageRect, const DeprecatedPaintLayer* rootLayer, const LayoutPoint* offsetFromR oot = 0) const; 238 bool intersectsDamageRect(const LayoutRect& layerBounds, const LayoutRect& d amageRect, const DeprecatedPaintLayer* rootLayer, const LayoutPoint* offsetFromR oot = 0) const;
239 239
240 // Bounding box relative to some ancestor layer. Pass offsetFromRoot if know n. 240 // Bounding box relative to some ancestor layer. Pass offsetFromRoot if know n.
241 LayoutRect physicalBoundingBox(const DeprecatedPaintLayer* ancestorLayer, co nst LayoutPoint* offsetFromRoot = 0) const; 241 LayoutRect physicalBoundingBox(const DeprecatedPaintLayer* ancestorLayer, co nst LayoutPoint* offsetFromRoot = 0) const;
242 LayoutRect physicalBoundingBoxIncludingReflectionAndStackingChildren(const D eprecatedPaintLayer* ancestorLayer, const LayoutPoint& offsetFromRoot) const; 242 LayoutRect physicalBoundingBoxIncludingReflectionAndStackingChildren(const D eprecatedPaintLayer* ancestorLayer, const LayoutPoint& offsetFromRoot) const;
243 LayoutRect fragmentsBoundingBox(const DeprecatedPaintLayer* ancestorLayer) c onst; 243 LayoutRect fragmentsBoundingBox(const DeprecatedPaintLayer* ancestorLayer) c onst;
244 244
(...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after
546 546
547 void updateLayerPositionRecursive(); 547 void updateLayerPositionRecursive();
548 void updateLayerPositionsAfterScrollRecursive(const DoubleSize& scrollDelta, bool paintInvalidationContainerWasScrolled); 548 void updateLayerPositionsAfterScrollRecursive(const DoubleSize& scrollDelta, bool paintInvalidationContainerWasScrolled);
549 549
550 void setNextSibling(DeprecatedPaintLayer* next) { m_next = next; } 550 void setNextSibling(DeprecatedPaintLayer* next) { m_next = next; }
551 void setPreviousSibling(DeprecatedPaintLayer* prev) { m_previous = prev; } 551 void setPreviousSibling(DeprecatedPaintLayer* prev) { m_previous = prev; }
552 void setFirstChild(DeprecatedPaintLayer* first) { m_first = first; } 552 void setFirstChild(DeprecatedPaintLayer* first) { m_first = first; }
553 void setLastChild(DeprecatedPaintLayer* last) { m_last = last; } 553 void setLastChild(DeprecatedPaintLayer* last) { m_last = last; }
554 554
555 void updateHasSelfPaintingLayerDescendant() const; 555 void updateHasSelfPaintingLayerDescendant() const;
556 DeprecatedPaintLayer* hitTestLayer(DeprecatedPaintLayer* rootLayer, Deprecat edPaintLayer* containerLayer, const HitTestRequest&, HitTestResult&, 556 DeprecatedPaintLayer* hitTestLayer(DeprecatedPaintLayer* rootLayer, Deprecat edPaintLayer* containerLayer, HitTestResult&,
557 const LayoutRect& hitTestRect, const HitTestLocation&, bool appliedTrans form, 557 const LayoutRect& hitTestRect, const HitTestLocation&, bool appliedTrans form,
558 const HitTestingTransformState* = 0, double* zOffset = 0); 558 const HitTestingTransformState* = 0, double* zOffset = 0);
559 DeprecatedPaintLayer* hitTestLayerByApplyingTransform(DeprecatedPaintLayer* rootLayer, DeprecatedPaintLayer* containerLayer, const HitTestRequest&, HitTestR esult&, 559 DeprecatedPaintLayer* hitTestLayerByApplyingTransform(DeprecatedPaintLayer* rootLayer, DeprecatedPaintLayer* containerLayer, HitTestResult&,
560 const LayoutRect& hitTestRect, const HitTestLocation&, const HitTestingT ransformState* = 0, double* zOffset = 0, 560 const LayoutRect& hitTestRect, const HitTestLocation&, const HitTestingT ransformState* = 0, double* zOffset = 0,
561 const LayoutPoint& translationOffset = LayoutPoint()); 561 const LayoutPoint& translationOffset = LayoutPoint());
562 DeprecatedPaintLayer* hitTestChildren(ChildrenIteration, DeprecatedPaintLaye r* rootLayer, const HitTestRequest&, HitTestResult&, 562 DeprecatedPaintLayer* hitTestChildren(ChildrenIteration, DeprecatedPaintLaye r* rootLayer, HitTestResult&,
563 const LayoutRect& hitTestRect, const HitTestLocation&, 563 const LayoutRect& hitTestRect, const HitTestLocation&,
564 const HitTestingTransformState*, double* zOffsetForDescendants, double* zOffset, 564 const HitTestingTransformState*, double* zOffsetForDescendants, double* zOffset,
565 const HitTestingTransformState* unflattenedTransformState, bool depthSor tDescendants); 565 const HitTestingTransformState* unflattenedTransformState, bool depthSor tDescendants);
566 DeprecatedPaintLayer* hitTestPaginatedChildLayer(DeprecatedPaintLayer* child Layer, DeprecatedPaintLayer* rootLayer, const HitTestRequest&, HitTestResult&, 566 DeprecatedPaintLayer* hitTestPaginatedChildLayer(DeprecatedPaintLayer* child Layer, DeprecatedPaintLayer* rootLayer, HitTestResult&,
567 const LayoutRect& hitTestRect, const HitTestLocation&, 567 const LayoutRect& hitTestRect, const HitTestLocation&,
568 const HitTestingTransformState*, double* zOffset); 568 const HitTestingTransformState*, double* zOffset);
569 DeprecatedPaintLayer* hitTestChildLayerColumns(DeprecatedPaintLayer* childLa yer, DeprecatedPaintLayer* rootLayer, const HitTestRequest&, HitTestResult&, 569 DeprecatedPaintLayer* hitTestChildLayerColumns(DeprecatedPaintLayer* childLa yer, DeprecatedPaintLayer* rootLayer, HitTestResult&,
570 const LayoutRect& hitTestRect, const HitTestLocation&, 570 const LayoutRect& hitTestRect, const HitTestLocation&,
571 const HitTestingTransformState*, double* zOffset, 571 const HitTestingTransformState*, double* zOffset,
572 const Vector<DeprecatedPaintLayer*>& columnLayers, size_t columnIndex); 572 const Vector<DeprecatedPaintLayer*>& columnLayers, size_t columnIndex);
573 573
574 PassRefPtr<HitTestingTransformState> createLocalTransformState(DeprecatedPai ntLayer* rootLayer, DeprecatedPaintLayer* containerLayer, 574 PassRefPtr<HitTestingTransformState> createLocalTransformState(DeprecatedPai ntLayer* rootLayer, DeprecatedPaintLayer* containerLayer,
575 const LayoutRect& hitTestRect, const HitTestLocation&, 575 const LayoutRect& hitTestRect, const HitTestLocation&,
576 const HitTestingTransformState* containerTransformState, 576 const HitTestingTransformState* containerTransformState,
577 const LayoutPoint& translationOffset = LayoutPoint()) const; 577 const LayoutPoint& translationOffset = LayoutPoint()) const;
578 578
579 bool hitTestContents(const HitTestRequest&, HitTestResult&, const LayoutRect & layerBounds, const HitTestLocation&, HitTestFilter) const; 579 bool hitTestContents(HitTestResult&, const LayoutRect& layerBounds, const Hi tTestLocation&, HitTestFilter) const;
580 bool hitTestContentsForFragments(const DeprecatedPaintLayerFragments&, const HitTestRequest&, HitTestResult&, const HitTestLocation&, HitTestFilter, bool& i nsideClipRect) const; 580 bool hitTestContentsForFragments(const DeprecatedPaintLayerFragments&, HitTe stResult&, const HitTestLocation&, HitTestFilter, bool& insideClipRect) const;
581 DeprecatedPaintLayer* hitTestTransformedLayerInFragments(DeprecatedPaintLaye r* rootLayer, DeprecatedPaintLayer* containerLayer, const HitTestRequest&, HitTe stResult&, 581 DeprecatedPaintLayer* hitTestTransformedLayerInFragments(DeprecatedPaintLaye r* rootLayer, DeprecatedPaintLayer* containerLayer, HitTestResult&,
582 const LayoutRect& hitTestRect, const HitTestLocation&, const HitTestingT ransformState* = 0, double* zOffset = 0); 582 const LayoutRect& hitTestRect, const HitTestLocation&, const HitTestingT ransformState* = 0, double* zOffset = 0);
583 583
584 bool childBackgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const; 584 bool childBackgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const;
585 585
586 bool shouldBeSelfPaintingLayer() const; 586 bool shouldBeSelfPaintingLayer() const;
587 587
588 // FIXME: We should only create the stacking node if needed. 588 // FIXME: We should only create the stacking node if needed.
589 bool requiresStackingNode() const { return true; } 589 bool requiresStackingNode() const { return true; }
590 void updateStackingNode(); 590 void updateStackingNode();
591 591
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
723 723
724 } // namespace blink 724 } // namespace blink
725 725
726 #ifndef NDEBUG 726 #ifndef NDEBUG
727 // Outside the WebCore namespace for ease of invocation from gdb. 727 // Outside the WebCore namespace for ease of invocation from gdb.
728 void showLayerTree(const blink::DeprecatedPaintLayer*); 728 void showLayerTree(const blink::DeprecatedPaintLayer*);
729 void showLayerTree(const blink::LayoutObject*); 729 void showLayerTree(const blink::LayoutObject*);
730 #endif 730 #endif
731 731
732 #endif // Layer_h 732 #endif // Layer_h
OLDNEW
« no previous file with comments | « Source/core/page/EventHandler.cpp ('k') | Source/core/paint/DeprecatedPaintLayer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698