<?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>53384</bug_id>
          
          <creation_ts>2011-01-29 15:52:54 -0800</creation_ts>
          <short_desc>RenderFullScreen::createFullScreenStyle() leaks</short_desc>
          <delta_ts>2011-03-16 17:49:34 -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>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>abarth</cc>
    
    <cc>aroben</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>jer.noble</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>342160</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-01-29 15:52:54 -0800</bug_when>
    <thetext>Leak bot output, at &lt;http://build.webkit.org/results/SnowLeopard%20Intel%20Leaks/r77071%20(14433)/DumpRenderTree10-leaks.txt&gt;, shows this leak:


Leak: 0x11baec1d0  size=32  zone: DefaultMallocZone_0x105977000	string &apos;&apos;
	Call stack: [thread 0x7fff70b12c20]:
	| 0x2
	| start
	| main
	| dumpRenderTree(int, char const**)
	| runTestingServerLoop()
	| runTest(std::string const&amp;)
	| -[NSRunLoop(NSRunLoop) runMode:beforeDate:]
	| CFRunLoopRunSpecific
	| __CFRunLoopRun
	| __CFRunLoopDoSources0
	| MultiplexerSource::perform()
	| URLConnectionClient::processEvents()
	| URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo&lt;XClientEvent, XClientEventParams&gt;*, long)
	| URLConnectionClient::_clientDidReceiveData(__CFData const*, URLConnectionClient::ClientConnectionEventQueue*)
	| _NSURLConnectionDidReceiveData
	| -[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]
	| WebCore::ResourceLoader::didReceiveData(WebCore::ResourceHandle*, char const*, int, int)
	| WebCore::MainResourceLoader::didReceiveData(char const*, int, long long, bool)
	| WebCore::ResourceLoader::didReceiveData(char const*, int, long long, bool)
	| WebCore::MainResourceLoader::addData(char const*, int, bool)
	| WebCore::DocumentLoader::receivedData(char const*, int)
	| WebCore::DocumentLoader::commitLoad(char const*, int)
	| WebFrameLoaderClient::committedLoad(WebCore::DocumentLoader*, char const*, int)
	| -[WebDataSource(WebInternal) _receivedData:]
	| -[WebHTMLRepresentation receivedData:withDataSource:]
	| -[WebFrame(WebInternal) _commitData:]
	| WebCore::DocumentLoader::commitData(char const*, int)
	| WebCore::DocumentWriter::addData(char const*, int, bool)
	| WebCore::DecodedDataDocumentParser::appendBytes(WebCore::DocumentWriter*, char const*, int, bool)
	| WebCore::HTMLDocumentParser::append(WebCore::SegmentedString const&amp;)
	| WebCore::HTMLDocumentParser::pumpTokenizerIfPossible(WebCore::HTMLDocumentParser::SynchronousMode)
	| WebCore::HTMLDocumentParser::pumpTokenizer(WebCore::HTMLDocumentParser::SynchronousMode)
	| WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder()
	| WebCore::HTMLScriptRunner::execute(WTF::PassRefPtr&lt;WebCore::Element&gt;, WTF::TextPosition&lt;WTF::OneBasedNumber&gt; const&amp;)
	| WebCore::HTMLScriptRunner::runScript(WebCore::Element*, WTF::TextPosition&lt;WTF::OneBasedNumber&gt; const&amp;)
	| WebCore::ScriptElement::executeScript(WebCore::ScriptSourceCode const&amp;)
	| WebCore::ScriptController::executeScript(WebCore::ScriptSourceCode const&amp;, WebCore::ShouldAllowXSS)
	| WebCore::ScriptController::evaluate(WebCore::ScriptSourceCode const&amp;, WebCore::ShouldAllowXSS)
	| WebCore::ScriptController::evaluateInWorld(WebCore::ScriptSourceCode const&amp;, WebCore::DOMWrapperWorld*, WebCore::ShouldAllowXSS)
	| WebCore::JSMainThreadExecState::evaluate(JSC::ExecState*, JSC::ScopeChain&amp;, JSC::SourceCode const&amp;, JSC::JSValue)
	| JSC::evaluate(JSC::ExecState*, JSC::ScopeChain&amp;, JSC::SourceCode const&amp;, JSC::JSValue)
	| JSC::Interpreter::execute(JSC::ProgramExecutable*, JSC::ExecState*, JSC::ScopeChainNode*, JSC::JSObject*)
	| JSC::JITCode::execute(JSC::RegisterFile*, JSC::ExecState*, JSC::JSGlobalData*)
	| 0x56847de001b8
	| WebCore::jsElementPrototypeFunctionWebkitRequestFullScreen(JSC::ExecState*)
	| WebCore::Element::webkitRequestFullScreen(unsigned short)
	| WebCore::Document::webkitRequestFullScreenForElement(WebCore::Element*, unsigned short)
	| WebChromeClient::enterFullScreenForElement(WebCore::Element*)
	| CallUIDelegate(WebView*, objc_selector*, objc_object*, objc_object*)
	| CallDelegate(WebView*, objc_object*, objc_selector*, objc_object*, objc_object*)
	| -[UIDelegate webView:enterFullScreenForElement:listener:]
	| -[WebKitFullScreenListener webkitWillEnterFullScreen]
	| WebCore::Document::webkitWillEnterFullScreenForElement(WebCore::Element*)
	| WebCore::Document::recalcStyle(WebCore::Node::StyleChange)
	| WebCore::Element::recalcStyle(WebCore::Node::StyleChange)
	| WebCore::Element::recalcStyle(WebCore::Node::StyleChange)
	| WebCore::Element::recalcStyle(WebCore::Node::StyleChange)
	| WebCore::Element::recalcStyle(WebCore::Node::StyleChange)
	| WebCore::Element::attach()
	| WebCore::Node::createRendererIfNeeded()
	| WebCore::RenderFullScreen::createFullScreenStyle()
	| WebCore::RenderStyle::createDefaultStyle()
	| WebCore::RenderStyle::RenderStyle(bool)
	| WebCore::DataRef&lt;WebCore::StyleFlexibleBoxData&gt;::init()
	| WebCore::StyleFlexibleBoxData::create()
	| WTF::RefCounted&lt;WebCore::StyleFlexibleBoxData&gt;::operator new(unsigned long)
	| WTF::fastMalloc(unsigned long)
	| malloc
	| malloc_zone_malloc 
