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

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

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