<?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>35185</bug_id>
          
          <creation_ts>2010-02-19 16:17:35 -0800</creation_ts>
          <short_desc>Move text caret drawing code into RenderTheme</short_desc>
          <delta_ts>2010-06-11 10:01:22 -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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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="Daniel Bates">dbates</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>hyatt</cc>
    
    <cc>manyoso</cc>
    
    <cc>mitz</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>192092</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-02-19 16:17:35 -0800</bug_when>
    <thetext>We should move the text caret drawing code in SelectionController::paintCaret into RenderTheme so that platforms can optionally draw the caret with respect to their theme.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192103</commentid>
    <comment_count>1</comment_count>
      <attachid>49110</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-02-19 16:23:52 -0800</bug_when>
    <thetext>Created attachment 49110
Patch

No functionality was changes so no tests are included in this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192630</commentid>
    <comment_count>2</comment_count>
      <attachid>49110</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-02-22 14:22:53 -0800</bug_when>
    <thetext>Comment on attachment 49110
Patch

What would that mean?  Do RIM devices not have a caret?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193639</commentid>
    <comment_count>3</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-02-24 22:34:52 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 49110 [details])
&gt; What would that mean?  Do RIM devices not have a caret?

RIM devices have a caret. It is painted using the OS theme colors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193640</commentid>
    <comment_count>4</comment_count>
      <attachid>49110</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-02-24 22:35:32 -0800</bug_when>
    <thetext>Comment on attachment 49110
Patch

Looking into this proposal some more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197227</commentid>
    <comment_count>5</comment_count>
      <attachid>50233</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-03-08 10:46:37 -0800</bug_when>
    <thetext>Created attachment 50233
Patch

Updated patch following the landing of the patch for bug #34819 in changeset 55669 &lt;http://trac.webkit.org/changeset/55669&gt;.

Also, moved repaintCaret code into a similar RenderTheme method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197235</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-08 10:53:56 -0800</bug_when>
    <thetext>Attachment 50233 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/editing/SelectionController.cpp:1022:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 1 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197238</commentid>
    <comment_count>7</comment_count>
      <attachid>50234</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-03-08 10:57:10 -0800</bug_when>
    <thetext>Created attachment 50234
Patch

Fixed style error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197847</commentid>
    <comment_count>8</comment_count>
      <attachid>50234</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-03-09 17:32:57 -0800</bug_when>
    <thetext>Comment on attachment 50234
Patch

Is defaultTheme() really correct?  I thought Qt had the notion of Page-specific themes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198235</commentid>
    <comment_count>9</comment_count>
      <attachid>50417</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-03-10 11:13:07 -0800</bug_when>
    <thetext>Created attachment 50417
Patch

Updated patch to use the page-specific theme.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198247</commentid>
    <comment_count>10</comment_count>
      <attachid>50417</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-03-10 11:45:43 -0800</bug_when>
    <thetext>Comment on attachment 50417
Patch

So I get why you might want the theme to paint the caret, but what is the point of a repaint method being in the theme?  I don&apos;t understand this part.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198257</commentid>
    <comment_count>11</comment_count>
      <attachid>50417</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-03-10 12:04:16 -0800</bug_when>
    <thetext>Comment on attachment 50417
Patch

Will look into alternative to repaintCaret method.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49110</attachid>
            <date>2010-02-19 16:23:52 -0800</date>
            <delta_ts>2010-03-08 10:46:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>Bug35185.patch</filename>
            <type>text/plain</type>
            <size>3585</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTAyMykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTAtMDItMTkgIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTE4NQorCisgICAgICAgIE1vdmVz
IGRyYXdpbmcgY29kZSBmb3IgdGV4dCBjYXJldCBpbiBtZXRob2QgU2VsZWN0aW9uQ29udHJvbGxl
cjo6cGFpbnRDYXJldAorICAgICAgICBpbnRvIG1ldGhvZCBSZW5kZXJUaGVtZTo6cGFpbnRDYXJl
dCBzbyB0aGF0IHBsYXRmb3JtcyBjYW4gb3B0aW9uYWxseSBkcmF3CisgICAgICAgIHRoZSBjYXJl
dCB3aXRoIHJlc3BlY3QgdG8gdGhlaXIgdGhlbWUuCisKKyAgICAgICAgTm8gZnVuY3Rpb25hbGl0
eSB3YXMgY2hhbmdlZC4gU28sIG5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIGVkaXRpbmcvU2Vs
ZWN0aW9uQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3Rpb25Db250cm9s
bGVyOjpwYWludENhcmV0KTogTW92ZWQgZHJhd2luZyBjb2RlIGludG8KKyAgICAgICAgbWV0aG9k
IFJlbmRlclRoZW1lOjpwYWludENhcmV0LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6cGFpbnRDYXJldCk6IEFkZGVk
LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOiBTb3J0ZWQgZm9yd2FyZC1kZWNs
YXJhdGlvbnMuCisKIDIwMTAtMDItMTkgIE5hdGUgQ2hhcGluICA8amFwaGV0QGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCkluZGV4OiBXZWJDb3Jl
L2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9l
ZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA1NDk5NykKKysrIFdlYkNv
cmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAy
NSwxNSArMTAyNSw3IEBAIHZvaWQgU2VsZWN0aW9uQ29udHJvbGxlcjo6cGFpbnRDYXJldChHcmEK
ICAgICBpZiAoY2FyZXQuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBDb2xvciBj
YXJldENvbG9yID0gQ29sb3I6OmJsYWNrOwotICAgIENvbG9yU3BhY2UgY29sb3JTcGFjZSA9IERl
dmljZUNvbG9yU3BhY2U7Ci0gICAgRWxlbWVudCogZWxlbWVudCA9IHJvb3RFZGl0YWJsZUVsZW1l
bnQoKTsKLSAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50LT5yZW5kZXJlcigpKSB7Ci0gICAgICAg
IGNhcmV0Q29sb3IgPSBlbGVtZW50LT5yZW5kZXJlcigpLT5zdHlsZSgpLT5jb2xvcigpOwotICAg
ICAgICBjb2xvclNwYWNlID0gZWxlbWVudC0+cmVuZGVyZXIoKS0+c3R5bGUoKS0+Y29sb3JTcGFj
ZSgpOwotICAgIH0KLQotICAgIGNvbnRleHQtPmZpbGxSZWN0KGNhcmV0LCBjYXJldENvbG9yLCBj
b2xvclNwYWNlKTsKKyAgICBtX2ZyYW1lLT5wYWdlKCktPnRoZW1lKCktPnBhaW50Q2FyZXQoY29u
dGV4dCwgY2FyZXQsIHJvb3RFZGl0YWJsZUVsZW1lbnQoKSk7CiAjZW5kaWYKIH0KIApJbmRleDog
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAkocmV2aXNpb24gNTQ5OTcpCisrKyBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxNCw2ICsyMTQsMTcg
QEAgdm9pZCBSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUoQ1NTU3R5bGVTZQogICAgIH0KIH0KIAor
dm9pZCBSZW5kZXJUaGVtZTo6cGFpbnRDYXJldChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNv
bnN0IEludFJlY3QmIGNhcmV0UmVjdCwgY29uc3QgRWxlbWVudCogcm9vdEVkaXRhYmxlRWxlbWVu
dCkKK3sKKyAgICBDb2xvciBjYXJldENvbG9yID0gQ29sb3I6OmJsYWNrOworICAgIENvbG9yU3Bh
Y2UgY29sb3JTcGFjZSA9IERldmljZUNvbG9yU3BhY2U7CisgICAgaWYgKHJvb3RFZGl0YWJsZUVs
ZW1lbnQgJiYgcm9vdEVkaXRhYmxlRWxlbWVudC0+cmVuZGVyZXIoKSkgeworICAgICAgICBjYXJl
dENvbG9yID0gcm9vdEVkaXRhYmxlRWxlbWVudC0+cmVuZGVyZXIoKS0+c3R5bGUoKS0+Y29sb3Io
KTsKKyAgICAgICAgY29sb3JTcGFjZSA9IHJvb3RFZGl0YWJsZUVsZW1lbnQtPnJlbmRlcmVyKCkt
PnN0eWxlKCktPmNvbG9yU3BhY2UoKTsKKyAgICB9CisgICAgY29udGV4dC0+ZmlsbFJlY3QoY2Fy
ZXRSZWN0LCBjYXJldENvbG9yLCBjb2xvclNwYWNlKTsKK30KKwogYm9vbCBSZW5kZXJUaGVtZTo6
cGFpbnQoUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYgcGFp
bnRJbmZvLCBjb25zdCBJbnRSZWN0JiByKQogewogICAgIC8vIElmIHBhaW50aW5nIGlzIGRpc2Fi
bGVkLCBidXQgd2UgYXJlbid0IHVwZGF0aW5nIGNvbnRyb2wgdGludHMsIHRoZW4ganVzdCBiYWls
LgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCShyZXZpc2lvbiA1NDk5NykKKysrIFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDEwICszNiwx
MCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIENTU1N0eWxlU2hlZXQ7CiBjbGFz
cyBFbGVtZW50OwogY2xhc3MgUG9wdXBNZW51OwogY2xhc3MgUmVuZGVyTWVudUxpc3Q7Ci1jbGFz
cyBDU1NTdHlsZVNoZWV0OwogCiBjbGFzcyBSZW5kZXJUaGVtZSA6IHB1YmxpYyBSZWZDb3VudGVk
PFJlbmRlclRoZW1lPiB7CiBwcm90ZWN0ZWQ6CkBAIC0xNDQsNiArMTQ0LDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCBwbGF0Zm9ybUNvbG9yc0RpZENoYW5nZSgpOwogCiAgICAgdmlydHVh
bCBkb3VibGUgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3QgeyByZXR1cm4gMC41OyB9CisgICAg
dmlydHVhbCB2b2lkIHBhaW50Q2FyZXQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYg
Y2FyZXRSZWN0LCBjb25zdCBFbGVtZW50KiByb290RWRpdGFibGVFbGVtZW50KTsKIAogICAgIC8v
IFN5c3RlbSBmb250cyBhbmQgY29sb3JzIGZvciBDU1MuCiAgICAgdmlydHVhbCB2b2lkIHN5c3Rl
bUZvbnQoaW50IGNzc1ZhbHVlSWQsIEZvbnREZXNjcmlwdGlvbiYpIGNvbnN0ID0gMDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50233</attachid>
            <date>2010-03-08 10:46:37 -0800</date>
            <delta_ts>2010-03-08 10:57:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>Bug35185_030810.patch</filename>
            <type>text/plain</type>
            <size>7841</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTY3MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzEgQEAKKzIwMTAtMDMtMDggIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTE4NQorCisgICAgICAgIE1vdmVz
