Skip to content
  • darin's avatar
    WebFoundation: · 70b6438f
    darin authored
            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
    70b6438f