<?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>71029</bug_id>
          
          <creation_ts>2011-10-27 10:05:11 -0700</creation_ts>
          <short_desc>Ask CG to not parse image metadata</short_desc>
          <delta_ts>2011-10-27 16:25:27 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Pratik Solanki">psolanki</reporter>
          <assigned_to name="Pratik Solanki">psolanki</assigned_to>
          <cc>psolanki</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>491659</commentid>
    <comment_count>0</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2011-10-27 10:05:11 -0700</bug_when>
    <thetext>WebCore doesn&apos;t need any image metadata information from CG. We can request CG to not parse those and get a performance win.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>491719</commentid>
    <comment_count>1</comment_count>
      <attachid>112707</attachid>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2011-10-27 10:54:46 -0700</bug_when>
    <thetext>Created attachment 112707
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>491724</commentid>
    <comment_count>2</comment_count>
      <attachid>112707</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-10-27 10:59:23 -0700</bug_when>
    <thetext>Comment on attachment 112707
Patch

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

&gt; Source/WebCore/platform/graphics/cg/ImageSourceCG.cpp:116
&gt; +static CFDictionaryRef imageSourceOptions(ShouldSkipMetaData skip)

skip -&gt; skipMetaData</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492037</commentid>
    <comment_count>3</comment_count>
      <attachid>112772</attachid>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2011-10-27 15:46:22 -0700</bug_when>
    <thetext>Created attachment 112772
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492076</commentid>
    <comment_count>4</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2011-10-27 16:25:27 -0700</bug_when>
    <thetext>Committed r98657: &lt;http://trac.webkit.org/changeset/98657&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112707</attachid>
            <date>2011-10-27 10:54:46 -0700</date>
            <delta_ts>2011-10-27 15:46:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71029-20111027105445.patch</filename>
            <type>text/plain</type>
            <size>6640</size>
            <attacher name="Pratik Solanki">psolanki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg0MTIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3MjczYWUwOTRiZmM5NDdi