Leak: 0x11baec1f0  size=32  zone: DefaultMallocZone_0x105977000	string &apos;&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342162</commentid>
    <comment_count>1</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-01-29 15:55:14 -0800</bug_when>
    <thetext>Here&apos;s another one:


Leak: 0x11bae9ec0  size=336  zone: DefaultMallocZone_0x105977000	
	0x1bac3940 0x00000001 0x00000130 0x00000000 	@9......0.......
	0xdba00aea 0x00000000 0x02c91d70 0x00000001 	........p.......
	0x1baea010 0x00000001 0x00000001 0x00000000 	................
	0x1bae9538 0x00000001 0x00000000 0x00000000 	8...............
	0x00000000 0x00000000 0x00000000 0x00000000 	................
	0x00000000 0x00000000 0x00000000 0x00000000 	................
	0x00000000 0x00000000 0x00000320 0x00000258 	........ ...X...
	0x00000000 0x00000000 0x00000320 0x00000258 	........ ...X...
	...
	Call stack: [thread 0x7fff70b12c20]:
	| 0x2
	| start
	| main
	| dumpRenderTree(int, char const**)
	| runTestingServerLoop()
	| runTest(std::string const&amp;)
	| -[NSRunLoop(NSRunLoop) runMode:beforeDate:]
	| CFRunLoopRunSpecific
	| __CFRunLoopRun
	| __CFRunLoopDoSources0
	| MultiplexerSource::perform()
	| URLConnectionClient::processEvents()
	| URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo&lt;XClientEvent, XClientEventParams&gt;*, long)
	| URLConnectionClient::_clientDidReceiveData(__CFData const*, URLConnectionClient::ClientConnectionEventQueue*)
	| _NSURLConnectionDidReceiveData
	| -[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]
	| WebCore::ResourceLoader::didReceiveData(WebCore::ResourceHandle*, char const*, int, int)
	| WebCore::MainResourceLoader::didReceiveData(char const*, int, long long, bool)
	| WebCore::ResourceLoader::didReceiveData(char const*, int, long long, bool)
	| WebCore::MainResourceLoader::addData(char const*, int, bool)
	| WebCore::DocumentLoader::receivedData(char const*, int)
	| WebCore::DocumentLoader::commitLoad(char const*, int)
	| WebFrameLoaderClient::committedLoad(WebCore::DocumentLoader*, char const*, int)
	| -[WebDataSource(WebInternal) _receivedData:]
	| -[WebHTMLRepresentation receivedData:withDataSource:]
	| -[WebFrame(WebInternal) _commitData:]
	| WebCore::DocumentLoader::commitData(char const*, int)
	| WebCore::DocumentWriter::addData(char const*, int, bool)
	| WebCore::DecodedDataDocumentParser::appendBytes(WebCore::DocumentWriter*, char const*, int, bool)
	| WebCore::HTMLDocumentParser::append(WebCore::SegmentedString const&amp;)
	| WebCore::HTMLDocumentParser::pumpTokenizerIfPossible(WebCore::HTMLDocumentParser::SynchronousMode)
	| WebCore::HTMLDocumentParser::pumpTokenizer(WebCore::HTMLDocumentParser::SynchronousMode)
	| WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder()
	| WebCore::HTMLScriptRunner::execute(WTF::PassRefPtr&lt;WebCore::Element&gt;, WTF::TextPosition&lt;WTF::OneBasedNumber&gt; const&amp;)
	| WebCore::HTMLScriptRunner::runScript(WebCore::Element*, WTF::TextPosition&lt;WTF::OneBasedNumber&gt; const&amp;)
	| WebCore::ScriptElement::executeScript(WebCore::ScriptSourceCode const&amp;)
	| WebCore::ScriptController::executeScript(WebCore::ScriptSourceCode const&amp;, WebCore::ShouldAllowXSS)
	| WebCore::ScriptController::evaluate(WebCore::ScriptSourceCode const&amp;, WebCore::ShouldAllowXSS)
	| WebCore::ScriptController::evaluateInWorld(WebCore::ScriptSourceCode const&amp;, WebCore::DOMWrapperWorld*, WebCore::ShouldAllowXSS)
	| WebCore::JSMainThreadExecState::evaluate(JSC::ExecState*, JSC::ScopeChain&amp;, JSC::SourceCode const&amp;, JSC::JSValue)
	| JSC::evaluate(JSC::ExecState*, JSC::ScopeChain&amp;, JSC::SourceCode const&amp;, JSC::JSValue)
	| JSC::Interpreter::execute(JSC::ProgramExecutable*, JSC::ExecState*, JSC::ScopeChainNode*, JSC::JSObject*)
	| JSC::JITCode::execute(JSC::RegisterFile*, JSC::ExecState*, JSC::JSGlobalData*)
	| 0x56847de001b8
	| WebCore::jsElementPrototypeFunctionWebkitRequestFullScreen(JSC::ExecState*)
	| WebCore::Element::webkitRequestFullScreen(unsigned short)
	| WebCore::Document::webkitRequestFullScreenForElement(WebCore::Element*, unsigned short)
	| WebChromeClient::enterFullScreenForElement(WebCore::Element*)
	| CallUIDelegate(WebView*, objc_selector*, objc_object*, objc_object*)
	| CallDelegate(WebView*, objc_object*, objc_selector*, objc_object*, objc_object*)
	| -[UIDelegate webView:enterFullScreenForElement:listener:]
	| -[WebKitFullScreenListener webkitWillEnterFullScreen]
	| WebCore::Document::webkitWillEnterFullScreenForElement(WebCore::Element*)
	| WebCore::Document::recalcStyle(WebCore::Node::StyleChange)
	| WebCore::Element::recalcStyle(WebCore::Node::StyleChange)
	| WebCore::Element::recalcStyle(WebCore::Node::StyleChange)
	| WebCore::Element::recalcStyle(WebCore::Node::StyleChange)
	| WebCore::Element::recalcStyle(WebCore::Node::StyleChange)
	| WebCore::Element::attach()
	| WebCore::Node::createRendererIfNeeded()
	| WebCore::RenderObject::setStyle(WTF::PassRefPtr&lt;WebCore::RenderStyle&gt;)
	| WebCore::RenderBlock::styleDidChange(WebCore::StyleDifference, WebCore::RenderStyle const*)
	| WebCore::RenderBox::styleDidChange(WebCore::StyleDifference, WebCore::RenderStyle const*)
	| WebCore::RenderBoxModelObject::styleDidChange(WebCore::StyleDifference, WebCore::RenderStyle const*)
	| WebCore::RenderLayer::operator new(unsigned long, WebCore::RenderArena*)
	| WebCore::RenderArena::allocate(unsigned long)
	| malloc
	| malloc_zone_malloc</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342174</commentid>
    <comment_count>2</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-01-29 17:35:55 -0800</bug_when>
    <thetext>Looks like the last line of createFullScreenStyle() should be changed from:

    return fullscreenStyle;

