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

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

Issue 2170583003: Try to fix crash because of InlineBox deletion in a cached subsequence (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: - Created 4 years, 5 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 | « no previous file | third_party/WebKit/Source/core/layout/api/LineLayoutItem.h » ('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 1345 matching lines...) Expand 10 before | Expand all | Expand 10 after
1356 1356
1357 virtual LayoutRect viewRect() const; 1357 virtual LayoutRect viewRect() const;
1358 1358
1359 // TODO(wangxianzhu): Change the call sites to use the faster version if pos sible. 1359 // TODO(wangxianzhu): Change the call sites to use the faster version if pos sible.
1360 void slowSetPaintingLayerNeedsRepaintAndInvalidateDisplayItemClient(const Di splayItemClient& client, PaintInvalidationReason reason) const 1360 void slowSetPaintingLayerNeedsRepaintAndInvalidateDisplayItemClient(const Di splayItemClient& client, PaintInvalidationReason reason) const
1361 { 1361 {
1362 slowSetPaintingLayerNeedsRepaint(); 1362 slowSetPaintingLayerNeedsRepaint();
1363 invalidateDisplayItemClient(client, reason); 1363 invalidateDisplayItemClient(client, reason);
1364 } 1364 }
1365 1365
1366 // This calls paintingLayer() which walks up the tree.
1367 // If possible, use the faster paintInvalidationState.paintingLayer().setNee dsRepaint().
1368 void slowSetPaintingLayerNeedsRepaint() const;
1369
1366 // Sets painting layer needsRepaint, then calls invaldiateDisplayItemClient( ). 1370 // Sets painting layer needsRepaint, then calls invaldiateDisplayItemClient( ).
1367 // Should use this version when PaintInvalidationState is available. 1371 // Should use this version when PaintInvalidationState is available.
1368 void setPaintingLayerNeedsRepaintAndInvalidateDisplayItemClient(const PaintI nvalidationState&, const DisplayItemClient&, PaintInvalidationReason) const; 1372 void setPaintingLayerNeedsRepaintAndInvalidateDisplayItemClient(const PaintI nvalidationState&, const DisplayItemClient&, PaintInvalidationReason) const;
1369 1373
1370 // The caller should ensure the painting layer has been setNeedsRepaint befo re calling this function. 1374 // The caller should ensure the painting layer has been setNeedsRepaint befo re calling this function.
1371 void invalidateDisplayItemClient(const DisplayItemClient&, PaintInvalidation Reason) const; 1375 void invalidateDisplayItemClient(const DisplayItemClient&, PaintInvalidation Reason) const;
1372 1376
1373 void invalidateDisplayItemClientsIncludingNonCompositingDescendants(PaintInv alidationReason) const; 1377 void invalidateDisplayItemClientsIncludingNonCompositingDescendants(PaintInv alidationReason) const;
1374 1378
1375 // Called before anonymousChild.setStyle(). Override to set custom styles fo r the child. 1379 // Called before anonymousChild.setStyle(). Override to set custom styles fo r the child.
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
1561 // by invalidatePaintOfSubtreesIfNeeded. 1565 // by invalidatePaintOfSubtreesIfNeeded.
1562 virtual PaintInvalidationReason invalidatePaintIfNeeded(const PaintInvalidat ionState&); 1566 virtual PaintInvalidationReason invalidatePaintIfNeeded(const PaintInvalidat ionState&);
1563 1567
1564 // When this object is invalidated for paint, this method is called to inval idate any DisplayItemClients 1568 // When this object is invalidated for paint, this method is called to inval idate any DisplayItemClients
1565 // owned by this object, including the object itself, LayoutText/LayoutInlin e line boxes, etc., 1569 // owned by this object, including the object itself, LayoutText/LayoutInlin e line boxes, etc.,
1566 // not including children which will be invalidated normally during invalida teTreeIfNeeded() and 1570 // not including children which will be invalidated normally during invalida teTreeIfNeeded() and
1567 // parts which are invalidated separately (e.g. scrollbars). 1571 // parts which are invalidated separately (e.g. scrollbars).
1568 // The caller should ensure the painting layer has been setNeedsRepaint befo re calling this function. 1572 // The caller should ensure the painting layer has been setNeedsRepaint befo re calling this function.
1569 virtual void invalidateDisplayItemClients(PaintInvalidationReason) const; 1573 virtual void invalidateDisplayItemClients(PaintInvalidationReason) const;
1570 1574
1571 // This calls paintingLayer() which walks up the tree.
1572 // If possible, use the faster paintInvalidationState.paintingLayer().setNee dsRepaint().
1573 void slowSetPaintingLayerNeedsRepaint() const;
1574
1575 // Sets painting layer needsRepaint, then calls invalidateDisplayItemClients (). 1575 // Sets painting layer needsRepaint, then calls invalidateDisplayItemClients ().
1576 // Should use this version when PaintInvalidationState is available. 1576 // Should use this version when PaintInvalidationState is available.
1577 void invalidateDisplayItemClientsWithPaintInvalidationState(const PaintInval idationState&, PaintInvalidationReason) const; 1577 void invalidateDisplayItemClientsWithPaintInvalidationState(const PaintInval idationState&, PaintInvalidationReason) const;
1578 1578
1579 void setIsBackgroundAttachmentFixedObject(bool); 1579 void setIsBackgroundAttachmentFixedObject(bool);
1580 1580
1581 void clearSelfNeedsOverflowRecalcAfterStyleChange() { m_bitfields.setSelfNee dsOverflowRecalcAfterStyleChange(false); } 1581 void clearSelfNeedsOverflowRecalcAfterStyleChange() { m_bitfields.setSelfNee dsOverflowRecalcAfterStyleChange(false); }
1582 void setEverHadLayout() { m_bitfields.setEverHadLayout(true); } 1582 void setEverHadLayout() { m_bitfields.setEverHadLayout(true); }
1583 1583
1584 // Remove this object and all descendants from the containing LayoutFlowThre ad. 1584 // Remove this object and all descendants from the containing LayoutFlowThre ad.
(...skipping 592 matching lines...) Expand 10 before | Expand all | Expand 10 after
2177 void showTree(const blink::LayoutObject*); 2177 void showTree(const blink::LayoutObject*);
2178 void showLineTree(const blink::LayoutObject*); 2178 void showLineTree(const blink::LayoutObject*);
2179 void showLayoutTree(const blink::LayoutObject* object1); 2179 void showLayoutTree(const blink::LayoutObject* object1);
2180 // We don't make object2 an optional parameter so that showLayoutTree 2180 // We don't make object2 an optional parameter so that showLayoutTree
2181 // can be called from gdb easily. 2181 // can be called from gdb easily.
2182 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2); 2182 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2);
2183 2183
2184 #endif 2184 #endif
2185 2185
2186 #endif // LayoutObject_h 2186 #endif // LayoutObject_h
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/layout/api/LineLayoutItem.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698