<?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>43893</bug_id>
          
          <creation_ts>2010-08-11 20:15:48 -0700</creation_ts>
          <short_desc>[Refactoring] TextEvent class has to many flags</short_desc>
          <delta_ts>2010-08-12 18:45:08 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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>
          
          <blocked>43778</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hajime Morrita">morrita</reporter>
          <assigned_to name="Hajime Morrita">morrita</assigned_to>
          <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>263580</commentid>
    <comment_count>0</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-08-11 20:15:48 -0700</bug_when>
    <thetext>From feedback on https://bugs.webkit.org/show_bug.cgi?id=43778</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263581</commentid>
    <comment_count>1</comment_count>
      <attachid>64182</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-08-11 20:21:15 -0700</bug_when>
    <thetext>Created attachment 64182
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263639</commentid>
    <comment_count>2</comment_count>
      <attachid>64182</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-08-12 00:39:36 -0700</bug_when>
    <thetext>Comment on attachment 64182
Patch

&gt; --- a/WebCore/dom/TextEvent.cpp
&gt; +++ b/WebCore/dom/TextEvent.cpp
...
&gt;  TextEvent::TextEvent(PassRefPtr&lt;AbstractView&gt; view, const String&amp; data, PassRefPtr&lt;DocumentFragment&gt; pastingFragment,
&gt; -                     bool isPaste, bool shouldSmartReplace, bool shouldMatchStyle)
&gt; +                     TextEvent::InputType inputType, bool shouldSmartReplace, bool shouldMatchStyle)
&gt;      : UIEvent(eventNames().textInputEvent, true, true, view, 0)
&gt; +    , m_inputType(inputType)
&gt;      , m_data(data)
&gt; -    , m_isLineBreak(false)
&gt; -    , m_isBackTab(false)
&gt;      , m_pastingFragment(pastingFragment)
&gt; -    , m_isPaste(isPaste)
&gt;      , m_shouldSmartReplace(shouldSmartReplace)
&gt;      , m_shouldMatchStyle(shouldMatchStyle)

This constructor looks too general to me. It might be better to have two constructors one for pasting and another for other input types.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263709</commentid>
    <comment_count>3</comment_count>
      <attachid>64207</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-08-12 04:29:48 -0700</bug_when>
    <thetext>Created attachment 64207
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263710</commentid>
    <comment_count>4</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-08-12 04:30:46 -0700</bug_when>
    <thetext>Hi Ryosuke, thank you for your quick review!
I updated the patch.

&gt; This constructor looks too general to me. It might be better to have two constructors one for pasting and another for other input types.
Agreed and fixed to split the constructor into 2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263852</commentid>
    <comment_count>5</comment_count>
      <attachid>64207</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-08-12 09:58:07 -0700</bug_when>
    <thetext>Comment on attachment 64207
Patch

Great! Thanks for doing this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264119</commentid>
    <comment_count>6</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-08-12 18:45:08 -0700</bug_when>
    <thetext>Committed r65287: &lt;http://trac.webkit.org/changeset/65287&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64182</attachid>
            <date>2010-08-11 20:21:15 -0700</date>
            <delta_ts>2010-08-12 04:29:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43893-20100812122113.patch</filename>
            <type>text/plain</type>
            <size>8285</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MWEwMWViNDg4MjllN2U1NDNjZTc3MDg0MjI0Nzc5ZWQ0ZTExNzE5Yy4uNjYwOTAzMTc0ZjIyZDBi
