<?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>31893</bug_id>
          
          <creation_ts>2009-11-25 16:26:03 -0800</creation_ts>
          <short_desc>Simplify Chromium embedding APIs for zoom</short_desc>
          <delta_ts>2009-12-04 15:56:41 -0800</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 Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Peter Kasting">pkasting</reporter>
          <assigned_to name="Peter Kasting">pkasting</assigned_to>
          <cc>abarth</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>166575</commentid>
    <comment_count>0</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-11-25 16:26:03 -0800</bug_when>
    <thetext>Needed by http://crbug.com/567 .  In particular we need the ability to set a zoom level directly, not just make relative changes; replacing the existing API with a single &quot;get&quot; and &quot;set&quot; pair will shorten the code and allow this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166578</commentid>
    <comment_count>1</comment_count>
      <attachid>43878</attachid>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-11-25 16:40:29 -0800</bug_when>
    <thetext>Created attachment 43878
patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167364</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-30 12:41:38 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 43878 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167701</commentid>
    <comment_count>3</comment_count>
      <attachid>43878</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-12-01 12:41:44 -0800</bug_when>
    <thetext>Comment on attachment 43878
patch v1

&gt; Index: WebKit/chromium/public/WebView.h
...
&gt; -    virtual void zoomIn(bool textOnly) = 0;
&gt; -    virtual void zoomOut(bool textOnly) = 0;
&gt; -    virtual void zoomDefault() = 0;

please preserve these old methods but mark them deprecated with a
comment.  this way there is no need to juggle a two-sided commit.
the webkit portion can land well in advance of the chromium bits
without disruption.

getZoomLevel should probably just be zoomLevel to match webkit
attribute naming conventions.  although setZoomLevel is not a
normal attribute setter... hmm... see my naming suggestion below:


&gt; +    // If |textOnly| is set, only the text will be zoomed; otherwise the entire
&gt; +    // page will be zoomed. You can only have either text zoom or full page zoom
&gt; +    // at one time.  Changing the mode while the page is zoomed will have odd
&gt; +    // effects.
&gt; +    virtual int setZoomLevel(bool textOnly, int zoomLevel) = 0;

please document what this function returns.

perhaps the API should be setTextZoomLevel and setPageZoomLevel with
associated textZoomLevel and pageZoomLevel accessors?  we can then
say that setting the text zoom while the page is zoomed, resets the
page zoom and vice versa.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167728</commentid>
    <comment_count>4</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-12-01 13:41:45 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; perhaps the API should be setTextZoomLevel and setPageZoomLevel with
&gt; associated textZoomLevel and pageZoomLevel accessors?  we can then
&gt; say that setting the text zoom while the page is zoomed, resets the
&gt; page zoom and vice versa.

This doesn&apos;t make sense, because the underlying code does not have a concept of two zoom levels (one for text, and one for everything).  Both accessors would always return the same value.

If I could simply get rid of the concept of text zoom from this API I would--Chrome never uses it--but it is needed by test_shell for some unittests, apparently.

I&apos;d also consider splitting the setter into two pieces, a level and a type, but then all callers would have to call both for safety&apos;s sake.

So I think in the end it makes the most sense how it is now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167729</commentid>
    <comment_count>5</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-12-01 13:44:00 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; &gt; +    virtual int setZoomLevel(bool textOnly, int zoomLevel) = 0;
&gt; 
&gt; please document what this function returns.

I did: &quot;...returns the current zoom level after applying the change.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167730</commentid>
    <comment_count>6</comment_count>
      <attachid>44098</attachid>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-12-01 13:51:01 -0800</bug_when>
    <thetext>Created attachment 44098
patch v2

Renames getZoomLevel() -&gt; zoomLevel() and restores old APIs, marking them as deprecated instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167732</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-01 13:55:05 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44098 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167766</commentid>
    <comment_count>8</comment_count>
      <attachid>44098</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-12-01 15:31:27 -0800</bug_when>
    <thetext>Comment on attachment 44098
patch v2

&gt; Index: WebKit/chromium/ChangeLog
...
&gt; +        (WebKit::WebViewImpl::getZoomLevel):
&gt; +        (WebKit::WebViewImpl::setZoomLevel):

nit: please update the ChangeLog ... zoomLevel


R=me otherwise</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167767</commentid>
    <comment_count>9</comment_count>
      <attachid>44098</attachid>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-12-01 15:35:12 -0800</bug_when>
    <thetext>Comment on attachment 44098
patch v2

Landed in r51560, clearing flags.  Leaving this bug open to provide a home for the followup change to remove the deprecated APIs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167828</commentid>
    <comment_count>10</comment_count>
      <attachid>44120</attachid>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-12-01 18:23:16 -0800</bug_when>
    <thetext>Created attachment 44120
Remove deprecated APIs

Followup to the previous patch: Remove the deprecated APIs.  Can land once http://codereview.chromium.org/437077 lands on the Chromium side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167829</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-01 18:24:01 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44120 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168968</commentid>
    <comment_count>12</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-12-04 15:56:41 -0800</bug_when>
    <thetext>Fixed in r51719.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43878</attachid>
            <date>2009-11-25 16:40:29 -0800</date>
            <delta_ts>2009-12-01 13:51:01 -0800</delta_ts>
            <desc>patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>5592</size>
            <attacher name="Peter Kasting">pkasting</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cNCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA1MTM5OCkKKysrIFdlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAwOS0xMS0yNSAgUGV0
