<?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>30989</bug_id>
          
          <creation_ts>2009-11-01 03:04:18 -0800</creation_ts>
          <short_desc>[Gtk, WML] Assert failure in http://wap.google.com/wml</short_desc>
          <delta_ts>2009-12-22 18:04:55 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://wap.google.com/wml</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Nayan">nayankk</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>gyuyoung</cc>
    
    <cc>staikos</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>159618</commentid>
    <comment_count>0</comment_count>
    <who name="Nayan">nayankk</who>
    <bug_when>2009-11-01 03:04:18 -0800</bug_when>
    <thetext>Following assert is seen while browsing http://wap.google.com/wml.

(gdb) n
ASSERTION FAILED: this == frameLoader()-&gt;activeDocumentLoader()
(../../WebCore/loader/DocumentLoader.cpp:393 void WebCore::DocumentLoader::updateLoading())

Program received signal SIGSEGV, Segmentation fault.
0xb6b1b7b3 in WebCore::DocumentLoader::updateLoading (this=0x8372400) at ../../WebCore/loader/DocumentLoader.cpp:393
393	    ASSERT(this == frameLoader()-&gt;activeDocumentLoader());


Build information:
Revision ID : 50380
Port : GTK port

Steps to reproduce:
1. Open GtkLauncher.
2. Fetch http://wap.google.com/wml.

Actual Result : GtkLauncher crashes with assert failure.
Expected Result : GtkLauncher should fetch and render the page properly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159619</commentid>
    <comment_count>1</comment_count>
    <who name="Nayan">nayankk</who>
    <bug_when>2009-11-01 03:20:22 -0800</bug_when>
    <thetext>I did a initial analysis of the issue, and below are my findings.

1. Frameloader creates &apos;DocuementLoader&apos; object when it receives the load request for &apos;http://wap.google.com/wml&apos; page.

Breakpoint 1, DocumentLoader (this=0x8372400, req=@0xbf9d82ec, substituteData=@0xbf9d81e4) at ../../WebCore/loader/DocumentLoader.cpp:151
151	    , m_applicationCacheHost(new ApplicationCacheHost(this))
Current language:  auto; currently c++
(gdb) bt
#0  DocumentLoader (this=0x8372400, req=@0xbf9d82ec, substituteData=@0xbf9d81e4) at ../../WebCore/loader/DocumentLoader.cpp:151
#1  0xb65e4093 in DocumentLoader (this=0x8372400, request=@0xbf9d82ec, substituteData=@0xbf9d81e4) at ../../WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.cpp:42
#2  0xb65f505c in WebKit::DocumentLoader::create (request=@0xbf9d82ec, data=@0xbf9d81e4) at ../../WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.h:48
#3  0xb65f1180 in WebKit::FrameLoaderClient::createDocumentLoader (this=0x8073300, request=@0xbf9d82ec, substituteData=@0xbf9d81e4) at ../../WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:118
#4  0xb6b3b88f in WebCore::FrameLoader::load (this=0x8089c2c, request=@0xbf9d82ec, substituteData=@0xbf9d81e4, lockHistory=false) at ../../WebCore/loader/FrameLoader.cpp:1931
#5  0xb6b3ba16 in WebCore::FrameLoader::load (this=0x8089c2c, request=@0xbf9d82ec, lockHistory=false) at ../../WebCore/loader/FrameLoader.cpp:1921
#6  0xb6602001 in webkit_web_frame_load_uri (frame=0x809e9b0, uri=0x832b678 &quot;http://wap.google.com/wml&quot;) at ../../WebKit/gtk/webkit/webkitwebframe.cpp:514
#7  0xb66111fa in webkit_web_view_load_uri (webView=0x80a1000, uri=0x832b678 &quot;http://wap.google.com/wml&quot;) at ../../WebKit/gtk/webkit/webkitwebview.cpp:2973


2. Loader finishes loading of the network resource and sends it to WML parser for parsing. Since, this WML page contains &apos;Refresh&apos; tag, reload request is sent to FrameLoader. Frameloader now creates one DocumentLoader object.

Breakpoint 1, DocumentLoader (this=0x8424760, req=@0xbf9d86a8, substituteData=@0xbf9d85c4) at ../../WebCore/loader/DocumentLoader.cpp:151
151	    , m_applicationCacheHost(new ApplicationCacheHost(this))
(gdb) bt
#0  DocumentLoader (this=0x8424760, req=@0xbf9d86a8, substituteData=@0xbf9d85c4) at ../../WebCore/loader/DocumentLoader.cpp:151
#1  0xb65e4093 in DocumentLoader (this=0x8424760, request=@0xbf9d86a8, substituteData=@0xbf9d85c4) at ../../WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.cpp:42
#2  0xb65f505c in WebKit::DocumentLoader::create (request=@0xbf9d86a8, data=@0xbf9d85c4) at ../../WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.h:48
#3  0xb65f1180 in WebKit::FrameLoaderClient::createDocumentLoader (this=0x8073300, request=@0xbf9d86a8, substituteData=@0xbf9d85c4) at ../../WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:118
#4  0xb6b3b2a4 in WebCore::FrameLoader::reload (this=0x8089c2c, endToEndReload=false) at ../../WebCore/loader/FrameLoader.cpp:2144
#5  0xb6e47cc5 in WebCore::WMLRefreshElement::executeTask (this=0x83ad0c8) at ../../WebCore/wml/WMLRefreshElement.cpp:70
#6  0xb6e42109 in WebCore::WMLIntrinsicEventHandler::triggerIntrinsicEvent (this=0x83ad118, type=WebCore::WMLIntrinsicEventOnEnterForward) at ../../WebCore/wml/WMLIntrinsicEventHandler.cpp:51
#7  0xb6e39dd4 in WebCore::WMLCardElement::handleIntrinsicEventIfNeeded (this=0x83a54c8) at ../../WebCore/wml/WMLCardElement.cpp:168
#8  0xb6e3b1d6 in WebCore::WMLDocument::finishedParsing (this=0x8405a18) at ../../WebCore/wml/WMLDocument.cpp:83
#9  0xb69a8d61 in WebCore::XMLTokenizer::end (this=0x8385378) at ../../WebCore/dom/XMLTokenizer.cpp:218
#10 0xb69a8d99 in WebCore::XMLTokenizer::finish (this=0x8385378) at ../../WebCore/dom/XMLTokenizer.cpp:226
#11 0xb691de83 in WebCore::Document::finishParsing (this=0x8405a18) at ../../WebCore/dom/Document.cpp:1878
#12 0xb6b3501e in WebCore::FrameLoader::endIfNotLoadingMainResource (this=0x8089c2c) at ../../WebCore/loader/FrameLoader.cpp:949
#13 0xb6b35057 in WebCore::FrameLoader::end (this=0x8089c2c) at ../../WebCore/loader/FrameLoader.cpp:934
#14 0xb6b1bd42 in WebCore::DocumentLoader::finishedLoading (this=0x8372400) at ../../WebCore/loader/DocumentLoader.cpp:330
#15 0xb6b3161a in WebCore::FrameLoader::finishedLoading (this=0x8089c2c) at ../../WebCore/loader/FrameLoader.cpp:2697
#16 0xb6b4a52e in WebCore::MainResourceLoader::didFinishLoading (this=0x8424108) at ../../WebCore/loader/MainResourceLoader.cpp:393
#17 0xb6b536a4 in WebCore::ResourceLoader::didFinishLoading (this=0x8424108) at ../../WebCore/loader/ResourceLoader.cpp:403
#18 0xb6fca74b in finishedCallback (session=0x809a000, msg=0x83bd218, data=0x841de98) at ../../WebCore/platform/network/soup/ResourceHandleSoup.cpp:325
#19 0xb565bb81 in final_finished (req=0x83bd218, user_data=0x8111e90) at soup-session-async.c:381
#20 0xb595a73f in IA__g_cclosure_marshal_VOID__VOID (closure=0x83bb638, return_value=0x0, n_param_values=1, param_values=0x841da50, invocation_hint=0xbf9d8c2c, marshal_data=0xb565bab0) at gmarshal.c:77


3. For some reason, one more DocumentLoader object gets created, in process of executing &apos;Refresh&apos; tag. Not really sure why 2 &apos;DocumentLoader&apos;s gets created here!

Breakpoint 1, DocumentLoader (this=0x8408f58, req=@0xbf9d7d08, substituteData=@0xbf9d7c24) at ../../WebCore/loader/DocumentLoader.cpp:151
151	    , m_applicationCacheHost(new ApplicationCacheHost(this))
(gdb) bt
#0  DocumentLoader (this=0x8408f58, req=@0xbf9d7d08, substituteData=@0xbf9d7c24) at ../../WebCore/loader/DocumentLoader.cpp:151
#1  0xb65e4093 in DocumentLoader (this=0x8408f58, request=@0xbf9d7d08, substituteData=@0xbf9d7c24) at ../../WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.cpp:42
#2  0xb65f505c in WebKit::DocumentLoader::create (request=@0xbf9d7d08, data=@0xbf9d7c24) at ../../WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.h:48
#3  0xb65f1180 in WebKit::FrameLoaderClient::createDocumentLoader (this=0x8073300, request=@0xbf9d7d08, substituteData=@0xbf9d7c24) at ../../WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:118
#4  0xb6b3b2a4 in WebCore::FrameLoader::reload (this=0x8089c2c, endToEndReload=false) at ../../WebCore/loader/FrameLoader.cpp:2144
#5  0xb6e47cc5 in WebCore::WMLRefreshElement::executeTask (this=0x83ad0c8) at ../../WebCore/wml/WMLRefreshElement.cpp:70
#6  0xb6e42109 in WebCore::WMLIntrinsicEventHandler::triggerIntrinsicEvent (this=0x83ad118, type=WebCore::WMLIntrinsicEventOnEnterForward) at ../../WebCore/wml/WMLIntrinsicEventHandler.cpp:51
#7  0xb6e39dd4 in WebCore::WMLCardElement::handleIntrinsicEventIfNeeded (this=0x83a54c8) at ../../WebCore/wml/WMLCardElement.cpp:168
#8  0xb6e3b1d6 in WebCore::WMLDocument::finishedParsing (this=0x8405a18) at ../../WebCore/wml/WMLDocument.cpp:83
#9  0xb69a8d61 in WebCore::XMLTokenizer::end (this=0x8385378) at ../../WebCore/dom/XMLTokenizer.cpp:218
#10 0xb69a8d99 in WebCore::XMLTokenizer::finish (this=0x8385378) at ../../WebCore/dom/XMLTokenizer.cpp:226
#11 0xb691de83 in WebCore::Document::finishParsing (this=0x8405a18) at ../../WebCore/dom/Document.cpp:1878
#12 0xb6b36a8a in WebCore::FrameLoader::stop (this=0x8089c2c) at ../../WebCore/loader/FrameLoader.cpp:573
#13 0xb6b36b26 in WebCore::FrameLoader::receivedMainResourceError (this=0x8089c2c, error=@0xbf9d7fdc, isComplete=true) at ../../WebCore/loader/FrameLoader.cpp:3309
#14 0xb6b4aac2 in WebCore::MainResourceLoader::didCancel (this=0x8424108, error=@0xbf9d7fdc) at ../../WebCore/loader/MainResourceLoader.cpp:101
#15 0xb6b53ea8 in WebCore::ResourceLoader::cancel (this=0x8424108, error=@0xbf9d8020) at ../../WebCore/loader/ResourceLoader.cpp:350
#16 0xb6b53733 in WebCore::ResourceLoader::cancel (this=0x8424108) at ../../WebCore/loader/ResourceLoader.cpp:340
#17 0xb6b1c27a in WebCore::DocumentLoader::stopLoading (this=0x8372400, databasePolicy=WebCore::DatabasePolicyStop) at ../../WebCore/loader/DocumentLoader.cpp:294
#18 0xb6b30d37 in WebCore::FrameLoader::stopAllLoaders (this=0x8089c2c, databasePolicy=WebCore::DatabasePolicyStop) at ../../WebCore/loader/FrameLoader.cpp:2258
#19 0xb6b3ab1c in WebCore::FrameLoader::continueLoadAfterNavigationPolicy (this=0x8089c2c, formState=@0xbf9d8158, shouldContinue=true) at ../../WebCore/loader/FrameLoader.cpp:3447
#20 0xb6b3ace2 in WebCore::FrameLoader::callContinueLoadAfterNavigationPolicy (argument=0x8089c2c, request=@0xbf9d81e8, formState=@0xbf9d8198, shouldContinue=true)
    at ../../WebCore/loader/FrameLoader.cpp:3404
