<?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>67395</bug_id>
          
          <creation_ts>2011-09-01 06:39:12 -0700</creation_ts>
          <short_desc>[Chromium, Skia] Add virtual to WebGraphicsContext3D to create a new GrGLInterface per context. Insert per-skia-GL-function callback to set correct GL context.</short_desc>
          <delta_ts>2011-09-01 16:24:14 -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>All</rep_platform>
          <op_sys>All</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="Brian Salomon">bsalomon</reporter>
          <assigned_to name="Brian Salomon">bsalomon</assigned_to>
          <cc>fishd</cc>
    
    <cc>kbr</cc>
    
    <cc>senorblanco</cc>
    
    <cc>vangelis</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>460411</commentid>
    <comment_count>0</comment_count>
    <who name="Brian Salomon">bsalomon</who>
    <bug_when>2011-09-01 06:39:12 -0700</bug_when>
    <thetext>[Chromium, Skia] Add virtual to WebGraphicsContext3D to create a new GrGLInterface per context. Insert per-skia-GL-function callback to set correct GL context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460412</commentid>
    <comment_count>1</comment_count>
      <attachid>105952</attachid>
    <who name="Brian Salomon">bsalomon</who>
    <bug_when>2011-09-01 06:41:09 -0700</bug_when>
    <thetext>Created attachment 105952
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460417</commentid>
    <comment_count>2</comment_count>
    <who name="Brian Salomon">bsalomon</who>
    <bug_when>2011-09-01 06:50:04 -0700</bug_when>
    <thetext>The idea behind this change is to create a new GrGLInterface per-WG3D and to use a new callback facility in Ganesh to make sure the correct context is set before each GL call. The motivation is that we keep seeing wrong context bugs.

The sister change to this in Chrome is here:
http://codereview.chromium.org/7756004/

After both changes have landed I can remove PlatformContextSkia::makeGrContextCurrent() and all callsites as well as the WGC3D::grGLInterface virtual.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460674</commentid>
    <comment_count>3</comment_count>
      <attachid>105952</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-09-01 12:14:23 -0700</bug_when>
    <thetext>Comment on attachment 105952
Patch

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

Sorry, but I have to r- this because the license needs to be updated in the new file. Also CC&apos;ing fishd as he should review all WebKit API changes. It looks OK overall to me though.

&gt; Source/WebKit/chromium/src/GraphicsContext3DChromium.cpp:166
&gt; +        // remove this block after WGC3D subclasses in Chromium overriding using grGLInterface()

Add FIXME and please make this comment and the one below a complete sentence.

&gt; Source/WebKit/chromium/src/WebGraphicsContext3D.cpp:15
&gt; + *     from this software without specific prior written permission.

Sorry, this is the wrong version of the license file. I know there are a ton of files that have this license but we should avoid adding more that are wrong. Please derive the license text from Source/WebKit/LICENSE, or see e.g. Source/WebKit/chromium/tests/PODIntervalTreeTest.cpp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460729</commentid>
    <comment_count>4</comment_count>
      <attachid>106016</attachid>
    <who name="Brian Salomon">bsalomon</who>
    <bug_when>2011-09-01 13:19:58 -0700</bug_when>
    <thetext>Created attachment 106016
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460732</commentid>
    <comment_count>5</comment_count>
    <who name="Brian Salomon">bsalomon</who>
    <bug_when>2011-09-01 13:21:54 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 105952 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=105952&amp;action=review
&gt; 
&gt; Sorry, but I have to r- this because the license needs to be updated in the new file. Also CC&apos;ing fishd as he should review all WebKit API changes. It looks OK overall to me though.
&gt; 
&gt; &gt; Source/WebKit/chromium/src/GraphicsContext3DChromium.cpp:166
&gt; &gt; +        // remove this block after WGC3D subclasses in Chromium overriding using grGLInterface()
&gt; 
&gt; Add FIXME and please make this comment and the one below a complete sentence.
&gt; 
&gt; &gt; Source/WebKit/chromium/src/WebGraphicsContext3D.cpp:15
&gt; &gt; + *     from this software without specific prior written permission.
&gt; 
&gt; Sorry, this is the wrong version of the license file. I know there are a ton of files that have this license but we should avoid adding more that are wrong. Please derive the license text from Source/WebKit/LICENSE, or see e.g. Source/WebKit/chromium/tests/PODIntervalTreeTest.cpp.