IHBhaW50IGFuZCByZXBhaW50IGNvZGUgZm9yIHRleHQgY2FyZXQgaW50byBtZXRob2QgUmVuZGVy
VGhlbWU6OnBhaW50Q2FyZXQgYW5kCisgICAgICAgIFJlbmRlclRoZW1lOjpyZXBhaW50Q2FyZXQs
IHJlc3BlY3RpdmVseSwgc28gdGhhdCBwbGF0Zm9ybXMgY2FuIG9wdGlvbmFsbHkgZHJhdyB0aGUK
KyAgICAgICAgY2FyZXQgd2l0aCByZXNwZWN0IHRvIHRoZWlyIHRoZW1lLgorCisgICAgICAgIE5v
IGZ1bmN0aW9uYWxpdHkgd2FzIGNoYW5nZWQuIFNvLCBubyBuZXcgdGVzdHMuCisKKyAgICAgICAg
KiBlZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Vs
ZWN0aW9uQ29udHJvbGxlcjo6cmVwYWludFJlY3RGb3JDYXJldCk6IEV4cG9zZWQgbWV0aG9kLgor
ICAgICAgICAoV2ViQ29yZTo6U2VsZWN0aW9uQ29udHJvbGxlcjo6cmVjb21wdXRlQ2FyZXRSZWN0
KTogTW92ZWQgcmVwYWludCBjb2RlCisgICAgICAgIGludG8gbWV0aG9kIFJlbmRlclRoZW1lOjpy
ZXBhaW50Q2FyZXQuCisgICAgICAgIChXZWJDb3JlOjpTZWxlY3Rpb25Db250cm9sbGVyOjppbnZh
bGlkYXRlQ2FyZXRSZWN0KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTZWxlY3Rpb25Db250
cm9sbGVyOjpzaG91bGRQYWludENhcmV0KTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTZWxl
Y3Rpb25Db250cm9sbGVyOjpwYWludENhcmV0KTogTW92ZWQgcGFpbnQgY29kZSBpbnRvCisgICAg
ICAgIG1ldGhvZCBSZW5kZXJUaGVtZTo6cGFpbnRDYXJldC4gTW92ZWQgY29kZSB0byBkZXRlcm1p
bmUgd2hldGhlciB0aGUKKyAgICAgICAgY2FyZXQgc2hvdWxkIGJlIHBhaW50ZWQgaW50byBtZXRo
b2QgU2VsZWN0aW9uQ29udHJvbGxlcjo6c2hvdWxkUGFpbnRDYXJldC4KKyAgICAgICAgKiBlZGl0
aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhl
bWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50Q2FyZXQpOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjpyZXBhaW50Q2FyZXQpOiBBZGRlZC4K
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuaDogU29ydGVkIGZvcndhcmQtZGVjbGFy
YXRpb25zLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6Oik6IEFkZGVkIGVudW0gQ2Fy
ZXRWaXNpYmlsaXR5LgorCiAyMDEwLTAzLTA4ICBKaWFuIExpICA8amlhbmxpQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEbWl0cnkgVGl0b3YuCkluZGV4OiBXZWJDb3JlL2Vk
aXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9lZGl0
aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA1NTY2OSkKKysrIFdlYkNvcmUv
ZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTI2LDcg
KzkyNiw3IEBAIEludFJlY3QgU2VsZWN0aW9uQ29udHJvbGxlcjo6YWJzb2x1dGVDYXIKICAgICBy
ZXR1cm4gbV9hYnNDYXJldEJvdW5kczsKIH0KIAotc3RhdGljIEludFJlY3QgcmVwYWludFJlY3RG
b3JDYXJldChJbnRSZWN0IGNhcmV0KQorSW50UmVjdCBTZWxlY3Rpb25Db250cm9sbGVyOjpyZXBh
aW50UmVjdEZvckNhcmV0KEludFJlY3QgY2FyZXQpCiB7CiAgICAgaWYgKGNhcmV0LmlzRW1wdHko
KSkKICAgICAgICAgcmV0dXJuIEludFJlY3QoKTsKQEAgLTk3Miw5ICs5NzIsOSBAQCBib29sIFNl
bGVjdGlvbkNvbnRyb2xsZXI6OnJlY29tcHV0ZUNhcmV0CiAgICAgCiAgICAgaWYgKFJlbmRlclZp
ZXcqIHZpZXcgPSB0b1JlbmRlclZpZXcobV9mcmFtZS0+ZG9jdW1lbnQoKS0+cmVuZGVyZXIoKSkp
IHsKICAgICAgICAgLy8gRklYTUU6IG1ha2UgY2FyZXQgcmVwYWludGluZyBjb250YWluZXItYXdh
cmUuCi0gICAgICAgIHZpZXctPnJlcGFpbnRSZWN0YW5nbGVJblZpZXdBbmRDb21wb3NpdGVkTGF5
ZXJzKG9sZEFic29sdXRlQ2FyZXRSZXBhaW50Qm91bmRzLCBmYWxzZSk7CisgICAgICAgIFJlbmRl
clRoZW1lOjpkZWZhdWx0VGhlbWUoKS0+cmVwYWludENhcmV0KHZpZXcsIG9sZEFic0NhcmV0Qm91
bmRzLCBSZW5kZXJUaGVtZTo6Q2FyZXRIaWRkZW4pOwogICAgICAgICBpZiAoc2hvdWxkUmVwYWlu
dENhcmV0KHZpZXcpKQotICAgICAgICAgICAgdmlldy0+cmVwYWludFJlY3RhbmdsZUluVmlld0Fu
ZENvbXBvc2l0ZWRMYXllcnMobV9hYnNvbHV0ZUNhcmV0UmVwYWludEJvdW5kcywgZmFsc2UpOwor
ICAgICAgICAgICAgUmVuZGVyVGhlbWU6OmRlZmF1bHRUaGVtZSgpLT5yZXBhaW50Q2FyZXQodmll
dywgbV9hYnNDYXJldEJvdW5kcywgc2hvdWxkUGFpbnRDYXJldCgpID8gUmVuZGVyVGhlbWU6OkNh
cmV0VmlzaWJsZSA6IFJlbmRlclRoZW1lOjpDYXJldEhpZGRlbik7CiAgICAgfQogCiAgICAgcmV0
dXJuIHRydWU7CkBAIC0xMDE1LDE4ICsxMDE1LDI3IEBAIHZvaWQgU2VsZWN0aW9uQ29udHJvbGxl
cjo6aW52YWxpZGF0ZUNhcmUKICAgICBpZiAoIWNhcmV0UmVjdENoYW5nZWQpIHsKICAgICAgICAg
UmVuZGVyVmlldyogdmlldyA9IHRvUmVuZGVyVmlldyhkLT5yZW5kZXJlcigpKTsKICAgICAgICAg
aWYgKHZpZXcgJiYgc2hvdWxkUmVwYWludENhcmV0KHZpZXcpKQotICAgICAgICAgICAgdmlldy0+
cmVwYWludFJlY3RhbmdsZUluVmlld0FuZENvbXBvc2l0ZWRMYXllcnMoY2FyZXRSZXBhaW50UmVj
dCgpLCBmYWxzZSk7CisgICAgICAgICAgICBSZW5kZXJUaGVtZTo6ZGVmYXVsdFRoZW1lKCktPnJl
cGFpbnRDYXJldCh2aWV3LCBhYnNvbHV0ZUNhcmV0Qm91bmRzKCksIHNob3VsZFBhaW50Q2FyZXQo
KSA/IFJlbmRlclRoZW1lOjpDYXJldFZpc2libGUgOiBSZW5kZXJUaGVtZTo6Q2FyZXRIaWRkZW4p
OwogICAgIH0KIH0KIAotdm9pZCBTZWxlY3Rpb25Db250cm9sbGVyOjpwYWludENhcmV0KEdyYXBo
aWNzQ29udGV4dCogY29udGV4dCwgaW50IHR4LCBpbnQgdHksIGNvbnN0IEludFJlY3QmIGNsaXBS
ZWN0KQotewotI2lmIEVOQUJMRShURVhUX0NBUkVUKQorYm9vbCBTZWxlY3Rpb25Db250cm9sbGVy
OjpzaG91bGRQYWludENhcmV0KCkgY29uc3QgewogICAgIGlmICghbV9jYXJldFZpc2libGUpCi0g
ICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgaWYgKCFtX2NhcmV0
UGFpbnQpCi0gICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgaWYg
KCFtX3NlbGVjdGlvbi5pc0NhcmV0KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJl
dHVybiB0cnVlOworfQorCit2b2lkIFNlbGVjdGlvbkNvbnRyb2xsZXI6OnBhaW50Q2FyZXQoR3Jh
cGhpY3NDb250ZXh0KiBjb250ZXh0LCBpbnQgdHgsIGludCB0eSwgY29uc3QgSW50UmVjdCYgY2xp
cFJlY3QpCit7CisjaWYgRU5BQkxFKFRFWFRfQ0FSRVQpCisgICAgaWYgKCFzaG91bGRQYWludENh
cmV0KCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIEludFJlY3QgZHJhd2luZ1JlY3QgPSBsb2Nh
bENhcmV0UmVjdCgpOwpAQCAtMTAzNSwxNSArMTA0NCw3IEBAIHZvaWQgU2VsZWN0aW9uQ29udHJv
bGxlcjo6cGFpbnRDYXJldChHcmEKICAgICBpZiAoY2FyZXQuaXNFbXB0eSgpKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBDb2xvciBjYXJldENvbG9yID0gQ29sb3I6OmJsYWNrOwotICAgIENvbG9y
U3BhY2UgY29sb3JTcGFjZSA9IERldmljZUNvbG9yU3BhY2U7Ci0gICAgRWxlbWVudCogZWxlbWVu
dCA9IHJvb3RFZGl0YWJsZUVsZW1lbnQoKTsKLSAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50LT5y
ZW5kZXJlcigpKSB7Ci0gICAgICAgIGNhcmV0Q29sb3IgPSBlbGVtZW50LT5yZW5kZXJlcigpLT5z
dHlsZSgpLT5jb2xvcigpOwotICAgICAgICBjb2xvclNwYWNlID0gZWxlbWVudC0+cmVuZGVyZXIo
KS0+c3R5bGUoKS0+Y29sb3JTcGFjZSgpOwotICAgIH0KLQotICAgIGNvbnRleHQtPmZpbGxSZWN0
KGNhcmV0LCBjYXJldENvbG9yLCBjb2xvclNwYWNlKTsKKyAgICBSZW5kZXJUaGVtZTo6ZGVmYXVs
dFRoZW1lKCktPnBhaW50Q2FyZXQoY29udGV4dCwgY2FyZXQsIHJvb3RFZGl0YWJsZUVsZW1lbnQo
KSk7CiAjZW5kaWYKIH0KIApJbmRleDogV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xs
ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5o
CShyZXZpc2lvbiA1NTY2OSkKKysrIFdlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVy
LmgJKHdvcmtpbmcgY29weSkKQEAgLTk2LDYgKzk2LDggQEAgcHVibGljOgogICAgIEludFJlY3Qg
YWJzb2x1dGVDYXJldEJvdW5kcygpOwogICAgIHZvaWQgc2V0TmVlZHNMYXlvdXQoYm9vbCBmbGFn
ID0gdHJ1ZSk7CiAKKyAgICBzdGF0aWMgSW50UmVjdCByZXBhaW50UmVjdEZvckNhcmV0KEludFJl
Y3QgY2FyZXQpOworCiAgICAgdm9pZCBzZXRMYXN0Q2hhbmdlV2FzSG9yaXpvbnRhbEV4dGVuc2lv
bihib29sIGIpIHsgbV9sYXN0Q2hhbmdlV2FzSG9yaXpvbnRhbEV4dGVuc2lvbiA9IGI7IH0KICAg
ICB2b2lkIHdpbGxCZU1vZGlmaWVkKEVBbHRlcmF0aW9uLCBFRGlyZWN0aW9uKTsKICAgICAKQEAg
LTExNyw2ICsxMTksNyBAQCBwdWJsaWM6CiAgICAgYm9vbCByZWNvbXB1dGVDYXJldFJlY3QoKTsg
Ly8gcmV0dXJucyB0cnVlIGlmIGNhcmV0IHJlY3QgbW92ZWQKICAgICB2b2lkIGludmFsaWRhdGVD
YXJldFJlY3QoKTsKICAgICB2b2lkIHBhaW50Q2FyZXQoR3JhcGhpY3NDb250ZXh0KiwgaW50IHR4
LCBpbnQgdHksIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KTsKKyAgICBib29sIHNob3VsZFBhaW50
Q2FyZXQoKSBjb25zdDsKIAogICAgIC8vIFVzZWQgdG8gc3VzcGVuZCBjYXJldCBibGlua2luZyB3
aGlsZSB0aGUgbW91c2UgaXMgZG93bi4KICAgICB2b2lkIHNldENhcmV0QmxpbmtpbmdTdXNwZW5k
ZWQoYm9vbCBzdXNwZW5kZWQpIHsgbV9pc0NhcmV0QmxpbmtpbmdTdXNwZW5kZWQgPSBzdXNwZW5k
ZWQ7IH0KSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAJKHJldmlzaW9uIDU1NjY4KQor
KysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
Niw2ICs1NiwyNCBAQCBSZW5kZXJUaGVtZTo6UmVuZGVyVGhlbWUoKQogewogfQogCit2b2lkIFJl
bmRlclRoZW1lOjpwYWludENhcmV0KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50
UmVjdCYgY2FyZXRSZWN0LCBjb25zdCBFbGVtZW50KiByb290RWRpdGFibGVFbGVtZW50KQorewor
ICAgIEFTU0VSVChjb250ZXh0KTsKKyAgICBDb2xvciBjYXJldENvbG9yID0gQ29sb3I6OmJsYWNr
OworICAgIENvbG9yU3BhY2UgY29sb3JTcGFjZSA9IERldmljZUNvbG9yU3BhY2U7CisgICAgaWYg
KHJvb3RFZGl0YWJsZUVsZW1lbnQgJiYgcm9vdEVkaXRhYmxlRWxlbWVudC0+cmVuZGVyZXIoKSkg
eworICAgICAgICBjYXJldENvbG9yID0gcm9vdEVkaXRhYmxlRWxlbWVudC0+cmVuZGVyZXIoKS0+
c3R5bGUoKS0+Y29sb3IoKTsKKyAgICAgICAgY29sb3JTcGFjZSA9IHJvb3RFZGl0YWJsZUVsZW1l
bnQtPnJlbmRlcmVyKCktPnN0eWxlKCktPmNvbG9yU3BhY2UoKTsKKyAgICB9CisgICAgY29udGV4
dC0+ZmlsbFJlY3QoY2FyZXRSZWN0LCBjYXJldENvbG9yLCBjb2xvclNwYWNlKTsKK30KKwordm9p
ZCBSZW5kZXJUaGVtZTo6cmVwYWludENhcmV0KFJlbmRlclZpZXcqIHZpZXcsIGNvbnN0IEludFJl
Y3QmIGNhcmV0UmVjdCwgQ2FyZXRWaXNpYmlsaXR5KQoreworICAgIEFTU0VSVCh2aWV3KTsKKyAg
ICB2aWV3LT5yZXBhaW50UmVjdGFuZ2xlSW5WaWV3QW5kQ29tcG9zaXRlZExheWVycyhTZWxlY3Rp
b25Db250cm9sbGVyOjpyZXBhaW50UmVjdEZvckNhcmV0KGNhcmV0UmVjdCksIGZhbHNlKTsKK30K
Kwogdm9pZCBSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUoQ1NTU3R5bGVTZWxlY3Rvciogc2VsZWN0
b3IsIFJlbmRlclN0eWxlKiBzdHlsZSwgRWxlbWVudCogZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGJvb2wgVUFIYXNBcHBlYXJhbmNlLCBjb25zdCBCb3JkZXJEYXRhJiBib3JkZXIs
IGNvbnN0IEZpbGxMYXllciYgYmFja2dyb3VuZCwgY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xv
cikKIHsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAkocmV2aXNpb24gNTU2NjgpCisrKyBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiwxNiAr
MzYsMTggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBDU1NTdHlsZVNoZWV0Owog
Y2xhc3MgRWxlbWVudDsKIGNsYXNzIFBvcHVwTWVudTsKIGNsYXNzIFJlbmRlck1lbnVMaXN0Owot
Y2xhc3MgQ1NTU3R5bGVTaGVldDsKIAogY2xhc3MgUmVuZGVyVGhlbWUgOiBwdWJsaWMgUmVmQ291
bnRlZDxSZW5kZXJUaGVtZT4gewogcHJvdGVjdGVkOgogICAgIFJlbmRlclRoZW1lKCk7CiAKIHB1
YmxpYzoKKyAgICBlbnVtIENhcmV0VmlzaWJpbGl0eSB7IENhcmV0VmlzaWJsZSwgQ2FyZXRIaWRk
ZW4gfTsKKwogICAgIHZpcnR1YWwgflJlbmRlclRoZW1lKCkgeyB9CiAKICAgICAvLyBUaGlzIGZ1
bmN0aW9uIGlzIHRvIGJlIGltcGxlbWVudGVkIGluIHlvdXIgcGxhdGZvcm0tc3BlY2lmaWMgdGhl
bWUgaW1wbGVtZW50YXRpb24gdG8gaGFuZCBiYWNrIHRoZQpAQCAtMTQ0LDYgKzE0Niw4IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1Db2xvcnNEaWRDaGFuZ2UoKTsKIAogICAg
IHZpcnR1YWwgZG91YmxlIGNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIDAuNTsg
fQorICAgIHZpcnR1YWwgdm9pZCBwYWludENhcmV0KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IElu
dFJlY3QmIGNhcmV0UmVjdCwgY29uc3QgRWxlbWVudCogcm9vdEVkaXRhYmxlRWxlbWVudCk7Cisg
ICAgdmlydHVhbCB2b2lkIHJlcGFpbnRDYXJldChSZW5kZXJWaWV3KiwgY29uc3QgSW50UmVjdCYg
Y2FyZXRSZWN0LCBDYXJldFZpc2liaWxpdHkpOwogCiAgICAgLy8gU3lzdGVtIGZvbnRzIGFuZCBj
b2xvcnMgZm9yIENTUy4KICAgICB2aXJ0dWFsIHZvaWQgc3lzdGVtRm9udChpbnQgY3NzVmFsdWVJ
ZCwgRm9udERlc2NyaXB0aW9uJikgY29uc3QgPSAwOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50234</attachid>
            <date>2010-03-08 10:57:10 -0800</date>
            <delta_ts>2010-03-10 11:13:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>Bug35185_030810.patch</filename>
            <type>text/plain</type>
            <size>7839</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTY3MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzEgQEAKKzIwMTAtMDMtMDggIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTE4NQorCisgICAgICAgIE1vdmVz