#21 0xb6b4d7cf in WebCore::PolicyCallback::call (this=0xbf9d81e8, shouldContinue=true) at ../../WebCore/loader/PolicyCallback.cpp:101
#22 0xb6b4e36f in WebCore::PolicyChecker::continueAfterNavigationPolicy (this=0x8089c34, policy=WebCore::PolicyUse) at ../../WebCore/loader/PolicyChecker.cpp:160
#23 0xb6606f28 in webkit_web_policy_decision_use (decision=0x842e240) at ../../WebKit/gtk/webkit/webkitwebpolicydecision.cpp:89
#24 0xb65f03f7 in WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction (this=0x8073300, 
    policyFunction=0xb6b4e18e &lt;WebCore::PolicyChecker::continueAfterNavigationPolicy(WebCore::PolicyAction)&gt;, action=@0xbf9d8470, resourceRequest=@0x84249dc)
    at ../../WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:420
#25 0xb6b4e8f1 in WebCore::PolicyChecker::checkNavigationPolicy (this=0x8089c34, request=@0x84249dc, loader=0x8424760, formState=@0xbf9d8568, 
    function=0xb6b3ac90 &lt;WebCore::FrameLoader::callContinueLoadAfterNavigationPolicy(void*, WebCore::ResourceRequest const&amp;, WTF::PassRefPtr&lt;WebCore::FormState&gt;, bool)&gt;, argument=0x8089c2c)
    at ../../WebCore/loader/PolicyChecker.cpp:88
#26 0xb6b3b12e in WebCore::FrameLoader::loadWithDocumentLoader (this=0x8089c2c, loader=0x8424760, type=WebCore::FrameLoadTypeReload, prpFormState=@0xbf9d8698) at ../../WebCore/loader/FrameLoader.cpp:2039
#27 0xb6b3b42d in WebCore::FrameLoader::reload (this=0x8089c2c, endToEndReload=false) at ../../WebCore/loader/FrameLoader.cpp:2157
#28 0xb6e47cc5 in WebCore::WMLRefreshElement::executeTask (this=0x83ad0c8) at ../../WebCore/wml/WMLRefreshElement.cpp:70
#29 0xb6e42109 in WebCore::WMLIntrinsicEventHandler::triggerIntrinsicEvent (this=0x83ad118, type=WebCore::WMLIntrinsicEventOnEnterForward) at ../../WebCore/wml/WMLIntrinsicEventHandler.cpp:51
#30 0xb6e39dd4 in WebCore::WMLCardElement::handleIntrinsicEventIfNeeded (this=0x83a54c8) at ../../WebCore/wml/WMLCardElement.cpp:168
#31 0xb6e3b1d6 in WebCore::WMLDocument::finishedParsing (this=0x8405a18) at ../../WebCore/wml/WMLDocument.cpp:83
#32 0xb69a8d61 in WebCore::XMLTokenizer::end (this=0x8385378) at ../../WebCore/dom/XMLTokenizer.cpp:218
#33 0xb69a8d99 in WebCore::XMLTokenizer::finish (this=0x8385378) at ../../WebCore/dom/XMLTokenizer.cpp:226
#34 0xb691de83 in WebCore::Document::finishParsing (this=0x8405a18) at ../../WebCore/dom/Document.cpp:1878
#35 0xb6b3501e in WebCore::FrameLoader::endIfNotLoadingMainResource (this=0x8089c2c) at ../../WebCore/loader/FrameLoader.cpp:949
#36 0xb6b35057 in WebCore::FrameLoader::end (this=0x8089c2c) at ../../WebCore/loader/FrameLoader.cpp:934
#37 0xb6b1bd42 in WebCore::DocumentLoader::finishedLoading (this=0x8372400) at ../../WebCore/loader/DocumentLoader.cpp:330
#38 0xb6b3161a in WebCore::FrameLoader::finishedLoading (this=0x8089c2c) at ../../WebCore/loader/FrameLoader.cpp:2697
#39 0xb6b4a52e in WebCore::MainResourceLoader::didFinishLoading (this=0x8424108) at ../../WebCore/loader/MainResourceLoader.cpp:393
#40 0xb6b536a4 in WebCore::ResourceLoader::didFinishLoading (this=0x8424108) at ../../WebCore/loader/ResourceLoader.cpp:403
#41 0xb6fca74b in finishedCallback (session=0x809a000, msg=0x83bd218, data=0x841de98) at ../../WebCore/platform/network/soup/ResourceHandleSoup.cpp:325
#42 0xb565bb81 in final_finished (req=0x83bd218, user_data=0x8111e90) at soup-session-async.c:381
#43 0xb595a73f in IA__g_cclosure_marshal_VOID__VOID (closure=0x83bb638, return_value=0x0, n_param_values=1, param_values=0x841da50, invocation_hint=0xbf9d8c2c, marshal_data=0xb565b


4. And then &apos;updateLoading&apos; gets called.

Breakpoint 3, WebCore::DocumentLoader::updateLoading (this=0x8372400) at ../../WebCore/loader/DocumentLoader.cpp:389
389	    if (!m_frame) {
(gdb) bt
#0  WebCore::DocumentLoader::updateLoading (this=0x8372400) at ../../WebCore/loader/DocumentLoader.cpp:389
#1  0xb6b1b94f in WebCore::DocumentLoader::removeSubresourceLoader (this=0x8372400, loader=0x8373428) at ../../WebCore/loader/DocumentLoader.cpp:743
#2  0xb6b56208 in WebCore::SubresourceLoader::didCancel (this=0x8373428, error=@0xbf9d7f4c) at ../../WebCore/loader/SubresourceLoader.cpp:233
#3  0xb6b53ea8 in WebCore::ResourceLoader::cancel (this=0x8373428, error=@0xbf9d7f90) at ../../WebCore/loader/ResourceLoader.cpp:350
#4  0xb6b53733 in WebCore::ResourceLoader::cancel (this=0x8373428) at ../../WebCore/loader/ResourceLoader.cpp:340
#5  0xb6b1bdfa in cancelAll (loaders=@0x8372414) at ../../WebCore/loader/DocumentLoader.cpp:123
#6  0xb6b1be66 in WebCore::DocumentLoader::stopLoadingSubresources (this=0x8372400) at ../../WebCore/loader/DocumentLoader.cpp:731
#7  0xb6b1c325 in WebCore::DocumentLoader::stopLoading (this=0x8372400, databasePolicy=WebCore::DatabasePolicyStop) at ../../WebCore/loader/DocumentLoader.cpp:304
#8  0xb6b30d37 in WebCore::FrameLoader::stopAllLoaders (this=0x8089c2c, databasePolicy=WebCore::DatabasePolicyStop) at ../../WebCore/loader/FrameLoader.cpp:2258
#9  0xb6b3ab1c in WebCore::FrameLoader::continueLoadAfterNavigationPolicy (this=0x8089c2c, formState=@0xbf9d8158, shouldContinue=true) at ../../WebCore/loader/FrameLoader.cpp:3447
#10 0xb6b3ace2 in WebCore::FrameLoader::callContinueLoadAfterNavigationPolicy (argument=0x8089c2c, request=@0xbf9d81e8, formState=@0xbf9d8198, shouldContinue=true)
    at ../../WebCore/loader/FrameLoader.cpp:3404
#11 0xb6b4d7cf in WebCore::PolicyCallback::call (this=0xbf9d81e8, shouldContinue=true) at ../../WebCore/loader/PolicyCallback.cpp:101
#12 0xb6b4e36f in WebCore::PolicyChecker::continueAfterNavigationPolicy (this=0x8089c34, policy=WebCore::PolicyUse) at ../../WebCore/loader/PolicyChecker.cpp:160
#13 0xb6606f28 in webkit_web_policy_decision_use (decision=0x842e240) at ../../WebKit/gtk/webkit/webkitwebpolicydecision.cpp:89
#14 0xb65f03f7 in WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction (this=0x8073300, 
    policyFunction=0xb6b4e18e &lt;WebCore::PolicyChecker::continueAfterNavigationPolicy(WebCore::PolicyAction)&gt;, action=@0xbf9d8470, resourceRequest=@0x84249dc)
    at ../../WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:420
#15 0xb6b4e8f1 in WebCore::PolicyChecker::checkNavigationPolicy (this=0x8089c34, request=@0x84249dc, loader=0x8424760, formState=@0xbf9d8568, 
    function=0xb6b3ac90 &lt;WebCore::FrameLoader::callContinueLoadAfterNavigationPolicy(void*, WebCore::ResourceRequest const&amp;, WTF::PassRefPtr&lt;WebCore::FormState&gt;, bool)&gt;, argument=0x8089c2c)
    at ../../WebCore/loader/PolicyChecker.cpp:88