ZXIgS2FzdGluZyAgPHBrYXN0aW5nQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXSBTaW1wbGlmeSB6b29tLXJlbGF0
ZWQgQVBJcyBhbmQgYWRkIGEgem9vbSBsZXZlbCBnZXR0ZXIuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTg5MworCisgICAgICAgICogcHVibGljL1dl
YlZpZXcuaDoKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJWaWV3SW1wbDo6Z2V0Wm9vbUxldmVsKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0lt
cGw6OnNldFpvb21MZXZlbCk6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmg6CisKIDIwMDkt
MTEtMjUgIERhcmluIEZpc2hlciAgPGRhcmluQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBBZGFtIEJhcnRoLgpJbmRleDogV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3
LmgNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcuaAkocmV2
aXNpb24gNTEzOTgpCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTM1LDE4ICsxMzUsMjAgQEAgcHVibGljOgogCiAgICAgLy8gWm9vbSAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCiAKLSAgICAvLyBDaGFuZ2UgdGhlIHRleHQgem9vbSBsZXZlbC4gIEl0IHdpbGwgbWFrZSB0
aGUgem9vbSBsZXZlbCAyMCUgbGFyZ2VyCi0gICAgLy8gb3Igc21hbGxlci4gIElmIHRleHRPbmx5
IGlzIHNldCwgdGhlIHRleHQgc2l6ZSB3aWxsIGJlIGNoYW5nZWQuCi0gICAgLy8gV2hlbiB1bnNl
dCwgdGhlIGVudGlyZSBwYWdlJ3Mgem9vbSBmYWN0b3Igd2lsbCBiZSBjaGFuZ2VkLgorICAgIC8v
IFJldHVybnMgdGhlIGN1cnJlbnQgem9vbSBsZXZlbC4gIDAgaXMgIm9yaWdpbmFsIHNpemUiLCBh
bmQgZWFjaCBpbmNyZW1lbnQKKyAgICAvLyBhYm92ZSBvciBiZWxvdyByZXByZXNlbnRzIHpvb21p
bmcgMjAlIGxhcmdlciBvciBzbWFsbGVyIHRvIGxpbWl0cyBvZiAzMDAlCisgICAgLy8gYW5kIDUw
JSBvZiBvcmlnaW5hbCBzaXplLCByZXNwZWN0aXZlbHkuCisgICAgdmlydHVhbCBpbnQgZ2V0Wm9v
bUxldmVsKCkgPSAwOworCisgICAgLy8gQ2hhbmdlcyB0aGUgem9vbSBsZXZlbCB0byB0aGUgc3Bl
Y2lmaWVkIGxldmVsLCBjbGFtcGluZyBhdCB0aGUgbGltaXRzCisgICAgLy8gbm90ZWQgYWJvdmUs
IGFuZCByZXR1cm5zIHRoZSBjdXJyZW50IHpvb20gbGV2ZWwgYWZ0ZXIgYXBwbHlpbmcgdGhlCisg
ICAgLy8gY2hhbmdlLgogICAgIC8vCi0gICAgLy8gWW91IGNhbiBvbmx5IGhhdmUgZWl0aGVyIHRl
eHQgem9vbSBvciBmdWxsIHBhZ2Ugem9vbSBhdCBvbmUgdGltZS4KLSAgICAvLyBDaGFuZ2luZyB0
aGUgbW9kZSB3aWxsIGNoYW5nZSB0aGluZ3MgaW4gd2VpcmQgd2F5cy4gIEdlbmVyYWxseSB0aGUK
LSAgICAvLyBhcHAgc2hvdWxkIG9ubHkgc3VwcG9ydCB0ZXh0IHpvb20gb3IgZnVsbCBwYWdlIHpv
b20sIGFuZCBub3QgYm90aC4KLSAgICAvLwotICAgIC8vIHpvb21EZWZhdWx0IHdpbGwgcmVzZXQg
Ym90aCBmdWxsIHBhZ2UgYW5kIHRleHQgem9vbS4KLSAgICB2aXJ0dWFsIHZvaWQgem9vbUluKGJv
b2wgdGV4dE9ubHkpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgem9vbU91dChib29sIHRleHRPbmx5
KSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHpvb21EZWZhdWx0KCkgPSAwOworICAgIC8vIElmIHx0
ZXh0T25seXwgaXMgc2V0LCBvbmx5IHRoZSB0ZXh0IHdpbGwgYmUgem9vbWVkOyBvdGhlcndpc2Ug
dGhlIGVudGlyZQorICAgIC8vIHBhZ2Ugd2lsbCBiZSB6b29tZWQuIFlvdSBjYW4gb25seSBoYXZl
IGVpdGhlciB0ZXh0IHpvb20gb3IgZnVsbCBwYWdlIHpvb20KKyAgICAvLyBhdCBvbmUgdGltZS4g
IENoYW5naW5nIHRoZSBtb2RlIHdoaWxlIHRoZSBwYWdlIGlzIHpvb21lZCB3aWxsIGhhdmUgb2Rk
CisgICAgLy8gZWZmZWN0cy4KKyAgICB2aXJ0dWFsIGludCBzZXRab29tTGV2ZWwoYm9vbCB0ZXh0
T25seSwgaW50IHpvb21MZXZlbCkgPSAwOwogCiAKICAgICAvLyBNZWRpYSAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KSW5kZXg6
IFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwDQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAJKHJldmlzaW9uIDUxMzk4KQorKysgV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyNDUs
MzcgKzEyNDUsMjMgQEAgdm9pZCBXZWJWaWV3SW1wbDo6Y2xlYXJGb2N1c2VkTm9kZSgpCiAgICAg
fQogfQogCi12b2lkIFdlYlZpZXdJbXBsOjp6b29tSW4oYm9vbCB0ZXh0T25seSkKK2ludCBXZWJW
aWV3SW1wbDo6Z2V0Wm9vbUxldmVsKCkKIHsKLSAgICBGcmFtZSogZnJhbWUgPSBtYWluRnJhbWVJ
bXBsKCktPmZyYW1lKCk7Ci0gICAgZG91YmxlIG11bHRpcGxpZXIgPSBzdGQ6Om1pbihzdGQ6OnBv
dyh0ZXh0U2l6ZU11bHRpcGxpZXJSYXRpbywgbV96b29tTGV2ZWwgKyAxKSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1heFRleHRTaXplTXVsdGlwbGllcik7Ci0gICAgZmxvYXQg
em9vbUZhY3RvciA9IHN0YXRpY19jYXN0PGZsb2F0PihtdWx0aXBsaWVyKTsKLSAgICBpZiAoem9v
bUZhY3RvciAhPSBmcmFtZS0+em9vbUZhY3RvcigpKSB7Ci0gICAgICAgICsrbV96b29tTGV2ZWw7
Ci0gICAgICAgIGZyYW1lLT5zZXRab29tRmFjdG9yKHpvb21GYWN0b3IsIHRleHRPbmx5KTsKLSAg
ICB9CisgICAgcmV0dXJuIG1fem9vbUxldmVsOwogfQogCi12b2lkIFdlYlZpZXdJbXBsOjp6b29t
T3V0KGJvb2wgdGV4dE9ubHkpCitpbnQgV2ViVmlld0ltcGw6OnNldFpvb21MZXZlbChib29sIHRl
eHRPbmx5LCBpbnQgem9vbUxldmVsKQogeworICAgIGZsb2F0IHpvb21GYWN0b3IgPSBzdGF0aWNf
Y2FzdDxmbG9hdD4oCisgICAgICAgIHN0ZDo6bWF4KHN0ZDo6bWluKHN0ZDo6cG93KHRleHRTaXpl
TXVsdGlwbGllclJhdGlvLCB6b29tTGV2ZWwpLAorICAgICAgICAgICAgICAgICAgICAgICAgICBt
YXhUZXh0U2l6ZU11bHRpcGxpZXIpLAorICAgICAgICAgICAgICAgICBtaW5UZXh0U2l6ZU11bHRp
cGxpZXIpKTsKICAgICBGcmFtZSogZnJhbWUgPSBtYWluRnJhbWVJbXBsKCktPmZyYW1lKCk7Ci0g
ICAgZG91YmxlIG11bHRpcGxpZXIgPSBzdGQ6Om1heChzdGQ6OnBvdyh0ZXh0U2l6ZU11bHRpcGxp
ZXJSYXRpbywgbV96b29tTGV2ZWwgLSAxKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG1pblRleHRTaXplTXVsdGlwbGllcik7Ci0gICAgZmxvYXQgem9vbUZhY3RvciA9IHN0YXRp
Y19jYXN0PGZsb2F0PihtdWx0aXBsaWVyKTsKICAgICBpZiAoem9vbUZhY3RvciAhPSBmcmFtZS0+
em9vbUZhY3RvcigpKSB7Ci0gICAgICAgIC0tbV96b29tTGV2ZWw7CisgICAgICAgIG1fem9vbUxl
dmVsID0gem9vbUxldmVsOwogICAgICAgICBmcmFtZS0+c2V0Wm9vbUZhY3Rvcih6b29tRmFjdG9y
LCB0ZXh0T25seSk7CiAgICAgfQotfQotCi12b2lkIFdlYlZpZXdJbXBsOjp6b29tRGVmYXVsdCgp
Ci17Ci0gICAgLy8gV2UgZG9uJ3QgY2hhbmdlIHRoZSB6b29tIG1vZGUgKHRleHQgb25seSB2cy4g
ZnVsbCBwYWdlKSBoZXJlLiBXZSBqdXN0IHdhbnQKLSAgICAvLyB0byByZXNldCB3aGF0ZXZlciBp
cyBhbHJlYWR5IHNldC4KLSAgICBtX3pvb21MZXZlbCA9IDA7Ci0gICAgbWFpbkZyYW1lSW1wbCgp
LT5mcmFtZSgpLT5zZXRab29tRmFjdG9yKAotICAgICAgICAxLjBmLCBtYWluRnJhbWVJbXBsKCkt
PmZyYW1lKCktPmlzWm9vbUZhY3RvclRleHRPbmx5KCkpOworICAgIHJldHVybiBtX3pvb21MZXZl
bDsKIH0KIAogdm9pZCBXZWJWaWV3SW1wbDo6cGVyZm9ybU1lZGlhUGxheWVyQWN0aW9uKGNvbnN0
IFdlYk1lZGlhUGxheWVyQWN0aW9uJiBhY3Rpb24sCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlZpZXdJbXBsLmgNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZp
ZXdJbXBsLmgJKHJldmlzaW9uIDUxMzk4KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3
SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsOSArMTE2LDggQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCBzZXRGb2N1c2VkRnJhbWUoV2ViRnJhbWUqIGZyYW1lKTsKICAgICB2aXJ0dWFs
IHZvaWQgc2V0SW5pdGlhbEZvY3VzKGJvb2wgcmV2ZXJzZSk7CiAgICAgdmlydHVhbCB2b2lkIGNs
ZWFyRm9jdXNlZE5vZGUoKTsKLSAgICB2aXJ0dWFsIHZvaWQgem9vbUluKGJvb2wgdGV4dE9ubHkp
OwotICAgIHZpcnR1YWwgdm9pZCB6b29tT3V0KGJvb2wgdGV4dE9ubHkpOwotICAgIHZpcnR1YWwg
dm9pZCB6b29tRGVmYXVsdCgpOworICAgIHZpcnR1YWwgaW50IGdldFpvb21MZXZlbCgpOworICAg
IHZpcnR1YWwgaW50IHNldFpvb21MZXZlbChib29sIHRleHRPbmx5LCBpbnQgem9vbUxldmVsKTsK
ICAgICB2aXJ0dWFsIHZvaWQgcGVyZm9ybU1lZGlhUGxheWVyQWN0aW9uKAogICAgICAgICBjb25z
dCBXZWJNZWRpYVBsYXllckFjdGlvbiYgYWN0aW9uLAogICAgICAgICBjb25zdCBXZWJQb2ludCYg
bG9jYXRpb24pOwpAQCAtMzM2LDggKzMzNSw4IEBAIHByaXZhdGU6CiAgICAgLy8gZHJhZ2dlZCBi
eSB0aGUgdGltZSBhIGRyYWcgaXMgaW5pdGlhdGVkLgogICAgIFdlYlBvaW50IG1fbGFzdE1vdXNl
RG93blBvaW50OwogCi0gICAgLy8gS2VlcHMgdHJhY2sgb2YgdGhlIGN1cnJlbnQgdGV4dCB6b29t
IGxldmVsLiAgMCBtZWFucyBubyB6b29tLCBwb3NpdGl2ZQotICAgIC8vIHZhbHVlcyBtZWFuIGxh
cmdlciB0ZXh0LCBuZWdhdGl2ZSBudW1iZXJzIG1lYW4gc21hbGxlci4KKyAgICAvLyBLZWVwcyB0
cmFjayBvZiB0aGUgY3VycmVudCB6b29tIGxldmVsLiAgMCBtZWFucyBubyB6b29tLCBwb3NpdGl2
ZSBudW1iZXJzCisgICAgLy8gbWVhbiB6b29tIGluLCBuZWdhdGl2ZSBudW1iZXJzIG1lYW4gem9v
bSBvdXQuCiAgICAgaW50IG1fem9vbUxldmVsOwogCiAgICAgYm9vbCBtX2NvbnRleHRNZW51QWxs
b3dlZDsK
</data>
<flag name="review"
          id="25622"
          type_id="1"
          status="-"
          setter="fishd"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44098</attachid>
            <date>2009-12-01 13:51:01 -0800</date>
            <delta_ts>2009-12-01 15:35:12 -0800</delta_ts>
            <desc>patch v2</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>5602</size>
            <attacher name="Peter Kasting">pkasting</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cNCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA1MTU1NykKKysrIFdlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAwOS0xMi0wMSAgUGV0