ODRiOWVkYTZkZGJmZWJiOTEzMTlmNzY4Li5iZWIxMWJkNGZlY2U5NDMxMjI0YWUxZWIxMjhjNGFk
OTE5NTdiNjIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMTAtMjcgIFByYXRp
ayBTb2xhbmtpICA8cHNvbGFua2lAYXBwbGUuY29tPgorCisgICAgICAgIEFzayBDRyB0byBub3Qg
cGFyc2UgaW1hZ2UgbWV0YWRhdGEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTcxMDI5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV2UgZG9uJ3QgbmVlZCBDRyB0byBwYXJzZSB0aGUgaW1hZ2UgbWV0YWRhdGEg
c2luY2UgV2ViQ29yZSBuZXZlciB1c2VzIGl0LiBQYXNzaW5nIHRoaXMKKyAgICAgICAgb3B0aW9u
IHNoYXZlcyBvZmYgdGltZSBzcGVudCB1bmRlciBDR0ltYWdlU291cmNlQ29weVByb3BlcnRpZXNB
dEluZGV4LiBVbmRlciBJbnN0cnVtZW50cyBJIHNhdworICAgICAgICB0aGUgdGltZSBkcm9wIGZy
b20gfjc1bXMgdG8gfjI1bXMuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2Ugbm8gY2hh
bmdlIGluIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9J
bWFnZVNvdXJjZUNHLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmltYWdlU291cmNlT3B0aW9ucyk6
CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVNvdXJjZTo6aXNTaXplQXZhaWxhYmxlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkltYWdlU291cmNlOjpmcmFtZVNpemVBdEluZGV4KToKKyAgICAgICAgKFdl
YkNvcmU6OkltYWdlU291cmNlOjpnZXRIb3RTcG90KToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdl
U291cmNlOjpyZXBldGl0aW9uQ291bnQpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VTb3VyY2U6
OmNyZWF0ZUZyYW1lQXRJbmRleCk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVNvdXJjZTo6ZnJh
bWVEdXJhdGlvbkF0SW5kZXgpOgorCiAyMDExLTA5LTI3ICBQcmF0aWsgU29sYW5raSAgPHBzb2xh
bmtpQGFwcGxlLmNvbT4KIAogICAgICAgICBDYWNoZWRSZXNvdXJjZVJlcXVlc3Qgc2hvdWxkIHN1
cHBvcnQgZGlkUmVjZWl2ZURhdGFBcnJheQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VTb3VyY2VDRy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jZy9JbWFnZVNvdXJjZUNHLmNwcAppbmRleCBmMDc3NmU0OTU2MTQzYTE1
NjdjNTc4NTRjNjQ4MGU1MzMzOGY3NGUxLi41Y2RhMTM5YzFlNGVmOGVkOGQ4YTk5YWJiMTE0MzU3
NjdjZWM2Y2M4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
Zy9JbWFnZVNvdXJjZUNHLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jZy9JbWFnZVNvdXJjZUNHLmNwcApAQCAtNDEsNiArNDEsMTIgQEAgdXNpbmcgbmFtZXNwYWNl
IHN0ZDsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY29uc3QgQ0ZTdHJpbmdSZWYga0NHSW1hZ2VT
b3VyY2VTaG91bGRQcmVmZXJSR0IzMiA9IENGU1RSKCJrQ0dJbWFnZVNvdXJjZVNob3VsZFByZWZl
clJHQjMyIik7Citjb25zdCBDRlN0cmluZ1JlZiBrQ0dJbWFnZVNvdXJjZVNraXBNZXRhRGF0YSA9
IENGU1RSKCJrQ0dJbWFnZVNvdXJjZVNraXBNZXRhRGF0YSIpOworCitlbnVtIFNob3VsZFNraXBN
ZXRhRGF0YSB7CisgICAgRG9Ob3RTa2lwTWV0YWRhdGEsCisgICAgU2tpcE1ldGFEYXRhCit9Owog
CiAvLyBrQ0dJbWFnZVByb3BlcnR5R0lGVW5jbGFtcGVkRGVsYXlUaW1lIGlzIGF2YWlsYWJsZSBp
biB0aGUgSW1hZ2VJTyBmcmFtZXdvcmsgaGVhZGVycyBvbiBzb21lIHZlcnNpb25zCiAvLyBvZiBT
bm93TGVvcGFyZC4gSXQncyBub3QgcG9zc2libGUgdG8gZGV0ZWN0IHdoZXRoZXIgdGhlIGNvbnN0
YW50IGlzIGF2YWlsYWJsZSBzbyB3ZSBkZWZpbmUgb3VyIG93biBoZXJlCkBAIC0xMDcsMTQgKzEx
MywxNSBAQCB2b2lkIEltYWdlU291cmNlOjpjbGVhcihib29sIGRlc3Ryb3lBbGxGcmFtZXMsIHNp
emVfdCwgU2hhcmVkQnVmZmVyKiBkYXRhLCBib29sCiAgICAgICAgIHNldERhdGEoZGF0YSwgYWxs
RGF0YVJlY2VpdmVkKTsKIH0KIAotc3RhdGljIENGRGljdGlvbmFyeVJlZiBpbWFnZVNvdXJjZU9w
dGlvbnMoKQorc3RhdGljIENGRGljdGlvbmFyeVJlZiBpbWFnZVNvdXJjZU9wdGlvbnMoU2hvdWxk
U2tpcE1ldGFEYXRhIHNraXApCiB7CiAgICAgc3RhdGljIENGRGljdGlvbmFyeVJlZiBvcHRpb25z
OwogCiAgICAgaWYgKCFvcHRpb25zKSB7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIG51bU9wdGlv
bnMgPSAyOwotICAgICAgICBjb25zdCB2b2lkKiBrZXlzW251bU9wdGlvbnNdID0geyBrQ0dJbWFn
ZVNvdXJjZVNob3VsZENhY2hlLCBrQ0dJbWFnZVNvdXJjZVNob3VsZFByZWZlclJHQjMyIH07Ci0g
ICAgICAgIGNvbnN0IHZvaWQqIHZhbHVlc1tudW1PcHRpb25zXSA9IHsga0NGQm9vbGVhblRydWUs
IGtDRkJvb2xlYW5UcnVlIH07CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIG51bU9wdGlvbnMgPSAz
OworICAgICAgICBDRkJvb2xlYW5SZWYgaW1hZ2VTb3VyY2VTa2lwTWV0YURhdGEgPSAoc2tpcCA9
PSBTa2lwTWV0YURhdGEpID8ga0NGQm9vbGVhblRydWUgOiBrQ0ZCb29sZWFuRmFsc2U7CisgICAg
ICAgIGNvbnN0IHZvaWQqIGtleXNbbnVtT3B0aW9uc10gPSB7IGtDR0ltYWdlU291cmNlU2hvdWxk
Q2FjaGUsIGtDR0ltYWdlU291cmNlU2hvdWxkUHJlZmVyUkdCMzIsIGtDR0ltYWdlU291cmNlU2tp
cE1ldGFEYXRhIH07CisgICAgICAgIGNvbnN0IHZvaWQqIHZhbHVlc1tudW1PcHRpb25zXSA9IHsg
a0NGQm9vbGVhblRydWUsIGtDRkJvb2xlYW5UcnVlLCBpbWFnZVNvdXJjZVNraXBNZXRhRGF0YSB9
OwogICAgICAgICBvcHRpb25zID0gQ0ZEaWN0aW9uYXJ5Q3JlYXRlKE5VTEwsIGtleXMsIHZhbHVl
cywgbnVtT3B0aW9ucywgCiAgICAgICAgICAgICAma0NGVHlwZURpY3Rpb25hcnlLZXlDYWxsQmFj
a3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZhbHVlQ2FsbEJhY2tzKTsKICAgICB9CkBAIC0xNzIsNyAr
MTc5LDcgQEAgYm9vbCBJbWFnZVNvdXJjZTo6aXNTaXplQXZhaWxhYmxlKCkKIAogICAgIC8vIFJh
Z25hcm9zIHllbGxzOiBUT08gU09PTiEgWW91IGhhdmUgYXdha2VuZWQgbWUgVE9PIFNPT04sIEV4
ZWN1dHVzIQogICAgIGlmIChpbWFnZVNvdXJjZVN0YXR1cyA+PSBrQ0dJbWFnZVN0YXR1c0luY29t
cGxldGUpIHsKLSAgICAgICAgUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4gaW1hZ2UwUHJvcGVy
dGllcyhBZG9wdENGLCBDR0ltYWdlU291cmNlQ29weVByb3BlcnRpZXNBdEluZGV4KG1fZGVjb2Rl
ciwgMCwgaW1hZ2VTb3VyY2VPcHRpb25zKCkpKTsKKyAgICAgICAgUmV0YWluUHRyPENGRGljdGlv
bmFyeVJlZj4gaW1hZ2UwUHJvcGVydGllcyhBZG9wdENGLCBDR0ltYWdlU291cmNlQ29weVByb3Bl
cnRpZXNBdEluZGV4KG1fZGVjb2RlciwgMCwgaW1hZ2VTb3VyY2VPcHRpb25zKFNraXBNZXRhRGF0
YSkpKTsKICAgICAgICAgaWYgKGltYWdlMFByb3BlcnRpZXMpIHsKICAgICAgICAgICAgIENGTnVt
YmVyUmVmIHdpZHRoTnVtYmVyID0gKENGTnVtYmVyUmVmKUNGRGljdGlvbmFyeUdldFZhbHVlKGlt
YWdlMFByb3BlcnRpZXMuZ2V0KCksIGtDR0ltYWdlUHJvcGVydHlQaXhlbFdpZHRoKTsKICAgICAg
ICAgICAgIENGTnVtYmVyUmVmIGhlaWdodE51bWJlciA9IChDRk51bWJlclJlZilDRkRpY3Rpb25h
cnlHZXRWYWx1ZShpbWFnZTBQcm9wZXJ0aWVzLmdldCgpLCBrQ0dJbWFnZVByb3BlcnR5UGl4ZWxI
ZWlnaHQpOwpAQCAtMTg2LDcgKzE5Myw3IEBAIGJvb2wgSW1hZ2VTb3VyY2U6OmlzU2l6ZUF2YWls
YWJsZSgpCiBJbnRTaXplIEltYWdlU291cmNlOjpmcmFtZVNpemVBdEluZGV4KHNpemVfdCBpbmRl
eCkgY29uc3QKIHsKICAgICBJbnRTaXplIHJlc3VsdDsKLSAgICBSZXRhaW5QdHI8Q0ZEaWN0aW9u
YXJ5UmVmPiBwcm9wZXJ0aWVzKEFkb3B0Q0YsIENHSW1hZ2VTb3VyY2VDb3B5UHJvcGVydGllc0F0
SW5kZXgobV9kZWNvZGVyLCBpbmRleCwgaW1hZ2VTb3VyY2VPcHRpb25zKCkpKTsKKyAgICBSZXRh
aW5QdHI8Q0ZEaWN0aW9uYXJ5UmVmPiBwcm9wZXJ0aWVzKEFkb3B0Q0YsIENHSW1hZ2VTb3VyY2VD
b3B5UHJvcGVydGllc0F0SW5kZXgobV9kZWNvZGVyLCBpbmRleCwgaW1hZ2VTb3VyY2VPcHRpb25z
KFNraXBNZXRhRGF0YSkpKTsKICAgICBpZiAocHJvcGVydGllcykgewogICAgICAgICBpbnQgdyA9
IDAsIGggPSAwOwogICAgICAgICBDRk51bWJlclJlZiBudW0gPSAoQ0ZOdW1iZXJSZWYpQ0ZEaWN0
aW9uYXJ5R2V0VmFsdWUocHJvcGVydGllcy5nZXQoKSwga0NHSW1hZ2VQcm9wZXJ0eVBpeGVsV2lk
dGgpOwpAQCAtMjA3LDcgKzIxNCw3IEBAIEludFNpemUgSW1hZ2VTb3VyY2U6OnNpemUoKSBjb25z
dAogCiBib29sIEltYWdlU291cmNlOjpnZXRIb3RTcG90KEludFBvaW50JiBob3RTcG90KSBjb25z
dAogewotICAgIFJldGFpblB0cjxDRkRpY3Rpb25hcnlSZWY+IHByb3BlcnRpZXMoQWRvcHRDRiwg
Q0dJbWFnZVNvdXJjZUNvcHlQcm9wZXJ0aWVzQXRJbmRleChtX2RlY29kZXIsIDAsIGltYWdlU291
cmNlT3B0aW9ucygpKSk7CisgICAgUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4gcHJvcGVydGll
cyhBZG9wdENGLCBDR0ltYWdlU291cmNlQ29weVByb3BlcnRpZXNBdEluZGV4KG1fZGVjb2Rlciwg
MCwgaW1hZ2VTb3VyY2VPcHRpb25zKFNraXBNZXRhRGF0YSkpKTsKICAgICBpZiAoIXByb3BlcnRp
ZXMpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApAQCAtMjQ0LDcgKzI1MSw3IEBAIGludCBJbWFn
ZVNvdXJjZTo6cmVwZXRpdGlvbkNvdW50KCkKICAgICBpZiAoIWluaXRpYWxpemVkKCkpCiAgICAg
ICAgIHJldHVybiByZXN1bHQ7CiAKLSAgICBSZXRhaW5QdHI8Q0ZEaWN0aW9uYXJ5UmVmPiBwcm9w
ZXJ0aWVzKEFkb3B0Q0YsIENHSW1hZ2VTb3VyY2VDb3B5UHJvcGVydGllcyhtX2RlY29kZXIsIGlt
YWdlU291cmNlT3B0aW9ucygpKSk7CisgICAgUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4gcHJv
cGVydGllcyhBZG9wdENGLCBDR0ltYWdlU291cmNlQ29weVByb3BlcnRpZXMobV9kZWNvZGVyLCBp
bWFnZVNvdXJjZU9wdGlvbnMoU2tpcE1ldGFEYXRhKSkpOwogICAgIGlmIChwcm9wZXJ0aWVzKSB7
CiAgICAgICAgIENGRGljdGlvbmFyeVJlZiBnaWZQcm9wZXJ0aWVzID0gKENGRGljdGlvbmFyeVJl
ZilDRkRpY3Rpb25hcnlHZXRWYWx1ZShwcm9wZXJ0aWVzLmdldCgpLCBrQ0dJbWFnZVByb3BlcnR5
R0lGRGljdGlvbmFyeSk7CiAgICAgICAgIGlmIChnaWZQcm9wZXJ0aWVzKSB7CkBAIC0yNzIsNyAr
Mjc5LDcgQEAgQ0dJbWFnZVJlZiBJbWFnZVNvdXJjZTo6Y3JlYXRlRnJhbWVBdEluZGV4KHNpemVf
dCBpbmRleCkKICAgICBpZiAoIWluaXRpYWxpemVkKCkpCiAgICAgICAgIHJldHVybiAwOwogCi0g
ICAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGltYWdlKEFkb3B0Q0YsIENHSW1hZ2VTb3VyY2VDcmVh
dGVJbWFnZUF0SW5kZXgobV9kZWNvZGVyLCBpbmRleCwgaW1hZ2VTb3VyY2VPcHRpb25zKCkpKTsK
KyAgICBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gaW1hZ2UoQWRvcHRDRiwgQ0dJbWFnZVNvdXJjZUNy
ZWF0ZUltYWdlQXRJbmRleChtX2RlY29kZXIsIGluZGV4LCBpbWFnZVNvdXJjZU9wdGlvbnMoU2tp
cE1ldGFEYXRhKSkpOwogICAgIENGU3RyaW5nUmVmIGltYWdlVVRJID0gQ0dJbWFnZVNvdXJjZUdl
dFR5cGUobV9kZWNvZGVyKTsKICAgICBzdGF0aWMgY29uc3QgQ0ZTdHJpbmdSZWYgeGJtVVRJID0g
Q0ZTVFIoInB1YmxpYy54Yml0bWFwLWltYWdlIik7CiAgICAgaWYgKCFpbWFnZVVUSSB8fCAhQ0ZF
cXVhbChpbWFnZVVUSSwgeGJtVVRJKSkKQEAgLTMxMyw3ICszMjAsNyBAQCBmbG9hdCBJbWFnZVNv
dXJjZTo6ZnJhbWVEdXJhdGlvbkF0SW5kZXgoc2l6ZV90IGluZGV4KQogICAgICAgICByZXR1cm4g
MDsKIAogICAgIGZsb2F0IGR1cmF0aW9uID0gMDsKLSAgICBSZXRhaW5QdHI8Q0ZEaWN0aW9uYXJ5
UmVmPiBwcm9wZXJ0aWVzKEFkb3B0Q0YsIENHSW1hZ2VTb3VyY2VDb3B5UHJvcGVydGllc0F0SW5k
ZXgobV9kZWNvZGVyLCBpbmRleCwgaW1hZ2VTb3VyY2VPcHRpb25zKCkpKTsKKyAgICBSZXRhaW5Q
dHI8Q0ZEaWN0aW9uYXJ5UmVmPiBwcm9wZXJ0aWVzKEFkb3B0Q0YsIENHSW1hZ2VTb3VyY2VDb3B5
UHJvcGVydGllc0F0SW5kZXgobV9kZWNvZGVyLCBpbmRleCwgaW1hZ2VTb3VyY2VPcHRpb25zKFNr
aXBNZXRhRGF0YSkpKTsKICAgICBpZiAocHJvcGVydGllcykgewogICAgICAgICBDRkRpY3Rpb25h
cnlSZWYgdHlwZVByb3BlcnRpZXMgPSAoQ0ZEaWN0aW9uYXJ5UmVmKUNGRGljdGlvbmFyeUdldFZh
bHVlKHByb3BlcnRpZXMuZ2V0KCksIGtDR0ltYWdlUHJvcGVydHlHSUZEaWN0aW9uYXJ5KTsKICAg
ICAgICAgaWYgKHR5cGVQcm9wZXJ0aWVzKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112772</attachid>
            <date>2011-10-27 15:46:22 -0700</date>
            <delta_ts>2011-10-27 16:00:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71029-20111027154621.patch</filename>
            <type>text/plain</type>
            <size>7433</size>
            <attacher name="Pratik Solanki">psolanki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg2MDgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2MGY1NDA4ZjRiYTFhMTc3
