<?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>56130</bug_id>
          
          <creation_ts>2011-03-10 12:03:09 -0800</creation_ts>
          <short_desc>[Qt] Plugin is not scrolled together with page content or jumping when content is rendered using cache (backing store).</short_desc>
          <delta_ts>2011-04-13 11:36:25 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>57179</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Misha">mtutunik</reporter>
          <assigned_to name="Misha">mtutunik</assigned_to>
          <cc>ademar</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>girish</cc>
    
    <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>kling</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>menard</cc>
    
    <cc>ostap73</cc>
    
    <cc>robert</cc>
    
    <cc>vestbo</cc>
    
    <cc>yael</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>365397</commentid>
    <comment_count>0</comment_count>
      <attachid>85361</attachid>
    <who name="Misha">mtutunik</who>
    <bug_when>2011-03-10 12:03:09 -0800</bug_when>
    <thetext>Created attachment 85361
test page

In order to reproduce tiled backing store has to be on. Load page that has a plugin and try to scroll it. 
Depending on the size of the page and window size plugin will stay on the same place or jump &quot;trying to catch&quot; page content. 
The reason for it is that in void PluginView::updatePluginWidget() we updating plugin position only if 
plugin is outside frame window.  Here is what comment says:

    // (i) in order to move/resize the plugin window at the same time as the
    // rest of frame during e.g. scrolling, we set the window geometry
    // in the paint() function, but as paint() isn&apos;t called when the
    // plugin window is outside the frame which can be caused by a
    // scroll, we need to move/resize immediately.
    // (ii) if we are running layout tests from DRT, paint() won&apos;t ever get called
    // so we need to call setNPWindowIfNeeded() if window geometry has changed

The problem here is that the PluginView::paint() will be called only when cache (tiled backing store) 
needs to be updated. Until then plugin will stay on the same place. The issue is reproducible with 
windowed plugin on Linux and with both windowed and windowless on Symbian. In case of windowless plugin on
Symbian plugin still needs to have the right position.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>365398</commentid>
    <comment_count>1</comment_count>
      <attachid>85362</attachid>
    <who name="Misha">mtutunik</who>
    <bug_when>2011-03-10 12:03:42 -0800</bug_when>
    <thetext>Created attachment 85362
flash for test page</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>365407</commentid>
    <comment_count>2</comment_count>
      <attachid>85366</attachid>
    <who name="Misha">mtutunik</who>
    <bug_when>2011-03-10 12:13:25 -0800</bug_when>
    <thetext>Created attachment 85366
patch to fix plugin position</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366349</commentid>
    <comment_count>3</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-03-11 15:01:39 -0800</bug_when>
    <thetext>How does this change affect the non-tiling case?
CC&apos;ing the Qt plugin kids.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366373</commentid>
    <comment_count>4</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-03-11 15:32:26 -0800</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=52735 seens related.

The bug in 52735 was down to relative versus absolute co-ordinates. Pluginwidgetqt was dirtying the relative co-ordinates, while scrollview was looking for dirty absolute co-ordinates with the result that certain scroll actions could happen and scrollview would think that pluginwidgetqt had not dirtied the plugin area.

Is there a need for a tiledBackingStore()-&gt;invalidate() of some sort?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367699</commentid>
    <comment_count>5</comment_count>
    <who name="Misha">mtutunik</who>
    <bug_when>2011-03-15 09:21:24 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; https://bugs.webkit.org/show_bug.cgi?id=52735 seens related.
&gt; 
&gt; The bug in 52735 was down to relative versus absolute co-ordinates. Pluginwidgetqt was dirtying the relative co-ordinates, while scrollview was looking for dirty absolute co-ordinates with the result that certain scroll actions could happen and scrollview would think that pluginwidgetqt had not dirtied the plugin area.
&gt; 
&gt; Is there a need for a tiledBackingStore()-&gt;invalidate() of some sort?


I&apos;ve tried with tiledBackingStore()-&gt;invalidate(). Yes it makes plugin moving but I dout that it&apos;s a right approach. Basically, what is happening in this case we just make  PluginView::paint() get invoked but in addition we also also alwyas re-paint tiles under plugin. So in result for each PluginView::updatePluginWidget() we not only call setNPWindowIfNeeded() but also do a paint() and frequency of setNPWindowIfNeeded() is not lower.
I want to understand better what is wrong with calling setNPWindowIfNeeded() from PluginView::updatePluginWidget()? What is wrong with plugin getting information about new position of the plugin window?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367707</commentid>
    <comment_count>6</comment_count>
      <attachid>85366</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-03-15 09:34:55 -0700</bug_when>
    <thetext>Comment on attachment 85366
patch to fix plugin position

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

&gt; Source/WebCore/plugins/symbian/PluginViewSymbian.cpp:-110
&gt; -        setNPWindowIfNeeded();

It seems odd to me. Will it trigger some extra repaint for the normal non tiling case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367732</commentid>
    <comment_count>7</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2011-03-15 10:03:10 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 85366 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=85366&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/plugins/symbian/PluginViewSymbian.cpp:-110
