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

Side by Side Diff: Source/core/rendering/style/RenderStyleConstants.h

Issue 202683005: optimizing layout performance when only transform3d matrix changed by Base URL: http://src.chromium.org/blink/trunk/
Patch Set: Created 6 years, 9 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
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 * Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved. 5 * Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
6 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com) 6 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com)
7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/) 7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/)
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 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 // (2) StyleDifferenceRecompositeLayer - The layer needs its position and transf orm updated, but no repaint. 49 // (2) StyleDifferenceRecompositeLayer - The layer needs its position and transf orm updated, but no repaint.
50 // (3) StyleDifferenceRepaint - The object just needs to be repainted. 50 // (3) StyleDifferenceRepaint - The object just needs to be repainted.
51 // (4) StyleDifferenceRepaintIfTextOrColorChange - The object needs to be repain ted if it contains text or properties dependent on color (e.g., border or outlin e). 51 // (4) StyleDifferenceRepaintIfTextOrColorChange - The object needs to be repain ted if it contains text or properties dependent on color (e.g., border or outlin e).
52 // (5) StyleDifferenceRepaintLayer - The layer and its descendant layers needs t o be repainted. 52 // (5) StyleDifferenceRepaintLayer - The layer and its descendant layers needs t o be repainted.
53 // (6) StyleDifferenceLayoutPositionedMovementOnly - Only the position of this p ositioned object has been updated. 53 // (6) StyleDifferenceLayoutPositionedMovementOnly - Only the position of this p ositioned object has been updated.
54 // (7) StyleDifferenceSimplifiedLayout - Only overflow needs to be recomputed. 54 // (7) StyleDifferenceSimplifiedLayout - Only overflow needs to be recomputed.
55 // (8) StyleDifferenceSimplifiedLayoutAndPositionedMovement - Both positioned mo vement and simplified layout updates are required. 55 // (8) StyleDifferenceSimplifiedLayoutAndPositionedMovement - Both positioned mo vement and simplified layout updates are required.
56 // (9) StyleDifferenceLayout - A full layout is required. 56 // (9) StyleDifferenceLayout - A full layout is required.
57 enum StyleDifference { 57 enum StyleDifference {
58 StyleDifferenceEqual, 58 StyleDifferenceEqual,
59 StyleDifferenceMinRecompositeLayer,
59 StyleDifferenceRecompositeLayer, 60 StyleDifferenceRecompositeLayer,
Ian Vollick 2014/03/18 11:59:16 Rather than adding "MinRecompositeLayer", could we
60 StyleDifferenceRepaint, 61 StyleDifferenceRepaint,
61 StyleDifferenceRepaintIfTextOrColorChange, 62 StyleDifferenceRepaintIfTextOrColorChange,
62 StyleDifferenceRepaintLayer, 63 StyleDifferenceRepaintLayer,
63 StyleDifferenceLayoutPositionedMovementOnly, 64 StyleDifferenceLayoutPositionedMovementOnly,
64 StyleDifferenceSimplifiedLayout, 65 StyleDifferenceSimplifiedLayout,
65 StyleDifferenceSimplifiedLayoutAndPositionedMovement, 66 StyleDifferenceSimplifiedLayoutAndPositionedMovement,
66 StyleDifferenceLayout 67 StyleDifferenceLayout
67 }; 68 };
68 69
69 // When some style properties change, different amounts of work have to be done depending on 70 // When some style properties change, different amounts of work have to be done depending on
70 // context (e.g. whether the property is changing on an element which has a comp ositing layer). 71 // context (e.g. whether the property is changing on an element which has a comp ositing layer).
71 // A simple StyleDifference does not provide enough information so we return a b it mask of 72 // A simple StyleDifference does not provide enough information so we return a b it mask of
72 // StyleDifferenceContextSensitiveProperties from RenderStyle::diff() too. 73 // StyleDifferenceContextSensitiveProperties from RenderStyle::diff() too.
73 enum StyleDifferenceContextSensitiveProperty { 74 enum StyleDifferenceContextSensitiveProperty {
74 ContextSensitivePropertyNone = 0, 75 ContextSensitivePropertyNone = 0,
75 ContextSensitivePropertyTransform = (1 << 0), 76 ContextSensitivePropertyTransform = (1 << 0),
76 ContextSensitivePropertyOpacity = (1 << 1), 77 ContextSensitivePropertyOpacity = (1 << 1),
77 ContextSensitivePropertyFilter = (1 << 2) 78 ContextSensitivePropertyFilter = (1 << 2),
79 ContextSensitivePropertyTransform3D = (1 << 3)
Ian Vollick 2014/03/18 11:59:16 I thought that transform, opacity and filter were
yaojie.yan 2014/03/20 07:43:19 Yes, I will address them in the following up patch
80
78 }; 81 };
79 82
80 // Static pseudo styles. Dynamic ones are produced on the fly. 83 // Static pseudo styles. Dynamic ones are produced on the fly.
81 enum PseudoId { 84 enum PseudoId {
82 // The order must be NOP ID, public IDs, and then internal IDs. 85 // The order must be NOP ID, public IDs, and then internal IDs.
83 // If you add or remove a public ID, you must update _pseudoBits in RenderSt yle. 86 // If you add or remove a public ID, you must update _pseudoBits in RenderSt yle.
84 NOPSEUDO, FIRST_LINE, FIRST_LETTER, BEFORE, AFTER, BACKDROP, SELECTION, FIRS T_LINE_INHERITED, SCROLLBAR, 87 NOPSEUDO, FIRST_LINE, FIRST_LETTER, BEFORE, AFTER, BACKDROP, SELECTION, FIRS T_LINE_INHERITED, SCROLLBAR,
85 // Internal IDs follow: 88 // Internal IDs follow:
86 SCROLLBAR_THUMB, SCROLLBAR_BUTTON, SCROLLBAR_TRACK, SCROLLBAR_TRACK_PIECE, S CROLLBAR_CORNER, RESIZER, INPUT_LIST_BUTTON, 89 SCROLLBAR_THUMB, SCROLLBAR_BUTTON, SCROLLBAR_TRACK, SCROLLBAR_TRACK_PIECE, S CROLLBAR_CORNER, RESIZER, INPUT_LIST_BUTTON,
87 // Special values follow: 90 // Special values follow:
(...skipping 465 matching lines...) Expand 10 before | Expand all | Expand 10 after
553 // Reasonable maximum to prevent insane font sizes from causing crashes on some platforms (such as Windows). 556 // Reasonable maximum to prevent insane font sizes from causing crashes on some platforms (such as Windows).
554 static const float maximumAllowedFontSize = 1000000.0f; 557 static const float maximumAllowedFontSize = 1000000.0f;
555 558
556 enum TextIndentLine { TextIndentFirstLine, TextIndentEachLine }; 559 enum TextIndentLine { TextIndentFirstLine, TextIndentEachLine };
557 560
558 enum LayoutBox { BoxMissing = 0, MarginBox, BorderBox, PaddingBox, ContentBox }; 561 enum LayoutBox { BoxMissing = 0, MarginBox, BorderBox, PaddingBox, ContentBox };
559 562
560 } // namespace WebCore 563 } // namespace WebCore
561 564
562 #endif // RenderStyleConstants_h 565 #endif // RenderStyleConstants_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698