to:

    return fullscreenStyle.release();

As per the &quot;Mixing RefPtr and PassRefPtr&quot; section of http://webkit.org/coding/RefPtr.html.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342181</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-01-29 18:01:18 -0800</bug_when>
    <thetext>*** Bug 53385 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367982</commentid>
    <comment_count>4</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-15 15:20:55 -0700</bug_when>
    <thetext>*** Bug 56419 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367983</commentid>
    <comment_count>5</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-15 15:22:31 -0700</bug_when>
    <thetext>&lt;rdar://problem/9138229&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367984</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-03-15 15:25:34 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Looks like the last line of createFullScreenStyle() should be changed from:
&gt; 
&gt;     return fullscreenStyle;
&gt; 
&gt; to:
&gt; 
&gt;     return fullscreenStyle.release();
&gt; 
&gt; As per the &quot;Mixing RefPtr and PassRefPtr&quot; section of http://webkit.org/coding/RefPtr.html.

That would be a good change to make. But I don&apos;t think it will have any effect on this leak. All it will do is save an unnecessary ref()/deref() pair from occurring.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367988</commentid>
    <comment_count>7</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-15 15:28:14 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #2)
&gt; &gt; Looks like the last line of createFullScreenStyle() should be changed from:
&gt; &gt; 
&gt; &gt;     return fullscreenStyle;
&gt; &gt; 
&gt; &gt; to:
&gt; &gt; 
&gt; &gt;     return fullscreenStyle.release();
&gt; &gt; 
&gt; &gt; As per the &quot;Mixing RefPtr and PassRefPtr&quot; section of http://webkit.org/coding/RefPtr.html.
&gt; 
&gt; That would be a good change to make. But I don&apos;t think it will have any effect on this leak. All it will do is save an unnecessary ref()/deref() pair from occurring.