ZmUwZGQ1YTlkY2M4MzFiODVlMDI1MzNiMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxMC0wOC0xMSAgTU9S
SVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUmVmYWN0b3JpbmddIFRleHRFdmVudCBjbGFzcyBo
YXMgdG8gbWFueSBmbGFncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDM4OTMKKworICAgICAgICBUdXJuZWQgVGV4dEV2ZW50OjptX2lzTGluZUJyZWFr
LCBUZXh0RXZlbnQ6Om1faXNCYWNrdGFiLCBUZXh0RXZlbnQ6Om1faXNQYXN0ZSAKKyAgICAgICAg
aW50byBzaW5nbGUgVGV4dEV2ZW50OjptX2lucHV0VHlwZSBlbnVtZXJhdGlvbi4KKyAgICAgICAg
CisgICAgICAgIE5vIGZ1bmN0aW9uYWwgY2hhbmdlLiBObyBuZXcgdGVzdHMuCisKKyAgICAgICAg
KiBkb20vVGV4dEV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRFdmVudDo6c2VsZWN0
SW5wdXRUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRFdmVudDo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRFdmVudDo6Y3JlYXRlRm9yUGxhaW5UZXh0UGFzdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6VGV4dEV2ZW50OjpjcmVhdGVGb3JGcmFnbWVudFBhc3RlKToKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRFdmVudDo6VGV4dEV2ZW50KToKKyAgICAgICAgKiBkb20vVGV4dEV2ZW50
Lmg6CisgICAgICAgIChXZWJDb3JlOjpUZXh0RXZlbnQ6Oik6CisgICAgICAgIChXZWJDb3JlOjpU
ZXh0RXZlbnQ6OmlzTGluZUJyZWFrKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRFdmVudDo6aXNC
YWNrVGFiKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRFdmVudDo6aXNQYXN0ZSk6CisgICAgICAg
ICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVy
OjpoYW5kbGVUZXh0SW5wdXRFdmVudCk6CisKIDIwMTAtMDgtMTEgIEp1bGllbiBDaGFmZnJhaXgg
IDxqY2hhZmZyYWl4QGNvZGVhdXJvcmEub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFyaXlh
IEhpZGF5YXQuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9UZXh0RXZlbnQuY3BwIGIvV2ViQ29y
ZS9kb20vVGV4dEV2ZW50LmNwcAppbmRleCA1ZGMzOWUzNGYwMTVmMjEyYjRiNGY5YTc3MzkyMjYw
ZjMxZDQwMTM1Li45ZmE4NGI2OTg2NmU4YmM4NDA5MjAwMWNhNTVlOTU1ZTVjMDcxNWMyIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2RvbS9UZXh0RXZlbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL1RleHRF
dmVudC5jcHAKQEAgLTMxLDQzICszMSw0OCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK1Rl
eHRFdmVudDo6SW5wdXRUeXBlIFRleHRFdmVudDo6c2VsZWN0SW5wdXRUeXBlKGJvb2wgaXNMaW5l
QnJlYWssIGJvb2wgaXNCYWNrVGFiKQoreworICAgIGlmIChpc0xpbmVCcmVhaykKKyAgICAgICAg
cmV0dXJuIFRleHRFdmVudDo6SW5wdXRUeXBlTGluZUJyZWFrOworICAgIGlmIChpc0JhY2tUYWIp
CisgICAgICAgIHJldHVybiBUZXh0RXZlbnQ6OklucHV0VHlwZUJhY2tUYWI7CisgICAgcmV0dXJu
IFRleHRFdmVudDo6SW5wdXRUeXBlS2V5Ym9hcmQ7Cit9CisKIFBhc3NSZWZQdHI8VGV4dEV2ZW50
PiBUZXh0RXZlbnQ6OmNyZWF0ZSgpCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBUZXh0RXZl
bnQpOwogfQogCi1QYXNzUmVmUHRyPFRleHRFdmVudD4gVGV4dEV2ZW50OjpjcmVhdGUoUGFzc1Jl
ZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIGNvbnN0IFN0cmluZyYgZGF0YSkKK1Bhc3NSZWZQdHI8
VGV4dEV2ZW50PiBUZXh0RXZlbnQ6OmNyZWF0ZShQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmll
dywgY29uc3QgU3RyaW5nJiBkYXRhLCBUZXh0RXZlbnQ6OklucHV0VHlwZSBpbnB1dFR5cGUpCiB7
Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBUZXh0RXZlbnQodmlldywgZGF0YSkpOworICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgVGV4dEV2ZW50KHZpZXcsIGRhdGEsIDAsIGlucHV0VHlwZSkpOwog
fQogCiBQYXNzUmVmUHRyPFRleHRFdmVudD4gVGV4dEV2ZW50OjpjcmVhdGVGb3JQbGFpblRleHRQ
YXN0ZShQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywgY29uc3QgU3RyaW5nJiBkYXRhLCBi
b29sIHNob3VsZFNtYXJ0UmVwbGFjZSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFRleHRF
dmVudCh2aWV3LCBkYXRhLCAwLCB0cnVlLCBzaG91bGRTbWFydFJlcGxhY2UpKTsKKyAgICByZXR1
cm4gYWRvcHRSZWYobmV3IFRleHRFdmVudCh2aWV3LCBkYXRhLCAwLCBUZXh0RXZlbnQ6OklucHV0
VHlwZVBhc3RlLCBzaG91bGRTbWFydFJlcGxhY2UpKTsKIH0KIAogUGFzc1JlZlB0cjxUZXh0RXZl
bnQ+IFRleHRFdmVudDo6Y3JlYXRlRm9yRnJhZ21lbnRQYXN0ZShQYXNzUmVmUHRyPEFic3RyYWN0
Vmlldz4gdmlldywgUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBkYXRhLCBib29sIHNob3Vs
ZFNtYXJ0UmVwbGFjZSwgYm9vbCBzaG91bGRNYXRjaFN0eWxlKQogewotICAgIHJldHVybiBhZG9w
dFJlZihuZXcgVGV4dEV2ZW50KHZpZXcsICIiLCBkYXRhLCB0cnVlLCBzaG91bGRTbWFydFJlcGxh
Y2UsIHNob3VsZE1hdGNoU3R5bGUpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFRleHRFdmVu
dCh2aWV3LCAiIiwgZGF0YSwgVGV4dEV2ZW50OjpJbnB1dFR5cGVQYXN0ZSwgc2hvdWxkU21hcnRS
ZXBsYWNlLCBzaG91bGRNYXRjaFN0eWxlKSk7CiB9CiAKIFRleHRFdmVudDo6VGV4dEV2ZW50KCkK
LSAgICA6IG1faXNMaW5lQnJlYWsoZmFsc2UpCi0gICAgLCBtX2lzQmFja1RhYihmYWxzZSkKLSAg
ICAsIG1faXNQYXN0ZShmYWxzZSkKKyAgICA6IG1faW5wdXRUeXBlKFRleHRFdmVudDo6SW5wdXRU
eXBlS2V5Ym9hcmQpCiAgICAgLCBtX3Nob3VsZFNtYXJ0UmVwbGFjZShmYWxzZSkKICAgICAsIG1f
c2hvdWxkTWF0Y2hTdHlsZShmYWxzZSkKIHsKIH0KIAogVGV4dEV2ZW50OjpUZXh0RXZlbnQoUGFz
c1JlZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIGNvbnN0IFN0cmluZyYgZGF0YSwgUGFzc1JlZlB0
cjxEb2N1bWVudEZyYWdtZW50PiBwYXN0aW5nRnJhZ21lbnQsCi0gICAgICAgICAgICAgICAgICAg
ICBib29sIGlzUGFzdGUsIGJvb2wgc2hvdWxkU21hcnRSZXBsYWNlLCBib29sIHNob3VsZE1hdGNo
U3R5bGUpCisgICAgICAgICAgICAgICAgICAgICBUZXh0RXZlbnQ6OklucHV0VHlwZSBpbnB1dFR5
cGUsIGJvb2wgc2hvdWxkU21hcnRSZXBsYWNlLCBib29sIHNob3VsZE1hdGNoU3R5bGUpCiAgICAg
OiBVSUV2ZW50KGV2ZW50TmFtZXMoKS50ZXh0SW5wdXRFdmVudCwgdHJ1ZSwgdHJ1ZSwgdmlldywg
MCkKKyAgICAsIG1faW5wdXRUeXBlKGlucHV0VHlwZSkKICAgICAsIG1fZGF0YShkYXRhKQotICAg
ICwgbV9pc0xpbmVCcmVhayhmYWxzZSkKLSAgICAsIG1faXNCYWNrVGFiKGZhbHNlKQogICAgICwg
bV9wYXN0aW5nRnJhZ21lbnQocGFzdGluZ0ZyYWdtZW50KQotICAgICwgbV9pc1Bhc3RlKGlzUGFz
dGUpCiAgICAgLCBtX3Nob3VsZFNtYXJ0UmVwbGFjZShzaG91bGRTbWFydFJlcGxhY2UpCiAgICAg
LCBtX3Nob3VsZE1hdGNoU3R5bGUoc2hvdWxkTWF0Y2hTdHlsZSkKIHsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZG9tL1RleHRFdmVudC5oIGIvV2ViQ29yZS9kb20vVGV4dEV2ZW50LmgKaW5kZXggMmUy
ZWI5NWEzNjYzMTU2ZWUyOWZkYzQ2NGU3MGM0N2IzM2ExZjM5Zi4uNWU5NjdhMjU1NzY4NDk1YmE5
YThkYWQ2YjZkY2ZiZjM3MzBiMGQ5NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vVGV4dEV2ZW50
LmgKKysrIGIvV2ViQ29yZS9kb20vVGV4dEV2ZW50LmgKQEAgLTM0LDggKzM0LDE2IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFRleHRFdmVudCA6IHB1YmxpYyBVSUV2ZW50IHsK
ICAgICBwdWJsaWM6CisgICAgICAgIGVudW0gSW5wdXRUeXBlIHsKKyAgICAgICAgICAgIElucHV0
VHlwZUtleWJvYXJkLCAvLyBhbnkgbmV3bGluZSBjaGFyYWN0ZXJzIGluIHRoZSB0ZXh0IGFyZSBs
aW5lIGJyZWFrcyBvbmx5LCBub3QgcGFyYWdyYXBoIHNlcGFyYXRvcnMuCisgICAgICAgICAgICBJ
bnB1dFR5cGVMaW5lQnJlYWssIC8vIGFueSB0YWIgY2hhcmFjdGVycyBpbiB0aGUgdGV4dCBhcmUg
YmFja3RhYnMuCisgICAgICAgICAgICBJbnB1dFR5cGVCYWNrVGFiLAorICAgICAgICAgICAgSW5w
dXRUeXBlUGFzdGUKKyAgICAgICAgfTsKKworICAgICAgICBzdGF0aWMgSW5wdXRUeXBlIHNlbGVj
dElucHV0VHlwZShib29sIGlzTGluZUJyZWFrLCBib29sIGlzQmFja1RhYik7CiAgICAgICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFRleHRFdmVudD4gY3JlYXRlKCk7Ci0gICAgICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFRleHRFdmVudD4gY3JlYXRlKFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBj
b25zdCBTdHJpbmcmIGRhdGEpOworICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxUZXh0RXZlbnQ+
IGNyZWF0ZShQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywgY29uc3QgU3RyaW5nJiBkYXRh
LCBJbnB1dFR5cGUgPSBJbnB1dFR5cGVLZXlib2FyZCk7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFRleHRFdmVudD4gY3JlYXRlRm9yUGxhaW5UZXh0UGFzdGUoUGFzc1JlZlB0cjxBYnN0cmFj
dFZpZXc+IHZpZXcsIGNvbnN0IFN0cmluZyYgZGF0YSwgYm9vbCBzaG91bGRTbWFydFJlcGxhY2Up
OwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxUZXh0RXZlbnQ+IGNyZWF0ZUZvckZyYWdtZW50
UGFzdGUoUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIFBhc3NSZWZQdHI8RG9jdW1lbnRG
cmFnbWVudD4gZGF0YSwgYm9vbCBzaG91bGRTbWFydFJlcGxhY2UsIGJvb2wgc2hvdWxkTWF0Y2hT
dHlsZSk7CiAKQEAgLTQ3LDE1ICs1NSwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAg
ICAgdmlydHVhbCBib29sIGlzVGV4dEV2ZW50KCkgY29uc3Q7CiAKLSAgICAgICAgLy8gSWYgdHJ1
ZSwgYW55IG5ld2xpbmUgY2hhcmFjdGVycyBpbiB0aGUgdGV4dCBhcmUgbGluZSBicmVha3Mgb25s
eSwgbm90IHBhcmFncmFwaCBzZXBhcmF0b3JzLgotICAgICAgICBib29sIGlzTGluZUJyZWFrKCkg
Y29uc3QgeyByZXR1cm4gbV9pc0xpbmVCcmVhazsgfQotICAgICAgICB2b2lkIHNldElzTGluZUJy
ZWFrKGJvb2wgaXNMaW5lQnJlYWspIHsgbV9pc0xpbmVCcmVhayA9IGlzTGluZUJyZWFrOyB9Ci0K
LSAgICAgICAgLy8gSWYgdHJ1ZSwgYW55IHRhYiBjaGFyYWN0ZXJzIGluIHRoZSB0ZXh0IGFyZSBi
YWNrdGFicy4KLSAgICAgICAgYm9vbCBpc0JhY2tUYWIoKSBjb25zdCB7IHJldHVybiBtX2lzQmFj
a1RhYjsgfQotICAgICAgICB2b2lkIHNldElzQmFja1RhYihib29sIGlzQmFja1RhYikgeyBtX2lz
QmFja1RhYiA9IGlzQmFja1RhYjsgfQorICAgICAgICBib29sIGlzTGluZUJyZWFrKCkgY29uc3Qg
eyByZXR1cm4gbV9pbnB1dFR5cGUgPT0gSW5wdXRUeXBlTGluZUJyZWFrOyB9CisgICAgICAgIGJv
b2wgaXNCYWNrVGFiKCkgY29uc3QgeyByZXR1cm4gbV9pbnB1dFR5cGUgPT0gSW5wdXRUeXBlQmFj
a1RhYjsgfQorICAgICAgICBib29sIGlzUGFzdGUoKSBjb25zdCB7IHJldHVybiBtX2lucHV0VHlw
ZSA9PSBJbnB1dFR5cGVQYXN0ZTsgfQogCi0gICAgICAgIGJvb2wgaXNQYXN0ZSgpIGNvbnN0IHsg
cmV0dXJuIG1faXNQYXN0ZTsgfQogICAgICAgICBib29sIHNob3VsZFNtYXJ0UmVwbGFjZSgpIGNv
bnN0IHsgcmV0dXJuIG1fc2hvdWxkU21hcnRSZXBsYWNlOyB9CiAgICAgICAgIGJvb2wgc2hvdWxk
TWF0Y2hTdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2hvdWxkTWF0Y2hTdHlsZTsgfQogICAgICAg
ICBEb2N1bWVudEZyYWdtZW50KiBwYXN0aW5nRnJhZ21lbnQoKSBjb25zdCB7IHJldHVybiBtX3Bh
c3RpbmdGcmFnbWVudC5nZXQoKTsgfQpAQCAtNjMsMTQgKzY2LDEyIEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBwcml2YXRlOgogICAgICAgICBUZXh0RXZlbnQoKTsKICAgICAgICAgVGV4dEV2
ZW50KFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiwgY29uc3QgU3RyaW5nJiBkYXRhLCBQYXNzUmVm
UHRyPERvY3VtZW50RnJhZ21lbnQ+ID0gMCwKLSAgICAgICAgICAgICAgICAgIGJvb2wgaXNQYXN0
ZSA9IGZhbHNlLCBib29sIHNob3VsZFNtYXJ0UmVwbGFjZSA9IGZhbHNlLCBib29sIHNob3VsZE1h
dGNoU3R5bGUgPSBmYWxzZSk7CisgICAgICAgICAgICAgICAgICBJbnB1dFR5cGUgPSBJbnB1dFR5
cGVLZXlib2FyZCwgYm9vbCBzaG91bGRTbWFydFJlcGxhY2UgPSBmYWxzZSwgYm9vbCBzaG91bGRN
YXRjaFN0eWxlID0gZmFsc2UpOwogCisgICAgICAgIElucHV0VHlwZSBtX2lucHV0VHlwZTsKICAg
ICAgICAgU3RyaW5nIG1fZGF0YTsKLSAgICAgICAgYm9vbCBtX2lzTGluZUJyZWFrOwotICAgICAg
ICBib29sIG1faXNCYWNrVGFiOwogCiAgICAgICAgIFJlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBt
X3Bhc3RpbmdGcmFnbWVudDsKLSAgICAgICAgYm9vbCBtX2lzUGFzdGU7IC8vIEZJWE1FOiBTaG91
bGQgdXNlIGlucHV0TW9kZSBhZnRlciBpdCBiZSBhdmFpbGFibGU6IGh0dHA6Ly93ZWJraXQub3Jn
L2IvNDI4MDUKICAgICAgICAgYm9vbCBtX3Nob3VsZFNtYXJ0UmVwbGFjZTsKICAgICAgICAgYm9v
bCBtX3Nob3VsZE1hdGNoU3R5bGU7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9F
dmVudEhhbmRsZXIuY3BwIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggOGEx
NjE4MTZlMWExMzAyMDJjMjJiOWM5OWYyODUwZGIzMzhhMTNlNS4uZDBhZGI0ZTQ3YTE0Mjk4ODM0
YzM0M2RlZWIyMDkzYWNiNGQxODFlYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTI2MjksNiAr
MjYyOSw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVUZXh0SW5wdXRFdmVudChjb25zdCBT
dHJpbmcmIHRleHQsIEV2ZW50KiB1bmRlcmx5aW5nRXZlCiAgICAgLy8gUGxhdGZvcm1zIHNob3Vs
ZCBkaWZmZXJlbnRpYXRlIHJlYWwgY29tbWFuZHMgbGlrZSBzZWxlY3RBbGwgZnJvbSB0ZXh0IGlu
cHV0IGluIGRpc2d1aXNlIChsaWtlIGluc2VydE5ld2xpbmUpLAogICAgIC8vIGFuZCBhdm9pZCBk
aXNwYXRjaGluZyB0ZXh0IGlucHV0IGV2ZW50cyBmcm9tIGtleWRvd24gZGVmYXVsdCBoYW5kbGVy
cy4KICAgICBBU1NFUlQoIXVuZGVybHlpbmdFdmVudCB8fCAhdW5kZXJseWluZ0V2ZW50LT5pc0tl
eWJvYXJkRXZlbnQoKSB8fCBzdGF0aWNfY2FzdDxLZXlib2FyZEV2ZW50Kj4odW5kZXJseWluZ0V2
ZW50KS0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5rZXlwcmVzc0V2ZW50KTsKKyAgICBBU1NFUlQo
IShpc0xpbmVCcmVhayAmJiBpc0JhY2tUYWIpKTsKIAogICAgIGlmICghbV9mcmFtZSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwpAQCAtMjY0NCwxMCArMjY0NSw5IEBAIGJvb2wgRXZlbnRIYW5kbGVy
OjpoYW5kbGVUZXh0SW5wdXRFdmVudChjb25zdCBTdHJpbmcmIHRleHQsIEV2ZW50KiB1bmRlcmx5
aW5nRXZlCiAgICAgaWYgKEZyYW1lVmlldyogdmlldyA9IG1fZnJhbWUtPnZpZXcoKSkKICAgICAg
ICAgdmlldy0+cmVzZXREZWZlcnJlZFJlcGFpbnREZWxheSgpOwogCi0gICAgUmVmUHRyPFRleHRF
dmVudD4gZXZlbnQgPSBUZXh0RXZlbnQ6OmNyZWF0ZShtX2ZyYW1lLT5kb21XaW5kb3coKSwgdGV4
dCk7CisgICAgUmVmUHRyPFRleHRFdmVudD4gZXZlbnQgPSBUZXh0RXZlbnQ6OmNyZWF0ZShtX2Zy
YW1lLT5kb21XaW5kb3coKSwgdGV4dCwgVGV4dEV2ZW50OjpzZWxlY3RJbnB1dFR5cGUoaXNMaW5l
QnJlYWssIGlzQmFja1RhYikpOwogICAgIGV2ZW50LT5zZXRVbmRlcmx5aW5nRXZlbnQodW5kZXJs
eWluZ0V2ZW50KTsKLSAgICBldmVudC0+c2V0SXNMaW5lQnJlYWsoaXNMaW5lQnJlYWspOwotICAg
IGV2ZW50LT5zZXRJc0JhY2tUYWIoaXNCYWNrVGFiKTsKKwogICAgIEV4Y2VwdGlvbkNvZGUgZWM7
CiAgICAgdGFyZ2V0LT5kaXNwYXRjaEV2ZW50KGV2ZW50LCBlYyk7CiAgICAgcmV0dXJuIGV2ZW50
LT5kZWZhdWx0SGFuZGxlZCgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64207</attachid>
            <date>2010-08-12 04:29:48 -0700</date>
            <delta_ts>2010-08-12 09:58:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43893-20100812202946.patch</filename>
            <type>text/plain</type>
            <size>8639</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MWEwMWViNDg4MjllN2U1NDNjZTc3MDg0MjI0Nzc5ZWQ0ZTExNzE5Yy4uMDhhMGMzNDdiYTYxNzRh
