[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

darin darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:12:45 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 70b6438f2c65b3cf8c0cac045b2681003066f40a
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Dec 9 03:39:40 2002 +0000

    WebFoundation:
    
            Reviewed by Don and Dave.
    
            * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
            * WebFoundation.pbproj/project.pbxproj: Let Electron be Electron.
    
    WebCore:
    
            Reviewed by Don and Dave.
    
    	- fixed 3115845 -- bad-pointer crash destroying DOM tree reproducible at a particular site
    
    	All hail libgmalloc, without which this would just be another bug I can't reproduce!
    
    	This memory trasher bug was caused bug calling setChildrenLoaded after casting a node to
    	HTMLObjectElementImpl, when the node wasn't always an object element. It turns out that this
            fix was made obsolete a while back when I changed close on renderers to be delivered even for
            cases where the renderer is not created yet at close time.
    
            * khtml/html/htmlparser.cpp: (KHTMLParser::processCloseTag): Remove the special case for
    	</object>. Now that this is fixed another way we don't need this at all.
    
            * khtml/html/html_objectimpl.h: Remove setChildrenLoaded and m_childrenLoaded.
            * khtml/html/html_objectimpl.cpp: (HTMLObjectElementImpl::HTMLObjectElementImpl):
    	Remove code that sets m_childrenLoaded to false.
            (HTMLObjectElementImpl::attach): Remove code that looks at m_childrenLoaded, since we don't
    	need it any more (and in fact there's no way to set it any more).
    
    	- fixed 3120578 -- REGRESSION: going to about:blank creates null view
    
    	If no tokens are ever sent to the parser, then we end up without a render tree.
    
            * khtml/html/htmlparser.h: Add finished() function.
            * khtml/html/htmlparser.cpp: (KHTMLParser::finished): Make an HTML element if the document is still
    	empty at this point. This is identical to what KHTMLParser::insertNode does when you insert any kind
    	of element other than an HTML element.
    
            * khtml/html/htmltokenizer.cpp: (HTMLTokenizer::end): Call finished() to let the parser know.
    
            * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::paint): Turn on the "paint red" feature in development builds.
    	Null view problems are particularly hard to debug without something like this, and we don't care
    	if development builds are ever-so-slightly slower. No change in deployment.
    
    	- fixed 3121527 -- crash in WebCoreBridge frameBorderStyle
    
            * kwq/WebCoreBridge.mm: (-[WebCoreBridge frameBorderStyle]): Handle case where this is called and
    	we don't have a KHTMLView yet.
    
    	- other changes
    
            * WebCore.pbproj/project.pbxproj: Electron is doing his thing.
    
    WebKit:
    
            Reviewed by Don and Dave.
    
    	- fixed 3120578 -- REGRESSION: going to about:blank creates null view
    
    	This part of the fix makes sure that a renderer is created, even when there are no bytes
    	of data passed through. This makes the empty document about:blank case work just like the
    	"document with just whitespace in it case". There's another part of the fix in WebCore that
    	takes care of the remaining problem.
    
            * WebView.subproj/WebHTMLRepresentation.m:
            (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
    	Call receivedData:withDataSource: on the bridge with nil for the data. It would be even more
    	elegant to add a new call for the case where we finish, but it's not necessary, since the
    	existing receivedData: call does all the right things if passed nil.
    
            * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _finishedLoading]):
    	Call finishedLoadingWithDataSource: here, to make sure it's done after committing.
    	This parallels what we already do for the didReceiveData call.
            * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handleDidFinishLoading:]):
    	Remove the call to finishedLoadingWithDataSource: because it's handled by _finishedLoading now.
    	This parallels what we already do for the didReceiveData call.
    
    	- fixed long standing problem where resizing could make you see a "null view"
    
            * WebView.subproj/WebView.m:
            (-[WebView drawRect:]): Add a "paint cyan" feature in development builds.
    	Null view problems are particularly hard to debug without something like this,
    	and we don't care if development builds are slightly slower. No change in deployment.
            (-[WebView setFrameSize:]): Tell the scroll view to draw the background if we are
    	resized. We can't do our "let the old bits show through" thing any more if we have to
    	redraw because of resizing.
    
    	- other changes
    
            * WebKit.pbproj/project.pbxproj: Remove the old -DAPPLE_CHANGES and -DHAVE_CONFIG_H that we
            once needed when WebKit used to compile  C++ headers from the KHTML part of WebCore.
            We haven't needed those for ages. Also sort things a bit, using the new Electron feature for
    	sorting lists of files alphabetically, and some by hand.
    
            * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
    
    WebBrowser:
    
    	Reviewed by Don and Dave.
    
            * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2970 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index a98103c..31b73e7 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,49 @@