Okay, I&apos;ll keep investigating then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368246</commentid>
    <comment_count>8</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-16 00:42:38 -0700</bug_when>
    <thetext>Replacing RenderStyle::createDefaultStyle() with RenderStyle::create() drops the number of leaks found while running the Layout/fullscreen tests from 25 -&gt; 12.   I haven&apos;t yet been able to track down exactly what is causing the remaining leaks yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368253</commentid>
    <comment_count>9</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-16 00:53:36 -0700</bug_when>
    <thetext>(continuing)...though that&apos;s probably due to the contents of the leaked object being smaller, due to less initialization being done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368543</commentid>
    <comment_count>10</comment_count>
      <attachid>85975</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-16 14:27:09 -0700</bug_when>
    <thetext>Created attachment 85975
Patch

`run-layout-tests -l fullscreen` now results in 1 total leak found.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368547</commentid>
    <comment_count>11</comment_count>
      <attachid>85975</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-03-16 14:29:35 -0700</bug_when>
    <thetext>Comment on attachment 85975
Patch

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

&gt; Source/WebCore/ChangeLog:15
&gt; +        (WebCore::Document::setFullScreenRenderer): release() the return value.
&gt; +        * rendering/RenderFullScreen.cpp:
&gt; +        (RenderFullScreen::createFullScreenStyle): Destroy the current renderer when a new one is set.