MWQ2ZjFlOGE3YzVjMjViMGQ2ZmIwNTIxLi4xOGI0MzEwMDM1YTIzNTY5OTgzNzkxYWE3ZjA2YTM5
ODQzYzA3YjNkIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTEtMTAtMjcgIFByYXRp
ayBTb2xhbmtpICA8cHNvbGFua2lAYXBwbGUuY29tPgorCisgICAgICAgIEFzayBDRyB0byBub3Qg
cGFyc2UgaW1hZ2UgbWV0YWRhdGEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTcxMDI5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV2UgZG9uJ3QgbmVlZCBDRyB0byBwYXJzZSB0aGUgaW1hZ2UgbWV0YWRhdGEg
c2luY2UgV2ViQ29yZSBuZXZlciB1c2VzIGl0LiBQYXNzaW5nIHRoaXMKKyAgICAgICAgb3B0aW9u
IHNoYXZlcyBvZmYgdGltZSBzcGVudCB1bmRlciBDR0ltYWdlU291cmNlQ29weVByb3BlcnRpZXNB
dEluZGV4LiBVbmRlciBJbnN0cnVtZW50cyBJCisgICAgICAgIHNhdyB0aGUgdGltZSBkcm9wIGZy
b20gfjc1bXMgdG8gfjI1bXMgd2hlbiBsb2FkaW5nIGh0dHA6Ly9ib3N0b24uY29tL2JpZ3BpY3R1
cmUgYW5kIHRoZQorICAgICAgICBmaXJzdCBsaW5rIG9uIHRoYXQgcGFnZS4KKworICAgICAgICBO
byBuZXcgdGVzdHMgYmVjYXVzZSBubyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0eS4KKworICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvSW1hZ2VTb3VyY2VDRy5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbWFnZVNv
dXJjZU9wdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VTb3VyY2U6OmlzU2l6ZUF2YWls
YWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVNvdXJjZTo6ZnJhbWVTaXplQXRJbmRleCk6
CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVNvdXJjZTo6Z2V0SG90U3BvdCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbWFnZVNvdXJjZTo6cmVwZXRpdGlvbkNvdW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkltYWdlU291cmNlOjpjcmVhdGVGcmFtZUF0SW5kZXgpOgorICAgICAgICAoV2ViQ29yZTo6SW1h
Z2VTb3VyY2U6OmZyYW1lRHVyYXRpb25BdEluZGV4KToKKwogMjAxMS0xMC0yNyAgRGFuIEJlcm5z
dGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDI2MjIw
NT4gQWxsb3cgY29sdW1uIHByb2dyZXNzaW9uIHRvIGJlIGluZGVwZW5kZW50IG9mIHdyaXRpbmcg
bW9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VT
b3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmgK
aW5kZXggZGNjNjc1NWYzMzM3MzU3ZDk5ODdmNzgzNDQ1Yzc0ZGY5ZDU4ZTAxNy4uN2NlN2UwOGI2
NjgwYTJiMTUyZTA0MDkxNzdiYjQzNTU2ZDZjMGQ3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oCkBAIC0xMjYsNiArMTI2LDEzIEBAIHB1Ymxp
YzoKICAgICAgICAgR2FtbWFBbmRDb2xvclByb2ZpbGVJZ25vcmVkCiAgICAgfTsKIAorI2lmIFVT
RShDRykKKyAgICBlbnVtIFNob3VsZFNraXBNZXRhRGF0YSB7CisgICAgICAgIERvTm90U2tpcE1l
dGFEYXRhLAorICAgICAgICBTa2lwTWV0YURhdGEKKyAgICB9OworI2VuZGlmCisKICAgICBJbWFn
ZVNvdXJjZShBbHBoYU9wdGlvbiBhbHBoYU9wdGlvbiA9IEFscGhhUHJlbXVsdGlwbGllZCwgR2Ft
bWFBbmRDb2xvclByb2ZpbGVPcHRpb24gZ2FtbWFBbmRDb2xvclByb2ZpbGVPcHRpb24gPSBHYW1t
YUFuZENvbG9yUHJvZmlsZUFwcGxpZWQpOwogICAgIH5JbWFnZVNvdXJjZSgpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZVNvdXJjZUNHLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlU291cmNlQ0cuY3Bw
CmluZGV4IGYwNzc2ZTQ5NTYxNDNhMTU2N2M1Nzg1NGM2NDgwZTUzMzM4Zjc0ZTEuLjEwMDk4NDMz
MjlmNDQyNmE3ZTc4NmFkMzFmNTIwYmEwOTRkMWE5OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlU291cmNlQ0cuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlU291cmNlQ0cuY3BwCkBAIC00MSw2ICs0
MSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNvbnN0
IENGU3RyaW5nUmVmIGtDR0ltYWdlU291cmNlU2hvdWxkUHJlZmVyUkdCMzIgPSBDRlNUUigia0NH
SW1hZ2VTb3VyY2VTaG91bGRQcmVmZXJSR0IzMiIpOworY29uc3QgQ0ZTdHJpbmdSZWYga0NHSW1h
Z2VTb3VyY2VTa2lwTWV0YURhdGEgPSBDRlNUUigia0NHSW1hZ2VTb3VyY2VTa2lwTWV0YURhdGEi
KTsKIAogLy8ga0NHSW1hZ2VQcm9wZXJ0eUdJRlVuY2xhbXBlZERlbGF5VGltZSBpcyBhdmFpbGFi
bGUgaW4gdGhlIEltYWdlSU8gZnJhbWV3b3JrIGhlYWRlcnMgb24gc29tZSB2ZXJzaW9ucwogLy8g
b2YgU25vd0xlb3BhcmQuIEl0J3Mgbm90IHBvc3NpYmxlIHRvIGRldGVjdCB3aGV0aGVyIHRoZSBj
b25zdGFudCBpcyBhdmFpbGFibGUgc28gd2UgZGVmaW5lIG91ciBvd24gaGVyZQpAQCAtMTA3LDE0
ICsxMDgsMTUgQEAgdm9pZCBJbWFnZVNvdXJjZTo6Y2xlYXIoYm9vbCBkZXN0cm95QWxsRnJhbWVz
LCBzaXplX3QsIFNoYXJlZEJ1ZmZlciogZGF0YSwgYm9vbAogICAgICAgICBzZXREYXRhKGRhdGEs
IGFsbERhdGFSZWNlaXZlZCk7CiB9CiAKLXN0YXRpYyBDRkRpY3Rpb25hcnlSZWYgaW1hZ2VTb3Vy
Y2VPcHRpb25zKCkKK3N0YXRpYyBDRkRpY3Rpb25hcnlSZWYgaW1hZ2VTb3VyY2VPcHRpb25zKElt
YWdlU291cmNlOjpTaG91bGRTa2lwTWV0YURhdGEgc2tpcE1ldGFEYXRhKQogewogICAgIHN0YXRp
YyBDRkRpY3Rpb25hcnlSZWYgb3B0aW9uczsKIAogICAgIGlmICghb3B0aW9ucykgewotICAgICAg
ICBjb25zdCB1bnNpZ25lZCBudW1PcHRpb25zID0gMjsKLSAgICAgICAgY29uc3Qgdm9pZCoga2V5
c1tudW1PcHRpb25zXSA9IHsga0NHSW1hZ2VTb3VyY2VTaG91bGRDYWNoZSwga0NHSW1hZ2VTb3Vy
Y2VTaG91bGRQcmVmZXJSR0IzMiB9OwotICAgICAgICBjb25zdCB2b2lkKiB2YWx1ZXNbbnVtT3B0
aW9uc10gPSB7IGtDRkJvb2xlYW5UcnVlLCBrQ0ZCb29sZWFuVHJ1ZSB9OworICAgICAgICBjb25z
dCB1bnNpZ25lZCBudW1PcHRpb25zID0gMzsKKyAgICAgICAgY29uc3QgQ0ZCb29sZWFuUmVmIGlt
YWdlU291cmNlU2tpcE1ldGFEYXRhID0gKHNraXBNZXRhRGF0YSA9PSBJbWFnZVNvdXJjZTo6U2tp
cE1ldGFEYXRhKSA/IGtDRkJvb2xlYW5UcnVlIDoga0NGQm9vbGVhbkZhbHNlOworICAgICAgICBj
b25zdCB2b2lkKiBrZXlzW251bU9wdGlvbnNdID0geyBrQ0dJbWFnZVNvdXJjZVNob3VsZENhY2hl
LCBrQ0dJbWFnZVNvdXJjZVNob3VsZFByZWZlclJHQjMyLCBrQ0dJbWFnZVNvdXJjZVNraXBNZXRh
RGF0YSB9OworICAgICAgICBjb25zdCB2b2lkKiB2YWx1ZXNbbnVtT3B0aW9uc10gPSB7IGtDRkJv
b2xlYW5UcnVlLCBrQ0ZCb29sZWFuVHJ1ZSwgaW1hZ2VTb3VyY2VTa2lwTWV0YURhdGEgfTsKICAg
ICAgICAgb3B0aW9ucyA9IENGRGljdGlvbmFyeUNyZWF0ZShOVUxMLCBrZXlzLCB2YWx1ZXMsIG51
bU9wdGlvbnMsIAogICAgICAgICAgICAgJmtDRlR5cGVEaWN0aW9uYXJ5S2V5Q2FsbEJhY2tzLCAm
a0NGVHlwZURpY3Rpb25hcnlWYWx1ZUNhbGxCYWNrcyk7CiAgICAgfQpAQCAtMTcyLDcgKzE3NCw3
IEBAIGJvb2wgSW1hZ2VTb3VyY2U6OmlzU2l6ZUF2YWlsYWJsZSgpCiAKICAgICAvLyBSYWduYXJv
cyB5ZWxsczogVE9PIFNPT04hIFlvdSBoYXZlIGF3YWtlbmVkIG1lIFRPTyBTT09OLCBFeGVjdXR1
cyEKICAgICBpZiAoaW1hZ2VTb3VyY2VTdGF0dXMgPj0ga0NHSW1hZ2VTdGF0dXNJbmNvbXBsZXRl
KSB7Ci0gICAgICAgIFJldGFpblB0cjxDRkRpY3Rpb25hcnlSZWY+IGltYWdlMFByb3BlcnRpZXMo
QWRvcHRDRiwgQ0dJbWFnZVNvdXJjZUNvcHlQcm9wZXJ0aWVzQXRJbmRleChtX2RlY29kZXIsIDAs
IGltYWdlU291cmNlT3B0aW9ucygpKSk7CisgICAgICAgIFJldGFpblB0cjxDRkRpY3Rpb25hcnlS
ZWY+IGltYWdlMFByb3BlcnRpZXMoQWRvcHRDRiwgQ0dJbWFnZVNvdXJjZUNvcHlQcm9wZXJ0aWVz
QXRJbmRleChtX2RlY29kZXIsIDAsIGltYWdlU291cmNlT3B0aW9ucyhTa2lwTWV0YURhdGEpKSk7
CiAgICAgICAgIGlmIChpbWFnZTBQcm9wZXJ0aWVzKSB7CiAgICAgICAgICAgICBDRk51bWJlclJl
ZiB3aWR0aE51bWJlciA9IChDRk51bWJlclJlZilDRkRpY3Rpb25hcnlHZXRWYWx1ZShpbWFnZTBQ
cm9wZXJ0aWVzLmdldCgpLCBrQ0dJbWFnZVByb3BlcnR5UGl4ZWxXaWR0aCk7CiAgICAgICAgICAg
ICBDRk51bWJlclJlZiBoZWlnaHROdW1iZXIgPSAoQ0ZOdW1iZXJSZWYpQ0ZEaWN0aW9uYXJ5R2V0
VmFsdWUoaW1hZ2UwUHJvcGVydGllcy5nZXQoKSwga0NHSW1hZ2VQcm9wZXJ0eVBpeGVsSGVpZ2h0
KTsKQEAgLTE4Niw3ICsxODgsNyBAQCBib29sIEltYWdlU291cmNlOjppc1NpemVBdmFpbGFibGUo
KQogSW50U2l6ZSBJbWFnZVNvdXJjZTo6ZnJhbWVTaXplQXRJbmRleChzaXplX3QgaW5kZXgpIGNv
bnN0CiB7CiAgICAgSW50U2l6ZSByZXN1bHQ7Ci0gICAgUmV0YWluUHRyPENGRGljdGlvbmFyeVJl
Zj4gcHJvcGVydGllcyhBZG9wdENGLCBDR0ltYWdlU291cmNlQ29weVByb3BlcnRpZXNBdEluZGV4
KG1fZGVjb2RlciwgaW5kZXgsIGltYWdlU291cmNlT3B0aW9ucygpKSk7CisgICAgUmV0YWluUHRy
PENGRGljdGlvbmFyeVJlZj4gcHJvcGVydGllcyhBZG9wdENGLCBDR0ltYWdlU291cmNlQ29weVBy
b3BlcnRpZXNBdEluZGV4KG1fZGVjb2RlciwgaW5kZXgsIGltYWdlU291cmNlT3B0aW9ucyhTa2lw
TWV0YURhdGEpKSk7CiAgICAgaWYgKHByb3BlcnRpZXMpIHsKICAgICAgICAgaW50IHcgPSAwLCBo
ID0gMDsKICAgICAgICAgQ0ZOdW1iZXJSZWYgbnVtID0gKENGTnVtYmVyUmVmKUNGRGljdGlvbmFy
eUdldFZhbHVlKHByb3BlcnRpZXMuZ2V0KCksIGtDR0ltYWdlUHJvcGVydHlQaXhlbFdpZHRoKTsK
QEAgLTIwNyw3ICsyMDksNyBAQCBJbnRTaXplIEltYWdlU291cmNlOjpzaXplKCkgY29uc3QKIAog
Ym9vbCBJbWFnZVNvdXJjZTo6Z2V0SG90U3BvdChJbnRQb2ludCYgaG90U3BvdCkgY29uc3QKIHsK
LSAgICBSZXRhaW5QdHI8Q0ZEaWN0aW9uYXJ5UmVmPiBwcm9wZXJ0aWVzKEFkb3B0Q0YsIENHSW1h
Z2VTb3VyY2VDb3B5UHJvcGVydGllc0F0SW5kZXgobV9kZWNvZGVyLCAwLCBpbWFnZVNvdXJjZU9w
dGlvbnMoKSkpOworICAgIFJldGFpblB0cjxDRkRpY3Rpb25hcnlSZWY+IHByb3BlcnRpZXMoQWRv
cHRDRiwgQ0dJbWFnZVNvdXJjZUNvcHlQcm9wZXJ0aWVzQXRJbmRleChtX2RlY29kZXIsIDAsIGlt
YWdlU291cmNlT3B0aW9ucyhTa2lwTWV0YURhdGEpKSk7CiAgICAgaWYgKCFwcm9wZXJ0aWVzKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTI0NCw3ICsyNDYsNyBAQCBpbnQgSW1hZ2VTb3Vy
Y2U6OnJlcGV0aXRpb25Db3VudCgpCiAgICAgaWYgKCFpbml0aWFsaXplZCgpKQogICAgICAgICBy
ZXR1cm4gcmVzdWx0OwogCi0gICAgUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4gcHJvcGVydGll
cyhBZG9wdENGLCBDR0ltYWdlU291cmNlQ29weVByb3BlcnRpZXMobV9kZWNvZGVyLCBpbWFnZVNv
dXJjZU9wdGlvbnMoKSkpOworICAgIFJldGFpblB0cjxDRkRpY3Rpb25hcnlSZWY+IHByb3BlcnRp
ZXMoQWRvcHRDRiwgQ0dJbWFnZVNvdXJjZUNvcHlQcm9wZXJ0aWVzKG1fZGVjb2RlciwgaW1hZ2VT
b3VyY2VPcHRpb25zKFNraXBNZXRhRGF0YSkpKTsKICAgICBpZiAocHJvcGVydGllcykgewogICAg
ICAgICBDRkRpY3Rpb25hcnlSZWYgZ2lmUHJvcGVydGllcyA9IChDRkRpY3Rpb25hcnlSZWYpQ0ZE
aWN0aW9uYXJ5R2V0VmFsdWUocHJvcGVydGllcy5nZXQoKSwga0NHSW1hZ2VQcm9wZXJ0eUdJRkRp
Y3Rpb25hcnkpOwogICAgICAgICBpZiAoZ2lmUHJvcGVydGllcykgewpAQCAtMjcyLDcgKzI3NCw3
IEBAIENHSW1hZ2VSZWYgSW1hZ2VTb3VyY2U6OmNyZWF0ZUZyYW1lQXRJbmRleChzaXplX3QgaW5k
ZXgpCiAgICAgaWYgKCFpbml0aWFsaXplZCgpKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIFJl
dGFpblB0cjxDR0ltYWdlUmVmPiBpbWFnZShBZG9wdENGLCBDR0ltYWdlU291cmNlQ3JlYXRlSW1h
Z2VBdEluZGV4KG1fZGVjb2RlciwgaW5kZXgsIGltYWdlU291cmNlT3B0aW9ucygpKSk7CisgICAg
UmV0YWluUHRyPENHSW1hZ2VSZWY+IGltYWdlKEFkb3B0Q0YsIENHSW1hZ2VTb3VyY2VDcmVhdGVJ
bWFnZUF0SW5kZXgobV9kZWNvZGVyLCBpbmRleCwgaW1hZ2VTb3VyY2VPcHRpb25zKFNraXBNZXRh
RGF0YSkpKTsKICAgICBDRlN0cmluZ1JlZiBpbWFnZVVUSSA9IENHSW1hZ2VTb3VyY2VHZXRUeXBl
KG1fZGVjb2Rlcik7CiAgICAgc3RhdGljIGNvbnN0IENGU3RyaW5nUmVmIHhibVVUSSA9IENGU1RS
KCJwdWJsaWMueGJpdG1hcC1pbWFnZSIpOwogICAgIGlmICghaW1hZ2VVVEkgfHwgIUNGRXF1YWwo
aW1hZ2VVVEksIHhibVVUSSkpCkBAIC0zMTMsNyArMzE1LDcgQEAgZmxvYXQgSW1hZ2VTb3VyY2U6
OmZyYW1lRHVyYXRpb25BdEluZGV4KHNpemVfdCBpbmRleCkKICAgICAgICAgcmV0dXJuIDA7CiAK
ICAgICBmbG9hdCBkdXJhdGlvbiA9IDA7Ci0gICAgUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4g
cHJvcGVydGllcyhBZG9wdENGLCBDR0ltYWdlU291cmNlQ29weVByb3BlcnRpZXNBdEluZGV4KG1f
ZGVjb2RlciwgaW5kZXgsIGltYWdlU291cmNlT3B0aW9ucygpKSk7CisgICAgUmV0YWluUHRyPENG
RGljdGlvbmFyeVJlZj4gcHJvcGVydGllcyhBZG9wdENGLCBDR0ltYWdlU291cmNlQ29weVByb3Bl
cnRpZXNBdEluZGV4KG1fZGVjb2RlciwgaW5kZXgsIGltYWdlU291cmNlT3B0aW9ucyhTa2lwTWV0
YURhdGEpKSk7CiAgICAgaWYgKHByb3BlcnRpZXMpIHsKICAgICAgICAgQ0ZEaWN0aW9uYXJ5UmVm
IHR5cGVQcm9wZXJ0aWVzID0gKENGRGljdGlvbmFyeVJlZilDRkRpY3Rpb25hcnlHZXRWYWx1ZShw
cm9wZXJ0aWVzLmdldCgpLCBrQ0dJbWFnZVByb3BlcnR5R0lGRGljdGlvbmFyeSk7CiAgICAgICAg
IGlmICh0eXBlUHJvcGVydGllcykgewo=
</data>
<flag name="review"
          id="110926"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>