<?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>64044</bug_id>
          
          <creation_ts>2011-07-06 16:50:31 -0700</creation_ts>
          <short_desc>Don&apos;t call into Image::loadPlatformResource() for Chromium Autofill popup items without icons</short_desc>
          <delta_ts>2011-07-07 15:01:00 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</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="Ilya Sherman">isherman</reporter>
          <assigned_to name="Ilya Sherman">isherman</assigned_to>
          <cc>abarth</cc>
    
    <cc>isherman</cc>
    
    <cc>tkent</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>433118</commentid>
    <comment_count>0</comment_count>
    <who name="Ilya Sherman">isherman</who>
    <bug_when>2011-07-06 16:50:31 -0700</bug_when>
    <thetext>Don&apos;t call into Image::loadPlatformResource() for Chromium Autofill popup items without icons</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>433119</commentid>
    <comment_count>1</comment_count>
      <attachid>99901</attachid>
    <who name="Ilya Sherman">isherman</who>
    <bug_when>2011-07-06 16:54:04 -0700</bug_when>
    <thetext>Created attachment 99901
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>433150</commentid>
    <comment_count>2</comment_count>
      <attachid>99901</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-06 18:27:48 -0700</bug_when>
    <thetext>Comment on attachment 99901
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=99901&amp;action=review

R- for lack of tests.

&gt; Source/WebCore/ChangeLog:8
&gt; +        No new tests because the changes are all in platform-specific Chromium Autofill code.

That&apos;s not a reason not to have tests!

&gt; Source/WebCore/platform/chromium/PopupMenuChromium.cpp:1043
&gt; +      image = Image::loadPlatformResource(itemIcon.utf8().data());

Bad indent

&gt; Source/WebCore/platform/chromium/PopupMenuChromium.cpp:1192
&gt; -    RefPtr&lt;Image&gt; image(Image::loadPlatformResource(icon.utf8().data()));
&gt; +    RefPtr&lt;Image&gt; image;
&gt; +    if (!icon.isEmpty())
&gt; +      image = Image::loadPlatformResource(icon.utf8().data());

I don&apos;t really understand this pattern.  Why doesn&apos;t loadPlatformResource just return a null ptr if icon is empty?

&gt; Source/WebCore/platform/chromium/PopupMenuChromium.cpp:1382
&gt; +          iconImage = Image::loadPlatformResource(icon.utf8().data());

Bad indent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>433720</commentid>
    <comment_count>3</comment_count>
    <who name="Ilya Sherman">isherman</who>
    <bug_when>2011-07-07 15:01:00 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; &gt; Source/WebCore/platform/chromium/PopupMenuChromium.cpp:1192
&gt; &gt; -    RefPtr&lt;Image&gt; image(Image::loadPlatformResource(icon.utf8().data()));
&gt; &gt; +    RefPtr&lt;Image&gt; image;
&gt; &gt; +    if (!icon.isEmpty())
&gt; &gt; +      image = Image::loadPlatformResource(icon.utf8().data());
&gt; 
&gt; I don&apos;t really understand this pattern.  Why doesn&apos;t loadPlatformResource just return a null ptr if icon is empty?

Fair enough, I&apos;ll make that change instead.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99901</attachid>
            <date>2011-07-06 16:54:04 -0700</date>
            <delta_ts>2011-07-06 18:27:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64044-20110706165403.patch</filename>
            <type>text/plain</type>
            <size>3117</size>
            <attacher name="Ilya Sherman">isherman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTA0NDQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhMDc3ZDJlNjdiMGEwMTI1