ZXIgS2FzdGluZyAgPHBrYXN0aW5nQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXSBTaW1wbGlmeSB6b29tLXJlbGF0
ZWQgQVBJcyBhbmQgYWRkIGEgem9vbSBsZXZlbCBnZXR0ZXIsCisgICAgICAgIHBhcnQgb25lOiBB
ZGQgbmV3IEFQSXMuICAoT2xkIEFQSXMgd2lsbCBiZSByZW1vdmVkIGluIGEgc2Vjb25kIHBhc3Mu
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE4OTMK
KworICAgICAgICAqIHB1YmxpYy9XZWJWaWV3Lmg6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBs
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmdldFpvb21MZXZlbCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpzZXRab29tTGV2ZWwpOgorICAgICAgICAqIHNyYy9X
ZWJWaWV3SW1wbC5oOgorCiAyMDA5LTEyLTAxICBYaXl1YW4gWGlhICA8eGl5dWFuQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCkluZGV4OiBXZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYlZpZXcuaA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViVmlldy5oCShyZXZpc2lvbiA1MTU1NykKKysrIFdlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViVmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzUsMTkgKzEzNSwyNiBAQCBwdWJs
aWM6CiAKICAgICAvLyBab29tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotICAgIC8vIENoYW5nZSB0aGUgdGV4dCB6b29t
IGxldmVsLiAgSXQgd2lsbCBtYWtlIHRoZSB6b29tIGxldmVsIDIwJSBsYXJnZXIKLSAgICAvLyBv
ciBzbWFsbGVyLiAgSWYgdGV4dE9ubHkgaXMgc2V0LCB0aGUgdGV4dCBzaXplIHdpbGwgYmUgY2hh
bmdlZC4KLSAgICAvLyBXaGVuIHVuc2V0LCB0aGUgZW50aXJlIHBhZ2UncyB6b29tIGZhY3RvciB3
aWxsIGJlIGNoYW5nZWQuCi0gICAgLy8KLSAgICAvLyBZb3UgY2FuIG9ubHkgaGF2ZSBlaXRoZXIg
dGV4dCB6b29tIG9yIGZ1bGwgcGFnZSB6b29tIGF0IG9uZSB0aW1lLgotICAgIC8vIENoYW5naW5n
IHRoZSBtb2RlIHdpbGwgY2hhbmdlIHRoaW5ncyBpbiB3ZWlyZCB3YXlzLiAgR2VuZXJhbGx5IHRo
ZQotICAgIC8vIGFwcCBzaG91bGQgb25seSBzdXBwb3J0IHRleHQgem9vbSBvciBmdWxsIHBhZ2Ug
em9vbSwgYW5kIG5vdCBib3RoLgotICAgIC8vCi0gICAgLy8gem9vbURlZmF1bHQgd2lsbCByZXNl
dCBib3RoIGZ1bGwgcGFnZSBhbmQgdGV4dCB6b29tLgorICAgIC8vIERFUFJFQ0FURUQ6IFdpbGwg
YmUgcmVtb3ZlZCB2ZXJ5IHNvb24hCiAgICAgdmlydHVhbCB2b2lkIHpvb21Jbihib29sIHRleHRP
bmx5KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHpvb21PdXQoYm9vbCB0ZXh0T25seSkgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCB6b29tRGVmYXVsdCgpID0gMDsKIAorICAgIC8vIFJldHVybnMgdGhl
IGN1cnJlbnQgem9vbSBsZXZlbC4gIDAgaXMgIm9yaWdpbmFsIHNpemUiLCBhbmQgZWFjaCBpbmNy
ZW1lbnQKKyAgICAvLyBhYm92ZSBvciBiZWxvdyByZXByZXNlbnRzIHpvb21pbmcgMjAlIGxhcmdl
ciBvciBzbWFsbGVyIHRvIGxpbWl0cyBvZiAzMDAlCisgICAgLy8gYW5kIDUwJSBvZiBvcmlnaW5h
bCBzaXplLCByZXNwZWN0aXZlbHkuCisgICAgdmlydHVhbCBpbnQgem9vbUxldmVsKCkgPSAwOwor
CisgICAgLy8gQ2hhbmdlcyB0aGUgem9vbSBsZXZlbCB0byB0aGUgc3BlY2lmaWVkIGxldmVsLCBj
bGFtcGluZyBhdCB0aGUgbGltaXRzCisgICAgLy8gbm90ZWQgYWJvdmUsIGFuZCByZXR1cm5zIHRo
ZSBjdXJyZW50IHpvb20gbGV2ZWwgYWZ0ZXIgYXBwbHlpbmcgdGhlCisgICAgLy8gY2hhbmdlLgor
ICAgIC8vCisgICAgLy8gSWYgfHRleHRPbmx5fCBpcyBzZXQsIG9ubHkgdGhlIHRleHQgd2lsbCBi
ZSB6b29tZWQ7IG90aGVyd2lzZSB0aGUgZW50aXJlCisgICAgLy8gcGFnZSB3aWxsIGJlIHpvb21l
ZC4gWW91IGNhbiBvbmx5IGhhdmUgZWl0aGVyIHRleHQgem9vbSBvciBmdWxsIHBhZ2Ugem9vbQor
ICAgIC8vIGF0IG9uZSB0aW1lLiAgQ2hhbmdpbmcgdGhlIG1vZGUgd2hpbGUgdGhlIHBhZ2UgaXMg
em9vbWVkIHdpbGwgaGF2ZSBvZGQKKyAgICAvLyBlZmZlY3RzLgorICAgIHZpcnR1YWwgaW50IHNl
dFpvb21MZXZlbChib29sIHRleHRPbmx5LCBpbnQgem9vbUxldmVsKSA9IDA7CisKIAogICAgIC8v
IE1lZGlhIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQogCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNw
cA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQ0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCShy
ZXZpc2lvbiA1MTU1NykKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMjQ2LDYgKzEyNDYsNyBAQCB2b2lkIFdlYlZpZXdJbXBsOjpjbGVh
ckZvY3VzZWROb2RlKCkKICAgICB9CiB9CiAKKy8vIERFUFJFQ0FURUQKIHZvaWQgV2ViVmlld0lt
cGw6Onpvb21Jbihib29sIHRleHRPbmx5KQogewogICAgIEZyYW1lKiBmcmFtZSA9IG1haW5GcmFt
ZUltcGwoKS0+ZnJhbWUoKTsKQEAgLTEyNTgsNiArMTI1OSw3IEBAIHZvaWQgV2ViVmlld0ltcGw6
Onpvb21Jbihib29sIHRleHRPbmx5KQogICAgIH0KIH0KIAorLy8gREVQUkVDQVRFRAogdm9pZCBX
ZWJWaWV3SW1wbDo6em9vbU91dChib29sIHRleHRPbmx5KQogewogICAgIEZyYW1lKiBmcmFtZSA9
IG1haW5GcmFtZUltcGwoKS0+ZnJhbWUoKTsKQEAgLTEyNzAsNiArMTI3Miw3IEBAIHZvaWQgV2Vi
Vmlld0ltcGw6Onpvb21PdXQoYm9vbCB0ZXh0T25seSkKICAgICB9CiB9CiAKKy8vIERFUFJFQ0FU
RUQKIHZvaWQgV2ViVmlld0ltcGw6Onpvb21EZWZhdWx0KCkKIHsKICAgICAvLyBXZSBkb24ndCBj
aGFuZ2UgdGhlIHpvb20gbW9kZSAodGV4dCBvbmx5IHZzLiBmdWxsIHBhZ2UpIGhlcmUuIFdlIGp1
c3Qgd2FudApAQCAtMTI3OSw2ICsxMjgyLDI1IEBAIHZvaWQgV2ViVmlld0ltcGw6Onpvb21EZWZh
dWx0KCkKICAgICAgICAgMS4wZiwgbWFpbkZyYW1lSW1wbCgpLT5mcmFtZSgpLT5pc1pvb21GYWN0
b3JUZXh0T25seSgpKTsKIH0KIAoraW50IFdlYlZpZXdJbXBsOjp6b29tTGV2ZWwoKQoreworICAg
IHJldHVybiBtX3pvb21MZXZlbDsKK30KKworaW50IFdlYlZpZXdJbXBsOjpzZXRab29tTGV2ZWwo
Ym9vbCB0ZXh0T25seSwgaW50IHpvb21MZXZlbCkKK3sKKyAgICBmbG9hdCB6b29tRmFjdG9yID0g
c3RhdGljX2Nhc3Q8ZmxvYXQ+KAorICAgICAgICBzdGQ6Om1heChzdGQ6Om1pbihzdGQ6OnBvdyh0
ZXh0U2l6ZU11bHRpcGxpZXJSYXRpbywgem9vbUxldmVsKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgbWF4VGV4dFNpemVNdWx0aXBsaWVyKSwKKyAgICAgICAgICAgICAgICAgbWluVGV4dFNp
emVNdWx0aXBsaWVyKSk7CisgICAgRnJhbWUqIGZyYW1lID0gbWFpbkZyYW1lSW1wbCgpLT5mcmFt
ZSgpOworICAgIGlmICh6b29tRmFjdG9yICE9IGZyYW1lLT56b29tRmFjdG9yKCkpIHsKKyAgICAg
ICAgbV96b29tTGV2ZWwgPSB6b29tTGV2ZWw7CisgICAgICAgIGZyYW1lLT5zZXRab29tRmFjdG9y
KHpvb21GYWN0b3IsIHRleHRPbmx5KTsKKyAgICB9CisgICAgcmV0dXJuIG1fem9vbUxldmVsOwor
fQorCiB2b2lkIFdlYlZpZXdJbXBsOjpwZXJmb3JtTWVkaWFQbGF5ZXJBY3Rpb24oY29uc3QgV2Vi
TWVkaWFQbGF5ZXJBY3Rpb24mIGFjdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBXZWJQb2ludCYgbG9jYXRpb24pCiB7CkluZGV4OiBXZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlZpZXdJbXBsLmgJKHJldmlzaW9uIDUxNTU3KQorKysgV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJWaWV3SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsOSArMTE2LDExIEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0Rm9jdXNlZEZyYW1lKFdlYkZyYW1lKiBmcmFtZSk7
CiAgICAgdmlydHVhbCB2b2lkIHNldEluaXRpYWxGb2N1cyhib29sIHJldmVyc2UpOwogICAgIHZp
cnR1YWwgdm9pZCBjbGVhckZvY3VzZWROb2RlKCk7Ci0gICAgdmlydHVhbCB2b2lkIHpvb21Jbihi
b29sIHRleHRPbmx5KTsKLSAgICB2aXJ0dWFsIHZvaWQgem9vbU91dChib29sIHRleHRPbmx5KTsK
LSAgICB2aXJ0dWFsIHZvaWQgem9vbURlZmF1bHQoKTsKKyAgICB2aXJ0dWFsIHZvaWQgem9vbUlu
KGJvb2wgdGV4dE9ubHkpOyAgIC8vIERFUFJFQ0FURUQKKyAgICB2aXJ0dWFsIHZvaWQgem9vbU91
dChib29sIHRleHRPbmx5KTsgIC8vIERFUFJFQ0FURUQKKyAgICB2aXJ0dWFsIHZvaWQgem9vbURl
ZmF1bHQoKTsgICAgICAgICAgIC8vIERFUFJFQ0FURUQKKyAgICB2aXJ0dWFsIGludCB6b29tTGV2
ZWwoKTsKKyAgICB2aXJ0dWFsIGludCBzZXRab29tTGV2ZWwoYm9vbCB0ZXh0T25seSwgaW50IHpv
b21MZXZlbCk7CiAgICAgdmlydHVhbCB2b2lkIHBlcmZvcm1NZWRpYVBsYXllckFjdGlvbigKICAg
ICAgICAgY29uc3QgV2ViTWVkaWFQbGF5ZXJBY3Rpb24mIGFjdGlvbiwKICAgICAgICAgY29uc3Qg
V2ViUG9pbnQmIGxvY2F0aW9uKTsKQEAgLTMzNyw4ICszMzksOCBAQCBwcml2YXRlOgogICAgIC8v
IGRyYWdnZWQgYnkgdGhlIHRpbWUgYSBkcmFnIGlzIGluaXRpYXRlZC4KICAgICBXZWJQb2ludCBt
X2xhc3RNb3VzZURvd25Qb2ludDsKIAotICAgIC8vIEtlZXBzIHRyYWNrIG9mIHRoZSBjdXJyZW50
IHRleHQgem9vbSBsZXZlbC4gIDAgbWVhbnMgbm8gem9vbSwgcG9zaXRpdmUKLSAgICAvLyB2YWx1
ZXMgbWVhbiBsYXJnZXIgdGV4dCwgbmVnYXRpdmUgbnVtYmVycyBtZWFuIHNtYWxsZXIuCisgICAg
Ly8gS2VlcHMgdHJhY2sgb2YgdGhlIGN1cnJlbnQgem9vbSBsZXZlbC4gIDAgbWVhbnMgbm8gem9v
bSwgcG9zaXRpdmUgbnVtYmVycworICAgIC8vIG1lYW4gem9vbSBpbiwgbmVnYXRpdmUgbnVtYmVy
cyBtZWFuIHpvb20gb3V0LgogICAgIGludCBtX3pvb21MZXZlbDsKIAogICAgIGJvb2wgbV9jb250
ZXh0TWVudUFsbG93ZWQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44120</attachid>
            <date>2009-12-01 18:23:16 -0800</date>
            <delta_ts>2009-12-01 23:15:44 -0800</delta_ts>
            <desc>Remove deprecated APIs</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>3696</size>
            <attacher name="Peter Kasting">pkasting</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cNCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA1MTU3NikKKysrIFdlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSwxNyBAQAogMjAwOS0xMi0wMSAgUGV0
