<?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>102323</bug_id>
          
          <creation_ts>2012-11-14 20:21:43 -0800</creation_ts>
          <short_desc>Add Settings to disable custom scrollbars on main frame</short_desc>
          <delta_ts>2012-11-15 19:11:07 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Tien-Ren Chen">trchen</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>aelias</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>767662</commentid>
    <comment_count>0</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2012-11-14 20:21:43 -0800</bug_when>
    <thetext>Add Settings to disable custom scrollbars on main frame</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767665</commentid>
    <comment_count>1</comment_count>
      <attachid>174332</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2012-11-14 20:25:08 -0800</bug_when>
    <thetext>Created attachment 174332
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767669</commentid>
    <comment_count>2</comment_count>
      <attachid>174332</attachid>
    <who name="Alexandre Elias">aelias</who>
    <bug_when>2012-11-14 20:31:10 -0800</bug_when>
    <thetext>Comment on attachment 174332
Patch

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

&gt; Source/WebKit/chromium/src/WebSettingsImpl.cpp:65
&gt; +#if OS(ANDROID)

The normal approach is to have a separate patch in the Chromium tree doing this, since we try to avoid having #if OS() in WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767682</commentid>
    <comment_count>3</comment_count>
      <attachid>174332</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-14 21:13:54 -0800</bug_when>
    <thetext>Comment on attachment 174332
Patch

Attachment 174332 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14843421

New failing tests:
inspector-protocol/debugger-terminate-dedicated-worker-while-paused.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768248</commentid>
    <comment_count>4</comment_count>
      <attachid>174332</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-15 10:18:23 -0800</bug_when>
    <thetext>Comment on attachment 174332
Patch

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

How do other mobile ports of WebKit solve this problem?