#16 0xb6b3b12e in WebCore::FrameLoader::loadWithDocumentLoader (this=0x8089c2c, loader=0x8424760, type=WebCore::FrameLoadTypeReload, prpFormState=@0xbf9d8698) at ../../WebCore/loader/FrameLoader.cpp:2039
#17 0xb6b3b42d in WebCore::FrameLoader::reload (this=0x8089c2c, endToEndReload=false) at ../../WebCore/loader/FrameLoader.cpp:2157
#18 0xb6e47cc5 in WebCore::WMLRefreshElement::executeTask (this=0x83ad0c8) at ../../WebCore/wml/WMLRefreshElement.cpp:70
#19 0xb6e42109 in WebCore::WMLIntrinsicEventHandler::triggerIntrinsicEvent (this=0x83ad118, type=WebCore::WMLIntrinsicEventOnEnterForward) at ../../WebCore/wml/WMLIntrinsicEventHandler.cpp:51
#20 0xb6e39dd4 in WebCore::WMLCardElement::handleIntrinsicEventIfNeeded (this=0x83a54c8) at ../../WebCore/wml/WMLCardElement.cpp:168
#21 0xb6e3b1d6 in WebCore::WMLDocument::finishedParsing (this=0x8405a18) at ../../WebCore/wml/WMLDocument.cpp:83
#22 0xb69a8d61 in WebCore::XMLTokenizer::end (this=0x8385378) at ../../WebCore/dom/XMLTokenizer.cpp:218
#23 0xb69a8d99 in WebCore::XMLTokenizer::finish (this=0x8385378) at ../../WebCore/dom/XMLTokenizer.cpp:226
#24 0xb691de83 in WebCore::Document::finishParsing (this=0x8405a18) at ../../WebCore/dom/Document.cpp:1878
#25 0xb6b3501e in WebCore::FrameLoader::endIfNotLoadingMainResource (this=0x8089c2c) at ../../WebCore/loader/FrameLoader.cpp:949
#26 0xb6b35057 in WebCore::FrameLoader::end (this=0x8089c2c) at ../../WebCore/loader/FrameLoader.cpp:934
#27 0xb6b1bd42 in WebCore::DocumentLoader::finishedLoading (this=0x8372400) at ../../WebCore/loader/DocumentLoader.cpp:330
#28 0xb6b3161a in WebCore::FrameLoader::finishedLoading (this=0x8089c2c) at ../../WebCore/loader/FrameLoader.cpp:2697
#29 0xb6b4a52e in WebCore::MainResourceLoader::didFinishLoading (this=0x8424108) at ../../WebCore/loader/MainResourceLoader.cpp:393
#30 0xb6b536a4 in WebCore::ResourceLoader::didFinishLoading (this=0x8424108) at ../../WebCore/loader/ResourceLoader.cpp:403
#31 0xb6fca74b in finishedCallback (session=0x809a000, msg=0x83bd218, data=0x841de98) at ../../WebCore/platform/network/soup/ResourceHandleSoup.cpp:325
#32 0xb565bb81 in final_finished (req=0x83bd218, user_data=0x8111e90) at soup-session-async.c:381


5. Assert in &apos;updateLoading&apos; causes failure.

(gdb) n
393	    ASSERT(this == frameLoader()-&gt;activeDocumentLoader());
(gdb) print frameLoader()-&gt;activeDocumentLoader()
$1 = (class WebCore::DocumentLoader *) 0x8408f58
(gdb) n
ASSERTION FAILED: this == frameLoader()-&gt;activeDocumentLoader()
(../../WebCore/loader/DocumentLoader.cpp:393 void WebCore::DocumentLoader::updateLoading())

Note that, updateLoading gets called for the first DocumentLoader (0x8372400). But, frameLoader()-&gt;activeDocumentLoader returns 3rd DocumentLoader, hence causing the assert fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>164190</commentid>
    <comment_count>2</comment_count>
    <who name="Nayan">nayankk</who>
    <bug_when>2009-11-17 04:14:26 -0800</bug_when>
    <thetext>This assert wasn&apos;t seen in builds older revision 46418. There was a redesign of History handling / page cache / loading in WML pages, got fixed with bug #27707. This fix uncovered an existing issue in Frameloader which was causing this asset.

Root cause of the issue:
When page load completes, WML checks if there are any intrinsic event which needs to be handled (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded). It finds that WML pages contains Refresh tag and starts &apos;Reload&apos; requests Loading process repeats and handleIntrinsicEventIfNeeded again gets called to check if there are any intrinsic event yet to be handled. Ideally, we should have trigger one more &apos;Reload&apos; request, as reload is already done. But, in this case, handleIntrinsicEventIfNeeded used to trigger one more reload request. (Hence creating one more DocumentLoader, as mentioned in point 3 in previous post).

This is because, FrameLoader::continueLoadAfterNavigationPolicy function used to set m_loadType to FrameLoadTypeReload after the call to stopAllLoaders().

....
....
FrameLoadType type = policyChecker()-&gt;loadType();
stopAllLoaders();
...
...
m_loadType = type;
...

Meanwhile, stopAllLoaders() will in-turn call &apos;handleIntrinsicEventIfNeeded&apos;. &apos;handleInstrinsicEventIfNeeded&apos; will trigger the reload request based on load type, which is still FrameLoadTypeStandard. Ideally, we need to set m_loadType variable of FrameLoader class before calling stopAllLoaders().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>164195</commentid>
    <comment_count>3</comment_count>
      <attachid>43353</attachid>
    <who name="Nayan">nayankk</who>
    <bug_when>2009-11-17 04:53:41 -0800</bug_when>
    <thetext>Created attachment 43353
Initial patch 

Initial patch with the possible fix for the issue. Also, raising review request for the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>164196</commentid>
    <comment_count>4</comment_count>
    <who name="Nayan">nayankk</who>
    <bug_when>2009-11-17 05:01:40 -0800</bug_when>
    <thetext>Please note that, I was getting compilation error in wml enabled build. Following changes in patch resolves those errors. Need inputs whether these changes are really needed, and if so, whether they need to integrated as part of a separate bug.

Also, when I run &apos;onenterforward-refresh.html&apos; layout test, it gives me an error message,

FAIL: Timed out waiting for notifyDone to be called

I am sure, this has to do something with the way I created the layout test. Please help me to solve this error, this is my first contribution to WebKit. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>164199</commentid>
    <comment_count>5</comment_count>
    <who name="Nayan">nayankk</who>
    <bug_when>2009-11-17 05:04:05 -0800</bug_when>
    <thetext>Sorry, forgot to mention the files modified to resolve the compilation errors in WML enabled builds. Below are those,

wml/WMLAElement.cpp
wml/WMLInputElement.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>164799</commentid>
    <comment_count>6</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2009-11-18 16:10:30 -0800</bug_when>
    <thetext>Hey Nayan,

I checked your patch, and it looks fine in general, though as I&apos;m not a real expert in FrameLoader I think we should delegate this to reviewers that know more about this. The WML Part of this patch is just fine.
Eric, whom would you suggest to review?

Cheers,
Niko</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>164800</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-11-18 16:11:25 -0800</bug_when>
    <thetext>Adam has been in FrameLoader a lot lately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>164834</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-18 17:19:13 -0800</bug_when>
    <thetext>I&apos;m willing to believe this is ok, but FrameLoader is immensely complicated.  Thanks for the test.  Let&apos;s give folks a couple days to comment in case someone else has more insight.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>164838</commentid>
    <comment_count>9</comment_count>
      <attachid>43353</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-18 17:31:07 -0800</bug_when>
    <thetext>Comment on attachment 43353
Initial patch 

This patch contains tabs.  Please replace them with spaces.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165012</commentid>
    <comment_count>10</comment_count>
      <attachid>43512</attachid>
    <who name="Nayan">nayankk</who>
    <bug_when>2009-11-19 10:10:06 -0800</bug_when>
    <thetext>Created attachment 43512
Patch with comments incorporated.

Thanks Niko, Eric, Adam for your comments.

I have removed all tabs and replaced them with spaces (Culprit being my emacs :)), and attached is the updated patch. Please review and let me know if you have any further comments.

Also, as mentioned in earlier comments, when I run this newly created layout test (onenterforward-refresh.html), I get following error message. Please help me to resolve this error.

FAIL: Timed out waiting for notifyDone to be called</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165021</commentid>
    <comment_count>11</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2009-11-19 10:46:33 -0800</bug_when>
    <thetext>Hi Nayan,

hm, that timeout means, you&apos;re never finishing the test. It just timeouts. I&apos;ll see if I can test the patch later on today - WML layout tests are really tricky, given the fact that WML does NOT support JavaScript, and we&apos;re just &quot;misusing&quot; JavaScript to be able to make dynamic WML testcases. I bet the bug is in there.

Going to comment, once I have a WML build with your patch applied.

Have a nice day,
Niko</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165297</commentid>
    <comment_count>12</comment_count>
    <who name="Nayan">nayankk</who>
    <bug_when>2009-11-20 07:06:57 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; Hi Nayan,
&gt; 
&gt; hm, that timeout means, you&apos;re never finishing the test. It just timeouts. I&apos;ll
&gt; see if I can test the patch later on today - WML layout tests are really
&gt; tricky, given the fact that WML does NOT support JavaScript, and we&apos;re just
&gt; &quot;misusing&quot; JavaScript to be able to make dynamic WML testcases. I bet the bug
&gt; is in there.
&gt; 
&gt; Going to comment, once I have a WML build with your patch applied.
&gt; 
&gt; Have a nice day,
&gt; Niko

Thanks Niko.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165779</commentid>
    <comment_count>13</comment_count>
      <attachid>43512</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2009-11-22 18:20:39 -0800</bug_when>
    <thetext>Comment on attachment 43512
Patch with comments incorporated.

r- for the LayoutTest. I&apos;ve tested your patch and it works fine, though the testcase is flawed.
The purpose of using &quot;createStaticWMLTestCase&quot; is to create a testcase which never leaves the target document (only switching cards is allowed, as the existing onenterforward-* tests demonstrate). You need to dynamically create the WML testcase, otherwhise testing refresh tasks is not possible (due the reloads of the whole document, no one ever calls notifyDone).

The &quot;wml/script-tests/input-format.js&quot; uses a refresh task, and demonstrates how to write tests for it. Can you please look into that to create a valid testcase?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166122</commentid>
    <comment_count>14</comment_count>
      <attachid>43777</attachid>
    <who name="Nayan">nayankk</who>
    <bug_when>2009-11-24 09:39:38 -0800</bug_when>
    <thetext>Created attachment 43777
Dynamically genarated layout test.

Thanks Niko for your hints on correcting the test case. Based on your input, I have created a dynamic WML test case to test this scenario. This new test case is attached with this bug. 

However, with this test case, GtkLauncher is not crashing without the patch for this issue. It means that, there are some flaws still remaining in this test case also. (Note that, crash is still reproducible with the wml page created with &quot;createStaticWMLTestCase&quot;). Please go through the patch and let me know if can figure out what is going wrong.

Thanks.

Regards,
Nayan</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167273</commentid>
    <comment_count>15</comment_count>
    <who name="Nayan">nayankk</who>
    <bug_when>2009-11-30 09:25:05 -0800</bug_when>
    <thetext>Deal All,