This comments are backward.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368552</commentid>
    <comment_count>12</comment_count>
      <attachid>85975</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-16 14:37:39 -0700</bug_when>
    <thetext>Comment on attachment 85975
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:15
&gt;&gt; +        (RenderFullScreen::createFullScreenStyle): Destroy the current renderer when a new one is set.
&gt; 
&gt; This comments are backward.

::facepalm::  Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368555</commentid>
    <comment_count>13</comment_count>
      <attachid>85980</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-16 14:40:29 -0700</bug_when>
    <thetext>Created attachment 85980
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368570</commentid>
    <comment_count>14</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-16 15:02:10 -0700</bug_when>
    <thetext>The remaining leak is: 


    Call stack: [thread 0x7fff74efa8d0]: 
     0x2 
     start 
     main 
     dumpRenderTree(int, char const**) 
     prepareConsistentTestingEnvironment() 
     setDefaultsToConsistentValuesForTesting() 
     resetDefaultsToConsistentValues() 
     LayoutTestController::setSerializeHTTPLoads(bool) 
     objc_msgSend 
     lookUpMethod 
     prepareForMethodLookup 
     _class_initialize 
     +[WebView initialize] 
     JSC::initializeThreading() 
     pthread_once 
     JSC::initializeThreadingOnce() 
     JSC::JSGlobalData::storeVPtrs() 
     JSC::ExecutableBase::createStructure(JSC::JSValue) 
     JSC::Structure::create(JSC::JSValue, JSC::TypeInfo const&amp;, unsigned int, JSC::ClassInfo const*) 
     WTF::RefCounted&lt;JSC::Structure&gt;::operator new(unsigned long) 
     WTF::fastMalloc(unsigned long) 
     malloc 
     malloc_zone_malloc 

So, unlikely to be related to full screen.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368642</commentid>
    <comment_count>15</comment_count>
      <attachid>85980</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-16 16:49:06 -0700</bug_when>
    <thetext>Comment on attachment 85980
Patch

Clearing flags on attachment: 85980

Committed r81291: &lt;http://trac.webkit.org/changeset/81291&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368643</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-16 16:49:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368689</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-16 17:49:34 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/81291 might have broken Windows 7 Release (Tests)
The following tests are not passing:
fast/events/popup-blocking-timers.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85975</attachid>
            <date>2011-03-16 14:27:09 -0700</date>
            <delta_ts>2011-03-16 14:40:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53384-20110316142707.patch</filename>
            <type>text/plain</type>
            <size>2258</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODExODUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxYTc4OTBjOGNlZThiN2U5