&gt; Source/WebCore/page/FrameView.cpp:512
&gt; +    if (m_frame &amp;&amp; m_frame-&gt;page() &amp;&amp; m_frame-&gt;settings()) {

The line below this one implies that m_frame can never be 0 here.

Rather than testing m_frame-page() for 0, we&apos;d usually write this test as:

if (Settings* settings = m_frame-&gt;settings()) {
   ...
}

&gt; Source/WebCore/page/Settings.h:657
&gt; +        void setMainFrameCustomScrollbarDisabled(bool disabled) { m_mainFrameCustomScrollbarDisabled = disabled; }
&gt; +        bool mainFrameCustomScrollbarDisabled() const { return m_mainFrameCustomScrollbarDisabled; }

We generally write settings in terms of &quot;enabled&quot; rather than &quot;disabled&quot;.

&gt;&gt; Source/WebKit/chromium/src/WebSettingsImpl.cpp:65
&gt;&gt; +#if OS(ANDROID)
&gt; 
&gt; The normal approach is to have a separate patch in the Chromium tree doing this, since we try to avoid having #if OS() in WebKit.

Yeah, we shouldn&apos;t have OS(ANDROID) ifdefs in this code.  The reason to have Settings is so they can be configured by the embedder.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768583</commentid>
    <comment_count>5</comment_count>
      <attachid>174537</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2012-11-15 15:42:41 -0800</bug_when>
    <thetext>Created attachment 174537
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768589</commentid>
    <comment_count>6</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2012-11-15 15:48:42 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 174332 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=174332&amp;action=review
&gt; 
&gt; How do other mobile ports of WebKit solve this problem?

I&apos;m not really sure. As far as I know, iOS Safari doesn&apos;t create custom scrollbars on any frames including iframes, but I don&apos;t know where does the hack kicks in.

It is debatable whether we should disable custom scrollbar completely or just on frames or just on the main frame. My opinion is that we should divert from standard webkit behavior as little as possible.

&gt; &gt; Source/WebCore/page/FrameView.cpp:512
&gt; &gt; +    if (m_frame &amp;&amp; m_frame-&gt;page() &amp;&amp; m_frame-&gt;settings()) {
&gt; 
&gt; The line below this one implies that m_frame can never be 0 here.
&gt; 
&gt; Rather than testing m_frame-page() for 0, we&apos;d usually write this test as:
&gt; 
&gt; if (Settings* settings = m_frame-&gt;settings()) {
&gt;    ...
&gt; }

Done

&gt; &gt; Source/WebCore/page/Settings.h:657
&gt; &gt; +        void setMainFrameCustomScrollbarDisabled(bool disabled) { m_mainFrameCustomScrollbarDisabled = disabled; }
&gt; &gt; +        bool mainFrameCustomScrollbarDisabled() const { return m_mainFrameCustomScrollbarDisabled; }
&gt; 
&gt; We generally write settings in terms of &quot;enabled&quot; rather than &quot;disabled&quot;.

Let&apos;s make it allowCustomScrollbarInMainFrame

&gt; &gt;&gt; Source/WebKit/chromium/src/WebSettingsImpl.cpp:65
&gt; &gt;&gt; +#if OS(ANDROID)
&gt; &gt; 
&gt; &gt; The normal approach is to have a separate patch in the Chromium tree doing this, since we try to avoid having #if OS() in WebKit.
&gt; 
&gt; Yeah, we shouldn&apos;t have OS(ANDROID) ifdefs in this code.  The reason to have Settings is so they can be configured by the embedder.

Done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768734</commentid>
    <comment_count>7</comment_count>
      <attachid>174537</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-15 17:26:50 -0800</bug_when>
    <thetext>Comment on attachment 174537
Patch

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

&gt; Source/WebCore/page/FrameView.cpp:513
&gt; +        if (!settings-&gt;allowCustomScrollbarInMainFrame() &amp;&amp; m_frame-&gt;page() &amp;&amp; m_frame-&gt;page()-&gt;mainFrame() == m_frame)

The test for m_frame-&gt;page() isn&apos;t actually needed because the only way |settings| can be non-0 is if m_frame-&gt;page() is non-0, but it&apos;s fine to leave the test here as a security blanket.

&gt; Source/WebCore/page/Settings.h:850
&gt; +        bool m_allowCustomScrollbarInMainFrame : 1;

You should add this to Settings.in now that we have fancy-pants auto generation of this file.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768778</commentid>
    <comment_count>8</comment_count>
      <attachid>174578</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2012-11-15 17:58:40 -0800</bug_when>
    <thetext>Created attachment 174578
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768786</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-15 18:05:10 -0800</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768829</commentid>
    <comment_count>10</comment_count>
      <attachid>174578</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-15 19:11:03 -0800</bug_when>
    <thetext>Comment on attachment 174578
Patch

Clearing flags on attachment: 174578

Committed r134878: &lt;http://trac.webkit.org/changeset/134878&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768830</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-15 19:11:07 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174332</attachid>
            <date>2012-11-14 20:25:08 -0800</date>
            <delta_ts>2012-11-15 15:42:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102323-20121114202306.patch</filename>
            <type>text/plain</type>
            <size>5217</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzc4MDg0MjJiNDg5ZTZl
OTNmYWNkZjI5ZTg4YTM3ODhkMmVlMTU0Yy4uNDQ2ZjZhNGZlMmEzN2NhZjVjNDdkM2Q4NjgwYzNi
YTgwNDdiNTI1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTExLTE0ICBUaWVu
LVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgU2V0dGluZ3Mg
dG8gZGlzYWJsZSBjdXN0b20gc2Nyb2xsYmFycyBvbiBtYWluIGZyYW1lCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDIzMjMKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXN0b20gc2Nyb2xsYmFycyBvbiBt
YWluIGZyYW1lIGRvbid0IHJlYWxseSB3b3JrIHdlbGwgb24gdG91Y2ggZGV2aWNlcy4KKyAgICAg
ICAgQWRkIGEgc2V0dGluZyB0byBpbmhpYml0IHRoZWlyIGNyZWF0aW9uLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cy4gTm8gY2hhbmdlIGluIGRlZmF1bHQgbGF5b3V0IGJlaGF2aW9yLgorCisgICAg
ICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojpj
cmVhdGVTY3JvbGxiYXIpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2V0dGluZ3M6OlNldHRpbmdzKToKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmg6
CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0TWFpbkZyYW1lQ3VzdG9tU2Nyb2xsYmFy
RGlzYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6Om1haW5GcmFtZUN1c3RvbVNj
cm9sbGJhckRpc2FibGVkKToKKyAgICAgICAgKFNldHRpbmdzKToKKwogMjAxMi0xMS0wNSAgQmVu
amFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVHJhbnNmb3Jt
T3BlcmF0aW9uSW5mbydzIGNvbnN0cnVjdG9yIGlzIHJlYWxseSBzbG93CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCmluZGV4IDJhNjc1OWExOTMwNWQxMjAzYzk0MDQyZmY2OTk5ODcxNjE4ZTI2Zjku
LjZlMGNjZTY1YzFiMDgzMGUyMDc5NDdiMTBmOTVhYzNkMGQwMmYzNDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMTEtMTQgIFRpZW4tUmVuIENoZW4g
IDx0cmNoZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBTZXR0aW5ncyB0byBkaXNhYmxl
IGN1c3RvbSBzY3JvbGxiYXJzIG9uIG1haW4gZnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjMyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1c3RvbSBzY3JvbGxiYXJzIG9uIG1haW4gZnJhbWUg
ZG9uJ3QgcmVhbGx5IHdvcmsgd2VsbCBvbiB0b3VjaCBkZXZpY2VzLgorICAgICAgICBBZGQgYSBz
ZXR0aW5nIHRvIGluaGliaXQgdGhlaXIgY3JlYXRpb24uCisKKyAgICAgICAgKiBzcmMvV2ViU2V0
dGluZ3NJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU2V0dGluZ3NJbXBsOjpXZWJTZXR0
aW5nc0ltcGwpOgorCiAyMDEyLTExLTA1ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgW1Y4XSBJbnRydXNpdmVET01XcmFwcGVyTWFwIHNob3VsZCBiZSB1c2FibGUg
Zm9yIG1vcmUgdGhhbiBqdXN0IE5vZGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXgg
MjliMDc1Y2QzNzFlOWViY2Q4ZjA3MGQ1ZjkyY2Q4YjNkOTJhZTM5ZC4uZTNiNmNmMGZmOTE2NmJh
MmI1N2YxZjliZDIxZWYzNWQwYjc2NDUwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApA
QCAtNTA5LDYgKzUwOSwxMSBAQCB2b2lkIEZyYW1lVmlldzo6dXBkYXRlQ2FuSGF2ZVNjcm9sbGJh
cnMoKQogCiBQYXNzUmVmUHRyPFNjcm9sbGJhcj4gRnJhbWVWaWV3OjpjcmVhdGVTY3JvbGxiYXIo
U2Nyb2xsYmFyT3JpZW50YXRpb24gb3JpZW50YXRpb24pCiB7CisgICAgaWYgKG1fZnJhbWUgJiYg
bV9mcmFtZS0+cGFnZSgpICYmIG1fZnJhbWUtPnNldHRpbmdzKCkpIHsKKyAgICAgICAgaWYgKG1f
ZnJhbWUtPnBhZ2UoKS0+bWFpbkZyYW1lKCkgPT0gbV9mcmFtZSAmJiBtX2ZyYW1lLT5zZXR0aW5n
cygpLT5tYWluRnJhbWVDdXN0b21TY3JvbGxiYXJEaXNhYmxlZCgpKQorICAgICAgICAgICAgcmV0
dXJuIFNjcm9sbFZpZXc6OmNyZWF0ZVNjcm9sbGJhcihvcmllbnRhdGlvbik7CisgICAgfQorCiAg
ICAgLy8gRklYTUU6IFdlIG5lZWQgdG8gdXBkYXRlIHRoZSBzY3JvbGxiYXIgZHluYW1pY2FsbHkg
YXMgZG9jdW1lbnRzIGNoYW5nZSAob3IgYXMgZG9jIGVsZW1lbnRzIGFuZCBib2RpZXMgZ2V0IGRp
c2NvdmVyZWQgdGhhdCBoYXZlIGN1c3RvbSBzdHlsZXMpLgogICAgIERvY3VtZW50KiBkb2MgPSBt
X2ZyYW1lLT5kb2N1bWVudCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmluZGV4IGNlNzY2
OWE2ZDdmMDgzOGJmYTBmYTZlZGFlMjExZDEzMmVkMmM4NGYuLjJmM2VmZjNjMWEyM2RlMGVjMDVh
ZmJhNjkzNzM0NzNjZDg3OGFkZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0
dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCkBAIC0zMDAs
NiArMzAwLDcgQEAgU2V0dGluZ3M6OlNldHRpbmdzKFBhZ2UqIHBhZ2UpCiAgICAgLCBtX3Njcm9s
bGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQoZmFsc2UpCiAgICAgLCBtX2FwcGx5UGFnZVNj
YWxlRmFjdG9ySW5Db21wb3NpdG9yKGZhbHNlKQogICAgICwgbV9wbHVnSW5TbmFwc2hvdHRpbmdF
bmFibGVkKGZhbHNlKQorICAgICwgbV9tYWluRnJhbWVDdXN0b21TY3JvbGxiYXJEaXNhYmxlZChm
YWxzZSkKICAgICAsIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lcih0aGlzLCAmU2V0dGlu
Z3M6OmltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJGaXJlZCkKICAgICAsIG1faW5jcmVtZW50YWxS
ZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMoZGVmYXVsdEluY3JlbWVudGFsUmVu
ZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0SW5TZWNvbmRzKQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5o
CmluZGV4IGYwNTNmNTQxZWQ1MGI5MjQ3MzQzMTExNzEyZGNlOGVmODBmNTFiN2QuLmJiZmVjZjlm
OTYzYzQ5NDQ2MmVjYmYxOTg4OGQwYWI5MzhhY2QwNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgK
QEAgLTY1Myw2ICs2NTMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0
UGx1Z0luU25hcHNob3R0aW5nRW5hYmxlZChib29sIGVuYWJsZWQpIHsgbV9wbHVnSW5TbmFwc2hv
dHRpbmdFbmFibGVkID0gZW5hYmxlZDsgfQogICAgICAgICBib29sIHBsdWdJblNuYXBzaG90dGlu
Z0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3BsdWdJblNuYXBzaG90dGluZ0VuYWJsZWQ7IH0K
IAorICAgICAgICB2b2lkIHNldE1haW5GcmFtZUN1c3RvbVNjcm9sbGJhckRpc2FibGVkKGJvb2wg
ZGlzYWJsZWQpIHsgbV9tYWluRnJhbWVDdXN0b21TY3JvbGxiYXJEaXNhYmxlZCA9IGRpc2FibGVk
OyB9CisgICAgICAgIGJvb2wgbWFpbkZyYW1lQ3VzdG9tU2Nyb2xsYmFyRGlzYWJsZWQoKSBjb25z
dCB7IHJldHVybiBtX21haW5GcmFtZUN1c3RvbVNjcm9sbGJhckRpc2FibGVkOyB9CisKICAgICBw
cml2YXRlOgogICAgICAgICBleHBsaWNpdCBTZXR0aW5ncyhQYWdlKik7CiAKQEAgLTg0NCw2ICs4
NDcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgbV9hcHBseVBhZ2VTY2Fs
ZUZhY3RvckluQ29tcG9zaXRvciA6IDE7CiAgICAgICAgIGJvb2wgbV9wbHVnSW5TbmFwc2hvdHRp
bmdFbmFibGVkIDogMTsKIAorICAgICAgICBib29sIG1fbWFpbkZyYW1lQ3VzdG9tU2Nyb2xsYmFy
RGlzYWJsZWQgOiAxOworCiAgICAgICAgIFRpbWVyPFNldHRpbmdzPiBtX3NldEltYWdlTG9hZGlu
Z1NldHRpbmdzVGltZXI7CiAgICAgICAgIHZvaWQgaW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lckZp
cmVkKFRpbWVyPFNldHRpbmdzPiopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViU2V0dGluZ3NJbXBsLmNwcAppbmRleCBiMTRjZGUzMmZhMTY1NzIzODc0OGI4MDYyNmQyYjM0
Y2ZkMDlhYTVlLi4yYzU0MWM4ZDBkODY0ZDdjMmU4ODU1MjViZGU0NzY2ODUxZWQwYmU1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5jcHAKQEAgLTYy
LDYgKzYyLDkgQEAgV2ViU2V0dGluZ3NJbXBsOjpXZWJTZXR0aW5nc0ltcGwoU2V0dGluZ3MqIHNl
dHRpbmdzKQogICAgICwgbV9tYXhVbnRpbGVkTGF5ZXJTaXplKFdlYlNpemUoNTEyLCA1MTIpKQog
ewogICAgIEFTU0VSVChzZXR0aW5ncyk7CisjaWYgT1MoQU5EUk9JRCkKKyAgICBzZXR0aW5ncy0+
c2V0TWFpbkZyYW1lQ3VzdG9tU2Nyb2xsYmFyRGlzYWJsZWQodHJ1ZSk7CisjZW5kaWYKIH0KIAog
dm9pZCBXZWJTZXR0aW5nc0ltcGw6OnNldFN0YW5kYXJkRm9udEZhbWlseShjb25zdCBXZWJTdHJp
bmcmIGZvbnQsIFVTY3JpcHRDb2RlIHNjcmlwdCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174537</attachid>
            <date>2012-11-15 15:42:41 -0800</date>
            <delta_ts>2012-11-15 17:58:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102323-20121115154038.patch</filename>
            <type>text/plain</type>
            <size>6818</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzc4MDg0MjJiNDg5ZTZl
OTNmYWNkZjI5ZTg4YTM3ODhkMmVlMTU0Yy4uM2VlNTVkNDM1ZGQ0ZGU3MTkwZTcxZDA1MTQzMzQ2
ZGU1YzQ3OTdiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTExLTE1ICBUaWVu
LVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgU2V0dGluZ3Mg
dG8gZGlzYWJsZSBjdXN0b20gc2Nyb2xsYmFycyBvbiBtYWluIGZyYW1lCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDIzMjMKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXN0b20gc2Nyb2xsYmFycyBvbiBt
YWluIGZyYW1lIGRvbid0IHJlYWxseSB3b3JrIHdlbGwgb24gdG91Y2ggZGV2aWNlcy4KKyAgICAg
ICAgQWRkIGEgc2V0dGluZyB0byBpbmhpYml0IHRoZWlyIGNyZWF0aW9uLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cy4gTm8gY2hhbmdlIGluIGRlZmF1bHQgbGF5b3V0IGJlaGF2aW9yLgorCisgICAg
ICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojpj
cmVhdGVTY3JvbGxiYXIpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2V0dGluZ3M6OlNldHRpbmdzKToKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmg6
CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0QWxsb3dDdXN0b21TY3JvbGxiYXJJbk1h
aW5GcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6YWxsb3dDdXN0b21TY3JvbGxi
YXJJbk1haW5GcmFtZSk6CisgICAgICAgIChTZXR0aW5ncyk6CisKIDIwMTItMTEtMDUgIEJlbmph
bWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFRyYW5zZm9ybU9w
ZXJhdGlvbkluZm8ncyBjb25zdHJ1Y3RvciBpcyByZWFsbHkgc2xvdwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZwppbmRleCAyYTY3NTlhMTkzMDVkMTIwM2M5NDA0MmZmNjk5OTg3MTYxOGUyNmY5Li4z
OWZlOTcxZTlhYjMxOTA4NmY5NWZkN2E2NmNiNzIyMGU0ZDNkMmFlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTExLTE1ICBUaWVuLVJlbiBDaGVuICA8
dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgU2V0dGluZ3MgdG8gZGlzYWJsZSBj
dXN0b20gc2Nyb2xsYmFycyBvbiBtYWluIGZyYW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDIzMjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBDdXN0b20gc2Nyb2xsYmFycyBvbiBtYWluIGZyYW1lIGRv
bid0IHJlYWxseSB3b3JrIHdlbGwgb24gdG91Y2ggZGV2aWNlcy4KKyAgICAgICAgQWRkIGEgc2V0
dGluZyB0byBpbmhpYml0IHRoZWlyIGNyZWF0aW9uLgorCisgICAgICAgICogcHVibGljL1dlYlNl
dHRpbmdzLmg6CisgICAgICAgICogc3JjL1dlYlNldHRpbmdzSW1wbC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlNldHRpbmdzSW1wbDo6c2V0QWxsb3dDdXN0b21TY3JvbGxiYXJJbk1haW5GcmFt
ZSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIHNyYy9XZWJTZXR0aW5nc0ltcGwuaDoK
KyAgICAgICAgKFdlYlNldHRpbmdzSW1wbCk6CisKIDIwMTItMTEtMDUgIEFkYW0gQmFydGggIDxh
YmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBbVjhdIEludHJ1c2l2ZURPTVdyYXBwZXJNYXAg
c2hvdWxkIGJlIHVzYWJsZSBmb3IgbW9yZSB0aGFuIGp1c3QgTm9kZXMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3LmNwcAppbmRleCAyOWIwNzVjZDM3MWU5ZWJjZDhmMDcwZDVmOTJjZDhiM2Q5MmFlMzlk
Li5iNjY0M2ZmNmM2MDQ1NmM0MGI3M2JmNjRlMWQ4YzlkMzU3OTEyMzZkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCkBAIC01MDksNiArNTA5LDExIEBAIHZvaWQgRnJhbWVWaWV3Ojp1cGRh
dGVDYW5IYXZlU2Nyb2xsYmFycygpCiAKIFBhc3NSZWZQdHI8U2Nyb2xsYmFyPiBGcmFtZVZpZXc6
OmNyZWF0ZVNjcm9sbGJhcihTY3JvbGxiYXJPcmllbnRhdGlvbiBvcmllbnRhdGlvbikKIHsKKyAg
ICBpZiAoU2V0dGluZ3MqIHNldHRpbmdzID0gbV9mcmFtZS0+c2V0dGluZ3MoKSkgeworICAgICAg
ICBpZiAoIXNldHRpbmdzLT5hbGxvd0N1c3RvbVNjcm9sbGJhckluTWFpbkZyYW1lKCkgJiYgbV9m
cmFtZS0+cGFnZSgpICYmIG1fZnJhbWUtPnBhZ2UoKS0+bWFpbkZyYW1lKCkgPT0gbV9mcmFtZSkK
KyAgICAgICAgICAgIHJldHVybiBTY3JvbGxWaWV3OjpjcmVhdGVTY3JvbGxiYXIob3JpZW50YXRp
b24pOworICAgIH0KKwogICAgIC8vIEZJWE1FOiBXZSBuZWVkIHRvIHVwZGF0ZSB0aGUgc2Nyb2xs
YmFyIGR5bmFtaWNhbGx5IGFzIGRvY3VtZW50cyBjaGFuZ2UgKG9yIGFzIGRvYyBlbGVtZW50cyBh
bmQgYm9kaWVzIGdldCBkaXNjb3ZlcmVkIHRoYXQgaGF2ZSBjdXN0b20gc3R5bGVzKS4KICAgICBE
b2N1bWVudCogZG9jID0gbV9mcmFtZS0+ZG9jdW1lbnQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmNwcAppbmRleCBjZTc2NjlhNmQ3ZjA4MzhiZmEwZmE2ZWRhZTIxMWQxMzJlZDJjODRmLi43ZjI5
YzFjZTFmYjVlZWZmYjJmYWM1YjNmZDIzNzYzZGEzY2M3MTRlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRp
bmdzLmNwcApAQCAtMzAwLDYgKzMwMCw3IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdl
KQogICAgICwgbV9zY3JvbGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVkKGZhbHNlKQogICAg
ICwgbV9hcHBseVBhZ2VTY2FsZUZhY3RvckluQ29tcG9zaXRvcihmYWxzZSkKICAgICAsIG1fcGx1
Z0luU25hcHNob3R0aW5nRW5hYmxlZChmYWxzZSkKKyAgICAsIG1fYWxsb3dDdXN0b21TY3JvbGxi
YXJJbk1haW5GcmFtZSh0cnVlKQogICAgICwgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVy
KHRoaXMsICZTZXR0aW5nczo6aW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lckZpcmVkKQogICAgICwg
bV9pbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcyhkZWZhdWx0
SW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLmgKaW5kZXggZjA1M2Y1NDFlZDUwYjkyNDczNDMxMTE3MTJkY2U4ZWY4MGY1
MWI3ZC4uZWE0YTljZDk5YWYwNDUyMmQ4MzE4ODExMzU1ZDUyNjhjM2YwYmJkOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuaApAQCAtNjUzLDYgKzY1Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgdm9pZCBzZXRQbHVnSW5TbmFwc2hvdHRpbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkgeyBt
X3BsdWdJblNuYXBzaG90dGluZ0VuYWJsZWQgPSBlbmFibGVkOyB9CiAgICAgICAgIGJvb2wgcGx1
Z0luU25hcHNob3R0aW5nRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcGx1Z0luU25hcHNob3R0
aW5nRW5hYmxlZDsgfQogCisgICAgICAgIHZvaWQgc2V0QWxsb3dDdXN0b21TY3JvbGxiYXJJbk1h
aW5GcmFtZShib29sIGVuYWJsZWQpIHsgbV9hbGxvd0N1c3RvbVNjcm9sbGJhckluTWFpbkZyYW1l
ID0gZW5hYmxlZDsgfQorICAgICAgICBib29sIGFsbG93Q3VzdG9tU2Nyb2xsYmFySW5NYWluRnJh
bWUoKSBjb25zdCB7IHJldHVybiBtX2FsbG93Q3VzdG9tU2Nyb2xsYmFySW5NYWluRnJhbWU7IH0K
KwogICAgIHByaXZhdGU6CiAgICAgICAgIGV4cGxpY2l0IFNldHRpbmdzKFBhZ2UqKTsKIApAQCAt
ODQ0LDYgKzg0Nyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBtX2FwcGx5
UGFnZVNjYWxlRmFjdG9ySW5Db21wb3NpdG9yIDogMTsKICAgICAgICAgYm9vbCBtX3BsdWdJblNu
YXBzaG90dGluZ0VuYWJsZWQgOiAxOwogCisgICAgICAgIGJvb2wgbV9hbGxvd0N1c3RvbVNjcm9s
bGJhckluTWFpbkZyYW1lIDogMTsKKwogICAgICAgICBUaW1lcjxTZXR0aW5ncz4gbV9zZXRJbWFn
ZUxvYWRpbmdTZXR0aW5nc1RpbWVyOwogICAgICAgICB2b2lkIGltYWdlTG9hZGluZ1NldHRpbmdz
VGltZXJGaXJlZChUaW1lcjxTZXR0aW5ncz4qKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYlNldHRpbmdzLmgKaW5kZXggZGRlYmQ3ZTYxNDc3YjU4ZThlYTM4MmE3MzcwYTJl
NjFjZWZmZGEyZi4uMWYzYjlkZDNiMzM5YTgxNjZkMjdkMjJhZTVkZmM0YzhkNjM5M2MzYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3MuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZXR0aW5ncy5oCkBAIC02OCw2ICs2
OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0QWNjZWxlcmF0ZWRQYWludGluZ0Vu
YWJsZWQoYm9vbCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRBbGxvd0Rpc3BsYXlPZkluc2Vj
dXJlQ29udGVudChib29sKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldEFsbG93RmlsZUFjY2Vz
c0Zyb21GaWxlVVJMcyhib29sKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNldEFsbG93Q3VzdG9t
U2Nyb2xsYmFySW5NYWluRnJhbWUoYm9vbCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRBbGxv
d1J1bm5pbmdPZkluc2VjdXJlQ29udGVudChib29sKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNl
dEFsbG93U2NyaXB0c1RvQ2xvc2VXaW5kb3dzKGJvb2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQg
c2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMoYm9vbCkgPSAwOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5jcHAKaW5kZXggYjE0Y2RlMzJm
YTE2NTcyMzg3NDhiODA2MjZkMmIzNGNmZDA5YWE1ZS4uMWZlNWMxZTg1NDgyYmFiNzY5YmU3MDU2
NGM5YjE0MTBiMGY1MWQ4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViU2V0dGluZ3NJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJT
ZXR0aW5nc0ltcGwuY3BwCkBAIC02OTYsNCArNjk2LDkgQEAgYm9vbCBXZWJTZXR0aW5nc0ltcGw6
OmFwcGx5UGFnZVNjYWxlRmFjdG9ySW5Db21wb3NpdG9yKCkgY29uc3QKICAgICByZXR1cm4gbV9z
ZXR0aW5ncy0+YXBwbHlQYWdlU2NhbGVGYWN0b3JJbkNvbXBvc2l0b3IoKTsKIH0KIAordm9pZCBX
ZWJTZXR0aW5nc0ltcGw6OnNldEFsbG93Q3VzdG9tU2Nyb2xsYmFySW5NYWluRnJhbWUoYm9vbCBl
bmFibGVkKQoreworICAgIG1fc2V0dGluZ3MtPnNldEFsbG93Q3VzdG9tU2Nyb2xsYmFySW5NYWlu
RnJhbWUoZW5hYmxlZCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmggYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuaAppbmRleCBmZjg4YmFjNjE1Zjk3ZmIw
YWNkZmJiZDQzNmMzMzBmYmUzM2YyZGViLi5hYzZiMWNhNTlkMWYyOTlmZTY3YzY2NTkyZjBiNzMy
NTdkZTY0ODRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0
aW5nc0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0lt
cGwuaApAQCAtNjAsNiArNjAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldEFjY2Vs
ZXJhdGVkUGFpbnRpbmdFbmFibGVkKGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRBbGxvd0Rp
c3BsYXlPZkluc2VjdXJlQ29udGVudChib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0QWxsb3dG
aWxlQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wpOworICAgIHZpcnR1YWwgdm9pZCBzZXRBbGxvd0N1
c3RvbVNjcm9sbGJhckluTWFpbkZyYW1lKGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRBbGxv
d1J1bm5pbmdPZkluc2VjdXJlQ29udGVudChib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0QWxs
b3dTY3JpcHRzVG9DbG9zZVdpbmRvd3MoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNldEFsbG93
VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174578</attachid>
            <date>2012-11-15 17:58:40 -0800</date>
            <delta_ts>2012-11-15 19:11:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102323-20121115175637.patch</filename>
            <type>text/plain</type>
            <size>5312</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0ODQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTkzOWM5NjBlMWU2ZDQ1
NGY2NjFmYzBlN2M5Y2NlYmE2MTQ1MjgzYS4uMjFkZTNhNmUwZWY3MWFmOWJhNGQzYzg4NGI4OTUy
NjBhYWU2MTJhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTExLTE1ICBUaWVu
LVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgU2V0dGluZ3Mg
dG8gZGlzYWJsZSBjdXN0b20gc2Nyb2xsYmFycyBvbiBtYWluIGZyYW1lCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDIzMjMKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXN0b20gc2Nyb2xsYmFycyBvbiBt
YWluIGZyYW1lIGRvbid0IHJlYWxseSB3b3JrIHdlbGwgb24gdG91Y2ggZGV2aWNlcy4KKyAgICAg
ICAgQWRkIGEgc2V0dGluZyB0byBpbmhpYml0IHRoZWlyIGNyZWF0aW9uLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cy4gTm8gY2hhbmdlIGluIGRlZmF1bHQgbGF5b3V0IGJlaGF2aW9yLgorCisgICAg
ICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojpj
cmVhdGVTY3JvbGxiYXIpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaW46CisKIDIwMTItMTEt
MTUgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgRW5z
dXJlIHRoYXQgc2Nyb2xsYmFyIGxheWVycyBzaG93IGRlYnVnIGJvcmRlcnMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKaW5kZXggYmNjNjE1NzI0YmI4NjU2MzI3MTZlZGFiZjMyNjI1MDdjNTU2ODFk
Ny4uYTljNWIwODk0NDhlZWJkMzAyZDUxNzk2YjYwODMyMTdiMjA3MmVlNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMi0xMS0xNSAgVGllbi1SZW4gQ2hl
biAgPHRyY2hlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIFNldHRpbmdzIHRvIGRpc2Fi
bGUgY3VzdG9tIHNjcm9sbGJhcnMgb24gbWFpbiBmcmFtZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMzIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3VzdG9tIHNjcm9sbGJhcnMgb24gbWFpbiBmcmFt
ZSBkb24ndCByZWFsbHkgd29yayB3ZWxsIG9uIHRvdWNoIGRldmljZXMuCisgICAgICAgIEFkZCBh
IHNldHRpbmcgdG8gaW5oaWJpdCB0aGVpciBjcmVhdGlvbi4KKworICAgICAgICAqIHB1YmxpYy9X
ZWJTZXR0aW5ncy5oOgorICAgICAgICAqIHNyYy9XZWJTZXR0aW5nc0ltcGwuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJTZXR0aW5nc0ltcGw6OnNldEFsbG93Q3VzdG9tU2Nyb2xsYmFySW5NYWlu
RnJhbWUpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBzcmMvV2ViU2V0dGluZ3NJbXBs
Lmg6CisgICAgICAgIChXZWJTZXR0aW5nc0ltcGwpOgorCiAyMDEyLTExLTE1ICBTY290dCBWaW9s
ZXQgIDxza3lAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gQ3JlYXRlIGRlZmF1
bHQgZGlyZWN0b3J5IHNvIHRoYXQgY3EgY2FuIGFwcGx5IHBhdGNoCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5jcHAKaW5kZXggZWFiZTg5NDcwYWQ0NWEzMzFjZTdiOTc0OGU2MWQyZjY5YWUzZDEwNC4u
N2FjNmViMjkxY2YzZGM0NjFjYTRhODdhNzkzYTlhNDdhZTZhNmZiYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcApAQCAtNTEyLDYgKzUxMiwxMSBAQCB2b2lkIEZyYW1lVmlldzo6dXBkYXRl
Q2FuSGF2ZVNjcm9sbGJhcnMoKQogCiBQYXNzUmVmUHRyPFNjcm9sbGJhcj4gRnJhbWVWaWV3Ojpj
cmVhdGVTY3JvbGxiYXIoU2Nyb2xsYmFyT3JpZW50YXRpb24gb3JpZW50YXRpb24pCiB7CisgICAg
aWYgKFNldHRpbmdzKiBzZXR0aW5ncyA9IG1fZnJhbWUtPnNldHRpbmdzKCkpIHsKKyAgICAgICAg
aWYgKCFzZXR0aW5ncy0+YWxsb3dDdXN0b21TY3JvbGxiYXJJbk1haW5GcmFtZSgpICYmIG1fZnJh
bWUtPnBhZ2UoKSAmJiBtX2ZyYW1lLT5wYWdlKCktPm1haW5GcmFtZSgpID09IG1fZnJhbWUpCisg
ICAgICAgICAgICByZXR1cm4gU2Nyb2xsVmlldzo6Y3JlYXRlU2Nyb2xsYmFyKG9yaWVudGF0aW9u
KTsKKyAgICB9CisKICAgICAvLyBGSVhNRTogV2UgbmVlZCB0byB1cGRhdGUgdGhlIHNjcm9sbGJh
ciBkeW5hbWljYWxseSBhcyBkb2N1bWVudHMgY2hhbmdlIChvciBhcyBkb2MgZWxlbWVudHMgYW5k
IGJvZGllcyBnZXQgZGlzY292ZXJlZCB0aGF0IGhhdmUgY3VzdG9tIHN0eWxlcykuCiAgICAgRG9j
dW1lbnQqIGRvYyA9IG1fZnJhbWUtPmRvY3VtZW50KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmlu
CmluZGV4IDdiOWQwMDlkZmYzNjFjMTg0NTAxNTk4ZGNlOTdjZDE1M2E5YmJmYTMuLjczMGM1ZDUy
YzQyNGU1NjljN2MzNWUwMGI0M2QzYzI0NTY3ZGRhNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5p
bgpAQCAtMTU0LDMgKzE1NCw1IEBAIGRpYWdub3N0aWNMb2dnaW5nRW5hYmxlZCBpbml0aWFsPWZh
bHNlCiBhcHBseVBhZ2VTY2FsZUZhY3RvckluQ29tcG9zaXRvciBpbml0aWFsPWZhbHNlCiBwbHVn
SW5TbmFwc2hvdHRpbmdFbmFibGVkIGluaXRpYWw9ZmFsc2UKIGZyYW1lRmxhdHRlbmluZ0VuYWJs
ZWQgaW5pdGlhbD1mYWxzZQorCithbGxvd0N1c3RvbVNjcm9sbGJhckluTWFpbkZyYW1lIGluaXRp
YWw9dHJ1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2V0
dGluZ3MuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNldHRpbmdzLmgKaW5k
ZXggYWUzMGYyYzI2NTJiMDExOTExZTkyNTY1NDNhNGNlNGYwMDNhNDdjMC4uMjdkY2QzYTRiNTU0
YmI5YWNlODNjYWQ3MzFmNWM0ODBhN2IxMDE3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJTZXR0aW5ncy5oCkBAIC02OSw2ICs2OSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgc2V0QWNjZWxlcmF0ZWRQYWludGluZ0VuYWJsZWQoYm9vbCkgPSAwOwogICAgIHZp
cnR1YWwgdm9pZCBzZXRBbGxvd0Rpc3BsYXlPZkluc2VjdXJlQ29udGVudChib29sKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIHNldEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyhib29sKSA9IDA7
CisgICAgdmlydHVhbCB2b2lkIHNldEFsbG93Q3VzdG9tU2Nyb2xsYmFySW5NYWluRnJhbWUoYm9v
bCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRBbGxvd1J1bm5pbmdPZkluc2VjdXJlQ29udGVu
dChib29sKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldEFsbG93U2NyaXB0c1RvQ2xvc2VXaW5k
b3dzKGJvb2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NG
cm9tRmlsZVVSTHMoYm9vbCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlNldHRpbmdzSW1wbC5jcHAKaW5kZXggZGMyOTE4MTVjN2I4M2FhNTdjOGE5NjYxMTg2MDg0MjY3
MjdlYzEyMy4uZWQ2MzdjNzJjYzQ5ZDc5OTk2OTdlNWIzNTIwMzhjZTYxN2I1NGRmMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuY3BwCkBAIC03MDYs
NCArNzA2LDkgQEAgYm9vbCBXZWJTZXR0aW5nc0ltcGw6OmFwcGx5UGFnZVNjYWxlRmFjdG9ySW5D
b21wb3NpdG9yKCkgY29uc3QKICAgICByZXR1cm4gbV9zZXR0aW5ncy0+YXBwbHlQYWdlU2NhbGVG
YWN0b3JJbkNvbXBvc2l0b3IoKTsKIH0KIAordm9pZCBXZWJTZXR0aW5nc0ltcGw6OnNldEFsbG93
Q3VzdG9tU2Nyb2xsYmFySW5NYWluRnJhbWUoYm9vbCBlbmFibGVkKQoreworICAgIG1fc2V0dGlu
Z3MtPnNldEFsbG93Q3VzdG9tU2Nyb2xsYmFySW5NYWluRnJhbWUoZW5hYmxlZCk7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViU2V0dGluZ3NJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0
aW5nc0ltcGwuaAppbmRleCBkZTM1YTQ5OTViMDc2NzNlOTQ4ZDViZjY0ZGMxOWYwZDc5NzNmYzk0
Li4yMDkwMTM5YmE5NTA5ZTg0MzRjMDU3YWFiYWEyZjkwNzEzYTIzMjRhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuaApAQCAtNjEsNiArNjEsNyBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldEFjY2VsZXJhdGVkUGFpbnRpbmdFbmFibGVkKGJv
b2wpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRBbGxvd0Rpc3BsYXlPZkluc2VjdXJlQ29udGVudChi
b29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKGJv
b2wpOworICAgIHZpcnR1YWwgdm9pZCBzZXRBbGxvd0N1c3RvbVNjcm9sbGJhckluTWFpbkZyYW1l
KGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRBbGxvd1J1bm5pbmdPZkluc2VjdXJlQ29udGVu
dChib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0QWxsb3dTY3JpcHRzVG9DbG9zZVdpbmRvd3Mo
Ym9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVV
UkxzKGJvb2wpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>