Chromium Code Reviews| OLD | NEW |
|---|---|
| 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) 2001 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
| 5 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) | 5 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) |
| 6 * Copyright (C) 2004, 2005, 2006, 2010 Apple Inc. All rights reserved. | 6 * Copyright (C) 2004, 2005, 2006, 2010 Apple Inc. All rights reserved. |
| 7 * Copyright (C) 2010 Google Inc. All rights reserved. | 7 * Copyright (C) 2010 Google Inc. All rights reserved. |
| 8 * Copyright (C) 2011 Motorola Mobility, Inc. All rights reserved. | 8 * Copyright (C) 2011 Motorola Mobility, Inc. All rights reserved. |
| 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 278 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 289 m_style = originalStyleForRenderer(); | 289 m_style = originalStyleForRenderer(); |
| 290 } | 290 } |
| 291 | 291 |
| 292 RenderStyle* HTMLOptionElement::nonRendererStyle() const | 292 RenderStyle* HTMLOptionElement::nonRendererStyle() const |
| 293 { | 293 { |
| 294 return m_style.get(); | 294 return m_style.get(); |
| 295 } | 295 } |
| 296 | 296 |
| 297 PassRefPtr<RenderStyle> HTMLOptionElement::customStyleForRenderer() | 297 PassRefPtr<RenderStyle> HTMLOptionElement::customStyleForRenderer() |
| 298 { | 298 { |
| 299 if (!needsAttach()) | |
| 300 updateNonRenderStyle(); | |
|
rune
2014/02/13 23:57:35
Possibly, updateNonRenderStyle can be called uncon
esprehn
2014/02/14 00:46:20
I'm inclined to say we do that. This has been a so
rune
2014/02/14 09:42:08
Done.
| |
| 299 return m_style; | 301 return m_style; |
| 300 } | 302 } |
| 301 | 303 |
| 302 void HTMLOptionElement::willRecalcStyle(StyleRecalcChange change) | 304 void HTMLOptionElement::didRecalcStyle(StyleRecalcChange change) |
| 303 { | 305 { |
| 304 if (!needsAttach() && (needsStyleRecalc() || change >= Inherit)) | 306 if (change == NoChange) |
| 305 updateNonRenderStyle(); | 307 return; |
| 306 } | |
| 307 | 308 |
| 308 void HTMLOptionElement::didRecalcStyle(StyleRecalcChange) | 309 // FIXME: We ask our owner select to repaint regardless of which property ch anged. |
| 309 { | |
| 310 // FIXME: This is nasty, we ask our owner select to repaint even if the new | |
| 311 // style is exactly the same. | |
| 312 if (HTMLSelectElement* select = ownerSelectElement()) { | 310 if (HTMLSelectElement* select = ownerSelectElement()) { |
| 313 if (RenderObject* renderer = select->renderer()) | 311 if (RenderObject* renderer = select->renderer()) |
| 314 renderer->repaint(); | 312 renderer->repaint(); |
| 315 } | 313 } |
| 316 } | 314 } |
| 317 | 315 |
| 318 String HTMLOptionElement::textIndentedToRespectGroupLabel() const | 316 String HTMLOptionElement::textIndentedToRespectGroupLabel() const |
| 319 { | 317 { |
| 320 ContainerNode* parent = parentNode(); | 318 ContainerNode* parent = parentNode(); |
| 321 if (parent && parent->hasTagName(optgroupTag)) | 319 if (parent && parent->hasTagName(optgroupTag)) |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 365 | 363 |
| 366 HTMLFormElement* HTMLOptionElement::form() const | 364 HTMLFormElement* HTMLOptionElement::form() const |
| 367 { | 365 { |
| 368 if (HTMLSelectElement* selectElement = ownerSelectElement()) | 366 if (HTMLSelectElement* selectElement = ownerSelectElement()) |
| 369 return selectElement->formOwner(); | 367 return selectElement->formOwner(); |
| 370 | 368 |
| 371 return 0; | 369 return 0; |
| 372 } | 370 } |
| 373 | 371 |
| 374 } // namespace WebCore | 372 } // namespace WebCore |
| OLD | NEW |