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

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

Issue 351213002: Change RenderObject::style(bool) to accept an enum instead (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Renamed enum to OwnOrFirstLineStyle, rebased and got rid of duplicate state on the stack in RootInl… Created 6 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 | « Source/core/rendering/RenderObject.h ('k') | Source/core/rendering/RenderObjectInlines.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) 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. All rights reserv ed. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. All rights reserv ed.
7 * Copyright (C) 2009 Google Inc. All rights reserved. 7 * Copyright (C) 2009 Google Inc. All rights reserved.
8 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/) 8 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/)
9 * 9 *
10 * This library is free software; you can redistribute it and/or 10 * This library is free software; you can redistribute it and/or
(...skipping 3052 matching lines...) Expand 10 before | Expand all | Expand 10 after
3063 } 3063 }
3064 3064
3065 void RenderObject::getTextDecorations(unsigned decorations, AppliedTextDecoratio n& underline, AppliedTextDecoration& overline, AppliedTextDecoration& linethroug h, bool quirksMode, bool firstlineStyle) 3065 void RenderObject::getTextDecorations(unsigned decorations, AppliedTextDecoratio n& underline, AppliedTextDecoration& overline, AppliedTextDecoration& linethroug h, bool quirksMode, bool firstlineStyle)
3066 { 3066 {
3067 RenderObject* curr = this; 3067 RenderObject* curr = this;
3068 RenderStyle* styleToUse = 0; 3068 RenderStyle* styleToUse = 0;
3069 unsigned currDecs = TextDecorationNone; 3069 unsigned currDecs = TextDecorationNone;
3070 Color resultColor; 3070 Color resultColor;
3071 TextDecorationStyle resultStyle; 3071 TextDecorationStyle resultStyle;
3072 do { 3072 do {
3073 styleToUse = curr->style(firstlineStyle); 3073 styleToUse = curr->style(firstlineStyle ? FirstLineStyle : OwnStyle);
3074 currDecs = styleToUse->textDecoration(); 3074 currDecs = styleToUse->textDecoration();
3075 currDecs &= decorations; 3075 currDecs &= decorations;
3076 resultColor = styleToUse->visitedDependentDecorationColor(); 3076 resultColor = styleToUse->visitedDependentDecorationColor();
3077 resultStyle = styleToUse->textDecorationStyle(); 3077 resultStyle = styleToUse->textDecorationStyle();
3078 // Parameter 'decorations' is cast as an int to enable the bitwise opera tions below. 3078 // Parameter 'decorations' is cast as an int to enable the bitwise opera tions below.
3079 if (currDecs) { 3079 if (currDecs) {
3080 if (currDecs & TextDecorationUnderline) { 3080 if (currDecs & TextDecorationUnderline) {
3081 decorations &= ~TextDecorationUnderline; 3081 decorations &= ~TextDecorationUnderline;
3082 underline.color = resultColor; 3082 underline.color = resultColor;
3083 underline.style = resultStyle; 3083 underline.style = resultStyle;
(...skipping 11 matching lines...) Expand all
3095 } 3095 }
3096 if (curr->isRubyText()) 3096 if (curr->isRubyText())
3097 return; 3097 return;
3098 curr = curr->parent(); 3098 curr = curr->parent();
3099 if (curr && curr->isAnonymousBlock() && toRenderBlock(curr)->continuatio n()) 3099 if (curr && curr->isAnonymousBlock() && toRenderBlock(curr)->continuatio n())
3100 curr = toRenderBlock(curr)->continuation(); 3100 curr = toRenderBlock(curr)->continuation();
3101 } while (curr && decorations && (!quirksMode || !curr->node() || (!isHTMLAnc horElement(*curr->node()) && !isHTMLFontElement(*curr->node())))); 3101 } while (curr && decorations && (!quirksMode || !curr->node() || (!isHTMLAnc horElement(*curr->node()) && !isHTMLFontElement(*curr->node()))));
3102 3102
3103 // If we bailed out, use the element we bailed out at (typically a <font> or <a> element). 3103 // If we bailed out, use the element we bailed out at (typically a <font> or <a> element).
3104 if (decorations && curr) { 3104 if (decorations && curr) {
3105 styleToUse = curr->style(firstlineStyle); 3105 styleToUse = curr->style(firstlineStyle ? FirstLineStyle : OwnStyle);
3106 resultColor = styleToUse->visitedDependentDecorationColor(); 3106 resultColor = styleToUse->visitedDependentDecorationColor();
3107 if (decorations & TextDecorationUnderline) { 3107 if (decorations & TextDecorationUnderline) {
3108 underline.color = resultColor; 3108 underline.color = resultColor;
3109 underline.style = resultStyle; 3109 underline.style = resultStyle;
3110 } 3110 }
3111 if (decorations & TextDecorationOverline) { 3111 if (decorations & TextDecorationOverline) {
3112 overline.color = resultColor; 3112 overline.color = resultColor;
3113 overline.style = resultStyle; 3113 overline.style = resultStyle;
3114 } 3114 }
3115 if (decorations & TextDecorationLineThrough) { 3115 if (decorations & TextDecorationLineThrough) {
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after
3447 { 3447 {
3448 if (object1) { 3448 if (object1) {
3449 const WebCore::RenderObject* root = object1; 3449 const WebCore::RenderObject* root = object1;
3450 while (root->parent()) 3450 while (root->parent())
3451 root = root->parent(); 3451 root = root->parent();
3452 root->showRenderTreeAndMark(object1, "*", object2, "-", 0); 3452 root->showRenderTreeAndMark(object1, "*", object2, "-", 0);
3453 } 3453 }
3454 } 3454 }
3455 3455
3456 #endif 3456 #endif
OLDNEW
« no previous file with comments | « Source/core/rendering/RenderObject.h ('k') | Source/core/rendering/RenderObjectInlines.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698