<?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>102801</bug_id>
          
          <creation_ts>2012-11-20 04:42:41 -0800</creation_ts>
          <short_desc>[WK2] Viewport meta tag broken after r134801</short_desc>
          <delta_ts>2012-12-03 06:51:48 -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 Qt</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>
          <dependson>102971</dependson>
    
    <dependson>103889</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zeno Albisser">zeno</reporter>
          <assigned_to name="Mikhail Pozdnyakov">mikhail.pozdnyakov</assigned_to>
          <cc>abecsi</cc>
    
    <cc>kenneth</cc>
    
    <cc>mikhail.pozdnyakov</cc>
    
    <cc>tmpsantos</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>771750</commentid>
    <comment_count>0</comment_count>
    <who name="Zeno Albisser">zeno</who>
    <bug_when>2012-11-20 04:42:41 -0800</bug_when>
    <thetext>Loading any page that makes use of the viewport meta tag causes flickering and misplaced textures, when resizing the window.
In some cases textures are also being displayed upside down, right after loading the page. (without any resizing)
This might be an initialisation issue with a projection matrix or similar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771809</commentid>
    <comment_count>1</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-11-20 06:30:44 -0800</bug_when>
    <thetext>How did you come to blame this commit? I don&apos;t see how it can affect this and everything works perfectly on EFL. Do you have some example pages that triggers this issue, and maybe screenshots?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771810</commentid>
    <comment_count>2</comment_count>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-11-20 06:31:29 -0800</bug_when>
    <thetext>Do you have a test page? Works fine here: http://people.opera.com/andreasb/viewport/ex02.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771889</commentid>
    <comment_count>3</comment_count>
    <who name="Zeno Albisser">zeno</who>
    <bug_when>2012-11-20 08:22:07 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; How did you come to blame this commit? I don&apos;t see how it can affect this and everything works perfectly on EFL. Do you have some example pages that triggers this issue, and maybe screenshots?
Git bisect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771890</commentid>
    <comment_count>4</comment_count>
    <who name="Zeno Albisser">zeno</who>
    <bug_when>2012-11-20 08:22:29 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Do you have a test page? Works fine here: http://people.opera.com/andreasb/viewport/ex02.html

http://www.albisser.org/test/viewport.html
http://alteredqualia.com/three/examples/webgl_pasta.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771906</commentid>
    <comment_count>5</comment_count>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-11-20 08:52:12 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #2)
&gt; &gt; Do you have a test page? Works fine here: http://people.opera.com/andreasb/viewport/ex02.html
&gt; 
&gt; http://www.albisser.org/test/viewport.html

Indeed. This site is broken on Qt and EFL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771975</commentid>
    <comment_count>6</comment_count>
      <attachid>175242</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-11-20 10:26:30 -0800</bug_when>
    <thetext>Created attachment 175242
preliminary patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771987</commentid>
    <comment_count>7</comment_count>
      <attachid>175242</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-11-20 10:33:54 -0800</bug_when>
    <thetext>Comment on attachment 175242
preliminary patch.

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

&gt; Source/WebKit2/ChangeLog:11
&gt; +        Problem turned up as after m_rawAttributes.initialScale was set to &apos;-1&apos;, the function
&gt; +        WebCore::restrictScaleFactorToInitialScaleIfNotUserScalable(); was invoked from
&gt; +        PageViewportController::didChangeViewportAttributes resetting also min and max scale
&gt; +        factors to &apos;-1&apos;. 

Shouldn&apos;t we remove that call instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771992</commentid>
    <comment_count>8</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2012-11-20 10:41:30 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 175242 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=175242&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:11
&gt; &gt; +        Problem turned up as after m_rawAttributes.initialScale was set to &apos;-1&apos;, the function
&gt; &gt; +        WebCore::restrictScaleFactorToInitialScaleIfNotUserScalable(); was invoked from
&gt; &gt; +        PageViewportController::didChangeViewportAttributes resetting also min and max scale
&gt; &gt; +        factors to &apos;-1&apos;. 
&gt; 
&gt; Shouldn&apos;t we remove that call instead?

No, that call is needed. I have a complete patch to fix this issue, uploading it soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772047</commentid>
    <comment_count>9</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2012-11-20 11:33:41 -0800</bug_when>
    <thetext>The issue is actually a bit more complicated than I thought.

The main problem with leaving the initial scale -1 is that WebCore::restrictScaleFactorToInitialScaleIfNotUserScalable is called by almost all ports (qt, efl, gtk, chromium) and it seems to me, that all callers assume that the scale values in the provided attributes are valid. This was also a reason why I previously introduced a bool flag for this case.

AFAICT the solution for this is one of the following:

- we change all the call sides to calculate the initial scale if it is &lt;=0 and assert in restrictScaleFactorToInitialScaleIfNotUserScalable for initialScale

- we add a fallbackScale parameter to restrictScaleFactorToInitialScaleIfNotUserScalable and use it if initialScale &lt;= 0

- we revert r134801

I think adding a new parameter (second solution) is the proper fix for this.

Kenneth, am I right here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772732</commentid>
    <comment_count>10</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-11-21 03:10:40 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; The issue is actually a bit more complicated than I thought.
&gt; 
&gt; The main problem with leaving the initial scale -1 is that WebCore::restrictScaleFactorToInitialScaleIfNotUserScalable is called by almost all ports (qt, efl, gtk, chromium) and it seems to me, that all callers assume that the scale values in the provided attributes are valid. This was also a reason why I previously introduced a bool flag for this case.
&gt; 
&gt; AFAICT the solution for this is one of the following:
&gt; 
&gt; - we change all the call sides to calculate the initial scale if it is &lt;=0 and assert in restrictScaleFactorToInitialScaleIfNotUserScalable for initialScale
&gt; 
&gt; - we add a fallbackScale parameter to restrictScaleFactorToInitialScaleIfNotUserScalable and use it if initialScale &lt;= 0
&gt; 
&gt; - we revert r134801
&gt; 
&gt; I think adding a new parameter (second solution) is the proper fix for this.
&gt; 
&gt; Kenneth, am I right here?

I would also go for number two. Basically restricting the min and max scale factors to the initial one is not part of the viewport meta algorithm, but more of an implementation detail.

Maybe just restrict to the minimum scale value then?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772765</commentid>
    <comment_count>11</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-11-21 03:37:08 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; The issue is actually a bit more complicated than I thought.