I am still unable to figure out reason why my &apos;createDynamicWMLTestCase&apos; doesn&apos;t actually create the expected WML page. Are there any bugs in &apos;createDynamicWMLTestCase&apos;? How to debug it further? Is there a way to dump the output of Javascript interpreter? I assume, Javascript interpreter will covert .js file to either .html or .wml. If we dump the output of javascript interpreter, it may narrow down the problem.

Regards
Nayan</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171203</commentid>
    <comment_count>16</comment_count>
    <who name="Nayan">nayankk</who>
    <bug_when>2009-12-13 06:57:41 -0800</bug_when>
    <thetext>Deal All,

I investigated more on layout test, I feel it is not possible to write the layout test for this use case. Even with the dynamically generated layout test (https://bug-30989-attachments.webkit.org/attachment.cgi?id=43777), GTKLauncher is not crashing. I debugged this layout test with the aid of JavaScript logger tool jslogging (http://www.alistapart.com/articles/jslogging) and found that all element nodes and attributes are set to the expected values.

Also, I debugged this test with gdb. Here, there is only one DocumentLoader getting created. (In case of crashes, 2 DocumentLoaders were created).

Breakpoint 2, DocumentLoader (this=0x8157c00, req=..., substituteData=...)
    at ../../WebCore/loader/DocumentLoader.cpp:151
151	    , m_applicationCacheHost(new ApplicationCacheHost(this))
(gdb) bt
#0  DocumentLoader (this=0x8157c00, req=..., substituteData=...)
    at ../../WebCore/loader/DocumentLoader.cpp:151
#1  0x00e62ffd in DocumentLoader (this=0x8157c00, request=..., substituteData=...)
    at ../../WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.cpp:42
#2  0x00e712e1 in WebKit::DocumentLoader::create (request=..., data=...)
    at ../../WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.h:48
#3  0x00e6be2e in WebKit::FrameLoaderClient::createDocumentLoader (this=0xb6782ab0, request=..., 
    substituteData=...) at ../../WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:118
#4  0x013bdd0c in WebCore::FrameLoader::reload (this=0xb6782ba4, endToEndReload=false)
    at ../../WebCore/loader/FrameLoader.cpp:2175
#5  0x016e5e14 in WebCore::WMLRefreshElement::executeTask (this=0xb672a4f0)
    at ../../WebCore/wml/WMLRefreshElement.cpp:70
#6  0x016e018a in WebCore::WMLIntrinsicEventHandler::triggerIntrinsicEvent (this=0xb672a540, 
    type=WebCore::WMLIntrinsicEventOnEnterForward)
    at ../../WebCore/wml/WMLIntrinsicEventHandler.cpp:51
#7  0x016d7847 in WebCore::WMLCardElement::handleIntrinsicEventIfNeeded (this=0x8158cd8)
    at ../../WebCore/wml/WMLCardElement.cpp:168
#8  0x016d9464 in WebCore::WMLDocument::initialize (this=0x817e008, aboutToFinishParsing=false)
    at ../../WebCore/wml/WMLDocument.cpp:110
#9  0x011b375e in WebCore::Document::initializeWMLPageState (this=0x817e008)
    at ../../WebCore/dom/Document.cpp:4496
#10 0x01947f7c in WebCore::jsDocumentPrototypeFunctionInitializeWMLPageState (exec=0xb51bb0f0, 
    thisValue=..., args=...) at DerivedSources/JSDocument.cpp:2104
---Type &lt;return&gt; to continue, or q &lt;return&gt; to quit---
#11 0x0775416e in ?? ()
#12 0x00f14991 in JSC::JITCode::execute (this=0xb67615f8, registerFile=0xb6727b34, 
    callFrame=0xb51bb048, globalData=0xb6725158, exception=0xbfffeecc)
    at ../../JavaScriptCore/jit/JITCode.h:79
#13 0x00f060dc in JSC::Interpreter::execute (this=0xb6727b28, program=0xb67615e8, 
    callFrame=0xb672dc54, scopeChain=0xb672d688, thisObj=0xb5140000, exception=0xbfffeecc)
    at ../../JavaScriptCore/interpreter/Interpreter.cpp:613
#14 0x00fce433 in JSC::evaluate (exec=0xb672dc54, scopeChain=..., source=..., thisValue=...)
    at ../../JavaScriptCore/runtime/Completion.cpp:60
#15 0x010a12b9 in WebCore::ScriptController::evaluateInWorld (this=0x80ec224, sourceCode=..., 
    world=0xb6727bec) at ../../WebCore/bindings/js/ScriptController.cpp:126
#16 0x010a26af in WebCore::ScriptController::executeScriptInWorld (this=0x80ec224, 
    world=0xb6727bec, script=..., forceUserGesture=false)
    at ../../WebCore/bindings/js/ScriptController.cpp:459
#17 0x0109b9c4 in WebCore::ScheduledAction::execute (this=0x81cb0d8, document=0xb671ff40)
    at ../../WebCore/bindings/js/ScheduledAction.cpp:129
#18 0x0109b5be in WebCore::ScheduledAction::execute (this=0x81cb0d8, context=0xb671ff70)
    at ../../WebCore/bindings/js/ScheduledAction.cpp:77
#19 0x013fc036 in WebCore::DOMTimer::fired (this=0x81cb0f8)
    at ../../WebCore/page/DOMTimer.cpp:149
#20 0x01492c28 in WebCore::ThreadTimers::sharedTimerFiredInternal (this=0x80e0228)
    at ../../WebCore/platform/ThreadTimers.cpp:112
#21 0x01492b6f in WebCore::ThreadTimers::sharedTimerFired ()
---Type &lt;return&gt; to continue, or q &lt;return&gt; to quit---
    at ../../WebCore/platform/ThreadTimers.cpp:90
#22 0x018a0db5 in timeout_cb () at ../../WebCore/platform/gtk/SharedTimerGtk.cpp:48
#23 0x008360f1 in ?? () from /lib/libglib-2.0.so.0
#24 0x00837e78 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#25 0x0083b720 in ?? () from /lib/libglib-2.0.so.0
#26 0x0083bb8f in g_main_loop_run () from /lib/libglib-2.0.so.0
#27 0x003b7419 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#28 0x08049f29 in main (argc=2, argv=0xbffff484) at ../../WebKitTools/GtkLauncher/main.c:209

As it can be seen from the backtrace, WebCore::FrameLoader::reload gets triggered by JSC::JITCode::execute and not from FrameLoader. In back traces where crash was seen (Step 2 in initial posts in this thread), &apos;reload&apos; was getting triggered from FrameLoader/DocumentLoader.

Given this, I propose to commit this change without layout test. Please let me know your consents.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171205</commentid>
    <comment_count>17</comment_count>
      <attachid>44754</attachid>
    <who name="Nayan">nayankk</who>
    <bug_when>2009-12-13 07:13:53 -0800</bug_when>
    <thetext>Created attachment 44754
Patch without layout test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171206</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-13 07:15:09 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44754 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171207</commentid>
    <comment_count>19</comment_count>
      <attachid>44755</attachid>
    <who name="Nayan">nayankk</who>
    <bug_when>2009-12-13 07:20:40 -0800</bug_when>
    <thetext>Created attachment 44755
Sample test case.

Since it is not possible to write layout test, attached is a sample test case which can be used to reproduce the issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171539</commentid>
    <comment_count>20</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-14 13:22:17 -0800</bug_when>
    <thetext>So there is no way to trigger this with non-WML content?  Changing cross-platform frameloader code always makes me a little antsy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171655</commentid>
    <comment_count>21</comment_count>
    <who name="Nayan">nayankk</who>
    <bug_when>2009-12-14 18:48:00 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt; So there is no way to trigger this with non-WML content?  Changing
&gt; cross-platform frameloader code always makes me a little antsy.