+2002-12-08  Darin Adler  <darin at apple.com>
+
+        Reviewed by Don and Dave.
+
+	- fixed 3115845 -- bad-pointer crash destroying DOM tree reproducible at a particular site
+
+	All hail libgmalloc, without which this would just be another bug I can't reproduce!
+
+	This memory trasher bug was caused bug calling setChildrenLoaded after casting a node to
+	HTMLObjectElementImpl, when the node wasn't always an object element. It turns out that this
+        fix was made obsolete a while back when I changed close on renderers to be delivered even for
+        cases where the renderer is not created yet at close time.
+
+        * khtml/html/htmlparser.cpp: (KHTMLParser::processCloseTag): Remove the special case for
+	</object>. Now that this is fixed another way we don't need this at all.
+
+        * khtml/html/html_objectimpl.h: Remove setChildrenLoaded and m_childrenLoaded.
+        * khtml/html/html_objectimpl.cpp: (HTMLObjectElementImpl::HTMLObjectElementImpl):
+	Remove code that sets m_childrenLoaded to false.
+        (HTMLObjectElementImpl::attach): Remove code that looks at m_childrenLoaded, since we don't
+	need it any more (and in fact there's no way to set it any more).
+
+	- fixed 3120578 -- REGRESSION: going to about:blank creates null view
+
+	If no tokens are ever sent to the parser, then we end up without a render tree.
+
+        * khtml/html/htmlparser.h: Add finished() function.
+        * khtml/html/htmlparser.cpp: (KHTMLParser::finished): Make an HTML element if the document is still
+	empty at this point. This is identical to what KHTMLParser::insertNode does when you insert any kind
+	of element other than an HTML element.
+
+        * khtml/html/htmltokenizer.cpp: (HTMLTokenizer::end): Call finished() to let the parser know.
+
+        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::paint): Turn on the "paint red" feature in development builds.
+	Null view problems are particularly hard to debug without something like this, and we don't care
+	if development builds are ever-so-slightly slower. No change in deployment.
+
+	- fixed 3121527 -- crash in WebCoreBridge frameBorderStyle
+
+        * kwq/WebCoreBridge.mm: (-[WebCoreBridge frameBorderStyle]): Handle case where this is called and
+	we don't have a KHTMLView yet.
+
+	- other changes
+
+        * WebCore.pbproj/project.pbxproj: Electron is doing his thing.
+
 2002-12-08  David Hyatt  <hyatt at apple.com>
 
 	Fix for image bullets.  They were neglecting to offset
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index a98103c..31b73e7 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,49 @@
+2002-12-08  Darin Adler  <darin at apple.com>
+
+        Reviewed by Don and Dave.
+
+	- fixed 3115845 -- bad-pointer crash destroying DOM tree reproducible at a particular site
+
+	All hail libgmalloc, without which this would just be another bug I can't reproduce!
+
+	This memory trasher bug was caused bug calling setChildrenLoaded after casting a node to
+	HTMLObjectElementImpl, when the node wasn't always an object element. It turns out that this
+        fix was made obsolete a while back when I changed close on renderers to be delivered even for
+        cases where the renderer is not created yet at close time.
+
+        * khtml/html/htmlparser.cpp: (KHTMLParser::processCloseTag): Remove the special case for
+	</object>. Now that this is fixed another way we don't need this at all.
+
+        * khtml/html/html_objectimpl.h: Remove setChildrenLoaded and m_childrenLoaded.
+        * khtml/html/html_objectimpl.cpp: (HTMLObjectElementImpl::HTMLObjectElementImpl):
+	Remove code that sets m_childrenLoaded to false.
+        (HTMLObjectElementImpl::attach): Remove code that looks at m_childrenLoaded, since we don't
+	need it any more (and in fact there's no way to set it any more).
+
+	- fixed 3120578 -- REGRESSION: going to about:blank creates null view
+
+	If no tokens are ever sent to the parser, then we end up without a render tree.
+
+        * khtml/html/htmlparser.h: Add finished() function.
+        * khtml/html/htmlparser.cpp: (KHTMLParser::finished): Make an HTML element if the document is still
+	empty at this point. This is identical to what KHTMLParser::insertNode does when you insert any kind
+	of element other than an HTML element.
+
+        * khtml/html/htmltokenizer.cpp: (HTMLTokenizer::end): Call finished() to let the parser know.
+
+        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::paint): Turn on the "paint red" feature in development builds.
+	Null view problems are particularly hard to debug without something like this, and we don't care
+	if development builds are ever-so-slightly slower. No change in deployment.
+
+	- fixed 3121527 -- crash in WebCoreBridge frameBorderStyle
+
+        * kwq/WebCoreBridge.mm: (-[WebCoreBridge frameBorderStyle]): Handle case where this is called and
+	we don't have a KHTMLView yet.
+
+	- other changes
+
+        * WebCore.pbproj/project.pbxproj: Electron is doing his thing.
+
 2002-12-08  David Hyatt  <hyatt at apple.com>
 
 	Fix for image bullets.  They were neglecting to offset
diff --git a/WebCore/WebCore.pbproj/project.pbxproj b/WebCore/WebCore.pbproj/project.pbxproj
index 5b795b7..da51e6c 100644
--- a/WebCore/WebCore.pbproj/project.pbxproj
+++ b/WebCore/WebCore.pbproj/project.pbxproj
@@ -178,7 +178,6 @@
 </dict>
 </plist>
 ";
-			shouldUseHeadermap = 1;
 		};
 		0867D69DFE84028FC02AAC07 = {
 			buildActionMask = 2147483647;
diff --git a/WebCore/khtml/html/html_objectimpl.cpp b/WebCore/khtml/html/html_objectimpl.cpp
index 0950737..d37faca 100644
--- a/WebCore/khtml/html/html_objectimpl.cpp
+++ b/WebCore/khtml/html/html_objectimpl.cpp
@@ -265,7 +265,6 @@ void HTMLEmbedElementImpl::attach()
 HTMLObjectElementImpl::HTMLObjectElementImpl(DocumentPtr *doc) : HTMLElementImpl(doc)
 {
     needWidgetUpdate = false;
-    m_childrenLoaded = false;
 }
 
 HTMLObjectElementImpl::~HTMLObjectElementImpl()
@@ -377,12 +376,6 @@ void HTMLObjectElementImpl::attach()
 
     NodeBaseImpl::attach();
 
-    // Go ahead and perform the update.
-    if (m_childrenLoaded && m_render && strcmp(m_render->renderName(), "RenderPartObject") == 0) {
-        m_childrenLoaded = false;
-        static_cast<RenderPartObject*>(m_render)->updateWidget();
-    }
-
     // ### do this when we are actually finished loading instead
     if (m_render)
         dispatchHTMLEvent(EventImpl::LOAD_EVENT,false,false);
diff --git a/WebCore/khtml/html/html_objectimpl.h b/WebCore/khtml/html/html_objectimpl.h
index 6111570..ae542bf 100644
--- a/WebCore/khtml/html/html_objectimpl.h
+++ b/WebCore/khtml/html/html_objectimpl.h
@@ -98,13 +98,10 @@ public:
 
     DocumentImpl* contentDocument() const;
 
-    void setChildrenLoaded() { m_childrenLoaded = true; }
-    
     QString serviceType;
     QString url;
     QString classId;
     bool needWidgetUpdate;
-    bool m_childrenLoaded;
 };
 
 // -------------------------------------------------------------------------
diff --git a/WebCore/khtml/html/htmlparser.cpp b/WebCore/khtml/html/htmlparser.cpp
index 060cc08..e7ea4cb 100644
--- a/WebCore/khtml/html/htmlparser.cpp
+++ b/WebCore/khtml/html/htmlparser.cpp
@@ -1116,12 +1116,6 @@ void KHTMLParser::processCloseTag(Token *t)
     case ID_SELECT+ID_CLOSE_TAG:
         inSelect = false;
         break;
-    case ID_OBJECT+ID_CLOSE_TAG:
-        // This case has been added to deal with async rendering tree construction
-        // caused by <link rel=stylesheet>. We need to update the widget if and only
-        // if all children have loaded.  -dwh
-        if (current && !current->renderer())
-            static_cast<HTMLObjectElementImpl*>(current)->setChildrenLoaded();
     default:
         break;
     }
