<?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>47020</bug_id>
          
          <creation_ts>2010-10-01 14:35:42 -0700</creation_ts>
          <short_desc>[chromium] Fixing crash when audio media player is destructed</short_desc>
          <delta_ts>2010-10-04 10:55:30 -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>Other</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>0</everconfirmed>
          <reporter name="Victoria Kirst">vrk</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>hclam</cc>
    
    <cc>jamesr</cc>
    
    <cc>vangelis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>288491</commentid>
    <comment_count>0</comment_count>
    <who name="Victoria Kirst">vrk</who>
    <bug_when>2010-10-01 14:35:42 -0700</bug_when>
    <thetext>Fixing crash when audio media player is destructed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288493</commentid>
    <comment_count>1</comment_count>
      <attachid>69521</attachid>
    <who name="Victoria Kirst">vrk</who>
    <bug_when>2010-10-01 14:38:02 -0700</bug_when>
    <thetext>Created attachment 69521
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288503</commentid>
    <comment_count>2</comment_count>
      <attachid>69521</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-10-01 14:53:43 -0700</bug_when>
    <thetext>Comment on attachment 69521
Patch

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

r- for mangled ChangeLog.  Any chance of a test?  When will the layerRenderer() test fail?

&gt; WebCore/ChangeLog:22
&gt; +2010-10-01  Victoria Kirst  &lt;vrk@google.com&gt;
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        Makes check in destructor to see if renderer was hooked up to the
&gt; +        layer before destructing object.
&gt; +
&gt; +        * platform/graphics/chromium/VideoLayerChromium.cpp:
&gt; +        (WebCore::VideoLayerChromium::~VideoLayerChromium):
&gt; +
&gt; +2010-10-01  Victoria Kirst  &lt;vrk@google.com&gt;
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        Fixing crash when audio media player is destructed
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=47020
&gt; +
&gt; +        No new tests. (OOPS!)
&gt; +
&gt; +        * platform/graphics/chromium/VideoLayerChromium.cpp:
&gt; +        (WebCore::VideoLayerChromium::~VideoLayerChromium):
&gt; +

