<?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>98144</bug_id>
          
          <creation_ts>2012-10-02 04:33:08 -0700</creation_ts>
          <short_desc>Layout test for &quot;Fixed position visibility check does not consider descendants&quot;</short_desc>
          <delta_ts>2012-11-16 16:38:41 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>DUPLICATE</resolution>
          <dup_id>101303</dup_id>
          
          <bug_file_loc>https://www.gov.uk/organise-fete-street-party/telling-your-local-council</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>98421</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sami Kyöstilä">skyostil</reporter>
          <assigned_to name="Xianzhu Wang">wangxianzhu</assigned_to>
          <cc>bdakin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>jamesr</cc>
    
    <cc>jer.noble</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>wangxianzhu</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>732531</commentid>
    <comment_count>0</comment_count>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-10-02 04:33:08 -0700</bug_when>
    <thetext>The check against creating composition layers for invisible fixed positioned elements is too aggressive in that it does not consider descendants of the fixed positioned element that may be visible even though the element itself is out of view.

Minimal test case follows. Here the visibility check fails because the fixed position element has a zero layout size, but an absolute positioned descendant is still visible.

&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;style&gt;
    .fixed {
      position: fixed;
    }
    .absolute {
      position: absolute;
      top: 50px;
      left: 50px;
    }
    .box {
      border: solid thin blue;
      width: 40px;
      height: 40px;
    }
    body {
      height: 1000px;
    }
  &lt;/style&gt;
&lt;/head&gt;

&lt;body&gt;
  &lt;div class=&quot;fixed&quot;&gt;
    &lt;div class=&quot;absolute box&quot;&gt;&lt;/div&gt;
  &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;

See https://www.gov.uk/organise-fete-street-party/telling-your-local-council for another example.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732538</commentid>
    <comment_count>1</comment_count>
      <attachid>166666</attachid>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-10-02 04:37:58 -0700</bug_when>
    <thetext>Created attachment 166666
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732683</commentid>
    <comment_count>2</comment_count>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-10-02 08:53:29 -0700</bug_when>
    <thetext>*** Bug 96584 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732684</commentid>
    <comment_count>3</comment_count>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-10-02 08:54:49 -0700</bug_when>
    <thetext>Thanks Sami. The patch looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732900</commentid>
    <comment_count>4</comment_count>
      <attachid>166666</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-10-02 11:49:47 -0700</bug_when>
    <thetext>Comment on attachment 166666
Patch

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

&gt; Source/WebCore/rendering/RenderLayerCompositor.cpp:1859
&gt; +        IntRect layerBounds = calculateCompositedBounds(layer, rootRenderLayer());

calculateCompositedBounds is doing a subtree walk, which could be expensive.

&gt; LayoutTests/compositing/layer-creation/fixed-position-absolute-descendant.html:30
&gt; +      window.internals.settings.setEnableCompositingForFixedPosition(true);
&gt; +      window.internals.settings.setFixedPositionCreatesStackingContext(true);

Are these both correctly reset by InternalSettings between tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734620</commentid>
    <comment_count>5</comment_count>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-10-04 05:51:14 -0700</bug_when>
    <thetext>Thanks Simon.

