<?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>96863</bug_id>
          
          <creation_ts>2012-09-15 09:23:11 -0700</creation_ts>
          <short_desc>REGRESSION(r124168): Null crash in RenderLayer::createScrollbar</short_desc>
          <delta_ts>2012-09-28 15:42:45 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Abhishek Arya">inferno</reporter>
          <assigned_to name="Julien Chaffraix">jchaffraix</assigned_to>
          <cc>enne</cc>
    
    <cc>eric</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>721447</commentid>
    <comment_count>0</comment_count>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2012-09-15 09:23:11 -0700</bug_when>
    <thetext>Detailed report: https://cluster-fuzz.appspot.com/testcase?key=90515299
http://code.google.com/p/chromium/issues/detail?id=149813
Fuzzer: Bj_doc_fuzzer

Crash Type: UNKNOWN
Crash Address: 0x000000000031
Crash State:
  - crash stack -
  WebCore::RenderLayer::createScrollbar
  WebCore::RenderLayer::setHasHorizontalScrollbar
  WebCore::RenderLayer::updateScrollbarsAfterStyleChange
  
Regressed: https://cluster-fuzz.appspot.com/revisions?range=149138:149142

Minimized Testcase (0.09 Kb):
Download: https://cluster-fuzz.appspot.com/download/AMIfv97GA52fsm5JFjaslhsLLqH4yCIc287Po1v-VilVZ4WcPbajFwvqHvTUMB01SXmdbmEu1AmtBr7uEwFH6zIJtxeePU44CfHt-iFF4HQYe7KxaF9ALsXuyxC-x0JeXbd-m554J7TUyWjNsUh_dpztGT5Fr-nkV8iDZA0gIy4m8SiGviynBBs
&lt;html class=&quot;class3&quot;&gt;
&lt;style&gt;
.class3 {
overflow:scroll;
content:url(data:text/plain,aaa);

AddressSanitizer can not provide additional info. ABORTING
    #0 0x7fbe255cba4e in WebCore::RenderObject::RenderObjectBitfields::isBox() const third_party/WebKit/Source/WebCore/rendering/RenderObject.h:1021
    #1 0x7fbe255cb91d in WebCore::RenderObject::isBox() const third_party/WebKit/Source/WebCore/rendering/RenderObject.h:513
    #2 0x7fbe31c5a851 in WebCore::RenderLayer::createScrollbar(WebCore::ScrollbarOrientation) third_party/WebKit/Source/WebCore/rendering/RenderLayer.cpp:2261
    #3 0x7fbe31c5b613 in WebCore::RenderLayer::setHasHorizontalScrollbar(bool) third_party/WebKit/Source/WebCore/rendering/RenderLayer.cpp:2312
    #4 0x7fbe31c99f13 in WebCore::RenderLayer::updateScrollbarsAfterStyleChange(WebCore::RenderStyle const*) third_party/WebKit/Source/WebCore/rendering/RenderLayer.cpp:4857
    #5 0x7fbe31c9b32e in WebCore::RenderLayer::styleChanged(WebCore::StyleDifference, WebCore::RenderStyle const*) third_party/WebKit/Source/WebCore/rendering/RenderLayer.cpp:4900
    #6 0x7fbe319a3206 in WebCore::RenderBoxModelObject::styleDidChange(WebCore::StyleDifference, WebCore::RenderStyle const*) third_party/WebKit/Source/WebCore/rendering/RenderBoxModelObject.cpp:445
    #7 0x7fbe31902337 in WebCore::RenderBox::styleDidChange(WebCore::StyleDifference, WebCore::RenderStyle const*) third_party/WebKit/Source/WebCore/rendering/RenderBox.cpp:235
    #8 0x7fbe31f1e378 in WebCore::RenderReplaced::styleDidChange(WebCore::StyleDifference, WebCore::RenderStyle const*) third_party/WebKit/Source/WebCore/rendering/RenderReplaced.cpp:74
    #9 0x7fbe31bc979b in WebCore::RenderImage::styleDidChange(WebCore::StyleDifference, WebCore::RenderStyle const*) third_party/WebKit/Source/WebCore/rendering/RenderImage.cpp:135
    #10 0x7fbe31ea2900 in WebCore::RenderObject::setStyle(WTF::PassRefPtr&lt;WebCore::RenderStyle&gt;) third_party/WebKit/Source/WebCore/rendering/RenderObject.cpp:1759
    #11 0x7fbe31e63423 in WebCore::RenderObject::createObject(WebCore::Node*, WebCore::RenderStyle*) third_party/WebKit/Source/WebCore/rendering/RenderObject.cpp:135
    #12 0x7fbe2c3af93a in WebCore::HTMLElement::createRenderer(WebCore::RenderArena*, WebCore::RenderStyle*) third_party/WebKit/Source/WebCore/html/HTMLElement.cpp:783
    #13 0x7fbe2afc800c in WebCore::NodeRendererFactory::createRenderer() third_party/WebKit/Source/WebCore/dom/NodeRenderingContext.cpp:281
    #14 0x7fbe2afc8dba in WebCore::NodeRendererFactory::createRendererIfNeeded() third_party/WebKit/Source/WebCore/dom/NodeRenderingContext.cpp:324
    #15 0x7fbe2af20099 in WebCore::Node::createRendererIfNeeded() third_party/WebKit/Source/WebCore/dom/Node.cpp:1384
    #16 0x7fbe2ad0e331 in WebCore::Element::attach() third_party/WebKit/Source/WebCore/dom/Element.cpp:954
    #17 0x7fbe2a904710 in WebCore::Node::reattach() third_party/WebKit/Source/WebCore/dom/Node.h:868
    #18 0x7fbe2ad11132 in WebCore::Element::recalcStyle(WebCore::Node::StyleChange) third_party/WebKit/Source/WebCore/dom/Element.cpp:1086
    #19 0x7fbe2aa72a2a in WebCore::Document::recalcStyle(WebCore::Node::StyleChange) third_party/WebKit/Source/WebCore/dom/Document.cpp:1848
    #20 0x7fbe2aa64393 in WebCore::Document::styleResolverChanged(WebCore::StyleResolverUpdateFlag) third_party/WebKit/Source/WebCore/dom/Document.cpp:3383
    #21 0x7fbe2aa8ec4c in WebCore::Document::removePendingSheet() third_party/WebKit/Source/WebCore/dom/Document.cpp:3335
    #22 0x7fbe2b14be3d in WebCore::StyleElement::sheetLoaded(WebCore::Document*) third_party/WebKit/Source/WebCore/dom/StyleElement.cpp:201
    #23 0x7fbe2c61f2c2 in WebCore::HTMLStyleElement::sheetLoaded() third_party/WebKit/Source/WebCore/html/HTMLStyleElement.h:70
    #24 0x7fbe2fb583b2 in WebCore::StyleSheetContents::checkLoaded() third_party/WebKit/Source/WebCore/css/StyleSheetContents.cpp:343
    #25 0x7fbe2b14b2ae in WebCore::StyleElement::createSheet(WebCore::Element*, WTF::OrdinalNumber, WTF::String const&amp;) third_party/WebKit/Source/WebCore/dom/StyleElement.cpp:185
    #26 0x7fbe2b148b55 in WebCore::StyleElement::process(WebCore::Element*) third_party/WebKit/Source/WebCore/dom/StyleElement.cpp:138
    #27 0x7fbe2b14a00c in WebCore::StyleElement::finishParsingChildren(WebCore::Element*) third_party/WebKit/Source/WebCore/dom/StyleElement.cpp:109
    #28 0x7fbe2c61b648 in WebCore::HTMLStyleElement::finishParsingChildren() third_party/WebKit/Source/WebCore/html/HTMLStyleElement.cpp:122
    #29 0x7fbe2c9cd847 in WebCore::HTMLElementStack::popCommon() third_party/WebKit/Source/WebCore/html/parser/HTMLElementStack.cpp:578
    #30 0x7fbe2c9ce0b6 in WebCore::HTMLElementStack::pop() third_party/WebKit/Source/WebCore/html/parser/HTMLElementStack.cpp:215
    #31 0x7fbe2ca7b698 in WebCore::HTMLTreeBuilder::processEndOfFile(WebCore::AtomicHTMLToken*) third_party/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:2497
    #32 0x7fbe2ca717f2 in WebCore::HTMLTreeBuilder::processToken(WebCore::AtomicHTMLToken*) third_party/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:515
    #33 0x7fbe2ca6f108 in WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken(WebCore::AtomicHTMLToken*) third_party/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:473
    #34 0x7fbe2ca6ec94 in WebCore::HTMLTreeBuilder::constructTreeFromToken(WebCore::HTMLToken&amp;) third_party/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:458
    #35 0x7fbe2c9ae7a3 in WebCore::HTMLDocumentParser::pumpTokenizer(WebCore::HTMLDocumentParser::SynchronousMode) third_party/WebKit/Source/WebCore/html/parser/HTMLDocumentParser.cpp:270
    #36 0x7fbe2c9ad846 in WebCore::HTMLDocumentParser::pumpTokenizerIfPossible(WebCore::HTMLDocumentParser::SynchronousMode) third_party/WebKit/Source/WebCore/html/parser/HTMLDocumentParser.cpp:174
    #37 0x7fbe2c9ad379 in WebCore::HTMLDocumentParser::prepareToStopParsing() third_party/WebKit/Source/WebCore/html/parser/HTMLDocumentParser.cpp:140
    #38 0x7fbe2c9b0ecf in WebCore::HTMLDocumentParser::attemptToEnd() third_party/WebKit/Source/WebCore/html/parser/HTMLDocumentParser.cpp:394
    #39 0x7fbe2c9b104a in WebCore::HTMLDocumentParser::finish() third_party/WebKit/Source/WebCore/html/parser/HTMLDocumentParser.cpp:421
    #40 0x7fbe308356bd in WebCore::DocumentWriter::end() third_party/WebKit/Source/WebCore/loader/DocumentWriter.cpp:242
    #41 0x7fbe307bc62e in WebCore::DocumentLoader::finishedLoading() third_party/WebKit/Source/WebCore/loader/DocumentLoader.cpp:301
    #42 0x7fbe3094ded3 in WebCore::MainResourceLoader::didFinishLoading(double) third_party/WebKit/Source/WebCore/loader/MainResourceLoader.cpp:521
    #43 0x7fbe309dca58 in WebCore::ResourceLoader::didFinishLoading(WebCore::ResourceHandle*, double) third_party/WebKit/Source/WebCore/loader/ResourceLoader.cpp:437
    #44 0x7fbe2d7d38e9 in WebCore::ResourceHandleInternal::didFinishLoading(WebKit::WebURLLoader*, double) third_party/WebKit/Source/WebCore/platform/network/chromium/ResourceHandle.cpp:157
    #45 0x7fbe43464d2d in webkit_glue::WebURLLoaderImpl::Context::OnCompletedRequest(net::URLRequestStatus const&amp;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, base::TimeTicks const&amp;) webkit/glue/weburlloader_impl.cc:667
    #46 0x7fbe48731d7a in content::ResourceDispatcher::OnRequestComplete(int, net::URLRequestStatus const&amp;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, base::TimeTicks const&amp;) content/common/resource_dispatcher.cc:473
    #47 0x7fbe4873da86 in void DispatchToMethod&lt;content::ResourceDispatcher, void (content::ResourceDispatcher::*)(int, net::URLRequestStatus const&amp;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, base::TimeTicks const&amp;), int, net::URLRequestStatus, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, base::TimeTicks&gt;(content::ResourceDispatcher*, void (content::ResourceDispatcher::*)(int, net::URLRequestStatus const&amp;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, base::TimeTicks const&amp;), Tuple4&lt;int, net::URLRequestStatus, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, base::TimeTicks&gt; const&amp;) ./base/tuple.h:566
    #48 0x7fbe4873ac70 in bool ResourceMsg_RequestComplete::Dispatch&lt;content::ResourceDispatcher, content::ResourceDispatcher, void (content::ResourceDispatcher::*)(int, net::URLRequestStatus const&amp;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, base::TimeTicks const&amp;)&gt;(IPC::Message const*, content::ResourceDispatcher*, content::ResourceDispatcher*, void (content::ResourceDispatcher::*)(int, net::URLRequestStatus const&amp;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, base::TimeTicks const&amp;)) ./content/common/resource_messages.h:172
    #49 0x7fbe4872a2bd in content::ResourceDispatcher::DispatchMessage(IPC::Message const&amp;) content/common/resource_dispatcher.cc:543
    #50 0x7fbe48727681 in content::ResourceDispatcher::OnMessageReceived(IPC::Message const&amp;) content/common/resource_dispatcher.cc:311
    #51 0x7fbe479444be in ChildThread::OnMessageReceived(IPC::Message const&amp;) content/common/child_thread.cc:223
    #52 0x7fbe455db7f3 in IPC::ChannelProxy::Context::OnDispatchMessage(IPC::Message const&amp;) ipc/ipc_channel_proxy.cc:263
    #53 0x7fbe456026b8 in base::internal::RunnableAdapter&lt;void (IPC::ChannelProxy::Context::*)(IPC::Message const&amp;)&gt;::Run(IPC::ChannelProxy::Context*, IPC::Message const&amp;) ./base/bind_internal.h:190
    #54 0x7fbe45602262 in base::internal::InvokeHelper&lt;false, void, base::internal::RunnableAdapter&lt;void (IPC::ChannelProxy::Context::*)(IPC::Message const&amp;)&gt;, void ()(IPC::ChannelProxy::Context* const&amp;, IPC::Message const&amp;)&gt;::MakeItSo(base::internal::RunnableAdapter&lt;void (IPC::ChannelProxy::Context::*)(IPC::Message const&amp;)&gt;, IPC::ChannelProxy::Context* const&amp;, IPC::Message const&amp;) ./base/bind_internal.h:899
    #55 0x7fbe45601d8d in base::internal::Invoker&lt;2, base::internal::BindState&lt;base::internal::RunnableAdapter&lt;void (IPC::ChannelProxy::Context::*)(IPC::Message const&amp;)&gt;, void ()(IPC::ChannelProxy::Context*, IPC::Message const&amp;), void ()(IPC::ChannelProxy::Context*, IPC::Message)&gt;, void ()(IPC::ChannelProxy::Context*, IPC::Message const&amp;)&gt;::Run(base::internal::BindStateBase*) ./base/bind_internal.h:1256
    #56 0x7fbe56c13cf5 in base::Callback&lt;void ()()&gt;::Run() const ./base/callback.h:388
    #57 0x7fbe56e32b4f in MessageLoop::RunTask(base::PendingTask const&amp;) base/message_loop.cc:461
    #58 0x7fbe56e34523 in MessageLoop::DeferOrRunPendingTask(base::PendingTask const&amp;) base/message_loop.cc:475
    #59 0x7fbe56e34d48 in MessageLoop::DoWork() base/message_loop.cc:648
    #60 0x7fbe56e8638e in base::MessagePumpDefault::Run(base::MessagePump::Delegate*) base/message_pump_default.cc:28
    #61 0x7fbe56e3139d in MessageLoop::RunInternal() base/message_loop.cc:420
    #62 0x7fbe56e30eb3 in MessageLoop::RunHandler() base/message_loop.cc:393
    #63 0x7fbe56ff36d4 in base::RunLoop::Run() base/run_loop.cc:46
Stats: 44M malloced (78M for red zones) by 271319 calls
Stats: 1M realloced by 5069 calls
Stats: 34M freed by 196789 calls
Stats: 0M really freed by 0 calls
Stats: 152M (38925 full pages) mmaped in 38 calls
  mmaps   by size class: 8:262128; 9:16382; 10:20475; 11:4094; 12:2048; 13:512; 14:512; 15:128; 16:256; 17:32; 18:16; 20:4;
  mallocs by size class: 8:237153; 9:12051; 10:16534; 11:2671; 12:1828; 13:393; 14:383; 15:64; 16:212; 17:16; 18:13; 20:1;
  frees   by size class: 8:168893; 9:7737; 10:15659; 11:2231; 12:1432; 13:272; 14:342; 15:26; 16:182; 17:6; 18:8; 20:1;
  rfrees  by size class:
Stats: malloc large: 30 small slow: 1012

This null crash is driving one of our fuzzers insane for a long time. Will be awesome to see it go away.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721449</commentid>
    <comment_count>1</comment_count>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2012-09-15 09:25:09 -0700</bug_when>
    <thetext>From regression range, this looks to regress in https://trac.webkit.org/changeset/124168/.

Julien, is this the same null scrollbar crash you were mentioning a few days back.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721518</commentid>
    <comment_count>2</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-09-15 19:04:37 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; From regression range, this looks to regress in https://trac.webkit.org/changeset/124168/.

It&apos;s definitely a regression from this change.

&gt; Julien, is this the same null scrollbar crash you were mentioning a few days back.

Nope, the other crasher was bug 93903. This is another regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727203</commentid>
    <comment_count>3</comment_count>
      <attachid>165499</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-09-24 19:21:38 -0700</bug_when>
    <thetext>Created attachment 165499
Test patch for an early EWS run.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728020</commentid>
    <comment_count>4</comment_count>
      <attachid>165688</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-09-25 15:30:31 -0700</bug_when>
    <thetext>Created attachment 165688
Proposed fix: avoid triggering a style change if we only need a temporary style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729155</commentid>
    <comment_count>5</comment_count>
      <attachid>165688</attachid>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2012-09-26 19:48:18 -0700</bug_when>
    <thetext>Comment on attachment 165688
Proposed fix: avoid triggering a style change if we only need a temporary style.

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

&gt; Source/WebCore/rendering/RenderObject.cpp:135
&gt; +        // RenderImageResource requires a style being present on the image but we don&apos;t want to

typo s/RenderImageResource/RenderImageResourceStyleImage. i actually debugged this to understand what is going on and can see the addClient call invoked through RenderImageResourceStyleImage::initialize. Also please add a comment on why this code with the &quot;if (contentData &amp;&amp; !contentData-&gt;next() &amp;&amp; contentData-&gt;isImage() &amp;&amp; doc != node)&quot; not be moved to RenderImage::styleDidChange ?

&gt; LayoutTests/scrollbars/scrollbar-content-crash.html:12
&gt; +function passed() {

&apos;passed&apos; sounds weird since the test might fail. How about something like runTest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729161</commentid>
    <comment_count>6</comment_count>
      <attachid>165688</attachid>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2012-09-26 20:01:38 -0700</bug_when>
    <thetext>Comment on attachment 165688
Proposed fix: avoid triggering a style change if we only need a temporary style.

Actually I found a more cleaner approach and i think the bug is in RenderImage::imageChanged called by CachedImage::didAddClient. We should just bail out if we don&apos;t have a parent. See similar [http://code.google.com/codesearch#OAMlx_jo-ck/src/third_party/WebKit/Source/WebCore/rendering/RenderBox.cpp&amp;exact_package=chromium&amp;q=RenderBox::imageChanged%20file:webcore&amp;l=989]

So, the fix should be to get rid of setStyle which is in the wrong place here. And bail out on no parent in imageChanged, since it is later called when the real setAnimatableStyle is called.

RenderObject* NodeRendererFactory::createRenderer()
{
    Node* node = m_context.node();
    RenderObject* newRenderer = node-&gt;createRenderer(node-&gt;document()-&gt;renderArena(), m_context.style());
    if (!newRenderer)
.....
    node-&gt;setRenderer(newRenderer);
    newRenderer-&gt;setAnimatableStyle(m_context.releaseStyle());</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729794</commentid>
    <comment_count>7</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-09-27 13:11:12 -0700</bug_when>
    <thetext>&gt; So, the fix should be to get rid of setStyle which is in the wrong place here. And bail out on no parent in imageChanged, since it is later called when the real setAnimatableStyle is called.

It&apos;s OK for most RenderObject to bail out of imageChanged if you don&apos;t have a parent as they only trigger a repaint (which would be a no-op anyway). RenderImage is not among them as it uses the signal to recompute its intrinsic size.
AFAICT there is no guarantee imageChanged will be called asynchronously after you have been inserted into the tree so this approach makes at least 2 tests flaky (fast/css/contentDiv.html and fast/css/contentImage.html).

RenderObjectChildList has a similar code to handle image content and also calls setStyle before calling setImageResource which makes me believe it&apos;s needed. What&apos;s not needed is triggering a style change notification in RenderObject::createObject.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731020</commentid>
    <comment_count>8</comment_count>
      <attachid>166321</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-09-28 15:11:54 -0700</bug_when>
    <thetext>Created attachment 166321
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731029</commentid>
    <comment_count>9</comment_count>
      <attachid>166321</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-28 15:42:42 -0700</bug_when>
    <thetext>Comment on attachment 166321
Patch for landing

Clearing flags on attachment: 166321

Committed r129955: &lt;http://trac.webkit.org/changeset/129955&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731030</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-28 15:42:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165499</attachid>
            <date>2012-09-24 19:21:38 -0700</date>
            <delta_ts>2012-09-25 10:05:39 -0700</delta_ts>
            <desc>Test patch for an early EWS run.</desc>
            <filename>bug-96863-20120924192047.patch</filename>
            <type>text/plain</type>
            <size>6657</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NDMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTJlMGI2ODRjNjUwOWZm
YTIyYWQ0MDYyMzkwMTNhOGEwMjcwMGQ5Mi4uMGNhMjI5OTI0OGFkZTE3ZmQ5MGQwZTIwMTEwMTY5
NjUyN2FiNTg0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTA5LTI0ICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIFJFR1JFU1NJ
T04ocjEyNDE2OCk6IE51bGwgY3Jhc2ggaW4gUmVuZGVyTGF5ZXI6OmNyZWF0ZVNjcm9sbGJhcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY4NjMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZnRlciByMTI0
MTY4LCB3ZSBzeW5jaHJvbm91c2x5IGNyZWF0ZSBhbnkgb3ZlcmZsb3c6c2Nyb2xsIHNjcm9sbGJh
ciBvbiB0aGUgZmlyc3Qgc3R5bGUgY2hhbmdlIC0gd2UgdXNlZCB0byB3YWl0CisgICAgICAgIHVu
dGlsIGxheW91dCB3YXMgY2FsbGVkLiBUaGlzIG1lYW5zIHRoYXQgdGhlIGZpcnN0IHN0eWxlIGNo
YW5nZSBzaG91bGQgb2NjdXIgd2hlbiB0aGUgcmVuZGVyZXIncyBub2RlIGlzIHByb3Blcmx5Cisg
ICAgICAgIGF0dGFjaGVkIChpZSB0aGUgbm9kZSdzIHJlbmRlcmVyIGlzIGZpbGxlZCkuCisgICAg
ICAgIAorICAgICAgICBUaGUgY3Jhc2ggb2NjdXJlZCBiZWNhdXNlIG9uIGNvZGUgcGF0aCBkaWRu
J3QgcHJvcGVybHkgc2V0IHRoZSBub2RlJ3MgcmVuZGVyZXIgaW4gb25lIGNvZGUgcGF0aCAob25s
eSBvbmUgaW1hZ2UgJ2NvbnRlbnQnKS4KKyAgICAgICAgVGhlIGZpeCBpcyB0byBtb3ZlIHRoZSBz
dHlsZSBtYXNzYWdpbmcgdG8gc3R5bGUgY2hhbmdlIGFzIGl0IHNob3VsZCBoYXZlIGJlZW4uCisK
KyAgICAgICAgVGVzdDogc2Nyb2xsYmFycy9zY3JvbGxiYXItY29udGVudC1jcmFzaC5odG1sCisK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVySW1hZ2U6OnN0eWxlRGlkQ2hhbmdlKToKKyAgICAgICAgTW92ZWQgdGhlIGV4dHJhIHN0
eWxlIGNoZWNrcyBoZXJlLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmNyZWF0ZU9iamVjdCk6CisgICAgICAg
IFNpbXBsaWZpZWQgdGhlIGNvZGUgYnkganVzdCByZXR1cm5pbmcgdGhlIG5ldyByZW5kZXJlciwg
d2UgZGlyZWN0bHkgc2V0IHRoZSBzdHlsZSBzbyBpdCBzaG91bGQgYmUgZXF1aXZhbGVudCB0byB0
aGUgb2xkIG9uZS4KKwogMjAxMi0wOS0yNCAgTWFyayBQaWxncmltICA8cGlsZ3JpbUBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXVtNYWNdIFJlbW92ZSBsb2FkRm9udCBmcm9tIFBs
YXRmb3JtU3VwcG9ydApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKaW5k
ZXggNDA0MDI1ZjZlMjdjMWVlN2I0YjQxYzc2YTdjNjQ4MjVhYWIwZjM2Yi4uOGJhNTRlYjk4NDYw
NmMzZDJiZTRiNWNiYThiMWRhNTA3MzdhM2M5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW1hZ2UuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiUmVuZGVySW1hZ2Uu
aCIKIAogI2luY2x1ZGUgIkJpdG1hcEltYWdlLmgiCisjaW5jbHVkZSAiQ29udGVudERhdGEuaCIK
ICNpbmNsdWRlICJGb250LmgiCiAjaW5jbHVkZSAiRm9udENhY2hlLmgiCiAjaW5jbHVkZSAiRnJh
bWUuaCIKQEAgLTQyLDYgKzQzLDcgQEAKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCiAjaW5j
bHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBhaW50SW5mby5oIgorI2luY2x1ZGUgIlJlbmRlcklt
YWdlUmVzb3VyY2VTdHlsZUltYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1
ZGUgIlNWR0ltYWdlLmgiCiAjaW5jbHVkZSA8d3RmL1VudXNlZFBhcmFtLmg+CkBAIC0xNDUsNiAr
MTQ3LDE1IEBAIHZvaWQgUmVuZGVySW1hZ2U6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5j
ZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5CiAgICAgICAgICAgICB8fCBvbGRTdHls
ZS0+aW1hZ2VSZXNvbHV0aW9uU291cmNlKCkgIT0gc3R5bGUoKS0+aW1hZ2VSZXNvbHV0aW9uU291
cmNlKCkpKQogICAgICAgICBpbWFnZURpbWVuc2lvbnNDaGFuZ2VkKHRydWUgLyogaW1hZ2VTaXpl
Q2hhbmdlZCAqLyk7CiAjZW5kaWYKKworICAgIGNvbnN0IENvbnRlbnREYXRhKiBjb250ZW50RGF0
YSA9IHN0eWxlKCktPmNvbnRlbnREYXRhKCk7CisgICAgaWYgKGNvbnRlbnREYXRhICYmICFjb250
ZW50RGF0YS0+bmV4dCgpICYmIGNvbnRlbnREYXRhLT5pc0ltYWdlKCkgJiYgIWlzQW5vbnltb3Vz
KCkpIHsKKyAgICAgICAgaWYgKGNvbnN0IFN0eWxlSW1hZ2UqIHN0eWxlSW1hZ2UgPSBzdGF0aWNf
Y2FzdDxjb25zdCBJbWFnZUNvbnRlbnREYXRhKj4oY29udGVudERhdGEpLT5pbWFnZSgpKSB7Cisg
ICAgICAgICAgICBzZXRJbWFnZVJlc291cmNlKFJlbmRlckltYWdlUmVzb3VyY2VTdHlsZUltYWdl
OjpjcmVhdGUoY29uc3RfY2FzdDxTdHlsZUltYWdlKj4oc3R5bGVJbWFnZSkpKTsKKyAgICAgICAg
ICAgIHNldElzR2VuZXJhdGVkQ29udGVudCgpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAg
IHNldEltYWdlUmVzb3VyY2UoUmVuZGVySW1hZ2VSZXNvdXJjZTo6Y3JlYXRlKCkpOworICAgIH0K
IH0KIAogdm9pZCBSZW5kZXJJbWFnZTo6aW1hZ2VDaGFuZ2VkKFdyYXBwZWRJbWFnZVB0ciBuZXdJ
bWFnZSwgY29uc3QgSW50UmVjdCogcmVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5jcHAKaW5kZXggYzUyM2QyNmI2M2U1NWJmYjE3Y2JhMmI4NzU3MzIyZjg3N2NkMTUx
MC4uMjUyZTQ4ZDhmZDllNWMzNGRiMDU3M2I2OTZmNTc1OGIwMGFjZjVlYyAxMDA3NTUKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTQ5LDcgKzQ5LDYgQEAKICNpbmNs
dWRlICJSZW5kZXJHZW9tZXRyeU1hcC5oIgogI2luY2x1ZGUgIlJlbmRlckdyaWQuaCIKICNpbmNs
dWRlICJSZW5kZXJJbWFnZS5oIgotI2luY2x1ZGUgIlJlbmRlckltYWdlUmVzb3VyY2VTdHlsZUlt
YWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVySW5saW5lLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIu
aCIKICNpbmNsdWRlICJSZW5kZXJMaXN0SXRlbS5oIgpAQCAtMTMwLDE2ICsxMjksOCBAQCBSZW5k
ZXJPYmplY3QqIFJlbmRlck9iamVjdDo6Y3JlYXRlT2JqZWN0KE5vZGUqIG5vZGUsIFJlbmRlclN0
eWxlKiBzdHlsZSkKICAgICAvLyBXb3JrcyBvbmx5IGlmIHdlIGhhdmUgZXhhY3RseSBvbmUgcGll
Y2Ugb2YgY29udGVudCBhbmQgaXQncyBhIFVSTC4KICAgICAvLyBPdGhlcndpc2UgYWN0cyBhcyBp
ZiB3ZSBkaWRuJ3Qgc3VwcG9ydCB0aGlzIGZlYXR1cmUuCiAgICAgY29uc3QgQ29udGVudERhdGEq
IGNvbnRlbnREYXRhID0gc3R5bGUtPmNvbnRlbnREYXRhKCk7Ci0gICAgaWYgKGNvbnRlbnREYXRh
ICYmICFjb250ZW50RGF0YS0+bmV4dCgpICYmIGNvbnRlbnREYXRhLT5pc0ltYWdlKCkgJiYgZG9j
ICE9IG5vZGUpIHsKLSAgICAgICAgUmVuZGVySW1hZ2UqIGltYWdlID0gbmV3IChhcmVuYSkgUmVu
ZGVySW1hZ2Uobm9kZSk7Ci0gICAgICAgIGltYWdlLT5zZXRTdHlsZShzdHlsZSk7Ci0gICAgICAg
IGlmIChjb25zdCBTdHlsZUltYWdlKiBzdHlsZUltYWdlID0gc3RhdGljX2Nhc3Q8Y29uc3QgSW1h
Z2VDb250ZW50RGF0YSo+KGNvbnRlbnREYXRhKS0+aW1hZ2UoKSkgewotICAgICAgICAgICAgaW1h
Z2UtPnNldEltYWdlUmVzb3VyY2UoUmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2U6OmNyZWF0
ZShjb25zdF9jYXN0PFN0eWxlSW1hZ2UqPihzdHlsZUltYWdlKSkpOwotICAgICAgICAgICAgaW1h
Z2UtPnNldElzR2VuZXJhdGVkQ29udGVudCgpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAg
IGltYWdlLT5zZXRJbWFnZVJlc291cmNlKFJlbmRlckltYWdlUmVzb3VyY2U6OmNyZWF0ZSgpKTsK
LSAgICAgICAgcmV0dXJuIGltYWdlOwotICAgIH0KKyAgICBpZiAoY29udGVudERhdGEgJiYgIWNv
bnRlbnREYXRhLT5uZXh0KCkgJiYgY29udGVudERhdGEtPmlzSW1hZ2UoKSAmJiBkb2MgIT0gbm9k
ZSkKKyAgICAgICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlckltYWdlKG5vZGUpOwogCiAgICAg
aWYgKG5vZGUtPmhhc1RhZ05hbWUocnVieVRhZykpIHsKICAgICAgICAgaWYgKHN0eWxlLT5kaXNw
bGF5KCkgPT0gSU5MSU5FKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGE4MTliMDAxNGQ1NTk2NGZiYWM4YjFlNTEwMzkxMTZj
Y2RhMTBiZTkuLjZhMmE2YzQ2OThmOWRhZDFmMzVkN2I4ZTQzYzA3ZTZjYTU1NDk3MDcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMyBAQAorMjAxMi0wOS0yNCAgSnVsaWVuIENoYWZmcmFpeCAgPGpjaGFmZnJh
aXhAd2Via2l0Lm9yZz4KKworICAgICAgICBSRUdSRVNTSU9OKHIxMjQxNjgpOiBOdWxsIGNyYXNo
IGluIFJlbmRlckxheWVyOjpjcmVhdGVTY3JvbGxiYXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2ODYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzY3JvbGxiYXJzL3Njcm9sbGJhci1jb250ZW50LWNy
YXNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc2Nyb2xsYmFycy9zY3JvbGxiYXIt
Y29udGVudC1jcmFzaC5odG1sOiBBZGRlZC4KKwogMjAxMi0wOS0yNCAgRmlsaXAgUGl6bG8gIDxm
cGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIEpTQXJyYXk6OnB1dEJ5SW5kZXggYXNzZXJ0cyB3
aXRoIHJlYWRvbmx5IHByb3BlcnR5IG9uIHByb3RvdHlwZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc2Nyb2xsYmFycy9zY3JvbGxiYXItY29udGVudC1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9zY3JvbGxiYXJzL3Njcm9sbGJhci1jb250ZW50LWNyYXNoLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wNDdkODdlZjNkNjFhYzczYjc2MDU4MzRkNjRlYjhkNjZkYTI0N2ZmCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc2Nyb2xsYmFycy9zY3JvbGxiYXItY29udGVudC1j
cmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitCdWcgOTY4NjM6IFJFR1JFU1NJT04o
cjEyNDE2OCk6IE51bGwgY3Jhc2ggaW4gUmVuZGVyTGF5ZXI6OmNyZWF0ZVNjcm9sbGJhcgorCitU
aGlzIHRlc3QgUEFTU0VEIGlmIGl0IGRpZG4ndCBDUkFTSCBvciBBU1NFUlQuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zY3JvbGxiYXJzL3Njcm9sbGJhci1jb250ZW50LWNyYXNoLmh0bWwgYi9M
YXlvdXRUZXN0cy9zY3JvbGxiYXJzL3Njcm9sbGJhci1jb250ZW50LWNyYXNoLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjQ3YWFmNWJkN2E5OTllMDA0NThkNDYxYmE2MDg2ZDRlNTUyMDJmZQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3Njcm9sbGJhcnMvc2Nyb2xsYmFyLWNvbnRlbnQtY3Jhc2gu
aHRtbApAQCAtMCwwICsxLDE4IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sIGNsYXNzPSJjcmFz
aCI+Cis8c3R5bGU+CisuY3Jhc2ggeworICAgIG92ZXJmbG93OnNjcm9sbDsKKyAgICBjb250ZW50
OiB1cmwoZGF0YTp0ZXh0L3BsYWluLGFhYSk7Cit9Cis8L3N0eWxlPgorPHNjcmlwdD4KK2lmICh3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKK2Z1bmN0aW9u
IHBhc3NlZCgpIHsKKyAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92
ZSgiY3Jhc2giKTsKK30KK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcGFzc2VkLCBm
YWxzZSk7Cis8L3NjcmlwdD4KKzxwPkJ1ZyA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9OTY4NjMiPjk2ODYzPC9hPjogUkVHUkVTU0lPTihyMTI0MTY4KTog
TnVsbCBjcmFzaCBpbiBSZW5kZXJMYXllcjo6Y3JlYXRlU2Nyb2xsYmFyPC9wPgorPHA+VGhpcyB0
ZXN0IFBBU1NFRCBpZiBpdCBkaWRuJ3QgQ1JBU0ggb3IgQVNTRVJULjwvcD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165688</attachid>
            <date>2012-09-25 15:30:31 -0700</date>
            <delta_ts>2012-09-28 15:11:51 -0700</delta_ts>
            <desc>Proposed fix: avoid triggering a style change if we only need a temporary style.</desc>
            <filename>bug-96863-20120925152950.patch</filename>
            <type>text/plain</type>
            <size>4568</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NDA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGM0Zjk1MGZkNmUxZjNh
MWFiNzQ2ZDMzM2I1M2EzNjZlZjBlMTE4Ni4uOTZhZjRmMjg0ZTQ3ZDIwZjliZmM0OWU4NTVlNjZh
MDg3OWI3MmJiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA5LTI1ICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIFJFR1JFU1NJ
T04ocjEyNDE2OCk6IE51bGwgY3Jhc2ggaW4gUmVuZGVyTGF5ZXI6OmNyZWF0ZVNjcm9sbGJhcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY4NjMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZnRlciByMTI0
MTY4LCB3ZSBzeW5jaHJvbm91c2x5IGNyZWF0ZSBhbnkgb3ZlcmZsb3c6c2Nyb2xsIHNjcm9sbGJh
ciBvbiB0aGUgZmlyc3Qgc3R5bGUgY2hhbmdlIC0gd2UgdXNlZCB0byB3YWl0CisgICAgICAgIHVu
dGlsIGxheW91dCB3YXMgY2FsbGVkLiBUaGUgaXNzdWUgaXMgdGhhdCB0aGUgbG9naWMgaW4gUmVu
ZGVyTGF5ZXIgYXNzdW1lcyB0aGF0IG91ciBub2RlIGlzIGNvbXBsZXRlbHkgYXR0YWNoZWQKKyAg
ICAgICAgd2hlbiB0aGUgc3R5bGUgY2hhbmdlIGlzIGRpc3BhdGNoZWQuIFRoZSBjcmFzaCBvY2N1
cmVkIGJlY2F1c2UgdGhlICdjb250ZW50JyBpbWFnZSBjb2RlIHBhdGggaW4KKyAgICAgICAgUmVu
ZGVyT2JqZWN0OjpjcmVhdGVPYmplY3QgdHJpZ2dlcmVkIGEgc3R5bGUgY2hhbmdlIHRvbyBlYXJs
eS4KKworICAgICAgICBUZXN0OiBzY3JvbGxiYXJzL3Njcm9sbGJhci1jb250ZW50LWNyYXNoLmh0
bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyT2JqZWN0OjpjcmVhdGVPYmplY3QpOgorICAgICAgICBXZSBuZWVkIGEgc3R5
bGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBuZXcgUmVuZGVySW1hZ2UgdG8gY2FsbCBzZXRJbWFnZVJl
c291cmNlIGJ1dCB3ZSBkb24ndCBuZWVkIHRvIHRyaWdnZXIgYQorICAgICAgICBzdHlsZSBjaGFu
Z2UuCisKIDIwMTItMDktMjQgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgc3VzcGVuZC9yZXN1bWVXaWRnZXRIaWVyYXJjaHlVcGRhdGVzIHNob3VsZCBiZSBhIFJB
SUkgb2JqZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2Jq
ZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmluZGV4
IDIxNDk3MGEzNThjNjZlYzgyZDgwMWUwYjExOTI4MzkyYzMyYWY3ZTQuLmMzOWViZGY0MWEzMjhl
M2IzMzNmMTcwYjYxYzMzNDUxMTNjY2RjMWMgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuY3BwCkBAIC0xMzIsMTIgKzEzMiwxNSBAQCBSZW5kZXJPYmplY3QqIFJlbmRl
ck9iamVjdDo6Y3JlYXRlT2JqZWN0KE5vZGUqIG5vZGUsIFJlbmRlclN0eWxlKiBzdHlsZSkKICAg
ICBjb25zdCBDb250ZW50RGF0YSogY29udGVudERhdGEgPSBzdHlsZS0+Y29udGVudERhdGEoKTsK
ICAgICBpZiAoY29udGVudERhdGEgJiYgIWNvbnRlbnREYXRhLT5uZXh0KCkgJiYgY29udGVudERh
dGEtPmlzSW1hZ2UoKSAmJiBkb2MgIT0gbm9kZSkgewogICAgICAgICBSZW5kZXJJbWFnZSogaW1h
Z2UgPSBuZXcgKGFyZW5hKSBSZW5kZXJJbWFnZShub2RlKTsKLSAgICAgICAgaW1hZ2UtPnNldFN0
eWxlKHN0eWxlKTsKKyAgICAgICAgLy8gUmVuZGVySW1hZ2VSZXNvdXJjZSByZXF1aXJlcyBhIHN0
eWxlIGJlaW5nIHByZXNlbnQgb24gdGhlIGltYWdlIGJ1dCB3ZSBkb24ndCB3YW50IHRvCisgICAg
ICAgIC8vIHRyaWdnZXIgYSBzdHlsZSBjaGFuZ2Ugbm93IGFzIHRoZSBub2RlIGlzIG5vdCBmdWxs
eSBhdHRhY2hlZC4KKyAgICAgICAgaW1hZ2UtPm1fc3R5bGUgPSBzdHlsZTsKICAgICAgICAgaWYg
KGNvbnN0IFN0eWxlSW1hZ2UqIHN0eWxlSW1hZ2UgPSBzdGF0aWNfY2FzdDxjb25zdCBJbWFnZUNv
bnRlbnREYXRhKj4oY29udGVudERhdGEpLT5pbWFnZSgpKSB7CiAgICAgICAgICAgICBpbWFnZS0+
c2V0SW1hZ2VSZXNvdXJjZShSZW5kZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZTo6Y3JlYXRlKGNv
bnN0X2Nhc3Q8U3R5bGVJbWFnZSo+KHN0eWxlSW1hZ2UpKSk7CiAgICAgICAgICAgICBpbWFnZS0+
c2V0SXNHZW5lcmF0ZWRDb250ZW50KCk7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgaW1h
Z2UtPnNldEltYWdlUmVzb3VyY2UoUmVuZGVySW1hZ2VSZXNvdXJjZTo6Y3JlYXRlKCkpOworICAg
ICAgICBpbWFnZS0+bV9zdHlsZSA9IDA7CiAgICAgICAgIHJldHVybiBpbWFnZTsKICAgICB9CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwMjYzMWE2MTA0Mjg5MmUzM2MxNGYyMmExYTAwZmE1NzZmNTA5MTRmLi43NDg5YWI5
NTU1MmExMTk0YzBiODcyN2RlZGEyNmFlZmViZThkNTQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTItMDktMjUgIEp1bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUkVHUkVTU0lPTihyMTI0MTY4KTogTnVsbCBjcmFzaCBpbiBSZW5kZXJMYXllcjo6
Y3JlYXRlU2Nyb2xsYmFyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05Njg2MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogc2Nyb2xsYmFycy9zY3JvbGxiYXItY29udGVudC1jcmFzaC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHNjcm9sbGJhcnMvc2Nyb2xsYmFyLWNvbnRlbnQtY3Jhc2guaHRt
bDogQWRkZWQuCisKIDIwMTItMDktMjQgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RA
Z21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMjkzODguCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zY3JvbGxiYXJzL3Njcm9sbGJhci1jb250ZW50LWNyYXNo
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Njcm9sbGJhcnMvc2Nyb2xsYmFyLWNvbnRlbnQt
Y3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA0N2Q4N2VmM2Q2MWFjNzNiNzYwNTgzNGQ2
NGViOGQ2NmRhMjQ3ZmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zY3JvbGxiYXJz
L3Njcm9sbGJhci1jb250ZW50LWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK0J1
ZyA5Njg2MzogUkVHUkVTU0lPTihyMTI0MTY4KTogTnVsbCBjcmFzaCBpbiBSZW5kZXJMYXllcjo6
Y3JlYXRlU2Nyb2xsYmFyCisKK1RoaXMgdGVzdCBQQVNTRUQgaWYgaXQgZGlkbid0IENSQVNIIG9y
IEFTU0VSVC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Njcm9sbGJhcnMvc2Nyb2xsYmFyLWNv
bnRlbnQtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL3Njcm9sbGJhcnMvc2Nyb2xsYmFyLWNvbnRl
bnQtY3Jhc2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNDdhYWY1YmQ3YTk5OWUwMDQ1OGQ0NjFiYTYwODZk
NGU1NTIwMmZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc2Nyb2xsYmFycy9zY3Jv
bGxiYXItY29udGVudC1jcmFzaC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhZG9jdHlwZSBodG1s
PgorPGh0bWwgY2xhc3M9ImNyYXNoIj4KKzxzdHlsZT4KKy5jcmFzaCB7CisgICAgb3ZlcmZsb3c6
c2Nyb2xsOworICAgIGNvbnRlbnQ6IHVybChkYXRhOnRleHQvcGxhaW4sYWFhKTsKK30KKzwvc3R5
bGU+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOworZnVuY3Rpb24gcGFzc2VkKCkgeworICAgIGRvY3VtZW50LmRvY3VtZW50RWxl
bWVudC5jbGFzc0xpc3QucmVtb3ZlKCJjcmFzaCIpOworfQord2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBwYXNzZWQsIGZhbHNlKTsKKzwvc2NyaXB0PgorPHA+QnVnIDxhIGhyZWY9Imh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Njg2MyI+OTY4NjM8L2E+OiBS
RUdSRVNTSU9OKHIxMjQxNjgpOiBOdWxsIGNyYXNoIGluIFJlbmRlckxheWVyOjpjcmVhdGVTY3Jv
bGxiYXI8L3A+Cis8cD5UaGlzIHRlc3QgUEFTU0VEIGlmIGl0IGRpZG4ndCBDUkFTSCBvciBBU1NF
UlQuPC9wPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166321</attachid>
            <date>2012-09-28 15:11:54 -0700</date>
            <delta_ts>2012-09-28 15:42:42 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-96863-20120928151111.patch</filename>
            <type>text/plain</type>
            <size>4733</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5OTUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWIyOGE1YTkyNDc1OTU5
YWVkZWU4NThlZDA2NzE3NzcxM2EyNzlmNy4uNTE1NWI5NzY4MzlkNDVhZjY5Mzk2NTk4MGU3MWM2
ZmM3ZDI0OWJjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA5LTI4ICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIFJFR1JFU1NJ
T04ocjEyNDE2OCk6IE51bGwgY3Jhc2ggaW4gUmVuZGVyTGF5ZXI6OmNyZWF0ZVNjcm9sbGJhcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY4NjMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBBYmhpc2hlayBBcnlhLgorCisgICAgICAgIEFmdGVyIHIxMjQx
NjgsIHdlIHN5bmNocm9ub3VzbHkgY3JlYXRlIGFueSBvdmVyZmxvdzpzY3JvbGwgc2Nyb2xsYmFy
IG9uIHRoZSBmaXJzdCBzdHlsZSBjaGFuZ2UgLSB3ZSB1c2VkIHRvIHdhaXQKKyAgICAgICAgdW50
aWwgbGF5b3V0IHdhcyBjYWxsZWQuIFRoZSBpc3N1ZSBpcyB0aGF0IHRoZSBsb2dpYyBpbiBSZW5k
ZXJMYXllciBhc3N1bWVzIHRoYXQgb3VyIG5vZGUgaXMgY29tcGxldGVseSBhdHRhY2hlZAorICAg
ICAgICB3aGVuIHRoZSBzdHlsZSBjaGFuZ2UgaXMgZGlzcGF0Y2hlZC4gVGhlIGNyYXNoIG9jY3Vy
ZWQgYmVjYXVzZSB0aGUgJ2NvbnRlbnQnIGltYWdlIGNvZGUgcGF0aCBpbgorICAgICAgICBSZW5k
ZXJPYmplY3Q6OmNyZWF0ZU9iamVjdCB0cmlnZ2VyZWQgYSBzdHlsZSBjaGFuZ2UgdG9vIGVhcmx5
LgorCisgICAgICAgIFRlc3Q6IHNjcm9sbGJhcnMvc2Nyb2xsYmFyLWNvbnRlbnQtY3Jhc2guaHRt
bAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJPYmplY3Q6OmNyZWF0ZU9iamVjdCk6CisgICAgICAgIFdlIG5lZWQgYSBzdHls
ZSBhc3NvY2lhdGVkIHdpdGggdGhlIG5ldyBSZW5kZXJJbWFnZSB0byBjYWxsIHNldEltYWdlUmVz
b3VyY2UgYnV0IHdlIGRvbid0IG5lZWQgdG8gdHJpZ2dlciBhCisgICAgICAgIHN0eWxlIGNoYW5n
ZS4KKwogMjAxMi0wOS0yOCAgQmVuIFdhZ25lciAgPGJ1bmdlbWFuQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBDaHJvbWl1bSBzaG91bGQgcmVzcGVjdCAndGV4dC1yZW5kZXJpbmc6Z2VvbWV0cmlj
UHJlY2lzaW9uJyBieSBkaXNhYmxpbmcgaGludGluZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHAKaW5kZXggODc2NTAwYTkxMDQxNDY3OWU3OTI0ZWQ0NWU4N2E0Y2Q5
NTlmNGYwNC4uZmVkNjgzYTk2NzhhNGZmYjRlMGIyMTk5OWE0ZDZhZjk5YjJmYWIzNCAxMDA3NTUK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTEzMiwxMiArMTMyLDE2
IEBAIFJlbmRlck9iamVjdCogUmVuZGVyT2JqZWN0OjpjcmVhdGVPYmplY3QoTm9kZSogbm9kZSwg
UmVuZGVyU3R5bGUqIHN0eWxlKQogICAgIGNvbnN0IENvbnRlbnREYXRhKiBjb250ZW50RGF0YSA9
IHN0eWxlLT5jb250ZW50RGF0YSgpOwogICAgIGlmIChjb250ZW50RGF0YSAmJiAhY29udGVudERh
dGEtPm5leHQoKSAmJiBjb250ZW50RGF0YS0+aXNJbWFnZSgpICYmIGRvYyAhPSBub2RlKSB7CiAg
ICAgICAgIFJlbmRlckltYWdlKiBpbWFnZSA9IG5ldyAoYXJlbmEpIFJlbmRlckltYWdlKG5vZGUp
OwotICAgICAgICBpbWFnZS0+c2V0U3R5bGUoc3R5bGUpOworICAgICAgICAvLyBSZW5kZXJJbWFn
ZVJlc291cmNlU3R5bGVJbWFnZSByZXF1aXJlcyBhIHN0eWxlIGJlaW5nIHByZXNlbnQgb24gdGhl
IGltYWdlIGJ1dCB3ZSBkb24ndCB3YW50IHRvCisgICAgICAgIC8vIHRyaWdnZXIgYSBzdHlsZSBj
aGFuZ2Ugbm93IGFzIHRoZSBub2RlIGlzIG5vdCBmdWxseSBhdHRhY2hlZC4gTW92aW5nIHRoaXMg
Y29kZSB0byBzdHlsZSBjaGFuZ2UKKyAgICAgICAgLy8gZG9lc24ndCBtYWtlIHNlbnNlIGFzIGl0
IHNob3VsZCBiZSBydW4gb25jZSBhdCByZW5kZXJlciBjcmVhdGlvbi4KKyAgICAgICAgaW1hZ2Ut
Pm1fc3R5bGUgPSBzdHlsZTsKICAgICAgICAgaWYgKGNvbnN0IFN0eWxlSW1hZ2UqIHN0eWxlSW1h
Z2UgPSBzdGF0aWNfY2FzdDxjb25zdCBJbWFnZUNvbnRlbnREYXRhKj4oY29udGVudERhdGEpLT5p
bWFnZSgpKSB7CiAgICAgICAgICAgICBpbWFnZS0+c2V0SW1hZ2VSZXNvdXJjZShSZW5kZXJJbWFn
ZVJlc291cmNlU3R5bGVJbWFnZTo6Y3JlYXRlKGNvbnN0X2Nhc3Q8U3R5bGVJbWFnZSo+KHN0eWxl
SW1hZ2UpKSk7CiAgICAgICAgICAgICBpbWFnZS0+c2V0SXNHZW5lcmF0ZWRDb250ZW50KCk7CiAg
ICAgICAgIH0gZWxzZQogICAgICAgICAgICAgaW1hZ2UtPnNldEltYWdlUmVzb3VyY2UoUmVuZGVy
SW1hZ2VSZXNvdXJjZTo6Y3JlYXRlKCkpOworICAgICAgICBpbWFnZS0+bV9zdHlsZSA9IDA7CiAg
ICAgICAgIHJldHVybiBpbWFnZTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhNjc2NjNiYzBjMjgwNTVjMjMy
ZDQwMWY2NzFlMzBlMDJjYmNkMjEwLi4yMWZiZDVmYzlkYmQ2N2Y2NTgzYzg3MDgyNjE4ZDA2YmUx
NmMyMjkyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDktMjggIEp1bGllbiBDaGFmZnJh
aXggIDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMTI0MTY4
KTogTnVsbCBjcmFzaCBpbiBSZW5kZXJMYXllcjo6Y3JlYXRlU2Nyb2xsYmFyCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Njg2MworCisgICAgICAgIFJl
dmlld2VkIGJ5IEFiaGlzaGVrIEFyeWEuCisKKyAgICAgICAgKiBzY3JvbGxiYXJzL3Njcm9sbGJh
ci1jb250ZW50LWNyYXNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc2Nyb2xsYmFy
cy9zY3JvbGxiYXItY29udGVudC1jcmFzaC5odG1sOiBBZGRlZC4KKwogMjAxMi0wOS0yOCAgT2ph
biBWYWZhaSAgPG9qYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIHBlcmYvbmVzdGVkLWNvbWJp
bmVkLXNlbGVjdG9ycy5odG1sIGlzIGZsYWt5IG9uIExpb24gYXMgd2VsbC4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3Njcm9sbGJhcnMvc2Nyb2xsYmFyLWNvbnRlbnQtY3Jhc2gtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvc2Nyb2xsYmFycy9zY3JvbGxiYXItY29udGVudC1jcmFzaC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMDQ3ZDg3ZWYzZDYxYWM3M2I3NjA1ODM0ZDY0ZWI4ZDY2ZGEy
NDdmZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Njcm9sbGJhcnMvc2Nyb2xsYmFy
LWNvbnRlbnQtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorQnVnIDk2ODYzOiBS
RUdSRVNTSU9OKHIxMjQxNjgpOiBOdWxsIGNyYXNoIGluIFJlbmRlckxheWVyOjpjcmVhdGVTY3Jv
bGxiYXIKKworVGhpcyB0ZXN0IFBBU1NFRCBpZiBpdCBkaWRuJ3QgQ1JBU0ggb3IgQVNTRVJULgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc2Nyb2xsYmFycy9zY3JvbGxiYXItY29udGVudC1jcmFz
aC5odG1sIGIvTGF5b3V0VGVzdHMvc2Nyb2xsYmFycy9zY3JvbGxiYXItY29udGVudC1jcmFzaC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmE2NmVkNWI5YjljZjBiMWRlNjY5OWFlZjA1NDIxZGUxOGQ5ZjlmN2EK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zY3JvbGxiYXJzL3Njcm9sbGJhci1jb250
ZW50LWNyYXNoLmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbCBj
bGFzcz0iY3Jhc2giPgorPHN0eWxlPgorLmNyYXNoIHsKKyAgICBvdmVyZmxvdzpzY3JvbGw7Cisg
ICAgY29udGVudDogdXJsKGRhdGE6dGV4dC9wbGFpbixhYWEpOworfQorPC9zdHlsZT4KKzxzY3Jp
cHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CisKK2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNs
YXNzTGlzdC5yZW1vdmUoImNyYXNoIik7Cit9Cit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QsIGZhbHNlKTsKKzwvc2NyaXB0PgorPHA+QnVnIDxhIGhyZWY9Imh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Njg2MyI+OTY4NjM8L2E+OiBSRUdSRVNT
SU9OKHIxMjQxNjgpOiBOdWxsIGNyYXNoIGluIFJlbmRlckxheWVyOjpjcmVhdGVTY3JvbGxiYXI8
L3A+Cis8cD5UaGlzIHRlc3QgUEFTU0VEIGlmIGl0IGRpZG4ndCBDUkFTSCBvciBBU1NFUlQuPC9w
Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>