@@ -1310,3 +1304,14 @@ void KHTMLParser::startBody()
         isindex = 0;
     }
 }
+
+void KHTMLParser::finished()
+{
+    // Make an HTML element for the case of an otherwise-empty document.
+    // This works around the fact that the RenderRoot doesn't itself do any drawing.
+    // In the long run, it might be better to fix the render tree so that the background
+    // is drawn even without an element below the root, since that will work for the XML case
+    // too, not just the HTML case.
+    if (doc() && !doc()->firstChild())
+        insertNode(new HTMLHtmlElementImpl(document));
+}
diff --git a/WebCore/khtml/html/htmlparser.h b/WebCore/khtml/html/htmlparser.h
index db9bf55..f790ade 100644
--- a/WebCore/khtml/html/htmlparser.h
+++ b/WebCore/khtml/html/htmlparser.h
@@ -77,6 +77,11 @@ public:
      * parses one token delivered by the tokenizer
      */
     void parseToken(khtml::Token *_t);
+    
+    /**
+     * tokenizer says it's not going to be sending us any more tokens
+     */
+    void finished();
 
     /**
      * resets the parser
diff --git a/WebCore/khtml/html/htmltokenizer.cpp b/WebCore/khtml/html/htmltokenizer.cpp
index cb69db5..41624ff 100644
--- a/WebCore/khtml/html/htmltokenizer.cpp
+++ b/WebCore/khtml/html/htmltokenizer.cpp
@@ -1563,6 +1563,7 @@ void HTMLTokenizer::write( const QString &str, bool appendData )
 void HTMLTokenizer::end()
 {
     if ( buffer == 0 ) {
+        parser->finished();
         emit finishedParsing();
         return;
     }
@@ -1580,6 +1581,7 @@ void HTMLTokenizer::end()
     scriptCode = 0;
     scriptCodeSize = scriptCodeMaxSize = scriptCodeResync = 0;
     buffer = 0;
+    parser->finished();
     emit finishedParsing();
 }
 
diff --git a/WebCore/kwq/KWQKHTMLPart.mm b/WebCore/kwq/KWQKHTMLPart.mm
index 891413e..4c4eae2 100644
--- a/WebCore/kwq/KWQKHTMLPart.mm
+++ b/WebCore/kwq/KWQKHTMLPart.mm
@@ -291,13 +291,15 @@ void KWQKHTMLPart::redirectionTimerStartedOrStopped()
 
 void KWQKHTMLPart::paint(QPainter *p, const QRect &rect)
 {
-#ifdef DEBUG_DRAWING
+#ifndef NDEBUG
     [[NSColor redColor] set];
     [NSBezierPath fillRect:[view()->getView() visibleRect]];
 #endif
 
     if (renderer()) {
         renderer()->layer()->paint(p, rect.x(), rect.y(), rect.width(), rect.height());
+    } else {
+        ERROR("called KWQKHTMLPart::paint with nil renderer");
     }
 }
 
diff --git a/WebCore/kwq/WebCoreBridge.mm b/WebCore/kwq/WebCoreBridge.mm
index 78d98fd..fb4e155 100644
--- a/WebCore/kwq/WebCoreBridge.mm
+++ b/WebCore/kwq/WebCoreBridge.mm
@@ -870,10 +870,13 @@ DOM::Node next = n.firstChild();
 
 - (int)frameBorderStyle
 {
-    if (_part->kwq->view()->frameStyle() & QFrame::Sunken)
-        return SunkenFrameBorder;
-    if (_part->kwq->view()->frameStyle() & QFrame::Plain)
-        return PlainFrameBorder;
+    KHTMLView *view = _part->kwq->view();
+    if (view) {
+        if (view->frameStyle() & QFrame::Sunken)
+            return SunkenFrameBorder;
+        if (view->frameStyle() & QFrame::Plain)
+            return PlainFrameBorder;
+    }
     return NoFrameBorder;
 }
 
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index ffba134..6a4d3a5 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,46 @@
+2002-12-08  Darin Adler  <darin at apple.com>
+
+        Reviewed by Don and Dave.
+
+	- fixed 3120578 -- REGRESSION: going to about:blank creates null view
+
+	This part of the fix makes sure that a renderer is created, even when there are no bytes
+	of data passed through. This makes the empty document about:blank case work just like the
+	"document with just whitespace in it case". There's another part of the fix in WebCore that
+	takes care of the remaining problem. 
+
+        * WebView.subproj/WebHTMLRepresentation.m:
+        (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
+	Call receivedData:withDataSource: on the bridge with nil for the data. It would be even more
+	elegant to add a new call for the case where we finish, but it's not necessary, since the
+	existing receivedData: call does all the right things if passed nil.
+
+        * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _finishedLoading]):
+	Call finishedLoadingWithDataSource: here, to make sure it's done after committing.	
+	This parallels what we already do for the didReceiveData call.
+        * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handleDidFinishLoading:]):
+	Remove the call to finishedLoadingWithDataSource: because it's handled by _finishedLoading now.
+	This parallels what we already do for the didReceiveData call.
+
+	- fixed long standing problem where resizing could make you see a "null view"
+
+        * WebView.subproj/WebView.m:
+        (-[WebView drawRect:]): Add a "paint cyan" feature in development builds.
+	Null view problems are particularly hard to debug without something like this,
+	and we don't care if development builds are slightly slower. No change in deployment.
+        (-[WebView setFrameSize:]): Tell the scroll view to draw the background if we are
+	resized. We can't do our "let the old bits show through" thing any more if we have to
+	redraw because of resizing.
+
+	- other changes
+
+        * WebKit.pbproj/project.pbxproj: Remove the old -DAPPLE_CHANGES and -DHAVE_CONFIG_H that we
+        once needed when WebKit used to compile  C++ headers from the KHTML part of WebCore.
+        We haven't needed those for ages. Also sort things a bit, using the new Electron feature for
+	sorting lists of files alphabetically, and some by hand.
+
+        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
+
 2002-12-08  Chris Blumenberg  <cblu at apple.com>
 
 	Fixed: 3121627 - REGRESSION: partial progress is left in address field after download
diff --git a/WebKit/English.lproj/StringsNotToBeLocalized.txt b/WebKit/English.lproj/StringsNotToBeLocalized.txt
index 69e1dbf..2722309 100644
--- a/WebKit/English.lproj/StringsNotToBeLocalized.txt
+++ b/WebKit/English.lproj/StringsNotToBeLocalized.txt
@@ -116,6 +116,7 @@
 "WebFrameLoadTypeInternal"
 "WebFrameLoadTypeReload"
 "WebFrameLoadTypeReloadAllowingStaleData"
+"WebFrameLoadTypeSame"
 "WebFrameLoadTypeStandard"
 "WebFrameStateChangedNotification"
 "WebFrameStateCommittedPage"
@@ -205,7 +206,6 @@
 "html"
 "http"
 "https"
-"isTargetItem"
 "javascript"
 "lastVisitedDate"
 "nullplugin"
@@ -222,8 +222,6 @@ Bookmarks.subproj/WebBookmarkList.m:"Children"
 Bookmarks.subproj/WebBookmarkList.m:"Title"
 Bookmarks.subproj/WebBookmarkProxy.m:"Title"
 History.subproj/WebHistoryItem.m:" in \"%@\""
-History.subproj/WebHistoryItem.m:"NO"
-History.subproj/WebHistoryItem.m:"YES"
 History.subproj/WebHistoryItem.m:"children"
 History.subproj/WebHistoryItem.m:"title"
 Misc.subproj/WebKitLogging.m
diff --git a/WebKit/WebKit.pbproj/project.pbxproj b/WebKit/WebKit.pbproj/project.pbxproj
index a060d15..a889748 100644
--- a/WebKit/WebKit.pbproj/project.pbxproj
+++ b/WebKit/WebKit.pbproj/project.pbxproj
@@ -140,7 +140,7 @@
 				INSTALL_PATH = "@executable_path/../Frameworks";
 				LIBRARY_SEARCH_PATHS = "";
 				OPTIMIZATION_CFLAGS = "-Os";
-				OTHER_CFLAGS = "$(DEBUG_CFLAGS) -DAPPLE_CHANGES -DHAVE_CONFIG_H -DFRAMEWORK_NAME=WebKit";
+				OTHER_CFLAGS = "$(DEBUG_CFLAGS) -DFRAMEWORK_NAME=WebKit";
 				OTHER_LDFLAGS = "-seg1addr 0x7000000 -no-c++filt";
 				PRECOMPILE_PREFIX_HEADER = YES;
 				PREFIX_HEADER = WebKitPrefix.h;
@@ -185,7 +185,6 @@
 </dict>
 </plist>
 ";
-			shouldUseHeadermap = 1;
 		};
 		0867D69DFE84028FC02AAC07 = {
 			buildActionMask = 2147483647;
@@ -201,6 +200,12 @@
 				657D8FA6036669FC00FA1ED0,
 				657D8FA7036669FF00FA1ED0,
 				657D8FA803666A0200FA1ED0,
+				9316400E0379832D008635CE,
+				832E26A2036F95CA005E2B4F,
+				832E26A5036F9614005E2B4F,
+				936F62BF039DF0BF008635CE,
+				83413E8F0375BCD3004719BE,
+				83413E8E0375BCD3004719BE,
 				39446096020F50ED0ECA1767,
 				F520FB1B0221DEFD01C1A525,
 				39446097020F50ED0ECA1767,
@@ -214,6 +219,7 @@
 				2568C72D0174912D0ECA149E,
 				F5927D4F02D26C5E01CA2DBB,
 				93AEB17F032C1735008635CE,
+				7082F571038EADAA00A80180,
 				F53444D002E87CBA018635CA,
 				F53444D302E87D4B018635CA,
 				65490EC103666DFB000CED4B,
@@ -224,59 +230,64 @@
 				F560BEBE030DAF4401C1A526,
 				F59668CA02AD2923018635CA,
 				F501251D0302EA04018635CE,
+				517FA6AC03709FCE00CA2D3A,
 				F8CA15B9029A39D901000122,
-				F83DCC73029D09F301000131,
+				93154EF303A41270008635CE,
 				F8CA15BB029A39D901000122,
 				F8CA15C2029A3E0D01000122,
-				F5F717280288493C018635CA,
 				F5A672BD0263866E01000102,
 				F5EBC45802134BC301CA1520,
 				931A72D303265920008635CE,
+				65490EC303666E08000CED4B,
 				657D8FA2036669BC00FA1ED0,
 				657D8FA3036669D800FA1ED0,
 				F5F717240288493C018635CA,
 				657D8FA4036669DD00FA1ED0,
 				657D8FA5036669E300FA1ED0,
 				F5883BE2025E5E9D01000102,
-				F5F717260288493C018635CA,
-				65490EC303666E08000CED4B,
 				65490EC403666E0B000CED4B,
 				65490EC503666E0C000CED4B,
+				8467275E0367158500CA2ACA,
+				F5F717260288493C018635CA,
+				830A567403731461000C720C,
 				65490EC603666E0C000CED4B,
 				65490EC703666E0D000CED4B,
+				F5F717280288493C018635CA,
 				F5AFB46002B94DC8018635CA,
 				F5488CF602CB04EE01FF6274,
+				9311022A03667CF1008635CE,
 				F5E7B24703025CE801A80180,
 				9CE1F8A402A5C6F30ECA2ACD,
 				9CE1F8A602A5C6F30ECA2ACD,
 				65490EC803666E25000CED4B,
+				F5E0E10A02BC45F8018635CA,
 				F5B36B430281DF55018635CB,
 				F5F71748028855C5018635CA,
-				F5E0E10A02BC45F8018635CA,
 				F5F7174E02885C5B018635CA,
 				F5C283740284676D018635CA,
 				65490EC903666E30000CED4B,
-				933D659B03413FF2008635CE,
+				93154EF503A412E0008635CE,
+				5152FAD6033FC43400CA2ACD,
 				3944608E020F50ED0ECA1767,
+				5152FADA033FC44A00CA2ACD,
+				658CF8C103851FB5008C2A4B,
 				39446088020F50ED0ECA1767,
 				6523FAD1032DA06B005EFCFF,
-				5152FAD6033FC43400CA2ACD,
-				5152FADA033FC44A00CA2ACD,
 				3944608F020F50ED0ECA1767,
 				39446090020F50ED0ECA1767,
 				65490EC003666DF4000CED4B,
-				35081DAF02B6D4F50ACA2ACA,
 				5152FAE1033FC50400CA2ACD,
 				5152FAE3033FC50400CA2ACD,
+				35081DAF02B6D4F50ACA2ACA,
 				3944608B020F50ED0ECA1767,
-				35081DA202B6D4D80ACA2ACA,
-				35081DA402B6D4D80ACA2ACA,
 				39446091020F50ED0ECA1767,
 				9CF0E24B021361B10ECA16EA,
 				35081D9C02B6D4D80ACA2ACA,
+				F5A55DC802BAA2E8018635CC,
 				35081D9E02B6D4D80ACA2ACA,
 				35081DA002B6D4D80ACA2ACA,
-				F5A55DC802BAA2E8018635CC,
+				35081DA202B6D4D80ACA2ACA,
+				35081DA402B6D4D80ACA2ACA,
 				5152FAE7033FC52200CA2ACD,
 				F5D538EA02441F2601A80181,
 				3944608D020F50ED0ECA1767,
@@ -288,19 +299,6 @@
 				39446092020F50ED0ECA1767,
 				39446093020F50ED0ECA1767,
 				511D5554033FD51000CA2ACD,
-				933D659B03413FF2008635CE,
-				9311022A03667CF1008635CE,
-				8467275E0367158500CA2ACA,
-				832E26A2036F95CA005E2B4F,
-				832E26A5036F9614005E2B4F,
-				517FA6AC03709FCE00CA2D3A,
-				830A567403731461000C720C,
-				83413E8E0375BCD3004719BE,
-				83413E8F0375BCD3004719BE,
-				9316400E0379832D008635CE,
-				658CF8C103851FB5008C2A4B,
-				7082F571038EADAA00A80180,
-				936F62BF039DF0BF008635CE,
 			);
 			isa = PBXHeadersBuildPhase;
 			runOnlyForDeploymentPostprocessing = 0;
@@ -310,10 +308,10 @@
 			files = (
 				089C1668FE841158C02AAC07,
 				35F357800198AAB80ACA1520,
-				F5B67131023EDF8901C1A525,
-				F5883BDF025E5C6A01000102,
-				9345D17D0365BF35008635CE,
 				9345D4E90365C58D008635CE,
+				9345D17D0365BF35008635CE,
+				F5883BDF025E5C6A01000102,
+				F5B67131023EDF8901C1A525,
 			);
 			isa = PBXResourcesBuildPhase;
 			runOnlyForDeploymentPostprocessing = 0;
@@ -321,99 +319,99 @@
 		0867D69FFE84028FC02AAC07 = {
 			buildActionMask = 2147483647;
 			files = (
-				3944609D020F50ED0ECA1767,
-				3944609E020F50ED0ECA1767,
-				394460A1020F50ED0ECA1767,
-				394460A2020F50ED0ECA1767,
-				394460A3020F50ED0ECA1767,
-				394460A5020F50ED0ECA1767,
-				394460A6020F50ED0ECA1767,
-				394460A7020F50ED0ECA1767,
+				F5065223027F557E01C1A526,
+				F5065225027F557E01C1A526,
+				BED907790389380000CA289C,
+				F5065227027F557E01C1A526,
+				F5065229027F557E01C1A526,
+				EDD9134003576AFF00C1A526,
+				F57D1954034E734901A80180,
+				F57D1956034E734901A80180,
+				F57D195A034E734901A80180,
+				9316400F0379832D008635CE,
+				832E26A6036F9614005E2B4F,
+				936F62C0039DF0BF008635CE,
+				83413E900375BCD3004719BE,
+				83413E8A0375BCBE004719BE,
 				394460A8020F50ED0ECA1767,
-				394460A9020F50ED0ECA1767,
-				F5EBC45A02134BC301CA1520,
-				9CF0E24C021361B10ECA16EA,
-				F5143A380221DCCE01A80181,
 				F520FB1C0221DEFD01C1A525,
+				394460A9020F50ED0ECA1767,
 				F5B92B850223191D01C1A525,
-				F5D538ED02441FDD01A80181,
-				F5AEBB3E024A527601C1A526,
+				F5E0A77102B8FEE401C1A525,
 				F59EAE420253C8DE018635CA,
-				F5883BE3025E5E9D01000102,
+				394460A7020F50ED0ECA1767,
+				F528E3ED031E91AD01CA2ACA,
+				F5934C8B02E894F50197FBCF,
+				9367C637034E9F00008635C5,
+				93AEB180032C1735008635CE,
+				7082F572038EADAA00A80180,
+				F53444D102E87CBA018635CA,
+				9345DDB50365FFD0008635CE,
+				8398847D03426FB000BC5F5E,
+				ED2B2477033A2DA800C1A526,
+				F508946C02B71D59018A9CD4,
+				9345DDB10365FB27008635CE,
+				F560BEBF030DAF4401C1A526,
+				F59668CB02AD2923018635CA,
+				F501251E0302EA04018635CE,
+				517FA6AD03709FCE00CA2D3A,
+				517FA6AE03709FCE00CA2D3A,
+				F8CA15BA029A39D901000122,
+				93154EF403A41270008635CE,
+				F8CA15BC029A39D901000122,
 				F5A672BE0263866E01000102,
-				F5065223027F557E01C1A526,
-				F5065225027F557E01C1A526,
-				F5065227027F557E01C1A526,
-				F5065229027F557E01C1A526,
-				F5B36B440281DF55018635CB,
-				F5B36B480281DF9C018635CB,
+				F5EBC45A02134BC301CA1520,
+				83E4AF49036652150000E506,
+				84D4BFFE0348EF9D00CA2ACA,
+				84D4BFFA0348EF7600CA2ACA,
 				F5F717250288493C018635CA,
+				83402EF9035A588900BE770A,
+				83402EFD035A58D100BE770A,
+				F5883BE3025E5E9D01000102,
+				8467275F0367158500CA2ACA,
 				F5F717270288493C018635CA,
+				830A567503731461000C720C,
+				83E4AF4E036659440000E506,
 				F5F717290288493C018635CA,
-				F5F7174F02885C5B018635CA,
-				F8CA15BA029A39D901000122,
-				F8CA15BC029A39D901000122,
-				F83DCC74029D09F301000131,
+				F5AFB46102B94DC8018635CA,
+				F5488CF702CB04EE01FF6274,
+				9311022B03667CF1008635CE,
+				F5E7B24803025CE801A80180,
 				9CE1F8A502A5C6F30ECA2ACD,
 				9CE1F8A702A5C6F30ECA2ACD,
-				F59668CB02AD2923018635CA,
-				F5F81C3C02B67C26018635CA,
+				9345D4ED0365C5B2008635CE,
+				F5E0E10B02BC45F8018635CA,
+				F5B36B440281DF55018635CB,
+				F5B36B480281DF9C018635CB,
+				F5F7174F02885C5B018635CA,
+				F5F732D302FF4D4F01A80180,
+				51F6866F0366057300CA2D3A,
+				933D659C03413FF2008635CE,
+				3944609D020F50ED0ECA1767,
+				5152FADB033FC44A00CA2ACD,
+				3944609E020F50ED0ECA1767,
+				6523FAD2032DA06B005EFCFF,
+				394460A2020F50ED0ECA1767,
+				394460A3020F50ED0ECA1767,
+				F57FB8C7034E180101A80180,
+				5152FAE2033FC50400CA2ACD,
+				5152FAE4033FC50400CA2ACD,
+				394460A1020F50ED0ECA1767,
+				F5143A380221DCCE01A80181,
+				9CF0E24C021361B10ECA16EA,
 				35081D9D02B6D4D80ACA2ACA,
 				35081D9F02B6D4D80ACA2ACA,
 				35081DA102B6D4D80ACA2ACA,
 				35081DA302B6D4D80ACA2ACA,
 				35081DA502B6D4D80ACA2ACA,
+				5152FAE8033FC52200CA2ACD,
+				F5D538ED02441FDD01A80181,
+				F5AEBB3E024A527601C1A526,
+				F5F81C3C02B67C26018635CA,
 				35081DAB02B6D4E40ACA2ACA,
 				35081DAD02B6D4E40ACA2ACA,
-				F508946C02B71D59018A9CD4,
-				F5AFB46102B94DC8018635CA,
-				F5E0A77102B8FEE401C1A525,
-				F5E0E10B02BC45F8018635CA,
-				F5488CF702CB04EE01FF6274,
-				F53444D102E87CBA018635CA,
-				F5934C8B02E894F50197FBCF,
-				F5F732D302FF4D4F01A80180,
-				F5E7B24803025CE801A80180,
-				F501251E0302EA04018635CE,
-				F560BEBF030DAF4401C1A526,
-				F528E3ED031E91AD01CA2ACA,
-				93AEB180032C1735008635CE,
-				6523FAD2032DA06B005EFCFF,
-				ED2B2477033A2DA800C1A526,
-				5152FADB033FC44A00CA2ACD,
-				5152FAE2033FC50400CA2ACD,
-				5152FAE4033FC50400CA2ACD,
-				5152FAE8033FC52200CA2ACD,
-				933D659C03413FF2008635CE,
-				8398847D03426FB000BC5F5E,
-				84D4BFFA0348EF7600CA2ACA,
-				84D4BFFE0348EF9D00CA2ACA,
-				F57FB8C7034E180101A80180,
-				F57D1954034E734901A80180,
-				F57D1956034E734901A80180,
-				F57D195A034E734901A80180,
-				9367C637034E9F00008635C5,
-				EDD9134003576AFF00C1A526,
-				83402EF9035A588900BE770A,
-				83402EFD035A58D100BE770A,
-				9345D4ED0365C5B2008635CE,
-				9345DDB10365FB27008635CE,
-				9345DDB50365FFD0008635CE,
-				51F6866F0366057300CA2D3A,
-				83E4AF49036652150000E506,
-				83E4AF4E036659440000E506,
-				9311022B03667CF1008635CE,
-				8467275F0367158500CA2ACA,
-				832E26A6036F9614005E2B4F,
-				517FA6AD03709FCE00CA2D3A,
-				517FA6AE03709FCE00CA2D3A,
-				830A567503731461000C720C,
-				83413E8A0375BCBE004719BE,
-				83413E900375BCD3004719BE,
-				9316400F0379832D008635CE,
-				BED907790389380000CA289C,
-				7082F572038EADAA00A80180,
-				936F62C0039DF0BF008635CE,
+				394460A5020F50ED0ECA1767,
+				394460A6020F50ED0ECA1767,
 			);
 			isa = PBXSourcesBuildPhase;
 			runOnlyForDeploymentPostprocessing = 0;
@@ -489,6 +487,9 @@
 				F5934C8902E894F50197FBCF,
 				2568C72C0174912D0ECA149E,
 				F5927D4E02D26C5E01CA2DBB,
+				9367C636034E9F00008635C5,
+				7082F56F038EADAA00A80180,
+				7082F570038EADAA00A80180,
 				F5C283730284676D018635CA,
 				9345DDB20365FFD0008635CE,
 				9345DDB30365FFD0008635CE,
@@ -504,12 +505,9 @@
 				F560BEBD030DAF4401C1A526,
 				F59668C802AD2923018635CA,
 				F59668C902AD2923018635CA,
-				9367C636034E9F00008635C5,
 				517FA6A903709FCE00CA2D3A,
 				517FA6AA03709FCE00CA2D3A,
 				517FA6AB03709FCE00CA2D3A,
-				7082F56F038EADAA00A80180,
-				7082F570038EADAA00A80180,
 			);
 			isa = PBXGroup;
 			name = Misc;
@@ -548,14 +546,14 @@
 			children = (
 				3944607D020F50ED0ECA1767,
 				3944607E020F50ED0ECA1767,
+				F520FB190221DEFD01C1A525,
+				F5B92B820223191D01C1A525,
+				F520FB1A0221DEFD01C1A525,
+				F5B92B830223191D01C1A525,
 				3944607F020F50ED0ECA1767,
 				39446080020F50ED0ECA1767,
 				F5E0A76E02B8FEE401C1A525,
 				F5E0A76F02B8FEE401C1A525,
-				F520FB190221DEFD01C1A525,
-				F520FB1A0221DEFD01C1A525,
-				F5B92B820223191D01C1A525,
-				F5B92B830223191D01C1A525,
 			);
 			isa = PBXGroup;
 			name = History;
@@ -1589,10 +1587,10 @@
 				832E26A1036F95CA005E2B4F,
 				832E26A3036F9614005E2B4F,
 				832E26A4036F9614005E2B4F,
-				83413E8C0375BCD3004719BE,
-				83413E8D0375BCD3004719BE,
 				936F62BD039DF0BF008635CE,
 				936F62BE039DF0BF008635CE,
+				83413E8C0375BCD3004719BE,
+				83413E8D0375BCD3004719BE,
 			);
 			isa = PBXGroup;
 			name = Downloads;
@@ -1933,6 +1931,36 @@
 			settings = {
 			};
 		};
+		93154EF103A41270008635CE = {
+			fileEncoding = 4;
+			isa = PBXFileReference;
+			path = WebPanelAuthenticationHandler.h;
+			refType = 4;
+		};
+		93154EF203A41270008635CE = {
+			fileEncoding = 4;
+			isa = PBXFileReference;
+			path = WebPanelAuthenticationHandler.m;
+			refType = 4;
+		};
+		93154EF303A41270008635CE = {
+			fileRef = 93154EF103A41270008635CE;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
+		93154EF403A41270008635CE = {
+			fileRef = 93154EF203A41270008635CE;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
+		93154EF503A412E0008635CE = {
+			fileRef = 933D659903413FF2008635CE;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
 		9316400C0379832D008635CE = {
 			fileEncoding = 4;
 			isa = PBXFileReference;
@@ -1997,12 +2025,6 @@
 			path = WebClipView.m;
 			refType = 4;
 		};
-		933D659B03413FF2008635CE = {
-			fileRef = 933D659903413FF2008635CE;
-			isa = PBXBuildFile;
-			settings = {
-			};
-		};
 		933D659C03413FF2008635CE = {
 			fileRef = 933D659A03413FF2008635CE;
 			isa = PBXBuildFile;
@@ -2194,48 +2216,48 @@
 				F52CA6BD02DF9D0F018635CA,
 				F52CA6BE02DF9D49018635CA,
 				F52CA6BF02DF9D4D018635CA,
-				35081DAE02B6D4F50ACA2ACA,
-				3944606B020F50ED0ECA1767,
-				3944606C020F50ED0ECA1767,
-				F5D538E802441F2601A80181,
-				F5D538EC02441FDD01A80181,
-				3944606E020F50ED0ECA1767,
-				9CAE9D070252A4130ECA16EA,
-				F5AEBB3D024A527601C1A526,
+				51F6866C0366057300CA2D3A,
+				51F6866D0366057300CA2D3A,
+				933D659903413FF2008635CE,
+				933D659A03413FF2008635CE,
+				5152FAD5033FC43400CA2ACD,
 				3944606F020F50ED0ECA1767,
-				39446064020F50ED0ECA1767,
 				39446065020F50ED0ECA1767,
+				39446064020F50ED0ECA1767,
 				39446066020F50ED0ECA1767,
+				5152FAD7033FC44A00CA2ACD,
+				658CF8C003851FB5008C2A4B,
+				5152FAD8033FC44A00CA2ACD,
+				6523FACF032DA06B005EFCFF,
+				6523FAD0032DA06B005EFCFF,
 				39446070020F50ED0ECA1767,
-				39446071020F50ED0ECA1767,
 				39446072020F50ED0ECA1767,
+				39446071020F50ED0ECA1767,
 				39446073020F50ED0ECA1767,
-				39446076020F50ED0ECA1767,
-				39446077020F50ED0ECA1767,
-				39446078020F50ED0ECA1767,
-				39446079020F50ED0ECA1767,
-				39446074020F50ED0ECA1767,
-				F5143A370221DCCE01A80181,
-				9CF0E249021361B00ECA16EA,
-				9CF0E24A021361B00ECA16EA,
-				5152FAD5033FC43400CA2ACD,
-				6523FACF032DA06B005EFCFF,
-				6523FAD0032DA06B005EFCFF,
-				5152FAD7033FC44A00CA2ACD,
-				5152FAD8033FC44A00CA2ACD,
-				658CF8C003851FB5008C2A4B,
 				5152FADD033FC50400CA2ACD,
 				5152FADE033FC50400CA2ACD,
 				5152FADF033FC50400CA2ACD,
 				5152FAE0033FC50400CA2ACD,
+				35081DAE02B6D4F50ACA2ACA,
+				3944606B020F50ED0ECA1767,
+				3944606C020F50ED0ECA1767,
+				39446074020F50ED0ECA1767,
+				F5143A370221DCCE01A80181,
+				9CF0E249021361B00ECA16EA,
+				9CF0E24A021361B00ECA16EA,
 				5152FAE5033FC52200CA2ACD,
 				5152FAE6033FC52200CA2ACD,
-				511D5553033FD51000CA2ACD,
-				933D659903413FF2008635CE,
-				933D659A03413FF2008635CE,
+				F5D538E802441F2601A80181,
+				F5D538EC02441FDD01A80181,
+				3944606E020F50ED0ECA1767,
+				9CAE9D070252A4130ECA16EA,
+				F5AEBB3D024A527601C1A526,
 				513D422E034CF55A00CA2ACD,
-				51F6866C0366057300CA2D3A,
-				51F6866D0366057300CA2D3A,
+				39446076020F50ED0ECA1767,
+				39446078020F50ED0ECA1767,
+				39446077020F50ED0ECA1767,
+				39446079020F50ED0ECA1767,
+				511D5553033FD51000CA2ACD,
 			);
 			isa = PBXGroup;
 			name = WebView;
@@ -2463,11 +2485,11 @@
 		};
 		F5065217027F555001C1A526 = {
 			children = (
-				F5065218027F557E01C1A526,
 				F5065219027F557E01C1A526,
+				F5065218027F557E01C1A526,
 				F506521A027F557E01C1A526,
-				F50AD3870282028B01C1A526,
 				F506521B027F557E01C1A526,
+				F50AD3870282028B01C1A526,
 				F506521C027F557E01C1A526,
 				BED907760389380000CA289C,
 				BED907770389380000CA289C,
@@ -2726,11 +2748,11 @@
 		F52CA6BD02DF9D0F018635CA = {
 			children = (
 				35081D9202B6D4D80ACA2ACA,
-				35081D9302B6D4D80ACA2ACA,
 				F5A55DC702BAA2E8018635CC,
+				35081D9302B6D4D80ACA2ACA,
 				35081D9402B6D4D80ACA2ACA,
-				35081D9502B6D4D80ACA2ACA,
 				35081D9602B6D4D80ACA2ACA,
+				35081D9502B6D4D80ACA2ACA,
 				35081D9702B6D4D80ACA2ACA,
 			);
 			isa = PBXGroup;
@@ -2764,6 +2786,8 @@
 			children = (
 				F59EAE3E0253C7EE018635CA,
 				F59EAE410253C8DE018635CA,
+				F57FB8C4034E180101A80180,
+				F57FB8C5034E180101A80180,
 				93AEB17D032C1735008635CE,
 				93AEB17E032C1735008635CE,
 				F53444CE02E87CBA018635CA,
@@ -2773,8 +2797,6 @@
 				F5F81C3A02B67C26018635CA,
 				F501251B0302EA04018635CE,
 				F501251C0302EA04018635CE,
-				F57FB8C4034E180101A80180,
-				F57FB8C5034E180101A80180,
 			);
 			isa = PBXGroup;
 			name = Debug;
@@ -3676,42 +3698,16 @@
 			settings = {
 			};
 		};
-		F83DCC71029D09F301000131 = {
-			fileEncoding = 30;
-			isa = PBXFileReference;
-			path = WebPanelAuthenticationHandler.h;
-			refType = 4;
-		};
-		F83DCC72029D09F301000131 = {
-			fileEncoding = 30;
-			isa = PBXFileReference;
-			path = WebPanelAuthenticationHandler.m;
-			refType = 4;
-		};
-		F83DCC73029D09F301000131 = {
-			fileRef = F83DCC71029D09F301000131;
-			isa = PBXBuildFile;
-			settings = {
-			};
-		};
-		F83DCC74029D09F301000131 = {
-			fileRef = F83DCC72029D09F301000131;
-			isa = PBXBuildFile;
-			settings = {
-			};
-		};
 		F8CA15B4029A399401000122 = {
 			children = (
 				F8CA15B5029A39D901000122,
 				F8CA15B6029A39D901000122,
-				F83DCC71029D09F301000131,
-				F83DCC72029D09F301000131,
+				93154EF103A41270008635CE,
+				93154EF203A41270008635CE,
 				F8CA15B7029A39D901000122,
-				F8CA15C1029A3E0D01000122,
 				F8CA15B8029A39D901000122,
 				F8CA15C1029A3E0D01000122,
-				F83DCC71029D09F301000131,
-				F83DCC72029D09F301000131,
+				F8CA15C1029A3E0D01000122,
 				9345D17B0365BF35008635CE,
 			);
 			isa = PBXGroup;
diff --git a/WebKit/WebView.subproj/WebDataSourcePrivate.m b/WebKit/WebView.subproj/WebDataSourcePrivate.m
index f221bea..a9b3b55 100644
--- a/WebKit/WebView.subproj/WebDataSourcePrivate.m
+++ b/WebKit/WebView.subproj/WebDataSourcePrivate.m
@@ -499,6 +499,8 @@
 {
     _private->gotFirstByte = YES;
     [self _commitIfReady];
+
+    [[self representation] finishedLoadingWithDataSource:self];
 }
 
 - (void)_updateIconDatabaseWithURL:(NSURL *)iconURL
diff --git a/WebKit/WebView.subproj/WebFrameView.m b/WebKit/WebView.subproj/WebFrameView.m
index 71ec9bf..ea866f1 100644
--- a/WebKit/WebView.subproj/WebFrameView.m
+++ b/WebKit/WebView.subproj/WebFrameView.m
@@ -140,7 +140,6 @@ NSString *WebErrorDomainWebKit = @"WebErrorDomainWebKit";
     return _private->controller;
 }
 
-
 - (BOOL)isDocumentHTML
 {
     return [[self documentView] isKindOfClass:[WebHTMLView class]];
@@ -206,7 +205,22 @@ NSString *WebErrorDomainWebKit = @"WebErrorDomainWebKit";
         // Need to paint ourselves if there's no documentView to do it instead.
         [[NSColor whiteColor] set];
         NSRectFill(rect);
+    } else {
+#ifndef NDEBUG
+        if ([_private->frameScrollView drawsBackground]) {
+            [[NSColor cyanColor] set];
+            NSRectFill(rect);
+        }
+#endif
+    }
+}
+
+- (void)setFrameSize:(NSSize)size
+{
+    if (!NSEqualSizes(size, [self frame].size)) {
+        [_private->frameScrollView setDrawsBackground:YES];
     }
+    [super setFrameSize:size];
 }
 
 - (NSWindow *)window
diff --git a/WebKit/WebView.subproj/WebHTMLRepresentation.m b/WebKit/WebView.subproj/WebHTMLRepresentation.m
index cb4ecdf..479ee93 100644
--- a/WebKit/WebView.subproj/WebHTMLRepresentation.m
+++ b/WebKit/WebView.subproj/WebHTMLRepresentation.m
@@ -67,6 +67,11 @@
 
 - (void)finishedLoadingWithDataSource:(WebDataSource *)dataSource
 {
+    // Telling the bridge we received some data and passing nil as the data is our
+    // way to get work done that is normally done when the first bit of data is
+    // received, even for the case of a document with no data (like about:blank).
+    if ([dataSource webFrame])
+        [_private->bridge receivedData:nil withDataSource:dataSource];
 }
 
 - (NSString *)documentSource
diff --git a/WebKit/WebView.subproj/WebMainResourceClient.m b/WebKit/WebView.subproj/WebMainResourceClient.m
index 9806ebd..a99fbe4 100644
--- a/WebKit/WebView.subproj/WebMainResourceClient.m
+++ b/WebKit/WebView.subproj/WebMainResourceClient.m
@@ -306,7 +306,6 @@
         downloadHandler = nil;
     } else {
         [dataSource _setResourceData:resourceData];
-        [[dataSource representation] finishedLoadingWithDataSource:dataSource];
         [dataSource _finishedLoading];
         [[dataSource controller] _mainReceivedBytesSoFar:[resourceData length]
                                           fromDataSource:dataSource
diff --git a/WebKit/WebView.subproj/WebMainResourceLoader.m b/WebKit/WebView.subproj/WebMainResourceLoader.m
index 9806ebd..a99fbe4 100644
--- a/WebKit/WebView.subproj/WebMainResourceLoader.m
+++ b/WebKit/WebView.subproj/WebMainResourceLoader.m
@@ -306,7 +306,6 @@
         downloadHandler = nil;
     } else {
         [dataSource _setResourceData:resourceData];
-        [[dataSource representation] finishedLoadingWithDataSource:dataSource];
         [dataSource _finishedLoading];
         [[dataSource controller] _mainReceivedBytesSoFar:[resourceData length]
                                           fromDataSource:dataSource

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list