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

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

Issue 77723004: [CSS Blending] Fix isolation for the hardware path. (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
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 557 matching lines...) Expand 10 before | Expand all | Expand 10 after
568 568
569 bool hasTransform() const { return m_bitfields.hasTransform(); } 569 bool hasTransform() const { return m_bitfields.hasTransform(); }
570 bool hasMask() const { return style() && style()->hasMask(); } 570 bool hasMask() const { return style() && style()->hasMask(); }
571 bool hasClipPath() const { return style() && style()->clipPath(); } 571 bool hasClipPath() const { return style() && style()->clipPath(); }
572 bool hasHiddenBackface() const { return style() && style()->backfaceVisibili ty() == BackfaceVisibilityHidden; } 572 bool hasHiddenBackface() const { return style() && style()->backfaceVisibili ty() == BackfaceVisibilityHidden; }
573 573
574 bool hasFilter() const { return style() && style()->hasFilter(); } 574 bool hasFilter() const { return style() && style()->hasFilter(); }
575 575
576 bool hasBlendMode() const; 576 bool hasBlendMode() const;
577 577
578 bool hasIsolation() const;
579
580 inline bool preservesNewline() const; 578 inline bool preservesNewline() const;
581 579
582 // 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
583 // any pseudo classes (and therefore has no concept of changing state). 581 // any pseudo classes (and therefore has no concept of changing state).
584 RenderStyle* getCachedPseudoStyle(PseudoId, RenderStyle* parentStyle = 0) co nst; 582 RenderStyle* getCachedPseudoStyle(PseudoId, RenderStyle* parentStyle = 0) co nst;
585 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;
586 584
587 virtual void updateDragState(bool dragOn); 585 virtual void updateDragState(bool dragOn);
588 586
589 RenderView* view() const { return document().renderView(); }; 587 RenderView* view() const { return document().renderView(); };
(...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after
959 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContai ner, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = 0) const; 957 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContai ner, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = 0) const;
960 virtual void mapAbsoluteToLocalPoint(MapCoordinatesFlags, TransformState&) c onst; 958 virtual void mapAbsoluteToLocalPoint(MapCoordinatesFlags, TransformState&) c onst;
961 959
962 // Pushes state onto RenderGeometryMap about how to map coordinates from thi s renderer to its container, or ancestorToStopAt (whichever is encountered first ). 960 // Pushes state onto RenderGeometryMap about how to map coordinates from thi s renderer to its container, or ancestorToStopAt (whichever is encountered first ).
963 // Returns the renderer which was mapped to (container or ancestorToStopAt). 961 // Returns the renderer which was mapped to (container or ancestorToStopAt).
964 virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObj ect* ancestorToStopAt, RenderGeometryMap&) const; 962 virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObj ect* ancestorToStopAt, RenderGeometryMap&) const;
965 963
966 bool shouldUseTransformFromContainer(const RenderObject* container) const; 964 bool shouldUseTransformFromContainer(const RenderObject* container) const;
967 void getTransformFromContainer(const RenderObject* container, const LayoutSi ze& offsetInContainer, TransformationMatrix&) const; 965 void getTransformFromContainer(const RenderObject* container, const LayoutSi ze& offsetInContainer, TransformationMatrix&) const;
968 966
969 // return true if this object requires a new stacking context 967 bool createsGroup() const { return isTransparent() || hasMask() || hasFilter () || hasBlendMode(); }
970 bool createsGroup() const { return isTransparent() || hasMask() || hasFilter () || hasBlendMode() || hasIsolation(); }
971 968
972 virtual void addFocusRingRects(Vector<IntRect>&, const LayoutPoint& /* addit ionalOffset */, const RenderLayerModelObject* /* paintContainer */ = 0) { }; 969 virtual void addFocusRingRects(Vector<IntRect>&, const LayoutPoint& /* addit ionalOffset */, const RenderLayerModelObject* /* paintContainer */ = 0) { };
973 970
974 // Compute a list of hit-test rectangles per layer rooted at this renderer. 971 // Compute a list of hit-test rectangles per layer rooted at this renderer.
975 virtual void computeLayerHitTestRects(LayerHitTestRects&) const; 972 virtual void computeLayerHitTestRects(LayerHitTestRects&) const;
976 973
977 LayoutRect absoluteOutlineBounds() const 974 LayoutRect absoluteOutlineBounds() const
978 { 975 {
979 return outlineBoundsForRepaint(0); 976 return outlineBoundsForRepaint(0);
980 } 977 }
(...skipping 420 matching lines...) Expand 10 before | Expand all | Expand 10 after
1401 void showTree(const WebCore::RenderObject*); 1398 void showTree(const WebCore::RenderObject*);
1402 void showLineTree(const WebCore::RenderObject*); 1399 void showLineTree(const WebCore::RenderObject*);
1403 void showRenderTree(const WebCore::RenderObject* object1); 1400 void showRenderTree(const WebCore::RenderObject* object1);
1404 // We don't make object2 an optional parameter so that showRenderTree 1401 // We don't make object2 an optional parameter so that showRenderTree
1405 // can be called from gdb easily. 1402 // can be called from gdb easily.
1406 void showRenderTree(const WebCore::RenderObject* object1, const WebCore::RenderO bject* object2); 1403 void showRenderTree(const WebCore::RenderObject* object1, const WebCore::RenderO bject* object2);
1407 1404
1408 #endif 1405 #endif
1409 1406
1410 #endif // RenderObject_h 1407 #endif // RenderObject_h
OLDNEW
« no previous file with comments | « LayoutTests/css3/compositing/isolation-isolate-simple-expected.txt ('k') | Source/core/rendering/RenderObject.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698