<?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>103171</bug_id>
          
          <creation_ts>2012-11-23 23:22:10 -0800</creation_ts>
          <short_desc>REGRESSION(r135620): ASSERT(m_state.drawsContent &amp;&amp; m_state.contentsVisible &amp;&amp; !m_size.isEmpty()) hits in TextureMapperLayer::paintSelf().</short_desc>
          <delta_ts>2013-01-29 16:47:56 -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>Layout and Rendering</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>103046</dependson>
    
    <dependson>103298</dependson>
    
    <dependson>103498</dependson>
    
    <dependson>103527</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dongseong Hwang">dongseong.hwang</reporter>
          <assigned_to name="Dongseong Hwang">dongseong.hwang</assigned_to>
          <cc>cdumez</cc>
    
    <cc>dglazkov</cc>
    
    <cc>jussi.kukkonen</cc>
    
    <cc>levin+threading</cc>
    
    <cc>noam</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>774787</commentid>
    <comment_count>0</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-23 23:22:10 -0800</bug_when>
    <thetext>ASSERT(m_state.drawsContent &amp;&amp; m_state.contentsVisible &amp;&amp; !m_size.isEmpty()) hits in TextureMapperLayer::paintSelf().

It occurs in only WK2. We need to investigate CoordinatedGraphicsLayer and LayerTreeCoordinator to find invariant breaker.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774789</commentid>
    <comment_count>1</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-23 23:24:11 -0800</bug_when>
    <thetext>When entering http://www.satine.org/research/webkit/snowleopard/snowstack.html in WK2, WK2 crashes.

ASSERTION FAILED: m_state.drawsContent &amp;&amp; m_state.contentsVisible &amp;&amp; !m_size.isEmpty()
/media/WDDisk/workspace/WebKit/WebKit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp(113) : void WebCore::TextureMapperLayer::paintSelf(const WebCore::TextureMapperPaintOptions&amp;)
1   0x7fdd6e541a95 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer9paintSelfERKNS_25TextureMapperPaintOptionsE+0x1cd) [0x7fdd6e541a95]
2   0x7fdd6e541dd9 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer20paintSelfAndChildrenERKNS_25TextureMapperPaintOptionsE+0x33) [0x7fdd6e541dd9]
3   0x7fdd6e5428f5 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer31paintSelfAndChildrenWithReplicaERKNS_25TextureMapperPaintOptionsE+0x177) [0x7fdd6e5428f5]
4   0x7fdd6e542bb1 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer14paintRecursiveERKNS_25TextureMapperPaintOptionsE+0x12f) [0x7fdd6e542bb1]
5   0x7fdd6e541f45 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer20paintSelfAndChildrenERKNS_25TextureMapperPaintOptionsE+0x19f) [0x7fdd6e541f45]
6   0x7fdd6e5428f5 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer31paintSelfAndChildrenWithReplicaERKNS_25TextureMapperPaintOptionsE+0x177) [0x7fdd6e5428f5]
7   0x7fdd6e542bb1 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer14paintRecursiveERKNS_25TextureMapperPaintOptionsE+0x12f) [0x7fdd6e542bb1]
8   0x7fdd6e541f45 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer20paintSelfAndChildrenERKNS_25TextureMapperPaintOptionsE+0x19f) [0x7fdd6e541f45]
9   0x7fdd6e5428f5 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer31paintSelfAndChildrenWithReplicaERKNS_25TextureMapperPaintOptionsE+0x177) [0x7fdd6e5428f5]
10  0x7fdd6e542bb1 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer14paintRecursiveERKNS_25TextureMapperPaintOptionsE+0x12f) [0x7fdd6e542bb1]
11  0x7fdd6e541f45 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer20paintSelfAndChildrenERKNS_25TextureMapperPaintOptionsE+0x19f) [0x7fdd6e541f45]
12  0x7fdd6e5428f5 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer31paintSelfAndChildrenWithReplicaERKNS_25TextureMapperPaintOptionsE+0x177) [0x7fdd6e5428f5]
13  0x7fdd6e542bb1 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer14paintRecursiveERKNS_25TextureMapperPaintOptionsE+0x12f) [0x7fdd6e542bb1]
14  0x7fdd6e541f45 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer20paintSelfAndChildrenERKNS_25TextureMapperPaintOptionsE+0x19f) [0x7fdd6e541f45]
15  0x7fdd6e5428f5 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer31paintSelfAndChildrenWithReplicaERKNS_25TextureMapperPaintOptionsE+0x177) [0x7fdd6e5428f5]
16  0x7fdd6e542bb1 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer14paintRecursiveERKNS_25TextureMapperPaintOptionsE+0x12f) [0x7fdd6e542bb1]
17  0x7fdd6e541f45 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer20paintSelfAndChildrenERKNS_25TextureMapperPaintOptionsE+0x19f) [0x7fdd6e541f45]
18  0x7fdd6e5428f5 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer31paintSelfAndChildrenWithReplicaERKNS_25TextureMapperPaintOptionsE+0x177) [0x7fdd6e5428f5]
19  0x7fdd6e542bb1 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer14paintRecursiveERKNS_25TextureMapperPaintOptionsE+0x12f) [0x7fdd6e542bb1]
20  0x7fdd6e541f45 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer20paintSelfAndChildrenERKNS_25TextureMapperPaintOptionsE+0x19f) [0x7fdd6e541f45]
21  0x7fdd6e5428f5 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer31paintSelfAndChildrenWithReplicaERKNS_25TextureMapperPaintOptionsE+0x177) [0x7fdd6e5428f5]
22  0x7fdd6e542bb1 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer14paintRecursiveERKNS_25TextureMapperPaintOptionsE+0x12f) [0x7fdd6e542bb1]
23  0x7fdd6e541f45 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer20paintSelfAndChildrenERKNS_25TextureMapperPaintOptionsE+0x19f) [0x7fdd6e541f45]
24  0x7fdd6e5428f5 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer31paintSelfAndChildrenWithReplicaERKNS_25TextureMapperPaintOptionsE+0x177) [0x7fdd6e5428f5]
25  0x7fdd6e542bb1 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer14paintRecursiveERKNS_25TextureMapperPaintOptionsE+0x12f) [0x7fdd6e542bb1]
26  0x7fdd6e541f45 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer20paintSelfAndChildrenERKNS_25TextureMapperPaintOptionsE+0x19f) [0x7fdd6e541f45]
27  0x7fdd6e5428f5 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer31paintSelfAndChildrenWithReplicaERKNS_25TextureMapperPaintOptionsE+0x177) [0x7fdd6e5428f5]
28  0x7fdd6e542bb1 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer14paintRecursiveERKNS_25TextureMapperPaintOptionsE+0x12f) [0x7fdd6e542bb1]
29  0x7fdd6e541f45 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer20paintSelfAndChildrenERKNS_25TextureMapperPaintOptionsE+0x19f) [0x7fdd6e541f45]
30  0x7fdd6e5428f5 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer31paintSelfAndChildrenWithReplicaERKNS_25TextureMapperPaintOptionsE+0x177) [0x7fdd6e5428f5]
31  0x7fdd6e542bb1 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer14paintRecursiveERKNS_25TextureMapperPaintOptionsE+0x12f) [0x7fdd6e542bb1]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775165</commentid>
    <comment_count>2</comment_count>
      <attachid>175928</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-25 22:51:18 -0800</bug_when>
    <thetext>Created attachment 175928
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775174</commentid>
    <comment_count>3</comment_count>
      <attachid>175928</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-11-25 23:14:03 -0800</bug_when>
    <thetext>Comment on attachment 175928
Patch

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

This doesn&apos;t seem right; You don&apos;t just remove

&gt; Source/WebKit2/ChangeLog:8
&gt; +        This patch makes only Web Process cause running LayerTreeRenderer::syncRemoteContent().

Can you explain how this causes the assert? The commands in the render queue are supposed to be buffered anyway by GraphicsLayerTextureMapper, but seems here that some of them are not...
Also, I would change this description to say &quot;Buffer the render queue commands until the web process calls didRenderFrame.

&gt; Source/WebKit2/ChangeLog:12
&gt; +        only the part of sync requests can be executed. Users can see the intermediate
&gt; +        state (i.e. flashing). After this patch, we can not see the intermediate state.

Are there existing tests that show this flash? I was able to see it several times, but it would be good to mention which tests expose this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775208</commentid>
    <comment_count>4</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-26 00:16:05 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 175928 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=175928&amp;action=review

Thanks for review!

&gt; This doesn&apos;t seem right; You don&apos;t just remove

Do you mean it is wrong that we flush the render queue only after the web process calls didRenderFrame? Maybe performance issue? If so, we need to rethink more deeply how to fix.

&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:8
&gt; &gt; +        This patch makes only Web Process cause running LayerTreeRenderer::syncRemoteContent().
&gt; 
&gt; Can you explain how this causes the assert? The commands in the render queue are supposed to be buffered anyway by GraphicsLayerTextureMapper, but seems here that some of them are not...
&gt; Also, I would change this description to say &quot;Buffer the render queue commands until the web process calls didRenderFrame.

I do my best to explain. If vague, let me know please.

Animation causes following seq.

- LayerTreeRenderer::setLayerState
- TextureMapperLayer::paint
- LayerTreeRenderer::flushLayerChanges

The reason of this problem is that LayerTreeRenderer changes states of GraphicsLayerTextureMappler while setting a backing store to TextureMapplerLayer.
It means TextureMapplerLayer can know the backing store before TextureMapplerLayer::flushCompositingState that LayerTreeRenderer::flushLayerChanges normally calls.

void LayerTreeRenderer::setLayerState(WebLayerID id, const WebLayerInfo&amp; layerInfo)
{
    ...
    layer-&gt;setSize(layerInfo.size);
    ...
    layer-&gt;setDrawsContent(layerInfo.drawsContent);
    ...
    prepareContentBackingStore(layer);
    ...
}

So Assert hits.

I&apos;d come close to removing ASSERT simply, but I thought it is not right way.

