<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>25558</bug_id>
          
          <creation_ts>2009-05-04 19:38:30 -0700</creation_ts>
          <short_desc>Rendering fix for &lt;select&gt; elements.</short_desc>
          <delta_ts>2009-05-05 22:30:57 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Langley">agl</reporter>
          <assigned_to name="Adam Langley">agl</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>119915</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Langley">agl</who>
    <bug_when>2009-05-04 19:38:30 -0700</bug_when>
    <thetext>Rendering fix for &lt;select&gt; elements.

When switching a &lt;select&gt; element from display:none to default
display, we would fail to invalidate the parent&apos;s pref widths in some
situations:

When attaching the element, RenderMenuList::updateOptionsWidth would
call setNeedsLayoutAndPrefWidthsRecalc before the parent pointer was
set. This would mark the pref widths as dirty, but not for any parent
objects.

When RenderObjectChildList::appendChildNode later calls
setNeedsLayoutAndPrefWidthsRecalc again, with a valid parent pointer,
nothing would be done because the pref widths were already dirty for
the RenderMenuList.

Without this patch, the &lt;select&gt; element will spill outside of the
table in the layout test.

This issue was often hidden because, depending on whitespace,
the presence of &lt;option&gt; elements etc, there would often be an empty
RenderText node after the &lt;select&gt; element. This could do the job of
invalidating the parent&apos;s pref widths. It&apos;s only when this element
isn&apos;t present that the bug bites.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119916</commentid>
    <comment_count>1</comment_count>
      <attachid>30007</attachid>
    <who name="Adam Langley">agl</who>
    <bug_when>2009-05-04 19:41:09 -0700</bug_when>
    <thetext>Created attachment 30007
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119918</commentid>
    <comment_count>2</comment_count>
      <attachid>30007</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-05-04 20:01:20 -0700</bug_when>
    <thetext>Comment on attachment 30007
patch

Looks fine, r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120062</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-05-05 22:30:57 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	LayoutTests/ChangeLog
	A	LayoutTests/fast/forms/select-dirty-parent-pref-widths.html
	A	LayoutTests/platform/mac/fast/forms/select-dirty-parent-pref-widths-expected.checksum
	A	LayoutTests/platform/mac/fast/forms/select-dirty-parent-pref-widths-expected.txt
	M	WebCore/ChangeLog
	M	WebCore/rendering/RenderMenuList.cpp
Committed r43278
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30007</attachid>
            <date>2009-05-04 19:41:09 -0700</date>
            <delta_ts>2009-05-04 20:01:20 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>5581</size>
            <attacher name="Adam Langley">agl</attacher>
            
              <data encoding="base64">Y29tbWl0IDBiOTM2M2ViMzU0M2Y2NWExMTI2ZjFiNDQ3NzQwOGIzODFhY2ZkMGYKQXV0aG9yOiBB