&gt; &gt; -        setNPWindowIfNeeded();
&gt; 
&gt; It seems odd to me. Will it trigger some extra repaint for the normal non tiling case?

setNPWindowIfNeeded() doesn&apos;t trigger extra repaint.
Some non-tiling cases are affected also, because widgets can have their own backing store.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368507</commentid>
    <comment_count>8</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-03-16 13:45:17 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; I&apos;ve tried with tiledBackingStore()-&gt;invalidate(). Yes it makes plugin moving but I dout that it&apos;s a right approach. Basically, what is happening in this case we just make  PluginView::paint() get invoked but in addition we also also alwyas re-paint tiles under plugin. So in result for each PluginView::updatePluginWidget() we not only call setNPWindowIfNeeded() but also do a paint() and frequency of setNPWindowIfNeeded() is not lower.
&gt; I want to understand better what is wrong with calling setNPWindowIfNeeded() from PluginView::updatePluginWidget()? What is wrong with plugin getting information about new position of the plugin window?

Right, so what you want to do is change the current behaviour which is:


    // do not call setNPWindowIfNeeded immediately, will be called on paint()
    m_hasPendingGeometryChange = true;

to &apos;call setNPWindowIfNeeded immediately always&apos;. Kenneth, may recall the exact answer to this:

http://trac.webkit.org/changeset/44381

but it looks like the short answer is so that plugins will scroll synchronized with the page view.

It makes sense to me that the plugin should get repainted on paint() events rather than updatePluginWidget() - but it seems in your case it also results in repainting the backing store, which is more expensive than you&apos;d like. 

At the moment, the plugin itself only gets geometry information from setNPWindow once, when it&apos;s created. PluginViewQt avoids further calls because it can cause crashes. Your code won&apos;t change that but it does mean the plugin&apos;s position will get updated before the rest of the view.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368565</commentid>
    <comment_count>9</comment_count>
    <who name="Misha">mtutunik</who>
    <bug_when>2011-03-16 14:58:39 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #5)
&gt; &gt; I&apos;ve tried with tiledBackingStore()-&gt;invalidate(). Yes it makes plugin moving but I dout that it&apos;s a right approach. Basically, what is happening in this case we just make  PluginView::paint() get invoked but in addition we also also alwyas re-paint tiles under plugin. So in result for each PluginView::updatePluginWidget() we not only call setNPWindowIfNeeded() but also do a paint() and frequency of setNPWindowIfNeeded() is not lower.
&gt; &gt; I want to understand better what is wrong with calling setNPWindowIfNeeded() from PluginView::updatePluginWidget()? What is wrong with plugin getting information about new position of the plugin window?
&gt; 
&gt; Right, so what you want to do is change the current behaviour which is:
&gt; 
&gt; 
&gt;     // do not call setNPWindowIfNeeded immediately, will be called on paint()
&gt;     m_hasPendingGeometryChange = true;
&gt; 
&gt; to &apos;call setNPWindowIfNeeded immediately always&apos;. Kenneth, may recall the exact answer to this:
&gt; 
&gt; http://trac.webkit.org/changeset/44381
&gt; 
&gt; but it looks like the short answer is so that plugins will scroll synchronized with the page view.
&gt; 
&gt; It makes sense to me that the plugin should get repainted on paint() events rather than updatePluginWidget() - but it seems in your case it also results in repainting the backing store, which is more expensive than you&apos;d like. 
&gt; 
&gt; At the moment, the plugin itself only gets geometry information from setNPWindow once, when it&apos;s created. PluginViewQt avoids further calls because it can cause crashes. Your code won&apos;t change that but it does mean the plugin&apos;s position will get updated before the rest of the view.


Well... setNPWindow is invoked from paint() and paint() might be called event more often than  updatePluginWidget(). I&apos;d rather have setNPWindow inside updatePluginWidget() but remove it from the paint().
Any known use cases where we know that extra calls of setNPWindow causing crash?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368569</commentid>
    <comment_count>10</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-03-16 15:00:43 -0700</bug_when>
    <thetext>
&gt; Well... setNPWindow is invoked from paint() and paint() might be called event more often than  updatePluginWidget(). I&apos;d rather have setNPWindow inside updatePluginWidget() but remove it from the paint().
&gt; Any known use cases where we know that extra calls of setNPWindow causing crash?

Flash 9 on Linux used to at least. Someone would need to test this and eventually use quirks to work around this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368614</commentid>
    <comment_count>11</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-03-16 16:13:54 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; &gt; At the moment, the plugin itself only gets geometry information from setNPWindow once, when it&apos;s created. PluginViewQt avoids further calls because it can cause crashes. Your code won&apos;t change that but it does mean the plugin&apos;s position will get updated before the rest of the view.
&gt; 
&gt; 
&gt; Well... setNPWindow is invoked from paint() and paint() might be called event more often than  updatePluginWidget(). I&apos;d rather have setNPWindow inside updatePluginWidget() but remove it from the paint().
&gt; Any known use cases where we know that extra calls of setNPWindow causing crash?