NTIxZjMwZDQ5ZWIyZjk5YmQ3Y2E4OTgyYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxMC0wOC0xMiAgTU9S
SVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUmVmYWN0b3JpbmddIFRleHRFdmVudCBjbGFzcyBo
YXMgdG8gbWFueSBmbGFncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDM4OTMKKworICAgICAgICBUdXJuZWQgVGV4dEV2ZW50OjptX2lzTGluZUJyZWFr
LCBUZXh0RXZlbnQ6Om1faXNCYWNrdGFiLCBUZXh0RXZlbnQ6Om1faXNQYXN0ZSAKKyAgICAgICAg
aW50byBzaW5nbGUgVGV4dEV2ZW50OjptX2lucHV0VHlwZSBlbnVtZXJhdGlvbi4KKyAgICAgICAg
CisgICAgICAgIE5vIGZ1bmN0aW9uYWwgY2hhbmdlLiBObyBuZXcgdGVzdHMuCisKKyAgICAgICAg
KiBkb20vVGV4dEV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRFdmVudDo6c2VsZWN0
SW5wdXRUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRFdmVudDo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRFdmVudDo6Y3JlYXRlRm9yUGxhaW5UZXh0UGFzdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6VGV4dEV2ZW50OjpjcmVhdGVGb3JGcmFnbWVudFBhc3RlKToKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRFdmVudDo6VGV4dEV2ZW50KToKKyAgICAgICAgKiBkb20vVGV4dEV2ZW50
Lmg6CisgICAgICAgIChXZWJDb3JlOjpUZXh0RXZlbnQ6Oik6CisgICAgICAgIChXZWJDb3JlOjpU
ZXh0RXZlbnQ6OmlzTGluZUJyZWFrKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRFdmVudDo6aXNC
YWNrVGFiKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRFdmVudDo6aXNQYXN0ZSk6CisgICAgICAg
ICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVy
OjpoYW5kbGVUZXh0SW5wdXRFdmVudCk6CisKIDIwMTAtMDgtMTEgIEp1bGllbiBDaGFmZnJhaXgg
IDxqY2hhZmZyYWl4QGNvZGVhdXJvcmEub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFyaXlh
IEhpZGF5YXQuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9UZXh0RXZlbnQuY3BwIGIvV2ViQ29y
ZS9kb20vVGV4dEV2ZW50LmNwcAppbmRleCA1ZGMzOWUzNGYwMTVmMjEyYjRiNGY5YTc3MzkyMjYw
ZjMxZDQwMTM1Li5lNDllMmFiZDg1OTY5MWM2NjUxMjRhZTkyNmU1ZjZiMDM2NmM4NGI1IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2RvbS9UZXh0RXZlbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL1RleHRF
dmVudC5jcHAKQEAgLTMxLDQzICszMSw1OCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK1Rl
eHRFdmVudDo6SW5wdXRUeXBlIFRleHRFdmVudDo6c2VsZWN0SW5wdXRUeXBlKGJvb2wgaXNMaW5l
QnJlYWssIGJvb2wgaXNCYWNrVGFiKQoreworICAgIGlmIChpc0xpbmVCcmVhaykKKyAgICAgICAg
cmV0dXJuIFRleHRFdmVudDo6SW5wdXRUeXBlTGluZUJyZWFrOworICAgIGlmIChpc0JhY2tUYWIp
CisgICAgICAgIHJldHVybiBUZXh0RXZlbnQ6OklucHV0VHlwZUJhY2tUYWI7CisgICAgcmV0dXJu
IFRleHRFdmVudDo6SW5wdXRUeXBlS2V5Ym9hcmQ7Cit9CisKIFBhc3NSZWZQdHI8VGV4dEV2ZW50
PiBUZXh0RXZlbnQ6OmNyZWF0ZSgpCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBUZXh0RXZl
bnQpOwogfQogCi1QYXNzUmVmUHRyPFRleHRFdmVudD4gVGV4dEV2ZW50OjpjcmVhdGUoUGFzc1Jl
ZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIGNvbnN0IFN0cmluZyYgZGF0YSkKK1Bhc3NSZWZQdHI8
VGV4dEV2ZW50PiBUZXh0RXZlbnQ6OmNyZWF0ZShQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmll
dywgY29uc3QgU3RyaW5nJiBkYXRhLCBUZXh0RXZlbnQ6OklucHV0VHlwZSBpbnB1dFR5cGUpCiB7
Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBUZXh0RXZlbnQodmlldywgZGF0YSkpOworICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgVGV4dEV2ZW50KHZpZXcsIGRhdGEsIGlucHV0VHlwZSkpOwogfQog
CiBQYXNzUmVmUHRyPFRleHRFdmVudD4gVGV4dEV2ZW50OjpjcmVhdGVGb3JQbGFpblRleHRQYXN0
ZShQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywgY29uc3QgU3RyaW5nJiBkYXRhLCBib29s
IHNob3VsZFNtYXJ0UmVwbGFjZSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFRleHRFdmVu
dCh2aWV3LCBkYXRhLCAwLCB0cnVlLCBzaG91bGRTbWFydFJlcGxhY2UpKTsKKyAgICByZXR1cm4g
YWRvcHRSZWYobmV3IFRleHRFdmVudCh2aWV3LCBkYXRhLCAwLCBzaG91bGRTbWFydFJlcGxhY2Us
IGZhbHNlKSk7CiB9CiAKIFBhc3NSZWZQdHI8VGV4dEV2ZW50PiBUZXh0RXZlbnQ6OmNyZWF0ZUZv
ckZyYWdtZW50UGFzdGUoUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIFBhc3NSZWZQdHI8
RG9jdW1lbnRGcmFnbWVudD4gZGF0YSwgYm9vbCBzaG91bGRTbWFydFJlcGxhY2UsIGJvb2wgc2hv
dWxkTWF0Y2hTdHlsZSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFRleHRFdmVudCh2aWV3
LCAiIiwgZGF0YSwgdHJ1ZSwgc2hvdWxkU21hcnRSZXBsYWNlLCBzaG91bGRNYXRjaFN0eWxlKSk7
CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBUZXh0RXZlbnQodmlldywgIiIsIGRhdGEsIHNob3Vs
ZFNtYXJ0UmVwbGFjZSwgc2hvdWxkTWF0Y2hTdHlsZSkpOwogfQogCiBUZXh0RXZlbnQ6OlRleHRF
dmVudCgpCi0gICAgOiBtX2lzTGluZUJyZWFrKGZhbHNlKQotICAgICwgbV9pc0JhY2tUYWIoZmFs
c2UpCi0gICAgLCBtX2lzUGFzdGUoZmFsc2UpCisgICAgOiBtX2lucHV0VHlwZShUZXh0RXZlbnQ6
OklucHV0VHlwZUtleWJvYXJkKQorICAgICwgbV9zaG91bGRTbWFydFJlcGxhY2UoZmFsc2UpCisg
ICAgLCBtX3Nob3VsZE1hdGNoU3R5bGUoZmFsc2UpCit7Cit9CisKK1RleHRFdmVudDo6VGV4dEV2
ZW50KFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBjb25zdCBTdHJpbmcmIGRhdGEsIElu
cHV0VHlwZSBpbnB1dFR5cGUpCisgICAgOiBVSUV2ZW50KGV2ZW50TmFtZXMoKS50ZXh0SW5wdXRF
dmVudCwgdHJ1ZSwgdHJ1ZSwgdmlldywgMCkKKyAgICAsIG1faW5wdXRUeXBlKGlucHV0VHlwZSkK
KyAgICAsIG1fZGF0YShkYXRhKQorICAgICwgbV9wYXN0aW5nRnJhZ21lbnQoMCkKICAgICAsIG1f
c2hvdWxkU21hcnRSZXBsYWNlKGZhbHNlKQogICAgICwgbV9zaG91bGRNYXRjaFN0eWxlKGZhbHNl
KQogewogfQogCiBUZXh0RXZlbnQ6OlRleHRFdmVudChQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4g
dmlldywgY29uc3QgU3RyaW5nJiBkYXRhLCBQYXNzUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IHBh
c3RpbmdGcmFnbWVudCwKLSAgICAgICAgICAgICAgICAgICAgIGJvb2wgaXNQYXN0ZSwgYm9vbCBz
aG91bGRTbWFydFJlcGxhY2UsIGJvb2wgc2hvdWxkTWF0Y2hTdHlsZSkKKyAgICAgICAgICAgICAg
ICAgICAgIGJvb2wgc2hvdWxkU21hcnRSZXBsYWNlLCBib29sIHNob3VsZE1hdGNoU3R5bGUpCiAg
ICAgOiBVSUV2ZW50KGV2ZW50TmFtZXMoKS50ZXh0SW5wdXRFdmVudCwgdHJ1ZSwgdHJ1ZSwgdmll
dywgMCkKKyAgICAsIG1faW5wdXRUeXBlKFRleHRFdmVudDo6SW5wdXRUeXBlUGFzdGUpCiAgICAg
LCBtX2RhdGEoZGF0YSkKLSAgICAsIG1faXNMaW5lQnJlYWsoZmFsc2UpCi0gICAgLCBtX2lzQmFj
a1RhYihmYWxzZSkKICAgICAsIG1fcGFzdGluZ0ZyYWdtZW50KHBhc3RpbmdGcmFnbWVudCkKLSAg
ICAsIG1faXNQYXN0ZShpc1Bhc3RlKQogICAgICwgbV9zaG91bGRTbWFydFJlcGxhY2Uoc2hvdWxk
U21hcnRSZXBsYWNlKQogICAgICwgbV9zaG91bGRNYXRjaFN0eWxlKHNob3VsZE1hdGNoU3R5bGUp
CiB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9UZXh0RXZlbnQuaCBiL1dlYkNvcmUvZG9tL1Rl
eHRFdmVudC5oCmluZGV4IDJlMmViOTVhMzY2MzE1NmVlMjlmZGM0NjRlNzBjNDdiMzNhMWYzOWYu
LmE0NTBiYzBmMzU1MTdhNTVkNjdmZGE4NjY1YThjNWJiY2M4NjA0ZjQgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZG9tL1RleHRFdmVudC5oCisrKyBiL1dlYkNvcmUvZG9tL1RleHRFdmVudC5oCkBAIC0z
NCw4ICszNCwxNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBUZXh0RXZlbnQg
OiBwdWJsaWMgVUlFdmVudCB7CiAgICAgcHVibGljOgorICAgICAgICBlbnVtIElucHV0VHlwZSB7
CisgICAgICAgICAgICBJbnB1dFR5cGVLZXlib2FyZCwgLy8gYW55IG5ld2xpbmUgY2hhcmFjdGVy
cyBpbiB0aGUgdGV4dCBhcmUgbGluZSBicmVha3Mgb25seSwgbm90IHBhcmFncmFwaCBzZXBhcmF0
b3JzLgorICAgICAgICAgICAgSW5wdXRUeXBlTGluZUJyZWFrLCAvLyBhbnkgdGFiIGNoYXJhY3Rl
cnMgaW4gdGhlIHRleHQgYXJlIGJhY2t0YWJzLgorICAgICAgICAgICAgSW5wdXRUeXBlQmFja1Rh
YiwKKyAgICAgICAgICAgIElucHV0VHlwZVBhc3RlCisgICAgICAgIH07CisKKyAgICAgICAgc3Rh
dGljIElucHV0VHlwZSBzZWxlY3RJbnB1dFR5cGUoYm9vbCBpc0xpbmVCcmVhaywgYm9vbCBpc0Jh
Y2tUYWIpOwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxUZXh0RXZlbnQ+IGNyZWF0ZSgpOwot
ICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxUZXh0RXZlbnQ+IGNyZWF0ZShQYXNzUmVmUHRyPEFi
c3RyYWN0Vmlldz4gdmlldywgY29uc3QgU3RyaW5nJiBkYXRhKTsKKyAgICAgICAgc3RhdGljIFBh
c3NSZWZQdHI8VGV4dEV2ZW50PiBjcmVhdGUoUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcs
IGNvbnN0IFN0cmluZyYgZGF0YSwgSW5wdXRUeXBlID0gSW5wdXRUeXBlS2V5Ym9hcmQpOwogICAg
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxUZXh0RXZlbnQ+IGNyZWF0ZUZvclBsYWluVGV4dFBhc3Rl
KFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBjb25zdCBTdHJpbmcmIGRhdGEsIGJvb2wg
c2hvdWxkU21hcnRSZXBsYWNlKTsKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGV4dEV2ZW50
PiBjcmVhdGVGb3JGcmFnbWVudFBhc3RlKFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBQ
YXNzUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IGRhdGEsIGJvb2wgc2hvdWxkU21hcnRSZXBsYWNl
LCBib29sIHNob3VsZE1hdGNoU3R5bGUpOwogCkBAIC00NywzMCArNTUsMjMgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc1RleHRFdmVudCgpIGNvbnN0Owog
Ci0gICAgICAgIC8vIElmIHRydWUsIGFueSBuZXdsaW5lIGNoYXJhY3RlcnMgaW4gdGhlIHRleHQg
YXJlIGxpbmUgYnJlYWtzIG9ubHksIG5vdCBwYXJhZ3JhcGggc2VwYXJhdG9ycy4KLSAgICAgICAg
Ym9vbCBpc0xpbmVCcmVhaygpIGNvbnN0IHsgcmV0dXJuIG1faXNMaW5lQnJlYWs7IH0KLSAgICAg
ICAgdm9pZCBzZXRJc0xpbmVCcmVhayhib29sIGlzTGluZUJyZWFrKSB7IG1faXNMaW5lQnJlYWsg
PSBpc0xpbmVCcmVhazsgfQotCi0gICAgICAgIC8vIElmIHRydWUsIGFueSB0YWIgY2hhcmFjdGVy
cyBpbiB0aGUgdGV4dCBhcmUgYmFja3RhYnMuCi0gICAgICAgIGJvb2wgaXNCYWNrVGFiKCkgY29u
c3QgeyByZXR1cm4gbV9pc0JhY2tUYWI7IH0KLSAgICAgICAgdm9pZCBzZXRJc0JhY2tUYWIoYm9v
bCBpc0JhY2tUYWIpIHsgbV9pc0JhY2tUYWIgPSBpc0JhY2tUYWI7IH0KKyAgICAgICAgYm9vbCBp
c0xpbmVCcmVhaygpIGNvbnN0IHsgcmV0dXJuIG1faW5wdXRUeXBlID09IElucHV0VHlwZUxpbmVC
cmVhazsgfQorICAgICAgICBib29sIGlzQmFja1RhYigpIGNvbnN0IHsgcmV0dXJuIG1faW5wdXRU
eXBlID09IElucHV0VHlwZUJhY2tUYWI7IH0KKyAgICAgICAgYm9vbCBpc1Bhc3RlKCkgY29uc3Qg
eyByZXR1cm4gbV9pbnB1dFR5cGUgPT0gSW5wdXRUeXBlUGFzdGU7IH0KIAotICAgICAgICBib29s
IGlzUGFzdGUoKSBjb25zdCB7IHJldHVybiBtX2lzUGFzdGU7IH0KICAgICAgICAgYm9vbCBzaG91
bGRTbWFydFJlcGxhY2UoKSBjb25zdCB7IHJldHVybiBtX3Nob3VsZFNtYXJ0UmVwbGFjZTsgfQog
ICAgICAgICBib29sIHNob3VsZE1hdGNoU3R5bGUoKSBjb25zdCB7IHJldHVybiBtX3Nob3VsZE1h
dGNoU3R5bGU7IH0KICAgICAgICAgRG9jdW1lbnRGcmFnbWVudCogcGFzdGluZ0ZyYWdtZW50KCkg
Y29uc3QgeyByZXR1cm4gbV9wYXN0aW5nRnJhZ21lbnQuZ2V0KCk7IH0KIAogICAgIHByaXZhdGU6
CiAgICAgICAgIFRleHRFdmVudCgpOwotICAgICAgICBUZXh0RXZlbnQoUGFzc1JlZlB0cjxBYnN0
cmFjdFZpZXc+LCBjb25zdCBTdHJpbmcmIGRhdGEsIFBhc3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVu
dD4gPSAwLAotICAgICAgICAgICAgICAgICAgYm9vbCBpc1Bhc3RlID0gZmFsc2UsIGJvb2wgc2hv
dWxkU21hcnRSZXBsYWNlID0gZmFsc2UsIGJvb2wgc2hvdWxkTWF0Y2hTdHlsZSA9IGZhbHNlKTsK
LQorICAgICAgICBUZXh0RXZlbnQoUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+LCBjb25zdCBTdHJp
bmcmIGRhdGEsIElucHV0VHlwZSA9IElucHV0VHlwZUtleWJvYXJkKTsKKyAgICAgICAgVGV4dEV2
ZW50KFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiwgY29uc3QgU3RyaW5nJiBkYXRhLCBQYXNzUmVm
UHRyPERvY3VtZW50RnJhZ21lbnQ+LAorICAgICAgICAgICAgICAgICAgYm9vbCBzaG91bGRTbWFy
dFJlcGxhY2UsIGJvb2wgc2hvdWxkTWF0Y2hTdHlsZSk7CisgICAgICAgIElucHV0VHlwZSBtX2lu
cHV0VHlwZTsKICAgICAgICAgU3RyaW5nIG1fZGF0YTsKLSAgICAgICAgYm9vbCBtX2lzTGluZUJy
ZWFrOwotICAgICAgICBib29sIG1faXNCYWNrVGFiOwogCiAgICAgICAgIFJlZlB0cjxEb2N1bWVu
dEZyYWdtZW50PiBtX3Bhc3RpbmdGcmFnbWVudDsKLSAgICAgICAgYm9vbCBtX2lzUGFzdGU7IC8v
IEZJWE1FOiBTaG91bGQgdXNlIGlucHV0TW9kZSBhZnRlciBpdCBiZSBhdmFpbGFibGU6IGh0dHA6
Ly93ZWJraXQub3JnL2IvNDI4MDUKICAgICAgICAgYm9vbCBtX3Nob3VsZFNtYXJ0UmVwbGFjZTsK
ICAgICAgICAgYm9vbCBtX3Nob3VsZE1hdGNoU3R5bGU7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5j
cHAKaW5kZXggOGExNjE4MTZlMWExMzAyMDJjMjJiOWM5OWYyODUwZGIzMzhhMTNlNS4uZDBhZGI0
ZTQ3YTE0Mjk4ODM0YzM0M2RlZWIyMDkzYWNiNGQxODFlYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
YWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAK
QEAgLTI2MjksNiArMjYyOSw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVUZXh0SW5wdXRF
dmVudChjb25zdCBTdHJpbmcmIHRleHQsIEV2ZW50KiB1bmRlcmx5aW5nRXZlCiAgICAgLy8gUGxh
dGZvcm1zIHNob3VsZCBkaWZmZXJlbnRpYXRlIHJlYWwgY29tbWFuZHMgbGlrZSBzZWxlY3RBbGwg
ZnJvbSB0ZXh0IGlucHV0IGluIGRpc2d1aXNlIChsaWtlIGluc2VydE5ld2xpbmUpLAogICAgIC8v
IGFuZCBhdm9pZCBkaXNwYXRjaGluZyB0ZXh0IGlucHV0IGV2ZW50cyBmcm9tIGtleWRvd24gZGVm
YXVsdCBoYW5kbGVycy4KICAgICBBU1NFUlQoIXVuZGVybHlpbmdFdmVudCB8fCAhdW5kZXJseWlu
Z0V2ZW50LT5pc0tleWJvYXJkRXZlbnQoKSB8fCBzdGF0aWNfY2FzdDxLZXlib2FyZEV2ZW50Kj4o
dW5kZXJseWluZ0V2ZW50KS0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5rZXlwcmVzc0V2ZW50KTsK
KyAgICBBU1NFUlQoIShpc0xpbmVCcmVhayAmJiBpc0JhY2tUYWIpKTsKIAogICAgIGlmICghbV9m
cmFtZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjY0NCwxMCArMjY0NSw5IEBAIGJvb2wg
RXZlbnRIYW5kbGVyOjpoYW5kbGVUZXh0SW5wdXRFdmVudChjb25zdCBTdHJpbmcmIHRleHQsIEV2
ZW50KiB1bmRlcmx5aW5nRXZlCiAgICAgaWYgKEZyYW1lVmlldyogdmlldyA9IG1fZnJhbWUtPnZp
ZXcoKSkKICAgICAgICAgdmlldy0+cmVzZXREZWZlcnJlZFJlcGFpbnREZWxheSgpOwogCi0gICAg
UmVmUHRyPFRleHRFdmVudD4gZXZlbnQgPSBUZXh0RXZlbnQ6OmNyZWF0ZShtX2ZyYW1lLT5kb21X
aW5kb3coKSwgdGV4dCk7CisgICAgUmVmUHRyPFRleHRFdmVudD4gZXZlbnQgPSBUZXh0RXZlbnQ6
OmNyZWF0ZShtX2ZyYW1lLT5kb21XaW5kb3coKSwgdGV4dCwgVGV4dEV2ZW50OjpzZWxlY3RJbnB1
dFR5cGUoaXNMaW5lQnJlYWssIGlzQmFja1RhYikpOwogICAgIGV2ZW50LT5zZXRVbmRlcmx5aW5n
RXZlbnQodW5kZXJseWluZ0V2ZW50KTsKLSAgICBldmVudC0+c2V0SXNMaW5lQnJlYWsoaXNMaW5l
QnJlYWspOwotICAgIGV2ZW50LT5zZXRJc0JhY2tUYWIoaXNCYWNrVGFiKTsKKwogICAgIEV4Y2Vw
dGlvbkNvZGUgZWM7CiAgICAgdGFyZ2V0LT5kaXNwYXRjaEV2ZW50KGV2ZW50LCBlYyk7CiAgICAg
cmV0dXJuIGV2ZW50LT5kZWZhdWx0SGFuZGxlZCgpOwo=
</data>
<flag name="review"
          id="52720"
          type_id="1"
          status="+"
          setter="tony"
    />
          </attachment>
      

    </bug>

</bugzilla>