IHBhaW50IGFuZCByZXBhaW50IGNvZGUgZm9yIHRleHQgY2FyZXQgaW50byBtZXRob2QgUmVuZGVy
VGhlbWU6OnBhaW50Q2FyZXQgYW5kCisgICAgICAgIFJlbmRlclRoZW1lOjpyZXBhaW50Q2FyZXQs
IHJlc3BlY3RpdmVseSwgc28gdGhhdCBwbGF0Zm9ybXMgY2FuIG9wdGlvbmFsbHkgZHJhdyB0aGUK
KyAgICAgICAgY2FyZXQgd2l0aCByZXNwZWN0IHRvIHRoZWlyIHRoZW1lLgorCisgICAgICAgIE5v
IGZ1bmN0aW9uYWxpdHkgd2FzIGNoYW5nZWQuIFNvLCBubyBuZXcgdGVzdHMuCisKKyAgICAgICAg
KiBlZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Vs
ZWN0aW9uQ29udHJvbGxlcjo6cmVwYWludFJlY3RGb3JDYXJldCk6IEV4cG9zZWQgbWV0aG9kLgor
ICAgICAgICAoV2ViQ29yZTo6U2VsZWN0aW9uQ29udHJvbGxlcjo6cmVjb21wdXRlQ2FyZXRSZWN0
KTogTW92ZWQgcmVwYWludCBjb2RlCisgICAgICAgIGludG8gbWV0aG9kIFJlbmRlclRoZW1lOjpy
ZXBhaW50Q2FyZXQuCisgICAgICAgIChXZWJDb3JlOjpTZWxlY3Rpb25Db250cm9sbGVyOjppbnZh
bGlkYXRlQ2FyZXRSZWN0KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTZWxlY3Rpb25Db250
cm9sbGVyOjpzaG91bGRQYWludENhcmV0KTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTZWxl
Y3Rpb25Db250cm9sbGVyOjpwYWludENhcmV0KTogTW92ZWQgcGFpbnQgY29kZSBpbnRvCisgICAg
ICAgIG1ldGhvZCBSZW5kZXJUaGVtZTo6cGFpbnRDYXJldC4gTW92ZWQgY29kZSB0byBkZXRlcm1p
bmUgd2hldGhlciB0aGUKKyAgICAgICAgY2FyZXQgc2hvdWxkIGJlIHBhaW50ZWQgaW50byBtZXRo
b2QgU2VsZWN0aW9uQ29udHJvbGxlcjo6c2hvdWxkUGFpbnRDYXJldC4KKyAgICAgICAgKiBlZGl0
aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhl
bWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50Q2FyZXQpOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjpyZXBhaW50Q2FyZXQpOiBBZGRlZC4K
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuaDogU29ydGVkIGZvcndhcmQtZGVjbGFy
YXRpb25zLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6Oik6IEFkZGVkIGVudW0gQ2Fy
ZXRWaXNpYmlsaXR5LgorCiAyMDEwLTAzLTA4ICBKaWFuIExpICA8amlhbmxpQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEbWl0cnkgVGl0b3YuCkluZGV4OiBXZWJDb3JlL2Vk
aXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9lZGl0
aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA1NTY2OSkKKysrIFdlYkNvcmUv
ZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTI2LDcg
KzkyNiw3IEBAIEludFJlY3QgU2VsZWN0aW9uQ29udHJvbGxlcjo6YWJzb2x1dGVDYXIKICAgICBy
ZXR1cm4gbV9hYnNDYXJldEJvdW5kczsKIH0KIAotc3RhdGljIEludFJlY3QgcmVwYWludFJlY3RG
b3JDYXJldChJbnRSZWN0IGNhcmV0KQorSW50UmVjdCBTZWxlY3Rpb25Db250cm9sbGVyOjpyZXBh
aW50UmVjdEZvckNhcmV0KEludFJlY3QgY2FyZXQpCiB7CiAgICAgaWYgKGNhcmV0LmlzRW1wdHko
KSkKICAgICAgICAgcmV0dXJuIEludFJlY3QoKTsKQEAgLTk3Miw5ICs5NzIsOSBAQCBib29sIFNl
bGVjdGlvbkNvbnRyb2xsZXI6OnJlY29tcHV0ZUNhcmV0CiAgICAgCiAgICAgaWYgKFJlbmRlclZp
ZXcqIHZpZXcgPSB0b1JlbmRlclZpZXcobV9mcmFtZS0+ZG9jdW1lbnQoKS0+cmVuZGVyZXIoKSkp
IHsKICAgICAgICAgLy8gRklYTUU6IG1ha2UgY2FyZXQgcmVwYWludGluZyBjb250YWluZXItYXdh
cmUuCi0gICAgICAgIHZpZXctPnJlcGFpbnRSZWN0YW5nbGVJblZpZXdBbmRDb21wb3NpdGVkTGF5
ZXJzKG9sZEFic29sdXRlQ2FyZXRSZXBhaW50Qm91bmRzLCBmYWxzZSk7CisgICAgICAgIFJlbmRl
clRoZW1lOjpkZWZhdWx0VGhlbWUoKS0+cmVwYWludENhcmV0KHZpZXcsIG9sZEFic0NhcmV0Qm91
bmRzLCBSZW5kZXJUaGVtZTo6Q2FyZXRIaWRkZW4pOwogICAgICAgICBpZiAoc2hvdWxkUmVwYWlu
dENhcmV0KHZpZXcpKQotICAgICAgICAgICAgdmlldy0+cmVwYWludFJlY3RhbmdsZUluVmlld0Fu
ZENvbXBvc2l0ZWRMYXllcnMobV9hYnNvbHV0ZUNhcmV0UmVwYWludEJvdW5kcywgZmFsc2UpOwor
ICAgICAgICAgICAgUmVuZGVyVGhlbWU6OmRlZmF1bHRUaGVtZSgpLT5yZXBhaW50Q2FyZXQodmll
dywgbV9hYnNDYXJldEJvdW5kcywgc2hvdWxkUGFpbnRDYXJldCgpID8gUmVuZGVyVGhlbWU6OkNh
cmV0VmlzaWJsZSA6IFJlbmRlclRoZW1lOjpDYXJldEhpZGRlbik7CiAgICAgfQogCiAgICAgcmV0
dXJuIHRydWU7CkBAIC0xMDE1LDE4ICsxMDE1LDI4IEBAIHZvaWQgU2VsZWN0aW9uQ29udHJvbGxl
cjo6aW52YWxpZGF0ZUNhcmUKICAgICBpZiAoIWNhcmV0UmVjdENoYW5nZWQpIHsKICAgICAgICAg
UmVuZGVyVmlldyogdmlldyA9IHRvUmVuZGVyVmlldyhkLT5yZW5kZXJlcigpKTsKICAgICAgICAg
aWYgKHZpZXcgJiYgc2hvdWxkUmVwYWludENhcmV0KHZpZXcpKQotICAgICAgICAgICAgdmlldy0+
cmVwYWludFJlY3RhbmdsZUluVmlld0FuZENvbXBvc2l0ZWRMYXllcnMoY2FyZXRSZXBhaW50UmVj
dCgpLCBmYWxzZSk7CisgICAgICAgICAgICBSZW5kZXJUaGVtZTo6ZGVmYXVsdFRoZW1lKCktPnJl
cGFpbnRDYXJldCh2aWV3LCBhYnNvbHV0ZUNhcmV0Qm91bmRzKCksIHNob3VsZFBhaW50Q2FyZXQo
KSA/IFJlbmRlclRoZW1lOjpDYXJldFZpc2libGUgOiBSZW5kZXJUaGVtZTo6Q2FyZXRIaWRkZW4p
OwogICAgIH0KIH0KIAotdm9pZCBTZWxlY3Rpb25Db250cm9sbGVyOjpwYWludENhcmV0KEdyYXBo
aWNzQ29udGV4dCogY29udGV4dCwgaW50IHR4LCBpbnQgdHksIGNvbnN0IEludFJlY3QmIGNsaXBS
ZWN0KQorYm9vbCBTZWxlY3Rpb25Db250cm9sbGVyOjpzaG91bGRQYWludENhcmV0KCkgY29uc3QK
IHsKLSNpZiBFTkFCTEUoVEVYVF9DQVJFVCkKICAgICBpZiAoIW1fY2FyZXRWaXNpYmxlKQotICAg
ICAgICByZXR1cm47CisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIGlmICghbV9jYXJldFBh
aW50KQotICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIGlmICgh
bV9zZWxlY3Rpb24uaXNDYXJldCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1
cm4gdHJ1ZTsKK30KKwordm9pZCBTZWxlY3Rpb25Db250cm9sbGVyOjpwYWludENhcmV0KEdyYXBo
aWNzQ29udGV4dCogY29udGV4dCwgaW50IHR4LCBpbnQgdHksIGNvbnN0IEludFJlY3QmIGNsaXBS
ZWN0KQoreworI2lmIEVOQUJMRShURVhUX0NBUkVUKQorICAgIGlmICghc2hvdWxkUGFpbnRDYXJl
dCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBJbnRSZWN0IGRyYXdpbmdSZWN0ID0gbG9jYWxD
YXJldFJlY3QoKTsKQEAgLTEwMzUsMTUgKzEwNDUsNyBAQCB2b2lkIFNlbGVjdGlvbkNvbnRyb2xs
ZXI6OnBhaW50Q2FyZXQoR3JhCiAgICAgaWYgKGNhcmV0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgQ29sb3IgY2FyZXRDb2xvciA9IENvbG9yOjpibGFjazsKLSAgICBDb2xvclNw
YWNlIGNvbG9yU3BhY2UgPSBEZXZpY2VDb2xvclNwYWNlOwotICAgIEVsZW1lbnQqIGVsZW1lbnQg
PSByb290RWRpdGFibGVFbGVtZW50KCk7Ci0gICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC0+cmVu
ZGVyZXIoKSkgewotICAgICAgICBjYXJldENvbG9yID0gZWxlbWVudC0+cmVuZGVyZXIoKS0+c3R5
bGUoKS0+Y29sb3IoKTsKLSAgICAgICAgY29sb3JTcGFjZSA9IGVsZW1lbnQtPnJlbmRlcmVyKCkt
PnN0eWxlKCktPmNvbG9yU3BhY2UoKTsKLSAgICB9Ci0KLSAgICBjb250ZXh0LT5maWxsUmVjdChj
YXJldCwgY2FyZXRDb2xvciwgY29sb3JTcGFjZSk7CisgICAgUmVuZGVyVGhlbWU6OmRlZmF1bHRU
aGVtZSgpLT5wYWludENhcmV0KGNvbnRleHQsIGNhcmV0LCByb290RWRpdGFibGVFbGVtZW50KCkp
OwogI2VuZGlmCiB9CiAKSW5kZXg6IFdlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVy
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaAko
cmV2aXNpb24gNTU2NjkpCisrKyBXZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5o
CSh3b3JraW5nIGNvcHkpCkBAIC05Niw2ICs5Niw4IEBAIHB1YmxpYzoKICAgICBJbnRSZWN0IGFi
c29sdXRlQ2FyZXRCb3VuZHMoKTsKICAgICB2b2lkIHNldE5lZWRzTGF5b3V0KGJvb2wgZmxhZyA9
IHRydWUpOwogCisgICAgc3RhdGljIEludFJlY3QgcmVwYWludFJlY3RGb3JDYXJldChJbnRSZWN0
IGNhcmV0KTsKKwogICAgIHZvaWQgc2V0TGFzdENoYW5nZVdhc0hvcml6b250YWxFeHRlbnNpb24o
Ym9vbCBiKSB7IG1fbGFzdENoYW5nZVdhc0hvcml6b250YWxFeHRlbnNpb24gPSBiOyB9CiAgICAg
dm9pZCB3aWxsQmVNb2RpZmllZChFQWx0ZXJhdGlvbiwgRURpcmVjdGlvbik7CiAgICAgCkBAIC0x
MTcsNiArMTE5LDcgQEAgcHVibGljOgogICAgIGJvb2wgcmVjb21wdXRlQ2FyZXRSZWN0KCk7IC8v
IHJldHVybnMgdHJ1ZSBpZiBjYXJldCByZWN0IG1vdmVkCiAgICAgdm9pZCBpbnZhbGlkYXRlQ2Fy
ZXRSZWN0KCk7CiAgICAgdm9pZCBwYWludENhcmV0KEdyYXBoaWNzQ29udGV4dCosIGludCB0eCwg
aW50IHR5LCBjb25zdCBJbnRSZWN0JiBjbGlwUmVjdCk7CisgICAgYm9vbCBzaG91bGRQYWludENh
cmV0KCkgY29uc3Q7CiAKICAgICAvLyBVc2VkIHRvIHN1c3BlbmQgY2FyZXQgYmxpbmtpbmcgd2hp
bGUgdGhlIG1vdXNlIGlzIGRvd24uCiAgICAgdm9pZCBzZXRDYXJldEJsaW5raW5nU3VzcGVuZGVk
KGJvb2wgc3VzcGVuZGVkKSB7IG1faXNDYXJldEJsaW5raW5nU3VzcGVuZGVkID0gc3VzcGVuZGVk
OyB9CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCShyZXZpc2lvbiA1NTY2OCkKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYs
NiArNTYsMjQgQEAgUmVuZGVyVGhlbWU6OlJlbmRlclRoZW1lKCkKIHsKIH0KIAordm9pZCBSZW5k
ZXJUaGVtZTo6cGFpbnRDYXJldChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJl
Y3QmIGNhcmV0UmVjdCwgY29uc3QgRWxlbWVudCogcm9vdEVkaXRhYmxlRWxlbWVudCkKK3sKKyAg
ICBBU1NFUlQoY29udGV4dCk7CisgICAgQ29sb3IgY2FyZXRDb2xvciA9IENvbG9yOjpibGFjazsK
KyAgICBDb2xvclNwYWNlIGNvbG9yU3BhY2UgPSBEZXZpY2VDb2xvclNwYWNlOworICAgIGlmIChy
b290RWRpdGFibGVFbGVtZW50ICYmIHJvb3RFZGl0YWJsZUVsZW1lbnQtPnJlbmRlcmVyKCkpIHsK
KyAgICAgICAgY2FyZXRDb2xvciA9IHJvb3RFZGl0YWJsZUVsZW1lbnQtPnJlbmRlcmVyKCktPnN0
eWxlKCktPmNvbG9yKCk7CisgICAgICAgIGNvbG9yU3BhY2UgPSByb290RWRpdGFibGVFbGVtZW50
LT5yZW5kZXJlcigpLT5zdHlsZSgpLT5jb2xvclNwYWNlKCk7CisgICAgfQorICAgIGNvbnRleHQt
PmZpbGxSZWN0KGNhcmV0UmVjdCwgY2FyZXRDb2xvciwgY29sb3JTcGFjZSk7Cit9CisKK3ZvaWQg
UmVuZGVyVGhlbWU6OnJlcGFpbnRDYXJldChSZW5kZXJWaWV3KiB2aWV3LCBjb25zdCBJbnRSZWN0
JiBjYXJldFJlY3QsIENhcmV0VmlzaWJpbGl0eSkKK3sKKyAgICBBU1NFUlQodmlldyk7CisgICAg
dmlldy0+cmVwYWludFJlY3RhbmdsZUluVmlld0FuZENvbXBvc2l0ZWRMYXllcnMoU2VsZWN0aW9u
Q29udHJvbGxlcjo6cmVwYWludFJlY3RGb3JDYXJldChjYXJldFJlY3QpLCBmYWxzZSk7Cit9CisK
IHZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdFN0eWxlKENTU1N0eWxlU2VsZWN0b3IqIHNlbGVjdG9y
LCBSZW5kZXJTdHlsZSogc3R5bGUsIEVsZW1lbnQqIGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBib29sIFVBSGFzQXBwZWFyYW5jZSwgY29uc3QgQm9yZGVyRGF0YSYgYm9yZGVyLCBj
b25zdCBGaWxsTGF5ZXImIGJhY2tncm91bmQsIGNvbnN0IENvbG9yJiBiYWNrZ3JvdW5kQ29sb3Ip
CiB7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgJKHJldmlzaW9uIDU1NjY4KQorKysgV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAkod29ya2luZyBjb3B5KQpAQCAtMzYsMTYgKzM2
LDE4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgQ1NTU3R5bGVTaGVldDsKIGNs
YXNzIEVsZW1lbnQ7CiBjbGFzcyBQb3B1cE1lbnU7CiBjbGFzcyBSZW5kZXJNZW51TGlzdDsKLWNs
YXNzIENTU1N0eWxlU2hlZXQ7CiAKIGNsYXNzIFJlbmRlclRoZW1lIDogcHVibGljIFJlZkNvdW50
ZWQ8UmVuZGVyVGhlbWU+IHsKIHByb3RlY3RlZDoKICAgICBSZW5kZXJUaGVtZSgpOwogCiBwdWJs
aWM6CisgICAgZW51bSBDYXJldFZpc2liaWxpdHkgeyBDYXJldFZpc2libGUsIENhcmV0SGlkZGVu
IH07CisKICAgICB2aXJ0dWFsIH5SZW5kZXJUaGVtZSgpIHsgfQogCiAgICAgLy8gVGhpcyBmdW5j
dGlvbiBpcyB0byBiZSBpbXBsZW1lbnRlZCBpbiB5b3VyIHBsYXRmb3JtLXNwZWNpZmljIHRoZW1l
IGltcGxlbWVudGF0aW9uIHRvIGhhbmQgYmFjayB0aGUKQEAgLTE0NCw2ICsxNDYsOCBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIHBsYXRmb3JtQ29sb3JzRGlkQ2hhbmdlKCk7CiAKICAgICB2
aXJ0dWFsIGRvdWJsZSBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiAwLjU7IH0K
KyAgICB2aXJ0dWFsIHZvaWQgcGFpbnRDYXJldChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRS
ZWN0JiBjYXJldFJlY3QsIGNvbnN0IEVsZW1lbnQqIHJvb3RFZGl0YWJsZUVsZW1lbnQpOworICAg
IHZpcnR1YWwgdm9pZCByZXBhaW50Q2FyZXQoUmVuZGVyVmlldyosIGNvbnN0IEludFJlY3QmIGNh
cmV0UmVjdCwgQ2FyZXRWaXNpYmlsaXR5KTsKIAogICAgIC8vIFN5c3RlbSBmb250cyBhbmQgY29s
b3JzIGZvciBDU1MuCiAgICAgdmlydHVhbCB2b2lkIHN5c3RlbUZvbnQoaW50IGNzc1ZhbHVlSWQs
IEZvbnREZXNjcmlwdGlvbiYpIGNvbnN0ID0gMDsK
</data>
<flag name="review"
          id="33306"
          type_id="1"
          status="-"
          setter="hyatt"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50417</attachid>
            <date>2010-03-10 11:13:07 -0800</date>
            <delta_ts>2010-06-11 10:01:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>Bug35185_031010.patch</filename>
            <type>text/plain</type>
            <size>8053</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTY3MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzEgQEAKKzIwMTAtMDMtMTAgIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTE4NQorCisgICAgICAgIE1vdmVz