&gt; &gt; 
&gt; &gt; The main problem with leaving the initial scale -1 is that WebCore::restrictScaleFactorToInitialScaleIfNotUserScalable is called by almost all ports (qt, efl, gtk, chromium) and it seems to me, that all callers assume that the scale values in the provided attributes are valid. This was also a reason why I previously introduced a bool flag for this case.
&gt; &gt; 
&gt; &gt; AFAICT the solution for this is one of the following:
&gt; &gt; 
&gt; &gt; - we change all the call sides to calculate the initial scale if it is &lt;=0 and assert in restrictScaleFactorToInitialScaleIfNotUserScalable for initialScale
&gt; &gt; 
&gt; &gt; - we add a fallbackScale parameter to restrictScaleFactorToInitialScaleIfNotUserScalable and use it if initialScale &lt;= 0
&gt; &gt; 
&gt; &gt; - we revert r134801
&gt; &gt; 
&gt; &gt; I think adding a new parameter (second solution) is the proper fix for this.
&gt; &gt; 
&gt; &gt; Kenneth, am I right here?
&gt; 
&gt; I would also go for number two. Basically restricting the min and max scale factors to the initial one is not part of the viewport meta algorithm, but more of an implementation detail.
&gt; 
&gt; Maybe just restrict to the minimum scale value then?
Also would like to add that initial scale is set to &apos;-1&apos; only for WK2 at the moment, think the same approach should be spread for all ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772766</commentid>
    <comment_count>12</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-11-21 03:40:06 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; (In reply to comment #9)
&gt; &gt; &gt; The issue is actually a bit more complicated than I thought.
&gt; &gt; &gt; 
&gt; &gt; &gt; The main problem with leaving the initial scale -1 is that WebCore::restrictScaleFactorToInitialScaleIfNotUserScalable is called by almost all ports (qt, efl, gtk, chromium) and it seems to me, that all callers assume that the scale values in the provided attributes are valid. This was also a reason why I previously introduced a bool flag for this case.
&gt; &gt; &gt; 
&gt; &gt; &gt; AFAICT the solution for this is one of the following:
&gt; &gt; &gt; 
&gt; &gt; &gt; - we change all the call sides to calculate the initial scale if it is &lt;=0 and assert in restrictScaleFactorToInitialScaleIfNotUserScalable for initialScale
&gt; &gt; &gt; 
&gt; &gt; &gt; - we add a fallbackScale parameter to restrictScaleFactorToInitialScaleIfNotUserScalable and use it if initialScale &lt;= 0
&gt; &gt; &gt; 
&gt; &gt; &gt; - we revert r134801
&gt; &gt; &gt; 
&gt; &gt; &gt; I think adding a new parameter (second solution) is the proper fix for this.
&gt; &gt; &gt; 
&gt; &gt; &gt; Kenneth, am I right here?
&gt; &gt; 
&gt; &gt; I would also go for number two. Basically restricting the min and max scale factors to the initial one is not part of the viewport meta algorithm, but more of an implementation detail.
&gt; &gt; 
&gt; &gt; Maybe just restrict to the minimum scale value then?
&gt; Also would like to add that initial scale is set to &apos;-1&apos; only for WK2 at the moment, think the same approach should be spread for all ports.

There is outcommented code in ViewportArguments class to do this for everyone</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772778</commentid>
    <comment_count>13</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-11-21 03:55:27 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; (In reply to comment #10)
&gt; &gt; &gt; (In reply to comment #9)
&gt; &gt; &gt; &gt; The issue is actually a bit more complicated than I thought.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; The main problem with leaving the initial scale -1 is that WebCore::restrictScaleFactorToInitialScaleIfNotUserScalable is called by almost all ports (qt, efl, gtk, chromium) and it seems to me, that all callers assume that the scale values in the provided attributes are valid. This was also a reason why I previously introduced a bool flag for this case.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; AFAICT the solution for this is one of the following:
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; - we change all the call sides to calculate the initial scale if it is &lt;=0 and assert in restrictScaleFactorToInitialScaleIfNotUserScalable for initialScale
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; - we add a fallbackScale parameter to restrictScaleFactorToInitialScaleIfNotUserScalable and use it if initialScale &lt;= 0
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; - we revert r134801
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; I think adding a new parameter (second solution) is the proper fix for this.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Kenneth, am I right here?
&gt; &gt; &gt; 
&gt; &gt; &gt; I would also go for number two. Basically restricting the min and max scale factors to the initial one is not part of the viewport meta algorithm, but more of an implementation detail.
&gt; &gt; &gt; 
&gt; &gt; &gt; Maybe just restrict to the minimum scale value then?
&gt; &gt; Also would like to add that initial scale is set to &apos;-1&apos; only for WK2 at the moment, think the same approach should be spread for all ports.
&gt; 
&gt; There is outcommented code in ViewportArguments class to do this for everyone
If we do not want to set initial scale to -1 for everyone hence we don&apos;t need to touch restrictScaleFactorToInitialScaleIfNotUserScalable, and my &quot;preliminary patch&quot; is acceptable, as it treats WK2 only which is only broken.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772782</commentid>
    <comment_count>14</comment_count>
      <attachid>175242</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-11-21 04:00:49 -0800</bug_when>
    <thetext>Comment on attachment 175242
preliminary patch.

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

&gt; Source/WebKit2/UIProcess/PageViewportController.cpp:220
&gt;  
&gt;      m_rawAttributes = newAttributes;
&gt; +    if (m_rawAttributes.initialScale &lt; 0)
&gt; +        m_rawAttributes.initialScale = m_minimumScaleToFit;
&gt;      WebCore::restrictScaleFactorToInitialScaleIfNotUserScalable(m_rawAttributes);
&gt;  
&gt;      m_allowsUserScaling = !!m_rawAttributes.userScalable;

Are you sure m_minimumScaleToFit is set correctly at this point? I believe this is called before contentSize is changed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772807</commentid>
    <comment_count>15</comment_count>
      <attachid>175413</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2012-11-21 04:46:56 -0800</bug_when>
    <thetext>Created attachment 175413
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772812</commentid>
    <comment_count>16</comment_count>
      <attachid>175414</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2012-11-21 04:56:31 -0800</bug_when>
    <thetext>Created attachment 175414
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772825</commentid>
    <comment_count>17</comment_count>
      <attachid>175414</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-11-21 05:24:41 -0800</bug_when>
    <thetext>Comment on attachment 175414
Patch

isn&apos;t it worth adding layout tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772855</commentid>
    <comment_count>18</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2012-11-21 05:56:40 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 175414 [details])
&gt; isn&apos;t it worth adding layout tests?

Layout tests do not use this code-path on Qt (fit-to-width), but extending the QML unit tests would be possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772882</commentid>
    <comment_count>19</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-11-21 06:28:59 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; (In reply to comment #17)
&gt; &gt; (From update of attachment 175414 [details] [details])
&gt; &gt; isn&apos;t it worth adding layout tests?
&gt; 
&gt; Layout tests do not use this code-path on Qt (fit-to-width), but extending the QML unit tests would be possible.

It should be possible to test that with layout tests now. Thiago Santos added support for that, though I am not sure the patch for Qt landed yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772906</commentid>
    <comment_count>20</comment_count>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-11-21 06:44:12 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; (In reply to comment #18)
&gt; &gt; (In reply to comment #17)
&gt; &gt; &gt; (From update of attachment 175414 [details] [details] [details])
&gt; &gt; &gt; isn&apos;t it worth adding layout tests?
&gt; &gt; 
&gt; &gt; Layout tests do not use this code-path on Qt (fit-to-width), but extending the QML unit tests would be possible.
&gt; 
&gt; It should be possible to test that with layout tests now. Thiago Santos added support for that, though I am not sure the patch for Qt landed yet.

Landed on bug 102811.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772926</commentid>
    <comment_count>21</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2012-11-21 07:04:20 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; (In reply to comment #18)
&gt; &gt; (In reply to comment #17)
&gt; &gt; &gt; (From update of attachment 175414 [details] [details] [details])
&gt; &gt; &gt; isn&apos;t it worth adding layout tests?
&gt; &gt; 
&gt; &gt; Layout tests do not use this code-path on Qt (fit-to-width), but extending the QML unit tests would be possible.
&gt; 
&gt; It should be possible to test that with layout tests now. Thiago Santos added support for that, though I am not sure the patch for Qt landed yet.

Indeed, I missed that change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772932</commentid>
    <comment_count>22</comment_count>
      <attachid>175414</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2012-11-21 07:08:49 -0800</bug_when>
    <thetext>Comment on attachment 175414
Patch

Clearing flags on attachment: 175414

Committed r135399: &lt;http://trac.webkit.org/changeset/135399&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772933</commentid>
    <comment_count>23</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2012-11-21 07:08:55 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772949</commentid>
    <comment_count>24</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2012-11-21 07:28:36 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; (In reply to comment #19)
&gt; &gt; (In reply to comment #18)
&gt; &gt; &gt; (In reply to comment #17)
&gt; &gt; &gt; &gt; (From update of attachment 175414 [details] [details] [details] [details])
&gt; &gt; &gt; &gt; isn&apos;t it worth adding layout tests?
&gt; &gt; &gt; 
&gt; &gt; &gt; Layout tests do not use this code-path on Qt (fit-to-width), but extending the QML unit tests would be possible.
&gt; &gt; 
&gt; &gt; It should be possible to test that with layout tests now. Thiago Santos added support for that, though I am not sure the patch for Qt landed yet.
&gt; 
&gt; Indeed, I missed that change.

Since the preferred event handling behaviour for the flickable webview is not completely established yet, I think using fixed layout for layout testing is still somewhat unreliable on Qt, also because some initialization for Flickable depends on the onComponentComplete signal which is only emitted if the view was instantiated using QML.

So if we add layout tests that use the feature we should be careful with the behaviour.
As soon as we have free resources we&apos;re going to address these issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>773167</commentid>
    <comment_count>25</comment_count>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-11-21 12:10:56 -0800</bug_when>
    <thetext>This patch caused regression on the EFL bots:

crash log for WebKitTestRunner (pid 4198):
STDOUT: &lt;empty&gt;
STDERR: ASSERTION FAILED: m_rawAttributes.initialScale &gt; 0
STDERR: /home/buildslave-1/webkit-buildslave/efl-linux-64-debug-wk2/build/Source/WebKit2/UIProcess/PageViewportController.cpp(152) : void WebKit::PageViewportController::pageTransitionViewportReady()
STDERR: 1   0x7f6af371abfa WebKit::PageViewportController::pageTransitionViewportReady()
STDERR: 2   0x7f6af393e405 WebKit::PageClientDefaultImpl::pageTransitionViewportReady()
STDERR: 3   0x7f6af37703d5 WebKit::WebPageProxy::pageTransitionViewportReady()
STDERR: 4   0x7f6af397672a void CoreIPC::callMemberFunction&lt;WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)()&gt;(CoreIPC::Arguments0 const&amp;, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)())
STDERR: 5   0x7f6af3972d36 void CoreIPC::handleMessage&lt;Messages::WebPageProxy::PageTransitionViewportReady, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)()&gt;(CoreIPC::MessageDecoder&amp;, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)())
STDERR: 6   0x7f6af396c149 WebKit::WebPageProxy::didReceiveWebPageProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&amp;)
STDERR: 7   0x7f6af376b779 WebKit::WebPageProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&amp;)
STDERR: 8   0x7f6af37ac895 WebKit::WebProcessProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&amp;)
STDERR: 9   0x7f6af3694d04 CoreIPC::Connection::dispatchMessage(CoreIPC::MessageID, CoreIPC::MessageDecoder&amp;)
STDERR: 10  0x7f6af3694e70 CoreIPC::Connection::dispatchMessage(CoreIPC::Connection::Message&lt;CoreIPC::MessageDecoder&gt;&amp;)
STDERR: 11  0x7f6af36950bb CoreIPC::Connection::dispatchOneMessage()
STDERR: 12  0x7f6af369f25c WTF::FunctionWrapper&lt;void (CoreIPC::Connection::*)()&gt;::operator()(CoreIPC::Connection*)
STDERR: 13  0x7f6af369f062 WTF::BoundFunctionImpl&lt;WTF::FunctionWrapper&lt;void (CoreIPC::Connection::*)()&gt;, void (CoreIPC::Connection*)&gt;::operator()()
STDERR: 14  0x7f6afa840dca WTF::Function&lt;void ()&gt;::operator()() const
STDERR: 15  0x7f6af6d09baa WebCore::RunLoop::performWork()
STDERR: 16  0x7f6af77274c7 WebCore::RunLoop::wakeUpEvent(void*, void*, unsigned int)
STDERR: 17  0x7f6af2aa8621
STDERR: 18  0x7f6af2aa7571
STDERR: 19  0x7f6af2aa7ab7 ecore_main_loop_begin
STDERR: 20  0x43362b WTR::TestController::platformRunUntil(bool&amp;, double)
STDERR: 21  0x41e94e WTR::TestController::runUntil(bool&amp;, WTR::TestController::TimeoutDuration)
STDERR: 22  0x41de6b WTR::TestController::resetStateToConsistentValues()
STDERR: 23  0x425ac2 WTR::TestInvocation::invoke()
STDERR: 24  0x41e686 WTR::TestController::runTest(char const*)
STDERR: 25  0x41e7bf WTR::TestController::runTestingServerLoop()
STDERR: 26  0x41e859 WTR::TestController::run()
STDERR: 27  0x41c291 WTR::TestController::TestController(int, char const**)
STDERR: 28  0x4337c6 main
STDERR: 29  0x7f6af160876d __libc_start_main
STDERR: 30  0x41ac09
STDERR: LEAK: 4 WebCoreNode</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175242</attachid>
            <date>2012-11-20 10:26:30 -0800</date>
            <delta_ts>2012-11-21 04:46:51 -0800</delta_ts>
            <desc>preliminary patch.</desc>
            <filename>bug102801</filename>
            <type>text/plain</type>
            <size>2545</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IGEyYTliYTE1ZDA1ZGEyNzJmMWQ4ODQxMDBmZmI0ZjY5ZjVmNzkyYzUKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
VHVlIE5vdiAyMCAyMDoyMDo1MiAyMDEyICswMjAwCgogICAgYnVnMTAyODAxCgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmlu
ZGV4IDQyMThjMWYuLmRmMjBmYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMi0x
MS0yMCAgTWlraGFpbCBQb3pkbnlha292ICA8bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4K
KworICAgICAgICBbUXRdIFZpZXdwb3J0IG1ldGEgdGFnIGJyb2tlbiBhZnRlciByMTM0ODAxLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyODAxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUHJvYmxlbSB0
dXJuZWQgdXAgYXMgYWZ0ZXIgbV9yYXdBdHRyaWJ1dGVzLmluaXRpYWxTY2FsZSB3YXMgc2V0IHRv
ICctMScsIHRoZSBmdW5jdGlvbgorICAgICAgICBXZWJDb3JlOjpyZXN0cmljdFNjYWxlRmFjdG9y
VG9Jbml0aWFsU2NhbGVJZk5vdFVzZXJTY2FsYWJsZSgpOyB3YXMgaW52b2tlZCBmcm9tCisgICAg
ICAgIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OmRpZENoYW5nZVZpZXdwb3J0QXR0cmlidXRlcyBy
ZXNldHRpbmcgYWxzbyBtaW4gYW5kIG1heCBzY2FsZQorICAgICAgICBmYWN0b3JzIHRvICctMScu
IAorCisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVyOjpwYWdlVHJhbnNpdGlvblZpZXdw
b3J0UmVhZHkpOgorICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVyOjpkaWRD
aGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXMpOgorCiAyMDEyLTExLTIwICBBbGxhbiBTYW5kZmVsZCBK
ZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29tPgogCiAgICAgICAgIFtRdF0gUGFnZVZpZXdw
b3J0Q29udHJvbGxlckNsaWVudDo6ZGlkQ2hhbmdlVmlld3BvcnRBdHRyaWJ1dGVzIGNhbGxlZCB0
d2ljZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRy
b2xsZXIuY3BwCmluZGV4IDdjYTBhOTMuLmQwYmNiNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJvbGxlci5jcHAKQEAgLTE0NSw4ICsxNDUs
OCBAQCB2b2lkIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OnBhZ2VUcmFuc2l0aW9uVmlld3BvcnRS
ZWFkeSgpCiB7CiAgICAgaWYgKCFtX3Jhd0F0dHJpYnV0ZXMubGF5b3V0U2l6ZS5pc0VtcHR5KCkp
IHsKICAgICAgICAgbV9oYWRVc2VySW50ZXJhY3Rpb24gPSBmYWxzZTsKLSAgICAgICAgZmxvYXQg
aW5pdGlhbFNjYWxlID0gKG1fcmF3QXR0cmlidXRlcy5pbml0aWFsU2NhbGUgPCAwKSA/IG1fbWlu
aW11bVNjYWxlVG9GaXQgOiBtX3Jhd0F0dHJpYnV0ZXMuaW5pdGlhbFNjYWxlOwotICAgICAgICBh
cHBseVNjYWxlQWZ0ZXJSZW5kZXJpbmdDb250ZW50cyhpbm5lckJvdW5kZWRWaWV3cG9ydFNjYWxl
KHRvVmlld3BvcnRTY2FsZShpbml0aWFsU2NhbGUpKSk7CisgICAgICAgIEFTU0VSVChtX3Jhd0F0
dHJpYnV0ZXMuaW5pdGlhbFNjYWxlKTsKKyAgICAgICAgYXBwbHlTY2FsZUFmdGVyUmVuZGVyaW5n
Q29udGVudHMoaW5uZXJCb3VuZGVkVmlld3BvcnRTY2FsZSh0b1ZpZXdwb3J0U2NhbGUobV9yYXdB
dHRyaWJ1dGVzLmluaXRpYWxTY2FsZSkpKTsKICAgICB9CiAKICAgICAvLyBBdCB0aGlzIHBvaW50
IHdlIHNob3VsZCBhbHJlYWR5IGhhdmUgcmVjZWl2ZWQgdGhlIGZpcnN0IHZpZXdwb3J0IGFyZ3Vt
ZW50cyBhbmQgdGhlIHJlcXVlc3RlZCBzY3JvbGwKQEAgLTIxMyw2ICsyMTMsOCBAQCB2b2lkIFBh
Z2VWaWV3cG9ydENvbnRyb2xsZXI6OmRpZENoYW5nZVZpZXdwb3J0QXR0cmlidXRlcyhjb25zdCBX
ZWJDb3JlOjpWaWV3cG9ydAogICAgICAgICByZXR1cm47CiAKICAgICBtX3Jhd0F0dHJpYnV0ZXMg
PSBuZXdBdHRyaWJ1dGVzOworICAgIGlmIChtX3Jhd0F0dHJpYnV0ZXMuaW5pdGlhbFNjYWxlIDwg
MCkKKyAgICAgICAgbV9yYXdBdHRyaWJ1dGVzLmluaXRpYWxTY2FsZSA9IG1fbWluaW11bVNjYWxl
VG9GaXQ7CiAgICAgV2ViQ29yZTo6cmVzdHJpY3RTY2FsZUZhY3RvclRvSW5pdGlhbFNjYWxlSWZO
b3RVc2VyU2NhbGFibGUobV9yYXdBdHRyaWJ1dGVzKTsKIAogICAgIG1fYWxsb3dzVXNlclNjYWxp
bmcgPSAhIW1fcmF3QXR0cmlidXRlcy51c2VyU2NhbGFibGU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175413</attachid>
            <date>2012-11-21 04:46:56 -0800</date>
            <delta_ts>2012-11-21 04:56:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102801-20121121134418.patch</filename>
            <type>text/plain</type>
            <size>4708</size>
            <attacher name="Andras Becsi">abecsi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1Mjk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZGMxMmE5OTMwNzVkMWEy
ODUyZmQxODMwMTQ4NWYwYmY5YzYxZjRhYy4uM2YxYjM2MTFkZGY4YmQwNmQ3YjcyNDY5NjFlYzQx
ZjU5MzNlOGNmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTExLTIxICBBbmRy
YXMgQmVjc2kgIDxhbmRyYXMuYmVjc2lAZGlnaWEuY29tPgorCisgICAgICAgIFtXSzJdIFZpZXdw
b3J0IG1ldGEgdGFnIGJyb2tlbiBhZnRlciByMTM0ODAxCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI4MDEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJZiB0aGUgaW5pdGlhbC1zY2FsZSBhdHRyaWJ1dGUg
aXMgbm90IGV4cGxpY2l0bHkgc3BlY2lmaWVkIGl0IGlzIGxlZnQgLTEgYnkgdGhlCisgICAgICAg
IHZpZXdwb3J0IG1ldGEgYWxnb3JpdGhtIGFuZCBpZiB0aGUgY29udGVudCBpcyBub3Qgc2NhbGFi
bGUgdGhlIG1pbiBhbmQgbWF4IHNjYWxlcworICAgICAgICBhcmUgcmVzdHJpY3RlZCBieSByZXN0
cmljdFNjYWxlRmFjdG9yVG9Jbml0aWFsU2NhbGVJZk5vdFVzZXJTY2FsYWJsZSgpIHdoaWNoIHJl
c3VsdGVkCisgICAgICAgIGluIG5lZ2F0aXZlIHNjYWxlcyBvbiB0aGUgVUkgc2lkZS4KKyAgICAg
ICAgTWFrZSBzdXJlIHRoYXQgdGhlIG1pbmltdW0gc2NhbGUgdG8gZml0IHRoZSB2aWV3cG9ydCBp
cyBjYWxjdWxhdGVkIGJlZm9yZSByZXN0cmljdGluZworICAgICAgICB0aGUgc2NhbGVzIGFuZCB1
c2UgdGhpcyBzY2FsZSBhcyB0aGUgaW5pdGlhbCBzY2FsZSBpZiBubyBleHBsaWNpdCBpbml0aWFs
IHNjYWxlIHdhcyBzZXQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJv
bGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OlBhZ2VW
aWV3cG9ydENvbnRyb2xsZXIpOgorICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9s
bGVyOjpwYWdlVHJhbnNpdGlvblZpZXdwb3J0UmVhZHkpOgorICAgICAgICAoV2ViS2l0OjpQYWdl
Vmlld3BvcnRDb250cm9sbGVyOjpkaWRDaGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXMpOgorICAgICAg
ICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVyOjp1cGRhdGVNaW5pbXVtU2NhbGVUb0Zp
dCk6CisKIDIwMTItMTEtMjAgIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIENvbnNvbGlkYXRlIEZyYW1lTG9hZGVyOjpsb2FkKCkgaW50byBvbmUgZnVu
Y3Rpb24gdGFraW5nIGEgRnJhbWVMb2FkUmVxdWVzdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuY3BwCmluZGV4IDdjYTBhOTNiMmZlMjMx
YjNlNTQ4YjFjNTE2Njc0YzczMjUxNGQ4NmIuLjM4MGE3ZGJkMTdlYTk5ODVhMzgwMTNkNjMwNjZm
Yjc4ODY4MTRjMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmll
d3BvcnRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZp
ZXdwb3J0Q29udHJvbGxlci5jcHAKQEAgLTUyLDExICs1MiwxNSBAQCBQYWdlVmlld3BvcnRDb250
cm9sbGVyOjpQYWdlVmlld3BvcnRDb250cm9sbGVyKFdlYktpdDo6V2ViUGFnZVByb3h5KiBwcm94
eSwgUGFnZQogewogICAgIC8vIEluaXRpYWxpemluZyBWaWV3cG9ydCBSYXcgQXR0cmlidXRlcyB0
byBhdm9pZCByYW5kb20gbmVnYXRpdmUgb3IgaW5maW5pdHkgc2NhbGUgZmFjdG9ycwogICAgIC8v
IGlmIHRoZXJlIGlzIGEgcmFjZSBjb25kaXRpb24gYmV0d2VlbiB0aGUgZmlyc3QgbGF5b3V0IGFu
ZCBzZXR0aW5nIHRoZSB2aWV3cG9ydCBhdHRyaWJ1dGVzIGZvciB0aGUgZmlyc3QgdGltZS4KLSAg
ICBtX3Jhd0F0dHJpYnV0ZXMuaW5pdGlhbFNjYWxlID0gMTsKICAgICBtX3Jhd0F0dHJpYnV0ZXMu
bWluaW11bVNjYWxlID0gMTsKICAgICBtX3Jhd0F0dHJpYnV0ZXMubWF4aW11bVNjYWxlID0gMTsK
ICAgICBtX3Jhd0F0dHJpYnV0ZXMudXNlclNjYWxhYmxlID0gbV9hbGxvd3NVc2VyU2NhbGluZzsK
IAorICAgIC8vIFRoZSBpbml0aWFsIHNjYWxlIG1pZ2h0IGJlIGltcGxpY2l0IGFuZCBzZXQgdG8g
LTEsIGluIHRoaXMgY2FzZSB3ZSBoYXZlIHRvIGluZmVyIGl0CisgICAgLy8gdXNpbmcgdGhlIHZp
ZXdwb3J0IHNpemUgYW5kIHRoZSBmaW5hbCBsYXlvdXQgc2l6ZS4KKyAgICAvLyBUbyBiZSBhYmxl
IHRvIGFzc2VydCBmb3IgdmFsaWQgc2NhbGUgd2UgaW5pdGlhbGl6ZSBpdCB0byAtMS4KKyAgICBt
X3Jhd0F0dHJpYnV0ZXMuaW5pdGlhbFNjYWxlID0gLTE7CisKICAgICBBU1NFUlQobV9jbGllbnQp
OwogICAgIG1fY2xpZW50LT5zZXRDb250cm9sbGVyKHRoaXMpOwogfQpAQCAtMTQ1LDggKzE0OSw4
IEBAIHZvaWQgUGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6cGFnZVRyYW5zaXRpb25WaWV3cG9ydFJl
YWR5KCkKIHsKICAgICBpZiAoIW1fcmF3QXR0cmlidXRlcy5sYXlvdXRTaXplLmlzRW1wdHkoKSkg
ewogICAgICAgICBtX2hhZFVzZXJJbnRlcmFjdGlvbiA9IGZhbHNlOwotICAgICAgICBmbG9hdCBp
bml0aWFsU2NhbGUgPSAobV9yYXdBdHRyaWJ1dGVzLmluaXRpYWxTY2FsZSA8IDApID8gbV9taW5p
bXVtU2NhbGVUb0ZpdCA6IG1fcmF3QXR0cmlidXRlcy5pbml0aWFsU2NhbGU7Ci0gICAgICAgIGFw
cGx5U2NhbGVBZnRlclJlbmRlcmluZ0NvbnRlbnRzKGlubmVyQm91bmRlZFZpZXdwb3J0U2NhbGUo
dG9WaWV3cG9ydFNjYWxlKGluaXRpYWxTY2FsZSkpKTsKKyAgICAgICAgQVNTRVJUKG1fcmF3QXR0
cmlidXRlcy5pbml0aWFsU2NhbGUgPiAwKTsKKyAgICAgICAgYXBwbHlTY2FsZUFmdGVyUmVuZGVy
aW5nQ29udGVudHMoaW5uZXJCb3VuZGVkVmlld3BvcnRTY2FsZSh0b1ZpZXdwb3J0U2NhbGUobV9y
YXdBdHRyaWJ1dGVzLmluaXRpYWxTY2FsZSkpKTsKICAgICB9CiAKICAgICAvLyBBdCB0aGlzIHBv
aW50IHdlIHNob3VsZCBhbHJlYWR5IGhhdmUgcmVjZWl2ZWQgdGhlIGZpcnN0IHZpZXdwb3J0IGFy
Z3VtZW50cyBhbmQgdGhlIHJlcXVlc3RlZCBzY3JvbGwKQEAgLTIxMywxMCArMjE3LDE1IEBAIHZv
aWQgUGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6ZGlkQ2hhbmdlVmlld3BvcnRBdHRyaWJ1dGVzKGNv
bnN0IFdlYkNvcmU6OlZpZXdwb3J0CiAgICAgICAgIHJldHVybjsKIAogICAgIG1fcmF3QXR0cmli
dXRlcyA9IG5ld0F0dHJpYnV0ZXM7Ci0gICAgV2ViQ29yZTo6cmVzdHJpY3RTY2FsZUZhY3RvclRv
SW5pdGlhbFNjYWxlSWZOb3RVc2VyU2NhbGFibGUobV9yYXdBdHRyaWJ1dGVzKTsKLQogICAgIG1f
YWxsb3dzVXNlclNjYWxpbmcgPSAhIW1fcmF3QXR0cmlidXRlcy51c2VyU2NhbGFibGU7Ci0gICAg
dXBkYXRlTWluaW11bVNjYWxlVG9GaXQoKTsKKworICAgIC8vIFRoaXMgaXMgYWxzbyByZXNwb25z
aWJsZSBmb3Igc2V0dGluZyB0aGUgaW5pdGlhbCBzY2FsZSBpZiBpdCBpcyBpbXBsaWNpdCAoZWcu
IGF1dG8pLgorICAgIGlmICghdXBkYXRlTWluaW11bVNjYWxlVG9GaXQoKSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgQVNTRVJUKG1fcmF3QXR0cmlidXRlcy5pbml0aWFsU2NhbGUgPiAwKTsKKwor
ICAgIFdlYkNvcmU6OnJlc3RyaWN0U2NhbGVGYWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNj
YWxhYmxlKG1fcmF3QXR0cmlidXRlcyk7CiAKICAgICBtX2NsaWVudC0+ZGlkQ2hhbmdlVmlld3Bv
cnRBdHRyaWJ1dGVzKCk7CiB9CkBAIC0yNjIsMTEgKzI3MSwxNyBAQCB2b2lkIFBhZ2VWaWV3cG9y
dENvbnRyb2xsZXI6OmFwcGx5UG9zaXRpb25BZnRlclJlbmRlcmluZ0NvbnRlbnRzKGNvbnN0IEZs
b2F0UG9pbgogCiBib29sIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OnVwZGF0ZU1pbmltdW1TY2Fs
ZVRvRml0KCkKIHsKLSAgICBpZiAobV92aWV3cG9ydFNpemUuaXNFbXB0eSgpKQorICAgIGlmICht
X3ZpZXdwb3J0U2l6ZS5pc0VtcHR5KCkgfHwgbV9jb250ZW50c1NpemUuaXNFbXB0eSgpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBmbG9hdCBtaW5pbXVtU2NhbGUgPSBXZWJDb3JlOjpj
b21wdXRlTWluaW11bVNjYWxlRmFjdG9yRm9yQ29udGVudENvbnRhaW5lZChtX3Jhd0F0dHJpYnV0
ZXMsIFdlYkNvcmU6OnJvdW5kZWRJbnRTaXplKG1fdmlld3BvcnRTaXplKSwgV2ViQ29yZTo6cm91
bmRlZEludFNpemUobV9jb250ZW50c1NpemUpLCBkZXZpY2VQaXhlbFJhdGlvKCkpOwogCisgICAg
aWYgKG1pbmltdW1TY2FsZSA8PSAwKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAo
bV9yYXdBdHRyaWJ1dGVzLmluaXRpYWxTY2FsZSA8IDApCisgICAgICAgIG1fcmF3QXR0cmlidXRl
cy5pbml0aWFsU2NhbGUgPSBtaW5pbXVtU2NhbGU7CisKICAgICBpZiAoIWZ1enp5Q29tcGFyZSht
aW5pbXVtU2NhbGUsIG1fbWluaW11bVNjYWxlVG9GaXQsIDAuMDAxKSkgewogICAgICAgICBtX21p
bmltdW1TY2FsZVRvRml0ID0gbWluaW11bVNjYWxlOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175414</attachid>
            <date>2012-11-21 04:56:31 -0800</date>
            <delta_ts>2012-11-21 07:08:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102801-20121121135353.patch</filename>
            <type>text/plain</type>
            <size>4693</size>
            <attacher name="Andras Becsi">abecsi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1Mjk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZGMxMmE5OTMwNzVkMWEy
ODUyZmQxODMwMTQ4NWYwYmY5YzYxZjRhYy4uM2YxYjM2MTFkZGY4YmQwNmQ3YjcyNDY5NjFlYzQx
ZjU5MzNlOGNmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTExLTIxICBBbmRy
YXMgQmVjc2kgIDxhbmRyYXMuYmVjc2lAZGlnaWEuY29tPgorCisgICAgICAgIFtXSzJdIFZpZXdw
b3J0IG1ldGEgdGFnIGJyb2tlbiBhZnRlciByMTM0ODAxCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI4MDEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJZiB0aGUgaW5pdGlhbC1zY2FsZSBhdHRyaWJ1dGUg
aXMgbm90IGV4cGxpY2l0bHkgc3BlY2lmaWVkIGl0IGlzIGxlZnQgLTEgYnkgdGhlCisgICAgICAg
IHZpZXdwb3J0IG1ldGEgYWxnb3JpdGhtIGFuZCBpZiB0aGUgY29udGVudCBpcyBub3Qgc2NhbGFi
bGUgdGhlIG1pbiBhbmQgbWF4IHNjYWxlcworICAgICAgICBhcmUgcmVzdHJpY3RlZCBieSByZXN0
cmljdFNjYWxlRmFjdG9yVG9Jbml0aWFsU2NhbGVJZk5vdFVzZXJTY2FsYWJsZSgpIHdoaWNoIHJl
c3VsdGVkCisgICAgICAgIGluIG5lZ2F0aXZlIHNjYWxlcyBvbiB0aGUgVUkgc2lkZS4KKyAgICAg
ICAgTWFrZSBzdXJlIHRoYXQgdGhlIG1pbmltdW0gc2NhbGUgdG8gZml0IHRoZSB2aWV3cG9ydCBp
cyBjYWxjdWxhdGVkIGJlZm9yZSByZXN0cmljdGluZworICAgICAgICB0aGUgc2NhbGVzIGFuZCB1
c2UgdGhpcyBzY2FsZSBhcyB0aGUgaW5pdGlhbCBzY2FsZSBpZiBubyBleHBsaWNpdCBpbml0aWFs
IHNjYWxlIHdhcyBzZXQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJv
bGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OlBhZ2VW
aWV3cG9ydENvbnRyb2xsZXIpOgorICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9s
bGVyOjpwYWdlVHJhbnNpdGlvblZpZXdwb3J0UmVhZHkpOgorICAgICAgICAoV2ViS2l0OjpQYWdl
Vmlld3BvcnRDb250cm9sbGVyOjpkaWRDaGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXMpOgorICAgICAg
ICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVyOjp1cGRhdGVNaW5pbXVtU2NhbGVUb0Zp
dCk6CisKIDIwMTItMTEtMjAgIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIENvbnNvbGlkYXRlIEZyYW1lTG9hZGVyOjpsb2FkKCkgaW50byBvbmUgZnVu
Y3Rpb24gdGFraW5nIGEgRnJhbWVMb2FkUmVxdWVzdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuY3BwCmluZGV4IDdjYTBhOTNiMmZlMjMx
YjNlNTQ4YjFjNTE2Njc0YzczMjUxNGQ4NmIuLjM1ZjM2MWNhZDk4YTA4ODk0MzQwOGNkYmVhZmM2
NGFjMDk3ODg4MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmll
d3BvcnRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZp
ZXdwb3J0Q29udHJvbGxlci5jcHAKQEAgLTUyLDExICs1MiwxNSBAQCBQYWdlVmlld3BvcnRDb250
cm9sbGVyOjpQYWdlVmlld3BvcnRDb250cm9sbGVyKFdlYktpdDo6V2ViUGFnZVByb3h5KiBwcm94
eSwgUGFnZQogewogICAgIC8vIEluaXRpYWxpemluZyBWaWV3cG9ydCBSYXcgQXR0cmlidXRlcyB0
byBhdm9pZCByYW5kb20gbmVnYXRpdmUgb3IgaW5maW5pdHkgc2NhbGUgZmFjdG9ycwogICAgIC8v
IGlmIHRoZXJlIGlzIGEgcmFjZSBjb25kaXRpb24gYmV0d2VlbiB0aGUgZmlyc3QgbGF5b3V0IGFu
ZCBzZXR0aW5nIHRoZSB2aWV3cG9ydCBhdHRyaWJ1dGVzIGZvciB0aGUgZmlyc3QgdGltZS4KLSAg
ICBtX3Jhd0F0dHJpYnV0ZXMuaW5pdGlhbFNjYWxlID0gMTsKICAgICBtX3Jhd0F0dHJpYnV0ZXMu
bWluaW11bVNjYWxlID0gMTsKICAgICBtX3Jhd0F0dHJpYnV0ZXMubWF4aW11bVNjYWxlID0gMTsK
ICAgICBtX3Jhd0F0dHJpYnV0ZXMudXNlclNjYWxhYmxlID0gbV9hbGxvd3NVc2VyU2NhbGluZzsK
IAorICAgIC8vIFRoZSBpbml0aWFsIHNjYWxlIG1pZ2h0IGJlIGltcGxpY2l0IGFuZCBzZXQgdG8g
LTEsIGluIHRoaXMgY2FzZSB3ZSBoYXZlIHRvIGluZmVyIGl0CisgICAgLy8gdXNpbmcgdGhlIHZp
ZXdwb3J0IHNpemUgYW5kIHRoZSBmaW5hbCBsYXlvdXQgc2l6ZS4KKyAgICAvLyBUbyBiZSBhYmxl
IHRvIGFzc2VydCBmb3IgdmFsaWQgc2NhbGUgd2UgaW5pdGlhbGl6ZSBpdCB0byAtMS4KKyAgICBt
X3Jhd0F0dHJpYnV0ZXMuaW5pdGlhbFNjYWxlID0gLTE7CisKICAgICBBU1NFUlQobV9jbGllbnQp
OwogICAgIG1fY2xpZW50LT5zZXRDb250cm9sbGVyKHRoaXMpOwogfQpAQCAtMTQ1LDggKzE0OSw4
IEBAIHZvaWQgUGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6cGFnZVRyYW5zaXRpb25WaWV3cG9ydFJl
YWR5KCkKIHsKICAgICBpZiAoIW1fcmF3QXR0cmlidXRlcy5sYXlvdXRTaXplLmlzRW1wdHkoKSkg
ewogICAgICAgICBtX2hhZFVzZXJJbnRlcmFjdGlvbiA9IGZhbHNlOwotICAgICAgICBmbG9hdCBp
bml0aWFsU2NhbGUgPSAobV9yYXdBdHRyaWJ1dGVzLmluaXRpYWxTY2FsZSA8IDApID8gbV9taW5p
bXVtU2NhbGVUb0ZpdCA6IG1fcmF3QXR0cmlidXRlcy5pbml0aWFsU2NhbGU7Ci0gICAgICAgIGFw
cGx5U2NhbGVBZnRlclJlbmRlcmluZ0NvbnRlbnRzKGlubmVyQm91bmRlZFZpZXdwb3J0U2NhbGUo
dG9WaWV3cG9ydFNjYWxlKGluaXRpYWxTY2FsZSkpKTsKKyAgICAgICAgQVNTRVJUKG1fcmF3QXR0
cmlidXRlcy5pbml0aWFsU2NhbGUgPiAwKTsKKyAgICAgICAgYXBwbHlTY2FsZUFmdGVyUmVuZGVy
aW5nQ29udGVudHMoaW5uZXJCb3VuZGVkVmlld3BvcnRTY2FsZSh0b1ZpZXdwb3J0U2NhbGUobV9y
YXdBdHRyaWJ1dGVzLmluaXRpYWxTY2FsZSkpKTsKICAgICB9CiAKICAgICAvLyBBdCB0aGlzIHBv
aW50IHdlIHNob3VsZCBhbHJlYWR5IGhhdmUgcmVjZWl2ZWQgdGhlIGZpcnN0IHZpZXdwb3J0IGFy
Z3VtZW50cyBhbmQgdGhlIHJlcXVlc3RlZCBzY3JvbGwKQEAgLTIxMywxMCArMjE3LDE4IEBAIHZv
aWQgUGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6ZGlkQ2hhbmdlVmlld3BvcnRBdHRyaWJ1dGVzKGNv
bnN0IFdlYkNvcmU6OlZpZXdwb3J0CiAgICAgICAgIHJldHVybjsKIAogICAgIG1fcmF3QXR0cmli
dXRlcyA9IG5ld0F0dHJpYnV0ZXM7Ci0gICAgV2ViQ29yZTo6cmVzdHJpY3RTY2FsZUZhY3RvclRv
SW5pdGlhbFNjYWxlSWZOb3RVc2VyU2NhbGFibGUobV9yYXdBdHRyaWJ1dGVzKTsKLQogICAgIG1f
YWxsb3dzVXNlclNjYWxpbmcgPSAhIW1fcmF3QXR0cmlidXRlcy51c2VyU2NhbGFibGU7Ci0gICAg
dXBkYXRlTWluaW11bVNjYWxlVG9GaXQoKTsKKworICAgIGlmICghdXBkYXRlTWluaW11bVNjYWxl
VG9GaXQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgQVNTRVJUKG1fbWluaW11bVNjYWxlVG9G
aXQgPiAwKTsKKworICAgIC8vIFNldCB0aGUgaW5pdGlhbCBzY2FsZSBpZiBpdCB3YXMgbm90IHNw
ZWNpZmllZCBpbiB0aGUgdmlld3BvcnQgbWV0YSB0YWcuCisgICAgaWYgKG1fcmF3QXR0cmlidXRl
cy5pbml0aWFsU2NhbGUgPCAwKQorICAgICAgICBtX3Jhd0F0dHJpYnV0ZXMuaW5pdGlhbFNjYWxl
ID0gbV9taW5pbXVtU2NhbGVUb0ZpdDsKKworICAgIFdlYkNvcmU6OnJlc3RyaWN0U2NhbGVGYWN0
b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKG1fcmF3QXR0cmlidXRlcyk7CiAKICAg
ICBtX2NsaWVudC0+ZGlkQ2hhbmdlVmlld3BvcnRBdHRyaWJ1dGVzKCk7CiB9CkBAIC0yNjIsMTEg
KzI3NCwxNCBAQCB2b2lkIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OmFwcGx5UG9zaXRpb25BZnRl
clJlbmRlcmluZ0NvbnRlbnRzKGNvbnN0IEZsb2F0UG9pbgogCiBib29sIFBhZ2VWaWV3cG9ydENv
bnRyb2xsZXI6OnVwZGF0ZU1pbmltdW1TY2FsZVRvRml0KCkKIHsKLSAgICBpZiAobV92aWV3cG9y
dFNpemUuaXNFbXB0eSgpKQorICAgIGlmIChtX3ZpZXdwb3J0U2l6ZS5pc0VtcHR5KCkgfHwgbV9j
b250ZW50c1NpemUuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBmbG9h
dCBtaW5pbXVtU2NhbGUgPSBXZWJDb3JlOjpjb21wdXRlTWluaW11bVNjYWxlRmFjdG9yRm9yQ29u
dGVudENvbnRhaW5lZChtX3Jhd0F0dHJpYnV0ZXMsIFdlYkNvcmU6OnJvdW5kZWRJbnRTaXplKG1f
dmlld3BvcnRTaXplKSwgV2ViQ29yZTo6cm91bmRlZEludFNpemUobV9jb250ZW50c1NpemUpLCBk
ZXZpY2VQaXhlbFJhdGlvKCkpOwogCisgICAgaWYgKG1pbmltdW1TY2FsZSA8PSAwKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKICAgICBpZiAoIWZ1enp5Q29tcGFyZShtaW5pbXVtU2NhbGUsIG1f
bWluaW11bVNjYWxlVG9GaXQsIDAuMDAxKSkgewogICAgICAgICBtX21pbmltdW1TY2FsZVRvRml0
ID0gbWluaW11bVNjYWxlOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>