&gt; &gt; Source/WebKit2/ChangeLog:12
&gt; &gt; +        only the part of sync requests can be executed. Users can see the intermediate
&gt; &gt; +        state (i.e. flashing). After this patch, we can not see the intermediate state.
&gt; 
&gt; Are there existing tests that show this flash? I was able to see it several times, but it would be good to mention which tests expose this.

We can see the flash in snowstack http://www.satine.org/research/webkit/snowleopard/snowstack.html
However, it becomes very rare after Bug 103215.
When you press space continuously (it causes zooming), you can see flash sometimes.
The zoomed image transits a div containing to a directly composited image at the end of animation, and vice versa.

In the detail, we can see the flash only if below seq hits like ASSERT:
- LayerTreeRenderer::setLayerState
- TextureMapperLayer::paint
- LayerTreeRenderer::flushLayerChanges</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775295</commentid>
    <comment_count>5</comment_count>
      <attachid>175928</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-26 02:49:25 -0800</bug_when>
    <thetext>Comment on attachment 175928
Patch

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

New failing tests:
inspector-protocol/debugger-terminate-dedicated-worker-while-paused.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775353</commentid>
    <comment_count>6</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-26 04:34:21 -0800</bug_when>
    <thetext>I&apos;d re-thought about this bug.

If LayerTreeRenderer::setLayerState() actually sync a layer state to TextureMapperLayer, this assertion can not hit.

It means that we fix this bug if we remove the dependency of LayerTreeRenderer on GraphicsLayerTextureMapper as our plan.


I think it is overshoot to remove the dependency here, so this patch will just synchronizes each TextureMapperLayer in LayerTreeRenderer::setLayerState().

We will remove the dependency in another bug.

I&apos;ll update.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776507</commentid>
    <comment_count>7</comment_count>
      <attachid>176203</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-27 02:03:51 -0800</bug_when>
    <thetext>Created attachment 176203
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776519</commentid>
    <comment_count>8</comment_count>
      <attachid>176203</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-11-27 02:21:18 -0800</bug_when>
    <thetext>Comment on attachment 176203
Patch

I&apos;m quite sure this will break more stuff :)
The right thing is to not set the backing store until the next flush.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776540</commentid>
    <comment_count>9</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-27 02:43:56 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 176203 [details])
&gt; I&apos;m quite sure this will break more stuff :)
&gt; The right thing is to not set the backing store until the next flush.

Ok. I agree on you.

I set the backing store during the next flush.

In my understand, we must not update TextureMapperLayer until the next flush, so we just update GraphicsLayer until the next flush.

If so, I&apos;m curious why the first patch could break something: perform flushing render queue only when receiving DidRenderFrame message. I agree that the first patch is not pretty, so I don&apos;t want to :)
I&apos;m just curious for more understanding.

BTW, after we remove all dependency of GraphicsLayerTextureMapper in LayerTreeRenderer, TextureMapperLayer will have queue like render queue of LayerTreeRenderer to flush all at the next flush. Do you think so?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776549</commentid>
    <comment_count>10</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-11-27 02:51:22 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; If so, I&apos;m curious why the first patch could break something: perform flushing render queue only when receiving DidRenderFrame message. I agree that the first patch is not pretty, so I don&apos;t want to :)
&gt; I&apos;m just curious for more understanding.
It would probably not break anything, but it&apos;s too early for this patch. The right thing to do at this point is to buffer the setBackingStore command, and only execute it &quot;for real&quot; during the next flush.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776577</commentid>
    <comment_count>11</comment_count>
      <attachid>176222</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-27 03:35:21 -0800</bug_when>
    <thetext>Created attachment 176222
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776583</commentid>
    <comment_count>12</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-27 03:42:47 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; If so, I&apos;m curious why the first patch could break something: perform flushing render queue only when receiving DidRenderFrame message. I agree that the first patch is not pretty, so I don&apos;t want to :)
&gt; &gt; I&apos;m just curious for more understanding.
&gt; It would probably not break anything, but it&apos;s too early for this patch. The right thing to do at this point is to buffer the setBackingStore command, and only execute it &quot;for real&quot; during the next flush.

(In reply to comment #11)
&gt; Created an attachment (id=176222) [details]
&gt; Patch

Thanks for explanation. I did as you mentioned. However, this patch can not remove flashing. I saw flash in snowstack as I mentioned #c1.
However, the first patch fixed flash. I&apos;ll investigate how to remove flash. We can fix flash in another bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776827</commentid>
    <comment_count>13</comment_count>
      <attachid>176222</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-11-27 09:05:05 -0800</bug_when>
    <thetext>Comment on attachment 176222
Patch

Looks good, but purple :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777276</commentid>
    <comment_count>14</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-27 15:31:39 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 176222 [details])
&gt; Looks good, but purple :)

Thanks!

This bug depends on Bug 103298.

I can merge this patch and Bug 103298 if needed, because this patch is a bit follow-up patch of Bug 103298.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777406</commentid>
    <comment_count>15</comment_count>
      <attachid>176373</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-27 17:28:41 -0800</bug_when>
    <thetext>Created attachment 176373
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777411</commentid>
    <comment_count>16</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-27 17:33:29 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; Created an attachment (id=176373) [details]
&gt; Patch

After this patch, I can not encounter hitting Assertion easily.

I&apos;ll post patch after checking more carefully :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777425</commentid>
    <comment_count>17</comment_count>
      <attachid>176373</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-27 17:53:20 -0800</bug_when>
    <thetext>Comment on attachment 176373
Patch

Clearing flags on attachment: 176373

Committed r135962: &lt;http://trac.webkit.org/changeset/135962&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777426</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-27 17:53:25 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777589</commentid>
    <comment_count>19</comment_count>
      <attachid>176373</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-11-28 00:10:59 -0800</bug_when>
    <thetext>Comment on attachment 176373
Patch

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

&gt; Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:169
&gt; +    BackingStoreMap m_pedningSyncBackingStores;

arf. That&apos;s a nice typo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777590</commentid>
    <comment_count>20</comment_count>
      <attachid>176373</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-11-28 00:13:09 -0800</bug_when>
    <thetext>Comment on attachment 176373
Patch

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

&gt; Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:457
&gt; +    ASSERT(!m_pedningSyncBackingStores.contains(layer));

Just FYI, I&apos;m hitting this assertion when running the compositing test cases locally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777593</commentid>
    <comment_count>21</comment_count>
      <attachid>176373</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-11-28 00:14:51 -0800</bug_when>
    <thetext>Comment on attachment 176373
Patch

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

&gt; Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:446
&gt; +    ASSERT(!m_pedningSyncBackingStores.contains(layer));