ZGFtIExhbmdsZXkgPGFnbEBnb29nbGUuY29tPgpEYXRlOiAgIE1vbiBNYXkgNCAxNzozNToyNiAy
MDA5IC0wNzAwCgogICAgUmVuZGVyaW5nIGZpeCBmb3IgPHNlbGVjdD4gZWxlbWVudHMuCiAgICAK
ICAgIFdoZW4gc3dpdGNoaW5nIGEgPHNlbGVjdD4gZWxlbWVudCBmcm9tIGRpc3BsYXk6bm9uZSB0
byBkZWZhdWx0CiAgICBkaXNwbGF5LCB3ZSB3b3VsZCBmYWlsIHRvIGludmFsaWRhdGUgdGhlIHBh
cmVudCdzIHByZWYgd2lkdGhzIGluIHNvbWUKICAgIHNpdHVhdGlvbnM6CiAgICAKICAgIFdoZW4g
YXR0YWNoaW5nIHRoZSBlbGVtZW50LCBSZW5kZXJNZW51TGlzdDo6dXBkYXRlT3B0aW9uc1dpZHRo
IHdvdWxkCiAgICBjYWxsIHNldE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2FsYyBiZWZvcmUg
dGhlIHBhcmVudCBwb2ludGVyIHdhcwogICAgc2V0LiBUaGlzIHdvdWxkIG1hcmsgdGhlIHByZWYg
d2lkdGhzIGFzIGRpcnR5LCBidXQgbm90IGZvciBhbnkgcGFyZW50CiAgICBvYmplY3RzLgogICAg
CiAgICBXaGVuIFJlbmRlck9iamVjdENoaWxkTGlzdDo6YXBwZW5kQ2hpbGROb2RlIGxhdGVyIGNh
bGxzCiAgICBzZXROZWVkc0xheW91dEFuZFByZWZXaWR0aHNSZWNhbGMgYWdhaW4sIHdpdGggYSB2
YWxpZCBwYXJlbnQgcG9pbnRlciwKICAgIG5vdGhpbmcgd291bGQgYmUgZG9uZSBiZWNhdXNlIHRo
ZSBwcmVmIHdpZHRocyB3ZXJlIGFscmVhZHkgZGlydHkgZm9yCiAgICB0aGUgUmVuZGVyTWVudUxp
c3QuCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zZWxlY3QtZGlydHktcGFy
ZW50LXByZWYtd2lkdGhzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NlbGVjdC1kaXJ0
eS1wYXJlbnQtcHJlZi13aWR0aHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi5iZDIxMThiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9z
ZWxlY3QtZGlydHktcGFyZW50LXByZWYtd2lkdGhzLmh0bWwKQEAgLTAsMCArMSwyOCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiPgorICAgICAgZnVuY3Rpb24gZ28oKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdzZWwxJykuc3R5bGUuZGlzcGxheSA9ICcnOworCisgICAgICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgfQorCisgICAgICBmdW5jdGlvbiBtYWluKCkg
eworICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAg
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgc2V0
VGltZW91dChnbywgMCk7CisgICAgICB9CisgICAgPC9zY3JpcHQ+CisgIDwvaGVhZD4KKyAgPGJv
ZHkgb25sb2FkPSJtYWluKCk7Ij4KKyAgICA8dGFibGUgYm9yZGVyPScxJz4KKyAgICAgIDx0cj4K
KyAgICAgICAgPHRkPjxzZWxlY3QgaWQ9InNlbDEiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+PG9w
dGlvbiBsYWJlbD0idGVzdCI+PC9zZWxlY3Q+PC90ZD4KKyAgICAgIDwvdHI+CisgICAgPC90YWJs
ZT4KKworICAgIDxwPlRoZSBzZWxlY3QgZWxlbWVudCBpbiB0aGUgdGFibGUgYWJvdmUgbXVzdCBu
b3Qgc3BpbGwgb3V0c2lkZSBvZiB0aGUgdGFibGUuPC9wPgorICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mb3Jtcy9zZWxlY3QtZGly
dHktcGFyZW50LXByZWYtd2lkdGhzLWV4cGVjdGVkLmNoZWNrc3VtIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvZm9ybXMvc2VsZWN0LWRpcnR5LXBhcmVudC1wcmVmLXdpZHRocy1leHBl
Y3RlZC5jaGVja3N1bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZmRlZWZl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZm9ybXMv
c2VsZWN0LWRpcnR5LXBhcmVudC1wcmVmLXdpZHRocy1leHBlY3RlZC5jaGVja3N1bQpAQCAtMCww
ICsxIEBACisxOWI2NzA1MzBjM2UzMDM5MjY3NjUzMzNlMDU1ZDg3NwpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Zv
cm1zL3NlbGVjdC1kaXJ0eS1wYXJlbnQtcHJlZi13aWR0aHMtZXhwZWN0ZWQucG5nIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZm9ybXMvc2VsZWN0LWRpcnR5LXBhcmVudC1wcmVmLXdp
ZHRocy1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDc2
NTU5ZgpCaW5hcnkgZmlsZXMgL2Rldi9udWxsIGFuZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L2Zvcm1zL3NlbGVjdC1kaXJ0eS1wYXJlbnQtcHJlZi13aWR0aHMtZXhwZWN0ZWQucG5n
IGRpZmZlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZm9ybXMv
c2VsZWN0LWRpcnR5LXBhcmVudC1wcmVmLXdpZHRocy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9mb3Jtcy9zZWxlY3QtZGlydHktcGFyZW50LXByZWYtd2lkdGhz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMGU3OTc4
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZm9ybXMv
c2VsZWN0LWRpcnR5LXBhcmVudC1wcmVmLXdpZHRocy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NiBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg5MAorICBSZW5kZXJCbG9jayB7
SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4OTAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4
KSBzaXplIDc4NHg2NgorICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXplIDY1
eDMyIFtib3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQorICAgICAgICBSZW5kZXJUYWJsZVNl
Y3Rpb24ge1RCT0RZfSBhdCAoMSwxKSBzaXplIDYzeDMwCisgICAgICAgICAgUmVuZGVyVGFibGVS
b3cge1RSfSBhdCAoMCwyKSBzaXplIDYzeDI2CisgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwg
e1REfSBhdCAoMiwyKSBzaXplIDU5eDI2IFtib3JkZXI6ICgxcHggaW5zZXQgIzgwODA4MCldIFty
PTAgYz0wIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgUmVuZGVyTWVudUxpc3Qge1NFTEVDVH0g
YXQgKDQsNCkgc2l6ZSA1MXgxOCBbYmdjb2xvcj0jRkZGRkZGXQorICAgICAgICAgICAgICAgIFJl
bmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgNTF4MTgKKyAgICAgICAgICAgICAg
ICAgIFJlbmRlclRleHQgYXQgKDgsMikgc2l6ZSAyMHgxMworICAgICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoOCwyKSB3aWR0aCAyMDogInRlc3QiCisgICAgICBSZW5kZXJCbG9jayB7UH0g
YXQgKDAsNDgpIHNpemUgNzg0eDE4CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDQ0N3gxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQ0NzogIlRo
ZSBzZWxlY3QgZWxlbWVudCBpbiB0aGUgdGFibGUgYWJvdmUgbXVzdCBub3Qgc3BpbGwgb3V0c2lk
ZSBvZiB0aGUgdGFibGUuIgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCAwMDY4NTU2Li5iNWRjZGQzIDEwMDY0NAotLS0gYS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDA5LTA1
LTA0ICBBZGFtIExhbmdsZXkgIDxhZ2xAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5kZXJpbmcgZml4IGZvciA8c2VsZWN0PiBl
bGVtZW50cy4KKworICAgICAgICBXaGVuIHN3aXRjaGluZyBhIDxzZWxlY3Q+IGVsZW1lbnQgZnJv
bSBkaXNwbGF5Om5vbmUgdG8gZGVmYXVsdAorICAgICAgICBkaXNwbGF5LCB3ZSB3b3VsZCBmYWls
IHRvIGludmFsaWRhdGUgdGhlIHBhcmVudCdzIHByZWYgd2lkdGhzIGluIHNvbWUKKyAgICAgICAg
c2l0dWF0aW9uczoKKworICAgICAgICBXaGVuIGF0dGFjaGluZyB0aGUgZWxlbWVudCwgUmVuZGVy
TWVudUxpc3Q6OnVwZGF0ZU9wdGlvbnNXaWR0aCB3b3VsZAorICAgICAgICBjYWxsIHNldE5lZWRz
TGF5b3V0QW5kUHJlZldpZHRoc1JlY2FsYyBiZWZvcmUgdGhlIHBhcmVudCBwb2ludGVyIHdhcwor
ICAgICAgICBzZXQuIFRoaXMgd291bGQgbWFyayB0aGUgcHJlZiB3aWR0aHMgYXMgZGlydHksIGJ1
dCBub3QgZm9yIGFueSBwYXJlbnQKKyAgICAgICAgb2JqZWN0cy4KKworICAgICAgICBXaGVuIFJl
bmRlck9iamVjdENoaWxkTGlzdDo6YXBwZW5kQ2hpbGROb2RlIGxhdGVyIGNhbGxzCisgICAgICAg
IHNldE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2FsYyBhZ2Fpbiwgd2l0aCBhIHZhbGlkIHBh
cmVudCBwb2ludGVyLAorICAgICAgICBub3RoaW5nIHdvdWxkIGJlIGRvbmUgYmVjYXVzZSB0aGUg
cHJlZiB3aWR0aHMgd2VyZSBhbHJlYWR5IGRpcnR5IGZvci4KKyAgICAgICAgdGhlIFJlbmRlck1l
bnVMaXN0LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yNTU1OAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlck1lbnVMaXN0Ojp1cGRhdGVPcHRpb25zV2lkdGgpOgorCiAyMDA5
LTA1LTA0ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXgg
YW4gYW5jaWVudCBDaGFuZ2Vsb2cgZW50cnkgd2hlcmUgU2FtIFdlaW5pZyBmbGF0IG91dCBsaWVk
IGFuZCBjb25mdXNlZCBteSBleHBsb3JhdGlvbiBvZiBhIGJ1Zy4KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck1lbnVMaXN0LmNwcAppbmRleCBkNjFjMTZiLi5mYjgzMWQ4IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTWVudUxpc3QuY3BwCkBAIC0xNjAsNyArMTYwLDggQEAgdm9pZCBSZW5kZXJNZW51TGlzdDo6
dXBkYXRlT3B0aW9uc1dpZHRoKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9vcHRpb25zV2lk
dGggPSB3aWR0aDsKLSAgICBzZXROZWVkc0xheW91dEFuZFByZWZXaWR0aHNSZWNhbGMoKTsKKyAg
ICBpZiAocGFyZW50KCkpCisgICAgICAgIHNldE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2Fs
YygpOwogfQogCiB2b2lkIFJlbmRlck1lbnVMaXN0Ojp1cGRhdGVGcm9tRWxlbWVudCgpCg==
</data>
<flag name="review"
          id="15053"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>