No Eric, it is not possible to trigger this crash from non-WML contents. As mentioned in comment #2, redesign of History Handling/Page cache/loading in WML pages uncovered this bug in FrameLoader. Though I cannot test this fix in other platforms, I strongly feel issue should be reproducible in all platforms with WML enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171661</commentid>
    <comment_count>22</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2009-12-14 19:22:29 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; (In reply to comment #20)
&gt; &gt; So there is no way to trigger this with non-WML content?  Changing
&gt; &gt; cross-platform frameloader code always makes me a little antsy.
&gt; 
&gt; No Eric, it is not possible to trigger this crash from non-WML contents. 

Okay.

&gt; As mentioned in comment #2, redesign of History Handling/Page cache/loading in WML
&gt; pages uncovered this bug in FrameLoader. Though I cannot test this fix in other
&gt; platforms, I strongly feel issue should be reproducible in all platforms with
&gt; WML enabled.

Okay.

So you can only reproduce this bug in WML builds but you&apos;re changing everyone&apos;s build.  That&apos;s Eric&apos;s concern, which I share.

(In reply to comment #2)
&gt; This assert wasn&apos;t seen in builds older revision 46418. There was a redesign of
&gt; History handling / page cache / loading in WML pages, got fixed with bug
&gt; #27707. This fix uncovered an existing issue in Frameloader which was causing
&gt; this asset.

More correctly, the fix uncovered an existing issue in WML&apos;s assumptions about FrameLoader.

&gt; ...
&gt; 
&gt; This is because, FrameLoader::continueLoadAfterNavigationPolicy function used
&gt; to set m_loadType to FrameLoadTypeReload after the call to stopAllLoaders().
&gt; 
&gt; ....
&gt; ....
&gt; FrameLoadType type = policyChecker()-&gt;loadType();
&gt; stopAllLoaders();
&gt; ...
&gt; ...
&gt; m_loadType = type;
&gt; ...

In this context, stopAllLoaders() is a call attached to the *PREVIOUS* load.  Which is why we don&apos;t set the new load type before it.

All sorts of interesting things happens from within stopAllLoaders() including unload() and other events being dispatched and related WebKit API calls being sent out to client applications.  Those client applications can then call back in to WebKit where this flag being wrong is... wrong!.

&gt; Meanwhile, stopAllLoaders() will in-turn call &apos;handleIntrinsicEventIfNeeded&apos;.
&gt; &apos;handleInstrinsicEventIfNeeded&apos; will trigger the reload request based on load
&gt; type, which is still FrameLoadTypeStandard. Ideally, we need to set m_loadType
&gt; variable of FrameLoader class before calling stopAllLoaders().

If &quot;handleIntrinsicEventIfNeeded&quot; needs to know about the load type that is ABOUT to occur as opposed to the load type that already occured, you need to find a way to get that information there without changing this behavior for all other ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171662</commentid>
    <comment_count>23</comment_count>
      <attachid>44754</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2009-12-14 19:22:49 -0800</bug_when>
    <thetext>Comment on attachment 44754
Patch without layout test.

r- based on the comments I just made.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173723</commentid>
    <comment_count>24</comment_count>
    <who name="Nayan">nayankk</who>
    <bug_when>2009-12-20 06:27:49 -0800</bug_when>
    <thetext>
Thanks Eidson for your review comments, I completely I agree with your concerns.

&apos;FrameLoader-&gt;policyChecker()-&gt;loadType&apos; holds the information about the load type that is ABOUT to occur as opposed to the load type that already occurred. Hence, instead of checking for &apos;FrameLoader-&gt;loadType&apos;, I will check for &apos;FrameLoader-&gt;policyChecker()-&gt;loadType&apos;. I guess this is the correct way to fix this issue.

(In reply to comment #23)
&gt; (From update of attachment 44754 [details])
&gt; r- based on the comments I just made.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173724</commentid>
    <comment_count>25</comment_count>
      <attachid>45273</attachid>
    <who name="Nayan">nayankk</who>
    <bug_when>2009-12-20 06:30:41 -0800</bug_when>
    <thetext>Created attachment 45273
Revisited fix for assert failure.

&apos;FrameLoader-&gt;policyChecker()-&gt;loadType holds the information about the loadType that is ABOUT to occur. Hence modifying the patch to check for this variable, instead of &apos;FrameLoader-&gt;loadType&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173725</commentid>
    <comment_count>26</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-20 06:33:41 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 45273 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174450</commentid>
    <comment_count>27</comment_count>
      <attachid>45273</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-22 15:53:51 -0800</bug_when>
    <thetext>Comment on attachment 45273
Revisited fix for assert failure.

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174452</commentid>
    <comment_count>28</comment_count>
      <attachid>45273</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-12-22 16:04:18 -0800</bug_when>
    <thetext>Comment on attachment 45273
Revisited fix for assert failure.

Rejecting patch 45273 from commit-queue.

Failed to run &quot;[&apos;WebKitTools/Scripts/run-webkit-tests&apos;, &apos;--no-launch-safari&apos;, &apos;--exit-after-n-failures=1&apos;, &apos;--quiet&apos;]&quot; exit_code: 1
Running build-dumprendertree
Running tests from /Users/eseidel/Projects/CommitQueue/LayoutTests
Testing 11820 test cases.
fast/dom/prototype-inheritance-2.html -&gt; failed

Exiting early after 1 failures. 5595 tests run.
82.50s total testing time

5594 test cases (99%) succeeded
1 test case (&lt;1%) had incorrect layout
1 test case (&lt;1%) had stderr output

Full output: http://webkit-commit-queue.appspot.com/results/143004</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174470</commentid>
    <comment_count>29</comment_count>
      <attachid>45273</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-22 16:33:14 -0800</bug_when>
    <thetext>Comment on attachment 45273
Revisited fix for assert failure.

False rejection due to bug 30098.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174493</commentid>
    <comment_count>30</comment_count>
      <attachid>45273</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-12-22 18:04:41 -0800</bug_when>
    <thetext>Comment on attachment 45273
Revisited fix for assert failure.

Clearing flags on attachment: 45273

Committed r52515: &lt;http://trac.webkit.org/changeset/52515&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174494</commentid>
    <comment_count>31</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-12-22 18:04:55 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43353</attachid>
            <date>2009-11-17 04:53:41 -0800</date>
            <delta_ts>2009-11-19 10:10:06 -0800</delta_ts>
            <desc>Initial patch </desc>
            <filename>Bug_30989.patch</filename>
            <type>text/plain</type>
            <size>6475</size>
            <attacher name="Nayan">nayankk</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MTA3MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMDktMTEtMTcgIE5heWFuIEt1bWFyIEsgIDxuYXlhbmtrQGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAt
IEZpeCBhc3NlcnQgZmFpbHVyZSBpbiBXTUwgcGFnZXMgaGF2aW5nICdSZWZyZXNoJyB0YXNrIGlu
CisJJ29uZW50ZXJmb3J3YXJkJyBldmVudC4KKwktIEZpeCBmb3IgY29tcGlsYXRpb24gZXJyb3Jz
LgorCQorCWh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDk4OQorCisg
ICAgICAgIFRlc3Q6IHdtbC9vbmVudGVyZm9yd2FyZC1yZWZyZXNoLmh0bWwKKworICAgICAgICAq
IGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6
Y29udGludWVMb2FkQWZ0ZXJOYXZpZ2F0aW9uUG9saWN5KToKKyAgICAgICAgKiB3bWwvV01MQUVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V01MQUVsZW1lbnQ6OmRlZmF1bHRFdmVudEhh
bmRsZXIpOgorICAgICAgICAqIHdtbC9XTUxJbnB1dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6V01MSW5wdXRFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKToKKwogMjAwOS0xMS0x
NyAgQW5kcmVpIFBvcGVzY3UgIDxhbmRyZWlwQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgRGltaXRyaSBHbGF6a292LgpJbmRleDogV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAkocmV2aXNp
b24gNTEwNzApCisrKyBXZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM0NDYsNiArMzQ0Niw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmNvbnRpbnVlTG9hZEFm
dGVyTmF2aWcKICAgICB9CiAKICAgICBGcmFtZUxvYWRUeXBlIHR5cGUgPSBwb2xpY3lDaGVja2Vy
KCktPmxvYWRUeXBlKCk7CisgICAgbV9sb2FkVHlwZSA9IHR5cGU7CiAgICAgc3RvcEFsbExvYWRl
cnMoKTsKICAgICAKICAgICAvLyA8cmRhcjovL3Byb2JsZW0vNjI1MDg1Nj4gLSBJbiBjZXJ0YWlu
IGNpcmN1bXN0YW5jZXMgb24gcGFnZXMgd2l0aCBtdWx0aXBsZSBmcmFtZXMsIHN0b3BBbGxMb2Fk
ZXJzKCkKQEAgLTM0NjEsNyArMzQ2Miw2IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmNvbnRpbnVlTG9h
ZEFmdGVyTmF2aWcKICNlbmRpZgogCiAgICAgc2V0UHJvdmlzaW9uYWxEb2N1bWVudExvYWRlciht
X3BvbGljeURvY3VtZW50TG9hZGVyLmdldCgpKTsKLSAgICBtX2xvYWRUeXBlID0gdHlwZTsKICAg
ICBzZXRTdGF0ZShGcmFtZVN0YXRlUHJvdmlzaW9uYWwpOwogCiAgICAgc2V0UG9saWN5RG9jdW1l
bnRMb2FkZXIoMCk7CkluZGV4OiBXZWJDb3JlL3dtbC9XTUxBRWxlbWVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS93bWwvV01MQUVsZW1lbnQuY3BwCShyZXZpc2lvbiA1MTA3MCkKKysrIFdl
YkNvcmUvd21sL1dNTEFFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQxLDcgKzE0MSw3
IEBAIHZvaWQgV01MQUVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXYKICAKICAgICAgICAg
aWYgKCFldmVudC0+ZGVmYXVsdFByZXZlbnRlZCgpICYmIGRvY3VtZW50KCktPmZyYW1lKCkpIHsK
ICAgICAgICAgICAgIEtVUkwgdXJsID0gZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwoZGVwcmVjYXRl
ZFBhcnNlVVJMKGdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OmhyZWZBdHRyKSkpOwotICAgICAgICAg
ICAgZG9jdW1lbnQoKS0+ZnJhbWUoKS0+bG9hZGVyKCktPnVybFNlbGVjdGVkKHVybCwgdGFyZ2V0
KCksIGV2ZW50LCBmYWxzZSwgZmFsc2UsIHRydWUpOworICAgICAgICAgICAgZG9jdW1lbnQoKS0+
ZnJhbWUoKS0+bG9hZGVyKCktPnVybFNlbGVjdGVkKFJlc291cmNlUmVxdWVzdCh1cmwpLCB0YXJn
ZXQoKSwgZXZlbnQsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgU2VuZFJlZmVycmVyKTsKICAgICAgICAg
fQogCiAgICAgICAgIGV2ZW50LT5zZXREZWZhdWx0SGFuZGxlZCgpOwpJbmRleDogV2ViQ29yZS93
bWwvV01MSW5wdXRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3dtbC9XTUxJbnB1
dEVsZW1lbnQuY3BwCShyZXZpc2lvbiA1MTA3MCkKKysrIFdlYkNvcmUvd21sL1dNTElucHV0RWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4MSw3ICsyODEsNyBAQCB2b2lkIFdNTElucHV0
RWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlCiAgICAgICAgIC8vIEZpcmUgb25DaGFuZ2UgZm9y
IHRleHQgZmllbGRzLgogICAgICAgICBSZW5kZXJPYmplY3QqIHIgPSByZW5kZXJlcigpOwogICAg
ICAgICBpZiAociAmJiB0b1JlbmRlclRleHRDb250cm9sKHIpLT5pc0VkaXRlZCgpKSB7Ci0gICAg
ICAgICAgICBkaXNwYXRjaEV2ZW50KGV2ZW50TmFtZXMoKS5jaGFuZ2VFdmVudCwgdHJ1ZSwgZmFs
c2UpOworICAgICAgICAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMo
KS5jaGFuZ2VFdmVudCwgdHJ1ZSwgZmFsc2UpKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAg
Ly8gUmVmZXRjaCB0aGUgcmVuZGVyZXIgc2luY2UgYXJiaXRyYXJ5IEpTIGNvZGUgcnVuIGR1cmlu
ZyBvbmNoYW5nZSBjYW4gZG8gYW55dGhpbmcsIGluY2x1ZGluZyBkZXN0cm95aW5nIGl0LgogICAg
ICAgICAgICAgciA9IHJlbmRlcmVyKCk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA1MTA3MSkKKysrIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDA5
LTExLTE3ICBOYXlhbiBLdW1hciBLICA8bmF5YW5ra0BnbWFpbC5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdCB3aGljaCBjaGVja3MgdGhl
IGJlaGF2aW9yIG9mIFdNTCBwYWdlcyBjb250YWluaW5nIDxyZWZyZXNoPiB0YWcKKwlpbiA8b25l
bnRlcmZvcndhcmQ+IGV2ZW50LgorCisJaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTMwOTg5CisKKyAgICAgICAgKiB3bWwvb25lbnRlcmZvcndhcmQtcmVmcmVzaC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdtbC9vbmVudGVyZm9yd2FyZC1yZWZyZXNoLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdtbC9yZXNvdXJjZXMvb25lbnRlcmZvcndhcmQtcmVmcmVz
aC53bWw6IEFkZGVkLgorICAgICAgICAqIHdtbC9zY3JpcHQtdGVzdHMvb25lbnRlcmZvcndhcmQt
cmVmcmVzaC5qczogQWRkZWQuCisgICAgICAgIChzZXR1cFRlc3REb2N1bWVudCk6CisgICAgICAg
IChwcmVwYXJlVGVzdCk6CisgICAgICAgIChleGVjdXRlVGVzdCk6CisKIDIwMDktMTEtMTcgIFl1
dGEgS2l0YW11cmEgIDx5dXRha0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RXJpYyBTZWlkZWwuCkluZGV4OiBMYXlvdXRUZXN0cy93bWwvb25lbnRlcmZvcndhcmQtcmVmcmVz
aC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL29uZW50ZXJmb3J3
YXJkLXJlZnJlc2gtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvd21s
L29uZW50ZXJmb3J3YXJkLXJlZnJlc2gtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDE1IEBACitXTUwgbGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2NyaXB0aW5nCisKKwor
VGVzdHMgb25lbnRlcmZvcndhcmQgZXZlbnQgd2l0aCByZWZyZXNoIGFjdGlvbgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworCisKKy0tLS0tLS0tCitGcmFtZTogJzwhLS1mcmFtZVBh
dGggLy88IS0tZnJhbWUwLS0+LS0+JworLS0tLS0tLS0KK1Rlc3QgcGFzc2VkICAgCitUZXN0IHBh
c3NlZApJbmRleDogTGF5b3V0VGVzdHMvd21sL29uZW50ZXJmb3J3YXJkLXJlZnJlc2guaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93bWwvb25lbnRlcmZvcndhcmQtcmVmcmVzaC5odG1s
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvd21sL29uZW50ZXJmb3J3YXJkLXJlZnJlc2gu
aHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgor
PHNjcmlwdD52YXIgcmVsYXRpdmVQYXRoVG9MYXlvdXRUZXN0cyA9ICIuLiI7PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL1dNTFRlc3RDYXNlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxoMT5XTUwgbGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2NyaXB0aW5n
PC9oMT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL29uZW50ZXJmb3J3YXJkLXJlZnJlc2guanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd21sL3Jlc291cmNl
cy9vbmVudGVyZm9yd2FyZC1yZWZyZXNoLndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93
bWwvcmVzb3VyY2VzL29uZW50ZXJmb3J3YXJkLXJlZnJlc2gud21sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvd21sL3Jlc291cmNlcy9vbmVudGVyZm9yd2FyZC1yZWZyZXNoLndtbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0i
VVRGLTgiPz4KKzwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjIv
L0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbDEyLmR0ZCI+Cis8d21sPiAKKzxj
YXJkIHRpdGxlPSJvbmVudGVyX2ZvcndhcmQiPiAKKzxvbmV2ZW50IHR5cGU9Im9uZW50ZXJmb3J3
YXJkIj4gCis8cmVmcmVzaD5UZXN0IHBhc3NlZCA8L3JlZnJlc2g+IAorPC9vbmV2ZW50PiAgCis8
aW1nIHNyYz0iLi4vLi4vZmFzdC93bWwvcmVzb3VyY2VzL3Bhc3MucG5nIi8+IDxici8+ICAKKzxw
PiBUZXN0IHBhc3NlZCA8L3A+ICAKKzwvY2FyZD4gCis8L3dtbD4KKwpJbmRleDogTGF5b3V0VGVz
dHMvd21sL3NjcmlwdC10ZXN0cy9vbmVudGVyZm9yd2FyZC1yZWZyZXNoLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3dtbC9zY3JpcHQtdGVzdHMvb25lbnRlcmZvcndhcmQtcmVmcmVzaC5q
cwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3dtbC9zY3JpcHQtdGVzdHMvb25lbnRlcmZv
cndhcmQtcmVmcmVzaC5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNyBAQAorLy8vIFtOYW1l
XSBvbnRpbWVyLWV2ZW50LmpzCisKK2NyZWF0ZVN0YXRpY1dNTFRlc3RDYXNlKCJUZXN0cyBvbmVu
dGVyZm9yd2FyZCBldmVudCB3aXRoIHJlZnJlc2ggYWN0aW9uIiwgInJlc291cmNlcy9vbmVudGVy
Zm9yd2FyZC1yZWZyZXNoLndtbCIpOworCitmdW5jdGlvbiBzZXR1cFRlc3REb2N1bWVudCgpIHsK
KyAgICAvLyBuby1vcAorfQorCitmdW5jdGlvbiBwcmVwYXJlVGVzdCgpIHsKKyAgICAvLyBuby1v
cAorfQorCitmdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKKyAgICBjb21wbGV0ZVRlc3QoKTsKK30K
KwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cg==
</data>
<flag name="review"
          id="25049"
          type_id="1"
          status="-"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43512</attachid>
            <date>2009-11-19 10:10:06 -0800</date>
            <delta_ts>2009-12-20 06:30:41 -0800</delta_ts>
            <desc>Patch with comments incorporated.</desc>
            <filename>Bug_30989_version0.2.patch</filename>
            <type>text/plain</type>
            <size>6556</size>
            <attacher name="Nayan">nayankk</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MTE4OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMDktMTEtMTkgIE5heWFuIEt1bWFyIEsgIDxuYXlhbmtrQGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAt
Rml4IGFzc2VydCBmYWlsdXJlIGluIFdNTCBwYWdlcyBoYXZpbmcgJ1JlZnJlc2gnIHRhc2sgaW4g
CisgICAgICAgICdvbmVudGVyZm9yd2FyZCcgZXZlbnQuCisgICAgICAgIC1GaXggZm9yIGNvbXBp
bGF0aW9uIGVycm9ycy4KKyAgICAgICAgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0zMDk4OQorCisgICAgICAgIFRlc3Q6IHdtbC9vbmVudGVyZm9yd2Fy
ZC1yZWZyZXNoLmh0bWwKKworICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6Y29udGludWVMb2FkQWZ0ZXJOYXZpZ2F0aW9uUG9s
aWN5KToKKyAgICAgICAgKiB3bWwvV01MQUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V01MQUVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIpOgorICAgICAgICAqIHdtbC9XTUxJbnB1
dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V01MSW5wdXRFbGVtZW50OjpkZWZhdWx0
RXZlbnRIYW5kbGVyKToKKwogMjAwOS0xMS0xOSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFw
cGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IFdlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5jcHAJKHJldmlzaW9uIDUxMTg3KQorKysgV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNDQ2LDYgKzM0NDYsNyBAQCB2b2lkIEZyYW1l
TG9hZGVyOjpjb250aW51ZUxvYWRBZnRlck5hdmlnCiAgICAgfQogCiAgICAgRnJhbWVMb2FkVHlw
ZSB0eXBlID0gcG9saWN5Q2hlY2tlcigpLT5sb2FkVHlwZSgpOworICAgIG1fbG9hZFR5cGUgPSB0
eXBlOwogICAgIHN0b3BBbGxMb2FkZXJzKCk7CiAgICAgCiAgICAgLy8gPHJkYXI6Ly9wcm9ibGVt
LzYyNTA4NTY+IC0gSW4gY2VydGFpbiBjaXJjdW1zdGFuY2VzIG9uIHBhZ2VzIHdpdGggbXVsdGlw
bGUgZnJhbWVzLCBzdG9wQWxsTG9hZGVycygpCkBAIC0zNDYxLDcgKzM0NjIsNiBAQCB2b2lkIEZy
YW1lTG9hZGVyOjpjb250aW51ZUxvYWRBZnRlck5hdmlnCiAjZW5kaWYKIAogICAgIHNldFByb3Zp
c2lvbmFsRG9jdW1lbnRMb2FkZXIobV9wb2xpY3lEb2N1bWVudExvYWRlci5nZXQoKSk7Ci0gICAg
bV9sb2FkVHlwZSA9IHR5cGU7CiAgICAgc2V0U3RhdGUoRnJhbWVTdGF0ZVByb3Zpc2lvbmFsKTsK
IAogICAgIHNldFBvbGljeURvY3VtZW50TG9hZGVyKDApOwpJbmRleDogV2ViQ29yZS93bWwvV01M
QUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvd21sL1dNTEFFbGVtZW50LmNwcAko
cmV2aXNpb24gNTExODcpCisrKyBXZWJDb3JlL3dtbC9XTUxBRWxlbWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE0MSw3ICsxNDEsNyBAQCB2b2lkIFdNTEFFbGVtZW50OjpkZWZhdWx0RXZlbnRI
YW5kbGVyKEV2CiAgCiAgICAgICAgIGlmICghZXZlbnQtPmRlZmF1bHRQcmV2ZW50ZWQoKSAmJiBk
b2N1bWVudCgpLT5mcmFtZSgpKSB7CiAgICAgICAgICAgICBLVVJMIHVybCA9IGRvY3VtZW50KCkt
PmNvbXBsZXRlVVJMKGRlcHJlY2F0ZWRQYXJzZVVSTChnZXRBdHRyaWJ1dGUoSFRNTE5hbWVzOjpo
cmVmQXR0cikpKTsKLSAgICAgICAgICAgIGRvY3VtZW50KCktPmZyYW1lKCktPmxvYWRlcigpLT51
cmxTZWxlY3RlZCh1cmwsIHRhcmdldCgpLCBldmVudCwgZmFsc2UsIGZhbHNlLCB0cnVlKTsKKyAg
ICAgICAgICAgIGRvY3VtZW50KCktPmZyYW1lKCktPmxvYWRlcigpLT51cmxTZWxlY3RlZChSZXNv
dXJjZVJlcXVlc3QodXJsKSwgdGFyZ2V0KCksIGV2ZW50LCBmYWxzZSwgZmFsc2UsIHRydWUsIFNl
bmRSZWZlcnJlcik7CiAgICAgICAgIH0KIAogICAgICAgICBldmVudC0+c2V0RGVmYXVsdEhhbmRs
ZWQoKTsKSW5kZXg6IFdlYkNvcmUvd21sL1dNTElucHV0RWxlbWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS93bWwvV01MSW5wdXRFbGVtZW50LmNwcAkocmV2aXNpb24gNTExODcpCisrKyBX
ZWJDb3JlL3dtbC9XTUxJbnB1dEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yODEsNyAr
MjgxLDcgQEAgdm9pZCBXTUxJbnB1dEVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZQogICAgICAg
ICAvLyBGaXJlIG9uQ2hhbmdlIGZvciB0ZXh0IGZpZWxkcy4KICAgICAgICAgUmVuZGVyT2JqZWN0
KiByID0gcmVuZGVyZXIoKTsKICAgICAgICAgaWYgKHIgJiYgdG9SZW5kZXJUZXh0Q29udHJvbChy
KS0+d2FzQ2hhbmdlZFNpbmNlTGFzdENoYW5nZUV2ZW50KCkpIHsKLSAgICAgICAgICAgIGRpc3Bh
dGNoRXZlbnQoZXZlbnROYW1lcygpLmNoYW5nZUV2ZW50LCB0cnVlLCBmYWxzZSk7CisgICAgICAg
ICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmNoYW5nZUV2ZW50
LCB0cnVlLCBmYWxzZSkpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICAvLyBSZWZldGNoIHRo
ZSByZW5kZXJlciBzaW5jZSBhcmJpdHJhcnkgSlMgY29kZSBydW4gZHVyaW5nIG9uY2hhbmdlIGNh
biBkbyBhbnl0aGluZywgaW5jbHVkaW5nIGRlc3Ryb3lpbmcgaXQuCiAgICAgICAgICAgICByID0g
cmVuZGVyZXIoKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDUxMTg5KQorKysgTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMDktMTEtMTkgIE5heWFu
IEt1bWFyIEsgIDxuYXlhbmtrQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0IHdoaWNoIGNoZWNrcyB0aGUgYmVoYXZpb3Igb2Yg
V01MIHBhZ2VzIGNvbnRhaW5pbmcgPHJlZnJlc2g+IHRhZyBpbiAKKyAgICAgICAgPG9uZW50ZXJm
b3J3YXJkPiBldmVudC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MzA5ODkKKworICAgICAgICAqIHdtbC9vbmVudGVyZm9yd2FyZC1yZWZyZXNoLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd21sL29uZW50ZXJmb3J3YXJkLXJlZnJlc2gu
aHRtbDogQWRkZWQuCisgICAgICAgICogd21sL3Jlc291cmNlcy9vbmVudGVyZm9yd2FyZC1yZWZy
ZXNoLndtbDogQWRkZWQuCisgICAgICAgICogd21sL3NjcmlwdC10ZXN0cy9vbmVudGVyZm9yd2Fy
ZC1yZWZyZXNoLmpzOiBBZGRlZC4KKyAgICAgICAgKHNldHVwVGVzdERvY3VtZW50KToKKyAgICAg
ICAgKHByZXBhcmVUZXN0KToKKyAgICAgICAgKGV4ZWN1dGVUZXN0KToKKwogMjAwOS0xMS0xOSAg
UGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBHdXN0YXZvIE5vcm9uaGEgU2lsdmEuCkluZGV4OiBMYXlvdXRUZXN0cy93bWwvb25lbnRl
cmZvcndhcmQtcmVmcmVzaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
d21sL29uZW50ZXJmb3J3YXJkLXJlZnJlc2gtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvd21sL29uZW50ZXJmb3J3YXJkLXJlZnJlc2gtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDE1IEBACitXTUwgbGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwg
c2NyaXB0aW5nCisKKworVGVzdHMgb25lbnRlcmZvcndhcmQgZXZlbnQgd2l0aCByZWZyZXNoIGFj
dGlvbgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworCisKKy0tLS0tLS0tCitGcmFt
ZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+JworLS0tLS0tLS0KK1Rlc3QgcGFz
c2VkICAgCitUZXN0IHBhc3NlZApJbmRleDogTGF5b3V0VGVzdHMvd21sL29uZW50ZXJmb3J3YXJk
LXJlZnJlc2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93bWwvb25lbnRlcmZvcndh
cmQtcmVmcmVzaC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvd21sL29uZW50ZXJm
b3J3YXJkLXJlZnJlc2guaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNSBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1zdHlsZS5jc3MiPgorPHNjcmlwdD52YXIgcmVsYXRpdmVQYXRoVG9MYXlvdXRUZXN0cyA9ICIu
LiI7PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL1dNTFRlc3RDYXNlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5XTUwgbGF5b3V0IHRlc3RzIC0gdXNpbmcg
WEhUTUwgc2NyaXB0aW5nPC9oMT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL29uZW50ZXJmb3J3YXJk
LXJlZnJlc2guanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvd21sL3Jlc291cmNlcy9vbmVudGVyZm9yd2FyZC1yZWZyZXNoLndtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy93bWwvcmVzb3VyY2VzL29uZW50ZXJmb3J3YXJkLXJlZnJlc2gud21sCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvd21sL3Jlc291cmNlcy9vbmVudGVyZm9yd2FyZC1y
ZWZyZXNoLndtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0i
MS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JV
TS8vRFREIFdNTCAxLjIvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbDEyLmR0
ZCI+Cis8d21sPiAKKzxjYXJkIHRpdGxlPSJvbmVudGVyX2ZvcndhcmQiPiAKKzxvbmV2ZW50IHR5
cGU9Im9uZW50ZXJmb3J3YXJkIj4gCis8cmVmcmVzaD5UZXN0IHBhc3NlZCA8L3JlZnJlc2g+IAor
PC9vbmV2ZW50PiAgCis8aW1nIHNyYz0iLi4vLi4vZmFzdC93bWwvcmVzb3VyY2VzL3Bhc3MucG5n
Ii8+IDxici8+ICAKKzxwPiBUZXN0IHBhc3NlZCA8L3A+ICAKKzwvY2FyZD4gCis8L3dtbD4KKwpJ
bmRleDogTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0cy9vbmVudGVyZm9yd2FyZC1yZWZyZXNo
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dtbC9zY3JpcHQtdGVzdHMvb25lbnRlcmZv
cndhcmQtcmVmcmVzaC5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3dtbC9zY3JpcHQt
dGVzdHMvb25lbnRlcmZvcndhcmQtcmVmcmVzaC5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
NyBAQAorLy8vIFtOYW1lXSBvbmVudGVyZm9yd2FyZC1yZWZyZXNoLmpzCisKK2NyZWF0ZVN0YXRp
Y1dNTFRlc3RDYXNlKCJUZXN0cyBvbmVudGVyZm9yd2FyZCBldmVudCB3aXRoIHJlZnJlc2ggYWN0
aW9uIiwgInJlc291cmNlcy9vbmVudGVyZm9yd2FyZC1yZWZyZXNoLndtbCIpOworCitmdW5jdGlv
biBzZXR1cFRlc3REb2N1bWVudCgpIHsKKyAgICAvLyBuby1vcAorfQorCitmdW5jdGlvbiBwcmVw
YXJlVGVzdCgpIHsKKyAgICAvLyBuby1vcAorfQorCitmdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsK
KyAgICBjb21wbGV0ZVRlc3QoKTsKK30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
Cg==
</data>
<flag name="review"
          id="25235"
          type_id="1"
          status="-"
          setter="zimmermann"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43777</attachid>
            <date>2009-11-24 09:39:38 -0800</date>
            <delta_ts>2009-12-20 06:30:41 -0800</delta_ts>
            <desc>Dynamically genarated layout test.</desc>
            <filename>LayoutTestCorrected.patch</filename>
            <type>text/plain</type>
            <size>4772</size>
            <attacher name="Nayan">nayankk</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MTMxMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMDktMTEtMjMgIE5heWFuIEt1bWFyIEsgIDxuYXlhbi5rb25hamU+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IGFz
c2VydCBmYWlsdXJlIGluIFdNTCBwYWdlcyBoYXZpbmcgJ1JlZnJlc2gnIHRhc2sgaW4gCisgICAg
ICAgICdvbmVudGVyZm9yd2FyZCcgZXZlbnQuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTMwOTg5CisKKyAgICAgICAgVGVzdDogd21sL29uZW50ZXJm
b3J3YXJkLXJlZnJlc2guaHRtbAorCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpjb250aW51ZUxvYWRBZnRlck5hdmlnYXRp
b25Qb2xpY3kpOgorCiAyMDA5LTExLTIzICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTmlrb2xhcyBaaW1tZXJtYW5uLgpJbmRleDogV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmNwcAkocmV2aXNpb24gNTEzMTApCisrKyBXZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0NDYsNiArMzQ0Niw3IEBAIHZvaWQgRnJhbWVM
b2FkZXI6OmNvbnRpbnVlTG9hZEFmdGVyTmF2aWcKICAgICB9CiAKICAgICBGcmFtZUxvYWRUeXBl
IHR5cGUgPSBwb2xpY3lDaGVja2VyKCktPmxvYWRUeXBlKCk7CisgICAgbV9sb2FkVHlwZSA9IHR5
cGU7CiAgICAgc3RvcEFsbExvYWRlcnMoKTsKICAgICAKICAgICAvLyA8cmRhcjovL3Byb2JsZW0v
NjI1MDg1Nj4gLSBJbiBjZXJ0YWluIGNpcmN1bXN0YW5jZXMgb24gcGFnZXMgd2l0aCBtdWx0aXBs
ZSBmcmFtZXMsIHN0b3BBbGxMb2FkZXJzKCkKQEAgLTM0NjEsNyArMzQ2Miw2IEBAIHZvaWQgRnJh
bWVMb2FkZXI6OmNvbnRpbnVlTG9hZEFmdGVyTmF2aWcKICNlbmRpZgogCiAgICAgc2V0UHJvdmlz
aW9uYWxEb2N1bWVudExvYWRlcihtX3BvbGljeURvY3VtZW50TG9hZGVyLmdldCgpKTsKLSAgICBt
X2xvYWRUeXBlID0gdHlwZTsKICAgICBzZXRTdGF0ZShGcmFtZVN0YXRlUHJvdmlzaW9uYWwpOwog
CiAgICAgc2V0UG9saWN5RG9jdW1lbnRMb2FkZXIoMCk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA1MTMx
MCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5
IEBACisyMDA5LTExLTIzICBOYXlhbiBLdW1hciBLICA8bmF5YW4ua29uYWplPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Qgd2hpY2ggY2hlY2tz
IHRoZSBiZWhhdmlvciBvZiBXTUwgcGFnZXMgY29udGFpbmluZyA8cmVmcmVzaD4gdGFnIGluIAor
ICAgICAgICA8b25lbnRlcmZvcndhcmQ+IGV2ZW50LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDk4OQorCisgICAgICAgICogd21sL29uZW50ZXJm
b3J3YXJkLXJlZnJlc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3bWwvb25lbnRl
cmZvcndhcmQtcmVmcmVzaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3bWwvc2NyaXB0LXRlc3Rz
L29uZW50ZXJmb3J3YXJkLXJlZnJlc2guanM6IEFkZGVkLgorICAgICAgICAoc2V0dXBUZXN0RG9j
dW1lbnQpOgorICAgICAgICAocHJlcGFyZVRlc3QpOgorICAgICAgICAoZXhlY3V0ZVRlc3QpOgor
CiAyMDA5LTExLTIyICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgT2xpdmVyIEh1bnQuCkluZGV4OiBMYXlvdXRUZXN0cy93bWwvb25l
bnRlcmZvcndhcmQtcmVmcmVzaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvd21sL29uZW50ZXJmb3J3YXJkLXJlZnJlc2gtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvd21sL29uZW50ZXJmb3J3YXJkLXJlZnJlc2gtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE4IEBACitXTUwgbGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhU
TUwgc2NyaXB0aW5nCisKKworVGVzdHMgb25lbnRlcmZvcndhcmQgZXZlbnQgd2l0aCByZWZyZXNo
IGFjdGlvbgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKKworLS0tLS0tLS0KK0ZyYW1lOiAn
PCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4nCistLS0tLS0tLQorCitUZXN0IHBhc3Nl
ZApJbmRleDogTGF5b3V0VGVzdHMvd21sL29uZW50ZXJmb3J3YXJkLXJlZnJlc2guaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93bWwvb25lbnRlcmZvcndhcmQtcmVmcmVzaC5odG1sCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvd21sL29uZW50ZXJmb3J3YXJkLXJlZnJlc2guaHRt
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNj
cmlwdD52YXIgcmVsYXRpdmVQYXRoVG9MYXlvdXRUZXN0cyA9ICIuLiI7PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL1dNTFRlc3RDYXNlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxoMT5XTUwgbGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2NyaXB0aW5nPC9o
MT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL29uZW50ZXJmb3J3YXJkLXJlZnJlc2guanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0
cy9vbmVudGVyZm9yd2FyZC1yZWZyZXNoLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dt
bC9zY3JpcHQtdGVzdHMvb25lbnRlcmZvcndhcmQtcmVmcmVzaC5qcwkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL3dtbC9zY3JpcHQtdGVzdHMvb25lbnRlcmZvcndhcmQtcmVmcmVzaC5qcwko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwzMiBAQAorLy8gW05hbWVdIG9uZW50ZXJmb3J3YXJkLXJl
ZnJlc2guanMKKworY3JlYXRlRHluYW1pY1dNTFRlc3RDYXNlKCJUZXN0cyBvbmVudGVyZm9yd2Fy
ZCBldmVudCB3aXRoIHJlZnJlc2ggYWN0aW9uIik7CisKK2Z1bmN0aW9uIHNldHVwVGVzdERvY3Vt
ZW50KCkgeworICAgIHZhciBjYXJkRWxlbWVudCA9IHRlc3REb2N1bWVudC5kb2N1bWVudEVsZW1l
bnQuZmlyc3RDaGlsZDsKKworICAgIHZhciBvbmV2ZW50RWxlbWVudCA9IGNyZWF0ZVdNTEVsZW1l
bnQoIm9uZXZlbnQiKTsKKyAgICBvbmV2ZW50RWxlbWVudC5zZXRBdHRyaWJ1dGUoInR5cGUiLCJv
bmVudGVyZm9yd2FyZCIpOworICAgIGNhcmRFbGVtZW50LmFwcGVuZENoaWxkKG9uZXZlbnRFbGVt
ZW50KTsKKworICAgIHZhciByZWZyZXNoRWxlbWVudCA9IGNyZWF0ZVdNTEVsZW1lbnQoInJlZnJl
c2giKTsKKyAgICBvbmV2ZW50RWxlbWVudC5hcHBlbmRDaGlsZChyZWZyZXNoRWxlbWVudCk7CisK
KyAgICB2YXIgaW1hZ2VFbGVtZW50ID0gY3JlYXRlV01MRWxlbWVudCgiaW1nIik7CisgICAgaW1h
Z2VFbGVtZW50LnNldEF0dHJpYnV0ZSgic3JjIiwiLi4vLi4vZmFzdC93bWwvcmVzb3VyY2VzL3Bh
c3MucG5nIik7CisgICAgY2FyZEVsZW1lbnQuYXBwZW5kQ2hpbGQoaW1hZ2VFbGVtZW50KTsKKwor
ICAgIHZhciBwRWxlbWVudCA9IGNyZWF0ZVdNTEVsZW1lbnQoInAiKTsKKyAgICBwRWxlbWVudC50
ZXh0Q29udGVudCA9ICJUZXN0IHBhc3NlZCI7CisgICAgY2FyZEVsZW1lbnQuYXBwZW5kQ2hpbGQo
cEVsZW1lbnQpOworfQorCitmdW5jdGlvbiBwcmVwYXJlVGVzdCgpIHsKKyAgICBzdGFydFRlc3Qo
MjUsIDE1KTsKK30KKworZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7CisgICAgY29tcGxldGVUZXN0
KCk7Cit9CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44754</attachid>
            <date>2009-12-13 07:13:53 -0800</date>
            <delta_ts>2009-12-20 06:30:41 -0800</delta_ts>
            <desc>Patch without layout test.</desc>
            <filename>30989-Assert-fix.patch</filename>
            <type>text/plain</type>
            <size>1510</size>
            <attacher name="Nayan">nayankk</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MjA2NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMDktMTItMTMgIE5heWFuIEt1bWFyIEsgIDxuYXlhbmtrQGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBG
aXggYXNzZXJ0IGZhaWx1cmUgd2l0aCBXTUwgcGFnZXMgaGF2aW5nICdSZWZyZXNoJyB0YXNrIGlu
CisgICAgICAgICdvbmVudGVyZm9yd2FyZCcgZXZlbnQuCisKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwOTg5CisKKyAgICAgICAgV3JpdGluZyBMYXlv
dXQgdGVzdCBpcyBub3QgcG9zc2libGUuIFBsZWFzZSByZWZlciB0byB0aGUgZGlzY3Vzc2lvbgor
ICAgICAgICBpbiBidWcgaWQgIzMwOTg5LiBBIHNhbXBsZSB0ZXN0IGNhc2UgaXMgYXR0YWNoZWQg
aW4gQnVnemlsbGEuCisKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmNvbnRpbnVlTG9hZEFmdGVyTmF2aWdhdGlvblBvbGlj
eSk6CisKIDIwMDktMTItMDggIEplcmVteSBNb3Nrb3ZpY2ggIDxqZXJlbXlAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpJbmRleDogV2ViQ29yZS9sb2Fk
ZXIvRnJhbWVMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL0ZyYW1lTG9h
ZGVyLmNwcAkocmV2aXNpb24gNTIwNjcpCisrKyBXZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTM0NTgsNiArMzQ1OCw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6
OmNvbnRpbnVlTG9hZEFmdGVyTmF2aWcKICAgICB9CiAKICAgICBGcmFtZUxvYWRUeXBlIHR5cGUg
PSBwb2xpY3lDaGVja2VyKCktPmxvYWRUeXBlKCk7CisgICAgbV9sb2FkVHlwZSA9IHR5cGU7CiAg
ICAgc3RvcEFsbExvYWRlcnMoKTsKICAgICAKICAgICAvLyA8cmRhcjovL3Byb2JsZW0vNjI1MDg1
Nj4gLSBJbiBjZXJ0YWluIGNpcmN1bXN0YW5jZXMgb24gcGFnZXMgd2l0aCBtdWx0aXBsZSBmcmFt
ZXMsIHN0b3BBbGxMb2FkZXJzKCkKQEAgLTM0NzMsNyArMzQ3NCw2IEBAIHZvaWQgRnJhbWVMb2Fk
ZXI6OmNvbnRpbnVlTG9hZEFmdGVyTmF2aWcKICNlbmRpZgogCiAgICAgc2V0UHJvdmlzaW9uYWxE
b2N1bWVudExvYWRlcihtX3BvbGljeURvY3VtZW50TG9hZGVyLmdldCgpKTsKLSAgICBtX2xvYWRU
eXBlID0gdHlwZTsKICAgICBzZXRTdGF0ZShGcmFtZVN0YXRlUHJvdmlzaW9uYWwpOwogCiAgICAg
c2V0UG9saWN5RG9jdW1lbnRMb2FkZXIoMCk7Cg==
</data>
<flag name="review"
          id="26659"
          type_id="1"
          status="-"
          setter="beidson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>44755</attachid>
            <date>2009-12-13 07:20:40 -0800</date>
            <delta_ts>2009-12-13 07:20:40 -0800</delta_ts>
            <desc>Sample test case.</desc>
            <filename>crash.wml</filename>
            <type>text/vnd.wap.wml</type>
            <size>158</size>
            <attacher name="Nayan">nayankk</attacher>
            
              <data encoding="base64">PHdtbD4KPGNhcmQ+CjxvbmV2ZW50IHR5cGU9Im9uZW50ZXJmb3J3YXJkIj4KPHJlZnJlc2gvPgo8
L29uZXZlbnQ+CjxpbWcgc3JjPSJodHRwOi8vdHJhYy53ZWJraXQub3JnL2Nocm9tZS9zaXRlL2lj
b24ucG5nIi8+CjxwPlRlc3QgUGFzc2VkPC9wPgo8L2NhcmQ+Cjwvd21sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45273</attachid>
            <date>2009-12-20 06:30:41 -0800</date>
            <delta_ts>2009-12-22 18:04:40 -0800</delta_ts>
            <desc>Revisited fix for assert failure.</desc>
            <filename>Fix_bug_30989_revisited.patch</filename>
            <type>text/plain</type>
            <size>1327</size>
            <attacher name="Nayan">nayankk</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MjQxNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMDktMTItMjAgIE5heWFuIEt1bWFyIEsgIDxuYXlhbmtrQGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBG
aXggYXNzZXJ0IGZhaWx1cmUgd2l0aCBXTUwgcGFnZXMgaGF2aW5nICdSZWZyZXNoJyB0YXNrIGlu
CisgICAgICAgICdvbmVudGVyZm9yd2FyZCcgZXZlbnQuCisKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwOTg5CisKKyAgICAgICAgV3JpdGluZyBMYXlv
dXQgdGVzdCBpcyBub3QgcG9zc2libGUuIFBsZWFzZSByZWZlciB0byB0aGUgZGlzY3Vzc2lvbgor
ICAgICAgICBpbiBidWcgaWQgIzMwOTg5LiBBIHNhbXBsZSB0ZXN0IGNhc2UgaXMgYXR0YWNoZWQg
aW4gQnVnWmlsbGEuCisKKyAgICAgICAgKiB3bWwvV01MQ2FyZEVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V01MQ2FyZEVsZW1lbnQ6OmhhbmRsZUludHJpbnNpY0V2ZW50SWZOZWVkZWQp
OgorCiAyMDA5LTEyLTIwICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogV2ViQ29yZS93bWwvV01M
Q2FyZEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvd21sL1dNTENhcmRFbGVtZW50
LmNwcAkocmV2aXNpb24gNTI0MTEpCisrKyBXZWJDb3JlL3dtbC9XTUxDYXJkRWxlbWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEzNiw3ICsxMzYsNyBAQCB2b2lkIFdNTENhcmRFbGVtZW50Ojpo
YW5kbGVJbnRyaW5zaWNFdmVuCiAgICAgLy8gQ2FsY3VsYXRlIHRoZSBlbnRyeSBtZXRob2Qgb2Yg
Y3VycmVudCBjYXJkIAogICAgIFdNTEludHJpbnNpY0V2ZW50VHlwZSBldmVudFR5cGUgPSBXTUxJ
bnRyaW5zaWNFdmVudFVua25vd247CiAKLSAgICBzd2l0Y2ggKGxvYWRlci0+bG9hZFR5cGUoKSkg
eworICAgIHN3aXRjaCAobG9hZGVyLT5wb2xpY3lDaGVja2VyKCktPmxvYWRUeXBlKCkpIHsKICAg
ICBjYXNlIEZyYW1lTG9hZFR5cGVSZWxvYWQ6CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgRnJh
bWVMb2FkVHlwZUJhY2s6Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>