ZGQwZjUzMzUwMGQ4YjhjNjY2ODVkNWNkLi5hMzRlODBiMDcxZmI2NDllZDIxOWVlMmQ2ZDQ0NTdj
M2IyMTQxODZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDctMDYgIElseWEg
U2hlcm1hbiAgPGlzaGVybWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBEb24ndCBjYWxsIGlu
dG8gSW1hZ2U6OmxvYWRQbGF0Zm9ybVJlc291cmNlKCkgZm9yIENocm9taXVtIEF1dG9maWxsIHBv
cHVwIGl0ZW1zIHdpdGhvdXQgaWNvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTY0MDQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlIGNoYW5nZXMgYXJlIGFsbCBp
biBwbGF0Zm9ybS1zcGVjaWZpYyBDaHJvbWl1bSBBdXRvZmlsbCBjb2RlLgorCisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UG9wdXBMaXN0Qm94OjpwYWludFJvdyk6CisgICAgICAgIChXZWJDb3JlOjpQb3B1cExpc3RC
b3g6OmdldFJvd0hlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpQb3B1cExpc3RCb3g6OmxheW91
dCk6CisKIDIwMTEtMDctMDUgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AZ29vZ2xlLmNvbT4KIAog
ICAgICAgICBUcmlnZ2VyIGEgJ2NoYW5nZScgZXZlbnQgd2hlbmV2ZXIgc2VsZWN0ZWQgZmlsZXMg
YXJlIGNoYW5nZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L1BvcHVwTWVudUNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L1BvcHVwTWVudUNocm9taXVtLmNwcAppbmRleCBlM2JhODZjYzRlZGNmN2YyYzBmNGI2ZTM5Y2Y1
NmRhMzFhYjE2ODY4Li5mMGUyMjliMGVlMWI1NTlhMjY3NzU3MzE5MjY5NjgzMTM0MTRmYTU2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJv
bWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51
Q2hyb21pdW0uY3BwCkBAIC0xMDM4LDcgKzEwMzgsOSBAQCB2b2lkIFBvcHVwTGlzdEJveDo6cGFp
bnRSb3coR3JhcGhpY3NDb250ZXh0KiBnYywgY29uc3QgSW50UmVjdCYgcmVjdCwgaW50IHJvd0lu
ZAogICAgIGludCByZW1haW5pbmdXaWR0aCA9IHJvd1JlY3Qud2lkdGgoKSAtIHJpZ2h0UGFkZGlu
ZzsKIAogICAgIC8vIERyYXcgdGhlIGljb24gaWYgYXBwbGljYWJsZS4KLSAgICBSZWZQdHI8SW1h
Z2U+IGltYWdlKEltYWdlOjpsb2FkUGxhdGZvcm1SZXNvdXJjZShpdGVtSWNvbi51dGY4KCkuZGF0
YSgpKSk7CisgICAgUmVmUHRyPEltYWdlPiBpbWFnZTsKKyAgICBpZiAoIWl0ZW1JY29uLmlzRW1w
dHkoKSkKKyAgICAgIGltYWdlID0gSW1hZ2U6OmxvYWRQbGF0Zm9ybVJlc291cmNlKGl0ZW1JY29u
LnV0ZjgoKS5kYXRhKCkpOwogICAgIGlmIChpbWFnZSAmJiAhaW1hZ2UtPmlzTnVsbCgpKSB7CiAg
ICAgICAgIEludFJlY3QgaW1hZ2VSZWN0ID0gaW1hZ2UtPnJlY3QoKTsKICAgICAgICAgcmVtYWlu
aW5nV2lkdGggLT0gKGltYWdlUmVjdC53aWR0aCgpICsga0xhYmVsVG9JY29uUGFkZGluZyk7CkBA
IC0xMTg1LDcgKzExODcsOSBAQCBpbnQgUG9wdXBMaXN0Qm94OjpnZXRSb3dIZWlnaHQoaW50IGlu
ZGV4KQogICAgICAgICByZXR1cm4gc2VwYXJhdG9ySGVpZ2h0OwogCiAgICAgU3RyaW5nIGljb24g
PSBtX3BvcHVwQ2xpZW50LT5pdGVtSWNvbihpbmRleCk7Ci0gICAgUmVmUHRyPEltYWdlPiBpbWFn
ZShJbWFnZTo6bG9hZFBsYXRmb3JtUmVzb3VyY2UoaWNvbi51dGY4KCkuZGF0YSgpKSk7CisgICAg
UmVmUHRyPEltYWdlPiBpbWFnZTsKKyAgICBpZiAoIWljb24uaXNFbXB0eSgpKQorICAgICAgaW1h
Z2UgPSBJbWFnZTo6bG9hZFBsYXRmb3JtUmVzb3VyY2UoaWNvbi51dGY4KCkuZGF0YSgpKTsKIAog
ICAgIGludCBmb250SGVpZ2h0ID0gZ2V0Um93Rm9udChpbmRleCkuZm9udE1ldHJpY3MoKS5oZWln
aHQoKTsKICAgICBpbnQgaWNvbkhlaWdodCA9IChpbWFnZSAmJiAhaW1hZ2UtPmlzTnVsbCgpKSA/
IGltYWdlLT5yZWN0KCkuaGVpZ2h0KCkgOiAwOwpAQCAtMTM1NSw3ICsxMzU5LDcgQEAgdm9pZCBQ
b3B1cExpc3RCb3g6OnNldE1heFdpZHRoQW5kTGF5b3V0KGludCBtYXhXaWR0aCkKIHZvaWQgUG9w
dXBMaXN0Qm94OjpsYXlvdXQoKQogewogICAgIGJvb2wgaXNSaWdodEFsaWduZWQgPSBtX3BvcHVw
Q2xpZW50LT5tZW51U3R5bGUoKS50ZXh0RGlyZWN0aW9uKCkgPT0gUlRMOwotICAgIAorCiAgICAg
Ly8gU2l6ZSBvdXIgY2hpbGQgaXRlbXMuCiAgICAgaW50IGJhc2VXaWR0aCA9IDA7CiAgICAgaW50
IHBhZGRpbmdXaWR0aCA9IDA7CkBAIC0xMzczLDcgKzEzNzcsMTAgQEAgdm9pZCBQb3B1cExpc3RC
b3g6OmxheW91dCgpCiAgICAgICAgIFN0cmluZyB0ZXh0ID0gbV9wb3B1cENsaWVudC0+aXRlbVRl
eHQoaSk7CiAgICAgICAgIFN0cmluZyBsYWJlbCA9IG1fcG9wdXBDbGllbnQtPml0ZW1MYWJlbChp
KTsKICAgICAgICAgU3RyaW5nIGljb24gPSBtX3BvcHVwQ2xpZW50LT5pdGVtSWNvbihpKTsKLSAg
ICAgICAgUmVmUHRyPEltYWdlPiBpY29uSW1hZ2UoSW1hZ2U6OmxvYWRQbGF0Zm9ybVJlc291cmNl
KGljb24udXRmOCgpLmRhdGEoKSkpOworICAgICAgICBSZWZQdHI8SW1hZ2U+IGljb25JbWFnZTsK
KyAgICAgICAgaWYgKCFpY29uLmlzRW1wdHkoKSkKKyAgICAgICAgICBpY29uSW1hZ2UgPSBJbWFn
ZTo6bG9hZFBsYXRmb3JtUmVzb3VyY2UoaWNvbi51dGY4KCkuZGF0YSgpKTsKKwogICAgICAgICBp
bnQgd2lkdGggPSAwOwogICAgICAgICBpZiAoIXRleHQuaXNFbXB0eSgpKQogICAgICAgICAgICAg
d2lkdGggPSBpdGVtRm9udC53aWR0aChUZXh0UnVuKHRleHQpKTsK
</data>
<flag name="review"
          id="94494"
          type_id="1"
          status="-"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>