<?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>84571</bug_id>
          
          <creation_ts>2012-04-23 00:35:01 -0700</creation_ts>
          <short_desc>[BlackBerry] Input Range element expects mouse events</short_desc>
          <delta_ts>2012-04-25 19:02:02 -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>WebKit BlackBerry</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Other</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>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Charles Wei">charles.wei</reporter>
          <assigned_to name="Charles Wei">charles.wei</assigned_to>
          <cc>gen</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>staikos</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>607520</commentid>
    <comment_count>0</comment_count>
    <who name="Charles Wei">charles.wei</who>
    <bug_when>2012-04-23 00:35:01 -0700</bug_when>
    <thetext>Some shadow elements expects the mouse events to operate on them to change their state/value,  like SliderThumbElement, MediaControlTimelineElement.
If we don&apos;t convert touch events to mouse events for them,  then they won&apos;t work when touch and move on them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>607522</commentid>
    <comment_count>1</comment_count>
      <attachid>138303</attachid>
    <who name="Charles Wei">charles.wei</who>
    <bug_when>2012-04-23 00:42:54 -0700</bug_when>
    <thetext>Created attachment 138303
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>607655</commentid>
    <comment_count>2</comment_count>
      <attachid>138303</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-04-23 07:16:59 -0700</bug_when>
    <thetext>Comment on attachment 138303
Patch

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

It needs more info, and perhaps more discussion, I think.

&gt; Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.cpp:78
&gt; -    while (element-&gt;isInShadowTree())
&gt; -        element = toElement(element-&gt;shadowAncestorNode());
&gt; +    if (element-&gt;isInShadowTree())
&gt; +        return true;

could you explain what does this patch fix, charles?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>607662</commentid>
    <comment_count>3</comment_count>
      <attachid>138303</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-04-23 07:30:06 -0700</bug_when>
    <thetext>Comment on attachment 138303
Patch

Ok, I think I understood the problem. Lets discuss on IRC a different approach</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608646</commentid>
    <comment_count>4</comment_count>
      <attachid>138559</attachid>
    <who name="Charles Wei">charles.wei</who>
    <bug_when>2012-04-24 07:36:34 -0700</bug_when>
    <thetext>Created attachment 138559
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608649</commentid>
    <comment_count>5</comment_count>
      <attachid>138559</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-04-24 07:40:44 -0700</bug_when>
    <thetext>Comment on attachment 138559
Patch

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

&gt; Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.cpp:79
&gt; +static bool isRangeControlElement(Element* element)
&gt; +{
&gt; +    if (element-&gt;hasTagName(HTMLNames::inputTag)) {
&gt; +        HTMLInputElement* inputElement = static_cast&lt;HTMLInputElement*&gt;(element);
&gt; +        if (inputElement-&gt;isRangeControl())
&gt; +            return true;
&gt; +    }
&gt; +    return false;
&gt; +}

lets write this as

static bool isRangeControlElement(Element* elemenet) 
{
  assert(element);
  if (!element-&gt;hastagname(htmlnames::inputtag))
     return;

  htmlinputelement inputelement = static_cast&lt;htmlinputelement*&gt;(element);
  return inputelement-&gt;israngecontrol();
}

note the assert and the early return.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608667</commentid>
    <comment_count>6</comment_count>
      <attachid>138562</attachid>
    <who name="Charles Wei">charles.wei</who>
    <bug_when>2012-04-24 07:59:36 -0700</bug_when>
    <thetext>Created attachment 138562
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608670</commentid>
    <comment_count>7</comment_count>
      <attachid>138562</attachid>
    <who name="Charles Wei">charles.wei</who>
    <bug_when>2012-04-24 08:01:27 -0700</bug_when>
    <thetext>Comment on attachment 138562
Patch

Addressed the comments from the reviewer and commit it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608672</commentid>
    <comment_count>8</comment_count>
      <attachid>138562</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-04-24 08:07:04 -0700</bug_when>
    <thetext>Comment on attachment 138562
Patch

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

&gt; Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.cpp:93
&gt; -    // Make sure we are not operating a shadow node here, since the webpages
&gt; -    // aren&apos;t able to attach event listeners to shadow content.
&gt; +    // If the shadow tree contains a Range Control, like the MediaControlTimeline,
&gt; +    // MediaContolVolumeElement, etc, they expect natual elements. Otherwise, we
&gt; +    // won&apos;t operate on the shadow node, because the webpages aren&apos;t able to attach
&gt; +    // listeners to shadow content.
&gt;      ASSERT(element);
&gt; -    while (element-&gt;isInShadowTree())
&gt; +    while (element-&gt;isInShadowTree()) {
&gt;          element = toElement(element-&gt;shadowAncestorNode());
&gt; -
&gt; +      
&gt; +        if (isRangeControlElement(element))
&gt; +            return true;
&gt; +    }

maybe we should do a do-while here instead? so we test the original &apos;element&apos;?

also, maybe we could move the block above to shouldConvertTouchToMouse enterily</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608689</commentid>
    <comment_count>9</comment_count>
      <attachid>138562</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-04-24 08:26:01 -0700</bug_when>
    <thetext>Comment on attachment 138562
Patch

ok, we can clean up as a follow up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608726</commentid>
    <comment_count>10</comment_count>
      <attachid>138562</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-24 08:57:43 -0700</bug_when>
    <thetext>Comment on attachment 138562
Patch

Clearing flags on attachment: 138562

Committed r115065: &lt;http://trac.webkit.org/changeset/115065&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608727</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-24 08:57:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608806</commentid>
    <comment_count>12</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-04-24 10:23:43 -0700</bug_when>
    <thetext>reopening for cleaning things up further. see comment #8</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609608</commentid>
    <comment_count>13</comment_count>
      <attachid>138774</attachid>
    <who name="Charles Wei">charles.wei</who>
    <bug_when>2012-04-25 03:36:20 -0700</bug_when>
    <thetext>Created attachment 138774
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610297</commentid>
    <comment_count>14</comment_count>
      <attachid>138774</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-25 19:01:56 -0700</bug_when>
    <thetext>Comment on attachment 138774
Patch

Clearing flags on attachment: 138774

Committed r115280: &lt;http://trac.webkit.org/changeset/115280&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610299</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-25 19:02:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138303</attachid>
            <date>2012-04-23 00:42:54 -0700</date>
            <delta_ts>2012-04-24 07:36:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84571-20120423154934.patch</filename>
            <type>text/plain</type>
            <size>3679</size>
            <attacher name="Charles Wei">charles.wei</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0ODcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpp
bmRleCBjNzJlZGEyNTE5ZWEwYmNjMzllNDIwNWE4MGFlODUyZGFiZWFmNGYyLi5iZTQ3ZWNiMWVk
MjY5MmU4OTU1NDEyZmI0NGRkMDhiMmFlZWMwYWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0wNC0yMyAgQ2hhcmxlcyBXZWkgIDxjaGFybGVz
LndlaUB0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgW0JsYWNrQmVycnldIEFsd2F5cyBj
b252ZXJ0IHRoZSB0b3VjaCBldmVudHMgdG8gbW91c2UgZXZlbnRzIGZvciBTaGFkb3cgZWxlbWVu
dHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDU3
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNvbWUg
c2hhZG93IGVsZW1lbnRzIG5lZWQgbW91c2UgZXZlbnRzIHRvIG9wZXJhdGUsIGxpa2UgU2xpZGVy
VGh1bWJFbGVtZW50LgorICAgICAgICBTbyB3ZSBuZWVkIHRvIGNvbnZlcnQgdGhlIHRvdWNoIGV2
ZW50cyB0byBtb3VzZSBldmVudHMsIGlmIHRoZSB0YXJnZXQKKyAgICAgICAgZWxlbWVudCBpcyBh
IHNoYWRvdyBlbGVtZW50LCBhbmQgdGhlIHRvdWNoIGV2ZW50IGlzIG5vdCBjb25zdW1lZC4KKwor
ICAgICAgICAqIFdlYktpdFN1cHBvcnQvVG91Y2hFdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAo
QmxhY2tCZXJyeTo6V2ViS2l0OjplbGVtZW50RXhwZWN0c01vdXNlRXZlbnRzKToKKwogMjAxMi0w
NC0yMSAgQmVuamFtaW4gQyBNZXllciAgPGJtZXllckByaW0uY29tPgogCiAgICAgICAgIERvbid0
IGhhcmQgY29kZSB0aGUgcGx1Z2lucyB0aGF0IGJsYWNrYmVycnkgc3VwcG9ydHMuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9Ub3VjaEV2ZW50SGFu
ZGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9Ub3VjaEV2
ZW50SGFuZGxlci5jcHAKaW5kZXggZTM2ZWFmNzY4Y2NkNTc4MzcxZjQ5ODNlOGRiOTJjNzc1NWZj
NDUwMS4uZWM0NzY4OTMzNjgyNjAzNzZhOWI4ZWFmZjcxMzg4NTI2ZjZjNDc0ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvVG91Y2hFdmVudEhhbmRs
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L1RvdWNo
RXZlbnRIYW5kbGVyLmNwcApAQCAtNzAsMTEgKzcwLDEyIEBAIHN0YXRpYyBib29sIGhhc1RvdWNo
TGlzdGVuZXIoRWxlbWVudCogZWxlbWVudCkKIAogc3RhdGljIGJvb2wgZWxlbWVudEV4cGVjdHNN
b3VzZUV2ZW50cyhFbGVtZW50KiBlbGVtZW50KQogewotICAgIC8vIE1ha2Ugc3VyZSB3ZSBhcmUg
bm90IG9wZXJhdGluZyBhIHNoYWRvdyBub2RlIGhlcmUsIHNpbmNlIHRoZSB3ZWJwYWdlcwotICAg
IC8vIGFyZW4ndCBhYmxlIHRvIGF0dGFjaCBldmVudCBsaXN0ZW5lcnMgdG8gc2hhZG93IGNvbnRl
bnQuCisgICAgLy8gV2UgYXNzdW1lIHRoZSBzaGFkb3cgZWxlbWVudHMgYWx3YXlzIGV4cGVjdCBt
b3VzZSBldmVudHMsIGJlY2F1c2Ugc29tZSBvZiB0aGUgc2hhZG93CisgICAgLy8gZWxlbWVudHMs
IGxpa2UgU2xpZGVyVGh1bWJFbGVtZW50LCBNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQsIGV0
YywgZG8gbmVlZCB0aGUgbW91c2UKKyAgICAvLyBldmVudHMgdG8gb3BlcmF0ZSBvbiB0aGVtLgog
ICAgIEFTU0VSVChlbGVtZW50KTsKLSAgICB3aGlsZSAoZWxlbWVudC0+aXNJblNoYWRvd1RyZWUo
KSkKLSAgICAgICAgZWxlbWVudCA9IHRvRWxlbWVudChlbGVtZW50LT5zaGFkb3dBbmNlc3Rvck5v
ZGUoKSk7CisgICAgaWYgKGVsZW1lbnQtPmlzSW5TaGFkb3dUcmVlKCkpCisgICAgICAgIHJldHVy
biB0cnVlOwogCiAgICAgcmV0dXJuIGhhc01vdXNlTW92ZUxpc3RlbmVyKGVsZW1lbnQpICYmICFo
YXNUb3VjaExpc3RlbmVyKGVsZW1lbnQpOwogfQpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hh
bmdlTG9nCmluZGV4IDRlYTJlMDYwYTY1MTc2NWJkMmFhZmFhMWI5NmM5Y2MxMmZkOGIzNTEuLjMx
OGNmZjgxYjBiNjMzOWUxMzk1NGYxZjBiNTZlODYwMTZmOWZjMDIgMTAwNjQ0Ci0tLSBhL0NoYW5n
ZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMi0wNC0yMyAgQ2hhcmxl
cyBXZWkgIDxjaGFybGVzLndlaUB0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgW0JsYWNr
QmVycnldIEFsd2F5cyBjb252ZXJ0IHRoZSB0b3VjaCBldmVudHMgdG8gbW91c2UgZXZlbnRzIGZv
ciBTaGFkb3cgZWxlbWVudHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04NDU3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogTWFudWFsVGVzdHMvYmxhY2tiZXJyeS9zbGlkZXItdGh1bWItY29uc3VtZXMt
ZXZlbnQuaHRtbDogQWRkZWQuCisKIDIwMTItMDQtMjIgIFNyaXJhbSBOZWVsYWthbmRhbiAgPHNy
aXJhbS5uZWVsYWthbmRhbkBnbWFpbC5jb20+CiAKICAgICAgICAgW0d0a10gQWRkZWQgTU9aX1gx
MSBidWlsZCBmbGFnIGZvciBUQVJHRVRfWDExCmRpZmYgLS1naXQgYS9NYW51YWxUZXN0cy9ibGFj
a2JlcnJ5L3NsaWRlci10aHVtYi1jb25zdW1lcy1ldmVudC5odG1sIGIvTWFudWFsVGVzdHMvYmxh
Y2tiZXJyeS9zbGlkZXItdGh1bWItY29uc3VtZXMtZXZlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZTIx
NmNjMGQ4MjE5NjcxNGNiYjcwMWNjODZjNDdhODk5MzhiYTk5Ci0tLSAvZGV2L251bGwKKysrIGIv
TWFudWFsVGVzdHMvYmxhY2tiZXJyeS9zbGlkZXItdGh1bWItY29uc3VtZXMtZXZlbnQuaHRtbApA
QCAtMCwwICsxLDIyIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+
IFNsaWRlciB0aHVtYiBzaG91bGQgZWF0IGV2ZW50IDwvdGl0bGU+Cis8L2hlYWQ+CisKKzxib2R5
PgorPHA+CitUaGlzIHRlc3QgY2FzZSB2ZXJpZmllcyB0aGF0IGFuIGV2ZW50IHNob3VsZCBiZSBj
b21zdW1lZCA8YnI+CitieSB0aGUgc2xpZGVyIHRodW1iIGVsZW1lbnQgd2hlbiBwcmVzc2VkIG9u
IGl0LCB0byBwcmV2ZW50PGJyPgordGhlIGV2ZW50IGJlZW4gdXNlZCBmb3IgcGFnZSB6b29taW5n
IG9yIHNjcm9sbGluZy4gPGJyPjxicj4KKworU3RlcHMgdG8gdmVyaWZ5Ojxicj4KKzEuIFpvb20g
aW4gdGhlIHBhZ2UuPGJyPgorMi4gUHJlc3MgYW5kIGRyYWcgdGhlIHNsaWRlciB0aHVtYi48YnI+
PGJyPgorCitJZiB0aGUgc2xpZGVyIGNoYW5nZXMgYnV0IHRoZSBwYWdlIHN0YXlzLCBpdCBTVUND
RUVEUy48YnI+CitvdGhlcnNpZSwgaWYgdGhlIHBhZ2Ugc2Nyb2xscywgaXQgRkFJTFMuPGJyPjxi
cj4KKworcmFuZ2U6ICAgIDxpbnB1dCB0eXBlPSJyYW5nZSIgbWluPSIwIiBtYXg9IjEwMCIgc3Rl
cD0iMSIgLz48YnI+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138559</attachid>
            <date>2012-04-24 07:36:34 -0700</date>
            <delta_ts>2012-04-24 07:59:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84571-20120424224318.patch</filename>
            <type>text/plain</type>
            <size>5295</size>
            <attacher name="Charles Wei">charles.wei</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1MDQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpp
bmRleCBkOTM4NDk5OGJhYjdlYWE1ZDA0NmM3YjAwMTI5MzBlYThhNTk1ZTE5Li5iNGUwYjdhMmEz
YWQzNmIyMDQzZTFiNGFiOGNjOWI0MWNmMzQwY2I0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMi0wNC0yNCAgQ2hhcmxlcyBXZWkgIDxjaGFybGVz
LndlaUB0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgW0JsYWNrQmVycnldIElucHV0IFJh
bmdlIGVsZW1lbnQgZXhwZWN0cyBtb3VzZSBldmVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg0NTcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSW5wdXQgZWxlbWVudCB3aXRoIFJhbmdlIHR5cGUgZXhw
ZWN0cyBtb3VzZSBldmVudHMgdG8KKyAgICAgICAgZHJhZyB0aGUgaGFuZGxlLiBOb3RlIHRoYXQg
SW5wdXQgUmFuZ2UgY291bGQgYXBwZWFyCisgICAgICAgIGluIGJvdGggdGhlIHdlYiBwYWdlIGRp
cmVjdGx5LCBvciBpbiBzb21lIHNoYWRvdyB0cmVlLAorICAgICAgICBsaWtlIHRoZSBNZWRpYUNv
bnRyb2xUaW1lbGluZSBhbmQgTWVkaWFDb250cm9sVm9sdW1lLgorICAgICAgICAqIFdlYktpdFN1
cHBvcnQvVG91Y2hFdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0
Ojppc1JhbmdlQ29udHJvbEVsZW1lbnQpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKEJs
YWNrQmVycnk6OldlYktpdDo6ZWxlbWVudEV4cGVjdHNNb3VzZUV2ZW50cyk6CisgICAgICAgIChC
bGFja0JlcnJ5OjpXZWJLaXQ6OnNob3VsZENvbnZlcnRUb3VjaFRvTW91c2UpOgorCiAyMDEyLTA0
LTIzICBDaGFybGVzIFdlaSAgPGNoYXJsZXMud2VpQHRvcmNobW9iaWxlLmNvbS5jbj4KIAogICAg
ICAgICBbQmxhY2tCZXJyeV0gQnVpbGQgZmFpbHVyZSB3aGVuIERFQlVHX0ZBVF9GSU5HRVIgaXMg
ZW5hYmxlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBv
cnQvVG91Y2hFdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktp
dFN1cHBvcnQvVG91Y2hFdmVudEhhbmRsZXIuY3BwCmluZGV4IGUzNmVhZjc2OGNjZDU3ODM3MWY0
OTgzZThkYjkyYzc3NTVmYzQ1MDEuLmYxYTRiZDI1MTc4YzQ2ZjdmYzIwNmZkMTM5Y2ZhNTc1M2Yy
MmZlZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0
L1RvdWNoRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2Vi
S2l0U3VwcG9ydC9Ub3VjaEV2ZW50SGFuZGxlci5jcHAKQEAgLTY4LDE0ICs2OCwyOSBAQCBzdGF0
aWMgYm9vbCBoYXNUb3VjaExpc3RlbmVyKEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgICAgIHx8IGVs
ZW1lbnQtPmhhc0V2ZW50TGlzdGVuZXJzKGV2ZW50TmFtZXMoKS50b3VjaGVuZEV2ZW50KTsKIH0K
IAorc3RhdGljIGJvb2wgaXNSYW5nZUNvbnRyb2xFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQpCit7
CisgICAgaWYgKGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjppbnB1dFRhZykpIHsKKyAg
ICAgICAgSFRNTElucHV0RWxlbWVudCogaW5wdXRFbGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRNTElu
cHV0RWxlbWVudCo+KGVsZW1lbnQpOworICAgICAgICBpZiAoaW5wdXRFbGVtZW50LT5pc1Jhbmdl
Q29udHJvbCgpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBm
YWxzZTsKK30KKwogc3RhdGljIGJvb2wgZWxlbWVudEV4cGVjdHNNb3VzZUV2ZW50cyhFbGVtZW50
KiBlbGVtZW50KQogewotICAgIC8vIE1ha2Ugc3VyZSB3ZSBhcmUgbm90IG9wZXJhdGluZyBhIHNo
YWRvdyBub2RlIGhlcmUsIHNpbmNlIHRoZSB3ZWJwYWdlcwotICAgIC8vIGFyZW4ndCBhYmxlIHRv
IGF0dGFjaCBldmVudCBsaXN0ZW5lcnMgdG8gc2hhZG93IGNvbnRlbnQuCisgICAgLy8gSWYgdGhl
IHNoYWRvdyB0cmVlIGNvbnRhaW5zIGEgUmFuZ2UgQ29udHJvbCwgbGlrZSB0aGUgTWVkaWFDb250
cm9sVGltZWxpbmUsCisgICAgLy8gTWVkaWFDb250b2xWb2x1bWVFbGVtZW50LCBldGMsIHRoZXkg
ZXhwZWN0IG5hdHVhbCBlbGVtZW50cy4gT3RoZXJ3aXNlLCB3ZQorICAgIC8vIHdvbid0IG9wZXJh
dGUgb24gdGhlIHNoYWRvdyBub2RlLCBiZWNhdXNlIHRoZSB3ZWJwYWdlcyBhcmVuJ3QgYWJsZSB0
byBhdHRhY2gKKyAgICAvLyBsaXN0ZW5lcnMgdG8gc2hhZG93IGNvbnRlbnQuCiAgICAgQVNTRVJU
KGVsZW1lbnQpOwotICAgIHdoaWxlIChlbGVtZW50LT5pc0luU2hhZG93VHJlZSgpKQorICAgIHdo
aWxlIChlbGVtZW50LT5pc0luU2hhZG93VHJlZSgpKSB7CiAgICAgICAgIGVsZW1lbnQgPSB0b0Vs
ZW1lbnQoZWxlbWVudC0+c2hhZG93QW5jZXN0b3JOb2RlKCkpOwotCisgICAgICAKKyAgICAgICAg
aWYgKGlzUmFuZ2VDb250cm9sRWxlbWVudChlbGVtZW50KSkKKyAgICAgICAgICAgIHJldHVybiB0
cnVlOworICAgIH0KICAgICByZXR1cm4gaGFzTW91c2VNb3ZlTGlzdGVuZXIoZWxlbWVudCkgJiYg
IWhhc1RvdWNoTGlzdGVuZXIoZWxlbWVudCk7CiB9CiAKQEAgLTg0LDEzICs5OSwxMCBAQCBzdGF0
aWMgYm9vbCBzaG91bGRDb252ZXJ0VG91Y2hUb01vdXNlKEVsZW1lbnQqIGVsZW1lbnQpCiAgICAg
aWYgKCFlbGVtZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAvLyBSYW5nZSBlbGVt
ZW50IGFyZSBhIHNwZWNpYWwgY2FzZSB0aGF0IHJlcXVpcmUgbmF0dXJhbCBtb3VzZSBldmVudHMg
aW4gb3JkZXIgdG8gYWxsb3cKKyAgICAvLyBSYW5nZSBlbGVtZW50IGlzIGEgc3BlY2lhbCBjYXNl
IHRoYXQgcmVxdWlyZXMgbmF0dXJhbCBtb3VzZSBldmVudHMgaW4gb3JkZXIgdG8gYWxsb3cKICAg
ICAvLyBkcmFnZ2luZyBvZiB0aGUgc2xpZGVyIGhhbmRsZS4KLSAgICBpZiAoZWxlbWVudC0+aGFz
VGFnTmFtZShIVE1MTmFtZXM6OmlucHV0VGFnKSkgewotICAgICAgICBIVE1MSW5wdXRFbGVtZW50
KiBpbnB1dEVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4oZWxlbWVudCk7
Ci0gICAgICAgIGlmIChpbnB1dEVsZW1lbnQtPmlzUmFuZ2VDb250cm9sKCkpCi0gICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKLSAgICB9CisgICAgaWYgKGlzUmFuZ2VDb250cm9sRWxlbWVudChlbGVt
ZW50KSkKKyAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBpZiAoKGVsZW1lbnQtPmhhc1RhZ05h
bWUoSFRNTE5hbWVzOjpvYmplY3RUYWcpIHx8IGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVz
OjplbWJlZFRhZykpICYmIHN0YXRpY19jYXN0PEhUTUxQbHVnSW5FbGVtZW50Kj4oZWxlbWVudCkp
CiAgICAgICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9n
CmluZGV4IGRiMDEzMWZhZGYyNmUxNjIyMjg0NWUyYmUyOTcxODMyZjhjYmIzMTYuLjQ3NGMxYzY3
ZjkxYTRhZDg5NWYyYjAzOTU2ZGU5OTMyMGI3NWVlYzIgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZwor
KysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNC0yNCAgQ2hhcmxlcyBXZWkg
IDxjaGFybGVzLndlaUB0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgW0JsYWNrQmVycnld
IElucHV0IFJhbmdlIGVsZW1lbnQgZXhwZWN0cyBtb3VzZSBldmVudHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg0NTcxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5wdXQgZWxlbWVudCB3aXRoIFJhbmdl
IHR5cGUgZXhwZWN0cyBtb3VzZSBldmVudHMgdG8KKyAgICAgICAgZHJhZyB0aGUgaGFuZGxlLiBO
b3RlIHRoYXQgSW5wdXQgUmFuZ2UgY291bGQgYXBwZWFyCisgICAgICAgIGluIGJvdGggdGhlIHdl
YiBwYWdlIGRpcmVjdGx5LCBvciBpbiBzb21lIHNoYWRvdyB0cmVlLAorICAgICAgICBsaWtlIHRo
ZSBNZWRpYUNvbnRyb2xUaW1lbGluZSBhbmQgTWVkaWFDb250cm9sVm9sdW1lLgorICAgICAgICAq
IE1hbnVhbFRlc3RzL2JsYWNrYmVycnkvc2xpZGVyLXRodW1iLWNvbnN1bWVzLWV2ZW50Lmh0bWw6
IEFkZGVkLgorCiAyMDEyLTA0LTI0ICBDaHJpc3RvcGhlIER1bWV6ICA8Y2hyaXN0b3BoZS5kdW1l
ekBpbnRlbC5jb20+CiAKICAgICAgICAgW0VGTF0gRW5hYmxlIFdlYiBUaW1pbmcKZGlmZiAtLWdp
dCBhL01hbnVhbFRlc3RzL2JsYWNrYmVycnkvc2xpZGVyLXRodW1iLWNvbnN1bWVzLWV2ZW50Lmh0
bWwgYi9NYW51YWxUZXN0cy9ibGFja2JlcnJ5L3NsaWRlci10aHVtYi1jb25zdW1lcy1ldmVudC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmRlMjE2Y2MwZDgyMTk2NzE0Y2JiNzAxY2M4NmM0N2E4OTkzOGJhOTkK
LS0tIC9kZXYvbnVsbAorKysgYi9NYW51YWxUZXN0cy9ibGFja2JlcnJ5L3NsaWRlci10aHVtYi1j
b25zdW1lcy1ldmVudC5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0
bWw+Cis8aGVhZD4KKzx0aXRsZT4gU2xpZGVyIHRodW1iIHNob3VsZCBlYXQgZXZlbnQgPC90aXRs
ZT4KKzwvaGVhZD4KKworPGJvZHk+Cis8cD4KK1RoaXMgdGVzdCBjYXNlIHZlcmlmaWVzIHRoYXQg
YW4gZXZlbnQgc2hvdWxkIGJlIGNvbXN1bWVkIDxicj4KK2J5IHRoZSBzbGlkZXIgdGh1bWIgZWxl
bWVudCB3aGVuIHByZXNzZWQgb24gaXQsIHRvIHByZXZlbnQ8YnI+Cit0aGUgZXZlbnQgYmVlbiB1
c2VkIGZvciBwYWdlIHpvb21pbmcgb3Igc2Nyb2xsaW5nLiA8YnI+PGJyPgorCitTdGVwcyB0byB2
ZXJpZnk6PGJyPgorMS4gWm9vbSBpbiB0aGUgcGFnZS48YnI+CisyLiBQcmVzcyBhbmQgZHJhZyB0
aGUgc2xpZGVyIHRodW1iLjxicj48YnI+CisKK0lmIHRoZSBzbGlkZXIgY2hhbmdlcyBidXQgdGhl
IHBhZ2Ugc3RheXMsIGl0IFNVQ0NFRURTLjxicj4KK290aGVyc2llLCBpZiB0aGUgcGFnZSBzY3Jv
bGxzLCBpdCBGQUlMUy48YnI+PGJyPgorCityYW5nZTogICAgPGlucHV0IHR5cGU9InJhbmdlIiBt
aW49IjAiIG1heD0iMTAwIiBzdGVwPSIxIiAvPjxicj4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138562</attachid>
            <date>2012-04-24 07:59:36 -0700</date>
            <delta_ts>2012-04-25 03:36:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84571-20120424230621.patch</filename>
            <type>text/plain</type>
            <size>5282</size>
            <attacher name="Charles Wei">charles.wei</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1MDQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpp
bmRleCBkOTM4NDk5OGJhYjdlYWE1ZDA0NmM3YjAwMTI5MzBlYThhNTk1ZTE5Li5hMTk1ZmJiMzNm
YWVmZTQyN2JjOWM0OWI4YmYyNjc4YzE2NzJjZjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMi0wNC0yNCAgQ2hhcmxlcyBXZWkgIDxjaGFybGVz
LndlaUB0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgW0JsYWNrQmVycnldIElucHV0IFJh
bmdlIGVsZW1lbnQgZXhwZWN0cyBtb3VzZSBldmVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg0NTcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50
b25pbyBHb21lcy4KKworICAgICAgICBJbnB1dCBlbGVtZW50IHdpdGggUmFuZ2UgdHlwZSBleHBl
Y3RzIG1vdXNlIGV2ZW50cyB0bworICAgICAgICBkcmFnIHRoZSBoYW5kbGUuIE5vdGUgdGhhdCBJ
bnB1dCBSYW5nZSBjb3VsZCBhcHBlYXIKKyAgICAgICAgaW4gYm90aCB0aGUgd2ViIHBhZ2UgZGly
ZWN0bHksIG9yIGluIHNvbWUgc2hhZG93IHRyZWUsCisgICAgICAgIGxpa2UgdGhlIE1lZGlhQ29u
dHJvbFRpbWVsaW5lIGFuZCBNZWRpYUNvbnRyb2xWb2x1bWUuCisgICAgICAgICogV2ViS2l0U3Vw
cG9ydC9Ub3VjaEV2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6
OmlzUmFuZ2VDb250cm9sRWxlbWVudCk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoQmxh
Y2tCZXJyeTo6V2ViS2l0OjplbGVtZW50RXhwZWN0c01vdXNlRXZlbnRzKToKKyAgICAgICAgKEJs
YWNrQmVycnk6OldlYktpdDo6c2hvdWxkQ29udmVydFRvdWNoVG9Nb3VzZSk6CisKIDIwMTItMDQt
MjMgIENoYXJsZXMgV2VpICA8Y2hhcmxlcy53ZWlAdG9yY2htb2JpbGUuY29tLmNuPgogCiAgICAg
ICAgIFtCbGFja0JlcnJ5XSBCdWlsZCBmYWlsdXJlIHdoZW4gREVCVUdfRkFUX0ZJTkdFUiBpcyBl
bmFibGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9y
dC9Ub3VjaEV2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0
U3VwcG9ydC9Ub3VjaEV2ZW50SGFuZGxlci5jcHAKaW5kZXggZTM2ZWFmNzY4Y2NkNTc4MzcxZjQ5
ODNlOGRiOTJjNzc1NWZjNDUwMS4uMDBkNTMwZmEzNWVjNjgyMTBhYjg3MTliNjRjNWQwZDUyNGI3
OWIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQv
VG91Y2hFdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJL
aXRTdXBwb3J0L1RvdWNoRXZlbnRIYW5kbGVyLmNwcApAQCAtNjgsMTQgKzY4LDI5IEBAIHN0YXRp
YyBib29sIGhhc1RvdWNoTGlzdGVuZXIoRWxlbWVudCogZWxlbWVudCkKICAgICAgICAgfHwgZWxl
bWVudC0+aGFzRXZlbnRMaXN0ZW5lcnMoZXZlbnROYW1lcygpLnRvdWNoZW5kRXZlbnQpOwogfQog
CitzdGF0aWMgYm9vbCBpc1JhbmdlQ29udHJvbEVsZW1lbnQoRWxlbWVudCogZWxlbWVudCkKK3sK
KyAgICBBU1NFUlQoZWxlbWVudCk7CisgICAgaWYgKCFlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxO
YW1lczo6aW5wdXRUYWcpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBIVE1MSW5wdXRF
bGVtZW50KiBpbnB1dEVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4oZWxl
bWVudCk7CisgICAgcmV0dXJuIGlucHV0RWxlbWVudC0+aXNSYW5nZUNvbnRyb2woKTsKK30KKwog
c3RhdGljIGJvb2wgZWxlbWVudEV4cGVjdHNNb3VzZUV2ZW50cyhFbGVtZW50KiBlbGVtZW50KQog
ewotICAgIC8vIE1ha2Ugc3VyZSB3ZSBhcmUgbm90IG9wZXJhdGluZyBhIHNoYWRvdyBub2RlIGhl
cmUsIHNpbmNlIHRoZSB3ZWJwYWdlcwotICAgIC8vIGFyZW4ndCBhYmxlIHRvIGF0dGFjaCBldmVu
dCBsaXN0ZW5lcnMgdG8gc2hhZG93IGNvbnRlbnQuCisgICAgLy8gSWYgdGhlIHNoYWRvdyB0cmVl
IGNvbnRhaW5zIGEgUmFuZ2UgQ29udHJvbCwgbGlrZSB0aGUgTWVkaWFDb250cm9sVGltZWxpbmUs
CisgICAgLy8gTWVkaWFDb250b2xWb2x1bWVFbGVtZW50LCBldGMsIHRoZXkgZXhwZWN0IG5hdHVh
bCBlbGVtZW50cy4gT3RoZXJ3aXNlLCB3ZQorICAgIC8vIHdvbid0IG9wZXJhdGUgb24gdGhlIHNo
YWRvdyBub2RlLCBiZWNhdXNlIHRoZSB3ZWJwYWdlcyBhcmVuJ3QgYWJsZSB0byBhdHRhY2gKKyAg
ICAvLyBsaXN0ZW5lcnMgdG8gc2hhZG93IGNvbnRlbnQuCiAgICAgQVNTRVJUKGVsZW1lbnQpOwot
ICAgIHdoaWxlIChlbGVtZW50LT5pc0luU2hhZG93VHJlZSgpKQorICAgIHdoaWxlIChlbGVtZW50
LT5pc0luU2hhZG93VHJlZSgpKSB7CiAgICAgICAgIGVsZW1lbnQgPSB0b0VsZW1lbnQoZWxlbWVu
dC0+c2hhZG93QW5jZXN0b3JOb2RlKCkpOwotCisgICAgICAKKyAgICAgICAgaWYgKGlzUmFuZ2VD
b250cm9sRWxlbWVudChlbGVtZW50KSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0K
ICAgICByZXR1cm4gaGFzTW91c2VNb3ZlTGlzdGVuZXIoZWxlbWVudCkgJiYgIWhhc1RvdWNoTGlz
dGVuZXIoZWxlbWVudCk7CiB9CiAKQEAgLTg0LDEzICs5OSwxMCBAQCBzdGF0aWMgYm9vbCBzaG91
bGRDb252ZXJ0VG91Y2hUb01vdXNlKEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgaWYgKCFlbGVtZW50
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAvLyBSYW5nZSBlbGVtZW50IGFyZSBhIHNw
ZWNpYWwgY2FzZSB0aGF0IHJlcXVpcmUgbmF0dXJhbCBtb3VzZSBldmVudHMgaW4gb3JkZXIgdG8g
YWxsb3cKKyAgICAvLyBSYW5nZSBlbGVtZW50IGlzIGEgc3BlY2lhbCBjYXNlIHRoYXQgcmVxdWly
ZXMgbmF0dXJhbCBtb3VzZSBldmVudHMgaW4gb3JkZXIgdG8gYWxsb3cKICAgICAvLyBkcmFnZ2lu
ZyBvZiB0aGUgc2xpZGVyIGhhbmRsZS4KLSAgICBpZiAoZWxlbWVudC0+aGFzVGFnTmFtZShIVE1M
TmFtZXM6OmlucHV0VGFnKSkgewotICAgICAgICBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dEVsZW1l
bnQgPSBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4oZWxlbWVudCk7Ci0gICAgICAgIGlm
IChpbnB1dEVsZW1lbnQtPmlzUmFuZ2VDb250cm9sKCkpCi0gICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICB9CisgICAgaWYgKGlzUmFuZ2VDb250cm9sRWxlbWVudChlbGVtZW50KSkKKyAgICAg
ICAgcmV0dXJuIHRydWU7CiAKICAgICBpZiAoKGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVz
OjpvYmplY3RUYWcpIHx8IGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjplbWJlZFRhZykp
ICYmIHN0YXRpY19jYXN0PEhUTUxQbHVnSW5FbGVtZW50Kj4oZWxlbWVudCkpCiAgICAgICAgIHJl
dHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGRiMDEz
MWZhZGYyNmUxNjIyMjg0NWUyYmUyOTcxODMyZjhjYmIzMTYuLjZiZjI5M2NmODkzYzY1ZjNhMGRh
MmFmY2Q4NmQ0MTk2Yjc4ZGMxMGIgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNC0yNCAgQ2hhcmxlcyBXZWkgIDxjaGFybGVzLndl
aUB0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgW0JsYWNrQmVycnldIElucHV0IFJhbmdl
IGVsZW1lbnQgZXhwZWN0cyBtb3VzZSBldmVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTg0NTcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50b25p
byBHb21lcy4KKworICAgICAgICBJbnB1dCBlbGVtZW50IHdpdGggUmFuZ2UgdHlwZSBleHBlY3Rz
IG1vdXNlIGV2ZW50cyB0bworICAgICAgICBkcmFnIHRoZSBoYW5kbGUuIE5vdGUgdGhhdCBJbnB1
dCBSYW5nZSBjb3VsZCBhcHBlYXIKKyAgICAgICAgaW4gYm90aCB0aGUgd2ViIHBhZ2UgZGlyZWN0
bHksIG9yIGluIHNvbWUgc2hhZG93IHRyZWUsCisgICAgICAgIGxpa2UgdGhlIE1lZGlhQ29udHJv
bFRpbWVsaW5lIGFuZCBNZWRpYUNvbnRyb2xWb2x1bWUuCisgICAgICAgICogTWFudWFsVGVzdHMv
YmxhY2tiZXJyeS9zbGlkZXItdGh1bWItY29uc3VtZXMtZXZlbnQuaHRtbDogQWRkZWQuCisKIDIw
MTItMDQtMjQgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4K
IAogICAgICAgICBbRUZMXSBFbmFibGUgV2ViIFRpbWluZwpkaWZmIC0tZ2l0IGEvTWFudWFsVGVz
dHMvYmxhY2tiZXJyeS9zbGlkZXItdGh1bWItY29uc3VtZXMtZXZlbnQuaHRtbCBiL01hbnVhbFRl
c3RzL2JsYWNrYmVycnkvc2xpZGVyLXRodW1iLWNvbnN1bWVzLWV2ZW50Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZGUyMTZjYzBkODIxOTY3MTRjYmI3MDFjYzg2YzQ3YTg5OTM4YmE5OQotLS0gL2Rldi9udWxs
CisrKyBiL01hbnVhbFRlc3RzL2JsYWNrYmVycnkvc2xpZGVyLXRodW1iLWNvbnN1bWVzLWV2ZW50
Lmh0bWwKQEAgLTAsMCArMSwyMiBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgor
PHRpdGxlPiBTbGlkZXIgdGh1bWIgc2hvdWxkIGVhdCBldmVudCA8L3RpdGxlPgorPC9oZWFkPgor
Cis8Ym9keT4KKzxwPgorVGhpcyB0ZXN0IGNhc2UgdmVyaWZpZXMgdGhhdCBhbiBldmVudCBzaG91
bGQgYmUgY29tc3VtZWQgPGJyPgorYnkgdGhlIHNsaWRlciB0aHVtYiBlbGVtZW50IHdoZW4gcHJl
c3NlZCBvbiBpdCwgdG8gcHJldmVudDxicj4KK3RoZSBldmVudCBiZWVuIHVzZWQgZm9yIHBhZ2Ug
em9vbWluZyBvciBzY3JvbGxpbmcuIDxicj48YnI+CisKK1N0ZXBzIHRvIHZlcmlmeTo8YnI+Cisx
LiBab29tIGluIHRoZSBwYWdlLjxicj4KKzIuIFByZXNzIGFuZCBkcmFnIHRoZSBzbGlkZXIgdGh1
bWIuPGJyPjxicj4KKworSWYgdGhlIHNsaWRlciBjaGFuZ2VzIGJ1dCB0aGUgcGFnZSBzdGF5cywg
aXQgU1VDQ0VFRFMuPGJyPgorb3RoZXJzaWUsIGlmIHRoZSBwYWdlIHNjcm9sbHMsIGl0IEZBSUxT
Ljxicj48YnI+CisKK3JhbmdlOiAgICA8aW5wdXQgdHlwZT0icmFuZ2UiIG1pbj0iMCIgbWF4PSIx
MDAiIHN0ZXA9IjEiIC8+PGJyPgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138774</attachid>
            <date>2012-04-25 03:36:20 -0700</date>
            <delta_ts>2012-04-25 19:01:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84571-20120425184308.patch</filename>
            <type>text/plain</type>
            <size>3689</size>
            <attacher name="Charles Wei">charles.wei</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1MTc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpp
bmRleCBkZjQ5MWUwZGY2NmIxYTdmYmM3YzVjZGRjZDYyOTdlZTAxZTZmZTk1Li4yMmVhZDM1ZmNj
ODcyYTliMzk3MTVlZGJiZjk3Y2Q0M2I4ZTBkMjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNC0yNSAgQ2hhcmxlcyBXZWkgIDxjaGFybGVz
LndlaUB0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgW0JsYWNrQmVycnldIElucHV0IFJh
bmdlIGVsZW1lbnQgZXhwZWN0cyBtb3VzZSBldmVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg0NTcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBqdXN0IGNsZWFucyB1cCB0aGUgY29kZSBhIGJp
dCB0byBtYWtlIGl0IGxlc3MgY29kZSBhbmQgbW9yZSByZWFkYWJsZS4KKyAgICAgICAgKiBXZWJL
aXRTdXBwb3J0L1RvdWNoRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKEJsYWNrQmVycnk6Oldl
YktpdDo6c2hvdWxkQ29udmVydFRvdWNoVG9Nb3VzZSk6CisgICAgICAgIChCbGFja0JlcnJ5OjpX
ZWJLaXQ6OlRvdWNoRXZlbnRIYW5kbGVyOjpoYW5kbGVUb3VjaFBvaW50KToKKyAgICAgICAgKEJs
YWNrQmVycnk6OldlYktpdDo6VG91Y2hFdmVudEhhbmRsZXI6OnNwZWxsQ2hlY2spOgorCiAyMDEy
LTA0LTI0ICBOaW1hIEdoYW5hdmF0aWFuICA8bmdoYW5hdmF0aWFuQHJpbS5jb20+CiAKICAgICAg
ICAgW0JsYWNrQmVycnldIFBlcmZvcm0gc3BlbGxjaGVjayBiZWZvcmUgaGFuZGxpbmcgVG91Y2hS
ZWxlYXNlIGV2ZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0
U3VwcG9ydC9Ub3VjaEV2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
V2ViS2l0U3VwcG9ydC9Ub3VjaEV2ZW50SGFuZGxlci5jcHAKaW5kZXggMGZmZjA5ODBjMjc5N2I0
YTdlMWNmMjU5Y2VkYzE4YTA2ZDJiOGE1ZC4uNDIyNGU2MjUzMTQ5MGNmNDcwZGNhNGZiYzAyN2My
Y2UyYzQxOTBiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1
cHBvcnQvVG91Y2hFdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJy
eS9XZWJLaXRTdXBwb3J0L1RvdWNoRXZlbnRIYW5kbGVyLmNwcApAQCAtNzgsNDEgKzc4LDMwIEBA
IHN0YXRpYyBib29sIGlzUmFuZ2VDb250cm9sRWxlbWVudChFbGVtZW50KiBlbGVtZW50KQogICAg
IHJldHVybiBpbnB1dEVsZW1lbnQtPmlzUmFuZ2VDb250cm9sKCk7CiB9CiAKLXN0YXRpYyBib29s
IGVsZW1lbnRFeHBlY3RzTW91c2VFdmVudHMoRWxlbWVudCogZWxlbWVudCkKLXsKLSAgICAvLyBJ
ZiB0aGUgc2hhZG93IHRyZWUgY29udGFpbnMgYSBSYW5nZSBDb250cm9sLCBsaWtlIHRoZSBNZWRp
YUNvbnRyb2xUaW1lbGluZSwKLSAgICAvLyBNZWRpYUNvbnRvbFZvbHVtZUVsZW1lbnQsIGV0Yywg
dGhleSBleHBlY3QgbmF0dWFsIGVsZW1lbnRzLiBPdGhlcndpc2UsIHdlCi0gICAgLy8gd29uJ3Qg
b3BlcmF0ZSBvbiB0aGUgc2hhZG93IG5vZGUsIGJlY2F1c2UgdGhlIHdlYnBhZ2VzIGFyZW4ndCBh
YmxlIHRvIGF0dGFjaAotICAgIC8vIGxpc3RlbmVycyB0byBzaGFkb3cgY29udGVudC4KLSAgICBB
U1NFUlQoZWxlbWVudCk7Ci0gICAgd2hpbGUgKGVsZW1lbnQtPmlzSW5TaGFkb3dUcmVlKCkpIHsK
LSAgICAgICAgZWxlbWVudCA9IHRvRWxlbWVudChlbGVtZW50LT5zaGFkb3dBbmNlc3Rvck5vZGUo
KSk7Ci0gICAgICAKLSAgICAgICAgaWYgKGlzUmFuZ2VDb250cm9sRWxlbWVudChlbGVtZW50KSkK
LSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1cm4gaGFzTW91c2VNb3Zl
TGlzdGVuZXIoZWxlbWVudCkgJiYgIWhhc1RvdWNoTGlzdGVuZXIoZWxlbWVudCk7Ci19Ci0KIHN0
YXRpYyBib29sIHNob3VsZENvbnZlcnRUb3VjaFRvTW91c2UoRWxlbWVudCogZWxlbWVudCkKIHsK
ICAgICBpZiAoIWVsZW1lbnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIC8vIFJhbmdl
IGVsZW1lbnQgaXMgYSBzcGVjaWFsIGNhc2UgdGhhdCByZXF1aXJlcyBuYXR1cmFsIG1vdXNlIGV2
ZW50cyBpbiBvcmRlciB0byBhbGxvdwotICAgIC8vIGRyYWdnaW5nIG9mIHRoZSBzbGlkZXIgaGFu
ZGxlLgotICAgIGlmIChpc1JhbmdlQ29udHJvbEVsZW1lbnQoZWxlbWVudCkpCi0gICAgICAgIHJl
dHVybiB0cnVlOwotCiAgICAgaWYgKChlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6b2Jq
ZWN0VGFnKSB8fCBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6ZW1iZWRUYWcpKSAmJiBz
dGF0aWNfY2FzdDxIVE1MUGx1Z0luRWxlbWVudCo+KGVsZW1lbnQpKQogICAgICAgICByZXR1cm4g
dHJ1ZTsKIAorICAgIC8vIElucHV0IFJhbmdlIGVsZW1lbnQgaXMgYSBzcGVjaWFsIGNhc2UgdGhh
dCByZXF1aXJlcyBuYXR1cmFsIG1vdXNlIGV2ZW50cworICAgIC8vIGluIG9yZGVyIHRvIGFsbG93
IGRyYWdnaW5nIG9mIHRoZSBzbGlkZXIgaGFuZGxlLgorICAgIC8vIElucHV0IFJhbmdlIGVsZW1l
bnQgbWlnaHQgYXBwZWFyIGluIHRoZSB3ZWJwYWdlLCBvciBpdCBtaWdodCBhcHBlYXIgaW4gdGhl
IHNoYWRvdyB0cmVlLAorICAgIC8vIGxpa2UgdGhlIHRpbWVsaW5lIGFuZCB2b2x1bWUgbWVkaWEg
Y29udHJvbHMgYWxsIHVzZSBJbnB1dCBSYW5nZS4KKyAgICAvLyB3b24ndCBvcGVyYXRlIG9uIHRo
ZSBzaGFkb3cgbm9kZSBvZiBvdGhlciBlbGVtZW50IHR5cGUsIGJlY2F1c2UgdGhlIHdlYnBhZ2Vz
CisgICAgLy8gYXJlbid0IGFibGUgdG8gYXR0YWNoIGxpc3RlbmVycyB0byBzaGFkb3cgY29udGVu
dC4KKyAgICBkbyB7CisgICAgICAgIGVsZW1lbnQgPSB0b0VsZW1lbnQoZWxlbWVudC0+c2hhZG93
QW5jZXN0b3JOb2RlKCkpOyAvLyBJZiBhbiBlbGVtZW50IGlzIG5vdCBpbiBzaGFkb3cgdHJlZSwg
c2hhZG93QW5jZXN0b3JOb2RlIHJldHVybnMgaXRzZWxmLgorICAgICAgICBpZiAoaXNSYW5nZUNv
bnRyb2xFbGVtZW50KGVsZW1lbnQpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfSB3
aGlsZSAoZWxlbWVudC0+aXNJblNoYWRvd1RyZWUoKSk7CisKICAgICAvLyBDaGVjayBpZiB0aGUg
ZWxlbWVudCBoYXMgYSBtb3VzZSBsaXN0ZW5lciBhbmQgbm8gdG91Y2ggbGlzdGVuZXIuIElmIHNv
LAogICAgIC8vIHRoZSBmaWVsZCB3aWxsIHJlcXVpcmUgdG91Y2ggZXZlbnRzIGJlIGNvbnZlcnRl
ZCB0byBtb3VzZSBldmVudHMgdG8gZnVuY3Rpb24gcHJvcGVybHkuCi0gICAgaWYgKGVsZW1lbnRF
eHBlY3RzTW91c2VFdmVudHMoZWxlbWVudCkpCi0gICAgICAgIHJldHVybiB0cnVlOworICAgIHJl
dHVybiBoYXNNb3VzZU1vdmVMaXN0ZW5lcihlbGVtZW50KSAmJiAhaGFzVG91Y2hMaXN0ZW5lcihl
bGVtZW50KTsKIAotICAgIHJldHVybiBmYWxzZTsKIH0KIAogVG91Y2hFdmVudEhhbmRsZXI6OlRv
dWNoRXZlbnRIYW5kbGVyKFdlYlBhZ2VQcml2YXRlKiB3ZWJwYWdlKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>