Sorry, my bad. It is actually this assert.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777653</commentid>
    <comment_count>22</comment_count>
    <who name="Jussi Kukkonen (jku)">jussi.kukkonen</who>
    <bug_when>2012-11-28 02:04:18 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; (From update of attachment 176373 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=176373&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:446
&gt; &gt; +    ASSERT(!m_pedningSyncBackingStores.contains(layer));
&gt; 
&gt; Sorry, my bad. It is actually this assert.

This happens on the bot as well, ~10 crashing tests on EFL WK2 Debug (at least):

18:07:40.667 21028   ASSERTION FAILED: !m_pedningSyncBackingStores.contains(layer)
18:07:40.667 21028   /home/buildslave-1/webkit-buildslave/efl-linux-64-debug-wk2/build/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp(446) : void WebKit::LayerTreeRenderer::createBackingStoreIfNeeded(WebCore::GraphicsLayer*)
18:07:40.667 21028   1   0x7f592cdd759c WebKit::LayerTreeRenderer::createBackingStoreIfNeeded(WebCore::GraphicsLayer*)
18:07:40.667 21028   2   0x7f592cdd7455 WebKit::LayerTreeRenderer::prepareContentBackingStore(WebCore::GraphicsLayer*)
18:07:40.667 21028   3   0x7f592cdd6f83 WebKit::LayerTreeRenderer::setLayerState(unsigned int, WebKit::WebLayerInfo const&amp;)
18:07:40.667 21028   4   0x7f592cdd57f3 WTF::FunctionWrapper&lt;void (WebKit::LayerTreeRenderer::*)(unsigned int, WebKit::WebLayerInfo const&amp;)&gt;::operator()(WebKit::LayerTreeRenderer*, unsigned int, WebKit::WebLayerInfo const&amp;)
18:07:40.667 21028   5   0x7f592cdd4ee8 WTF::BoundFunctionImpl&lt;WTF::FunctionWrapper&lt;void (WebKit::LayerTreeRenderer::*)(unsigned int, WebKit::WebLayerInfo const&amp;)&gt;, void (WebKit::LayerTreeRenderer*, unsigned int, WebKit::WebLayerInfo)&gt;::operator()()
18:07:40.667 21028   6   0x7f5933e86bd6 WTF::Function&lt;void ()&gt;::operator()() const
18:07:40.667 21028   7   0x7f592cdd8750 WebKit::LayerTreeRenderer::syncRemoteContent()
18:07:40.667 21028   8   0x7f592cdd6027 WebKit::LayerTreeRenderer::paintToCurrentGLContext(WebCore::TransformationMatrix const&amp;, float, WebCore::FloatRect const&amp;, unsigned int)
18:07:40.668 21028   9   0x7f592cf07088 EwkViewImpl::displayTimerFired(WebCore::Timer&lt;EwkViewImpl&gt;*)
18:07:40.668 21028   10  0x7f592cf0e60e WebCore::Timer&lt;EwkViewImpl&gt;::fired()
18:07:40.668 21028   11  0x7f5930347e86 WebCore::ThreadTimers::sharedTimerFiredInternal()
18:07:40.668 21028   12  0x7f5930347da7 WebCore::ThreadTimers::sharedTimerFired()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777678</commentid>
    <comment_count>23</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-11-28 03:04:00 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt; (In reply to comment #21)
&gt; &gt; (From update of attachment 176373 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=176373&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:446
&gt; &gt; &gt; +    ASSERT(!m_pedningSyncBackingStores.contains(layer));
&gt; &gt; 
&gt; &gt; Sorry, my bad. It is actually this assert.
&gt; 
&gt; This happens on the bot as well, ~10 crashing tests on EFL WK2 Debug (at least):
&gt; 
&gt; 18:07:40.667 21028   ASSERTION FAILED: !m_pedningSyncBackingStores.contains(layer)
&gt; 18:07:40.667 21028   /home/buildslave-1/webkit-buildslave/efl-linux-64-debug-wk2/build/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp(446) : void WebKit::LayerTreeRenderer::createBackingStoreIfNeeded(WebCore::GraphicsLayer*)
&gt; 18:07:40.667 21028   1   0x7f592cdd759c WebKit::LayerTreeRenderer::createBackingStoreIfNeeded(WebCore::GraphicsLayer*)
&gt; 18:07:40.667 21028   2   0x7f592cdd7455 WebKit::LayerTreeRenderer::prepareContentBackingStore(WebCore::GraphicsLayer*)
&gt; 18:07:40.667 21028   3   0x7f592cdd6f83 WebKit::LayerTreeRenderer::setLayerState(unsigned int, WebKit::WebLayerInfo const&amp;)
&gt; 18:07:40.667 21028   4   0x7f592cdd57f3 WTF::FunctionWrapper&lt;void (WebKit::LayerTreeRenderer::*)(unsigned int, WebKit::WebLayerInfo const&amp;)&gt;::operator()(WebKit::LayerTreeRenderer*, unsigned int, WebKit::WebLayerInfo const&amp;)
&gt; 18:07:40.667 21028   5   0x7f592cdd4ee8 WTF::BoundFunctionImpl&lt;WTF::FunctionWrapper&lt;void (WebKit::LayerTreeRenderer::*)(unsigned int, WebKit::WebLayerInfo const&amp;)&gt;, void (WebKit::LayerTreeRenderer*, unsigned int, WebKit::WebLayerInfo)&gt;::operator()()
&gt; 18:07:40.667 21028   6   0x7f5933e86bd6 WTF::Function&lt;void ()&gt;::operator()() const
&gt; 18:07:40.667 21028   7   0x7f592cdd8750 WebKit::LayerTreeRenderer::syncRemoteContent()
&gt; 18:07:40.667 21028   8   0x7f592cdd6027 WebKit::LayerTreeRenderer::paintToCurrentGLContext(WebCore::TransformationMatrix const&amp;, float, WebCore::FloatRect const&amp;, unsigned int)
&gt; 18:07:40.668 21028   9   0x7f592cf07088 EwkViewImpl::displayTimerFired(WebCore::Timer&lt;EwkViewImpl&gt;*)
&gt; 18:07:40.668 21028   10  0x7f592cf0e60e WebCore::Timer&lt;EwkViewImpl&gt;::fired()
&gt; 18:07:40.668 21028   11  0x7f5930347e86 WebCore::ThreadTimers::sharedTimerFiredInternal()
&gt; 18:07:40.668 21028   12  0x7f5930347da7 WebCore::ThreadTimers::sharedTimerFired()

I filed https://bugs.webkit.org/show_bug.cgi?id=103498. I may have a fix for it but I need to test it a bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778066</commentid>
    <comment_count>24</comment_count>
      <attachid>176373</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-11-28 10:50:56 -0800</bug_when>
    <thetext>Comment on attachment 176373
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:169
&gt;&gt; +    BackingStoreMap m_pedningSyncBackingStores;
&gt; 
&gt; arf. That&apos;s a nice typo.

This landed with pedning but needs to be changed to pending.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778068</commentid>
    <comment_count>25</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-11-28 10:52:21 -0800</bug_when>
    <thetext>(In reply to comment #24)
&gt; (From update of attachment 176373 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=176373&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:169
&gt; &gt;&gt; +    BackingStoreMap m_pedningSyncBackingStores;
&gt; &gt; 
&gt; &gt; arf. That&apos;s a nice typo.
&gt; 
&gt; This landed with pedning but needs to be changed to pending.

Oops, missed that in review.
DongSung, can you please fix?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778074</commentid>
    <comment_count>26</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-11-28 10:57:31 -0800</bug_when>
    <thetext>I already fixed the typo in one of the recent patches I marked as dependency, along with the assertion hit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778429</commentid>
    <comment_count>27</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-28 15:43:47 -0800</bug_when>
    <thetext>(In reply to comment #26)
&gt; I already fixed the typo in one of the recent patches I marked as dependency, along with the assertion hit.

Thank you so much!!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819495</commentid>
    <comment_count>28</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-01-29 16:47:56 -0800</bug_when>
    <thetext>*** Bug 103400 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175928</attachid>
            <date>2012-11-25 22:51:18 -0800</date>
            <delta_ts>2012-11-26 22:27:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103171-20121126154842.patch</filename>
            <type>text/plain</type>
            <size>6676</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NjM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZjYzMGMxOWJjZDI2MDFl
Y2MwNzBmMWFhZDk2ZjE0NDk2Nzc2MGJmOC4uZWQ2ODk0MmNkZDA1NTQ0ZTBlY2YxZmYzYjJiNDc1
MWU0OTgyODY2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI4IEBACiAyMDEyLTExLTI1ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgogCisgICAgICAgIFJFR1JFU1NJ
T04ocjEzNTYyMCk6IEFTU0VSVChtX3N0YXRlLmRyYXdzQ29udGVudCAmJiBtX3N0YXRlLmNvbnRl
bnRzVmlzaWJsZSAmJiAhbV9zaXplLmlzRW1wdHkoKSkgaGl0cyBpbiBUZXh0dXJlTWFwcGVyTGF5
ZXI6OnBhaW50U2VsZigpLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAzMTcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhpcyBwYXRjaCBtYWtlcyBvbmx5IFdlYiBQcm9jZXNzIGNhdXNlIHJ1bm5pbmcg
TGF5ZXJUcmVlUmVuZGVyZXI6OnN5bmNSZW1vdGVDb250ZW50KCkuCisKKyAgICAgICAgQ3VycmVu
dGx5LCBhbiBhbmltYXRpb24gbG9vcCBjYW4gY2F1c2UgY2FsbGluZyBzeW5jUmVtb3RlQ29udGVu
dCgpLCBzbworICAgICAgICBvbmx5IHRoZSBwYXJ0IG9mIHN5bmMgcmVxdWVzdHMgY2FuIGJlIGV4
ZWN1dGVkLiBVc2VycyBjYW4gc2VlIHRoZSBpbnRlcm1lZGlhdGUKKyAgICAgICAgc3RhdGUgKGku
ZS4gZmxhc2hpbmcpLiBBZnRlciB0aGlzIHBhdGNoLCB3ZSBjYW4gbm90IHNlZSB0aGUgaW50ZXJt
ZWRpYXRlIHN0YXRlLgorCisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
TGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJl
ZUNvb3JkaW5hdG9yUHJveHk6OmRpZFJlbmRlckZyYW1lKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHA6CisgICAgICAgIChXZWJL
aXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpMYXllclRyZWVSZW5kZXJlcik6CisgICAgICAgIChXZWJL
aXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpzeW5jUmVtb3RlQ29udGVudCk6CisgICAgICAgIChXZWJL
aXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpzY2hlZHVsZVJlbmRlclF1ZXVlRmx1c2gpOgorICAgICAg
ICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXll
clRyZWVSZW5kZXJlci5oOgorICAgICAgICAoTGF5ZXJUcmVlUmVuZGVyZXIpOgorCisyMDEyLTEx
LTI1ICBIdWFuZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCiAgICAgICAg
IENvb3JkaW5hdGVkIEdyYXBoaWNzOiBSZWZhY3RvciBjb2RlIG1hbmFnaW5nIGEgYmFja2luZyBz
dG9yZSBpbiBMYXllclRyZWVSZW5kZXJlci4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwMzIxNQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJl
ZUNvb3JkaW5hdG9yUHJveHkuY3BwCmluZGV4IDI0NGIyNmU0N2M0MTMxOGYzMjI4NjBiYjU1MzM5
ZWQ0MGVjMjg3MjkuLmUzNTkwZDlmMzU0NjVmZmFlNzI3MWJhNTlhYjU0ZGQ4NWI1OWVhMDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xh
eWVyVHJlZUNvb3JkaW5hdG9yUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkuY3BwCkBAIC0x
MzIsNyArMTMyLDcgQEAgdm9pZCBMYXllclRyZWVDb29yZGluYXRvclByb3h5OjpjcmVhdGVDdXN0
b21GaWx0ZXJQcm9ncmFtKGludCBpZCwgY29uc3QgV2ViQ29yZToKIAogdm9pZCBMYXllclRyZWVD
b29yZGluYXRvclByb3h5OjpkaWRSZW5kZXJGcmFtZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBj
b250ZW50c1NpemUsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGNvdmVyZWRSZWN0KQogewotICAg
IGRpc3BhdGNoVXBkYXRlKGJpbmQoJkxheWVyVHJlZVJlbmRlcmVyOjpmbHVzaExheWVyQ2hhbmdl
cywgbV9yZW5kZXJlci5nZXQoKSkpOworICAgIG1fcmVuZGVyZXItPnNjaGVkdWxlUmVuZGVyUXVl
dWVGbHVzaCgpOwogICAgIHVwZGF0ZVZpZXdwb3J0KCk7CiAjaWYgVVNFKFRJTEVEX0JBQ0tJTkdf
U1RPUkUpCiAgICAgbV9kcmF3aW5nQXJlYVByb3h5LT5wYWdlKCktPmRpZFJlbmRlckZyYW1lKGNv
bnRlbnRzU2l6ZSwgY292ZXJlZFJlY3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIu
Y3BwCmluZGV4IDA2YTI1ZTgzZWE5ZTEwZDdhNTNmZWY5YzE0M2RhYmUyZGEyNjZiOGUuLmQ5MDdk
OTk1ZDllM2FiZjUwYTYxOWIyZDlkNTQzYzk1YTkyNzRkMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXll
clRyZWVSZW5kZXJlci5jcHAKQEAgLTY3LDcgKzY3LDggQEAgc3RhdGljIEZsb2F0UG9pbnQgYm91
bmRlZFNjcm9sbFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBjb25z
dAogfQogCiBMYXllclRyZWVSZW5kZXJlcjo6TGF5ZXJUcmVlUmVuZGVyZXIoTGF5ZXJUcmVlQ29v
cmRpbmF0b3JQcm94eSogbGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eSkKLSAgICA6IG1fbGF5ZXJU
cmVlQ29vcmRpbmF0b3JQcm94eShsYXllclRyZWVDb29yZGluYXRvclByb3h5KQorICAgIDogbV9y
ZW5kZXJRdWV1ZUZsdXNoU2NoZWR1bGVkKGZhbHNlKQorICAgICwgbV9sYXllclRyZWVDb29yZGlu
YXRvclByb3h5KGxheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkpCiAgICAgLCBtX2lzQWN0aXZlKGZh
bHNlKQogICAgICwgbV9yb290TGF5ZXJJRChJbnZhbGlkV2ViTGF5ZXJJRCkKICAgICAsIG1fYW5p
bWF0aW9uc0xvY2tlZChmYWxzZSkKQEAgLTU5MCwxNyArNTkxLDE5IEBAIHZvaWQgTGF5ZXJUcmVl
UmVuZGVyZXI6OmVuc3VyZVJvb3RMYXllcigpCiAKIHZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OnN5
bmNSZW1vdGVDb250ZW50KCkKIHsKKyAgICBWZWN0b3I8RnVuY3Rpb248dm9pZCgpPiA+IHJlbmRl
clF1ZXVlOworICAgIHsKKyAgICAgICAgTXV0ZXhMb2NrZXIgbG9ja2VyKG1fcmVuZGVyUXVldWVN
dXRleCk7CisgICAgICAgIGlmICghbV9yZW5kZXJRdWV1ZUZsdXNoU2NoZWR1bGVkKQorICAgICAg
ICAgICAgcmV0dXJuOworCisgICAgICAgIHJlbmRlclF1ZXVlLnN3YXAobV9yZW5kZXJRdWV1ZSk7
CisgICAgICAgIG1fcmVuZGVyUXVldWVGbHVzaFNjaGVkdWxlZCA9IGZhbHNlOworICAgIH0KKwog
ICAgIC8vIFdlIGVucXVldWUgbWVzc2FnZXMgYW5kIGV4ZWN1dGUgdGhlbSBkdXJpbmcgcGFpbnQs
IGFzIHRoZXkgcmVxdWlyZSBhbiBhY3RpdmUgR0wgY29udGV4dC4KICAgICBlbnN1cmVSb290TGF5
ZXIoKTsKIAotICAgIFZlY3RvcjxGdW5jdGlvbjx2b2lkKCk+ID4gcmVuZGVyUXVldWU7Ci0gICAg
Ym9vbCBjYWxsZWRPbk1haW5UaHJlYWQgPSBXVEY6OmlzTWFpblRocmVhZCgpOwotICAgIGlmICgh
Y2FsbGVkT25NYWluVGhyZWFkKQotICAgICAgICBtX3JlbmRlclF1ZXVlTXV0ZXgubG9jaygpOwot
ICAgIHJlbmRlclF1ZXVlLnN3YXAobV9yZW5kZXJRdWV1ZSk7Ci0gICAgaWYgKCFjYWxsZWRPbk1h
aW5UaHJlYWQpCi0gICAgICAgIG1fcmVuZGVyUXVldWVNdXRleC51bmxvY2soKTsKLQogICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgcmVuZGVyUXVldWUuc2l6ZSgpOyArK2kpCiAgICAgICAgIHJl
bmRlclF1ZXVlW2ldKCk7CiAKQEAgLTY3Nyw2ICs2ODAsMTcgQEAgdm9pZCBMYXllclRyZWVSZW5k
ZXJlcjo6YXBwZW5kVXBkYXRlKGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mIGZ1bmN0aW9uKQogICAg
IG1fcmVuZGVyUXVldWUuYXBwZW5kKGZ1bmN0aW9uKTsKIH0KIAordm9pZCBMYXllclRyZWVSZW5k
ZXJlcjo6c2NoZWR1bGVSZW5kZXJRdWV1ZUZsdXNoKCkKK3sKKyAgICBpZiAoIW1faXNBY3RpdmUp
CisgICAgICAgIHJldHVybjsKKworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgTXV0
ZXhMb2NrZXIgbG9ja2VyKG1fcmVuZGVyUXVldWVNdXRleCk7CisgICAgbV9yZW5kZXJRdWV1ZS5h
cHBlbmQoYmluZCgmTGF5ZXJUcmVlUmVuZGVyZXI6OmZsdXNoTGF5ZXJDaGFuZ2VzLCB0aGlzKSk7
CisgICAgbV9yZW5kZXJRdWV1ZUZsdXNoU2NoZWR1bGVkID0gdHJ1ZTsKK30KKwogdm9pZCBMYXll
clRyZWVSZW5kZXJlcjo6c2V0QWN0aXZlKGJvb2wgYWN0aXZlKQogewogICAgIGlmIChtX2lzQWN0
aXZlID09IGFjdGl2ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5oCmluZGV4IDZkMjgz
NzRmZTc5ZWRkMzYxOGM4ZjAyY2UwZjc0NGNlZGQ2YzhjOGUuLjQ4NDk0OGVmZDg4Mjk5OTJmYjBj
ODMxOGUwYjgwZTQwY2NlZjA5OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuaApA
QCAtODYsNiArODYsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBwdXJnZUdMUmVzb3VyY2VzKCk7CiAg
ICAgdm9pZCBzZXRBY3RpdmUoYm9vbCk7CiAKKyAgICAvLyBJdCBpcyBjYWxsZWQgaW4gdGhlIG1h
aW4gdGhyZWFkLgorICAgIHZvaWQgc2NoZWR1bGVSZW5kZXJRdWV1ZUZsdXNoKCk7CisKICAgICB2
b2lkIGRlbGV0ZUxheWVyKFdlYkxheWVySUQpOwogICAgIHZvaWQgc2V0Um9vdExheWVySUQoV2Vi
TGF5ZXJJRCk7CiAgICAgdm9pZCBzZXRMYXllckNoaWxkcmVuKFdlYkxheWVySUQsIGNvbnN0IFZl
Y3RvcjxXZWJMYXllcklEPiYpOwpAQCAtMTAyLDcgKzEwNSw2IEBAIHB1YmxpYzoKICAgICB2b2lk
IGNyZWF0ZVRpbGUoV2ViTGF5ZXJJRCwgaW50LCBmbG9hdCBzY2FsZSk7CiAgICAgdm9pZCByZW1v
dmVUaWxlKFdlYkxheWVySUQsIGludCk7CiAgICAgdm9pZCB1cGRhdGVUaWxlKFdlYkxheWVySUQs
IGludCwgY29uc3QgVGlsZVVwZGF0ZSYpOwotICAgIHZvaWQgZmx1c2hMYXllckNoYW5nZXMoKTsK
ICAgICB2b2lkIGNyZWF0ZUltYWdlQmFja2luZyhDb29yZGluYXRlZEltYWdlQmFja2luZ0lEKTsK
ICAgICB2b2lkIHVwZGF0ZUltYWdlQmFja2luZyhDb29yZGluYXRlZEltYWdlQmFja2luZ0lELCBQ
YXNzUmVmUHRyPENvb3JkaW5hdGVkU3VyZmFjZT4pOwogICAgIHZvaWQgY2xlYXJJbWFnZUJhY2tp
bmdDb250ZW50cyhDb29yZGluYXRlZEltYWdlQmFja2luZ0lEKTsKQEAgLTEyMyw2ICsxMjUsOCBA
QCBwcml2YXRlOgogICAgIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqIHJvb3RMYXllcigpIHsgcmV0
dXJuIG1fcm9vdExheWVyLmdldCgpOyB9CiAKICAgICB2b2lkIHN5bmNSZW1vdGVDb250ZW50KCk7
CisgICAgdm9pZCBmbHVzaExheWVyQ2hhbmdlcygpOworCiAgICAgdm9pZCBhZGp1c3RQb3NpdGlv
bkZvckZpeGVkTGF5ZXJzKCk7CiAKICAgICAvLyBSZWltcGxlbWVudGF0aW9ucyBmcm9tIFdlYkNv
cmU6OkdyYXBoaWNzTGF5ZXJDbGllbnQuCkBAIC0xMzgsNyArMTQyLDYgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIHJlbmRlck5leHRGcmFtZSgpOwogICAgIHZvaWQgcHVyZ2VCYWNraW5nU3RvcmVzKCk7
CiAKLQogICAgIHZvaWQgYXNzaWduSW1hZ2VCYWNraW5nVG9MYXllcihXZWJDb3JlOjpHcmFwaGlj
c0xheWVyKiwgQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJRCk7CiAgICAgdm9pZCByZW1vdmVSZWxl
YXNlZEltYWdlQmFja2luZ3NJZk5lZWRlZCgpOwogICAgIHZvaWQgZW5zdXJlUm9vdExheWVyKCk7
CkBAIC0xNTgsNiArMTYxLDcgQEAgcHJpdmF0ZToKICAgICAvLyBSZW5kZXIgcXVldWUgY2FuIGJl
IGFjY2Vzc2VkIG9ueSBmcm9tIG1haW4gdGhyZWFkIG9yIHVwZGF0ZVBhaW50Tm9kZSBjYWxsIHN0
YWNrIQogICAgIFZlY3RvcjxGdW5jdGlvbjx2b2lkKCk+ID4gbV9yZW5kZXJRdWV1ZTsKICAgICBN
dXRleCBtX3JlbmRlclF1ZXVlTXV0ZXg7CisgICAgYm9vbCBtX3JlbmRlclF1ZXVlRmx1c2hTY2hl
ZHVsZWQ7CiAKICAgICBPd25QdHI8V2ViQ29yZTo6VGV4dHVyZU1hcHBlcj4gbV90ZXh0dXJlTWFw
cGVyOwogCg==
</data>
<flag name="commit-queue"
          id="191547"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176203</attachid>
            <date>2012-11-27 02:03:51 -0800</date>
            <delta_ts>2012-11-27 03:35:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103171-20121127190127.patch</filename>
            <type>text/plain</type>
            <size>2303</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1ODE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNDczY2Q4YTQyOTZjNjI4
YWQxMTFiN2I0YzVhYTdkMWNmMDIyZTQ5NS4uMzYzNzA2NWM0Y2YxNGE0M2FjMmZmMmEzZDBiNWJh
MjcwYzg1MjU4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTExLTI3ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFJFR1JFU1NJ
T04ocjEzNTYyMCk6IEFTU0VSVChtX3N0YXRlLmRyYXdzQ29udGVudCAmJiBtX3N0YXRlLmNvbnRl
bnRzVmlzaWJsZSAmJiAhbV9zaXplLmlzRW1wdHkoKSkgaGl0cyBpbiBUZXh0dXJlTWFwcGVyTGF5
ZXI6OnBhaW50U2VsZigpLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAzMTcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRW5zdXJlIHRoYXQgVGV4dHVyZU1hcHBlckxheWVyIGhhcyBhIGJhY2tpbmcgc3Rv
cmUgd2hlbiB0aGUgbGF5ZXIgaGFzCisgICAgICAgIGRyYXdzQ29udGVudCBhbmQgY29udGVudHNW
aXNpYmxlIHByb3BlcnRpZXMgYW5kIHRoZSBzaXplIG9mIHRoZSBsYXllciBpcyBub3QKKyAgICAg
ICAgZW1wdHkuCisKKyAgICAgICAgTGF5ZXJUcmVlUmVuZGVyZXI6OnNldExheWVyU3RhdGUoKSBj
aGFuZ2VzIHRoZSBjb25kaXRpb25zIG9mCisgICAgICAgIEdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFw
cGVyIGFuZCBzZXRzIGEgYmFja2luZyBzdG9yZSBpbnRvIFRleHR1cmVNYXBwZXJMYXllci4gSXQK
KyAgICAgICAgbWVhbnMgdGhlcmUgaXMgYSBtb21lbnQgdGhhdCBUZXh0dXJlTWFwcGVyTGF5ZXIg
aGFzIGEgYmFja2luZyBzdG9yZSBhbHRob3VnaCB0aGUKKyAgICAgICAgY29uZGl0aW9ucyBhcmUg
bm90IHNldC4KKworICAgICAgICBUaGlzIHBhdGNoIGNhbGxzIEdyYXBoaWNzTGF5ZXJUZXh0dXJl
TWFwcGVyOjpmbHVzaENvbXBvc2l0aW5nU3RhdGVGb3JUaGlzTGF5ZXJPbmx5KCkKKyAgICAgICAg
aW4gc2V0TGF5ZXJTdGF0ZSgpIHRvIHN5bmNocm9uaXplIGxheWVyIHN0YXRlcyBvZiBUZXh0dXJl
TWFwcGVyTGF5ZXIgd2l0aCB0aGVtCisgICAgICAgIG9mIEdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFw
cGVyIGF0IHRoZSB0aW1lIHRvIHNldCBhIGJhY2tpbmcgc3RvcmUuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpzZXRMYXllclN0YXRlKToKKwogMjAxMi0xMS0y
NiAgSHVhbmcgRG9uZ3N1bmcgIDxsdXh0ZWxsYUBjb21wYW55MTAwLm5ldD4KIAogICAgICAgICBD
b29yZGluYXRlZCBHcmFwaGljczogUmVtb3ZlIHRoZSBtYXNrVGFyZ2V0IG1lbWJlciBvZiBDb29y
ZGluYXRlZEdyYXBoaWNzTGF5ZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAK
aW5kZXggMDc3OTcwNzdkOGZhMTUyMmY3ODM2YTNjNmVhMjE1ZWUzZDI1Zjk0NS4uNjUyNTYwNGZj
MjcxNWYyMjgzNjg3NTFjZDgyMDk4OTYzZjcyYWIyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJl
ZVJlbmRlcmVyLmNwcApAQCAtMzY0LDYgKzM2NCw3IEBAIHZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6
OnNldExheWVyU3RhdGUoV2ViTGF5ZXJJRCBpZCwgY29uc3QgV2ViTGF5ZXJJbmZvJiBsYXllcklu
CiAgICAgbGF5ZXItPnNldFByZXNlcnZlczNEKGxheWVySW5mby5wcmVzZXJ2ZXMzRCk7CiAgICAg
aWYgKGxheWVySW5mby5pc1Jvb3RMYXllciAmJiBtX3Jvb3RMYXllcklEICE9IGlkKQogICAgICAg
ICBzZXRSb290TGF5ZXJJRChpZCk7CisgICAgbGF5ZXItPmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUZv
clRoaXNMYXllck9ubHkoKTsKIH0KIAogdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6ZGVsZXRlTGF5
ZXIoV2ViTGF5ZXJJRCBsYXllcklEKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176222</attachid>
            <date>2012-11-27 03:35:21 -0800</date>
            <delta_ts>2012-11-27 17:28:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103171-20121127203257.patch</filename>
            <type>text/plain</type>
            <size>7046</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1ODE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNDczY2Q4YTQyOTZjNjI4
YWQxMTFiN2I0YzVhYTdkMWNmMDIyZTQ5NS4uYjc4NWZhMGIyNDYxNDMzOGFhNjhlMjYwYmE3MmUz
YTAzZDU1ODY3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTExLTI3ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFJFR1JFU1NJ
T04ocjEzNTYyMCk6IEFTU0VSVChtX3N0YXRlLmRyYXdzQ29udGVudCAmJiBtX3N0YXRlLmNvbnRl
bnRzVmlzaWJsZSAmJiAhbV9zaXplLmlzRW1wdHkoKSkgaGl0cyBpbiBUZXh0dXJlTWFwcGVyTGF5
ZXI6OnBhaW50U2VsZigpLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAzMTcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRW5zdXJlIHRoYXQgVGV4dHVyZU1hcHBlckxheWVyIGhhcyBhIGJhY2tpbmcgc3Rv
cmUgd2hlbiB0aGUgbGF5ZXIgaGFzCisgICAgICAgIGRyYXdzQ29udGVudCBhbmQgY29udGVudHNW
aXNpYmxlIHByb3BlcnRpZXMgYW5kIHRoZSBzaXplIG9mIHRoZSBsYXllciBpcyBub3QKKyAgICAg
ICAgZW1wdHkuCisKKyAgICAgICAgTGF5ZXJUcmVlUmVuZGVyZXI6OnNldExheWVyU3RhdGUoKSBt
dXN0IG5vdCBzZXQgYSBiYWNraW5nIHN0b3JlIHRvCisgICAgICAgIFRleHR1cmVNYXBwZXJMYXll
ciBiZWNhdXNlIHNldExheWVyU3RhdGUoKSBqdXN0IGNoYW5nZXMgc3RhdGVzIG9mCisgICAgICAg
IEdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyIGluc3RlYWQgb2YgVGV4dHVyZU1hcHBlckxheWVy
LgorCisgICAgICAgIE5vdyBMYXllclRyZWVSZW5kZXJlcjo6Zmx1c2hMYXllckNoYW5nZXMoKSBz
ZXRzIGEgYmFja2luZyBzdG9yZSBhcyB3ZWxsIGFzIGxheWVyCisgICAgICAgIHN0YXRlcyB0byBU
ZXh0dXJlTWFwcGVyTGF5ZXIuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFw
aGljcy9MYXllclRyZWVSZW5kZXJlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZVJl
bmRlcmVyOjpnZXRCYWNraW5nU3RvcmUpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVSZW5k
ZXJlcjo6cHJlcGFyZUNvbnRlbnRCYWNraW5nU3RvcmUpOgorICAgICAgICAoV2ViS2l0OjpMYXll
clRyZWVSZW5kZXJlcjo6Y3JlYXRlQmFja2luZ1N0b3JlSWZOZWVkZWQpOgorICAgICAgICAoV2Vi
S2l0OjpMYXllclRyZWVSZW5kZXJlcjo6cmVtb3ZlQmFja2luZ1N0b3JlSWZOZWVkZWQpOgorICAg
ICAgICAoV2ViS2l0OjpMYXllclRyZWVSZW5kZXJlcjo6Y29tbWl0UGVuZGluZ0JhY2tpbmdTdG9y
ZU9wZXJhdGlvbnMpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVSZW5kZXJlcjo6Zmx1c2hM
YXllckNoYW5nZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xh
eWVyVHJlZVJlbmRlcmVyLmg6CisgICAgICAgIChXZWJDb3JlKToKKwogMjAxMi0xMS0yNiAgSHVh
bmcgRG9uZ3N1bmcgIDxsdXh0ZWxsYUBjb21wYW55MTAwLm5ldD4KIAogICAgICAgICBDb29yZGlu
YXRlZCBHcmFwaGljczogUmVtb3ZlIHRoZSBtYXNrVGFyZ2V0IG1lbWJlciBvZiBDb29yZGluYXRl
ZEdyYXBoaWNzTGF5ZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAKaW5kZXgg
MDc3OTcwNzdkOGZhMTUyMmY3ODM2YTNjNmVhMjE1ZWUzZDI1Zjk0NS4uYjA3MDg2ODc0MjMyMDE5
ZjBiM2M4YmE3MjY0N2NmNDQ3ODU1M2JkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRl
cmVyLmNwcApAQCAtNDEzLDEzICs0MTMsMTggQEAgQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmUqIExh
eWVyVHJlZVJlbmRlcmVyOjpnZXRCYWNraW5nU3RvcmUoR3JhcGhpY3NMYXllciogZ3JhcGgKIHsK
ICAgICBUZXh0dXJlTWFwcGVyTGF5ZXIqIGxheWVyID0gdG9UZXh0dXJlTWFwcGVyTGF5ZXIoZ3Jh
cGhpY3NMYXllcik7CiAgICAgQVNTRVJUKGxheWVyKTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
Q29vcmRpbmF0ZWRCYWNraW5nU3RvcmUqPihsYXllci0+YmFja2luZ1N0b3JlKCkuZ2V0KCkpOwor
ICAgIENvb3JkaW5hdGVkQmFja2luZ1N0b3JlKiBiYWNraW5nU3RvcmUgPSBzdGF0aWNfY2FzdDxD
b29yZGluYXRlZEJhY2tpbmdTdG9yZSo+KGxheWVyLT5iYWNraW5nU3RvcmUoKS5nZXQoKSk7CisK
KyAgICBCYWNraW5nU3RvcmVNYXA6Oml0ZXJhdG9yIGl0ID0gbV9wZWRuaW5nU3luY0JhY2tpbmdT
dG9yZXMuZmluZChsYXllcik7CisgICAgaWYgKGl0ICE9IG1fcGVkbmluZ1N5bmNCYWNraW5nU3Rv
cmVzLmVuZCgpKQorICAgICAgICBiYWNraW5nU3RvcmUgPSBpdC0+dmFsdWUuZ2V0KCk7CisgICAg
cmV0dXJuIGJhY2tpbmdTdG9yZTsKIH0KIAogdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6cHJlcGFy
ZUNvbnRlbnRCYWNraW5nU3RvcmUoR3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllcikKIHsKICAg
ICBpZiAoIWxheWVyU2hvdWxkSGF2ZUJhY2tpbmdTdG9yZShncmFwaGljc0xheWVyKSkgewotICAg
ICAgICByZW1vdmVCYWNraW5nU3RvcmUoZ3JhcGhpY3NMYXllcik7CisgICAgICAgIHJlbW92ZUJh
Y2tpbmdTdG9yZUlmTmVlZGVkKGdyYXBoaWNzTGF5ZXIpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCkBAIC00MzUsMTQgKzQ0MCwxOSBAQCB2b2lkIExheWVyVHJlZVJlbmRlcmVyOjpjcmVhdGVC
YWNraW5nU3RvcmVJZk5lZWRlZChHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyKQogCiAgICAg
UmVmUHRyPENvb3JkaW5hdGVkQmFja2luZ1N0b3JlPiBiYWNraW5nU3RvcmUoQ29vcmRpbmF0ZWRC
YWNraW5nU3RvcmU6OmNyZWF0ZSgpKTsKICAgICBiYWNraW5nU3RvcmUtPnNldFNpemUoZ3JhcGhp
Y3NMYXllci0+c2l6ZSgpKTsKLSAgICBsYXllci0+c2V0QmFja2luZ1N0b3JlKGJhY2tpbmdTdG9y
ZSk7CisgICAgQVNTRVJUKCFtX3BlZG5pbmdTeW5jQmFja2luZ1N0b3Jlcy5jb250YWlucyhsYXll
cikpOworICAgIG1fcGVkbmluZ1N5bmNCYWNraW5nU3RvcmVzLmFkZChsYXllciwgYmFja2luZ1N0
b3JlKTsKIH0KIAotdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6cmVtb3ZlQmFja2luZ1N0b3JlKEdy
YXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIpCit2b2lkIExheWVyVHJlZVJlbmRlcmVyOjpyZW1v
dmVCYWNraW5nU3RvcmVJZk5lZWRlZChHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyKQogewog
ICAgIFRleHR1cmVNYXBwZXJMYXllciogbGF5ZXIgPSB0b1RleHR1cmVNYXBwZXJMYXllcihncmFw
aGljc0xheWVyKTsKICAgICBBU1NFUlQobGF5ZXIpOwotICAgIGxheWVyLT5zZXRCYWNraW5nU3Rv
cmUoMCk7CisgICAgaWYgKCFsYXllci0+YmFja2luZ1N0b3JlKCkpCisgICAgICAgIHJldHVybjsK
KworICAgIEFTU0VSVCghbV9wZWRuaW5nU3luY0JhY2tpbmdTdG9yZXMuY29udGFpbnMobGF5ZXIp
KTsKKyAgICBtX3BlZG5pbmdTeW5jQmFja2luZ1N0b3Jlcy5hZGQobGF5ZXIsIDApOwogfQogCiB2
b2lkIExheWVyVHJlZVJlbmRlcmVyOjpyZXNldEJhY2tpbmdTdG9yZVNpemVUb0xheWVyU2l6ZShH
cmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyKQpAQCAtNTQ1LDEzICs1NTUsMjIgQEAgdm9pZCBM
YXllclRyZWVSZW5kZXJlcjo6cmVtb3ZlUmVsZWFzZWRJbWFnZUJhY2tpbmdzSWZOZWVkZWQoKQog
ICAgIG1fcmVsZWFzZWRJbWFnZUJhY2tpbmdzLmNsZWFyKCk7CiB9CiAKLXZvaWQgTGF5ZXJUcmVl
UmVuZGVyZXI6OmNvbW1pdFRpbGVPcGVyYXRpb25zKCkKK3ZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6
OmNvbW1pdFBlbmRpbmdCYWNraW5nU3RvcmVPcGVyYXRpb25zKCkKIHsKICAgICBIYXNoU2V0PFJl
ZlB0cjxDb29yZGluYXRlZEJhY2tpbmdTdG9yZT4gPjo6aXRlcmF0b3IgZW5kID0gbV9iYWNraW5n
U3RvcmVzV2l0aFBlbmRpbmdCdWZmZXJzLmVuZCgpOwogICAgIGZvciAoSGFzaFNldDxSZWZQdHI8
Q29vcmRpbmF0ZWRCYWNraW5nU3RvcmU+ID46Oml0ZXJhdG9yIGl0ID0gbV9iYWNraW5nU3RvcmVz
V2l0aFBlbmRpbmdCdWZmZXJzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKICAgICAgICAgKCpp
dCktPmNvbW1pdFRpbGVPcGVyYXRpb25zKG1fdGV4dHVyZU1hcHBlci5nZXQoKSk7CiAKICAgICBt
X2JhY2tpbmdTdG9yZXNXaXRoUGVuZGluZ0J1ZmZlcnMuY2xlYXIoKTsKKworICAgIHsKKyAgICAg
ICAgQmFja2luZ1N0b3JlTWFwOjppdGVyYXRvciBlbmQgPSBtX3BlZG5pbmdTeW5jQmFja2luZ1N0
b3Jlcy5lbmQoKTsKKyAgICAgICAgQmFja2luZ1N0b3JlTWFwOjppdGVyYXRvciBpdCA9IG1fcGVk
bmluZ1N5bmNCYWNraW5nU3RvcmVzLmJlZ2luKCk7CisgICAgICAgIGZvciAoO2l0ICE9IGVuZDsg
KytpdCkKKyAgICAgICAgICAgIGl0LT5rZXktPnNldEJhY2tpbmdTdG9yZShpdC0+dmFsdWUpOwor
CisgICAgICAgIG1fcGVkbmluZ1N5bmNCYWNraW5nU3RvcmVzLmNsZWFyKCk7CisgICAgfQogfQog
CiB2b2lkIExheWVyVHJlZVJlbmRlcmVyOjpmbHVzaExheWVyQ2hhbmdlcygpCkBAIC01NjIsNyAr
NTgxLDcgQEAgdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6Zmx1c2hMYXllckNoYW5nZXMoKQogICAg
IHNldEFuaW1hdGlvbnNMb2NrZWQoZmFsc2UpOwogCiAgICAgbV9yb290TGF5ZXItPmZsdXNoQ29t
cG9zaXRpbmdTdGF0ZShGbG9hdFJlY3QoKSk7Ci0gICAgY29tbWl0VGlsZU9wZXJhdGlvbnMoKTsK
KyAgICBjb21taXRQZW5kaW5nQmFja2luZ1N0b3JlT3BlcmF0aW9ucygpOwogICAgIHJlbW92ZVJl
bGVhc2VkSW1hZ2VCYWNraW5nc0lmTmVlZGVkKCk7CiAKICAgICAvLyBUaGUgcGVuZGluZyB0aWxl
cyBzdGF0ZSBpcyBvbiBpdHMgd2F5IGZvciB0aGUgc2NyZWVuLCB0ZWxsIHRoZSB3ZWIgcHJvY2Vz
cyB0byByZW5kZXIgdGhlIG5leHQgb25lLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmgK
aW5kZXggYjNjYWExZTA2YTA2MWZlZTgzNzlmZmVmNDdlMjJlY2Q4ZTdiN2EwNC4uMGMwMzUxZDBm
MzViNmZkNDM4YWY2ZjFlYTM4NWZiNDRmMDk1NGY1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVS
ZW5kZXJlci5oCkBAIC00MSw2ICs0MSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBD
dXN0b21GaWx0ZXJQcm9ncmFtOwogY2xhc3MgQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm87CitjbGFz
cyBUZXh0dXJlTWFwcGVyTGF5ZXI7CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtMTM4LDE3
ICsxMzksMTYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlbmRlck5leHRGcmFtZSgpOwogICAgIHZv
aWQgcHVyZ2VCYWNraW5nU3RvcmVzKCk7CiAKLQogICAgIHZvaWQgYXNzaWduSW1hZ2VCYWNraW5n
VG9MYXllcihXZWJDb3JlOjpHcmFwaGljc0xheWVyKiwgQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJ
RCk7CiAgICAgdm9pZCByZW1vdmVSZWxlYXNlZEltYWdlQmFja2luZ3NJZk5lZWRlZCgpOwogICAg
IHZvaWQgZW5zdXJlUm9vdExheWVyKCk7CiAgICAgdm9pZCBlbnN1cmVMYXllcihXZWJMYXllcklE
KTsKLSAgICB2b2lkIGNvbW1pdFRpbGVPcGVyYXRpb25zKCk7CisgICAgdm9pZCBjb21taXRQZW5k
aW5nQmFja2luZ1N0b3JlT3BlcmF0aW9ucygpOwogCiAgICAgQ29vcmRpbmF0ZWRCYWNraW5nU3Rv
cmUqIGdldEJhY2tpbmdTdG9yZShXZWJDb3JlOjpHcmFwaGljc0xheWVyKik7CiAgICAgdm9pZCBw
cmVwYXJlQ29udGVudEJhY2tpbmdTdG9yZShXZWJDb3JlOjpHcmFwaGljc0xheWVyKik7CiAgICAg
dm9pZCBjcmVhdGVCYWNraW5nU3RvcmVJZk5lZWRlZChXZWJDb3JlOjpHcmFwaGljc0xheWVyKik7
Ci0gICAgdm9pZCByZW1vdmVCYWNraW5nU3RvcmUoV2ViQ29yZTo6R3JhcGhpY3NMYXllciopOwor
ICAgIHZvaWQgcmVtb3ZlQmFja2luZ1N0b3JlSWZOZWVkZWQoV2ViQ29yZTo6R3JhcGhpY3NMYXll
ciopOwogICAgIHZvaWQgcmVzZXRCYWNraW5nU3RvcmVTaXplVG9MYXllclNpemUoV2ViQ29yZTo6
R3JhcGhpY3NMYXllciopOwogCiAgICAgdHlwZWRlZiBIYXNoTWFwPFdlYkxheWVySUQsIFdlYkNv
cmU6OkdyYXBoaWNzTGF5ZXIqPiBMYXllck1hcDsKQEAgLTE2NSw2ICsxNjUsOSBAQCBwcml2YXRl
OgogICAgIEltYWdlQmFja2luZ01hcCBtX2ltYWdlQmFja2luZ3M7CiAgICAgVmVjdG9yPFJlZlB0
cjxDb29yZGluYXRlZEJhY2tpbmdTdG9yZT4gPiBtX3JlbGVhc2VkSW1hZ2VCYWNraW5nczsKIAor
ICAgIHR5cGVkZWYgSGFzaE1hcDxXZWJDb3JlOjpUZXh0dXJlTWFwcGVyTGF5ZXIqLCBSZWZQdHI8
Q29vcmRpbmF0ZWRCYWNraW5nU3RvcmU+ID4gQmFja2luZ1N0b3JlTWFwOworICAgIEJhY2tpbmdT
dG9yZU1hcCBtX3BlZG5pbmdTeW5jQmFja2luZ1N0b3JlczsKKwogICAgIEhhc2hTZXQ8UmVmUHRy
PENvb3JkaW5hdGVkQmFja2luZ1N0b3JlPiA+IG1fYmFja2luZ1N0b3Jlc1dpdGhQZW5kaW5nQnVm
ZmVyczsKIAogI2lmIFVTRShHUkFQSElDU19TVVJGQUNFKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176373</attachid>
            <date>2012-11-27 17:28:41 -0800</date>
            <delta_ts>2012-11-28 10:50:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103171-20121128102614.patch</filename>
            <type>text/plain</type>
            <size>7107</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1OTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZWYyODQ3YjJlMGNjNmVk
OWZhOWIzODRiYjRjYzNkZDBhZmYxNTIwOS4uZDI1OGE5NTFkNjI3MTI0MDJjOTUxMTVmYTgwMGVj
MjUzZDhkNDMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMzIEBACiAyMDEyLTExLTI3ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgogCisgICAgICAgIFJFR1JFU1NJ
T04ocjEzNTYyMCk6IEFTU0VSVChtX3N0YXRlLmRyYXdzQ29udGVudCAmJiBtX3N0YXRlLmNvbnRl
bnRzVmlzaWJsZSAmJiAhbV9zaXplLmlzRW1wdHkoKSkgaGl0cyBpbiBUZXh0dXJlTWFwcGVyTGF5
ZXI6OnBhaW50U2VsZigpLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAzMTcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTm9hbSBSb3NlbnRoYWwuCisK
KyAgICAgICAgRW5zdXJlIHRoYXQgVGV4dHVyZU1hcHBlckxheWVyIGhhcyBhIGJhY2tpbmcgc3Rv
cmUgd2hlbiB0aGUgbGF5ZXIgaGFzCisgICAgICAgIGRyYXdzQ29udGVudCBhbmQgY29udGVudHNW
aXNpYmxlIHByb3BlcnRpZXMgYW5kIHRoZSBzaXplIG9mIHRoZSBsYXllciBpcyBub3QKKyAgICAg
ICAgZW1wdHkuCisKKyAgICAgICAgTGF5ZXJUcmVlUmVuZGVyZXI6OnNldExheWVyU3RhdGUoKSBt
dXN0IG5vdCBzZXQgYSBiYWNraW5nIHN0b3JlIHRvCisgICAgICAgIFRleHR1cmVNYXBwZXJMYXll
ciBiZWNhdXNlIHNldExheWVyU3RhdGUoKSBqdXN0IGNoYW5nZXMgc3RhdGVzIG9mCisgICAgICAg
IEdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyIGluc3RlYWQgb2YgVGV4dHVyZU1hcHBlckxheWVy
LgorCisgICAgICAgIE5vdyBMYXllclRyZWVSZW5kZXJlcjo6Zmx1c2hMYXllckNoYW5nZXMoKSBz
ZXRzIGEgYmFja2luZyBzdG9yZSBhcyB3ZWxsIGFzIGxheWVyCisgICAgICAgIHN0YXRlcyB0byBU
ZXh0dXJlTWFwcGVyTGF5ZXIuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFw
aGljcy9MYXllclRyZWVSZW5kZXJlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZVJl
bmRlcmVyOjpnZXRCYWNraW5nU3RvcmUpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVSZW5k
ZXJlcjo6cHJlcGFyZUNvbnRlbnRCYWNraW5nU3RvcmUpOgorICAgICAgICAoV2ViS2l0OjpMYXll
clRyZWVSZW5kZXJlcjo6Y3JlYXRlQmFja2luZ1N0b3JlSWZOZWVkZWQpOgorICAgICAgICAoV2Vi
S2l0OjpMYXllclRyZWVSZW5kZXJlcjo6cmVtb3ZlQmFja2luZ1N0b3JlSWZOZWVkZWQpOgorICAg
ICAgICAoV2ViS2l0OjpMYXllclRyZWVSZW5kZXJlcjo6Y29tbWl0UGVuZGluZ0JhY2tpbmdTdG9y
ZU9wZXJhdGlvbnMpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVSZW5kZXJlcjo6Zmx1c2hM
YXllckNoYW5nZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xh
eWVyVHJlZVJlbmRlcmVyLmg6CisgICAgICAgIChXZWJDb3JlKToKKworMjAxMi0xMS0yNyAgSHVh
bmcgRG9uZ3N1bmcgIDxsdXh0ZWxsYUBjb21wYW55MTAwLm5ldD4KKwogICAgICAgICBDb29yZGlu
YXRlZCBHcmFwaGljczogUmVmYWN0b3IgY29kZSBtYW5hZ2luZyBhIGJhY2tpbmcgc3RvcmUgaW4g
TGF5ZXJUcmVlUmVuZGVyZXIuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDMyOTgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCmlu
ZGV4IDUwZDkzM2FhMDlhYTkxZjg1NGM2MDI0ZWQ0MWM3MThjMDk1Nzc5ZGUuLmNkNDU3NWMzMDg0
MTYwYjM2MWVmYWQxYjMwNWUzNjFiZDBhZWNhZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVS
ZW5kZXJlci5jcHAKQEAgLTQxNiwxMyArNDE2LDE4IEBAIENvb3JkaW5hdGVkQmFja2luZ1N0b3Jl
KiBMYXllclRyZWVSZW5kZXJlcjo6Z2V0QmFja2luZ1N0b3JlKEdyYXBoaWNzTGF5ZXIqIGdyYXBo
CiB7CiAgICAgVGV4dHVyZU1hcHBlckxheWVyKiBsYXllciA9IHRvVGV4dHVyZU1hcHBlckxheWVy
KGdyYXBoaWNzTGF5ZXIpOwogICAgIEFTU0VSVChsYXllcik7Ci0gICAgcmV0dXJuIHN0YXRpY19j
YXN0PENvb3JkaW5hdGVkQmFja2luZ1N0b3JlKj4obGF5ZXItPmJhY2tpbmdTdG9yZSgpLmdldCgp
KTsKKyAgICBDb29yZGluYXRlZEJhY2tpbmdTdG9yZSogYmFja2luZ1N0b3JlID0gc3RhdGljX2Nh
c3Q8Q29vcmRpbmF0ZWRCYWNraW5nU3RvcmUqPihsYXllci0+YmFja2luZ1N0b3JlKCkuZ2V0KCkp
OworCisgICAgQmFja2luZ1N0b3JlTWFwOjppdGVyYXRvciBpdCA9IG1fcGVkbmluZ1N5bmNCYWNr
aW5nU3RvcmVzLmZpbmQobGF5ZXIpOworICAgIGlmIChpdCAhPSBtX3BlZG5pbmdTeW5jQmFja2lu
Z1N0b3Jlcy5lbmQoKSkKKyAgICAgICAgYmFja2luZ1N0b3JlID0gaXQtPnZhbHVlLmdldCgpOwor
ICAgIHJldHVybiBiYWNraW5nU3RvcmU7CiB9CiAKIHZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OnBy
ZXBhcmVDb250ZW50QmFja2luZ1N0b3JlKEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIpCiB7
CiAgICAgaWYgKCFsYXllclNob3VsZEhhdmVCYWNraW5nU3RvcmUoZ3JhcGhpY3NMYXllcikpIHsK
LSAgICAgICAgcmVtb3ZlQmFja2luZ1N0b3JlKGdyYXBoaWNzTGF5ZXIpOworICAgICAgICByZW1v
dmVCYWNraW5nU3RvcmVJZk5lZWRlZChncmFwaGljc0xheWVyKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIApAQCAtNDM4LDE0ICs0NDMsMTkgQEAgdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6Y3Jl
YXRlQmFja2luZ1N0b3JlSWZOZWVkZWQoR3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllcikKIAog
ICAgIFJlZlB0cjxDb29yZGluYXRlZEJhY2tpbmdTdG9yZT4gYmFja2luZ1N0b3JlKENvb3JkaW5h
dGVkQmFja2luZ1N0b3JlOjpjcmVhdGUoKSk7CiAgICAgYmFja2luZ1N0b3JlLT5zZXRTaXplKGdy
YXBoaWNzTGF5ZXItPnNpemUoKSk7Ci0gICAgbGF5ZXItPnNldEJhY2tpbmdTdG9yZShiYWNraW5n
U3RvcmUpOworICAgIEFTU0VSVCghbV9wZWRuaW5nU3luY0JhY2tpbmdTdG9yZXMuY29udGFpbnMo
bGF5ZXIpKTsKKyAgICBtX3BlZG5pbmdTeW5jQmFja2luZ1N0b3Jlcy5hZGQobGF5ZXIsIGJhY2tp
bmdTdG9yZSk7CiB9CiAKLXZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OnJlbW92ZUJhY2tpbmdTdG9y
ZShHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyKQordm9pZCBMYXllclRyZWVSZW5kZXJlcjo6
cmVtb3ZlQmFja2luZ1N0b3JlSWZOZWVkZWQoR3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllcikK
IHsKICAgICBUZXh0dXJlTWFwcGVyTGF5ZXIqIGxheWVyID0gdG9UZXh0dXJlTWFwcGVyTGF5ZXIo
Z3JhcGhpY3NMYXllcik7CiAgICAgQVNTRVJUKGxheWVyKTsKLSAgICBsYXllci0+c2V0QmFja2lu
Z1N0b3JlKDApOworICAgIGlmICghbGF5ZXItPmJhY2tpbmdTdG9yZSgpKQorICAgICAgICByZXR1
cm47CisKKyAgICBBU1NFUlQoIW1fcGVkbmluZ1N5bmNCYWNraW5nU3RvcmVzLmNvbnRhaW5zKGxh
eWVyKSk7CisgICAgbV9wZWRuaW5nU3luY0JhY2tpbmdTdG9yZXMuYWRkKGxheWVyLCAwKTsKIH0K
IAogdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6cmVzZXRCYWNraW5nU3RvcmVTaXplVG9MYXllclNp
emUoR3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllcikKQEAgLTU0OCwxMyArNTU4LDIyIEBAIHZv
aWQgTGF5ZXJUcmVlUmVuZGVyZXI6OnJlbW92ZVJlbGVhc2VkSW1hZ2VCYWNraW5nc0lmTmVlZGVk
KCkKICAgICBtX3JlbGVhc2VkSW1hZ2VCYWNraW5ncy5jbGVhcigpOwogfQogCi12b2lkIExheWVy
VHJlZVJlbmRlcmVyOjpjb21taXRUaWxlT3BlcmF0aW9ucygpCit2b2lkIExheWVyVHJlZVJlbmRl
cmVyOjpjb21taXRQZW5kaW5nQmFja2luZ1N0b3JlT3BlcmF0aW9ucygpCiB7CiAgICAgSGFzaFNl
dDxSZWZQdHI8Q29vcmRpbmF0ZWRCYWNraW5nU3RvcmU+ID46Oml0ZXJhdG9yIGVuZCA9IG1fYmFj
a2luZ1N0b3Jlc1dpdGhQZW5kaW5nQnVmZmVycy5lbmQoKTsKICAgICBmb3IgKEhhc2hTZXQ8UmVm
UHRyPENvb3JkaW5hdGVkQmFja2luZ1N0b3JlPiA+OjppdGVyYXRvciBpdCA9IG1fYmFja2luZ1N0
b3Jlc1dpdGhQZW5kaW5nQnVmZmVycy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCiAgICAgICAg
ICgqaXQpLT5jb21taXRUaWxlT3BlcmF0aW9ucyhtX3RleHR1cmVNYXBwZXIuZ2V0KCkpOwogCiAg
ICAgbV9iYWNraW5nU3RvcmVzV2l0aFBlbmRpbmdCdWZmZXJzLmNsZWFyKCk7CisKKyAgICB7Cisg
ICAgICAgIEJhY2tpbmdTdG9yZU1hcDo6aXRlcmF0b3IgZW5kID0gbV9wZWRuaW5nU3luY0JhY2tp
bmdTdG9yZXMuZW5kKCk7CisgICAgICAgIEJhY2tpbmdTdG9yZU1hcDo6aXRlcmF0b3IgaXQgPSBt
X3BlZG5pbmdTeW5jQmFja2luZ1N0b3Jlcy5iZWdpbigpOworICAgICAgICBmb3IgKDtpdCAhPSBl
bmQ7ICsraXQpCisgICAgICAgICAgICBpdC0+a2V5LT5zZXRCYWNraW5nU3RvcmUoaXQtPnZhbHVl
KTsKKworICAgICAgICBtX3BlZG5pbmdTeW5jQmFja2luZ1N0b3Jlcy5jbGVhcigpOworICAgIH0K
IH0KIAogdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6Zmx1c2hMYXllckNoYW5nZXMoKQpAQCAtNTY1
LDcgKzU4NCw3IEBAIHZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OmZsdXNoTGF5ZXJDaGFuZ2VzKCkK
ICAgICBzZXRBbmltYXRpb25zTG9ja2VkKGZhbHNlKTsKIAogICAgIG1fcm9vdExheWVyLT5mbHVz
aENvbXBvc2l0aW5nU3RhdGUoRmxvYXRSZWN0KCkpOwotICAgIGNvbW1pdFRpbGVPcGVyYXRpb25z
KCk7CisgICAgY29tbWl0UGVuZGluZ0JhY2tpbmdTdG9yZU9wZXJhdGlvbnMoKTsKICAgICByZW1v
dmVSZWxlYXNlZEltYWdlQmFja2luZ3NJZk5lZWRlZCgpOwogCiAgICAgLy8gVGhlIHBlbmRpbmcg
dGlsZXMgc3RhdGUgaXMgb24gaXRzIHdheSBmb3IgdGhlIHNjcmVlbiwgdGVsbCB0aGUgd2ViIHBy
b2Nlc3MgdG8gcmVuZGVyIHRoZSBuZXh0IG9uZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJl
ci5oCmluZGV4IGIzY2FhMWUwNmEwNjFmZWU4Mzc5ZmZlZjQ3ZTIyZWNkOGU3YjdhMDQuLjBjMDM1
MWQwZjM1YjZmZDQzOGFmNmYxZWEzODVmYjQ0ZjA5NTRmNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJU
cmVlUmVuZGVyZXIuaApAQCAtNDEsNiArNDEsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xh
c3MgQ3VzdG9tRmlsdGVyUHJvZ3JhbTsKIGNsYXNzIEN1c3RvbUZpbHRlclByb2dyYW1JbmZvOwor
Y2xhc3MgVGV4dHVyZU1hcHBlckxheWVyOwogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTEz
OCwxNyArMTM5LDE2IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZW5kZXJOZXh0RnJhbWUoKTsKICAg
ICB2b2lkIHB1cmdlQmFja2luZ1N0b3JlcygpOwogCi0KICAgICB2b2lkIGFzc2lnbkltYWdlQmFj
a2luZ1RvTGF5ZXIoV2ViQ29yZTo6R3JhcGhpY3NMYXllciosIENvb3JkaW5hdGVkSW1hZ2VCYWNr
aW5nSUQpOwogICAgIHZvaWQgcmVtb3ZlUmVsZWFzZWRJbWFnZUJhY2tpbmdzSWZOZWVkZWQoKTsK
ICAgICB2b2lkIGVuc3VyZVJvb3RMYXllcigpOwogICAgIHZvaWQgZW5zdXJlTGF5ZXIoV2ViTGF5
ZXJJRCk7Ci0gICAgdm9pZCBjb21taXRUaWxlT3BlcmF0aW9ucygpOworICAgIHZvaWQgY29tbWl0
UGVuZGluZ0JhY2tpbmdTdG9yZU9wZXJhdGlvbnMoKTsKIAogICAgIENvb3JkaW5hdGVkQmFja2lu
Z1N0b3JlKiBnZXRCYWNraW5nU3RvcmUoV2ViQ29yZTo6R3JhcGhpY3NMYXllciopOwogICAgIHZv
aWQgcHJlcGFyZUNvbnRlbnRCYWNraW5nU3RvcmUoV2ViQ29yZTo6R3JhcGhpY3NMYXllciopOwog
ICAgIHZvaWQgY3JlYXRlQmFja2luZ1N0b3JlSWZOZWVkZWQoV2ViQ29yZTo6R3JhcGhpY3NMYXll
ciopOwotICAgIHZvaWQgcmVtb3ZlQmFja2luZ1N0b3JlKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIq
KTsKKyAgICB2b2lkIHJlbW92ZUJhY2tpbmdTdG9yZUlmTmVlZGVkKFdlYkNvcmU6OkdyYXBoaWNz
TGF5ZXIqKTsKICAgICB2b2lkIHJlc2V0QmFja2luZ1N0b3JlU2l6ZVRvTGF5ZXJTaXplKFdlYkNv
cmU6OkdyYXBoaWNzTGF5ZXIqKTsKIAogICAgIHR5cGVkZWYgSGFzaE1hcDxXZWJMYXllcklELCBX
ZWJDb3JlOjpHcmFwaGljc0xheWVyKj4gTGF5ZXJNYXA7CkBAIC0xNjUsNiArMTY1LDkgQEAgcHJp
dmF0ZToKICAgICBJbWFnZUJhY2tpbmdNYXAgbV9pbWFnZUJhY2tpbmdzOwogICAgIFZlY3RvcjxS
ZWZQdHI8Q29vcmRpbmF0ZWRCYWNraW5nU3RvcmU+ID4gbV9yZWxlYXNlZEltYWdlQmFja2luZ3M7
CiAKKyAgICB0eXBlZGVmIEhhc2hNYXA8V2ViQ29yZTo6VGV4dHVyZU1hcHBlckxheWVyKiwgUmVm
UHRyPENvb3JkaW5hdGVkQmFja2luZ1N0b3JlPiA+IEJhY2tpbmdTdG9yZU1hcDsKKyAgICBCYWNr
aW5nU3RvcmVNYXAgbV9wZWRuaW5nU3luY0JhY2tpbmdTdG9yZXM7CisKICAgICBIYXNoU2V0PFJl
ZlB0cjxDb29yZGluYXRlZEJhY2tpbmdTdG9yZT4gPiBtX2JhY2tpbmdTdG9yZXNXaXRoUGVuZGlu
Z0J1ZmZlcnM7CiAKICNpZiBVU0UoR1JBUEhJQ1NfU1VSRkFDRSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>