YzM0OWVmZWJlMWFiN2Y2OWQyYjk1YTk1Li41YWEyMTllNGNjMDUzZjY1N2ZmYmI3YWM3MDc1NGEx
MmE2NWM5ODFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDMtMTYgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUmVuZGVyRnVsbFNjcmVlbjo6Y3JlYXRlRnVsbFNjcmVlblN0
eWxlKCkgbGVha3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTUzMzg0CisKKyAgICAgICAgVHdvIHByb2JsZW1zOiBhKSBub3QgY2FsbGluZyByZWxlYXNl
KCkgb24gdGhlIHN0eWxlIHJldHVybmVkIGluIHNldEZ1bGxTY3JlZW5SZW5kZXJlcgorICAgICAg
ICBjYXVzZXMgYW4gdW5uZWNlc3NhcnkgcmVmL2RlcmVmLCBhbmQgYikgdGhlIGZ1bGxzY3JlZW4g
cmVuZGVyZXIgbmVlZHMgdG8gYmUgZGVzdHJveWVkLAorICAgICAgICBub3QganVzdCBkZXRhY2hl
ZCwgd2hlbiBpdCBpcyBubyBsb25nZXIgbmVlZGVkLgorCisgICAgICAgICogZG9tL0RvY3VtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRGdWxsU2NyZWVuUmVuZGVyZXIp
OiByZWxlYXNlKCkgdGhlIHJldHVybiB2YWx1ZS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
RnVsbFNjcmVlbi5jcHA6CisgICAgICAgIChSZW5kZXJGdWxsU2NyZWVuOjpjcmVhdGVGdWxsU2Ny
ZWVuU3R5bGUpOiBEZXN0cm95IHRoZSBjdXJyZW50IHJlbmRlcmVyIHdoZW4gYSBuZXcgb25lIGlz
IHNldC4KKwogMjAxMS0wMy0xNSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBUb255IENoYW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5k
ZXggZmVlMmFmMmVhYjg5YzMyOGY0YmExYjhhN2RmMzFjYzdjMTJhYzcwNy4uZTRiZTlmNDVjYjhm
ZjE5ZjQ1Y2E1YWFjNmU2OWU0ZWU0ZjJlNDJlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBA
IC00OTc5LDYgKzQ5NzksMTEgQEAgdm9pZCBEb2N1bWVudDo6d2Via2l0RGlkRXhpdEZ1bGxTY3Jl
ZW5Gb3JFbGVtZW50KEVsZW1lbnQqKQogICAgIAogdm9pZCBEb2N1bWVudDo6c2V0RnVsbFNjcmVl
blJlbmRlcmVyKFJlbmRlckZ1bGxTY3JlZW4qIHJlbmRlcmVyKQogeworICAgIGlmIChyZW5kZXJl
ciA9PSBtX2Z1bGxTY3JlZW5SZW5kZXJlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1f
ZnVsbFNjcmVlblJlbmRlcmVyKQorICAgICAgICBtX2Z1bGxTY3JlZW5SZW5kZXJlci0+ZGVzdHJv
eSgpOwogICAgIG1fZnVsbFNjcmVlblJlbmRlcmVyID0gcmVuZGVyZXI7CiAgICAgCiAgICAgLy8g
VGhpcyBub3RpZmljYXRpb24gY2FuIGNvbWUgaW4gYWZ0ZXIgdGhlIHBhZ2UgaGFzIGJlZW4gZGVz
dHJveWVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZ1bGxT
Y3JlZW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZ1bGxTY3JlZW4uY3Bw
CmluZGV4IGNjNTNhNmU2Y2E0OWRhY2Q4Y2E5OGZkZDM4ZjUzZGFhMWU5NDBkODQuLmE2ODUwNjQ3
NmY3ZTBhODQwNjdjNTYzZTNhMmViZmU3NGMxZmEzNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGdWxsU2NyZWVuLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRnVsbFNjcmVlbi5jcHAKQEAgLTY0LDcgKzY0LDcgQEAgUGFzc1JlZlB0
cjxSZW5kZXJTdHlsZT4gUmVuZGVyRnVsbFNjcmVlbjo6Y3JlYXRlRnVsbFNjcmVlblN0eWxlKCkK
ICAgICAKICAgICBmdWxsc2NyZWVuU3R5bGUtPnNldEJhY2tncm91bmRDb2xvcihDb2xvcjo6Ymxh
Y2spOwogICAgIAotICAgIHJldHVybiBmdWxsc2NyZWVuU3R5bGU7CisgICAgcmV0dXJuIGZ1bGxz
Y3JlZW5TdHlsZS5yZWxlYXNlKCk7CiB9CiAKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85980</attachid>
            <date>2011-03-16 14:40:29 -0700</date>
            <delta_ts>2011-03-16 16:49:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53384-20110316144028.patch</filename>
            <type>text/plain</type>
            <size>2258</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODExODUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxYTc4OTBjOGNlZThiN2U5
