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

Side by Side Diff: Source/core/rendering/RenderObject.h

Issue 75303002: [Blending and compositing] Implement the isolation CSS property in software (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 1 month 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/css/resolver/StyleAdjuster.cpp ('k') | Source/core/rendering/RenderObject.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) 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. All r ights reserved. 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All r ights reserved.
7 * Copyright (C) 2009 Google Inc. All rights reserved. 7 * Copyright (C) 2009 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 555 matching lines...) Expand 10 before | Expand all | Expand 10 after
566 566
567 bool hasTransform() const { return m_bitfields.hasTransform(); } 567 bool hasTransform() const { return m_bitfields.hasTransform(); }
568 bool hasMask() const { return style() && style()->hasMask(); } 568 bool hasMask() const { return style() && style()->hasMask(); }
569 bool hasClipPath() const { return style() && style()->clipPath(); } 569 bool hasClipPath() const { return style() && style()->clipPath(); }
570 bool hasHiddenBackface() const { return style() && style()->backfaceVisibili ty() == BackfaceVisibilityHidden; } 570 bool hasHiddenBackface() const { return style() && style()->backfaceVisibili ty() == BackfaceVisibilityHidden; }
571 571
572 bool hasFilter() const { return style() && style()->hasFilter(); } 572 bool hasFilter() const { return style() && style()->hasFilter(); }
573 573
574 bool hasBlendMode() const; 574 bool hasBlendMode() const;
575 575
576 bool hasIsolation() const;
577
576 inline bool preservesNewline() const; 578 inline bool preservesNewline() const;
577 579
578 // The pseudo element style can be cached or uncached. Use the cached metho d if the pseudo element doesn't respect 580 // The pseudo element style can be cached or uncached. Use the cached metho d if the pseudo element doesn't respect
579 // any pseudo classes (and therefore has no concept of changing state). 581 // any pseudo classes (and therefore has no concept of changing state).
580 RenderStyle* getCachedPseudoStyle(PseudoId, RenderStyle* parentStyle = 0) co nst; 582 RenderStyle* getCachedPseudoStyle(PseudoId, RenderStyle* parentStyle = 0) co nst;
581 PassRefPtr<RenderStyle> getUncachedPseudoStyle(const PseudoStyleRequest&, Re nderStyle* parentStyle = 0, RenderStyle* ownStyle = 0) const; 583 PassRefPtr<RenderStyle> getUncachedPseudoStyle(const PseudoStyleRequest&, Re nderStyle* parentStyle = 0, RenderStyle* ownStyle = 0) const;
582 584
583 virtual void updateDragState(bool dragOn); 585 virtual void updateDragState(bool dragOn);
584 586
585 RenderView* view() const { return document().renderView(); }; 587 RenderView* view() const { return document().renderView(); };
(...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after
952 virtual void mapAbsoluteToLocalPoint(MapCoordinatesFlags, TransformState&) c onst; 954 virtual void mapAbsoluteToLocalPoint(MapCoordinatesFlags, TransformState&) c onst;
953 955
954 // Pushes state onto RenderGeometryMap about how to map coordinates from thi s renderer to its container, or ancestorToStopAt (whichever is encountered first ). 956 // Pushes state onto RenderGeometryMap about how to map coordinates from thi s renderer to its container, or ancestorToStopAt (whichever is encountered first ).
955 // Returns the renderer which was mapped to (container or ancestorToStopAt). 957 // Returns the renderer which was mapped to (container or ancestorToStopAt).
956 virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObj ect* ancestorToStopAt, RenderGeometryMap&) const; 958 virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObj ect* ancestorToStopAt, RenderGeometryMap&) const;
957 959
958 bool shouldUseTransformFromContainer(const RenderObject* container) const; 960 bool shouldUseTransformFromContainer(const RenderObject* container) const;
959 void getTransformFromContainer(const RenderObject* container, const LayoutSi ze& offsetInContainer, TransformationMatrix&) const; 961 void getTransformFromContainer(const RenderObject* container, const LayoutSi ze& offsetInContainer, TransformationMatrix&) const;
960 962
961 // return true if this object requires a new stacking context 963 // return true if this object requires a new stacking context
962 bool createsGroup() const { return isTransparent() || hasMask() || hasFilter () || hasBlendMode(); } 964 bool createsGroup() const { return isTransparent() || hasMask() || hasFilter () || hasBlendMode() || hasIsolation(); }
963 965
964 virtual void addFocusRingRects(Vector<IntRect>&, const LayoutPoint& /* addit ionalOffset */, const RenderLayerModelObject* /* paintContainer */ = 0) { }; 966 virtual void addFocusRingRects(Vector<IntRect>&, const LayoutPoint& /* addit ionalOffset */, const RenderLayerModelObject* /* paintContainer */ = 0) { };
965 967
966 // Compute a list of hit-test rectangles per layer rooted at this renderer. 968 // Compute a list of hit-test rectangles per layer rooted at this renderer.
967 virtual void computeLayerHitTestRects(LayerHitTestRects&) const; 969 virtual void computeLayerHitTestRects(LayerHitTestRects&) const;
968 970
969 LayoutRect absoluteOutlineBounds() const 971 LayoutRect absoluteOutlineBounds() const
970 { 972 {
971 return outlineBoundsForRepaint(0); 973 return outlineBoundsForRepaint(0);
972 } 974 }
(...skipping 420 matching lines...) Expand 10 before | Expand all | Expand 10 after
1393 void showTree(const WebCore::RenderObject*); 1395 void showTree(const WebCore::RenderObject*);
1394 void showLineTree(const WebCore::RenderObject*); 1396 void showLineTree(const WebCore::RenderObject*);
1395 void showRenderTree(const WebCore::RenderObject* object1); 1397 void showRenderTree(const WebCore::RenderObject* object1);
1396 // We don't make object2 an optional parameter so that showRenderTree 1398 // We don't make object2 an optional parameter so that showRenderTree
1397 // can be called from gdb easily. 1399 // can be called from gdb easily.
1398 void showRenderTree(const WebCore::RenderObject* object1, const WebCore::RenderO bject* object2); 1400 void showRenderTree(const WebCore::RenderObject* object1, const WebCore::RenderO bject* object2);
1399 1401
1400 #endif 1402 #endif
1401 1403
1402 #endif // RenderObject_h 1404 #endif // RenderObject_h
OLDNEW
« no previous file with comments | « Source/core/css/resolver/StyleAdjuster.cpp ('k') | Source/core/rendering/RenderObject.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698