(In reply to comment #4)
&gt; (From update of attachment 166666 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=166666&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderLayerCompositor.cpp:1859
&gt; &gt; +        IntRect layerBounds = calculateCompositedBounds(layer, rootRenderLayer());
&gt; 
&gt; calculateCompositedBounds is doing a subtree walk, which could be expensive.

Good point. I originally thought about inverting this so that each layer would walk up to see if its fixed by an ancestor, but the rest of the code (e.g. isFixedPositionedByAncestor) assumes that the fixed element is composited.

I&apos;ve now changed this to only walk the subtree if the fixed element itself is invisible. This should reduce the number of walks.

&gt; &gt; LayoutTests/compositing/layer-creation/fixed-position-absolute-descendant.html:30
&gt; &gt; +      window.internals.settings.setEnableCompositingForFixedPosition(true);
&gt; &gt; +      window.internals.settings.setFixedPositionCreatesStackingContext(true);
&gt; 
&gt; Are these both correctly reset by InternalSettings between tests?

Well spotted, the former wasn&apos;t. It&apos;s already being used in compositing/layer-creation/fixed-position-out-of-view.html.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734626</commentid>
    <comment_count>6</comment_count>
      <attachid>167090</attachid>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-10-04 05:55:12 -0700</bug_when>
    <thetext>Created attachment 167090
Patch

Only walk subtree if necessary. Restore fixed position composition flag between tests. PTAL?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734721</commentid>
    <comment_count>7</comment_count>
      <attachid>167090</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-10-04 08:37:50 -0700</bug_when>
    <thetext>Comment on attachment 167090
Patch

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

&gt; Source/WebCore/rendering/RenderLayerCompositor.cpp:1861
&gt; +    if (FrameView* frameView = m_renderView-&gt;frameView()) {
&gt; +        IntRect viewBounds = IntRect(IntPoint(frameView-&gt;scrollOffsetForFixedPosition()), frameView-&gt;layoutSize());
&gt; +        if (!layer-&gt;absoluteBoundingBox().intersects(viewBounds) &amp;&amp; !calculateCompositedBounds(layer, rootRenderLayer()).intersects(viewBounds))
&gt; +            return false;
&gt; +    }

This could be further optimized by having a version of of calculateCompositedBounds() that is like compositedExtentIntersectsRect() that you can early-return from as soon as you find something inside the viewport. But no need to do that now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734730</commentid>
    <comment_count>8</comment_count>
      <attachid>167090</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-04 08:57:49 -0700</bug_when>
    <thetext>Comment on attachment 167090
Patch

Clearing flags on attachment: 167090

Committed r130396: &lt;http://trac.webkit.org/changeset/130396&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734731</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-04 08:57:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734786</commentid>
    <comment_count>10</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-10-04 10:12:38 -0700</bug_when>
    <thetext>Four tests are crashing on the debug Lion and Mountain Lion bots are crashing after this commit.

http://build.webkit.org/results/Apple%20MountainLion%20Debug%20WK2%20(Tests)/r130396%20(1853)/results.html

http/tests/misc/acid3.html	crash log
fast/repaint/fixed-in-page-scale.html	crash log
fast/repaint/fixed-right-bottom-in-page-scale.html	crash log
fast/repaint/fixed-right-in-page-scale.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734791</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-04 10:19:14 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 98421</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734822</commentid>
    <comment_count>12</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-10-04 10:45:07 -0700</bug_when>
    <thetext>&quot;Crashes&quot; were RenderGeometryMap assertions:

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.WebCore             	0x000000010ed2ed0e WebCore::RenderGeometryMap::absoluteRect(WebCore::FloatRect const&amp;) const + 686 (RenderGeometryMap.cpp:85)
1   com.apple.WebCore             	0x000000010ed7bb3e WebCore::RenderLayerCompositor::addToOverlapMap(WebCore::RenderLayerCompositor::OverlapMap&amp;, WebCore::RenderLayer*, WebCore::IntRect&amp;, bool&amp;) + 174 (RenderLayerCompositor.cpp:651)
2   com.apple.WebCore             	0x000000010ed79a30 WebCore::RenderLayerCompositor::computeCompositingRequirements(WebCore::RenderLayer*, WebCore::RenderLayer*, WebCore::RenderLayerCompositor::OverlapMap*, WebCore::CompositingState&amp;, bool&amp;, bool&amp;) + 1616 (RenderLayerCompositor.cpp:836)
3   com.apple.WebCore             	0x000000010ed7990d WebCore::RenderLayerCompositor::computeCompositingRequirements(WebCore::RenderLayer*, WebCore::RenderLayer*, WebCore::RenderLayerCompositor::OverlapMap*, WebCore::CompositingState&amp;, bool&amp;, bool&amp;) + 1325 (RenderLayerCompositor.cpp:813)
4   com.apple.WebCore             	0x000000010ed7990d WebCore::RenderLayerCompositor::computeCompositingRequirements(WebCore::RenderLayer*, WebCore::RenderLayer*, WebCore::RenderLayerCompositor::OverlapMap*, WebCore::CompositingState&amp;, bool&amp;, bool&amp;) + 1325 (RenderLayerCompositor.cpp:813)
5   com.apple.WebCore             	0x000000010ed7990d WebCore::RenderLayerCompositor::computeCompositingRequirements(WebCore::RenderLayer*, WebCore::RenderLayer*, WebCore::RenderLayerCompositor::OverlapMap*, WebCore::CompositingState&amp;, bool&amp;, bool&amp;) + 1325 (RenderLayerCompositor.cpp:813)
6   com.apple.WebCore             	0x000000010ed78ea3 WebCore::RenderLayerCompositor::updateCompositingLayers(WebCore::CompositingUpdateType, WebCore::RenderLayer*) + 675 (RenderLayerCompositor.cpp:405)
7   com.apple.WebCore             	0x000000010e174885 WebCore::FrameView::updateFixedElementsAfterScrolling() + 117 (FrameView.cpp:1853)
8   com.apple.WebCore             	0x000000010efa51f2 WebCore::ScrollView::scrollTo(WebCore::IntSize const&amp;) + 194 (ScrollView.cpp:387)
9   com.apple.WebCore             	0x000000010e176eee WebCore::FrameView::scrollTo(WebCore::IntSize const&amp;) + 78 (FrameView.cpp:2729)
10  com.apple.WebCore             	0x000000010efa50e7 WebCore::ScrollView::setScrollOffset(WebCore::IntPoint const&amp;) + 1063 (ScrollView.cpp:366)
11  com.apple.WebCore             	0x000000010efa511f non-virtual thunk to WebCore::ScrollView::setScrollOffset(WebCore::IntPoint const&amp;) + 47
12  com.apple.WebCore             	0x000000010ef7c240 WebCore::ScrollableArea::scrollPositionChanged(WebCore::IntPoint const&amp;) + 96 (ScrollableArea.cpp:149)
13  com.apple.WebCore             	0x000000010ef7c521 WebCore::ScrollableArea::setScrollOffsetFromAnimation(WebCore::IntPoint const&amp;) + 81 (ScrollableArea.cpp:193)
14  com.apple.WebCore             	0x000000010ef7e42b WebCore::ScrollAnimator::notifyPositionChanged() + 59 (ScrollAnimator.cpp:150)
15  com.apple.WebCore             	0x000000010ef829e9 WebCore::ScrollAnimatorMac::notifyPositionChanged() + 41 (ScrollAnimatorMac.mm:738)
16  com.apple.WebCore             	0x000000010ef82532 WebCore::ScrollAnimatorMac::immediateScrollTo(WebCore::FloatPoint const&amp;) + 210 (ScrollAnimatorMac.mm:717)
17  com.apple.WebCore             	0x000000010ef82453 WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation(WebCore::FloatPoint const&amp;) + 67 (ScrollAnimatorMac.mm:693)
18  com.apple.WebCore             	0x000000010ef7c08c WebCore::ScrollableArea::scrollToOffsetWithoutAnimation(WebCore::FloatPoint const&amp;) + 60 (ScrollableArea.cpp:127)
19  com.apple.WebCore             	0x000000010efa3cd0 WebCore::ScrollView::updateScrollbars(WebCore::IntSize const&amp;) + 5760 (ScrollView.cpp:624)
20  com.apple.WebCore             	0x000000010efa5839 WebCore::ScrollView::setScrollPosition(WebCore::IntPoint const&amp;) + 233 (ScrollView.cpp:421)
21  com.apple.WebCore             	0x000000010e17433b WebCore::FrameView::setScrollPosition(WebCore::IntPoint const&amp;) + 171 (FrameView.cpp:1763)
22  com.apple.WebCore             	0x000000010dfe40ac WebCore::DOMWindow::scrollTo(int, int) const + 236 (DOMWindow.cpp:1417)
23  com.apple.WebCore             	0x000000010e623b87 WebCore::jsDOMWindowPrototypeFunctionScrollTo(JSC::ExecState*) + 679 (JSDOMWindow.cpp:12663)
24  ???                           	0x000038298b601265 0 + 61751083143781
25  com.apple.JavaScriptCore      	0x000000010cdd8cb4 JSC::JITCode::execute(JSC::RegisterFile*, JSC::ExecState*, JSC::JSGlobalData*) + 84 (JITCode.h:134)
26  com.apple.JavaScriptCore      	0x000000010cdd5a42 JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 1746 (Interpreter.cpp:961)
27  com.apple.JavaScriptCore      	0x000000010cc80d42 JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 306 (CallData.cpp:39)
28  com.apple.WebCore             	0x000000010e523452 WebCore::JSMainThreadExecState::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 146 (JSMainThreadExecState.h:56)
29  com.apple.WebCore             	0x000000010e65f186 WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext*, WebCore::Event*) + 1238 (JSEventListener.cpp:126)
30  com.apple.WebCore             	0x000000010e08fa67 WebCore::EventTarget::fireEventListeners(WebCore::Event*, WebCore::EventTargetData*, WTF::Vector&lt;WebCore::RegisteredEventListener, 1ul&gt;&amp;) + 359 (EventTarget.cpp:206)
31  com.apple.WebCore             	0x000000010e08f8c5 WebCore::EventTarget::fireEventListeners(WebCore::Event*) + 325 (EventTarget.cpp:174)
32  com.apple.WebCore             	0x000000010dfde160 WebCore::DOMWindow::dispatchEvent(WTF::PassRefPtr&lt;WebCore::Event&gt;, WTF::PassRefPtr&lt;WebCore::EventTarget&gt;) + 272 (DOMWindow.cpp:1657)
33  com.apple.WebCore             	0x000000010dfe5108 WebCore::DOMWindow::dispatchLoadEvent() + 296 (DOMWindow.cpp:1631)
34  com.apple.WebCore             	0x000000010de3739f WebCore::Document::dispatchWindowLoadEvent() + 143 (Document.cpp:3708)
35  com.apple.WebCore             	0x000000010de34d40 WebCore::Document::implicitClose() + 480 (Document.cpp:2493)
36  com.apple.WebCore             	0x000000010e1467bb WebCore::FrameLoader::checkCallImplicitClose() + 155 (FrameLoader.cpp:812)
37  com.apple.WebCore             	0x000000010e146483 WebCore::FrameLoader::checkCompleted() + 323 (FrameLoader.cpp:756)
38  com.apple.WebCore             	0x000000010e146625 WebCore::FrameLoader::loadDone() + 21 (FrameLoader.cpp:701)
39  com.apple.WebCore             	0x000000010db934b2 WebCore::CachedResourceLoader::loadDone() + 82 (CachedResourceLoader.cpp:680)
40  com.apple.WebCore             	0x000000010f137734 WebCore::SubresourceLoader::releaseResources() + 180 (SubresourceLoader.cpp:342)
41  com.apple.WebCore             	0x000000010ef079c9 WebCore::ResourceLoader::didFinishLoading(double) + 73 (ResourceLoader.cpp:303)
42  com.apple.WebCore             	0x000000010f137345 WebCore::SubresourceLoader::didFinishLoading(double) + 581 (SubresourceLoader.cpp:302)
43  com.apple.WebCore             	0x000000010ef081a5 WebCore::ResourceLoader::didFinishLoading(WebCore::ResourceHandle*, double) + 53 (ResourceLoader.cpp:442)
44  com.apple.WebCore             	0x000000010ef04dba -[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:] + 186 (ResourceHandleMac.mm:861)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746605</commentid>
    <comment_count>13</comment_count>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-10-19 13:45:36 -0700</bug_when>
    <thetext>Thought of a simpler change:

--- a/Source/WebCore/rendering/RenderLayerCompositor.cpp
+++ b/Source/WebCore/rendering/RenderLayerCompositor.cpp
@@ -1885,7 +1885,8 @@ bool RenderLayerCompositor::requiresCompositingForPosition(RenderObject* rendere
 
     // Fixed position elements that are invisible in the current view don&apos;t get their own layer.
     FrameView* frameView = m_renderView-&gt;frameView();
-    if (frameView &amp;&amp; !layer-&gt;absoluteBoundingBox().intersects(IntRect(IntPoint(frameView-&gt;scrollOffsetForFixedPosition()), frameView-&gt;layoutSize())))
+    if (frameView &amp;&amp; !layer-&gt;firstChild()
+            &amp;&amp; !layer-&gt;absoluteBoundingBox().intersects(IntRect(IntPoint(frameView-&gt;scrollOffsetForFixedPosition()), frameView-&gt;layoutSize())))
         return false;
 
     return true;


It only skips compositing fixed pos elements that don&apos;t have sublayers. This is not complete but fixes the issue and can still reduce full page layers in cases like techcrunch.com.

What do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751065</commentid>
    <comment_count>14</comment_count>
      <attachid>170698</attachid>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-10-25 11:42:51 -0700</bug_when>
    <thetext>Created attachment 170698
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751351</commentid>
    <comment_count>15</comment_count>
      <attachid>170698</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-25 17:02:33 -0700</bug_when>
    <thetext>Comment on attachment 170698
Patch

Attachment 170698 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14555811

New failing tests:
compositing/layer-creation/fixed-position-absolute-descendant.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751372</commentid>
    <comment_count>16</comment_count>
      <attachid>170772</attachid>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-10-25 17:35:13 -0700</bug_when>
    <thetext>Created attachment 170772
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751545</commentid>
    <comment_count>17</comment_count>
      <attachid>170772</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-25 22:21:27 -0700</bug_when>
    <thetext>Comment on attachment 170772
Patch

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

New failing tests:
compositing/geometry/fixed-position-transform-composited-page-scale-down.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752179</commentid>
    <comment_count>18</comment_count>
      <attachid>170955</attachid>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-10-26 10:51:40 -0700</bug_when>
    <thetext>Created attachment 170955
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752258</commentid>
    <comment_count>19</comment_count>
      <attachid>170955</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-26 12:04:49 -0700</bug_when>
    <thetext>Comment on attachment 170955
Patch

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

New failing tests:
compositing/geometry/fixed-position-transform-composited-page-scale-down.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752363</commentid>
    <comment_count>20</comment_count>
      <attachid>171000</attachid>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-10-26 14:01:35 -0700</bug_when>
    <thetext>Created attachment 171000
Try to fix layout test break</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753513</commentid>
    <comment_count>21</comment_count>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-10-29 09:32:30 -0700</bug_when>
    <thetext>@skyostil, @Simon, @jamesr, what do you think about the simplified version?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753646</commentid>
    <comment_count>22</comment_count>
      <attachid>171000</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-10-29 11:37:17 -0700</bug_when>
    <thetext>Comment on attachment 171000
Try to fix layout test break

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

&gt; Source/WebCore/rendering/RenderLayerCompositor.cpp:1910
&gt; +    if (frameView &amp;&amp; !layer-&gt;firstChild()
&gt; +        &amp;&amp; !layer-&gt;absoluteBoundingBox().intersects(IntRect(IntPoint(frameView-&gt;scrollOffsetForFixedPosition()), frameView-&gt;layoutSize())))

I think this change will cause us to miss this optimization too often. All it would take is something that has non-static position, or opacity, or overflow inside the fixed thting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755494</commentid>
    <comment_count>23</comment_count>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-10-31 11:33:43 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; (From update of attachment 171000 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=171000&amp;action=review
&gt; 
&gt; I think this change will cause us to miss this optimization too often. All it would take is something that has non-static position, or opacity, or overflow 
inside the fixed thting.

@skyostil, would you continue to fix the failures? Or I&apos;d take over this bug.

Another choice is to workaround the bug first, then optimize it. If agreed, I&apos;ll create another bug for the workaround and leave this bug open.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757295</commentid>
    <comment_count>24</comment_count>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-11-02 10:08:14 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; @skyostil, would you continue to fix the failures? Or I&apos;d take over this bug.

I&apos;m still wondering if there&apos;s a different way to avoid the explosion of layers from inconveniently z-ordered fixed position elements. The workarounds we&apos;ve tried so far have either not covered all the cases or have had unfortunate side effects (e.g., an out-of-view fixed pos forces us to slow-scroll). I&apos;m not quite sure what the alternative scheme would look like, exactly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>761056</commentid>
    <comment_count>25</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2012-11-07 14:29:03 -0800</bug_when>
    <thetext>This should be resolved now by http://trac.webkit.org/changeset/133807

*** This bug has been marked as a duplicate of bug 101303 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769681</commentid>
    <comment_count>26</comment_count>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-11-16 14:35:10 -0800</bug_when>
    <thetext>Though the bug itself has been resolved in http://trac.webkit.org/changeset/133807, we still the a test to avoid regressions.

Reopen this bug to add the layout test and restore enableCompositingForFixedPosition between tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769682</commentid>
    <comment_count>27</comment_count>
      <attachid>174762</attachid>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-11-16 14:37:08 -0800</bug_when>
    <thetext>Created attachment 174762
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769751</commentid>
    <comment_count>28</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2012-11-16 16:11:57 -0800</bug_when>
    <thetext>I did add some tests for this: 

LayoutTests/compositing/absolute-inside-out-of-view-fixed.html
LayoutTests/platform/mac/tiled-drawing/fixed/absolute-inside-out-of-view-fixed.html

Is the third test necessary?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769759</commentid>
    <comment_count>29</comment_count>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-11-16 16:27:23 -0800</bug_when>
    <thetext>(In reply to comment #28)
&gt; I did add some tests for this: 
&gt; 
&gt; LayoutTests/compositing/absolute-inside-out-of-view-fixed.html
&gt; LayoutTests/platform/mac/tiled-drawing/fixed/absolute-inside-out-of-view-fixed.html
&gt; 
&gt; Is the third test necessary?

Oh, I didn&apos;t see them in the latest patch of the bug and overlooked the added test in the landed patch set.

*** This bug has been marked as a duplicate of bug 101303 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166666</attachid>
            <date>2012-10-02 04:37:58 -0700</date>
            <delta_ts>2012-10-04 05:55:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98144-20121002123710.patch</filename>
            <type>text/plain</type>
            <size>7477</size>
            <attacher name="Sami Kyöstilä">skyostil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWJkMzZlNTBlODZhOWFk
OTQwMzBlNzcxNWU4YjFjMWMyZTRkZTA2Ny4uZjE5NTk1MWQ4MDM2YzVhNGM5YWJlNDM5MzAzNmEz
MmRhNmFkM2U2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTEwLTAyICBTYW1p
IEt5b3N0aWxhICA8c2t5b3N0aWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEZpeGVkIHBvc2l0
aW9uIHZpc2liaWxpdHkgY2hlY2sgZG9lcyBub3QgY29uc2lkZXIgZGVzY2VuZGFudHMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4MTQ0CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGNoZWNrIGFnYWlu
c3QgY3JlYXRpbmcgY29tcG9zaXRpb24gbGF5ZXJzIGZvciBpbnZpc2libGUgZml4ZWQgcG9zaXRp
b25lZAorICAgICAgICBlbGVtZW50cyBpcyB0b28gYWdncmVzc2l2ZSBpbiB0aGF0IGl0IGRvZXMg
bm90IGNvbnNpZGVyIGRlc2NlbmRhbnRzIG9mIHRoZQorICAgICAgICBmaXhlZCBwb3NpdGlvbmVk
IGVsZW1lbnQgdGhhdCBtYXkgYmUgdmlzaWJsZSBldmVuIHRob3VnaCB0aGUgZWxlbWVudCBpdHNl
bGYgaXMKKyAgICAgICAgb3V0IG9mIHZpZXcuCisKKyAgICAgICAgRml4IHRoZSBwcm9ibGVtIGJ5
IGNhbGN1bGF0aW5nIHRoZSB0cnVlIGNvbXBvc2l0ZWQgYm91bmRzIG9mIHRoZSBmaXhlZAorICAg
ICAgICBlbGVtZW50IGluc3RlYWQgb2YganVzdCB1c2luZyB0aGUgc2l6ZSBvZiB0aGUgZml4ZWQg
bGF5ZXIuCisKKyAgICAgICAgVGVzdDogY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vZml4ZWQt
cG9zaXRpb24tYWJzb2x1dGUtZGVzY2VuZGFudC5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
Q29tcG9zaXRvcjo6Y2FsY3VsYXRlQ29tcG9zaXRlZEJvdW5kcyk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzQ29tcG9zaXRpbmdGb3JQb3NpdGlvbik6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oOgorCiAyMDEyLTEw
LTAyICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdl
YiBJbnNwZWN0b3I6IG1pZ3JhdGUgZnJvbSBXZWJJbnNwZWN0b3IuRm9vLnByb3RvdHlwZS5fX3By
b3RvX18gPSB0byBfX3Byb3RvX186IHN5bnRheApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCBlZTIzZjAwYzc2MzAwYzU2OGJh
ZTY3ZWZjYzk3OTg3ZDQzNjViZDgzLi5mYWZhZmZhZDM1ZWFhODZmOTU1MTdiNDBiOWI5NDhkZDNh
MWY3NDcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJD
b21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJD
b21wb3NpdG9yLmNwcApAQCAtNjA3LDcgKzYwNyw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3Np
dG9yOjpyZXBhaW50SW5Db21wb3NpdGVkQW5jZXN0b3IoUmVuZGVyTGF5ZXIqIGxheWVyLCBjb25z
CiAKIC8vIFRoZSBib3VuZHMgb2YgdGhlIEdyYXBoaWNzTGF5ZXIgY3JlYXRlZCBmb3IgYSBjb21w
b3NpdGluZyBsYXllciBpcyB0aGUgdW5pb24gb2YgdGhlIGJvdW5kcyBvZiBhbGwgdGhlIGRlc2Nl
bmRhbnQKIC8vIFJlbmRlckxheWVycyB0aGF0IGFyZSByZW5kZXJlZCBieSB0aGUgY29tcG9zaXRl
ZCBSZW5kZXJMYXllci4KLUludFJlY3QgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpjYWxjdWxhdGVD
b21wb3NpdGVkQm91bmRzKGNvbnN0IFJlbmRlckxheWVyKiBsYXllciwgY29uc3QgUmVuZGVyTGF5
ZXIqIGFuY2VzdG9yTGF5ZXIpCitJbnRSZWN0IFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y2FsY3Vs
YXRlQ29tcG9zaXRlZEJvdW5kcyhjb25zdCBSZW5kZXJMYXllciogbGF5ZXIsIGNvbnN0IFJlbmRl
ckxheWVyKiBhbmNlc3RvckxheWVyKSBjb25zdAogewogICAgIGlmICghY2FuQmVDb21wb3NpdGVk
KGxheWVyKSkKICAgICAgICAgcmV0dXJuIEludFJlY3QoKTsKQEAgLTE4NTQsOSArMTg1NCwxMiBA
QCBib29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNDb21wb3NpdGluZ0ZvclBvc2l0
aW9uKFJlbmRlck9iamVjdCogcmVuZGVyZQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAv
LyBGaXhlZCBwb3NpdGlvbiBlbGVtZW50cyB0aGF0IGFyZSBpbnZpc2libGUgaW4gdGhlIGN1cnJl
bnQgdmlldyBkb24ndCBnZXQgdGhlaXIgb3duIGxheWVyLgotICAgIEZyYW1lVmlldyogZnJhbWVW
aWV3ID0gbV9yZW5kZXJWaWV3LT5mcmFtZVZpZXcoKTsKLSAgICBpZiAoZnJhbWVWaWV3ICYmICFs
YXllci0+YWJzb2x1dGVCb3VuZGluZ0JveCgpLmludGVyc2VjdHMoSW50UmVjdChJbnRQb2ludChm
cmFtZVZpZXctPnNjcm9sbE9mZnNldEZvckZpeGVkUG9zaXRpb24oKSksIGZyYW1lVmlldy0+bGF5
b3V0U2l6ZSgpKSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoRnJhbWVWaWV3KiBm
cmFtZVZpZXcgPSBtX3JlbmRlclZpZXctPmZyYW1lVmlldygpKSB7CisgICAgICAgIEludFJlY3Qg
dmlld0JvdW5kcyA9IEludFJlY3QoSW50UG9pbnQoZnJhbWVWaWV3LT5zY3JvbGxPZmZzZXRGb3JG
aXhlZFBvc2l0aW9uKCkpLCBmcmFtZVZpZXctPmxheW91dFNpemUoKSk7CisgICAgICAgIEludFJl
Y3QgbGF5ZXJCb3VuZHMgPSBjYWxjdWxhdGVDb21wb3NpdGVkQm91bmRzKGxheWVyLCByb290UmVu
ZGVyTGF5ZXIoKSk7CisgICAgICAgIGlmICghdmlld0JvdW5kcy5pbnRlcnNlY3RzKGxheWVyQm91
bmRzKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CiAKICAgICByZXR1cm4gdHJ1
ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNv
bXBvc2l0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuaAppbmRleCA1ZDgwM2E5OTYzZDI2N2Y4ZGJlNjMwNmNlMDNjNWY3MTNiN2Y3ZDQzLi42MDZl
NWI4YzNjYzJlNmFkYjE0MmVkMzNhYTM1NjM0ODYyNjM5NTcxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCkBAIC0xMjQsNyArMTI0LDcg
QEAgcHVibGljOgogICAgIGJvb2wgbmVlZHNDb250ZW50c0NvbXBvc2l0aW5nTGF5ZXIoY29uc3Qg
UmVuZGVyTGF5ZXIqKSBjb25zdDsKICAgICAvLyBSZXR1cm4gdGhlIGJvdW5kaW5nIGJveCByZXF1
aXJlZCBmb3IgY29tcG9zaXRpbmcgbGF5ZXIgYW5kIGl0cyBjaGlsZGVybiwgcmVsYXRpdmUgdG8g
YW5jZXN0b3JMYXllci4KICAgICAvLyBJZiBsYXllckJvdW5kaW5nQm94IGlzIG5vdCAwLCBvbiBy
ZXR1cm4gaXQgY29udGFpbnMgdGhlIGJvdW5kaW5nIGJveCBvZiB0aGlzIGxheWVyIG9ubHkuCi0g
ICAgSW50UmVjdCBjYWxjdWxhdGVDb21wb3NpdGVkQm91bmRzKGNvbnN0IFJlbmRlckxheWVyKiwg
Y29uc3QgUmVuZGVyTGF5ZXIqIGFuY2VzdG9yTGF5ZXIpOworICAgIEludFJlY3QgY2FsY3VsYXRl
Q29tcG9zaXRlZEJvdW5kcyhjb25zdCBSZW5kZXJMYXllciosIGNvbnN0IFJlbmRlckxheWVyKiBh
bmNlc3RvckxheWVyKSBjb25zdDsKIAogICAgIC8vIFJlcGFpbnQgdGhlIGFwcHJvcHJpYXRlIGxh
eWVycyB3aGVuIHRoZSBnaXZlbiBSZW5kZXJMYXllciBzdGFydHMgb3Igc3RvcHMgYmVpbmcgY29t
cG9zaXRlZC4KICAgICB2b2lkIHJlcGFpbnRPbkNvbXBvc2l0aW5nQ2hhbmdlKFJlbmRlckxheWVy
Kik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggNmI0MTE1NzIyNjhlODUxYjU3YTgzZWM1NGM2NzcyNWMxNTcwYmQ5Yy4uNDk0
YmQxM2IyNGFjOGRhOGQ0ODk3YWQ4MWE0M2M4Y2UzMmZlODdhYSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDEyLTEwLTAyICBTYW1pIEt5b3N0aWxhICA8c2t5b3N0aWxAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIEZpeGVkIHBvc2l0aW9uIHZpc2liaWxpdHkgY2hlY2sgZG9lcyBub3QgY29uc2lk
ZXIgZGVzY2VuZGFudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTk4MTQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkZWQgYSB0ZXN0IGZvciB0aGUgZml4ZWQgcG9zaXRpb24gbGF5ZXIgdmlzaWJpbGl0
eSBjaGVjay4KKworICAgICAgICAqIGNvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL2ZpeGVkLXBv
c2l0aW9uLWFic29sdXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBjb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9maXhlZC1wb3NpdGlvbi1hYnNvbHV0ZS1kZXNj
ZW5kYW50Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTEwLTAyICBZb3NoaWZ1bWkgSW5vdWUgIDx5b3Np
bkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Zvcm1zXSBNdWx0aXBsZSBmaWVsZHMgZGF0ZXRp
bWUvZGF0ZXRpbWUtbG9jYWwgaW5wdXQgVUkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL2xheWVyLWNyZWF0aW9uL2ZpeGVkLXBvc2l0aW9uLWFic29sdXRlLWRlc2NlbmRhbnQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vZml4
ZWQtcG9zaXRpb24tYWJzb2x1dGUtZGVzY2VuZGFudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTNkZTFlNmVmZTkyYWUyMTYyNGM5NGRkYjA3YTVhNWIyMGY0Y2YyNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL2ZpeGVkLXBvc2l0aW9u
LWFic29sdXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjAgQEAKKyhHcmFw
aGljc0xheWVyCisgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgKGNoaWxkcmVuIDEKKyAgICAo
R3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAgICAgKGNoaWxk
cmVuIDIKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAocG9zaXRpb24gNTguMDAg
NjMuMDApCisgICAgICAgICAgKGJvdW5kcyA1MC4wMCA1MC4wMCkKKyAgICAgICAgICAoZHJhd3ND
b250ZW50IDEpCisgICAgICAgICkKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAo
cG9zaXRpb24gOC4wMCAxMy4wMCkKKyAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAg
ICkKKyAgICAgICkKKyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vZml4ZWQtcG9zaXRpb24tYWJzb2x1dGUtZGVzY2VuZGFu
dC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vZml4ZWQtcG9z
aXRpb24tYWJzb2x1dGUtZGVzY2VuZGFudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJmNDg1NTg3MjBlNDJk
MDA1ZGJkNWVjNjFlYWYwZmMxYTAwYTNlN2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9maXhlZC1wb3NpdGlvbi1hYnNvbHV0ZS1kZXNj
ZW5kYW50Lmh0bWwKQEAgLTAsMCArMSw1OCBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxodG1sPgor
PGhlYWQ+CisgIDxzdHlsZT4KKyAgICAuZml4ZWQgeworICAgICAgcG9zaXRpb246IGZpeGVkOwor
ICAgIH0KKyAgICAuYWJzb2x1dGUgeworICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIH0K
KyAgICAuaW4tdmlldyB7CisgICAgICB0b3A6IDUwcHg7CisgICAgICBsZWZ0OiA1MHB4OworICAg
IH0KKyAgICAub3V0LW9mLXZpZXcgeworICAgICAgdG9wOiA1MHB4OworICAgICAgbGVmdDogLTE1
MHB4OworICAgIH0KKyAgICAuYm94IHsKKyAgICAgIHdpZHRoOiA1MHB4OworICAgICAgaGVpZ2h0
OiA1MHB4OworICAgICAgYmFja2dyb3VuZDogZ3JlZW47CisgICAgfQorICA8L3N0eWxlPgorCisg
IDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgICBpZiAod2luZG93LmludGVybmFs
cykgeworICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRFbmFibGVDb21wb3NpdGlu
Z0ZvckZpeGVkUG9zaXRpb24odHJ1ZSk7CisgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdz
LnNldEZpeGVkUG9zaXRpb25DcmVhdGVzU3RhY2tpbmdDb250ZXh0KHRydWUpOworICAgIH0KKwor
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CisKKyAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7
CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXllcnRyZWUiKS5pbm5lclRleHQg
PSB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpOworICAgICAgfSwgZmFsc2UpOworICAgIH0K
KyAgPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5PgorICA8IS0tIFRoaXMgZWxlbWVudCBnZXRz
IGl0cyBvd24gbGF5ZXIgZXZlbiB0aG91Z2ggaXRzIGxheW91dCBzaXplIGlzIGVtcHR5CisgICAg
ICAgYmVjYXVzZSBpdCBoYXMgYSBkZXNjZW5kYW50IHRoYXQgaW50ZXJzZWN0cyB3aXRoIHRoZSB2
aWV3cG9ydC4gLS0+CisgIDxkaXYgY2xhc3M9ImZpeGVkIj4KKyAgICA8ZGl2IGNsYXNzPSJhYnNv
bHV0ZSBpbi12aWV3IGJveCI+PC9kaXY+CisgIDwvZGl2PgorCisgIDwhLS0gVGhpcyBlbGVtZW50
IGRvZXNuJ3QgZ2V0IGEgbGF5ZXIsIGJlY2F1c2UgbmVpdGhlciBpdCBvciBhbnkgb2YgaXRzCisg
ICAgICAgY2hpbGRyZW4gaW50ZXJzZWN0IHdpdGggdGhlIHZpZXdwb3J0LiAtLT4KKyAgPGRpdiBj
bGFzcz0iZml4ZWQiPgorICAgIDxkaXYgY2xhc3M9ImFic29sdXRlIG91dC1vZi12aWV3IGJveCI+
PC9kaXY+CisgIDwvZGl2PgorCisgIDxwcmUgaWQ9ImxheWVydHJlZSI+PC9wcmU+Cis8L2JvZHk+
Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167090</attachid>
            <date>2012-10-04 05:55:12 -0700</date>
            <delta_ts>2012-10-25 11:42:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98144-20121004135421.patch</filename>
            <type>text/plain</type>
            <size>9763</size>
            <attacher name="Sami Kyöstilä">skyostil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDM4NGFlOGQ3YTg4MTYz
MjhkMDkyNjE3MzFkNTk1Yzk5ZWE5NDc5MS4uMGZmZDE1YzkyODg1MWI2ODljNTFkOTBkYzlkYTQw
YWFlMmUwMTliYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTEwLTAyICBTYW1p
IEt5b3N0aWxhICA8c2t5b3N0aWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEZpeGVkIHBvc2l0
aW9uIHZpc2liaWxpdHkgY2hlY2sgZG9lcyBub3QgY29uc2lkZXIgZGVzY2VuZGFudHMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4MTQ0CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGNoZWNrIGFnYWlu
c3QgY3JlYXRpbmcgY29tcG9zaXRpb24gbGF5ZXJzIGZvciBpbnZpc2libGUgZml4ZWQgcG9zaXRp
b25lZAorICAgICAgICBlbGVtZW50cyBpcyB0b28gYWdncmVzc2l2ZSBpbiB0aGF0IGl0IGRvZXMg
bm90IGNvbnNpZGVyIGRlc2NlbmRhbnRzIG9mIHRoZQorICAgICAgICBmaXhlZCBwb3NpdGlvbmVk
IGVsZW1lbnQgdGhhdCBtYXkgYmUgdmlzaWJsZSBldmVuIHRob3VnaCB0aGUgZWxlbWVudCBpdHNl
bGYgaXMKKyAgICAgICAgb3V0IG9mIHZpZXcuCisKKyAgICAgICAgRml4IHRoZSBwcm9ibGVtIGJ5
IGNhbGN1bGF0aW5nIHRoZSB0cnVlIGNvbXBvc2l0ZWQgYm91bmRzIG9mIHRoZSBmaXhlZAorICAg
ICAgICBlbGVtZW50IGluc3RlYWQgb2YganVzdCB1c2luZyB0aGUgc2l6ZSBvZiB0aGUgZml4ZWQg
bGF5ZXIuIEJlY2F1c2UgY2FsY3VsYXRpbmcKKyAgICAgICAgdGhlIHRydWUgYm91bmRzIG1heSBi
ZSBleHBlbnNpdmUsIGl0IGlzIG9ubHkgZG9uZSBpZiB0aGUgZml4ZWQgbGF5ZXIgaXRzZWxmIGlz
CisgICAgICAgIGludmlzaWJsZS4KKworICAgICAgICBUZXN0OiBjb21wb3NpdGluZy9sYXllci1j
cmVhdGlvbi9maXhlZC1wb3NpdGlvbi1hYnNvbHV0ZS1kZXNjZW5kYW50Lmh0bWwKKworICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpjYWxjdWxhdGVDb21wb3NpdGVkQm91bmRzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNDb21wb3NpdGlu
Z0ZvclBvc2l0aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
Lmg6CisKIDIwMTItMTAtMDQgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIEFkZCBjb2RlIGZvciBpbnB1dFt0eXBlPWRhdGVdIHdpdGggdGhlIG11bHRpcGxlIGZp
ZWxkcyBVSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
Q29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21w
b3NpdG9yLmNwcAppbmRleCA2ODEzZThjY2RkNjlhZDA2NjVjNDg1MDE4MWY5YTI5NzkzZWUwOWZh
Li5mZTk4MjAzNzExM2U4YjQzNTE5OGQxZGJjNmVjN2NiYjIzMzUwYzRlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtNjA3
LDcgKzYwNyw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXBhaW50SW5Db21wb3Np
dGVkQW5jZXN0b3IoUmVuZGVyTGF5ZXIqIGxheWVyLCBjb25zCiAKIC8vIFRoZSBib3VuZHMgb2Yg
dGhlIEdyYXBoaWNzTGF5ZXIgY3JlYXRlZCBmb3IgYSBjb21wb3NpdGluZyBsYXllciBpcyB0aGUg
dW5pb24gb2YgdGhlIGJvdW5kcyBvZiBhbGwgdGhlIGRlc2NlbmRhbnQKIC8vIFJlbmRlckxheWVy
cyB0aGF0IGFyZSByZW5kZXJlZCBieSB0aGUgY29tcG9zaXRlZCBSZW5kZXJMYXllci4KLUludFJl
Y3QgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpjYWxjdWxhdGVDb21wb3NpdGVkQm91bmRzKGNvbnN0
IFJlbmRlckxheWVyKiBsYXllciwgY29uc3QgUmVuZGVyTGF5ZXIqIGFuY2VzdG9yTGF5ZXIpCitJ
bnRSZWN0IFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y2FsY3VsYXRlQ29tcG9zaXRlZEJvdW5kcyhj
b25zdCBSZW5kZXJMYXllciogbGF5ZXIsIGNvbnN0IFJlbmRlckxheWVyKiBhbmNlc3RvckxheWVy
KSBjb25zdAogewogICAgIGlmICghY2FuQmVDb21wb3NpdGVkKGxheWVyKSkKICAgICAgICAgcmV0
dXJuIEludFJlY3QoKTsKQEAgLTE4NTQsOSArMTg1NCwxMSBAQCBib29sIFJlbmRlckxheWVyQ29t
cG9zaXRvcjo6cmVxdWlyZXNDb21wb3NpdGluZ0ZvclBvc2l0aW9uKFJlbmRlck9iamVjdCogcmVu
ZGVyZQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAvLyBGaXhlZCBwb3NpdGlvbiBlbGVt
ZW50cyB0aGF0IGFyZSBpbnZpc2libGUgaW4gdGhlIGN1cnJlbnQgdmlldyBkb24ndCBnZXQgdGhl
aXIgb3duIGxheWVyLgotICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gbV9yZW5kZXJWaWV3LT5m
cmFtZVZpZXcoKTsKLSAgICBpZiAoZnJhbWVWaWV3ICYmICFsYXllci0+YWJzb2x1dGVCb3VuZGlu
Z0JveCgpLmludGVyc2VjdHMoSW50UmVjdChJbnRQb2ludChmcmFtZVZpZXctPnNjcm9sbE9mZnNl
dEZvckZpeGVkUG9zaXRpb24oKSksIGZyYW1lVmlldy0+bGF5b3V0U2l6ZSgpKSkpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICBpZiAoRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBtX3JlbmRlclZp
ZXctPmZyYW1lVmlldygpKSB7CisgICAgICAgIEludFJlY3Qgdmlld0JvdW5kcyA9IEludFJlY3Qo
SW50UG9pbnQoZnJhbWVWaWV3LT5zY3JvbGxPZmZzZXRGb3JGaXhlZFBvc2l0aW9uKCkpLCBmcmFt
ZVZpZXctPmxheW91dFNpemUoKSk7CisgICAgICAgIGlmICghbGF5ZXItPmFic29sdXRlQm91bmRp
bmdCb3goKS5pbnRlcnNlY3RzKHZpZXdCb3VuZHMpICYmICFjYWxjdWxhdGVDb21wb3NpdGVkQm91
bmRzKGxheWVyLCByb290UmVuZGVyTGF5ZXIoKSkuaW50ZXJzZWN0cyh2aWV3Qm91bmRzKSkKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3Iu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaAppbmRl
eCA1ZDgwM2E5OTYzZDI2N2Y4ZGJlNjMwNmNlMDNjNWY3MTNiN2Y3ZDQzLi42MDZlNWI4YzNjYzJl
NmFkYjE0MmVkMzNhYTM1NjM0ODYyNjM5NTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCkBAIC0xMjQsNyArMTI0LDcgQEAgcHVibGlj
OgogICAgIGJvb2wgbmVlZHNDb250ZW50c0NvbXBvc2l0aW5nTGF5ZXIoY29uc3QgUmVuZGVyTGF5
ZXIqKSBjb25zdDsKICAgICAvLyBSZXR1cm4gdGhlIGJvdW5kaW5nIGJveCByZXF1aXJlZCBmb3Ig
Y29tcG9zaXRpbmcgbGF5ZXIgYW5kIGl0cyBjaGlsZGVybiwgcmVsYXRpdmUgdG8gYW5jZXN0b3JM
YXllci4KICAgICAvLyBJZiBsYXllckJvdW5kaW5nQm94IGlzIG5vdCAwLCBvbiByZXR1cm4gaXQg
Y29udGFpbnMgdGhlIGJvdW5kaW5nIGJveCBvZiB0aGlzIGxheWVyIG9ubHkuCi0gICAgSW50UmVj
dCBjYWxjdWxhdGVDb21wb3NpdGVkQm91bmRzKGNvbnN0IFJlbmRlckxheWVyKiwgY29uc3QgUmVu
ZGVyTGF5ZXIqIGFuY2VzdG9yTGF5ZXIpOworICAgIEludFJlY3QgY2FsY3VsYXRlQ29tcG9zaXRl
ZEJvdW5kcyhjb25zdCBSZW5kZXJMYXllciosIGNvbnN0IFJlbmRlckxheWVyKiBhbmNlc3Rvckxh
eWVyKSBjb25zdDsKIAogICAgIC8vIFJlcGFpbnQgdGhlIGFwcHJvcHJpYXRlIGxheWVycyB3aGVu
IHRoZSBnaXZlbiBSZW5kZXJMYXllciBzdGFydHMgb3Igc3RvcHMgYmVpbmcgY29tcG9zaXRlZC4K
ICAgICB2b2lkIHJlcGFpbnRPbkNvbXBvc2l0aW5nQ2hhbmdlKFJlbmRlckxheWVyKik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAppbmRleCBiYjllZWQ2YjEz
NTZlMTE4YTE1NjJmZjRkMmRjMjQwYzM1ZjA1YjY3Li5lMTQyMzNiMTZlN2U1YjYxNWI5MDY4ZDQ4
MTZmZGI0NzAyOGZmZGQxIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFsU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0
aW5ncy5jcHAKQEAgLTgxLDYgKzgxLDcgQEAgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNr
dXAoUGFnZSogcGFnZSwgU2V0dGluZ3MqIHNldHRpbmdzKQogI2VuZGlmCiAgICAgLCBtX29yaWdp
bmFsRWRpdGluZ0JlaGF2aW9yKHNldHRpbmdzLT5lZGl0aW5nQmVoYXZpb3JUeXBlKCkpCiAgICAg
LCBtX29yaWdpbmFsVW5pZmllZFNwZWxsQ2hlY2tlckVuYWJsZWQoc2V0dGluZ3MtPnVuaWZpZWRU
ZXh0Q2hlY2tlckVuYWJsZWQoKSkKKyAgICAsIG1fb3JpZ2luYWxBY2NlbGVyYXRlZENvbXBvc2l0
aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQoc2V0dGluZ3MtPmFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZCgpKQogICAgICwgbV9vcmlnaW5hbEZpeGVkUG9zaXRp
b25DcmVhdGVzU3RhY2tpbmdDb250ZXh0KHNldHRpbmdzLT5maXhlZFBvc2l0aW9uQ3JlYXRlc1N0
YWNraW5nQ29udGV4dCgpKQogICAgICwgbV9vcmlnaW5hbFN5bmNYSFJJbkRvY3VtZW50c0VuYWJs
ZWQoc2V0dGluZ3MtPnN5bmNYSFJJbkRvY3VtZW50c0VuYWJsZWQoKSkKICNpZiBFTkFCTEUoSU5T
UEVDVE9SKSAmJiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKQEAgLTExNiw2ICsxMTcsNyBA
QCB2b2lkIEludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9yZVRvKFBhZ2UqIHBhZ2UsIFNl
dHRpbmdzKiBzZXR0aW5ncykKICNlbmRpZgogICAgIHNldHRpbmdzLT5zZXRFZGl0aW5nQmVoYXZp
b3JUeXBlKG1fb3JpZ2luYWxFZGl0aW5nQmVoYXZpb3IpOwogICAgIHNldHRpbmdzLT5zZXRVbmlm
aWVkVGV4dENoZWNrZXJFbmFibGVkKG1fb3JpZ2luYWxVbmlmaWVkU3BlbGxDaGVja2VyRW5hYmxl
ZCk7CisgICAgc2V0dGluZ3MtPnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0
aW9uRW5hYmxlZChtX29yaWdpbmFsQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRp
b25FbmFibGVkKTsKICAgICBzZXR0aW5ncy0+c2V0Rml4ZWRQb3NpdGlvbkNyZWF0ZXNTdGFja2lu
Z0NvbnRleHQobV9vcmlnaW5hbEZpeGVkUG9zaXRpb25DcmVhdGVzU3RhY2tpbmdDb250ZXh0KTsK
ICAgICBzZXR0aW5ncy0+c2V0U3luY1hIUkluRG9jdW1lbnRzRW5hYmxlZChtX29yaWdpbmFsU3lu
Y1hIUkluRG9jdW1lbnRzRW5hYmxlZCk7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxF
KEpBVkFTQ1JJUFRfREVCVUdHRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0
aW5ncy5oCmluZGV4IGJlODgxMGRlNjY4MmJjODdkNDQ3NmJmOTNkOWEwZDgwMjlhZTA5MDguLmYy
NmM5NWYzYWJlYmExZTUzZTRlODk1MjRiMTFhMDdhNWZkY2M5ZmMgMTAwNzU1Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oCkBAIC02Myw2ICs2Myw3IEBAIHB1YmxpYzoKICNl
bmRpZgogICAgICAgICBFZGl0aW5nQmVoYXZpb3JUeXBlIG1fb3JpZ2luYWxFZGl0aW5nQmVoYXZp
b3I7CiAgICAgICAgIGJvb2wgbV9vcmlnaW5hbFVuaWZpZWRTcGVsbENoZWNrZXJFbmFibGVkOwor
ICAgICAgICBib29sIG1fb3JpZ2luYWxBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3Np
dGlvbkVuYWJsZWQ7CiAgICAgICAgIGJvb2wgbV9vcmlnaW5hbEZpeGVkUG9zaXRpb25DcmVhdGVz
U3RhY2tpbmdDb250ZXh0OwogICAgICAgICBib29sIG1fb3JpZ2luYWxTeW5jWEhSSW5Eb2N1bWVu
dHNFbmFibGVkOwogI2lmIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShKQVZBU0NSSVBUX0RF
QlVHR0VSKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IGE2ZmIwZTkxNjJlOWQyNTAxM2ExZDJlN2Y2NWE3MjM5MzdjMzk1N2Qu
LjA5NjZmZmU0OGU2Mjg1Y2RiMjI0ZjRiNWQyYzM4ZmJhZWY2MTEyZDMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNSBAQAorMjAxMi0xMC0wMiAgU2FtaSBLeW9zdGlsYSAgPHNreW9zdGlsQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBGaXhlZCBwb3NpdGlvbiB2aXNpYmlsaXR5IGNoZWNrIGRvZXMgbm90IGNv
bnNpZGVyIGRlc2NlbmRhbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05ODE0NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZGVkIGEgdGVzdCBmb3IgdGhlIGZpeGVkIHBvc2l0aW9uIGxheWVyIHZpc2li
aWxpdHkgY2hlY2suCisKKyAgICAgICAgKiBjb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9maXhl
ZC1wb3NpdGlvbi1hYnNvbHV0ZS1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vZml4ZWQtcG9zaXRpb24tYWJzb2x1dGUt
ZGVzY2VuZGFudC5odG1sOiBBZGRlZC4KKwogMjAxMi0xMC0wNCAgVHVsbGlvIEx1Y2VuYSAgPHR1
bGxpby5sdWNlbmFAb3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBbUXRdIGNzczIuMS8yMDExMDMy
My90ZXh0LWluZGVudC1pbnRyaW5zaWMtMDAqIGZhaWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL2ZpeGVkLXBvc2l0aW9uLWFic29sdXRlLWRlc2Nl
bmRhbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRp
b24vZml4ZWQtcG9zaXRpb24tYWJzb2x1dGUtZGVzY2VuZGFudC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTNkZTFlNmVmZTkyYWUyMTYyNGM5NGRkYjA3YTVhNWIyMGY0Y2YyNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL2ZpeGVkLXBv
c2l0aW9uLWFic29sdXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjAgQEAK
KyhHcmFwaGljc0xheWVyCisgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgKGNoaWxkcmVuIDEK
KyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAgICAg
KGNoaWxkcmVuIDIKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAocG9zaXRpb24g
NTguMDAgNjMuMDApCisgICAgICAgICAgKGJvdW5kcyA1MC4wMCA1MC4wMCkKKyAgICAgICAgICAo
ZHJhd3NDb250ZW50IDEpCisgICAgICAgICkKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAg
ICAgICAocG9zaXRpb24gOC4wMCAxMy4wMCkKKyAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisg
ICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vZml4ZWQtcG9zaXRpb24tYWJzb2x1dGUtZGVz
Y2VuZGFudC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vZml4
ZWQtcG9zaXRpb24tYWJzb2x1dGUtZGVzY2VuZGFudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJmNDg1NTg3
MjBlNDJkMDA1ZGJkNWVjNjFlYWYwZmMxYTAwYTNlN2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9maXhlZC1wb3NpdGlvbi1hYnNvbHV0
ZS1kZXNjZW5kYW50Lmh0bWwKQEAgLTAsMCArMSw1OCBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxo
dG1sPgorPGhlYWQ+CisgIDxzdHlsZT4KKyAgICAuZml4ZWQgeworICAgICAgcG9zaXRpb246IGZp
eGVkOworICAgIH0KKyAgICAuYWJzb2x1dGUgeworICAgICAgcG9zaXRpb246IGFic29sdXRlOwor
ICAgIH0KKyAgICAuaW4tdmlldyB7CisgICAgICB0b3A6IDUwcHg7CisgICAgICBsZWZ0OiA1MHB4
OworICAgIH0KKyAgICAub3V0LW9mLXZpZXcgeworICAgICAgdG9wOiA1MHB4OworICAgICAgbGVm
dDogLTE1MHB4OworICAgIH0KKyAgICAuYm94IHsKKyAgICAgIHdpZHRoOiA1MHB4OworICAgICAg
aGVpZ2h0OiA1MHB4OworICAgICAgYmFja2dyb3VuZDogZ3JlZW47CisgICAgfQorICA8L3N0eWxl
PgorCisgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgICBpZiAod2luZG93Lmlu
dGVybmFscykgeworICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRFbmFibGVDb21w
b3NpdGluZ0ZvckZpeGVkUG9zaXRpb24odHJ1ZSk7CisgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEZpeGVkUG9zaXRpb25DcmVhdGVzU3RhY2tpbmdDb250ZXh0KHRydWUpOworICAg
IH0KKworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7CisKKyAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rp
b24oKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXllcnRyZWUiKS5pbm5l
clRleHQgPSB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpOworICAgICAgfSwgZmFsc2UpOwor
ICAgIH0KKyAgPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5PgorICA8IS0tIFRoaXMgZWxlbWVu
dCBnZXRzIGl0cyBvd24gbGF5ZXIgZXZlbiB0aG91Z2ggaXRzIGxheW91dCBzaXplIGlzIGVtcHR5
CisgICAgICAgYmVjYXVzZSBpdCBoYXMgYSBkZXNjZW5kYW50IHRoYXQgaW50ZXJzZWN0cyB3aXRo
IHRoZSB2aWV3cG9ydC4gLS0+CisgIDxkaXYgY2xhc3M9ImZpeGVkIj4KKyAgICA8ZGl2IGNsYXNz
PSJhYnNvbHV0ZSBpbi12aWV3IGJveCI+PC9kaXY+CisgIDwvZGl2PgorCisgIDwhLS0gVGhpcyBl
bGVtZW50IGRvZXNuJ3QgZ2V0IGEgbGF5ZXIsIGJlY2F1c2UgbmVpdGhlciBpdCBvciBhbnkgb2Yg
aXRzCisgICAgICAgY2hpbGRyZW4gaW50ZXJzZWN0IHdpdGggdGhlIHZpZXdwb3J0LiAtLT4KKyAg
PGRpdiBjbGFzcz0iZml4ZWQiPgorICAgIDxkaXYgY2xhc3M9ImFic29sdXRlIG91dC1vZi12aWV3
IGJveCI+PC9kaXY+CisgIDwvZGl2PgorCisgIDxwcmUgaWQ9ImxheWVydHJlZSI+PC9wcmU+Cis8
L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170698</attachid>
            <date>2012-10-25 11:42:51 -0700</date>
            <delta_ts>2012-10-25 17:35:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98144-20121025114125.patch</filename>
            <type>text/plain</type>
            <size>7969</size>
            <attacher name="Xianzhu Wang">wangxianzhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyNTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGM3MGUzYmE4M2EyMjgz
MDQ4ODlmMTQ1NGM4ZTQwNjE1ODI5NDE3Yi4uZTdjMjRhODczZWMxMDEwODhlYWYxOWY1MDVhNWQy
MDQzNzU4NWQ3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTEwLTI1ICBTYW1p
IEt5b3N0aWxhICA8c2t5b3N0aWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEZpeGVkIHBvc2l0
aW9uIHZpc2liaWxpdHkgY2hlY2sgZG9lcyBub3QgY29uc2lkZXIgZGVzY2VuZGFudHMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4MTQ0CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGNoZWNrIGFnYWlu
c3QgY3JlYXRpbmcgY29tcG9zaXRpb24gbGF5ZXJzIGZvciBpbnZpc2libGUgZml4ZWQgcG9zaXRp
b25lZAorICAgICAgICBlbGVtZW50cyBpcyB0b28gYWdncmVzc2l2ZSBpbiB0aGF0IGl0IGRvZXMg
bm90IGNvbnNpZGVyIGRlc2NlbmRhbnRzIG9mIHRoZQorICAgICAgICBmaXhlZCBwb3NpdGlvbmVk
IGVsZW1lbnQgdGhhdCBtYXkgYmUgdmlzaWJsZSBldmVuIHRob3VnaCB0aGUgZWxlbWVudCBpdHNl
bGYgaXMKKyAgICAgICAgb3V0IG9mIHZpZXcuCisKKyAgICAgICAgRml4IHRoZSBwcm9ibGVtIGJ5
IGNvbnNlcnZhdGl2ZWx5IGNvbnNpZGVyaW5nIGFsbCBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnRz
CisgICAgICAgIHRoYXQgaGF2ZSBzdWJsYXllcnMgYXMgdmlzaWJsZSAod2FuZ3hpYW56aHVAY2hy
b21pdW0ub3JnKS4KKworICAgICAgICBUZXN0OiBjb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9m
aXhlZC1wb3NpdGlvbi1hYnNvbHV0ZS1kZXNjZW5kYW50Lmh0bWwKKworICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5nRm9yUG9zaXRpb24pOgorICAgICAg
ICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRl
cm5hbFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1cCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5h
bFNldHRpbmdzOjpCYWNrdXA6OnJlc3RvcmVUbyk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bFNldHRpbmdzLmg6CisgICAgICAgIChCYWNrdXApOgorCiAyMDEyLTEwLTI1ICBPamFuIFZhZmFp
ICA8b2phbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgR2V0IHJpZCBvZiBTY3JpcHRDb250cm9s
bGVyOjpjbGVhckZvck5hdmlnYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKaW5kZXggOTZkYWEwNDY5NTBhZTRiNGU4NDY5OWRh
YjcyMjJiMWY2OGE5MDkxMi4uMzM5OGI3MjkwNmE3YWIxYjc5YTY5NDM0YWIyOGZjNWJkNzVmZWM2
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5jcHAKQEAgLTE5MTIsNyArMTkxMiw4IEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9y
OjpyZXF1aXJlc0NvbXBvc2l0aW5nRm9yUG9zaXRpb24oUmVuZGVyT2JqZWN0KiByZW5kZXJlCiAK
ICAgICAvLyBGaXhlZCBwb3NpdGlvbiBlbGVtZW50cyB0aGF0IGFyZSBpbnZpc2libGUgaW4gdGhl
IGN1cnJlbnQgdmlldyBkb24ndCBnZXQgdGhlaXIgb3duIGxheWVyLgogICAgIEZyYW1lVmlldyog
ZnJhbWVWaWV3ID0gbV9yZW5kZXJWaWV3LT5mcmFtZVZpZXcoKTsKLSAgICBpZiAoZnJhbWVWaWV3
ICYmICFsYXllci0+YWJzb2x1dGVCb3VuZGluZ0JveCgpLmludGVyc2VjdHMoSW50UmVjdChJbnRQ
b2ludChmcmFtZVZpZXctPnNjcm9sbE9mZnNldEZvckZpeGVkUG9zaXRpb24oKSksIGZyYW1lVmll
dy0+bGF5b3V0U2l6ZSgpKSkpCisgICAgaWYgKGZyYW1lVmlldyAmJiAhbGF5ZXItPmZpcnN0Q2hp
bGQoKQorICAgICAgICAmJiAhbGF5ZXItPmFic29sdXRlQm91bmRpbmdCb3goKS5pbnRlcnNlY3Rz
KEludFJlY3QoSW50UG9pbnQoZnJhbWVWaWV3LT5zY3JvbGxPZmZzZXRGb3JGaXhlZFBvc2l0aW9u
KCkpLCBmcmFtZVZpZXctPmxheW91dFNpemUoKSkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
ICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGlu
Z3MuY3BwCmluZGV4IGFlMzA2Njk5MDBmOWM0MDk3N2UyNGZhZjMyNDQ3ZTAxZjFlNTFiNDMuLmVh
ZmQzY2YyNzViMzUyZjYyNGUzZWRkYjc4MzRiYjE0MmJmNGMxODkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcApAQCAtODQsNiArODQsNyBAQCBJbnRlcm5h
bFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1cChQYWdlKiBwYWdlLCBTZXR0aW5ncyogc2V0dGluZ3Mp
CiAjZW5kaWYKICAgICAsIG1fb3JpZ2luYWxFZGl0aW5nQmVoYXZpb3Ioc2V0dGluZ3MtPmVkaXRp
bmdCZWhhdmlvclR5cGUoKSkKICAgICAsIG1fb3JpZ2luYWxVbmlmaWVkU3BlbGxDaGVja2VyRW5h
YmxlZChzZXR0aW5ncy0+dW5pZmllZFRleHRDaGVja2VyRW5hYmxlZCgpKQorICAgICwgbV9vcmln
aW5hbEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZChzZXR0aW5n
cy0+YWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKCkpCiAgICAg
LCBtX29yaWdpbmFsRml4ZWRQb3NpdGlvbkNyZWF0ZXNTdGFja2luZ0NvbnRleHQoc2V0dGluZ3Mt
PmZpeGVkUG9zaXRpb25DcmVhdGVzU3RhY2tpbmdDb250ZXh0KCkpCiAgICAgLCBtX29yaWdpbmFs
U3luY1hIUkluRG9jdW1lbnRzRW5hYmxlZChzZXR0aW5ncy0+c3luY1hIUkluRG9jdW1lbnRzRW5h
YmxlZCgpKQogI2lmIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVH
R0VSKQpAQCAtMTI0LDYgKzEyNSw3IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpy
ZXN0b3JlVG8oUGFnZSogcGFnZSwgU2V0dGluZ3MqIHNldHRpbmdzKQogI2VuZGlmCiAgICAgc2V0
dGluZ3MtPnNldEVkaXRpbmdCZWhhdmlvclR5cGUobV9vcmlnaW5hbEVkaXRpbmdCZWhhdmlvcik7
CiAgICAgc2V0dGluZ3MtPnNldFVuaWZpZWRUZXh0Q2hlY2tlckVuYWJsZWQobV9vcmlnaW5hbFVu
aWZpZWRTcGVsbENoZWNrZXJFbmFibGVkKTsKKyAgICBzZXR0aW5ncy0+c2V0QWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKG1fb3JpZ2luYWxBY2NlbGVyYXRlZENv
bXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQpOwogICAgIHNldHRpbmdzLT5zZXRGaXhl
ZFBvc2l0aW9uQ3JlYXRlc1N0YWNraW5nQ29udGV4dChtX29yaWdpbmFsRml4ZWRQb3NpdGlvbkNy
ZWF0ZXNTdGFja2luZ0NvbnRleHQpOwogICAgIHNldHRpbmdzLT5zZXRTeW5jWEhSSW5Eb2N1bWVu
dHNFbmFibGVkKG1fb3JpZ2luYWxTeW5jWEhSSW5Eb2N1bWVudHNFbmFibGVkKTsKICNpZiBFTkFC
TEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKaW5kZXggMzhhZjczZjk3YzkyNDg0ODNmNTZi
ZjE0ZmFmNGVlNGFjMGEzZjQyYS4uM2UwOTc1NWVhNWJkNTU0YWRkYzA0NzZmYjk1ZWE3Mjc2OTQ2
NTRiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKQEAgLTYz
LDYgKzYzLDcgQEAgcHVibGljOgogI2VuZGlmCiAgICAgICAgIEVkaXRpbmdCZWhhdmlvclR5cGUg
bV9vcmlnaW5hbEVkaXRpbmdCZWhhdmlvcjsKICAgICAgICAgYm9vbCBtX29yaWdpbmFsVW5pZmll
ZFNwZWxsQ2hlY2tlckVuYWJsZWQ7CisgICAgICAgIGJvb2wgbV9vcmlnaW5hbEFjY2VsZXJhdGVk
Q29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZDsKICAgICAgICAgYm9vbCBtX29yaWdp
bmFsRml4ZWRQb3NpdGlvbkNyZWF0ZXNTdGFja2luZ0NvbnRleHQ7CiAgICAgICAgIGJvb2wgbV9v
cmlnaW5hbFN5bmNYSFJJbkRvY3VtZW50c0VuYWJsZWQ7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikg
JiYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNTMzM2FiNDJmZDhlYmExODRk
NzU5ZGFlMDI2NTk4ZTE2NWY0YTQyOC4uYjcyOGI0NGZkOWJjMjI0NzljMWEzMjc1YzgwOGMwODg5
ZmE4OTVjMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTEwLTI1ICBTYW1pIEt5b3N0aWxh
ICA8c2t5b3N0aWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEZpeGVkIHBvc2l0aW9uIHZpc2li
aWxpdHkgY2hlY2sgZG9lcyBub3QgY29uc2lkZXIgZGVzY2VuZGFudHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4MTQ0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgYSB0ZXN0IGZvciB0aGUgZml4
ZWQgcG9zaXRpb24gbGF5ZXIgdmlzaWJpbGl0eSBjaGVjay4KKworICAgICAgICAqIGNvbXBvc2l0
aW5nL2xheWVyLWNyZWF0aW9uL2ZpeGVkLXBvc2l0aW9uLWFic29sdXRlLWRlc2NlbmRhbnQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9m
aXhlZC1wb3NpdGlvbi1hYnNvbHV0ZS1kZXNjZW5kYW50Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTEw
LTI1ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0
XSBVbnJldmlld2VkIGdhcmRlbmluZywgc2tpcCBmYWlsaW5nIHRlc3RzIHRvIHNwZWVkdXAgdGVz
dGluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9u
L2ZpeGVkLXBvc2l0aW9uLWFic29sdXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vZml4ZWQtcG9zaXRpb24tYWJzb2x1dGUt
ZGVzY2VuZGFudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTNkZTFlNmVmZTkyYWUyMTYyNGM5
NGRkYjA3YTVhNWIyMGY0Y2YyNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL2xheWVyLWNyZWF0aW9uL2ZpeGVkLXBvc2l0aW9uLWFic29sdXRlLWRlc2NlbmRhbnQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjAgQEAKKyhHcmFwaGljc0xheWVyCisgIChib3VuZHMg
ODAwLjAwIDYwMC4wMCkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAg
KGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAgICAgKGNoaWxkcmVuIDIKKyAgICAgICAgKEdyYXBo
aWNzTGF5ZXIKKyAgICAgICAgICAocG9zaXRpb24gNTguMDAgNjMuMDApCisgICAgICAgICAgKGJv
dW5kcyA1MC4wMCA1MC4wMCkKKyAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICkK
KyAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAocG9zaXRpb24gOC4wMCAxMy4wMCkK
KyAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICkKKyAgICAgICkKKyAgICApCisg
ICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRp
b24vZml4ZWQtcG9zaXRpb24tYWJzb2x1dGUtZGVzY2VuZGFudC5odG1sIGIvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vZml4ZWQtcG9zaXRpb24tYWJzb2x1dGUtZGVzY2Vu
ZGFudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJmNDg1NTg3MjBlNDJkMDA1ZGJkNWVjNjFlYWYwZmMxYTAw
YTNlN2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9sYXllci1j
cmVhdGlvbi9maXhlZC1wb3NpdGlvbi1hYnNvbHV0ZS1kZXNjZW5kYW50Lmh0bWwKQEAgLTAsMCAr
MSw1OCBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxodG1sPgorPGhlYWQ+CisgIDxzdHlsZT4KKyAg
ICAuZml4ZWQgeworICAgICAgcG9zaXRpb246IGZpeGVkOworICAgIH0KKyAgICAuYWJzb2x1dGUg
eworICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIH0KKyAgICAuaW4tdmlldyB7CisgICAg
ICB0b3A6IDUwcHg7CisgICAgICBsZWZ0OiA1MHB4OworICAgIH0KKyAgICAub3V0LW9mLXZpZXcg
eworICAgICAgdG9wOiA1MHB4OworICAgICAgbGVmdDogLTE1MHB4OworICAgIH0KKyAgICAuYm94
IHsKKyAgICAgIHdpZHRoOiA1MHB4OworICAgICAgaGVpZ2h0OiA1MHB4OworICAgICAgYmFja2dy
b3VuZDogZ3JlZW47CisgICAgfQorICA8L3N0eWxlPgorCisgIDxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0Ij4KKyAgICBpZiAod2luZG93LmludGVybmFscykgeworICAgICAgd2luZG93Lmlu
dGVybmFscy5zZXR0aW5ncy5zZXRFbmFibGVDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb24odHJ1
ZSk7CisgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEZpeGVkUG9zaXRpb25DcmVh
dGVzU3RhY2tpbmdDb250ZXh0KHRydWUpOworICAgIH0KKworICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgeworICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICAgIHdpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7CisgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJsYXllcnRyZWUiKS5pbm5lclRleHQgPSB0ZXN0UnVubmVyLmxheWVyVHJl
ZUFzVGV4dCgpOworICAgICAgfSwgZmFsc2UpOworICAgIH0KKyAgPC9zY3JpcHQ+Cis8L2hlYWQ+
CisKKzxib2R5PgorICA8IS0tIFRoaXMgZWxlbWVudCBnZXRzIGl0cyBvd24gbGF5ZXIgZXZlbiB0
aG91Z2ggaXRzIGxheW91dCBzaXplIGlzIGVtcHR5CisgICAgICAgYmVjYXVzZSBpdCBoYXMgYSBk
ZXNjZW5kYW50IHRoYXQgaW50ZXJzZWN0cyB3aXRoIHRoZSB2aWV3cG9ydC4gLS0+CisgIDxkaXYg
Y2xhc3M9ImZpeGVkIj4KKyAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSBpbi12aWV3IGJveCI+PC9k
aXY+CisgIDwvZGl2PgorCisgIDwhLS0gVGhpcyBlbGVtZW50IGRvZXNuJ3QgZ2V0IGEgbGF5ZXIs
IGJlY2F1c2UgbmVpdGhlciBpdCBvciBhbnkgb2YgaXRzCisgICAgICAgY2hpbGRyZW4gaW50ZXJz
ZWN0IHdpdGggdGhlIHZpZXdwb3J0LiAtLT4KKyAgPGRpdiBjbGFzcz0iZml4ZWQiPgorICAgIDxk
aXYgY2xhc3M9ImFic29sdXRlIG91dC1vZi12aWV3IGJveCI+PC9kaXY+CisgIDwvZGl2PgorCisg
IDxwcmUgaWQ9ImxheWVydHJlZSI+PC9wcmU+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170772</attachid>
            <date>2012-10-25 17:35:13 -0700</date>
            <delta_ts>2012-10-26 10:51:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98144-20121025173346.patch</filename>
            <type>text/plain</type>
            <size>7602</size>
            <attacher name="Xianzhu Wang">wangxianzhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyNTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGM3MGUzYmE4M2EyMjgz
MDQ4ODlmMTQ1NGM4ZTQwNjE1ODI5NDE3Yi4uZTdjMjRhODczZWMxMDEwODhlYWYxOWY1MDVhNWQy
MDQzNzU4NWQ3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTEwLTI1ICBTYW1p
IEt5b3N0aWxhICA8c2t5b3N0aWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEZpeGVkIHBvc2l0
aW9uIHZpc2liaWxpdHkgY2hlY2sgZG9lcyBub3QgY29uc2lkZXIgZGVzY2VuZGFudHMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4MTQ0CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGNoZWNrIGFnYWlu
c3QgY3JlYXRpbmcgY29tcG9zaXRpb24gbGF5ZXJzIGZvciBpbnZpc2libGUgZml4ZWQgcG9zaXRp
b25lZAorICAgICAgICBlbGVtZW50cyBpcyB0b28gYWdncmVzc2l2ZSBpbiB0aGF0IGl0IGRvZXMg
bm90IGNvbnNpZGVyIGRlc2NlbmRhbnRzIG9mIHRoZQorICAgICAgICBmaXhlZCBwb3NpdGlvbmVk
IGVsZW1lbnQgdGhhdCBtYXkgYmUgdmlzaWJsZSBldmVuIHRob3VnaCB0aGUgZWxlbWVudCBpdHNl
bGYgaXMKKyAgICAgICAgb3V0IG9mIHZpZXcuCisKKyAgICAgICAgRml4IHRoZSBwcm9ibGVtIGJ5
IGNvbnNlcnZhdGl2ZWx5IGNvbnNpZGVyaW5nIGFsbCBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnRz
CisgICAgICAgIHRoYXQgaGF2ZSBzdWJsYXllcnMgYXMgdmlzaWJsZSAod2FuZ3hpYW56aHVAY2hy
b21pdW0ub3JnKS4KKworICAgICAgICBUZXN0OiBjb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9m
aXhlZC1wb3NpdGlvbi1hYnNvbHV0ZS1kZXNjZW5kYW50Lmh0bWwKKworICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5nRm9yUG9zaXRpb24pOgorICAgICAg
ICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRl
cm5hbFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1cCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5h
bFNldHRpbmdzOjpCYWNrdXA6OnJlc3RvcmVUbyk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bFNldHRpbmdzLmg6CisgICAgICAgIChCYWNrdXApOgorCiAyMDEyLTEwLTI1ICBPamFuIFZhZmFp
ICA8b2phbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgR2V0IHJpZCBvZiBTY3JpcHRDb250cm9s
bGVyOjpjbGVhckZvck5hdmlnYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKaW5kZXggOTZkYWEwNDY5NTBhZTRiNGU4NDY5OWRh
YjcyMjJiMWY2OGE5MDkxMi4uMzM5OGI3MjkwNmE3YWIxYjc5YTY5NDM0YWIyOGZjNWJkNzVmZWM2
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5jcHAKQEAgLTE5MTIsNyArMTkxMiw4IEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9y
OjpyZXF1aXJlc0NvbXBvc2l0aW5nRm9yUG9zaXRpb24oUmVuZGVyT2JqZWN0KiByZW5kZXJlCiAK
ICAgICAvLyBGaXhlZCBwb3NpdGlvbiBlbGVtZW50cyB0aGF0IGFyZSBpbnZpc2libGUgaW4gdGhl
IGN1cnJlbnQgdmlldyBkb24ndCBnZXQgdGhlaXIgb3duIGxheWVyLgogICAgIEZyYW1lVmlldyog
ZnJhbWVWaWV3ID0gbV9yZW5kZXJWaWV3LT5mcmFtZVZpZXcoKTsKLSAgICBpZiAoZnJhbWVWaWV3
ICYmICFsYXllci0+YWJzb2x1dGVCb3VuZGluZ0JveCgpLmludGVyc2VjdHMoSW50UmVjdChJbnRQ
b2ludChmcmFtZVZpZXctPnNjcm9sbE9mZnNldEZvckZpeGVkUG9zaXRpb24oKSksIGZyYW1lVmll
dy0+bGF5b3V0U2l6ZSgpKSkpCisgICAgaWYgKGZyYW1lVmlldyAmJiAhbGF5ZXItPmZpcnN0Q2hp
bGQoKQorICAgICAgICAmJiAhbGF5ZXItPmFic29sdXRlQm91bmRpbmdCb3goKS5pbnRlcnNlY3Rz
KEludFJlY3QoSW50UG9pbnQoZnJhbWVWaWV3LT5zY3JvbGxPZmZzZXRGb3JGaXhlZFBvc2l0aW9u
KCkpLCBmcmFtZVZpZXctPmxheW91dFNpemUoKSkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
ICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGlu
Z3MuY3BwCmluZGV4IGFlMzA2Njk5MDBmOWM0MDk3N2UyNGZhZjMyNDQ3ZTAxZjFlNTFiNDMuLmVh
ZmQzY2YyNzViMzUyZjYyNGUzZWRkYjc4MzRiYjE0MmJmNGMxODkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcApAQCAtODQsNiArODQsNyBAQCBJbnRlcm5h
bFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1cChQYWdlKiBwYWdlLCBTZXR0aW5ncyogc2V0dGluZ3Mp
CiAjZW5kaWYKICAgICAsIG1fb3JpZ2luYWxFZGl0aW5nQmVoYXZpb3Ioc2V0dGluZ3MtPmVkaXRp
bmdCZWhhdmlvclR5cGUoKSkKICAgICAsIG1fb3JpZ2luYWxVbmlmaWVkU3BlbGxDaGVja2VyRW5h
YmxlZChzZXR0aW5ncy0+dW5pZmllZFRleHRDaGVja2VyRW5hYmxlZCgpKQorICAgICwgbV9vcmln
aW5hbEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZChzZXR0aW5n
cy0+YWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKCkpCiAgICAg
LCBtX29yaWdpbmFsRml4ZWRQb3NpdGlvbkNyZWF0ZXNTdGFja2luZ0NvbnRleHQoc2V0dGluZ3Mt
PmZpeGVkUG9zaXRpb25DcmVhdGVzU3RhY2tpbmdDb250ZXh0KCkpCiAgICAgLCBtX29yaWdpbmFs
U3luY1hIUkluRG9jdW1lbnRzRW5hYmxlZChzZXR0aW5ncy0+c3luY1hIUkluRG9jdW1lbnRzRW5h
YmxlZCgpKQogI2lmIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVH
R0VSKQpAQCAtMTI0LDYgKzEyNSw3IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpy
ZXN0b3JlVG8oUGFnZSogcGFnZSwgU2V0dGluZ3MqIHNldHRpbmdzKQogI2VuZGlmCiAgICAgc2V0
dGluZ3MtPnNldEVkaXRpbmdCZWhhdmlvclR5cGUobV9vcmlnaW5hbEVkaXRpbmdCZWhhdmlvcik7
CiAgICAgc2V0dGluZ3MtPnNldFVuaWZpZWRUZXh0Q2hlY2tlckVuYWJsZWQobV9vcmlnaW5hbFVu
aWZpZWRTcGVsbENoZWNrZXJFbmFibGVkKTsKKyAgICBzZXR0aW5ncy0+c2V0QWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKG1fb3JpZ2luYWxBY2NlbGVyYXRlZENv
bXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQpOwogICAgIHNldHRpbmdzLT5zZXRGaXhl
ZFBvc2l0aW9uQ3JlYXRlc1N0YWNraW5nQ29udGV4dChtX29yaWdpbmFsRml4ZWRQb3NpdGlvbkNy
ZWF0ZXNTdGFja2luZ0NvbnRleHQpOwogICAgIHNldHRpbmdzLT5zZXRTeW5jWEhSSW5Eb2N1bWVu
dHNFbmFibGVkKG1fb3JpZ2luYWxTeW5jWEhSSW5Eb2N1bWVudHNFbmFibGVkKTsKICNpZiBFTkFC
TEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKaW5kZXggMzhhZjczZjk3YzkyNDg0ODNmNTZi
ZjE0ZmFmNGVlNGFjMGEzZjQyYS4uM2UwOTc1NWVhNWJkNTU0YWRkYzA0NzZmYjk1ZWE3Mjc2OTQ2
NTRiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKQEAgLTYz
LDYgKzYzLDcgQEAgcHVibGljOgogI2VuZGlmCiAgICAgICAgIEVkaXRpbmdCZWhhdmlvclR5cGUg
bV9vcmlnaW5hbEVkaXRpbmdCZWhhdmlvcjsKICAgICAgICAgYm9vbCBtX29yaWdpbmFsVW5pZmll
ZFNwZWxsQ2hlY2tlckVuYWJsZWQ7CisgICAgICAgIGJvb2wgbV9vcmlnaW5hbEFjY2VsZXJhdGVk
Q29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZDsKICAgICAgICAgYm9vbCBtX29yaWdp
bmFsRml4ZWRQb3NpdGlvbkNyZWF0ZXNTdGFja2luZ0NvbnRleHQ7CiAgICAgICAgIGJvb2wgbV9v
cmlnaW5hbFN5bmNYSFJJbkRvY3VtZW50c0VuYWJsZWQ7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikg
JiYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNTMzM2FiNDJmZDhlYmExODRk
NzU5ZGFlMDI2NTk4ZTE2NWY0YTQyOC4uYjcyOGI0NGZkOWJjMjI0NzljMWEzMjc1YzgwOGMwODg5
ZmE4OTVjMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTEwLTI1ICBTYW1pIEt5b3N0aWxh
ICA8c2t5b3N0aWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEZpeGVkIHBvc2l0aW9uIHZpc2li
aWxpdHkgY2hlY2sgZG9lcyBub3QgY29uc2lkZXIgZGVzY2VuZGFudHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4MTQ0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgYSB0ZXN0IGZvciB0aGUgZml4
ZWQgcG9zaXRpb24gbGF5ZXIgdmlzaWJpbGl0eSBjaGVjay4KKworICAgICAgICAqIGNvbXBvc2l0
aW5nL2xheWVyLWNyZWF0aW9uL2ZpeGVkLXBvc2l0aW9uLWFic29sdXRlLWRlc2NlbmRhbnQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9m
aXhlZC1wb3NpdGlvbi1hYnNvbHV0ZS1kZXNjZW5kYW50Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTEw
LTI1ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0
XSBVbnJldmlld2VkIGdhcmRlbmluZywgc2tpcCBmYWlsaW5nIHRlc3RzIHRvIHNwZWVkdXAgdGVz
dGluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9u
L2ZpeGVkLXBvc2l0aW9uLWFic29sdXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vZml4ZWQtcG9zaXRpb24tYWJzb2x1dGUt
ZGVzY2VuZGFudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDkxZGQzZmRmNzA4NWZlMTViNTEx
MmIyMWM0NWI5YjZiNWYzMzgyNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL2xheWVyLWNyZWF0aW9uL2ZpeGVkLXBvc2l0aW9uLWFic29sdXRlLWRlc2NlbmRhbnQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKKyhHcmFwaGljc0xheWVyCisgIChib3VuZHMg
ODAwLjAwIDYwMC4wMCkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAg
KGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgKEdyYXBo
aWNzTGF5ZXIKKyAgICAgICAgICAocG9zaXRpb24gNTguMDAgNjMuMDApCisgICAgICAgICAgKGJv
dW5kcyA1MC4wMCA1MC4wMCkKKyAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICkK
KyAgICAgICkKKyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvbGF5ZXItY3JlYXRpb24vZml4ZWQtcG9zaXRpb24tYWJzb2x1dGUtZGVzY2VuZGFudC5o
dG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vZml4ZWQtcG9zaXRp
b24tYWJzb2x1dGUtZGVzY2VuZGFudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMyODUwYjA5YzA2Zjk5OTE3
NjY0OWU5MDQxMTE1MzI1ZjRmNmQ3YjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9maXhlZC1wb3NpdGlvbi1hYnNvbHV0ZS1kZXNjZW5k
YW50Lmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxodG1sPgorPGhl
YWQ+CisgIDxzdHlsZT4KKyAgICAuZml4ZWQgeworICAgICAgcG9zaXRpb246IGZpeGVkOworICAg
IH0KKyAgICAuYWJzb2x1dGUgeworICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIH0KKyAg
ICAuaW4tdmlldyB7CisgICAgICB0b3A6IDUwcHg7CisgICAgICBsZWZ0OiA1MHB4OworICAgIH0K
KyAgICAuYm94IHsKKyAgICAgIHdpZHRoOiA1MHB4OworICAgICAgaGVpZ2h0OiA1MHB4OworICAg
ICAgYmFja2dyb3VuZDogZ3JlZW47CisgICAgfQorICA8L3N0eWxlPgorCisgIDxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Cisg
ICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEVuYWJsZUNvbXBvc2l0aW5nRm9yRml4
ZWRQb3NpdGlvbih0cnVlKTsKKyAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0Rml4
ZWRQb3NpdGlvbkNyZWF0ZXNTdGFja2luZ0NvbnRleHQodHJ1ZSk7CisKKyAgICAgIHdpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7CisgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJsYXllcnRyZWUiKS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxh
eWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CisgICAgICB9LCBmYWxzZSk7CisgICAgfQorICA8L3Nj
cmlwdD4KKzwvaGVhZD4KKworPGJvZHk+CisgIDwhLS0gVGhpcyBlbGVtZW50IGdldHMgaXRzIG93
biBsYXllciBldmVuIHRob3VnaCBpdHMgbGF5b3V0IHNpemUgaXMgZW1wdHkKKyAgICAgICBiZWNh
dXNlIGl0IGhhcyBhIGRlc2NlbmRhbnQgdGhhdCBpbnRlcnNlY3RzIHdpdGggdGhlIHZpZXdwb3J0
LiAtLT4KKyAgPGRpdiBjbGFzcz0iZml4ZWQiPgorICAgIDxkaXYgY2xhc3M9ImFic29sdXRlIGlu
LXZpZXcgYm94Ij48L2Rpdj4KKyAgPC9kaXY+CisKKyAgPHByZSBpZD0ibGF5ZXJ0cmVlIj48L3By
ZT4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170955</attachid>
            <date>2012-10-26 10:51:40 -0700</date>
            <delta_ts>2012-10-26 14:01:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98144-20121026105012.patch</filename>
            <type>text/plain</type>
            <size>7707</size>
            <attacher name="Xianzhu Wang">wangxianzhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyNjczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2IzZDVhZjU1MWYxODY1
MzljNjE1NTQ2NzFlZjVmOTAyOTViYTYxMC4uNGFiMTdlYjkzMzhjYTlkMDE1ODdjODk1NzkxOGFh
MGU1MDY4NzhhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTEwLTI2ICBYaWFu
emh1IFdhbmcgPHdhbmd4aWFuemh1QGNocm9taXVtLm9yZz4KKworICAgICAgICBGaXhlZCBwb3Np
dGlvbiB2aXNpYmlsaXR5IGNoZWNrIGRvZXMgbm90IGNvbnNpZGVyIGRlc2NlbmRhbnRzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODE0NAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJhc2VkIG9uIHNreW9z
dGlsQGNocm9taXVtLm9yZydzIG9yaWdpbmFsIGNoYW5nZS4KKworICAgICAgICBUaGUgY2hlY2sg
YWdhaW5zdCBjcmVhdGluZyBjb21wb3NpdGlvbiBsYXllcnMgZm9yIGludmlzaWJsZSBmaXhlZCBw
b3NpdGlvbmVkCisgICAgICAgIGVsZW1lbnRzIGlzIHRvbyBhZ2dyZXNzaXZlIGluIHRoYXQgaXQg
ZG9lcyBub3QgY29uc2lkZXIgZGVzY2VuZGFudHMgb2YgdGhlCisgICAgICAgIGZpeGVkIHBvc2l0
aW9uZWQgZWxlbWVudCB0aGF0IG1heSBiZSB2aXNpYmxlIGV2ZW4gdGhvdWdoIHRoZSBlbGVtZW50
IGl0c2VsZiBpcworICAgICAgICBvdXQgb2Ygdmlldy4KKworICAgICAgICBGaXggdGhlIHByb2Js
ZW0gYnkgY29uc2VydmF0aXZlbHkgY29uc2lkZXJpbmcgYWxsIGZpeGVkIHBvc2l0aW9uZWQgZWxl
bWVudHMKKyAgICAgICAgdGhhdCBoYXZlIHN1YmxheWVycyBhcyB2aXNpYmxlICh3YW5neGlhbnpo
dUBjaHJvbWl1bS5vcmcpLgorCisgICAgICAgIFRlc3Q6IGNvbXBvc2l0aW5nL2xheWVyLWNyZWF0
aW9uL2ZpeGVkLXBvc2l0aW9uLWFic29sdXRlLWRlc2NlbmRhbnQuaHRtbAorCisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzQ29tcG9zaXRpbmdGb3JQb3NpdGlvbik6Cisg
ICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6QmFja3VwKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
dGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9yZVRvKToKKyAgICAgICAgKiB0ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuaDoKKyAgICAgICAgKEJhY2t1cCk6CisKIDIwMTItMTAtMjYgIFplbm8g
QWxiaXNzZXIgIDx6ZW5vQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBNaW5pQnJvd3NlciBz
ZWdmYXVsdHMgb24gZXhpdCBhZnRlciB1c2luZyBXZWJHTC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKaW5kZXggMWI3MWMxYTZkOWVl
N2NkYWJkNWIxMTQ5NTYwZTJiNzkzMDI0MDk1YS4uMjY3Y2Y4NDc1YTk3NGI0ZTUxNzA1YTg5ZmY1
NGI5OTAwOGEzZDMxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTE5MDYsNyArMTkwNiw4IEBAIGJvb2wgUmVuZGVyTGF5
ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5nRm9yUG9zaXRpb24oUmVuZGVyT2JqZWN0
KiByZW5kZXJlCiAKICAgICAvLyBGaXhlZCBwb3NpdGlvbiBlbGVtZW50cyB0aGF0IGFyZSBpbnZp
c2libGUgaW4gdGhlIGN1cnJlbnQgdmlldyBkb24ndCBnZXQgdGhlaXIgb3duIGxheWVyLgogICAg
IEZyYW1lVmlldyogZnJhbWVWaWV3ID0gbV9yZW5kZXJWaWV3LT5mcmFtZVZpZXcoKTsKLSAgICBp
ZiAoZnJhbWVWaWV3ICYmICFsYXllci0+YWJzb2x1dGVCb3VuZGluZ0JveCgpLmludGVyc2VjdHMo
SW50UmVjdChJbnRQb2ludChmcmFtZVZpZXctPnNjcm9sbE9mZnNldEZvckZpeGVkUG9zaXRpb24o
KSksIGZyYW1lVmlldy0+bGF5b3V0U2l6ZSgpKSkpCisgICAgaWYgKGZyYW1lVmlldyAmJiAhbGF5
ZXItPmZpcnN0Q2hpbGQoKQorICAgICAgICAmJiAhbGF5ZXItPmFic29sdXRlQm91bmRpbmdCb3go
KS5pbnRlcnNlY3RzKEludFJlY3QoSW50UG9pbnQoZnJhbWVWaWV3LT5zY3JvbGxPZmZzZXRGb3JG
aXhlZFBvc2l0aW9uKCkpLCBmcmFtZVZpZXctPmxheW91dFNpemUoKSkpKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuY3BwCmluZGV4IGFlMzA2Njk5MDBmOWM0MDk3N2UyNGZhZjMyNDQ3ZTAx
ZjFlNTFiNDMuLmVhZmQzY2YyNzViMzUyZjYyNGUzZWRkYjc4MzRiYjE0MmJmNGMxODkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcApAQCAtODQsNiArODQs
NyBAQCBJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1cChQYWdlKiBwYWdlLCBTZXR0aW5n
cyogc2V0dGluZ3MpCiAjZW5kaWYKICAgICAsIG1fb3JpZ2luYWxFZGl0aW5nQmVoYXZpb3Ioc2V0
dGluZ3MtPmVkaXRpbmdCZWhhdmlvclR5cGUoKSkKICAgICAsIG1fb3JpZ2luYWxVbmlmaWVkU3Bl
bGxDaGVja2VyRW5hYmxlZChzZXR0aW5ncy0+dW5pZmllZFRleHRDaGVja2VyRW5hYmxlZCgpKQor
ICAgICwgbV9vcmlnaW5hbEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5h
YmxlZChzZXR0aW5ncy0+YWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFi
bGVkKCkpCiAgICAgLCBtX29yaWdpbmFsRml4ZWRQb3NpdGlvbkNyZWF0ZXNTdGFja2luZ0NvbnRl
eHQoc2V0dGluZ3MtPmZpeGVkUG9zaXRpb25DcmVhdGVzU3RhY2tpbmdDb250ZXh0KCkpCiAgICAg
LCBtX29yaWdpbmFsU3luY1hIUkluRG9jdW1lbnRzRW5hYmxlZChzZXR0aW5ncy0+c3luY1hIUklu
RG9jdW1lbnRzRW5hYmxlZCgpKQogI2lmIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShKQVZB
U0NSSVBUX0RFQlVHR0VSKQpAQCAtMTI0LDYgKzEyNSw3IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5n
czo6QmFja3VwOjpyZXN0b3JlVG8oUGFnZSogcGFnZSwgU2V0dGluZ3MqIHNldHRpbmdzKQogI2Vu
ZGlmCiAgICAgc2V0dGluZ3MtPnNldEVkaXRpbmdCZWhhdmlvclR5cGUobV9vcmlnaW5hbEVkaXRp
bmdCZWhhdmlvcik7CiAgICAgc2V0dGluZ3MtPnNldFVuaWZpZWRUZXh0Q2hlY2tlckVuYWJsZWQo
bV9vcmlnaW5hbFVuaWZpZWRTcGVsbENoZWNrZXJFbmFibGVkKTsKKyAgICBzZXR0aW5ncy0+c2V0
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKG1fb3JpZ2luYWxB
Y2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQpOwogICAgIHNldHRp
bmdzLT5zZXRGaXhlZFBvc2l0aW9uQ3JlYXRlc1N0YWNraW5nQ29udGV4dChtX29yaWdpbmFsRml4
ZWRQb3NpdGlvbkNyZWF0ZXNTdGFja2luZ0NvbnRleHQpOwogICAgIHNldHRpbmdzLT5zZXRTeW5j
WEhSSW5Eb2N1bWVudHNFbmFibGVkKG1fb3JpZ2luYWxTeW5jWEhSSW5Eb2N1bWVudHNFbmFibGVk
KTsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKaW5kZXggMzhhZjczZjk3
YzkyNDg0ODNmNTZiZjE0ZmFmNGVlNGFjMGEzZjQyYS4uM2UwOTc1NWVhNWJkNTU0YWRkYzA0NzZm
Yjk1ZWE3Mjc2OTQ2NTRiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbFNldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRp
bmdzLmgKQEAgLTYzLDYgKzYzLDcgQEAgcHVibGljOgogI2VuZGlmCiAgICAgICAgIEVkaXRpbmdC
ZWhhdmlvclR5cGUgbV9vcmlnaW5hbEVkaXRpbmdCZWhhdmlvcjsKICAgICAgICAgYm9vbCBtX29y
aWdpbmFsVW5pZmllZFNwZWxsQ2hlY2tlckVuYWJsZWQ7CisgICAgICAgIGJvb2wgbV9vcmlnaW5h
bEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZDsKICAgICAgICAg
Ym9vbCBtX29yaWdpbmFsRml4ZWRQb3NpdGlvbkNyZWF0ZXNTdGFja2luZ0NvbnRleHQ7CiAgICAg
ICAgIGJvb2wgbV9vcmlnaW5hbFN5bmNYSFJJbkRvY3VtZW50c0VuYWJsZWQ7CiAjaWYgRU5BQkxF
KElOU1BFQ1RPUikgJiYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNzVkOGVl
ZGFiNTFlMDg0MDg2MjM0ODYzZTkyOGE0YzIxZTA0NDY0NS4uMDA5M2JkZDcxYzljZDdkNDNmZTIx
YzRhMjY3MTcyNzVlNWEwNTkxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTEwLTI2ICBY
aWFuemh1IFdhbmcgIDx3YW5neGlhbnpodUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRml4ZWQg
cG9zaXRpb24gdmlzaWJpbGl0eSBjaGVjayBkb2VzIG5vdCBjb25zaWRlciBkZXNjZW5kYW50cwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTgxNDQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCYXNlZCBvbiBz
a3lvc3RpbEBjaHJvbWl1bS5vcmcncyBvcmlnaW5hbCBjaGFuZ2UuCisKKyAgICAgICAgQWRkZWQg
YSB0ZXN0IGZvciB0aGUgZml4ZWQgcG9zaXRpb24gbGF5ZXIgdmlzaWJpbGl0eSBjaGVjay4KKwor
ICAgICAgICAqIGNvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL2ZpeGVkLXBvc2l0aW9uLWFic29s
dXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGlu
Zy9sYXllci1jcmVhdGlvbi9maXhlZC1wb3NpdGlvbi1hYnNvbHV0ZS1kZXNjZW5kYW50Lmh0bWw6
IEFkZGVkLgorCiAyMDEyLTEwLTI2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIGNvbXBvc2l0aW5nL3RpbGluZy9odWdlLWxheWVyKiBmbGFrZXkKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL2ZpeGVkLXBv
c2l0aW9uLWFic29sdXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vZml4ZWQtcG9zaXRpb24tYWJzb2x1dGUtZGVzY2VuZGFu
dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDkxZGQzZmRmNzA4NWZlMTViNTExMmIyMWM0NWI5
YjZiNWYzMzgyNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xh
eWVyLWNyZWF0aW9uL2ZpeGVkLXBvc2l0aW9uLWFic29sdXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTYgQEAKKyhHcmFwaGljc0xheWVyCisgIChib3VuZHMgODAwLjAwIDYw
MC4wMCkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4
MDAuMDAgNjAwLjAwKQorICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIK
KyAgICAgICAgICAocG9zaXRpb24gNTguMDAgNjMuMDApCisgICAgICAgICAgKGJvdW5kcyA1MC4w
MCA1MC4wMCkKKyAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICkKKyAgICAgICkK
KyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5
ZXItY3JlYXRpb24vZml4ZWQtcG9zaXRpb24tYWJzb2x1dGUtZGVzY2VuZGFudC5odG1sIGIvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vZml4ZWQtcG9zaXRpb24tYWJzb2x1
dGUtZGVzY2VuZGFudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMyODUwYjA5YzA2Zjk5OTE3NjY0OWU5MDQx
MTE1MzI1ZjRmNmQ3YjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9sYXllci1jcmVhdGlvbi9maXhlZC1wb3NpdGlvbi1hYnNvbHV0ZS1kZXNjZW5kYW50Lmh0bWwK
QEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxodG1sPgorPGhlYWQ+CisgIDxz
dHlsZT4KKyAgICAuZml4ZWQgeworICAgICAgcG9zaXRpb246IGZpeGVkOworICAgIH0KKyAgICAu
YWJzb2x1dGUgeworICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIH0KKyAgICAuaW4tdmll
dyB7CisgICAgICB0b3A6IDUwcHg7CisgICAgICBsZWZ0OiA1MHB4OworICAgIH0KKyAgICAuYm94
IHsKKyAgICAgIHdpZHRoOiA1MHB4OworICAgICAgaGVpZ2h0OiA1MHB4OworICAgICAgYmFja2dy
b3VuZDogZ3JlZW47CisgICAgfQorICA8L3N0eWxlPgorCisgIDxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0Ij4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKKworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICB3aW5k
b3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEVuYWJsZUNvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlv
bih0cnVlKTsKKyAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0Rml4ZWRQb3NpdGlv
bkNyZWF0ZXNTdGFja2luZ0NvbnRleHQodHJ1ZSk7CisKKyAgICAgIHdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJsYXllcnRyZWUiKS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFz
VGV4dChkb2N1bWVudCk7CisgICAgICB9LCBmYWxzZSk7CisgICAgfQorICA8L3NjcmlwdD4KKzwv
aGVhZD4KKworPGJvZHk+CisgIDwhLS0gVGhpcyBlbGVtZW50IGdldHMgaXRzIG93biBsYXllciBl
dmVuIHRob3VnaCBpdHMgbGF5b3V0IHNpemUgaXMgZW1wdHkKKyAgICAgICBiZWNhdXNlIGl0IGhh
cyBhIGRlc2NlbmRhbnQgdGhhdCBpbnRlcnNlY3RzIHdpdGggdGhlIHZpZXdwb3J0LiAtLT4KKyAg
PGRpdiBjbGFzcz0iZml4ZWQiPgorICAgIDxkaXYgY2xhc3M9ImFic29sdXRlIGluLXZpZXcgYm94
Ij48L2Rpdj4KKyAgPC9kaXY+CisKKyAgPHByZSBpZD0ibGF5ZXJ0cmVlIj48L3ByZT4KKzwvYm9k
eT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171000</attachid>
            <date>2012-10-26 14:01:35 -0700</date>
            <delta_ts>2012-11-16 14:37:03 -0800</delta_ts>
            <desc>Try to fix layout test break</desc>
            <filename>bug-98144-20121026140006.patch</filename>
            <type>text/plain</type>
            <size>9125</size>
            <attacher name="Xianzhu Wang">wangxianzhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyNjczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2IzZDVhZjU1MWYxODY1
MzljNjE1NTQ2NzFlZjVmOTAyOTViYTYxMC4uNGFiMTdlYjkzMzhjYTlkMDE1ODdjODk1NzkxOGFh
MGU1MDY4NzhhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTEwLTI2ICBYaWFu
emh1IFdhbmcgPHdhbmd4aWFuemh1QGNocm9taXVtLm9yZz4KKworICAgICAgICBGaXhlZCBwb3Np
dGlvbiB2aXNpYmlsaXR5IGNoZWNrIGRvZXMgbm90IGNvbnNpZGVyIGRlc2NlbmRhbnRzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODE0NAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJhc2VkIG9uIHNreW9z
dGlsQGNocm9taXVtLm9yZydzIG9yaWdpbmFsIGNoYW5nZS4KKworICAgICAgICBUaGUgY2hlY2sg
YWdhaW5zdCBjcmVhdGluZyBjb21wb3NpdGlvbiBsYXllcnMgZm9yIGludmlzaWJsZSBmaXhlZCBw
b3NpdGlvbmVkCisgICAgICAgIGVsZW1lbnRzIGlzIHRvbyBhZ2dyZXNzaXZlIGluIHRoYXQgaXQg
ZG9lcyBub3QgY29uc2lkZXIgZGVzY2VuZGFudHMgb2YgdGhlCisgICAgICAgIGZpeGVkIHBvc2l0
aW9uZWQgZWxlbWVudCB0aGF0IG1heSBiZSB2aXNpYmxlIGV2ZW4gdGhvdWdoIHRoZSBlbGVtZW50
IGl0c2VsZiBpcworICAgICAgICBvdXQgb2Ygdmlldy4KKworICAgICAgICBGaXggdGhlIHByb2Js
ZW0gYnkgY29uc2VydmF0aXZlbHkgY29uc2lkZXJpbmcgYWxsIGZpeGVkIHBvc2l0aW9uZWQgZWxl
bWVudHMKKyAgICAgICAgdGhhdCBoYXZlIHN1YmxheWVycyBhcyB2aXNpYmxlICh3YW5neGlhbnpo
dUBjaHJvbWl1bS5vcmcpLgorCisgICAgICAgIFRlc3Q6IGNvbXBvc2l0aW5nL2xheWVyLWNyZWF0
aW9uL2ZpeGVkLXBvc2l0aW9uLWFic29sdXRlLWRlc2NlbmRhbnQuaHRtbAorCisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzQ29tcG9zaXRpbmdGb3JQb3NpdGlvbik6Cisg
ICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6QmFja3VwKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
dGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9yZVRvKToKKyAgICAgICAgKiB0ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuaDoKKyAgICAgICAgKEJhY2t1cCk6CisKIDIwMTItMTAtMjYgIFplbm8g
QWxiaXNzZXIgIDx6ZW5vQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBNaW5pQnJvd3NlciBz
ZWdmYXVsdHMgb24gZXhpdCBhZnRlciB1c2luZyBXZWJHTC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKaW5kZXggMWI3MWMxYTZkOWVl
N2NkYWJkNWIxMTQ5NTYwZTJiNzkzMDI0MDk1YS4uMjY3Y2Y4NDc1YTk3NGI0ZTUxNzA1YTg5ZmY1
NGI5OTAwOGEzZDMxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTE5MDYsNyArMTkwNiw4IEBAIGJvb2wgUmVuZGVyTGF5
ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5nRm9yUG9zaXRpb24oUmVuZGVyT2JqZWN0
KiByZW5kZXJlCiAKICAgICAvLyBGaXhlZCBwb3NpdGlvbiBlbGVtZW50cyB0aGF0IGFyZSBpbnZp
c2libGUgaW4gdGhlIGN1cnJlbnQgdmlldyBkb24ndCBnZXQgdGhlaXIgb3duIGxheWVyLgogICAg
IEZyYW1lVmlldyogZnJhbWVWaWV3ID0gbV9yZW5kZXJWaWV3LT5mcmFtZVZpZXcoKTsKLSAgICBp
ZiAoZnJhbWVWaWV3ICYmICFsYXllci0+YWJzb2x1dGVCb3VuZGluZ0JveCgpLmludGVyc2VjdHMo
SW50UmVjdChJbnRQb2ludChmcmFtZVZpZXctPnNjcm9sbE9mZnNldEZvckZpeGVkUG9zaXRpb24o
KSksIGZyYW1lVmlldy0+bGF5b3V0U2l6ZSgpKSkpCisgICAgaWYgKGZyYW1lVmlldyAmJiAhbGF5
ZXItPmZpcnN0Q2hpbGQoKQorICAgICAgICAmJiAhbGF5ZXItPmFic29sdXRlQm91bmRpbmdCb3go
KS5pbnRlcnNlY3RzKEludFJlY3QoSW50UG9pbnQoZnJhbWVWaWV3LT5zY3JvbGxPZmZzZXRGb3JG
aXhlZFBvc2l0aW9uKCkpLCBmcmFtZVZpZXctPmxheW91dFNpemUoKSkpKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuY3BwCmluZGV4IGFlMzA2Njk5MDBmOWM0MDk3N2UyNGZhZjMyNDQ3ZTAx
ZjFlNTFiNDMuLmVhZmQzY2YyNzViMzUyZjYyNGUzZWRkYjc4MzRiYjE0MmJmNGMxODkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcApAQCAtODQsNiArODQs
NyBAQCBJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1cChQYWdlKiBwYWdlLCBTZXR0aW5n
cyogc2V0dGluZ3MpCiAjZW5kaWYKICAgICAsIG1fb3JpZ2luYWxFZGl0aW5nQmVoYXZpb3Ioc2V0
dGluZ3MtPmVkaXRpbmdCZWhhdmlvclR5cGUoKSkKICAgICAsIG1fb3JpZ2luYWxVbmlmaWVkU3Bl
bGxDaGVja2VyRW5hYmxlZChzZXR0aW5ncy0+dW5pZmllZFRleHRDaGVja2VyRW5hYmxlZCgpKQor
ICAgICwgbV9vcmlnaW5hbEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5h
YmxlZChzZXR0aW5ncy0+YWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFi
bGVkKCkpCiAgICAgLCBtX29yaWdpbmFsRml4ZWRQb3NpdGlvbkNyZWF0ZXNTdGFja2luZ0NvbnRl
eHQoc2V0dGluZ3MtPmZpeGVkUG9zaXRpb25DcmVhdGVzU3RhY2tpbmdDb250ZXh0KCkpCiAgICAg
LCBtX29yaWdpbmFsU3luY1hIUkluRG9jdW1lbnRzRW5hYmxlZChzZXR0aW5ncy0+c3luY1hIUklu
RG9jdW1lbnRzRW5hYmxlZCgpKQogI2lmIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShKQVZB
U0NSSVBUX0RFQlVHR0VSKQpAQCAtMTI0LDYgKzEyNSw3IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5n
czo6QmFja3VwOjpyZXN0b3JlVG8oUGFnZSogcGFnZSwgU2V0dGluZ3MqIHNldHRpbmdzKQogI2Vu
ZGlmCiAgICAgc2V0dGluZ3MtPnNldEVkaXRpbmdCZWhhdmlvclR5cGUobV9vcmlnaW5hbEVkaXRp
bmdCZWhhdmlvcik7CiAgICAgc2V0dGluZ3MtPnNldFVuaWZpZWRUZXh0Q2hlY2tlckVuYWJsZWQo
bV9vcmlnaW5hbFVuaWZpZWRTcGVsbENoZWNrZXJFbmFibGVkKTsKKyAgICBzZXR0aW5ncy0+c2V0
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKG1fb3JpZ2luYWxB
Y2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQpOwogICAgIHNldHRp
bmdzLT5zZXRGaXhlZFBvc2l0aW9uQ3JlYXRlc1N0YWNraW5nQ29udGV4dChtX29yaWdpbmFsRml4
ZWRQb3NpdGlvbkNyZWF0ZXNTdGFja2luZ0NvbnRleHQpOwogICAgIHNldHRpbmdzLT5zZXRTeW5j
WEhSSW5Eb2N1bWVudHNFbmFibGVkKG1fb3JpZ2luYWxTeW5jWEhSSW5Eb2N1bWVudHNFbmFibGVk
KTsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKaW5kZXggMzhhZjczZjk3
YzkyNDg0ODNmNTZiZjE0ZmFmNGVlNGFjMGEzZjQyYS4uM2UwOTc1NWVhNWJkNTU0YWRkYzA0NzZm
Yjk1ZWE3Mjc2OTQ2NTRiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbFNldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRp
bmdzLmgKQEAgLTYzLDYgKzYzLDcgQEAgcHVibGljOgogI2VuZGlmCiAgICAgICAgIEVkaXRpbmdC
ZWhhdmlvclR5cGUgbV9vcmlnaW5hbEVkaXRpbmdCZWhhdmlvcjsKICAgICAgICAgYm9vbCBtX29y
aWdpbmFsVW5pZmllZFNwZWxsQ2hlY2tlckVuYWJsZWQ7CisgICAgICAgIGJvb2wgbV9vcmlnaW5h
bEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZDsKICAgICAgICAg
Ym9vbCBtX29yaWdpbmFsRml4ZWRQb3NpdGlvbkNyZWF0ZXNTdGFja2luZ0NvbnRleHQ7CiAgICAg
ICAgIGJvb2wgbV9vcmlnaW5hbFN5bmNYSFJJbkRvY3VtZW50c0VuYWJsZWQ7CiAjaWYgRU5BQkxF
KElOU1BFQ1RPUikgJiYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNzVkOGVl
ZGFiNTFlMDg0MDg2MjM0ODYzZTkyOGE0YzIxZTA0NDY0NS4uNWU3ZDM5YjE1MTUxZDY4M2FmYmQ3
YmQ0MWU0NjQ3MDU4MmM5MDE2OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTEwLTI2ICBY
aWFuemh1IFdhbmcgIDx3YW5neGlhbnpodUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRml4ZWQg
cG9zaXRpb24gdmlzaWJpbGl0eSBjaGVjayBkb2VzIG5vdCBjb25zaWRlciBkZXNjZW5kYW50cwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTgxNDQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCYXNlZCBvbiBz
a3lvc3RpbEBjaHJvbWl1bS5vcmcncyBvcmlnaW5hbCBjaGFuZ2UuCisKKyAgICAgICAgQWRkZWQg
YSB0ZXN0IGZvciB0aGUgZml4ZWQgcG9zaXRpb24gbGF5ZXIgdmlzaWJpbGl0eSBjaGVjay4KKwor
ICAgICAgICAqIGNvbXBvc2l0aW5nL2dlb21ldHJ5L2ZpeGVkLXBvc2l0aW9uLXRyYW5zZm9ybS1j
b21wb3NpdGVkLXBhZ2Utc2NhbGUtZG93bi5odG1sOiBzZXRFbmFibGVDb21wb3NpdGluZ0ZvckZp
eGVkUG9zaXRpb24oKSBiZWZvcmUgbG9hZCB0byBlbnN1cmUgaXQgdGFrZXMgZWZmZWN0LgorICAg
ICAgICAqIGNvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL2ZpeGVkLXBvc2l0aW9uLWFic29sdXRl
LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9s
YXllci1jcmVhdGlvbi9maXhlZC1wb3NpdGlvbi1hYnNvbHV0ZS1kZXNjZW5kYW50Lmh0bWw6IEFk
ZGVkLgorCiAyMDEyLTEwLTI2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgogCiAgICAgICAgIGNvbXBvc2l0aW5nL3RpbGluZy9odWdlLWxheWVyKiBmbGFrZXkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5L2ZpeGVkLXBvc2l0aW9uLXRy
YW5zZm9ybS1jb21wb3NpdGVkLXBhZ2Utc2NhbGUtZG93bi5odG1sIGIvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvZ2VvbWV0cnkvZml4ZWQtcG9zaXRpb24tdHJhbnNmb3JtLWNvbXBvc2l0ZWQtcGFn
ZS1zY2FsZS1kb3duLmh0bWwKaW5kZXggMjFkNjA4MjU3NWU0OTRiYjdlMjUzNzEyYTBhYjdiOGYw
NTQ4OWRmOS4uZWQ5NzQyYmU2Y2ZjNWY1NzliZWQxMDBjNzQ2OTRhMjM2MTFmMzE0OSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvZml4ZWQtcG9zaXRpb24tdHJh
bnNmb3JtLWNvbXBvc2l0ZWQtcGFnZS1zY2FsZS1kb3duLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvZ2VvbWV0cnkvZml4ZWQtcG9zaXRpb24tdHJhbnNmb3JtLWNvbXBvc2l0ZWQt
cGFnZS1zY2FsZS1kb3duLmh0bWwKQEAgLTE1LDE3ICsxNSwxNiBAQAogfQogPC9zdHlsZT4KIDxz
Y3JpcHQ+Ci0gIGZ1bmN0aW9uIHNjYWxlKCkgewotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7
Ci0gICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEVuYWJsZUNvbXBvc2l0aW5nRm9y
Rml4ZWRQb3NpdGlvbih0cnVlKTsKLSAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0
UGFnZVNjYWxlRmFjdG9yKDAuNSwgMCwgMCk7Ci0gICAgfQotICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKLSAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCh0cnVlKTsKKyAgaWYgKHdpbmRvdy5p
bnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEVuYWJsZUNvbXBv
c2l0aW5nRm9yRml4ZWRQb3NpdGlvbih0cnVlKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRp
bmdzLnNldFBhZ2VTY2FsZUZhY3RvcigwLjUsIDAsIDApOworICB9CisgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCh0cnVlKTsKICAgfQogPC9zY3Jp
cHQ+CiA8L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InNjYWxlKCk7IiBzdHlsZT0id2lkdGg6MjAwMHB4
O2hlaWdodDoyMDAwcHg7Ij4KKzxib2R5IHN0eWxlPSJ3aWR0aDoyMDAwcHg7aGVpZ2h0OjIwMDBw
eDsiPgogPGRpdiBjbGFzcz0iZml4ZWQtbm8tei1pbmRleCI+VEVTVDwvZGl2Pjxicj4KIDxkaXYg
Y2xhc3M9ImZpeGVkLXdpdGgtei1pbmRleCI+VEVTVDwvZGl2PgogPC9ib2R5PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vZml4ZWQtcG9zaXRpb24t
YWJzb2x1dGUtZGVzY2VuZGFudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9sYXllci1jcmVhdGlvbi9maXhlZC1wb3NpdGlvbi1hYnNvbHV0ZS1kZXNjZW5kYW50LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40OTFkZDNmZGY3MDg1ZmUxNWI1MTEyYjIxYzQ1YjliNmI1ZjMz
ODI1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3Jl
YXRpb24vZml4ZWQtcG9zaXRpb24tYWJzb2x1dGUtZGVzY2VuZGFudC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxNiBAQAorKEdyYXBoaWNzTGF5ZXIKKyAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQor
ICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGljc0xheWVyCisgICAgICAoYm91bmRzIDgwMC4wMCA2
MDAuMDApCisgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAg
ICAgIChwb3NpdGlvbiA1OC4wMCA2My4wMCkKKyAgICAgICAgICAoYm91bmRzIDUwLjAwIDUwLjAw
KQorICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgKQorICAgICAgKQorICAgICkK
KyAgKQorKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9sYXllci1jcmVh
dGlvbi9maXhlZC1wb3NpdGlvbi1hYnNvbHV0ZS1kZXNjZW5kYW50Lmh0bWwgYi9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9maXhlZC1wb3NpdGlvbi1hYnNvbHV0ZS1kZXNj
ZW5kYW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzI4NTBiMDljMDZmOTk5MTc2NjQ5ZTkwNDExMTUzMjVm
NGY2ZDdiOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVy
LWNyZWF0aW9uL2ZpeGVkLXBvc2l0aW9uLWFic29sdXRlLWRlc2NlbmRhbnQuaHRtbApAQCAtMCww
ICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+Cis8aGVhZD4KKyAgPHN0eWxlPgor
ICAgIC5maXhlZCB7CisgICAgICBwb3NpdGlvbjogZml4ZWQ7CisgICAgfQorICAgIC5hYnNvbHV0
ZSB7CisgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgfQorICAgIC5pbi12aWV3IHsKKyAg
ICAgIHRvcDogNTBweDsKKyAgICAgIGxlZnQ6IDUwcHg7CisgICAgfQorICAgIC5ib3ggeworICAg
ICAgd2lkdGg6IDUwcHg7CisgICAgICBoZWlnaHQ6IDUwcHg7CisgICAgICBiYWNrZ3JvdW5kOiBn
cmVlbjsKKyAgICB9CisgIDwvc3R5bGU+CisKKyAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiPgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOworCisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgIHdpbmRvdy5pbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RW5hYmxlQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uKHRydWUp
OworICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRGaXhlZFBvc2l0aW9uQ3JlYXRl
c1N0YWNraW5nQ29udGV4dCh0cnVlKTsKKworICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxh
eWVydHJlZSIpLmlubmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRv
Y3VtZW50KTsKKyAgICAgIH0sIGZhbHNlKTsKKyAgICB9CisgIDwvc2NyaXB0PgorPC9oZWFkPgor
Cis8Ym9keT4KKyAgPCEtLSBUaGlzIGVsZW1lbnQgZ2V0cyBpdHMgb3duIGxheWVyIGV2ZW4gdGhv
dWdoIGl0cyBsYXlvdXQgc2l6ZSBpcyBlbXB0eQorICAgICAgIGJlY2F1c2UgaXQgaGFzIGEgZGVz
Y2VuZGFudCB0aGF0IGludGVyc2VjdHMgd2l0aCB0aGUgdmlld3BvcnQuIC0tPgorICA8ZGl2IGNs
YXNzPSJmaXhlZCI+CisgICAgPGRpdiBjbGFzcz0iYWJzb2x1dGUgaW4tdmlldyBib3giPjwvZGl2
PgorICA8L2Rpdj4KKworICA8cHJlIGlkPSJsYXllcnRyZWUiPjwvcHJlPgorPC9ib2R5PgorPC9o
dG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174762</attachid>
            <date>2012-11-16 14:37:08 -0800</date>
            <delta_ts>2012-11-16 16:38:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98144-20121116143503.patch</filename>
            <type>text/plain</type>
            <size>8244</size>
            <attacher name="Xianzhu Wang">wangxianzhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0OTc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzViNDUwNmQ2OWU4Y2Mz
NjU4NzRlNWZmZmFiZWFmYTkyNjI0YmM0ZS4uYjgzY2MzMmIyZjZkNTlmM2VlYjUzM2E5ZTk1MGFi
ZDA2MzdkNjQzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTExLTE2ICBYaWFu
emh1IFdhbmcgPHdhbmd4aWFuemh1QGNocm9taXVtLm9yZz4KKworICAgICAgICBMYXlvdXQgdGVz
dCBmb3IgIkZpeGVkIHBvc2l0aW9uIHZpc2liaWxpdHkgY2hlY2sgZG9lcyBub3QgY29uc2lkZXIg
ZGVzY2VuZGFudHMiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD05ODE0NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFzIHRoZSBidWcgaXRzZWxmIGhhcyBiZWVuIHJlc29sdmVkIGluIGh0dHA6Ly90cmFjLndl
YmtpdC5vcmcvY2hhbmdlc2V0LzEzMzgwNywKKyAgICAgICAgdGhpcyBjaGFuZ2UgYWRkcyBvbmx5
IHRoZSBsYXlvdXQgdGVzdHMgdG8gYXZvaWQgZnV0dXJlIHJlZ3Jlc3Npb25zLgorCisgICAgICAg
IEJhc2VkIG9uIHNreW9zdGlsQGNocm9taXVtLm9yZydzIG9yaWdpbmFsIGNoYW5nZS4KKworICAg
ICAgICBSZXN0b3JlIGVuYWJsZUNvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbigpIHNldHRpbmcg
YmV0d2VlbiBsYXlvdXQgdGVzdHMuCisKKyAgICAgICAgVGVzdDogY29tcG9zaXRpbmcvbGF5ZXIt
Y3JlYXRpb24vZml4ZWQtcG9zaXRpb24tYWJzb2x1dGUtZGVzY2VuZGFudC5odG1sCisKKyAgICAg
ICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50
ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXApOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJu
YWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8pOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJu
YWxTZXR0aW5ncy5oOgorICAgICAgICAoQmFja3VwKToKKwogMjAxMi0xMS0xNiAgU2hlcmlmZiBC
b3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwg
cm9sbGluZyBvdXQgcjEzNDg2Ny4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0
dGluZ3MuY3BwCmluZGV4IDE4NmVlNjYyYmQxYzRiYTAyZWU2NzE4ODRkMjJhM2U5ZmJmNjFjM2Mu
LjczZTNlMDU0MGM2OTAwZjA3MjdhMWY1MWM0ZGZmMmJiMzljYmVhYzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcApAQCAtNzksNiArNzksNyBAQCBJbnRl
cm5hbFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1cChQYWdlKiBwYWdlLCBTZXR0aW5ncyogc2V0dGlu
Z3MpCiAjZW5kaWYKICAgICAsIG1fb3JpZ2luYWxFZGl0aW5nQmVoYXZpb3Ioc2V0dGluZ3MtPmVk
aXRpbmdCZWhhdmlvclR5cGUoKSkKICAgICAsIG1fb3JpZ2luYWxVbmlmaWVkU3BlbGxDaGVja2Vy
RW5hYmxlZChzZXR0aW5ncy0+dW5pZmllZFRleHRDaGVja2VyRW5hYmxlZCgpKQorICAgICwgbV9v
cmlnaW5hbEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZChzZXR0
aW5ncy0+YWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKCkpCiAg
ICAgLCBtX29yaWdpbmFsRml4ZWRQb3NpdGlvbkNyZWF0ZXNTdGFja2luZ0NvbnRleHQoc2V0dGlu
Z3MtPmZpeGVkUG9zaXRpb25DcmVhdGVzU3RhY2tpbmdDb250ZXh0KCkpCiAgICAgLCBtX29yaWdp
bmFsU3luY1hIUkluRG9jdW1lbnRzRW5hYmxlZChzZXR0aW5ncy0+c3luY1hIUkluRG9jdW1lbnRz
RW5hYmxlZCgpKQogICAgICwgbV9vcmlnaW5hbFdpbmRvd0ZvY3VzUmVzdHJpY3RlZChzZXR0aW5n
cy0+d2luZG93Rm9jdXNSZXN0cmljdGVkKCkpCkBAIC0xMjcsNiArMTI4LDcgQEAgdm9pZCBJbnRl
cm5hbFNldHRpbmdzOjpCYWNrdXA6OnJlc3RvcmVUbyhQYWdlKiBwYWdlLCBTZXR0aW5ncyogc2V0
dGluZ3MpCiAjZW5kaWYKICAgICBzZXR0aW5ncy0+c2V0RWRpdGluZ0JlaGF2aW9yVHlwZShtX29y
aWdpbmFsRWRpdGluZ0JlaGF2aW9yKTsKICAgICBzZXR0aW5ncy0+c2V0VW5pZmllZFRleHRDaGVj
a2VyRW5hYmxlZChtX29yaWdpbmFsVW5pZmllZFNwZWxsQ2hlY2tlckVuYWJsZWQpOworICAgIHNl
dHRpbmdzLT5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQo
bV9vcmlnaW5hbEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZCk7
CiAgICAgc2V0dGluZ3MtPnNldEZpeGVkUG9zaXRpb25DcmVhdGVzU3RhY2tpbmdDb250ZXh0KG1f
b3JpZ2luYWxGaXhlZFBvc2l0aW9uQ3JlYXRlc1N0YWNraW5nQ29udGV4dCk7CiAgICAgc2V0dGlu
Z3MtPnNldFN5bmNYSFJJbkRvY3VtZW50c0VuYWJsZWQobV9vcmlnaW5hbFN5bmNYSFJJbkRvY3Vt
ZW50c0VuYWJsZWQpOwogICAgIHNldHRpbmdzLT5zZXRXaW5kb3dGb2N1c1Jlc3RyaWN0ZWQobV9v
cmlnaW5hbFdpbmRvd0ZvY3VzUmVzdHJpY3RlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxTZXR0aW5ncy5oCmluZGV4IDBiZjM1ZmUzN2FhMDgxYjhkZWU5M2YxODY4NDdhMzY1NWMx
NjE0NDMuLjExNDUwOWVjZWE1MGRjNDQyZDIyZGZkNzQyMWE2ZTdkNjkzNDczMTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oCkBAIC02NSw2ICs2NSw3IEBAIHB1
YmxpYzoKICNlbmRpZgogICAgICAgICBFZGl0aW5nQmVoYXZpb3JUeXBlIG1fb3JpZ2luYWxFZGl0
aW5nQmVoYXZpb3I7CiAgICAgICAgIGJvb2wgbV9vcmlnaW5hbFVuaWZpZWRTcGVsbENoZWNrZXJF
bmFibGVkOworICAgICAgICBib29sIG1fb3JpZ2luYWxBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9y
Rml4ZWRQb3NpdGlvbkVuYWJsZWQ7CiAgICAgICAgIGJvb2wgbV9vcmlnaW5hbEZpeGVkUG9zaXRp
b25DcmVhdGVzU3RhY2tpbmdDb250ZXh0OwogICAgICAgICBib29sIG1fb3JpZ2luYWxTeW5jWEhS
SW5Eb2N1bWVudHNFbmFibGVkOwogICAgICAgICBib29sIG1fb3JpZ2luYWxXaW5kb3dGb2N1c1Jl
c3RyaWN0ZWQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggOTAyMGYzN2IyYjY1MDllMGFkMGMzNzJjZDEyMzhjODI2ZjQ5NzFm
OS4uODUzZTUwMDcwNWRiZTQxZDNjN2Q5ZTU1MDhkMzkyZDk5ZDEzNTlkMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE2IEBACisyMDEyLTExLTE2ICBYaWFuemh1IFdhbmcgIDx3YW5neGlhbnpodUBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgTGF5b3V0IHRlc3QgZm9yICJGaXhlZCBwb3NpdGlvbiB2aXNpYmls
aXR5IGNoZWNrIGRvZXMgbm90IGNvbnNpZGVyIGRlc2NlbmRhbnRzIgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTgxNDQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBhIHRlc3QgZm9yIHRoZSBmaXhl
ZCBwb3NpdGlvbiBsYXllciB2aXNpYmlsaXR5IGNoZWNrLgorCisgICAgICAgICogY29tcG9zaXRp
bmcvZ2VvbWV0cnkvZml4ZWQtcG9zaXRpb24tdHJhbnNmb3JtLWNvbXBvc2l0ZWQtcGFnZS1zY2Fs
ZS1kb3duLmh0bWw6IHNldEVuYWJsZUNvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbigpIGJlZm9y
ZSBsb2FkIHRvIGVuc3VyZSBpdCB0YWtlcyBlZmZlY3QuCisgICAgICAgICogY29tcG9zaXRpbmcv
bGF5ZXItY3JlYXRpb24vZml4ZWQtcG9zaXRpb24tYWJzb2x1dGUtZGVzY2VuZGFudC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL2ZpeGVk
LXBvc2l0aW9uLWFic29sdXRlLWRlc2NlbmRhbnQuaHRtbDogQWRkZWQuCisKIDIwMTItMTEtMTYg
IERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hy
b21pdW1dIGFkanVzdGluZyBleHBlY3RhdGlvbnMgZm9yIGNoZWNrZXJib2FyZC5odG1sCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9maXhlZC1wb3NpdGlvbi10
cmFuc2Zvcm0tY29tcG9zaXRlZC1wYWdlLXNjYWxlLWRvd24uaHRtbCBiL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL2dlb21ldHJ5L2ZpeGVkLXBvc2l0aW9uLXRyYW5zZm9ybS1jb21wb3NpdGVkLXBh
Z2Utc2NhbGUtZG93bi5odG1sCmluZGV4IDIxZDYwODI1NzVlNDk0YmI3ZTI1MzcxMmEwYWI3Yjhm
MDU0ODlkZjkuLmVkOTc0MmJlNmNmYzVmNTc5YmVkMTAwYzc0Njk0YTIzNjExZjMxNDkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5L2ZpeGVkLXBvc2l0aW9uLXRy
YW5zZm9ybS1jb21wb3NpdGVkLXBhZ2Utc2NhbGUtZG93bi5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL2dlb21ldHJ5L2ZpeGVkLXBvc2l0aW9uLXRyYW5zZm9ybS1jb21wb3NpdGVk
LXBhZ2Utc2NhbGUtZG93bi5odG1sCkBAIC0xNSwxNyArMTUsMTYgQEAKIH0KIDwvc3R5bGU+CiA8
c2NyaXB0PgotICBmdW5jdGlvbiBzY2FsZSgpIHsKLSAgICBpZiAod2luZG93LmludGVybmFscykg
ewotICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRFbmFibGVDb21wb3NpdGluZ0Zv
ckZpeGVkUG9zaXRpb24odHJ1ZSk7Ci0gICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFBhZ2VTY2FsZUZhY3RvcigwLjUsIDAsIDApOwotICAgIH0KLSAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCi0gICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1ZSk7CisgIGlmICh3aW5kb3cu
aW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRFbmFibGVDb21w
b3NpdGluZ0ZvckZpeGVkUG9zaXRpb24odHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0
aW5ncy5zZXRQYWdlU2NhbGVGYWN0b3IoMC41LCAwLCAwKTsKKyAgfQorICBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1ZSk7CiAgIH0KIDwvc2Ny
aXB0PgogPC9oZWFkPgotPGJvZHkgb25sb2FkPSJzY2FsZSgpOyIgc3R5bGU9IndpZHRoOjIwMDBw
eDtoZWlnaHQ6MjAwMHB4OyI+Cis8Ym9keSBzdHlsZT0id2lkdGg6MjAwMHB4O2hlaWdodDoyMDAw
cHg7Ij4KIDxkaXYgY2xhc3M9ImZpeGVkLW5vLXotaW5kZXgiPlRFU1Q8L2Rpdj48YnI+CiA8ZGl2
IGNsYXNzPSJmaXhlZC13aXRoLXotaW5kZXgiPlRFU1Q8L2Rpdj4KIDwvYm9keT4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL2ZpeGVkLXBvc2l0aW9u
LWFic29sdXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRp
bmcvbGF5ZXItY3JlYXRpb24vZml4ZWQtcG9zaXRpb24tYWJzb2x1dGUtZGVzY2VuZGFudC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTNkZTFlNmVmZTkyYWUyMTYyNGM5NGRkYjA3YTVhNWIyMGY0
Y2YyNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNy
ZWF0aW9uL2ZpeGVkLXBvc2l0aW9uLWFic29sdXRlLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMjAgQEAKKyhHcmFwaGljc0xheWVyCisgIChib3VuZHMgODAwLjAwIDYwMC4wMCkK
KyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDAuMDAg
NjAwLjAwKQorICAgICAgKGNoaWxkcmVuIDIKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAg
ICAgICAocG9zaXRpb24gNTguMDAgNjMuMDApCisgICAgICAgICAgKGJvdW5kcyA1MC4wMCA1MC4w
MCkKKyAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICkKKyAgICAgICAgKEdyYXBo
aWNzTGF5ZXIKKyAgICAgICAgICAocG9zaXRpb24gOC4wMCAxMy4wMCkKKyAgICAgICAgICAoZHJh
d3NDb250ZW50IDEpCisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vZml4ZWQtcG9zaXRp
b24tYWJzb2x1dGUtZGVzY2VuZGFudC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5
ZXItY3JlYXRpb24vZml4ZWQtcG9zaXRpb24tYWJzb2x1dGUtZGVzY2VuZGFudC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmRhM2NjMzYxOWZmMDlkODRkOTgzYWM1NzFmMWVlMDFkZjBhYWFiNTEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9maXhlZC1w
b3NpdGlvbi1hYnNvbHV0ZS1kZXNjZW5kYW50Lmh0bWwKQEAgLTAsMCArMSw1NyBAQAorPCFET0NU
WVBFIGh0bWw+CisKKzxodG1sPgorPGhlYWQ+CisgIDxzdHlsZT4KKyAgICAuZml4ZWQgeworICAg
ICAgcG9zaXRpb246IGZpeGVkOworICAgIH0KKyAgICAuYWJzb2x1dGUgeworICAgICAgcG9zaXRp
b246IGFic29sdXRlOworICAgIH0KKyAgICAuaW4tdmlldyB7CisgICAgICB0b3A6IDUwcHg7Cisg
ICAgICBsZWZ0OiA1MHB4OworICAgIH0KKyAgICAub3V0LW9mLXZpZXcgeworICAgICAgdG9wOiA1
MHB4OworICAgICAgbGVmdDogLTE1MHB4OworICAgIH0KKyAgICAuYm94IHsKKyAgICAgIHdpZHRo
OiA1MHB4OworICAgICAgaGVpZ2h0OiA1MHB4OworICAgICAgYmFja2dyb3VuZDogZ3JlZW47Cisg
ICAgfQorICA8L3N0eWxlPgorCisgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
KworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEVuYWJsZUNvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbih0cnVlKTsKKyAgICAg
IHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0Rml4ZWRQb3NpdGlvbkNyZWF0ZXNTdGFja2lu
Z0NvbnRleHQodHJ1ZSk7CisKKyAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
ZnVuY3Rpb24oKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXllcnRyZWUi
KS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7
CisgICAgICB9LCBmYWxzZSk7CisgICAgfQorICA8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHk+
CisgIDwhLS0gVGhpcyBlbGVtZW50IGdldHMgaXRzIG93biBsYXllciBldmVuIHRob3VnaCBpdHMg
bGF5b3V0IHNpemUgaXMgZW1wdHkKKyAgICAgICBiZWNhdXNlIGl0IGhhcyBhIGRlc2NlbmRhbnQg
dGhhdCBpbnRlcnNlY3RzIHdpdGggdGhlIHZpZXdwb3J0LiAtLT4KKyAgPGRpdiBjbGFzcz0iZml4
ZWQiPgorICAgIDxkaXYgY2xhc3M9ImFic29sdXRlIGluLXZpZXcgYm94Ij48L2Rpdj4KKyAgPC9k
aXY+CisKKyAgPCEtLSBUaGlzIGVsZW1lbnQgZG9lc24ndCBnZXQgYSBsYXllciwgYmVjYXVzZSBu
ZWl0aGVyIGl0IG9yIGFueSBvZiBpdHMKKyAgICAgICBjaGlsZHJlbiBpbnRlcnNlY3Qgd2l0aCB0
aGUgdmlld3BvcnQuIC0tPgorICA8ZGl2IGNsYXNzPSJmaXhlZCI+CisgICAgPGRpdiBjbGFzcz0i
YWJzb2x1dGUgb3V0LW9mLXZpZXcgYm94Ij48L2Rpdj4KKyAgPC9kaXY+CisKKyAgPHByZSBpZD0i
bGF5ZXJ0cmVlIj48L3ByZT4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>