IHBhaW50IGFuZCByZXBhaW50IGNvZGUgZm9yIHRleHQgY2FyZXQgaW50byBtZXRob2QgUmVuZGVy
VGhlbWU6OnBhaW50Q2FyZXQgYW5kCisgICAgICAgIFJlbmRlclRoZW1lOjpyZXBhaW50Q2FyZXQs
IHJlc3BlY3RpdmVseSwgc28gdGhhdCBwbGF0Zm9ybXMgY2FuIG9wdGlvbmFsbHkgZHJhdyB0aGUK
KyAgICAgICAgY2FyZXQgd2l0aCByZXNwZWN0IHRvIHRoZWlyIHRoZW1lLgorCisgICAgICAgIE5v
IGZ1bmN0aW9uYWxpdHkgd2FzIGNoYW5nZWQuIFNvLCBubyBuZXcgdGVzdHMuCisKKyAgICAgICAg
KiBlZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Vs
ZWN0aW9uQ29udHJvbGxlcjo6cmVwYWludFJlY3RGb3JDYXJldCk6IEV4cG9zZWQgbWV0aG9kLgor
ICAgICAgICAoV2ViQ29yZTo6U2VsZWN0aW9uQ29udHJvbGxlcjo6cmVjb21wdXRlQ2FyZXRSZWN0
KTogTW92ZWQgcmVwYWludCBjb2RlCisgICAgICAgIGludG8gbWV0aG9kIFJlbmRlclRoZW1lOjpy
ZXBhaW50Q2FyZXQuCisgICAgICAgIChXZWJDb3JlOjpTZWxlY3Rpb25Db250cm9sbGVyOjppbnZh
bGlkYXRlQ2FyZXRSZWN0KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTZWxlY3Rpb25Db250
cm9sbGVyOjpzaG91bGRQYWludENhcmV0KTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTZWxl
Y3Rpb25Db250cm9sbGVyOjpwYWludENhcmV0KTogTW92ZWQgcGFpbnQgY29kZSBpbnRvCisgICAg
ICAgIG1ldGhvZCBSZW5kZXJUaGVtZTo6cGFpbnRDYXJldC4gTW92ZWQgY29kZSB0byBkZXRlcm1p
bmUgd2hldGhlciB0aGUKKyAgICAgICAgY2FyZXQgc2hvdWxkIGJlIHBhaW50ZWQgaW50byBtZXRo
b2QgU2VsZWN0aW9uQ29udHJvbGxlcjo6c2hvdWxkUGFpbnRDYXJldC4KKyAgICAgICAgKiBlZGl0
aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhl
bWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50Q2FyZXQpOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjpyZXBhaW50Q2FyZXQpOiBBZGRlZC4K
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuaDogU29ydGVkIGZvcndhcmQtZGVjbGFy
YXRpb25zLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6Oik6IEFkZGVkIGVudW0gQ2Fy
ZXRWaXNpYmlsaXR5LgorCiAyMDEwLTAzLTA4ICBKaWFuIExpICA8amlhbmxpQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEbWl0cnkgVGl0b3YuCkluZGV4OiBXZWJDb3JlL2Vk
aXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9lZGl0
aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA1NTY2OSkKKysrIFdlYkNvcmUv
ZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTI2LDcg
KzkyNiw3IEBAIEludFJlY3QgU2VsZWN0aW9uQ29udHJvbGxlcjo6YWJzb2x1dGVDYXIKICAgICBy
ZXR1cm4gbV9hYnNDYXJldEJvdW5kczsKIH0KIAotc3RhdGljIEludFJlY3QgcmVwYWludFJlY3RG
b3JDYXJldChJbnRSZWN0IGNhcmV0KQorSW50UmVjdCBTZWxlY3Rpb25Db250cm9sbGVyOjpyZXBh
aW50UmVjdEZvckNhcmV0KEludFJlY3QgY2FyZXQpCiB7CiAgICAgaWYgKGNhcmV0LmlzRW1wdHko
KSkKICAgICAgICAgcmV0dXJuIEludFJlY3QoKTsKQEAgLTk3Miw5ICs5NzIsOSBAQCBib29sIFNl
bGVjdGlvbkNvbnRyb2xsZXI6OnJlY29tcHV0ZUNhcmV0CiAgICAgCiAgICAgaWYgKFJlbmRlclZp
ZXcqIHZpZXcgPSB0b1JlbmRlclZpZXcobV9mcmFtZS0+ZG9jdW1lbnQoKS0+cmVuZGVyZXIoKSkp
IHsKICAgICAgICAgLy8gRklYTUU6IG1ha2UgY2FyZXQgcmVwYWludGluZyBjb250YWluZXItYXdh
cmUuCi0gICAgICAgIHZpZXctPnJlcGFpbnRSZWN0YW5nbGVJblZpZXdBbmRDb21wb3NpdGVkTGF5
ZXJzKG9sZEFic29sdXRlQ2FyZXRSZXBhaW50Qm91bmRzLCBmYWxzZSk7CisgICAgICAgIG1fZnJh
bWUtPnBhZ2UoKS0+dGhlbWUoKS0+cmVwYWludENhcmV0KHZpZXcsIG9sZEFic0NhcmV0Qm91bmRz
LCBSZW5kZXJUaGVtZTo6Q2FyZXRIaWRkZW4pOwogICAgICAgICBpZiAoc2hvdWxkUmVwYWludENh
cmV0KHZpZXcpKQotICAgICAgICAgICAgdmlldy0+cmVwYWludFJlY3RhbmdsZUluVmlld0FuZENv
bXBvc2l0ZWRMYXllcnMobV9hYnNvbHV0ZUNhcmV0UmVwYWludEJvdW5kcywgZmFsc2UpOworICAg
ICAgICAgICAgbV9mcmFtZS0+cGFnZSgpLT50aGVtZSgpLT5yZXBhaW50Q2FyZXQodmlldywgbV9h
YnNDYXJldEJvdW5kcywgc2hvdWxkUGFpbnRDYXJldCgpID8gUmVuZGVyVGhlbWU6OkNhcmV0Vmlz
aWJsZSA6IFJlbmRlclRoZW1lOjpDYXJldEhpZGRlbik7CiAgICAgfQogCiAgICAgcmV0dXJuIHRy
dWU7CkBAIC0xMDE0LDE5ICsxMDE0LDMxIEBAIHZvaWQgU2VsZWN0aW9uQ29udHJvbGxlcjo6aW52
YWxpZGF0ZUNhcmUKIAogICAgIGlmICghY2FyZXRSZWN0Q2hhbmdlZCkgewogICAgICAgICBSZW5k
ZXJWaWV3KiB2aWV3ID0gdG9SZW5kZXJWaWV3KGQtPnJlbmRlcmVyKCkpOwotICAgICAgICBpZiAo
dmlldyAmJiBzaG91bGRSZXBhaW50Q2FyZXQodmlldykpCi0gICAgICAgICAgICB2aWV3LT5yZXBh
aW50UmVjdGFuZ2xlSW5WaWV3QW5kQ29tcG9zaXRlZExheWVycyhjYXJldFJlcGFpbnRSZWN0KCks
IGZhbHNlKTsKKyAgICAgICAgaWYgKHZpZXcgJiYgc2hvdWxkUmVwYWludENhcmV0KHZpZXcpKSB7
CisgICAgICAgICAgICBJbnRSZWN0IGFic0NhcmV0Qm91bmRzID0gYWJzb2x1dGVCb3VuZHNGb3JM
b2NhbFJlY3QobG9jYWxDYXJldFJlY3QoKSk7CisgICAgICAgICAgICBkLT5mcmFtZSgpLT5wYWdl
KCktPnRoZW1lKCktPnJlcGFpbnRDYXJldCh2aWV3LCBhYnNDYXJldEJvdW5kcywgc2hvdWxkUGFp
bnRDYXJldCgpID8gUmVuZGVyVGhlbWU6OkNhcmV0VmlzaWJsZSA6IFJlbmRlclRoZW1lOjpDYXJl
dEhpZGRlbik7CisgICAgICAgIH0KICAgICB9CiB9CiAKLXZvaWQgU2VsZWN0aW9uQ29udHJvbGxl
cjo6cGFpbnRDYXJldChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGludCB0eCwgaW50IHR5LCBj
b25zdCBJbnRSZWN0JiBjbGlwUmVjdCkKK2Jvb2wgU2VsZWN0aW9uQ29udHJvbGxlcjo6c2hvdWxk
UGFpbnRDYXJldCgpIGNvbnN0CiB7Ci0jaWYgRU5BQkxFKFRFWFRfQ0FSRVQpCiAgICAgaWYgKCFt
X2NhcmV0VmlzaWJsZSkKLSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4gZmFsc2U7CisK
ICAgICBpZiAoIW1fY2FyZXRQYWludCkKLSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4g
ZmFsc2U7CisKICAgICBpZiAoIW1fc2VsZWN0aW9uLmlzQ2FyZXQoKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgU2VsZWN0aW9uQ29udHJvbGxl
cjo6cGFpbnRDYXJldChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGludCB0eCwgaW50IHR5LCBj
b25zdCBJbnRSZWN0JiBjbGlwUmVjdCkKK3sKKyNpZiBFTkFCTEUoVEVYVF9DQVJFVCkKKyAgICBp
ZiAoIXNob3VsZFBhaW50Q2FyZXQoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgSW50UmVjdCBk
cmF3aW5nUmVjdCA9IGxvY2FsQ2FyZXRSZWN0KCk7CkBAIC0xMDM1LDE1ICsxMDQ3LDggQEAgdm9p
ZCBTZWxlY3Rpb25Db250cm9sbGVyOjpwYWludENhcmV0KEdyYQogICAgIGlmIChjYXJldC5pc0Vt
cHR5KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIENvbG9yIGNhcmV0Q29sb3IgPSBDb2xvcjo6
YmxhY2s7Ci0gICAgQ29sb3JTcGFjZSBjb2xvclNwYWNlID0gRGV2aWNlQ29sb3JTcGFjZTsKLSAg
ICBFbGVtZW50KiBlbGVtZW50ID0gcm9vdEVkaXRhYmxlRWxlbWVudCgpOwotICAgIGlmIChlbGVt
ZW50ICYmIGVsZW1lbnQtPnJlbmRlcmVyKCkpIHsKLSAgICAgICAgY2FyZXRDb2xvciA9IGVsZW1l
bnQtPnJlbmRlcmVyKCktPnN0eWxlKCktPmNvbG9yKCk7Ci0gICAgICAgIGNvbG9yU3BhY2UgPSBl
bGVtZW50LT5yZW5kZXJlcigpLT5zdHlsZSgpLT5jb2xvclNwYWNlKCk7Ci0gICAgfQotCi0gICAg
Y29udGV4dC0+ZmlsbFJlY3QoY2FyZXQsIGNhcmV0Q29sb3IsIGNvbG9yU3BhY2UpOworICAgIGlm
IChEb2N1bWVudCogZG9jdW1lbnQgPSBtX3NlbGVjdGlvbi5zdGFydCgpLm5vZGUoKS0+ZG9jdW1l
bnQoKSkKKyAgICAgICAgZG9jdW1lbnQtPmZyYW1lKCktPnBhZ2UoKS0+dGhlbWUoKS0+cGFpbnRD
YXJldChjb250ZXh0LCBjYXJldCwgcm9vdEVkaXRhYmxlRWxlbWVudCgpKTsKICNlbmRpZgogfQog
CkluZGV4OiBXZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgJKHJldmlzaW9uIDU1NjY5
KQorKysgV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5
KQpAQCAtOTYsNiArOTYsOCBAQCBwdWJsaWM6CiAgICAgSW50UmVjdCBhYnNvbHV0ZUNhcmV0Qm91
bmRzKCk7CiAgICAgdm9pZCBzZXROZWVkc0xheW91dChib29sIGZsYWcgPSB0cnVlKTsKIAorICAg
IHN0YXRpYyBJbnRSZWN0IHJlcGFpbnRSZWN0Rm9yQ2FyZXQoSW50UmVjdCBjYXJldCk7CisKICAg
ICB2b2lkIHNldExhc3RDaGFuZ2VXYXNIb3Jpem9udGFsRXh0ZW5zaW9uKGJvb2wgYikgeyBtX2xh
c3RDaGFuZ2VXYXNIb3Jpem9udGFsRXh0ZW5zaW9uID0gYjsgfQogICAgIHZvaWQgd2lsbEJlTW9k
aWZpZWQoRUFsdGVyYXRpb24sIEVEaXJlY3Rpb24pOwogICAgIApAQCAtMTE3LDYgKzExOSw3IEBA
IHB1YmxpYzoKICAgICBib29sIHJlY29tcHV0ZUNhcmV0UmVjdCgpOyAvLyByZXR1cm5zIHRydWUg
aWYgY2FyZXQgcmVjdCBtb3ZlZAogICAgIHZvaWQgaW52YWxpZGF0ZUNhcmV0UmVjdCgpOwogICAg
IHZvaWQgcGFpbnRDYXJldChHcmFwaGljc0NvbnRleHQqLCBpbnQgdHgsIGludCB0eSwgY29uc3Qg
SW50UmVjdCYgY2xpcFJlY3QpOworICAgIGJvb2wgc2hvdWxkUGFpbnRDYXJldCgpIGNvbnN0Owog
CiAgICAgLy8gVXNlZCB0byBzdXNwZW5kIGNhcmV0IGJsaW5raW5nIHdoaWxlIHRoZSBtb3VzZSBp
cyBkb3duLgogICAgIHZvaWQgc2V0Q2FyZXRCbGlua2luZ1N1c3BlbmRlZChib29sIHN1c3BlbmRl
ZCkgeyBtX2lzQ2FyZXRCbGlua2luZ1N1c3BlbmRlZCA9IHN1c3BlbmRlZDsgfQpJbmRleDogV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lLmNwcAkocmV2aXNpb24gNTU2NjgpCisrKyBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDYgKzU2LDI0IEBAIFJl
bmRlclRoZW1lOjpSZW5kZXJUaGVtZSgpCiB7CiB9CiAKK3ZvaWQgUmVuZGVyVGhlbWU6OnBhaW50
Q2FyZXQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiBjYXJldFJlY3Qs
IGNvbnN0IEVsZW1lbnQqIHJvb3RFZGl0YWJsZUVsZW1lbnQpCit7CisgICAgQVNTRVJUKGNvbnRl
eHQpOworICAgIENvbG9yIGNhcmV0Q29sb3IgPSBDb2xvcjo6YmxhY2s7CisgICAgQ29sb3JTcGFj
ZSBjb2xvclNwYWNlID0gRGV2aWNlQ29sb3JTcGFjZTsKKyAgICBpZiAocm9vdEVkaXRhYmxlRWxl
bWVudCAmJiByb290RWRpdGFibGVFbGVtZW50LT5yZW5kZXJlcigpKSB7CisgICAgICAgIGNhcmV0
Q29sb3IgPSByb290RWRpdGFibGVFbGVtZW50LT5yZW5kZXJlcigpLT5zdHlsZSgpLT5jb2xvcigp
OworICAgICAgICBjb2xvclNwYWNlID0gcm9vdEVkaXRhYmxlRWxlbWVudC0+cmVuZGVyZXIoKS0+
c3R5bGUoKS0+Y29sb3JTcGFjZSgpOworICAgIH0KKyAgICBjb250ZXh0LT5maWxsUmVjdChjYXJl
dFJlY3QsIGNhcmV0Q29sb3IsIGNvbG9yU3BhY2UpOworfQorCit2b2lkIFJlbmRlclRoZW1lOjpy
ZXBhaW50Q2FyZXQoUmVuZGVyVmlldyogdmlldywgY29uc3QgSW50UmVjdCYgY2FyZXRSZWN0LCBD
YXJldFZpc2liaWxpdHkpCit7CisgICAgQVNTRVJUKHZpZXcpOworICAgIHZpZXctPnJlcGFpbnRS
ZWN0YW5nbGVJblZpZXdBbmRDb21wb3NpdGVkTGF5ZXJzKFNlbGVjdGlvbkNvbnRyb2xsZXI6OnJl
cGFpbnRSZWN0Rm9yQ2FyZXQoY2FyZXRSZWN0KSwgZmFsc2UpOworfQorCiB2b2lkIFJlbmRlclRo
ZW1lOjphZGp1c3RTdHlsZShDU1NTdHlsZVNlbGVjdG9yKiBzZWxlY3RvciwgUmVuZGVyU3R5bGUq
IHN0eWxlLCBFbGVtZW50KiBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBV
QUhhc0FwcGVhcmFuY2UsIGNvbnN0IEJvcmRlckRhdGEmIGJvcmRlciwgY29uc3QgRmlsbExheWVy
JiBiYWNrZ3JvdW5kLCBjb25zdCBDb2xvciYgYmFja2dyb3VuZENvbG9yKQogewpJbmRleDogV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZS5oCShyZXZpc2lvbiA1NTY2OCkKKysrIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDE2ICszNiwxOCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIENTU1N0eWxlU2hlZXQ7CiBjbGFzcyBFbGVtZW50Owog
Y2xhc3MgUG9wdXBNZW51OwogY2xhc3MgUmVuZGVyTWVudUxpc3Q7Ci1jbGFzcyBDU1NTdHlsZVNo
ZWV0OwogCiBjbGFzcyBSZW5kZXJUaGVtZSA6IHB1YmxpYyBSZWZDb3VudGVkPFJlbmRlclRoZW1l
PiB7CiBwcm90ZWN0ZWQ6CiAgICAgUmVuZGVyVGhlbWUoKTsKIAogcHVibGljOgorICAgIGVudW0g
Q2FyZXRWaXNpYmlsaXR5IHsgQ2FyZXRWaXNpYmxlLCBDYXJldEhpZGRlbiB9OworCiAgICAgdmly
dHVhbCB+UmVuZGVyVGhlbWUoKSB7IH0KIAogICAgIC8vIFRoaXMgZnVuY3Rpb24gaXMgdG8gYmUg
aW1wbGVtZW50ZWQgaW4geW91ciBwbGF0Zm9ybS1zcGVjaWZpYyB0aGVtZSBpbXBsZW1lbnRhdGlv
biB0byBoYW5kIGJhY2sgdGhlCkBAIC0xNDQsNiArMTQ2LDggQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBwbGF0Zm9ybUNvbG9yc0RpZENoYW5nZSgpOwogCiAgICAgdmlydHVhbCBkb3VibGUg
Y2FyZXRCbGlua0ludGVydmFsKCkgY29uc3QgeyByZXR1cm4gMC41OyB9CisgICAgdmlydHVhbCB2
b2lkIHBhaW50Q2FyZXQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYgY2FyZXRSZWN0
LCBjb25zdCBFbGVtZW50KiByb290RWRpdGFibGVFbGVtZW50KTsKKyAgICB2aXJ0dWFsIHZvaWQg
cmVwYWludENhcmV0KFJlbmRlclZpZXcqLCBjb25zdCBJbnRSZWN0JiBjYXJldFJlY3QsIENhcmV0
VmlzaWJpbGl0eSk7CiAKICAgICAvLyBTeXN0ZW0gZm9udHMgYW5kIGNvbG9ycyBmb3IgQ1NTLgog
ICAgIHZpcnR1YWwgdm9pZCBzeXN0ZW1Gb250KGludCBjc3NWYWx1ZUlkLCBGb250RGVzY3JpcHRp
b24mKSBjb25zdCA9IDA7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>