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

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

Issue 2375043002: Fix up that no render SVG shape when change clip-path to visible after hidden. (Closed)
Patch Set: Issue 590153 Created 4 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 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) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 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 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. 9 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved.
10 * (http://www.torchmobile.com/) 10 * (http://www.torchmobile.com/)
(...skipping 1523 matching lines...) Expand 10 before | Expand all | Expand 10 after
1534 // underlines). 1534 // underlines).
1535 || (isText() && !isBR() && toLayoutText(this)->hasTextBoxes()) 1535 || (isText() && !isBR() && toLayoutText(this)->hasTextBoxes())
1536 // Caret is painted in text color. 1536 // Caret is painted in text color.
1537 || (isLayoutBlock() && toLayoutBlock(this)->hasCaret()) || 1537 || (isLayoutBlock() && toLayoutBlock(this)->hasCaret()) ||
1538 (isSVG() && style()->svgStyle().isFillColorCurrentColor()) || 1538 (isSVG() && style()->svgStyle().isFillColorCurrentColor()) ||
1539 (isSVG() && style()->svgStyle().isStrokeColorCurrentColor()) || 1539 (isSVG() && style()->svgStyle().isStrokeColorCurrentColor()) ||
1540 isListMarker()) 1540 isListMarker())
1541 diff.setNeedsPaintInvalidationObject(); 1541 diff.setNeedsPaintInvalidationObject();
1542 } 1542 }
1543 1543
1544 if (!diff.needsPaintInvalidation() && isSVG() && hasClipPath() &&
fs 2016/11/07 12:03:30 Neither does this (very/overly case-specific.)
1545 style()->visibility() == EVisibility::Visible)
1546 diff.setNeedsPaintInvalidationObject();
1547
1544 // The answer to layerTypeRequired() for plugins, iframes, and canvas can 1548 // The answer to layerTypeRequired() for plugins, iframes, and canvas can
1545 // change without the actual style changing, since it depends on whether we 1549 // change without the actual style changing, since it depends on whether we
1546 // decide to composite these elements. When the/ layer status of one of these 1550 // decide to composite these elements. When the/ layer status of one of these
1547 // elements changes, we need to force a layout. 1551 // elements changes, we need to force a layout.
1548 if (!diff.needsFullLayout() && style() && isBoxModelObject()) { 1552 if (!diff.needsFullLayout() && style() && isBoxModelObject()) {
1549 bool requiresLayer = 1553 bool requiresLayer =
1550 toLayoutBoxModelObject(this)->layerTypeRequired() != NoPaintLayer; 1554 toLayoutBoxModelObject(this)->layerTypeRequired() != NoPaintLayer;
1551 if (hasLayer() != requiresLayer) 1555 if (hasLayer() != requiresLayer)
1552 diff.setNeedsFullLayout(); 1556 diff.setNeedsFullLayout();
1553 } 1557 }
(...skipping 2001 matching lines...) Expand 10 before | Expand all | Expand 10 after
3555 const blink::LayoutObject* root = object1; 3559 const blink::LayoutObject* root = object1;
3556 while (root->parent()) 3560 while (root->parent())
3557 root = root->parent(); 3561 root = root->parent();
3558 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0); 3562 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0);
3559 } else { 3563 } else {
3560 WTFLogAlways("%s", "Cannot showLayoutTree. Root is (nil)"); 3564 WTFLogAlways("%s", "Cannot showLayoutTree. Root is (nil)");
3561 } 3565 }
3562 } 3566 }
3563 3567
3564 #endif 3568 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698