YzM0OWVmZWJlMWFiN2Y2OWQyYjk1YTk1Li5hYTUzMGRiNTJlMGM0NGM4NWI5ZGQ0NWYwOTM1NzAw
MzJhMWRhOGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDMtMTYgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUmVuZGVyRnVsbFNjcmVlbjo6Y3JlYXRlRnVsbFNjcmVlblN0
eWxlKCkgbGVha3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTUzMzg0CisKKyAgICAgICAgVHdvIHByb2JsZW1zOiBhKSBub3QgY2FsbGluZyByZWxlYXNl
KCkgb24gdGhlIHN0eWxlIHJldHVybmVkIGluIHNldEZ1bGxTY3JlZW5SZW5kZXJlcgorICAgICAg
ICBjYXVzZXMgYW4gdW5uZWNlc3NhcnkgcmVmL2RlcmVmLCBhbmQgYikgdGhlIGZ1bGxzY3JlZW4g
cmVuZGVyZXIgbmVlZHMgdG8gYmUgZGVzdHJveWVkLAorICAgICAgICBub3QganVzdCBkZXRhY2hl
ZCwgd2hlbiBpdCBpcyBubyBsb25nZXIgbmVlZGVkLgorCisgICAgICAgICogZG9tL0RvY3VtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRGdWxsU2NyZWVuUmVuZGVyZXIp
OiBEZXN0cm95IHRoZSBjdXJyZW50IHJlbmRlcmVyIHdoZW4gYSBuZXcgb25lIGlzIHNldC4KKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRnVsbFNjcmVlbi5jcHA6CisgICAgICAgIChSZW5kZXJG
dWxsU2NyZWVuOjpjcmVhdGVGdWxsU2NyZWVuU3R5bGUpOiByZWxlYXNlKCkgdGhlIHJldHVybiB2
YWx1ZS4KKwogMjAxMS0wMy0xNSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBUb255IENoYW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5k
ZXggZmVlMmFmMmVhYjg5YzMyOGY0YmExYjhhN2RmMzFjYzdjMTJhYzcwNy4uZTRiZTlmNDVjYjhm
ZjE5ZjQ1Y2E1YWFjNmU2OWU0ZWU0ZjJlNDJlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBA
IC00OTc5LDYgKzQ5NzksMTEgQEAgdm9pZCBEb2N1bWVudDo6d2Via2l0RGlkRXhpdEZ1bGxTY3Jl
ZW5Gb3JFbGVtZW50KEVsZW1lbnQqKQogICAgIAogdm9pZCBEb2N1bWVudDo6c2V0RnVsbFNjcmVl
blJlbmRlcmVyKFJlbmRlckZ1bGxTY3JlZW4qIHJlbmRlcmVyKQogeworICAgIGlmIChyZW5kZXJl
ciA9PSBtX2Z1bGxTY3JlZW5SZW5kZXJlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1f
ZnVsbFNjcmVlblJlbmRlcmVyKQorICAgICAgICBtX2Z1bGxTY3JlZW5SZW5kZXJlci0+ZGVzdHJv
eSgpOwogICAgIG1fZnVsbFNjcmVlblJlbmRlcmVyID0gcmVuZGVyZXI7CiAgICAgCiAgICAgLy8g
VGhpcyBub3RpZmljYXRpb24gY2FuIGNvbWUgaW4gYWZ0ZXIgdGhlIHBhZ2UgaGFzIGJlZW4gZGVz
dHJveWVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZ1bGxT
Y3JlZW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZ1bGxTY3JlZW4uY3Bw
CmluZGV4IGNjNTNhNmU2Y2E0OWRhY2Q4Y2E5OGZkZDM4ZjUzZGFhMWU5NDBkODQuLmE2ODUwNjQ3
NmY3ZTBhODQwNjdjNTYzZTNhMmViZmU3NGMxZmEzNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGdWxsU2NyZWVuLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRnVsbFNjcmVlbi5jcHAKQEAgLTY0LDcgKzY0LDcgQEAgUGFzc1JlZlB0
cjxSZW5kZXJTdHlsZT4gUmVuZGVyRnVsbFNjcmVlbjo6Y3JlYXRlRnVsbFNjcmVlblN0eWxlKCkK
ICAgICAKICAgICBmdWxsc2NyZWVuU3R5bGUtPnNldEJhY2tncm91bmRDb2xvcihDb2xvcjo6Ymxh
Y2spOwogICAgIAotICAgIHJldHVybiBmdWxsc2NyZWVuU3R5bGU7CisgICAgcmV0dXJuIGZ1bGxz
Y3JlZW5TdHlsZS5yZWxlYXNlKCk7CiB9CiAKICNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>