ZXIgS2FzdGluZyAgPHBrYXN0aW5nQGdvb2dsZS5jb20+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXSBTaW1wbGlmeSB6b29tLXJlbGF0
ZWQgQVBJcyBhbmQgYWRkIGEgem9vbSBsZXZlbCBnZXR0ZXIsCisgICAgICAgIHBhcnQgdHdvOiBS
ZW1vdmUgZGVwcmVjYXRlZCBBUElzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MzE4OTMKKworICAgICAgICAqIHB1YmxpYy9XZWJWaWV3Lmg6CisgICAg
ICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuaDoK
KworMjAwOS0xMi0wMSAgUGV0ZXIgS2FzdGluZyAgPHBrYXN0aW5nQGdvb2dsZS5jb20+CisKICAg
ICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgogCiAgICAgICAgIFtDaHJvbWl1bV0gU2lt
cGxpZnkgem9vbS1yZWxhdGVkIEFQSXMgYW5kIGFkZCBhIHpvb20gbGV2ZWwgZ2V0dGVyLApJbmRl
eDogV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3LmgNCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcuaAkocmV2aXNpb24gNTE1NjApCisrKyBXZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYlZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAtMTM1LDExICsxMzUs
NiBAQCBwdWJsaWM6CiAKICAgICAvLyBab29tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotICAgIC8vIERFUFJFQ0FURUQ6
IFdpbGwgYmUgcmVtb3ZlZCB2ZXJ5IHNvb24hCi0gICAgdmlydHVhbCB2b2lkIHpvb21Jbihib29s
IHRleHRPbmx5KSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHpvb21PdXQoYm9vbCB0ZXh0T25seSkg
PSAwOwotICAgIHZpcnR1YWwgdm9pZCB6b29tRGVmYXVsdCgpID0gMDsKLQogICAgIC8vIFJldHVy
bnMgdGhlIGN1cnJlbnQgem9vbSBsZXZlbC4gIDAgaXMgIm9yaWdpbmFsIHNpemUiLCBhbmQgZWFj
aCBpbmNyZW1lbnQKICAgICAvLyBhYm92ZSBvciBiZWxvdyByZXByZXNlbnRzIHpvb21pbmcgMjAl
IGxhcmdlciBvciBzbWFsbGVyIHRvIGxpbWl0cyBvZiAzMDAlCiAgICAgLy8gYW5kIDUwJSBvZiBv
cmlnaW5hbCBzaXplLCByZXNwZWN0aXZlbHkuCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmNwcA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmll
d0ltcGwuY3BwCShyZXZpc2lvbiA1MTU2MCkKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmll
d0ltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjQ2LDQyICsxMjQ2LDYgQEAgdm9pZCBXZWJW
aWV3SW1wbDo6Y2xlYXJGb2N1c2VkTm9kZSgpCiAgICAgfQogfQogCi0vLyBERVBSRUNBVEVECi12
b2lkIFdlYlZpZXdJbXBsOjp6b29tSW4oYm9vbCB0ZXh0T25seSkKLXsKLSAgICBGcmFtZSogZnJh
bWUgPSBtYWluRnJhbWVJbXBsKCktPmZyYW1lKCk7Ci0gICAgZG91YmxlIG11bHRpcGxpZXIgPSBz
dGQ6Om1pbihzdGQ6OnBvdyh0ZXh0U2l6ZU11bHRpcGxpZXJSYXRpbywgbV96b29tTGV2ZWwgKyAx
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heFRleHRTaXplTXVsdGlwbGll
cik7Ci0gICAgZmxvYXQgem9vbUZhY3RvciA9IHN0YXRpY19jYXN0PGZsb2F0PihtdWx0aXBsaWVy
KTsKLSAgICBpZiAoem9vbUZhY3RvciAhPSBmcmFtZS0+em9vbUZhY3RvcigpKSB7Ci0gICAgICAg
ICsrbV96b29tTGV2ZWw7Ci0gICAgICAgIGZyYW1lLT5zZXRab29tRmFjdG9yKHpvb21GYWN0b3Is
IHRleHRPbmx5KTsKLSAgICB9Ci19Ci0KLS8vIERFUFJFQ0FURUQKLXZvaWQgV2ViVmlld0ltcGw6
Onpvb21PdXQoYm9vbCB0ZXh0T25seSkKLXsKLSAgICBGcmFtZSogZnJhbWUgPSBtYWluRnJhbWVJ
bXBsKCktPmZyYW1lKCk7Ci0gICAgZG91YmxlIG11bHRpcGxpZXIgPSBzdGQ6Om1heChzdGQ6OnBv
dyh0ZXh0U2l6ZU11bHRpcGxpZXJSYXRpbywgbV96b29tTGV2ZWwgLSAxKSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1pblRleHRTaXplTXVsdGlwbGllcik7Ci0gICAgZmxvYXQg
em9vbUZhY3RvciA9IHN0YXRpY19jYXN0PGZsb2F0PihtdWx0aXBsaWVyKTsKLSAgICBpZiAoem9v
bUZhY3RvciAhPSBmcmFtZS0+em9vbUZhY3RvcigpKSB7Ci0gICAgICAgIC0tbV96b29tTGV2ZWw7
Ci0gICAgICAgIGZyYW1lLT5zZXRab29tRmFjdG9yKHpvb21GYWN0b3IsIHRleHRPbmx5KTsKLSAg
ICB9Ci19Ci0KLS8vIERFUFJFQ0FURUQKLXZvaWQgV2ViVmlld0ltcGw6Onpvb21EZWZhdWx0KCkK
LXsKLSAgICAvLyBXZSBkb24ndCBjaGFuZ2UgdGhlIHpvb20gbW9kZSAodGV4dCBvbmx5IHZzLiBm
dWxsIHBhZ2UpIGhlcmUuIFdlIGp1c3Qgd2FudAotICAgIC8vIHRvIHJlc2V0IHdoYXRldmVyIGlz
IGFscmVhZHkgc2V0LgotICAgIG1fem9vbUxldmVsID0gMDsKLSAgICBtYWluRnJhbWVJbXBsKCkt
PmZyYW1lKCktPnNldFpvb21GYWN0b3IoCi0gICAgICAgIDEuMGYsIG1haW5GcmFtZUltcGwoKS0+
ZnJhbWUoKS0+aXNab29tRmFjdG9yVGV4dE9ubHkoKSk7Ci19Ci0KIGludCBXZWJWaWV3SW1wbDo6
em9vbUxldmVsKCkKIHsKICAgICByZXR1cm4gbV96b29tTGV2ZWw7CkluZGV4OiBXZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlZpZXdJbXBsLmgNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlZpZXdJbXBsLmgJKHJldmlzaW9uIDUxNTYwKQorKysgV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJWaWV3SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsOSArMTE2LDYgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCBzZXRGb2N1c2VkRnJhbWUoV2ViRnJhbWUqIGZyYW1lKTsKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0SW5pdGlhbEZvY3VzKGJvb2wgcmV2ZXJzZSk7CiAgICAgdmlydHVh
bCB2b2lkIGNsZWFyRm9jdXNlZE5vZGUoKTsKLSAgICB2aXJ0dWFsIHZvaWQgem9vbUluKGJvb2wg
dGV4dE9ubHkpOyAgIC8vIERFUFJFQ0FURUQKLSAgICB2aXJ0dWFsIHZvaWQgem9vbU91dChib29s
IHRleHRPbmx5KTsgIC8vIERFUFJFQ0FURUQKLSAgICB2aXJ0dWFsIHZvaWQgem9vbURlZmF1bHQo
KTsgICAgICAgICAgIC8vIERFUFJFQ0FURUQKICAgICB2aXJ0dWFsIGludCB6b29tTGV2ZWwoKTsK
ICAgICB2aXJ0dWFsIGludCBzZXRab29tTGV2ZWwoYm9vbCB0ZXh0T25seSwgaW50IHpvb21MZXZl
bCk7CiAgICAgdmlydHVhbCB2b2lkIHBlcmZvcm1NZWRpYVBsYXllckFjdGlvbigK
</data>
<flag name="review"
          id="25899"
          type_id="1"
          status="+"
          setter="fishd"
    />
    <flag name="commit-queue"
          id="25911"
          type_id="3"
          status="-"
          setter="fishd"
    />
          </attachment>
      

    </bug>

</bugzilla>