The latest patch addresses the license and comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460802</commentid>
    <comment_count>6</comment_count>
      <attachid>106016</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-09-01 14:54:51 -0700</bug_when>
    <thetext>Comment on attachment 106016
Patch

Thanks. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460897</commentid>
    <comment_count>7</comment_count>
      <attachid>106016</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-01 16:24:09 -0700</bug_when>
    <thetext>Comment on attachment 106016
Patch

Clearing flags on attachment: 106016

Committed r94359: &lt;http://trac.webkit.org/changeset/94359&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460898</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-01 16:24:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105952</attachid>
            <date>2011-09-01 06:41:09 -0700</date>
            <delta_ts>2011-09-01 13:19:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67395-20110901094107.patch</filename>
            <type>text/plain</type>
            <size>6576</size>
            <attacher name="Brian Salomon">bsalomon</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA5NDI5MikKKysrIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDktMDEgIEJyaWFuIFNhbG9tb24gIDxic2Fsb21vbkBnb29nbGUuY29tPgorCisg
ICAgICAgIFtDaHJvbWl1bSwgU2tpYV0gQWRkIHZpcnR1YWwgdG8gV2ViR3JhcGhpY3NDb250ZXh0
M0QgdG8gY3JlYXRlIGEgbmV3IEdyR0xJbnRlcmZhY2UgcGVyIGNvbnRleHQuIEluc2VydCBwZXIt
c2tpYS1HTC1mdW5jdGlvbiBjYWxsYmFjayB0byBzZXQgY29ycmVjdCBHTCBjb250ZXh0LgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczOTUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdC5neXA6
CisgICAgICAgICogcHVibGljL1dlYkdyYXBoaWNzQ29udGV4dDNELmg6CisgICAgICAgIChXZWJL
aXQ6OldlYkdyYXBoaWNzQ29udGV4dDNEOjpvbkNyZWF0ZUdyR0xJbnRlcmZhY2UpOgorICAgICAg
ICAqIHNyYy9HcmFwaGljc0NvbnRleHQzRENocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6Z3JDb250ZXh0KToKKyAgICAgICAgKiBzcmMvV2Vi
R3JhcGhpY3NDb250ZXh0M0QuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViR3JhcGhp
Y3NDb250ZXh0M0Q6OmNyZWF0ZUdyR0xJbnRlcmZhY2UpOgorCiAyMDExLTA4LTMxICBHcmVnIEJp
bGxvY2sgIDxnYmlsbG9ja0Bnb29nbGUuY29tPgogCiAgICAgICAgIEFkZCBwYXNzLXRocm91Z2hz
IGZvciBOUE9iamVjdC92ODo6VmFsdWUgbWFyc2hhbGxpbmcgdG8gV2ViQmluZGluZ3MKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHJldmlzaW9uIDk0MjkyKQorKysgU291cmNlL1dl
YktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCSh3b3JraW5nIGNvcHkpCkBAIC00ODYsNiArNDg2LDcg
QEAKICAgICAgICAgICAgICAgICAnc3JjL1dlYkdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJHZW9sb2NhdGlvblBvc2l0aW9u
LmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJHbHlwaENhY2hlLmNwcCcsCisgICAgICAg
ICAgICAgICAgJ3NyYy9XZWJHcmFwaGljc0NvbnRleHQzRC5jcHAnLAogICAgICAgICAgICAgICAg
ICdzcmMvV2ViSGlzdG9yeUl0ZW0uY3BwJywKICAgICAgICAgICAgICAgICAnc3JjL1dlYkhUVFBC
b2R5LmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJIVFRQTG9hZEluZm8uY3BwJywKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkdyYXBoaWNzQ29udGV4dDNELmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViR3JhcGhpY3ND
b250ZXh0M0QuaAkocmV2aXNpb24gOTQyOTIpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJHcmFwaGljc0NvbnRleHQzRC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNjEsOCArMzYx
LDE3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFdHQzNEZW51bSBnZXRHcmFwaGljc1Jlc2V0U3Rh
dHVzQVJCKCkgeyByZXR1cm4gMDsgLyogR0xfTk9fRVJST1IgKi8gfQogCiAjaWYgV0VCS0lUX1VT
SU5HX1NLSUEKKyAgICAvLyBzdXBlcmNlZGVkIGJ5IG9uQ3JlYXRlR3JHTEludGVyZmFjZS4gSXQg
d2lsbCBiZSByZW1vdmVkIGFmdGVyIHN1YmNsYXNzIGltcGxzIGFyZSByZW1vdmVkIGZyb20gQ2hy
b21pdW0uCiAgICAgdmlydHVhbCBHckdMSW50ZXJmYWNlKiBnckdMSW50ZXJmYWNlKCkgeyByZXR1
cm4gMDsgfQorCisgICAgR3JHTEludGVyZmFjZSogY3JlYXRlR3JHTEludGVyZmFjZSgpOwogI2Vu
ZGlmCisKK3Byb3RlY3RlZDoKKyNpZiBXRUJLSVRfVVNJTkdfU0tJQQorICAgIHZpcnR1YWwgR3JH
TEludGVyZmFjZSogb25DcmVhdGVHckdMSW50ZXJmYWNlKCkgeyByZXR1cm4gMDsgfQorI2VuZGlm
CisKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RDaHJvbWl1bS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RDaHJvbWl1bS5jcHAJKHJl
dmlzaW9uIDk0MjkyKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3NDb250
ZXh0M0RDaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYzLDYgKzYzLDcgQEAKIAogI2lm
IFVTRShTS0lBKQogI2luY2x1ZGUgIkdyQ29udGV4dC5oIgorI2luY2x1ZGUgIkdyR0xJbnRlcmZh
Y2UuaCIKICNlbmRpZgogCiAvLyBUaGVyZSBhcmUgdHdvIGxldmVscyBvZiBkZWxlZ2F0aW9uIGlu
IHRoaXMgZmlsZToKQEAgLTE2MSw4ICsxNjIsMTcgQEAgR3JDb250ZXh0KiBHcmFwaGljc0NvbnRl
eHQzRFByaXZhdGU6OmdyQwogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbWF4VGV4dHVyZUNhY2hl
Qnl0ZXMgPSA1MCAqIDEwMjQgKiAxMDI0OwogCiAgICAgaWYgKCFtX2dyQ29udGV4dCkgewotICAg
ICAgICBHclBsYXRmb3JtM0RDb250ZXh0IGdsaW50ZXJmYWNlID0gcmVpbnRlcnByZXRfY2FzdDxH
clBsYXRmb3JtM0RDb250ZXh0PihtX2ltcGwtPmdyR0xJbnRlcmZhY2UoKSk7Ci0gICAgICAgIG1f
Z3JDb250ZXh0ID0gR3JDb250ZXh0OjpDcmVhdGUoa09wZW5HTF9TaGFkZXJzX0dyRW5naW5lLCBn
bGludGVyZmFjZSk7CisgICAgICAgIFNrQXV0b1RVbnJlZjxHckdMSW50ZXJmYWNlPiBpbnRlcmZh
Y2UobV9pbXBsLT5jcmVhdGVHckdMSW50ZXJmYWNlKCkpOworICAgICAgICAvLyByZW1vdmUgdGhp
cyBibG9jayBhZnRlciBXR0MzRCBzdWJjbGFzc2VzIGluIENocm9taXVtIG92ZXJyaWRpbmcgdXNp
bmcgZ3JHTEludGVyZmFjZSgpCisgICAgICAgIGlmICghaW50ZXJmYWNlLmdldCgpKSB7CisgICAg
ICAgICAgICBHckdMSW50ZXJmYWNlKiBmYWxsYmFja0ludGVyZmFjZSA9IG1faW1wbC0+Z3JHTElu
dGVyZmFjZSgpOworICAgICAgICAgICAgaWYgKGZhbGxiYWNrSW50ZXJmYWNlKSB7CisgICAgICAg
ICAgICAgICAgZmFsbGJhY2tJbnRlcmZhY2UtPnJlZigpOyAvLyBiYWxhbmNlIG91dCB0aGUgU2tB
dXRvVFVucmVmCisgICAgICAgICAgICAgICAgaW50ZXJmYWNlLnJlc2V0KGZhbGxiYWNrSW50ZXJm
YWNlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICAvLyBlbmQgcmVtb3ZlCisg
ICAgICAgIG1fZ3JDb250ZXh0ID0gR3JDb250ZXh0OjpDcmVhdGUoa09wZW5HTF9TaGFkZXJzX0dy
RW5naW5lLCByZWludGVycHJldF9jYXN0PEdyUGxhdGZvcm0zRENvbnRleHQ+KGludGVyZmFjZS5n
ZXQoKSkpOwogICAgICAgICBpZiAobV9nckNvbnRleHQpCiAgICAgICAgICAgICBtX2dyQ29udGV4
dC0+c2V0VGV4dHVyZUNhY2hlTGltaXRzKG1heFRleHR1cmVDYWNoZUNvdW50LCBtYXhUZXh0dXJl
Q2FjaGVCeXRlcyk7CiAgICAgfQpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
R3JhcGhpY3NDb250ZXh0M0QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYkdyYXBoaWNzQ29udGV4dDNELmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYkdyYXBoaWNzQ29udGV4dDNELmNwcAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhl
IG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YK
KyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
CisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisg
KiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJHcmFw
aGljc0NvbnRleHQzRC5oIgorCisjaW5jbHVkZSAiR3JHTEludGVyZmFjZS5oIgorCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKworI2lmIFdFQktJVF9VU0lOR19TS0lBCisKKyNpZiBHUl9HTF9QRVJfR0xf
RlVOQ19DQUxMQkFDSworbmFtZXNwYWNlIHsKKyAgICB2b2lkIGJpbmRXZWJHcmFwaGljc0NvbnRl
eHQzREdMQ29udGV4dENhbGxiYWNrKGNvbnN0IEdyR0xJbnRlcmZhY2UqIGludGVyZmFjZSkKKyAg
ICB7CisgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8V2ViR3JhcGhpY3NDb250ZXh0M0QqPihpbnRl
cmZhY2UtPmZDYWxsYmFja0RhdGEpLT5tYWtlQ29udGV4dEN1cnJlbnQoKTsKKyAgICB9Cit9Cisj
ZW5kaWYKKworR3JHTEludGVyZmFjZSogV2ViR3JhcGhpY3NDb250ZXh0M0Q6OmNyZWF0ZUdyR0xJ
bnRlcmZhY2UoKQoreworICAgIEdyR0xJbnRlcmZhY2UqIGludGVyZmFjZSA9IG9uQ3JlYXRlR3JH
TEludGVyZmFjZSgpOworI2lmIEdSX0dMX1BFUl9HTF9GVU5DX0NBTExCQUNLCisgICAgaWYgKGlu
dGVyZmFjZSkgeworICAgICAgICBpbnRlcmZhY2UtPmZDYWxsYmFjayA9IGJpbmRXZWJHcmFwaGlj
c0NvbnRleHQzREdMQ29udGV4dENhbGxiYWNrOworICAgICAgICBpbnRlcmZhY2UtPmZDYWxsYmFj
a0RhdGEgPSByZWludGVycHJldF9jYXN0PEdyR0xJbnRlcmZhY2VDYWxsYmFja0RhdGE+KHRoaXMp
OworICAgIH0KKyNlbmRpZgorICAgIHJldHVybiBpbnRlcmZhY2U7Cit9CisKKyNlbmRpZgorCit9
IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106016</attachid>
            <date>2011-09-01 13:19:58 -0700</date>
            <delta_ts>2011-09-01 16:24:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67395-20110901161957.patch</filename>
            <type>text/plain</type>
            <size>6448</size>
            <attacher name="Brian Salomon">bsalomon</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA5NDMzNykKKysrIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDktMDEgIEJyaWFuIFNhbG9tb24gIDxic2Fsb21vbkBnb29nbGUuY29tPgorCisg