Looks like you ran prepare-ChangeLogs twice.  Please resolve.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288511</commentid>
    <comment_count>3</comment_count>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2010-10-01 15:11:41 -0700</bug_when>
    <thetext>This probably needs to be a chrome ui test since the compositor is not active in test_shell. Victoria: You can write a test in media_uitest.cc that loads an audio element and then switch to other page. A even better one would be a &quot;in browser&quot; ui test where you start a new tab with an audio element and then close the tab.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288514</commentid>
    <comment_count>4</comment_count>
    <who name="Victoria Kirst">vrk</who>
    <bug_when>2010-10-01 15:16:16 -0700</bug_when>
    <thetext>(In reply to comment #2)

&gt; r- for mangled ChangeLog. 
Oops! Thanks for the catch.

&gt; Any chance of a test?  When will the layerRenderer() test fail?
So, it&apos;s a little tricky: LayerChromiums do not get initially created with a LayerRenderer associated with it, but instead there is a setLayerRenderer call which creates the association. Thus VideoLayerChromium only gets a LayerRenderer associated with it when the LayerRenderer is drawing that video layer, since that is where the LayerRenderer calls setLayerRenderer() (https://cs.corp.google.com/p#chrome/trunk/src/third_party/WebKit/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp&amp;q=setLayerRenderer&amp;exact_package=chrome&amp;l=473).

In other words, the layerRenderer() test fails if we have created a VideoLayerChromium that is never drawn by the LayerRenderer... That in itself is kind of hard to test, but I can try to write a test that makes sure Audio and Video tags are destructed correctly (which was the problem that was causing all the crashes).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288530</commentid>
    <comment_count>5</comment_count>
      <attachid>69530</attachid>
    <who name="Victoria Kirst">vrk</who>
    <bug_when>2010-10-01 15:46:26 -0700</bug_when>
    <thetext>Created attachment 69530
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288540</commentid>
    <comment_count>6</comment_count>
    <who name="Victoria Kirst">vrk</who>
    <bug_when>2010-10-01 15:50:44 -0700</bug_when>
    <thetext>This new patch just fixes the ChangeLogs. I am going to do like Alpha suggested and write UI tests for destructing audio tags and I&apos;ll submit those in a separate chromium patch. Does that sound ok, James?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288546</commentid>
    <comment_count>7</comment_count>
      <attachid>69530</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-10-01 15:54:54 -0700</bug_when>
    <thetext>Comment on attachment 69530
Patch

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

Is the change in WebMediaPlayerClientImpl.cpp addressing the same bug, or something different?  I don&apos;t understand how that is related to the crash.

&gt; WebCore/ChangeLog:9
&gt; +        Makes check in destructor to see if renderer was hooked up to the
&gt; +        layer before destructing object.
&gt; +
&gt; +        Fixing crash when audio media player is destructed
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=47020

nit: should be one line description, bug link, newline, long description

&gt; WebKit/chromium/ChangeLog:9
&gt; +        Creates the VideoLayerChromium layer only if the media player contains
&gt; +        a video.
&gt; +
&gt; +        Fixing crash when audio media player is destructed
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=47020

nit: should be one line description, bug link, newline, long description</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288550</commentid>
    <comment_count>8</comment_count>
      <attachid>69533</attachid>
    <who name="Victoria Kirst">vrk</who>
    <bug_when>2010-10-01 16:05:03 -0700</bug_when>
    <thetext>Created attachment 69533
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288554</commentid>
    <comment_count>9</comment_count>
    <who name="Victoria Kirst">vrk</who>
    <bug_when>2010-10-01 16:12:40 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Is the change in WebMediaPlayerClientImpl.cpp addressing the same bug, or something different?  I don&apos;t understand how that is related to the crash.

Yes, it is addressing the same bug. The WebMediaPlayerClientImpl object is created for all media players, including audio. The crash was occurring because the VideoLayerChromium platform layer was being constructed in the WebMediaPlayerClientImpl::create() method, which meant the (unused) VLC layer was being created for audio players. When destructing the audio players, the VideoLayerChromiums associated with them were never rendered and therefore did not have a LayerRenderer associated with it, which caused the layerRenderer() assert to fail.

So actually, the crash could be fixed with the WebMediaPlayerClientImpl.cpp change alone, but it makes sense to also add the if (!layerRenderer()) ... check into VideoLayerChromium.cpp for extra security.

&gt; nit: should be one line description, bug link, newline, long description
Fixed x 2!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288633</commentid>
    <comment_count>10</comment_count>
      <attachid>69533</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-10-01 18:50:47 -0700</bug_when>
    <thetext>Comment on attachment 69533
Patch

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

R=me

&gt; WebCore/platform/graphics/chromium/VideoLayerChromium.cpp:190
&gt; +    if (!layerRenderer())
&gt; +        return;
&gt; +

If we expect this never to be the case, it&apos;s probably better to add an ASSERT() instead and watch for issues in the field.  We don&apos;t want to paper over real bugs if we don&apos;t understand how they might be happening.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289005</commentid>
    <comment_count>11</comment_count>
    <who name="Victoria Kirst">vrk</who>
    <bug_when>2010-10-04 10:55:30 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; If we expect this never to be the case, it&apos;s probably better to add an ASSERT() instead and watch for issues in the field.  We don&apos;t want to paper over real bugs 
if we don&apos;t understand how they might be happening.

Updated. Thanks for the review, James! Alpha committed this patch for me here:
http://trac.webkit.org/changeset/69022</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69521</attachid>
            <date>2010-10-01 14:38:02 -0700</date>
            <delta_ts>2010-10-01 15:46:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47020-20101001143801.patch</filename>
            <type>text/plain</type>
            <size>4005</size>
            <attacher name="Victoria Kirst">vrk</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NDFlMzc4NDgzZDJiNWU4ODJlNzAyNmJmNDM1MDdjOTFmOTVjOGJkYi4uNTZmZjIwZDhjYzFlNTVj
NTExYmY4ZWE5ZjY1MzBiYmUyZmFjNmFlMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMC0xMC0wMSAgVmlj
dG9yaWEgS2lyc3QgIDx2cmtAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlcyBjaGVjayBpbiBkZXN0cnVjdG9yIHRvIHNlZSBp
ZiByZW5kZXJlciB3YXMgaG9va2VkIHVwIHRvIHRoZQorICAgICAgICBsYXllciBiZWZvcmUgZGVz
dHJ1Y3Rpbmcgb2JqZWN0LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
VmlkZW9MYXllckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZpZGVvTGF5ZXJDaHJv
bWl1bTo6flZpZGVvTGF5ZXJDaHJvbWl1bSk6CisKKzIwMTAtMTAtMDEgIFZpY3RvcmlhIEtpcnN0
ICA8dnJrQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRml4aW5nIGNyYXNoIHdoZW4gYXVkaW8gbWVkaWEgcGxheWVyIGlzIGRlc3Ry
dWN0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3
MDIwCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoT09QUyEpCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9WaWRlb0xheWVyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VmlkZW9MYXllckNocm9taXVtOjp+VmlkZW9MYXllckNocm9taXVtKToKKwogMjAxMC0x
MC0wMSAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IEFkZWxlIFBldGVyc29uLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9WaWRlb0xheWVyQ2hyb21pdW0uY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9WaWRlb0xheWVyQ2hyb21pdW0uY3BwCmluZGV4IDI2NjQxYTliZjllOTEz
MTVjODMzOGZjMmVkYjY1NTI5NWMwYmIxMzMuLmE1NWNiMmI5YTI1M2ViNjRiYmMyNGJiZTAxNmZh
MDkzMjdjNDJlYjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vVmlkZW9MYXllckNocm9taXVtLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL1ZpZGVvTGF5ZXJDaHJvbWl1bS5jcHAKQEAgLTE4NSw2ICsxODUsOSBAQCBWaWRl
b0xheWVyQ2hyb21pdW06OlZpZGVvTGF5ZXJDaHJvbWl1bShHcmFwaGljc0xheWVyQ2hyb21pdW0q
IG93bmVyLCBWaWRlb0ZyYW1lUAogCiBWaWRlb0xheWVyQ2hyb21pdW06On5WaWRlb0xheWVyQ2hy
b21pdW0oKQogeworICAgIGlmICghbGF5ZXJSZW5kZXJlcigpKQorICAgICAgICByZXR1cm47CisK
ICAgICBHcmFwaGljc0NvbnRleHQzRCogY29udGV4dCA9IGxheWVyUmVuZGVyZXJDb250ZXh0KCk7
CiAgICAgZm9yICh1bnNpZ25lZCBwbGFuZSA9IDA7IHBsYW5lIDwgVmlkZW9GcmFtZUNocm9taXVt
OjptYXhQbGFuZXM7IHBsYW5lKyspIHsKICAgICAgICAgaWYgKG1fdGV4dHVyZXNbcGxhbmVdKQpk
aWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKaW5kZXggYjAxYWFiZThjNjg3YmY3NTI2Mzk0Mzg1NTRmMjJmN2Q5MjM4OTc0NC4u
ZmJhZGVmMTU0YTQyYmVjYWIzYjRiNWNjN2ZkYTc3NDk4ODRmNmU0MCAxMDA2NDQKLS0tIGEvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMTAtMTAtMDEgIFZpY3RvcmlhIEtpcnN0ICA8dnJrQGdvb2dsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3Jl
YXRlcyB0aGUgVmlkZW9MYXllckNocm9taXVtIGxheWVyIG9ubHkgaWYgdGhlIG1lZGlhIHBsYXll
ciBjb250YWlucworICAgICAgICBhIHZpZGVvLgorCisgICAgICAgIEZpeGluZyBjcmFzaCB3aGVu
IGF1ZGlvIG1lZGlhIHBsYXllciBpcyBkZXN0cnVjdGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzAyMAorCisgICAgICAgICogc3JjL1dlYk1lZGlh
UGxheWVyQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xp
ZW50SW1wbDo6cmVhZHlTdGF0ZUNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYVBs
YXllckNsaWVudEltcGw6OmNyZWF0ZSk6CisKKzIwMTAtMTAtMDEgIFZpY3RvcmlhIEtpcnN0ICA8
dnJrQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRml4aW5nIGNyYXNoIHdoZW4gYXVkaW8gbWVkaWEgcGxheWVyIGlzIGRlc3RydWN0
ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3MDIw
CisKKyAgICAgICAgKiBzcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpyZWFkeVN0YXRlQ2hhbmdlZCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6YnVmZmVyZWQpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OmNyZWF0ZSk6CisKIDIwMTAt
MTAtMDEgIEpvY2hlbiBFaXNpbmdlciAgPGpvY2hlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJN
ZWRpYVBsYXllckNsaWVudEltcGwuY3BwCmluZGV4IGYwZWNlMGQ3NTIxYmQ2ZjlkMWQyMmFmMTUy
OTBhNmQ2ZmY3ODQ2MmEuLjg3YWQ5NjNhZTFmNjUxNzUyOTQ4ODBkNWQ0NGVlZWUwZmExMTJjMzEg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBs
LmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5j
cHAKQEAgLTEwNSw2ICsxMDUsOCBAQCB2b2lkIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6cmVh
ZHlTdGF0ZUNoYW5nZWQoKQogewogICAgIEFTU0VSVChtX21lZGlhUGxheWVyKTsKICAgICBtX21l
ZGlhUGxheWVyLT5yZWFkeVN0YXRlQ2hhbmdlZCgpOworICAgIGlmIChoYXNWaWRlbygpICYmIHN1
cHBvcnRzQWNjZWxlcmF0ZWRSZW5kZXJpbmcoKSAmJiAhbV92aWRlb0xheWVyLmdldCgpKQorICAg
ICAgICBtX3ZpZGVvTGF5ZXIgPSBWaWRlb0xheWVyQ2hyb21pdW06OmNyZWF0ZSgwLCB0aGlzKTsK
IH0KIAogdm9pZCBXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OnZvbHVtZUNoYW5nZWQoZmxvYXQg
bmV3Vm9sdW1lKQpAQCAtNDU1LDkgKzQ1Nyw2IEBAIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFj
ZSogV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpjcmVhdGUoTWVkaWFQbGF5ZXIqIHBsYXllCiAg
ICAgLy8gaWYgbmVjZXNzYXJ5LgogICAgIGNsaWVudC0+bV9zdXBwb3J0c0FjY2VsZXJhdGVkQ29t
cG9zaXRpbmcgPQogICAgICAgICBmcmFtZS0+Y29udGVudFJlbmRlcmVyKCktPmNvbXBvc2l0b3Io
KS0+aGFzQWNjZWxlcmF0ZWRDb21wb3NpdGluZygpOwotCi0gICAgaWYgKGNsaWVudC0+bV9zdXBw
b3J0c0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcpCi0gICAgICAgIGNsaWVudC0+bV92aWRlb0xheWVy
ID0gVmlkZW9MYXllckNocm9taXVtOjpjcmVhdGUoMCwgY2xpZW50KTsKICNlbmRpZgogCiAgICAg
cmV0dXJuIGNsaWVudDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69530</attachid>
            <date>2010-10-01 15:46:26 -0700</date>
            <delta_ts>2010-10-01 16:04:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47020-20101001154624.patch</filename>
            <type>text/plain</type>
            <size>3337</size>
            <attacher name="Victoria Kirst">vrk</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NDFlMzc4NDgzZDJiNWU4ODJlNzAyNmJmNDM1MDdjOTFmOTVjOGJkYi4uNTIyMjhiMmVjZWYzMWRj
MjRjNzJkMWE1NTAyMmRmZTdiODdiNTgwNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0xMC0wMSAgVmlj
dG9yaWEgS2lyc3QgIDx2cmtAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlcyBjaGVjayBpbiBkZXN0cnVjdG9yIHRvIHNlZSBp
ZiByZW5kZXJlciB3YXMgaG9va2VkIHVwIHRvIHRoZQorICAgICAgICBsYXllciBiZWZvcmUgZGVz
dHJ1Y3Rpbmcgb2JqZWN0LgorCisgICAgICAgIEZpeGluZyBjcmFzaCB3aGVuIGF1ZGlvIG1lZGlh
IHBsYXllciBpcyBkZXN0cnVjdGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD00NzAyMAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vVmlkZW9MYXllckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZpZGVvTGF5ZXJD
aHJvbWl1bTo6flZpZGVvTGF5ZXJDaHJvbWl1bSk6CisKIDIwMTAtMTAtMDEgIERhbiBCZXJuc3Rl
aW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGVsZSBQZXRlcnNv
bi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVmlkZW9M
YXllckNocm9taXVtLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVmlk
ZW9MYXllckNocm9taXVtLmNwcAppbmRleCAyNjY0MWE5YmY5ZTkxMzE1YzgzMzhmYzJlZGI2NTUy
OTVjMGJiMTMzLi5hNTVjYjJiOWEyNTNlYjY0YmJjMjRiYmUwMTZmYTA5MzI3YzQyZWIwIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1ZpZGVvTGF5ZXJDaHJv
bWl1bS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9WaWRlb0xh
eWVyQ2hyb21pdW0uY3BwCkBAIC0xODUsNiArMTg1LDkgQEAgVmlkZW9MYXllckNocm9taXVtOjpW
aWRlb0xheWVyQ2hyb21pdW0oR3JhcGhpY3NMYXllckNocm9taXVtKiBvd25lciwgVmlkZW9GcmFt
ZVAKIAogVmlkZW9MYXllckNocm9taXVtOjp+VmlkZW9MYXllckNocm9taXVtKCkKIHsKKyAgICBp
ZiAoIWxheWVyUmVuZGVyZXIoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgR3JhcGhpY3NDb250
ZXh0M0QqIGNvbnRleHQgPSBsYXllclJlbmRlcmVyQ29udGV4dCgpOwogICAgIGZvciAodW5zaWdu
ZWQgcGxhbmUgPSAwOyBwbGFuZSA8IFZpZGVvRnJhbWVDaHJvbWl1bTo6bWF4UGxhbmVzOyBwbGFu
ZSsrKSB7CiAgICAgICAgIGlmIChtX3RleHR1cmVzW3BsYW5lXSkKZGlmZiAtLWdpdCBhL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGIw
MWFhYmU4YzY4N2JmNzUyNjM5NDM4NTU0ZjIyZjdkOTIzODk3NDQuLjNkYmNkZWQ4NWRmNTMxNDY0
Zjc4ZWNiYWVjODIyN2FmZWI0NzdhZTggMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisy
MDEwLTEwLTAxICBWaWN0b3JpYSBLaXJzdCAgPHZya0Bnb29nbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENyZWF0ZXMgdGhlIFZpZGVvTGF5
ZXJDaHJvbWl1bSBsYXllciBvbmx5IGlmIHRoZSBtZWRpYSBwbGF5ZXIgY29udGFpbnMKKyAgICAg
ICAgYSB2aWRlby4KKworICAgICAgICBGaXhpbmcgY3Jhc2ggd2hlbiBhdWRpbyBtZWRpYSBwbGF5
ZXIgaXMgZGVzdHJ1Y3RlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDcwMjAKKworICAgICAgICAqIHNyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OnJlYWR5U3Rh
dGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpj
cmVhdGUpOgorCiAyMDEwLTEwLTAxICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KZGlmZiAtLWdpdCBhL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcCBiL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcAppbmRleCBmMGVjZTBkNzUy
MWJkNmY5ZDFkMjJhZjE1MjkwYTZkNmZmNzg0NjJhLi44N2FkOTYzYWUxZjY1MTc1Mjk0ODgwZDVk
NDRlZWVlMGZhMTEyYzMxIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlh
UGxheWVyQ2xpZW50SW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBs
YXllckNsaWVudEltcGwuY3BwCkBAIC0xMDUsNiArMTA1LDggQEAgdm9pZCBXZWJNZWRpYVBsYXll
ckNsaWVudEltcGw6OnJlYWR5U3RhdGVDaGFuZ2VkKCkKIHsKICAgICBBU1NFUlQobV9tZWRpYVBs
YXllcik7CiAgICAgbV9tZWRpYVBsYXllci0+cmVhZHlTdGF0ZUNoYW5nZWQoKTsKKyAgICBpZiAo
aGFzVmlkZW8oKSAmJiBzdXBwb3J0c0FjY2VsZXJhdGVkUmVuZGVyaW5nKCkgJiYgIW1fdmlkZW9M
YXllci5nZXQoKSkKKyAgICAgICAgbV92aWRlb0xheWVyID0gVmlkZW9MYXllckNocm9taXVtOjpj
cmVhdGUoMCwgdGhpcyk7CiB9CiAKIHZvaWQgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjp2b2x1
bWVDaGFuZ2VkKGZsb2F0IG5ld1ZvbHVtZSkKQEAgLTQ1NSw5ICs0NTcsNiBAQCBNZWRpYVBsYXll
clByaXZhdGVJbnRlcmZhY2UqIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6Y3JlYXRlKE1lZGlh
UGxheWVyKiBwbGF5ZQogICAgIC8vIGlmIG5lY2Vzc2FyeS4KICAgICBjbGllbnQtPm1fc3VwcG9y
dHNBY2NlbGVyYXRlZENvbXBvc2l0aW5nID0KICAgICAgICAgZnJhbWUtPmNvbnRlbnRSZW5kZXJl
cigpLT5jb21wb3NpdG9yKCktPmhhc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKTsKLQotICAgIGlm
IChjbGllbnQtPm1fc3VwcG9ydHNBY2NlbGVyYXRlZENvbXBvc2l0aW5nKQotICAgICAgICBjbGll
bnQtPm1fdmlkZW9MYXllciA9IFZpZGVvTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKDAsIGNsaWVudCk7
CiAjZW5kaWYKIAogICAgIHJldHVybiBjbGllbnQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69533</attachid>
            <date>2010-10-01 16:05:03 -0700</date>
            <delta_ts>2010-10-01 18:50:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47020-20101001160501.patch</filename>
            <type>text/plain</type>
            <size>3337</size>
            <attacher name="Victoria Kirst">vrk</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NDFlMzc4NDgzZDJiNWU4ODJlNzAyNmJmNDM1MDdjOTFmOTVjOGJkYi4uOWFhMzEzYmMwYmM4ZWQw
ODE5YjFiZmNhOWI4YzlhMDVkZGI5YmMyOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0xMC0wMSAgVmlj
dG9yaWEgS2lyc3QgIDx2cmtAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBGaXhpbmcgY3Jhc2ggd2hlbiBhdWRpbyBtZWRpYSBwbGF5
ZXIgaXMgZGVzdHJ1Y3RlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDcwMjAKKworICAgICAgICBNYWtlcyBjaGVjayBpbiBkZXN0cnVjdG9yIHRvIHNl
ZSBpZiByZW5kZXJlciB3YXMgaG9va2VkIHVwIHRvIHRoZQorICAgICAgICBsYXllciBiZWZvcmUg
ZGVzdHJ1Y3Rpbmcgb2JqZWN0LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vVmlkZW9MYXllckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZpZGVvTGF5ZXJD
aHJvbWl1bTo6flZpZGVvTGF5ZXJDaHJvbWl1bSk6CisKIDIwMTAtMTAtMDEgIERhbiBCZXJuc3Rl
aW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGVsZSBQZXRlcnNv
bi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVmlkZW9M
YXllckNocm9taXVtLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVmlk
ZW9MYXllckNocm9taXVtLmNwcAppbmRleCAyNjY0MWE5YmY5ZTkxMzE1YzgzMzhmYzJlZGI2NTUy
OTVjMGJiMTMzLi5hNTVjYjJiOWEyNTNlYjY0YmJjMjRiYmUwMTZmYTA5MzI3YzQyZWIwIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1ZpZGVvTGF5ZXJDaHJv
bWl1bS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9WaWRlb0xh
eWVyQ2hyb21pdW0uY3BwCkBAIC0xODUsNiArMTg1LDkgQEAgVmlkZW9MYXllckNocm9taXVtOjpW
aWRlb0xheWVyQ2hyb21pdW0oR3JhcGhpY3NMYXllckNocm9taXVtKiBvd25lciwgVmlkZW9GcmFt
ZVAKIAogVmlkZW9MYXllckNocm9taXVtOjp+VmlkZW9MYXllckNocm9taXVtKCkKIHsKKyAgICBp
ZiAoIWxheWVyUmVuZGVyZXIoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgR3JhcGhpY3NDb250
ZXh0M0QqIGNvbnRleHQgPSBsYXllclJlbmRlcmVyQ29udGV4dCgpOwogICAgIGZvciAodW5zaWdu
ZWQgcGxhbmUgPSAwOyBwbGFuZSA8IFZpZGVvRnJhbWVDaHJvbWl1bTo6bWF4UGxhbmVzOyBwbGFu
ZSsrKSB7CiAgICAgICAgIGlmIChtX3RleHR1cmVzW3BsYW5lXSkKZGlmZiAtLWdpdCBhL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGIw
MWFhYmU4YzY4N2JmNzUyNjM5NDM4NTU0ZjIyZjdkOTIzODk3NDQuLmEzNjE4Zjg2Y2EwYzQ5MTBk
ZTI3NmQyM2I4NDM2YzZkMzI3MzFiZGYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisy
MDEwLTEwLTAxICBWaWN0b3JpYSBLaXJzdCAgPHZya0Bnb29nbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeGluZyBjcmFzaCB3aGVuIGF1
ZGlvIG1lZGlhIHBsYXllciBpcyBkZXN0cnVjdGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzAyMAorCisgICAgICAgIENyZWF0ZXMgdGhlIFZpZGVv
TGF5ZXJDaHJvbWl1bSBsYXllciBvbmx5IGlmIHRoZSBtZWRpYSBwbGF5ZXIgY29udGFpbnMKKyAg
ICAgICAgYSB2aWRlby4KKworICAgICAgICAqIHNyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OnJlYWR5U3Rh
dGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpj
cmVhdGUpOgorCiAyMDEwLTEwLTAxICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KZGlmZiAtLWdpdCBhL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcCBiL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcAppbmRleCBmMGVjZTBkNzUy
MWJkNmY5ZDFkMjJhZjE1MjkwYTZkNmZmNzg0NjJhLi44N2FkOTYzYWUxZjY1MTc1Mjk0ODgwZDVk
NDRlZWVlMGZhMTEyYzMxIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlh
UGxheWVyQ2xpZW50SW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBs
YXllckNsaWVudEltcGwuY3BwCkBAIC0xMDUsNiArMTA1LDggQEAgdm9pZCBXZWJNZWRpYVBsYXll
ckNsaWVudEltcGw6OnJlYWR5U3RhdGVDaGFuZ2VkKCkKIHsKICAgICBBU1NFUlQobV9tZWRpYVBs
YXllcik7CiAgICAgbV9tZWRpYVBsYXllci0+cmVhZHlTdGF0ZUNoYW5nZWQoKTsKKyAgICBpZiAo
aGFzVmlkZW8oKSAmJiBzdXBwb3J0c0FjY2VsZXJhdGVkUmVuZGVyaW5nKCkgJiYgIW1fdmlkZW9M
YXllci5nZXQoKSkKKyAgICAgICAgbV92aWRlb0xheWVyID0gVmlkZW9MYXllckNocm9taXVtOjpj
cmVhdGUoMCwgdGhpcyk7CiB9CiAKIHZvaWQgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjp2b2x1
bWVDaGFuZ2VkKGZsb2F0IG5ld1ZvbHVtZSkKQEAgLTQ1NSw5ICs0NTcsNiBAQCBNZWRpYVBsYXll
clByaXZhdGVJbnRlcmZhY2UqIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6Y3JlYXRlKE1lZGlh
UGxheWVyKiBwbGF5ZQogICAgIC8vIGlmIG5lY2Vzc2FyeS4KICAgICBjbGllbnQtPm1fc3VwcG9y
dHNBY2NlbGVyYXRlZENvbXBvc2l0aW5nID0KICAgICAgICAgZnJhbWUtPmNvbnRlbnRSZW5kZXJl
cigpLT5jb21wb3NpdG9yKCktPmhhc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKTsKLQotICAgIGlm
IChjbGllbnQtPm1fc3VwcG9ydHNBY2NlbGVyYXRlZENvbXBvc2l0aW5nKQotICAgICAgICBjbGll
bnQtPm1fdmlkZW9MYXllciA9IFZpZGVvTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKDAsIGNsaWVudCk7
CiAjZW5kaWYKIAogICAgIHJldHVybiBjbGllbnQ7Cg==
</data>
<flag name="review"
          id="59244"
          type_id="1"
          status="+"
          setter="jamesr"
    />
          </attachment>
      

    </bug>

</bugzilla>