I wouldn&apos;t get too hung up on the crashes - I don&apos;t think your patch will cause any, because the quirk prevents NPP_setWindow() (i.e. the function in the plugin itself) getting called more than once.

What I was trying to get at above is that your patch will cause the painting of the plugin to get out of sync with the other paint events in the view - that&apos;s the code introduced in http://trac.webkit.org/changeset/44381 that you would be undoing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368699</commentid>
    <comment_count>12</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2011-03-16 17:58:48 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #9)
&gt; What I was trying to get at above is that your patch will cause the painting 
&gt; of the plugin to get out of sync with the other paint events in the view - 
&gt; that&apos;s the code introduced in http://trac.webkit.org/changeset/44381 that 
&gt; you would be undoing.

It will not. Calling setNPWindowIfNeeded doesn&apos;t do any paints.
Actually, why paints should be in sync?
In case of windowed mode plugins will get paint events from their own window.
And this change http://trac.webkit.org/changeset/69981 also gets plugin paints out of sync because it moves painting to graphics layer (QGraphicsItem).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369301</commentid>
    <comment_count>13</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-03-17 14:27:50 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; (In reply to comment #9)
&gt; &gt; What I was trying to get at above is that your patch will cause the painting 
&gt; &gt; of the plugin to get out of sync with the other paint events in the view - 
&gt; &gt; that&apos;s the code introduced in http://trac.webkit.org/changeset/44381 that 
&gt; &gt; you would be undoing.
&gt; 
&gt; It will not. Calling setNPWindowIfNeeded doesn&apos;t do any paints.

I was referring to, which I think will trigger a repaint:

 platformPluginWidget()-&gt;setGeometry(m_windowRect); and
 platformPluginWidget()-&gt;setVisible(!clipRegion.isEmpty());
 platformPluginWidget()-&gt;setMask(clipRegion);

and I think that&apos;s why calling setNPWindowIfNeed() works for Misha in this case.

(On a side note, I&apos;d forgotten that the PluginQuirkDontCallSetWindowMoreThanOnce works by calling NPP_setWindow with the same window dimensions over and over again, rather than calling it just once - that name should be changed.)

I guess the issue here is whether the restriction introduced on calling setNPWindowIfNeeded() introduced in http://trac.webkit.org/changeset/69981 is still valid. I don&apos;t know the answer to that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371636</commentid>
    <comment_count>14</comment_count>
    <who name="Misha">mtutunik</who>
    <bug_when>2011-03-22 14:20:55 -0700</bug_when>
    <thetext>Have some update on the issue.

I&apos;ve tried the original test from http://trac.webkit.org/changeset/44381
My steps were:

1. in QtTestBrowser toggle use of QGraphicsWebView
2. turned on tiled backing store.
3. in manual-test/qt/plugin-sibling-frame-include.html I removed type=&quot;application/x-shockwave-flash&quot; from embed tag:

&lt;embed src=&quot;../plugins/test.swf&quot;&gt;
&lt;/embed&gt;

4. re-size the QtTestBrowser window to make it scrollable.

When I scrolled plugin didn&apos;t move. 

The key thing was to remove type=&quot;application/x-shockwave-flash&quot;. After http://trac.webkit.org/changeset/78352 we substitute wmode &quot;window&quot; for &quot;opaque&quot; in Flash plugins when we use QGraphicsWebView and thus usually don&apos;t have a combination of tiled backing store (implied QGraphicsWebView) and windowed plugin. When type parameter is omitted from embed tag the code from http://trac.webkit.org/changeset/78352 is never invoked and by default plugin is created in windowed mode.

So the issue should be reproducible if mime type is not specified in the embed tag and QGraphicsWebView is used in conjunction with some backing store (tiled backing store for example)
.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371671</commentid>
    <comment_count>15</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2011-03-22 14:47:58 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; So the issue should be reproducible if mime type is not specified in the embed 
&gt; tag and QGraphicsWebView is used in conjunction with some backing store (tiled 
&gt; backing store for example).

Issue should be also reproducible in QGraphicsWebView if plugin doesn&apos;t support windowless mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375751</commentid>
    <comment_count>16</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-03-29 14:19:11 -0700</bug_when>
    <thetext>See also https://bugs.webkit.org/show_bug.cgi?id=57179

I think you are seeing the same problem as that bug - the platformWidget() still has its old geometry when it&apos;s updated by invalidate() so sends the wrong rect information in the paint event that update() generates.

Calling setNPWindowIfNeeded() all the time will fix this, but is undesirable because it apparently can cause the movement of the frame and the plugin to get out of sync. From my own testing here, just calling setGeometry() doesn&apos;t cause any sync issues - but I think we&apos;d want to call setMask() while we&apos;re at it too.

Given that setGeometry() causes an immediate moveEvent I&apos;m not sure I&apos;m right about it not causing any sync issues - but it looks to me like the platformWidget() stuff in setNPWindowIfNeeded() should be split out and called before invalidate() is called.

On the other hand, what&apos;s the worst that can happen if setNPWindowIfNeeded() is called all the time - whose testing can tell us if it causes any problems?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375769</commentid>
    <comment_count>17</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-03-29 14:32:17 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; See also https://bugs.webkit.org/show_bug.cgi?id=57179
&gt; 
&gt; I think you are seeing the same problem as that bug - the platformWidget() still has its old geometry when it&apos;s updated by invalidate() so sends the wrong rect information in the paint event that update() generates.
&gt; 

Note that the problem isn&apos;t the plugin getting the wrong rect information - the problem is the frameView getting the wrong rect information. The result is that it thinks areas where the plugin *was* aren&apos;t damaged (because it thinks the plugin hasn&apos;t moved) and doesn&apos;t paint them - so they appear to stay in the same place or jump.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375791</commentid>
    <comment_count>18</comment_count>
    <who name="Misha">mtutunik</who>
    <bug_when>2011-03-29 15:04:38 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (In reply to comment #16)
&gt; &gt; See also https://bugs.webkit.org/show_bug.cgi?id=57179
&gt; &gt; 
&gt; &gt; I think you are seeing the same problem as that bug - the platformWidget() still has its old geometry when it&apos;s updated by invalidate() so sends the wrong rect information in the paint event that update() generates.
&gt; &gt; 
&gt; 
&gt; Note that the problem isn&apos;t the plugin getting the wrong rect information - the problem is the frameView getting the wrong rect information. The result is that it thinks areas where the plugin *was* aren&apos;t damaged (because it thinks the plugin hasn&apos;t moved) and doesn&apos;t paint them - so they appear to stay in the same place or jump.

Well, I think it&apos;s slightly different situation. In your case the paint() it called, while the use case in this bug is that paint() is not invoked and there is no other place where we set npwindow.

About sync issue. If backing store is in use plugin can go out of sync anyway and it&apos;s completely depends on how plugin painting is done. But at least we can call NP API function (setnpwindow) when the geometry has been changed.

On Symbian it&apos;s the only way to notify plugin about movements.

Kenneth, Simon, 
Can you guys comment on this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376220</commentid>
    <comment_count>19</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-03-30 05:35:08 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; (In reply to comment #17)
&gt; &gt; (In reply to comment #16)
&gt; &gt; &gt; See also https://bugs.webkit.org/show_bug.cgi?id=57179
&gt; &gt; &gt; 
&gt; &gt; &gt; I think you are seeing the same problem as that bug - the platformWidget() still has its old geometry when it&apos;s updated by invalidate() so sends the wrong rect information in the paint event that update() generates.
&gt; &gt; &gt; 
&gt; &gt; 
&gt; &gt; Note that the problem isn&apos;t the plugin getting the wrong rect information - the problem is the frameView getting the wrong rect information. The result is that it thinks areas where the plugin *was* aren&apos;t damaged (because it thinks the plugin hasn&apos;t moved) and doesn&apos;t paint them - so they appear to stay in the same place or jump.
&gt; Well, I think it&apos;s slightly different situation. In your case the paint() it called, while the use case in this bug is that paint() is not invoked and there is no other place where we set npwindow.
&gt; About sync issue. If backing store is in use plugin can go out of sync anyway and it&apos;s completely depends on how plugin painting is done. But at least we can call NP API function (setnpwindow) when the geometry has been changed.
&gt; On Symbian it&apos;s the only way to notify plugin about movements.

My point is that the area where the plugin has &apos;stayed&apos; is not the location of your plugin anymore. It&apos;s up to FrameView to paint that area. However because we&apos;re not calling platformWidget()-&gt;setGemoetry() before calling platformWidget()-&gt;update() FrameView does not know that the plugin&apos;s &apos;old&apos; position needs to be repainted.
I think fixing that will at least help to fix the case in this bug where the plugin stays in one place.

I agree that it looks as though you need to do more than just that to solve your issue completely though. 

Have you been able to confirm if only calling the platformWidget() stuff in setNPWindowIfNeeded fixes the issue, or you do actually need to call setNPWindow on the plugin itself to fix your problem?

If it does, then that approach will fix both bugs I think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376774</commentid>
    <comment_count>20</comment_count>
      <attachid>87637</attachid>
    <who name="Misha">mtutunik</who>
    <bug_when>2011-03-30 16:24:00 -0700</bug_when>
    <thetext>Created attachment 87637
Just a Symbian portion of the fix

I&apos;ve tried setGeometry() on Linux and it helped with the issue. So if we think the it&apos;s enough for Linux it can be addressed in https://bugs.webkit.org/show_bug.cgi?id=57179.

For Symbian setGeometry() is not enough, so it will still require to call setNPWindowIfNeeded().
I modified the patch and kept only Symbian portion from the previous patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381602</commentid>
    <comment_count>21</comment_count>
      <attachid>87637</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2011-04-07 13:04:42 -0700</bug_when>
    <thetext>Comment on attachment 87637
Just a Symbian portion of the fix

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

Overall patch looks good to me. r- to fix the ChangeLog.

&gt; Source/WebCore/ChangeLog:3
&gt; +        Reviewed by NOBODY (OOPS!).

Please add an extra empty line here.

&gt; Source/WebCore/ChangeLog:12
&gt; +        No new tests required.

Please list the existing test(s) that is fixed by this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381809</commentid>
    <comment_count>22</comment_count>
      <attachid>88722</attachid>
    <who name="Misha">mtutunik</who>
    <bug_when>2011-04-07 16:01:10 -0700</bug_when>
    <thetext>Created attachment 88722
patch with corrected change log

Corrected change log</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382266</commentid>
    <comment_count>23</comment_count>
      <attachid>88722</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2011-04-08 09:03:00 -0700</bug_when>
    <thetext>Comment on attachment 88722
patch with corrected change log

r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382390</commentid>
    <comment_count>24</comment_count>
      <attachid>88722</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-08 10:59:02 -0700</bug_when>
    <thetext>Comment on attachment 88722
patch with corrected change log

Clearing flags on attachment: 88722

Committed r83316: &lt;http://trac.webkit.org/changeset/83316&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382391</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-08 10:59:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385055</commentid>
    <comment_count>26</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2011-04-13 11:36:15 -0700</bug_when>
    <thetext>Revision r83316 cherry-picked into qtwebkit-2.1.x with commit 8ecd550 &lt;http://gitorious.org/webkit/qtwebkit/commit/8ecd550&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>85361</attachid>
            <date>2011-03-10 12:03:09 -0800</date>
            <delta_ts>2011-03-10 12:03:09 -0800</delta_ts>
            <desc>test page</desc>
            <filename>birds.html</filename>
            <type>text/html</type>
            <size>510</size>
            <attacher name="Misha">mtutunik</attacher>
            
              <data encoding="base64">PGh0bWw+PGhlYWQ+Cjx0aXRsZT5ORyBGbGFzaDwvdGl0bGU+CjxtZXRhIGh0dHAtZXF1aXY9IkNv
bnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiPgo8bWV0
YSBjb250ZW50PSJNU0hUTUwgNi4wMC4yOTAwLjI3NjkiIG5hbWU9IkdFTkVSQVRPUiI+PC9oZWFk
Pjxib2R5IGJnY29sb3I9IiMwMGIwMDAiPgo8Y2VudGVyPjxiPk5HIEZsYXNoIFRlc3Rpbmc8L2I+
PC9jZW50ZXI+Cjxocj4KPG1hcnF1ZWUgYmVoYXZpb3VyPSJhbHRlcm5hdGUiPkJyb3dzZSB0aGUg
bmV4dCBwYWdlPC9tYXJxdWVlPgo8aHI+Cgo8cD5UaGUgaHRtbCBmaWxlIHBsYXlzIGFuIGVtYmVk
ZGVkIGZsYXNoIGZpbGUuIDwvcD4KPG9iamVjdCBoZWlnaHQ9IjIwOCIgd2lkdGg9IjE3NiI+PHBh
cmFtIG5hbWU9Im1vdmllIiB2YWx1ZT0iYmlyZHMuc3dmIj4KPGVtYmVkIHNyYz0iLi9iaXJkcy5z
d2YiIGhlaWdodD0iMjA4IiB3aWR0aD0iMTc2Ij4KPC9vYmplY3Q+PC9ib2R5PjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>85362</attachid>
            <date>2011-03-10 12:03:42 -0800</date>
            <delta_ts>2011-03-10 12:03:42 -0800</delta_ts>
            <desc>flash for test page</desc>
            <filename>birds.swf</filename>
            <type>application/x-shockwave-flash</type>
            <size>17698</size>
            <attacher name="Misha">mtutunik</attacher>
            
              <data encoding="base64">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
IBWhaH492LuOldzsokdNEgCFBgMGABYAQAAAAA==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85366</attachid>
            <date>2011-03-10 12:13:25 -0800</date>
            <delta_ts>2011-03-30 16:24:00 -0700</delta_ts>
            <desc>patch to fix plugin position</desc>
            <filename>plugin-setwindow.patch</filename>
            <type>text/plain</type>
            <size>2583</size>
            <attacher name="Misha">mtutunik</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBhYWEzMTk0Li44M2NmMGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDMtMTAgIE1pc2hhIFR5dXR5dW5payAgPG1pY2hhZWwudHl1dHl1bmlrQG5va2lh
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBb
UXRdIFBsdWdpbiBpcyBub3Qgc2Nyb2xsZWQgdG9nZXRoZXIgd2l0aCBwYWdlIGNvbnRlbnQgb3Ig
anVtcGluZyAKKyAgICAgICAgd2hlbiBjb250ZW50IGlzIHJlbmRlcmVkIHVzaW5nIGNhY2hlIChi
YWNraW5nIHN0b3JlKS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU2MTMwCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHJlcXVpcmVkLgorCisgICAgICAg
ICogcGx1Z2lucy9xdC9QbHVnaW5WaWV3UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2lu
Vmlldzo6dXBkYXRlUGx1Z2luV2lkZ2V0KToKKyAgICAgICAgKiBwbHVnaW5zL3N5bWJpYW4vUGx1
Z2luVmlld1N5bWJpYW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6dXBkYXRl
UGx1Z2luV2lkZ2V0KToKKwogMjAxMS0wMy0xMCAgR3VzdGF2byBOb3JvbmhhIFNpbHZhICA8Z3Vz
dGF2by5ub3JvbmhhQGNvbGxhYm9yYS5jby51az4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5u
ZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsdWdp
bnMvcXQvUGx1Z2luVmlld1F0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvcXQvUGx1Z2lu
Vmlld1F0LmNwcAppbmRleCA2MTFhYmI5Li40ZDI4OGIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbHVnaW5zL3F0L1BsdWdpblZpZXdRdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGx1
Z2lucy9xdC9QbHVnaW5WaWV3UXQuY3BwCkBAIC0xNzMsNyArMTczLDcgQEAgdm9pZCBQbHVnaW5W
aWV3Ojp1cGRhdGVQbHVnaW5XaWRnZXQoKQogICAgIC8vIChpaSkgaWYgd2UgYXJlIHJ1bm5pbmcg
bGF5b3V0IHRlc3RzIGZyb20gRFJULCBwYWludCgpIHdvbid0IGV2ZXIgZ2V0IGNhbGxlZAogICAg
IC8vIHNvIHdlIG5lZWQgdG8gY2FsbCBzZXROUFdpbmRvd0lmTmVlZGVkKCkgaWYgd2luZG93IGdl
b21ldHJ5IGhhcyBjaGFuZ2VkCiAgICAgaWYgKCFtX3dpbmRvd1JlY3QuaW50ZXJzZWN0cyhmcmFt
ZVZpZXctPmZyYW1lUmVjdCgpKQotICAgICAgICB8fCAoUVdlYlBhZ2VQcml2YXRlOjpkcnRSdW4g
JiYgcGxhdGZvcm1QbHVnaW5XaWRnZXQoKSAmJiAobV93aW5kb3dSZWN0ICE9IG9sZFdpbmRvd1Jl
Y3QgfHwgbV9jbGlwUmVjdCAhPSBvbGRDbGlwUmVjdCkpKQorICAgICAgICB8fCAoKChRV2ViUGFn
ZVByaXZhdGU6OmRydFJ1biAmJiBwbGF0Zm9ybVBsdWdpbldpZGdldCgpKSB8fCBtX2lzV2luZG93
ZWQpICYmIChtX3dpbmRvd1JlY3QgIT0gb2xkV2luZG93UmVjdCB8fCBtX2NsaXBSZWN0ICE9IG9s
ZENsaXBSZWN0KSkpCiAgICAgICAgIHNldE5QV2luZG93SWZOZWVkZWQoKTsKIAogICAgIGlmICgh
bV9wbGF0Zm9ybUxheWVyKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL3N5
bWJpYW4vUGx1Z2luVmlld1N5bWJpYW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9zeW1i
aWFuL1BsdWdpblZpZXdTeW1iaWFuLmNwcAppbmRleCAxYTlhOWNhLi4xM2FhNjBmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL3N5bWJpYW4vUGx1Z2luVmlld1N5bWJpYW4uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvc3ltYmlhbi9QbHVnaW5WaWV3U3ltYmlhbi5j
cHAKQEAgLTEwMiwxMiArMTAyLDcgQEAgdm9pZCBQbHVnaW5WaWV3Ojp1cGRhdGVQbHVnaW5XaWRn
ZXQoKQogICAgIGlmIChtX3dpbmRvd1JlY3QgPT0gb2xkV2luZG93UmVjdCAmJiBtX2NsaXBSZWN0
ID09IG9sZENsaXBSZWN0KQogICAgICAgICByZXR1cm47CiAKLSAgICAvLyBpbiBvcmRlciB0byBt
b3ZlL3Jlc2l6ZSB0aGUgcGx1Z2luIHdpbmRvdyBhdCB0aGUgc2FtZSB0aW1lIGFzIHRoZSByZXN0
IG9mIGZyYW1lCi0gICAgLy8gZHVyaW5nIGUuZy4gc2Nyb2xsaW5nLCB3ZSBzZXQgdGhlIG1hc2sg
YW5kIGdlb21ldHJ5IGluIHRoZSBwYWludCgpIGZ1bmN0aW9uLCBidXQKLSAgICAvLyBhcyBwYWlu
dCgpIGlzbid0IGNhbGxlZCB3aGVuIHRoZSBwbHVnaW4gd2luZG93IGlzIG91dHNpZGUgdGhlIGZy
YW1lIHdoaWNoIGNhbgotICAgIC8vIGJlIGNhdXNlZCBieSBhIHNjcm9sbCwgd2UgbmVlZCB0byBt
b3ZlL3Jlc2l6ZSBpbW1lZGlhdGVseS4KLSAgICBpZiAoIW1fd2luZG93UmVjdC5pbnRlcnNlY3Rz
KGZyYW1lVmlldy0+ZnJhbWVSZWN0KCkpKQotICAgICAgICBzZXROUFdpbmRvd0lmTmVlZGVkKCk7
CisgICAgc2V0TlBXaW5kb3dJZk5lZWRlZCgpOwogfQogCiB2b2lkIFBsdWdpblZpZXc6OnNldEZv
Y3VzKGJvb2wgZm9jdXNlZCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87637</attachid>
            <date>2011-03-30 16:24:00 -0700</date>
            <delta_ts>2011-04-07 16:01:10 -0700</delta_ts>
            <desc>Just a Symbian portion of the fix</desc>
            <filename>plugin-view-symbian.patch</filename>
            <type>text/plain</type>
            <size>1815</size>
            <attacher name="Misha">mtutunik</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyMDRmNTQwLi4xZjllODhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTEtMDMtMzAgIE1pc2hhIFR5dXR5dW5payAgPG1pY2hhZWwudHl1dHl1bmlrQG5va2lh
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgW1F0
XSBQbHVnaW4gaXMgbm90IHNjcm9sbGVkIHRvZ2V0aGVyIHdpdGggcGFnZSBjb250ZW50IG9yIGp1
bXBpbmcgCisgICAgICAgIHdoZW4gY29udGVudCBpcyByZW5kZXJlZCB1c2luZyBjYWNoZSAoYmFj
a2luZyBzdG9yZSkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01NjEzMAorICAgICAgICAKKyAgICAgICAgVGhpcyBpcyBhIFN5bWJpYW4gcG9ydGlvbiBv
ZiB0aGUgZml4LiBGb3IgTGludXggaXQgbG9va3MgbGlrZQorICAgICAgICBpdCdzIGVub3VnaCB0
byBjYWxsIHNldCBnZW9tZXRyeSB3aGljaCBzaG91bGQgYmUgYWRkcmVzc2VkIGluCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzE3OQorCisgICAgICAg
IE5vIG5ldyB0ZXN0cyByZXF1aXJlZC4KKworICAgICAgICAqIHBsdWdpbnMvc3ltYmlhbi9QbHVn
aW5WaWV3U3ltYmlhbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3Ojp1cGRhdGVQ
bHVnaW5XaWRnZXQpOgorCiAyMDExLTAzLTMwICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25A
aWdhbGlhLmNvbT4KIAogICAgICAgICBUcnkgdG8gZml4IHRoZSBFRkwgYnVpbGQuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL3N5bWJpYW4vUGx1Z2luVmlld1N5bWJpYW4uY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9zeW1iaWFuL1BsdWdpblZpZXdTeW1iaWFuLmNwcApp
bmRleCAxYTlhOWNhLi4xM2FhNjBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5z
L3N5bWJpYW4vUGx1Z2luVmlld1N5bWJpYW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsdWdp
bnMvc3ltYmlhbi9QbHVnaW5WaWV3U3ltYmlhbi5jcHAKQEAgLTEwMiwxMiArMTAyLDcgQEAgdm9p
ZCBQbHVnaW5WaWV3Ojp1cGRhdGVQbHVnaW5XaWRnZXQoKQogICAgIGlmIChtX3dpbmRvd1JlY3Qg
PT0gb2xkV2luZG93UmVjdCAmJiBtX2NsaXBSZWN0ID09IG9sZENsaXBSZWN0KQogICAgICAgICBy
ZXR1cm47CiAKLSAgICAvLyBpbiBvcmRlciB0byBtb3ZlL3Jlc2l6ZSB0aGUgcGx1Z2luIHdpbmRv
dyBhdCB0aGUgc2FtZSB0aW1lIGFzIHRoZSByZXN0IG9mIGZyYW1lCi0gICAgLy8gZHVyaW5nIGUu
Zy4gc2Nyb2xsaW5nLCB3ZSBzZXQgdGhlIG1hc2sgYW5kIGdlb21ldHJ5IGluIHRoZSBwYWludCgp
IGZ1bmN0aW9uLCBidXQKLSAgICAvLyBhcyBwYWludCgpIGlzbid0IGNhbGxlZCB3aGVuIHRoZSBw
bHVnaW4gd2luZG93IGlzIG91dHNpZGUgdGhlIGZyYW1lIHdoaWNoIGNhbgotICAgIC8vIGJlIGNh
dXNlZCBieSBhIHNjcm9sbCwgd2UgbmVlZCB0byBtb3ZlL3Jlc2l6ZSBpbW1lZGlhdGVseS4KLSAg
ICBpZiAoIW1fd2luZG93UmVjdC5pbnRlcnNlY3RzKGZyYW1lVmlldy0+ZnJhbWVSZWN0KCkpKQot
ICAgICAgICBzZXROUFdpbmRvd0lmTmVlZGVkKCk7CisgICAgc2V0TlBXaW5kb3dJZk5lZWRlZCgp
OwogfQogCiB2b2lkIFBsdWdpblZpZXc6OnNldEZvY3VzKGJvb2wgZm9jdXNlZCkK
</data>
<flag name="review"
          id="80065"
          type_id="1"
          status="-"
          setter="laszlo.gombos"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88722</attachid>
            <date>2011-04-07 16:01:10 -0700</date>
            <delta_ts>2011-04-08 10:59:02 -0700</delta_ts>
            <desc>patch with corrected change log</desc>
            <filename>plugin-view-symbian.patch</filename>
            <type>text/plain</type>
            <size>1918</size>
            <attacher name="Misha">mtutunik</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiNWRkMjg1Li5hMmVhZTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEg
QEAKKzIwMTEtMDQtMDcgIE1pc2hhIFR5dXR5dW5payAgPG1pY2hhZWwudHl1dHl1bmlrQG5va2lh
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBb
UXRdIFBsdWdpbiBpcyBub3Qgc2Nyb2xsZWQgdG9nZXRoZXIgd2l0aCBwYWdlIGNvbnRlbnQgb3Ig
anVtcGluZyAKKyAgICAgICAgd2hlbiBjb250ZW50IGlzIHJlbmRlcmVkIHVzaW5nIGNhY2hlIChi
YWNraW5nIHN0b3JlKS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU2MTMwCisgICAgICAgIAorICAgICAgICBUaGlzIGlzIGEgU3ltYmlhbiBwb3J0aW9u
IG9mIHRoZSBmaXguIEZvciBMaW51eCBpdCBsb29rcyBsaWtlCisgICAgICAgIGl0J3MgZW5vdWdo
IHRvIGNhbGwgc2V0IGdlb21ldHJ5IHdoaWNoIHNob3VsZCBiZSBhZGRyZXNzZWQgaW4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3MTc5CisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzIHJlcXVpcmVkLiBUaGlzIGNhbiBiZSB0ZXN0ZWQgd2l0aCBtYW51YWwg
dGVzdHMgZnJvbSAKKyAgICAgICAgV2ViQ29yZS9tYW51YWwtdGVzdHMvcXQgYW5kIFdlYkNvcmUv
bWFudWFsLXRlc3RzL3BsdWdpbnMKKworICAgICAgICAqIHBsdWdpbnMvc3ltYmlhbi9QbHVnaW5W
aWV3U3ltYmlhbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3Ojp1cGRhdGVQbHVn
aW5XaWRnZXQpOgorCiAyMDExLTA0LTA3ICBEYXZpZCBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4K
IAogICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGx1Z2lucy9zeW1iaWFuL1BsdWdpblZpZXdTeW1iaWFuLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsdWdpbnMvc3ltYmlhbi9QbHVnaW5WaWV3U3ltYmlhbi5jcHAKaW5kZXggMWE5YTlj
YS4uMTNhYTYwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9zeW1iaWFuL1Bs
dWdpblZpZXdTeW1iaWFuLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL3N5bWJpYW4v
UGx1Z2luVmlld1N5bWJpYW4uY3BwCkBAIC0xMDIsMTIgKzEwMiw3IEBAIHZvaWQgUGx1Z2luVmll
dzo6dXBkYXRlUGx1Z2luV2lkZ2V0KCkKICAgICBpZiAobV93aW5kb3dSZWN0ID09IG9sZFdpbmRv
d1JlY3QgJiYgbV9jbGlwUmVjdCA9PSBvbGRDbGlwUmVjdCkKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgLy8gaW4gb3JkZXIgdG8gbW92ZS9yZXNpemUgdGhlIHBsdWdpbiB3aW5kb3cgYXQgdGhlIHNh
bWUgdGltZSBhcyB0aGUgcmVzdCBvZiBmcmFtZQotICAgIC8vIGR1cmluZyBlLmcuIHNjcm9sbGlu
Zywgd2Ugc2V0IHRoZSBtYXNrIGFuZCBnZW9tZXRyeSBpbiB0aGUgcGFpbnQoKSBmdW5jdGlvbiwg
YnV0Ci0gICAgLy8gYXMgcGFpbnQoKSBpc24ndCBjYWxsZWQgd2hlbiB0aGUgcGx1Z2luIHdpbmRv
dyBpcyBvdXRzaWRlIHRoZSBmcmFtZSB3aGljaCBjYW4KLSAgICAvLyBiZSBjYXVzZWQgYnkgYSBz
Y3JvbGwsIHdlIG5lZWQgdG8gbW92ZS9yZXNpemUgaW1tZWRpYXRlbHkuCi0gICAgaWYgKCFtX3dp
bmRvd1JlY3QuaW50ZXJzZWN0cyhmcmFtZVZpZXctPmZyYW1lUmVjdCgpKSkKLSAgICAgICAgc2V0
TlBXaW5kb3dJZk5lZWRlZCgpOworICAgIHNldE5QV2luZG93SWZOZWVkZWQoKTsKIH0KIAogdm9p
ZCBQbHVnaW5WaWV3OjpzZXRGb2N1cyhib29sIGZvY3VzZWQpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>