ICAgICAgIFtDaHJvbWl1bSwgU2tpYV0gQWRkIHZpcnR1YWwgdG8gV2ViR3JhcGhpY3NDb250ZXh0
M0QgdG8gY3JlYXRlIGEgbmV3IEdyR0xJbnRlcmZhY2UgcGVyIGNvbnRleHQuIEluc2VydCBwZXIt
c2tpYS1HTC1mdW5jdGlvbiBjYWxsYmFjayB0byBzZXQgY29ycmVjdCBHTCBjb250ZXh0LgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczOTUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdC5neXA6
CisgICAgICAgICogcHVibGljL1dlYkdyYXBoaWNzQ29udGV4dDNELmg6CisgICAgICAgIChXZWJL
aXQ6OldlYkdyYXBoaWNzQ29udGV4dDNEOjpvbkNyZWF0ZUdyR0xJbnRlcmZhY2UpOgorICAgICAg
ICAqIHNyYy9HcmFwaGljc0NvbnRleHQzRENocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6Z3JDb250ZXh0KToKKyAgICAgICAgKiBzcmMvV2Vi
R3JhcGhpY3NDb250ZXh0M0QuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViR3JhcGhp
Y3NDb250ZXh0M0Q6OmNyZWF0ZUdyR0xJbnRlcmZhY2UpOgorCiAyMDExLTA4LTMxICBHcmVnIEJp
bGxvY2sgIDxnYmlsbG9ja0Bnb29nbGUuY29tPgogCiAgICAgICAgIEFkZCBwYXNzLXRocm91Z2hz
IGZvciBOUE9iamVjdC92ODo6VmFsdWUgbWFyc2hhbGxpbmcgdG8gV2ViQmluZGluZ3MKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHJldmlzaW9uIDk0MzM3KQorKysgU291cmNlL1dl
YktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCSh3b3JraW5nIGNvcHkpCkBAIC00ODYsNiArNDg2LDcg
QEAKICAgICAgICAgICAgICAgICAnc3JjL1dlYkdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJHZW9sb2NhdGlvblBvc2l0aW9u
LmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJHbHlwaENhY2hlLmNwcCcsCisgICAgICAg
ICAgICAgICAgJ3NyYy9XZWJHcmFwaGljc0NvbnRleHQzRC5jcHAnLAogICAgICAgICAgICAgICAg
ICdzcmMvV2ViSGlzdG9yeUl0ZW0uY3BwJywKICAgICAgICAgICAgICAgICAnc3JjL1dlYkhUVFBC
b2R5LmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJIVFRQTG9hZEluZm8uY3BwJywKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkdyYXBoaWNzQ29udGV4dDNELmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViR3JhcGhpY3ND
b250ZXh0M0QuaAkocmV2aXNpb24gOTQzMzcpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJHcmFwaGljc0NvbnRleHQzRC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNjEsOCArMzYx
LDE3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFdHQzNEZW51bSBnZXRHcmFwaGljc1Jlc2V0U3Rh
dHVzQVJCKCkgeyByZXR1cm4gMDsgLyogR0xfTk9fRVJST1IgKi8gfQogCiAjaWYgV0VCS0lUX1VT
SU5HX1NLSUEKKyAgICAvLyBGSVhNRTogVGhpcyBmdW5jdGlvbiBpcyBzdXBlcmNlZGVkIGJ5IG9u
Q3JlYXRlR3JHTEludGVyZmFjZS4gSXQgc2hvdWxkIGJlIHJlbW92ZWQgYWZ0ZXIgc3ViY2xhc3Mg
aW1wbGVtZW50YXRpb25zIGFyZSByZW1vdmVkIGZyb20gQ2hyb21pdW0uCiAgICAgdmlydHVhbCBH
ckdMSW50ZXJmYWNlKiBnckdMSW50ZXJmYWNlKCkgeyByZXR1cm4gMDsgfQorCisgICAgR3JHTElu
dGVyZmFjZSogY3JlYXRlR3JHTEludGVyZmFjZSgpOwogI2VuZGlmCisKK3Byb3RlY3RlZDoKKyNp
ZiBXRUJLSVRfVVNJTkdfU0tJQQorICAgIHZpcnR1YWwgR3JHTEludGVyZmFjZSogb25DcmVhdGVH
ckdMSW50ZXJmYWNlKCkgeyByZXR1cm4gMDsgfQorI2VuZGlmCisKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3NDb250
ZXh0M0RDaHJvbWl1bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvR3JhcGhpY3NDb250ZXh0M0RDaHJvbWl1bS5jcHAJKHJldmlzaW9uIDk0MzM3KQorKysgU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RDaHJvbWl1bS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTYzLDYgKzYzLDcgQEAKIAogI2lmIFVTRShTS0lBKQogI2luY2x1ZGUg
IkdyQ29udGV4dC5oIgorI2luY2x1ZGUgIkdyR0xJbnRlcmZhY2UuaCIKICNlbmRpZgogCiAvLyBU
aGVyZSBhcmUgdHdvIGxldmVscyBvZiBkZWxlZ2F0aW9uIGluIHRoaXMgZmlsZToKQEAgLTE2MSw4
ICsxNjIsMTcgQEAgR3JDb250ZXh0KiBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OmdyQwogICAg
IHN0YXRpYyBjb25zdCBzaXplX3QgbWF4VGV4dHVyZUNhY2hlQnl0ZXMgPSA1MCAqIDEwMjQgKiAx
MDI0OwogCiAgICAgaWYgKCFtX2dyQ29udGV4dCkgewotICAgICAgICBHclBsYXRmb3JtM0RDb250
ZXh0IGdsaW50ZXJmYWNlID0gcmVpbnRlcnByZXRfY2FzdDxHclBsYXRmb3JtM0RDb250ZXh0Piht
X2ltcGwtPmdyR0xJbnRlcmZhY2UoKSk7Ci0gICAgICAgIG1fZ3JDb250ZXh0ID0gR3JDb250ZXh0
OjpDcmVhdGUoa09wZW5HTF9TaGFkZXJzX0dyRW5naW5lLCBnbGludGVyZmFjZSk7CisgICAgICAg
IFNrQXV0b1RVbnJlZjxHckdMSW50ZXJmYWNlPiBpbnRlcmZhY2UobV9pbXBsLT5jcmVhdGVHckdM
SW50ZXJmYWNlKCkpOworICAgICAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgYmxvY2sgYWZ0ZXIg
dGhlIFdlYkdyYXBoaWNzQ29udGV4dDNEIHN1YmNsYXNzZXMgaW4gQ2hyb21pdW0gbm8gbG9uZ2Vy
IG92ZXJyaWRlIGdyR0xJbnRlcmZhY2UoKS4KKyAgICAgICAgaWYgKCFpbnRlcmZhY2UuZ2V0KCkp
IHsKKyAgICAgICAgICAgIEdyR0xJbnRlcmZhY2UqIGZhbGxiYWNrSW50ZXJmYWNlID0gbV9pbXBs
LT5nckdMSW50ZXJmYWNlKCk7CisgICAgICAgICAgICBpZiAoZmFsbGJhY2tJbnRlcmZhY2UpIHsK
KyAgICAgICAgICAgICAgICBmYWxsYmFja0ludGVyZmFjZS0+cmVmKCk7IC8vIGJhbGFuY2Ugb3V0
IHRoZSBTa0F1dG9UVW5yZWYKKyAgICAgICAgICAgICAgICBpbnRlcmZhY2UucmVzZXQoZmFsbGJh
Y2tJbnRlcmZhY2UpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIC8vIFRoaXMg
aXMgdGhlIGVuZCBvZiB0aGUgYmxvY2sgdG8gcmVtb3ZlLgorICAgICAgICBtX2dyQ29udGV4dCA9
IEdyQ29udGV4dDo6Q3JlYXRlKGtPcGVuR0xfU2hhZGVyc19HckVuZ2luZSwgcmVpbnRlcnByZXRf
Y2FzdDxHclBsYXRmb3JtM0RDb250ZXh0PihpbnRlcmZhY2UuZ2V0KCkpKTsKICAgICAgICAgaWYg
KG1fZ3JDb250ZXh0KQogICAgICAgICAgICAgbV9nckNvbnRleHQtPnNldFRleHR1cmVDYWNoZUxp
bWl0cyhtYXhUZXh0dXJlQ2FjaGVDb3VudCwgbWF4VGV4dHVyZUNhY2hlQnl0ZXMpOwogICAgIH0K
SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkdyYXBoaWNzQ29udGV4dDNELmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJHcmFwaGljc0Nv
bnRleHQzRC5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJHcmFwaGljc0NvbnRleHQzRC5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTggQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAor
ICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViR3JhcGhpY3NDb250ZXh0M0Qu
aCIKKworI2luY2x1ZGUgIkdyR0xJbnRlcmZhY2UuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisK
KyNpZiBXRUJLSVRfVVNJTkdfU0tJQQorCisjaWYgR1JfR0xfUEVSX0dMX0ZVTkNfQ0FMTEJBQ0sK
K25hbWVzcGFjZSB7CisgICAgdm9pZCBiaW5kV2ViR3JhcGhpY3NDb250ZXh0M0RHTENvbnRleHRD
YWxsYmFjayhjb25zdCBHckdMSW50ZXJmYWNlKiBpbnRlcmZhY2UpCisgICAgeworICAgICAgICBy
ZWludGVycHJldF9jYXN0PFdlYkdyYXBoaWNzQ29udGV4dDNEKj4oaW50ZXJmYWNlLT5mQ2FsbGJh
Y2tEYXRhKS0+bWFrZUNvbnRleHRDdXJyZW50KCk7CisgICAgfQorfQorI2VuZGlmCisKK0dyR0xJ
bnRlcmZhY2UqIFdlYkdyYXBoaWNzQ29udGV4dDNEOjpjcmVhdGVHckdMSW50ZXJmYWNlKCkKK3sK
KyAgICBHckdMSW50ZXJmYWNlKiBpbnRlcmZhY2UgPSBvbkNyZWF0ZUdyR0xJbnRlcmZhY2UoKTsK
KyNpZiBHUl9HTF9QRVJfR0xfRlVOQ19DQUxMQkFDSworICAgIGlmIChpbnRlcmZhY2UpIHsKKyAg
ICAgICAgaW50ZXJmYWNlLT5mQ2FsbGJhY2sgPSBiaW5kV2ViR3JhcGhpY3NDb250ZXh0M0RHTENv
bnRleHRDYWxsYmFjazsKKyAgICAgICAgaW50ZXJmYWNlLT5mQ2FsbGJhY2tEYXRhID0gcmVpbnRl
cnByZXRfY2FzdDxHckdMSW50ZXJmYWNlQ2FsbGJhY2tEYXRhPih0aGlzKTsKKyAgICB9CisjZW5k
aWYKKyAgICByZXR1cm4gaW50ZXJmYWNlOworfQorCisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>