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

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

Issue 19697011: Change rendering code to use RenderObject::resolveColor (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2008, 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2008, 2011 Apple Inc. All rights reserved.
3 * 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/) 3 * 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/)
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 8 *
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after
400 return; 400 return;
401 401
402 String itemText; 402 String itemText;
403 bool isOptionElement = element->hasTagName(optionTag); 403 bool isOptionElement = element->hasTagName(optionTag);
404 if (isOptionElement) 404 if (isOptionElement)
405 itemText = toHTMLOptionElement(element)->textIndentedToRespectGroupLabel (); 405 itemText = toHTMLOptionElement(element)->textIndentedToRespectGroupLabel ();
406 else if (isHTMLOptGroupElement(element)) 406 else if (isHTMLOptGroupElement(element))
407 itemText = toHTMLOptGroupElement(element)->groupLabelText(); 407 itemText = toHTMLOptGroupElement(element)->groupLabelText();
408 applyTextTransform(style(), itemText, ' '); 408 applyTextTransform(style(), itemText, ' ');
409 409
410 Color textColor = element->renderStyle() ? element->renderStyle()->visitedDe pendentColor(CSSPropertyColor) : style()->visitedDependentColor(CSSPropertyColor ); 410 Color textColor = element->renderStyle() ? resolveColor(element->renderStyle (), CSSPropertyColor) : resolveColor(CSSPropertyColor);
411 if (isOptionElement && toHTMLOptionElement(element)->selected()) { 411 if (isOptionElement && toHTMLOptionElement(element)->selected()) {
412 if (frame()->selection()->isFocusedAndActive() && document()->focusedEle ment() == node()) 412 if (frame()->selection()->isFocusedAndActive() && document()->focusedEle ment() == node())
413 textColor = theme()->activeListBoxSelectionForegroundColor(); 413 textColor = theme()->activeListBoxSelectionForegroundColor();
414 // Honor the foreground color for disabled items 414 // Honor the foreground color for disabled items
415 else if (!element->isDisabledFormControl() && !select->isDisabledFormCon trol()) 415 else if (!element->isDisabledFormControl() && !select->isDisabledFormCon trol())
416 textColor = theme()->inactiveListBoxSelectionForegroundColor(); 416 textColor = theme()->inactiveListBoxSelectionForegroundColor();
417 } 417 }
418 418
419 paintInfo.context->setFillColor(textColor); 419 paintInfo.context->setFillColor(textColor);
420 420
(...skipping 19 matching lines...) Expand all
440 { 440 {
441 const Vector<HTMLElement*>& listItems = selectElement()->listItems(); 441 const Vector<HTMLElement*>& listItems = selectElement()->listItems();
442 HTMLElement* element = listItems[listIndex]; 442 HTMLElement* element = listItems[listIndex];
443 443
444 Color backColor; 444 Color backColor;
445 if (element->hasTagName(optionTag) && toHTMLOptionElement(element)->selected ()) { 445 if (element->hasTagName(optionTag) && toHTMLOptionElement(element)->selected ()) {
446 if (frame()->selection()->isFocusedAndActive() && document()->focusedEle ment() == node()) 446 if (frame()->selection()->isFocusedAndActive() && document()->focusedEle ment() == node())
447 backColor = theme()->activeListBoxSelectionBackgroundColor(); 447 backColor = theme()->activeListBoxSelectionBackgroundColor();
448 else 448 else
449 backColor = theme()->inactiveListBoxSelectionBackgroundColor(); 449 backColor = theme()->inactiveListBoxSelectionBackgroundColor();
450 } else 450 } else {
451 backColor = element->renderStyle() ? element->renderStyle()->visitedDepe ndentColor(CSSPropertyBackgroundColor) : style()->visitedDependentColor(CSSPrope rtyBackgroundColor); 451 backColor = element->renderStyle() ? resolveColor(element->renderStyle() , CSSPropertyBackgroundColor) : resolveColor(CSSPropertyBackgroundColor);
452 }
452 453
453 // Draw the background for this list box item 454 // Draw the background for this list box item
454 if (!element->renderStyle() || element->renderStyle()->visibility() != HIDDE N) { 455 if (!element->renderStyle() || element->renderStyle()->visibility() != HIDDE N) {
455 LayoutRect itemRect = itemBoundingBoxRect(paintOffset, listIndex); 456 LayoutRect itemRect = itemBoundingBoxRect(paintOffset, listIndex);
456 itemRect.intersect(controlClipRect(paintOffset)); 457 itemRect.intersect(controlClipRect(paintOffset));
457 paintInfo.context->fillRect(pixelSnappedIntRect(itemRect), backColor); 458 paintInfo.context->fillRect(pixelSnappedIntRect(itemRect), backColor);
458 } 459 }
459 } 460 }
460 461
461 bool RenderListBox::isPointInOverflowControl(HitTestResult& result, const Layout Point& locationInContainer, const LayoutPoint& accumulatedOffset) 462 bool RenderListBox::isPointInOverflowControl(HitTestResult& result, const Layout Point& locationInContainer, const LayoutPoint& accumulatedOffset)
(...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after
888 889
889 if (m_vBar) 890 if (m_vBar)
890 m_vBar->styleChanged(); 891 m_vBar->styleChanged();
891 892
892 // Force an update since we know the scrollbars have changed things. 893 // Force an update since we know the scrollbars have changed things.
893 if (document()->hasAnnotatedRegions()) 894 if (document()->hasAnnotatedRegions())
894 document()->setAnnotatedRegionsDirty(true); 895 document()->setAnnotatedRegionsDirty(true);
895 } 896 }
896 897
897 } // namespace WebCore 898 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/core/rendering/RenderLayerBacking.cpp ('k') | Source/core/rendering/RenderListMarker.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698