Skip to content
  • mjs's avatar
    WebFoundation: · b1432259
    mjs authored
            Reviewed by Trey and Darin.
    
    	Minor fixes required to fix these bugs:
    
    	3124933 - abcnews.com leads to empty window with sheet complaining about javascript: URL
    	3091248 - picture does not show up in window from epinions
    
    	* CacheLoader.subproj/WebResourceResponse.h: Don't include uninstalled headers
    	in this private but installed header.
            * ProtocolHandlers.subproj/WebAboutProtocolHandler.m:
            (-[WebAboutProtocolHandler setResponseMetadata:]): "about:blank"
    	should be a blank html document, not a blank plain text document.
            * Misc.subproj/WebNSURLExtras.h:
            * Misc.subproj/WebNSURLExtras.m:
            (-[NSString _web_shouldLoadAsEmptyDocument]): New method.
    	* English.lproj/StringsNotToBeLocalized.txt: Updated.
    
    WebCore:
    
            Reviewed by Trey and Darin.
    
    	- fixed 3124933 - abcnews.com leads to empty window with sheet complaining about javascript: URL
    	- fixed 3091248 - picture does not show up in window from epinions
    
    
            * khtml/ecma/kjs_window.cpp:
            (Window::get): Put back document-creating code that was in #if
    	!APPLE_CHANGES.
    	(Window::isSafeScript): Extend access to a window that was opened
    	to no URL or to about:blank by the active window.
            (shouldLoadAsEmptyDocument): Helper for the above.
            (WindowFunc::tryCall): Update APPLE_CHANGES comments - now it's
    	clear we don't need to create a document in a fresh window
    	(accessing document will take care of that), and that it will be
    	counter-productive, possibly adding a useless entry to the
    	back/forward list.
            * khtml/khtml_part.cpp:
            (KHTMLPart::begin): If we're not loading a URL, make a dummy
    	document (the call will check if we have a dummy document
    	already).
            * kwq/KWQKHTMLPart.mm:
    	(KWQKHTMLPart::createEmptyDocument): Isntead of setting up a
    	half-assed document, ask bridge to synchronously load a fully
    	assed (but empty) document. Renamed from createDummyDocument.
            * kwq/KWQKHTMLPartBrowserExtension.mm:
            (KHTMLPartBrowserExtension::openURLRequest): Decode script. Also,
    	check if return value is a string - if so, write it into the
    	document. Maybe we want this to be more general.
            * kwq/KWQKURL.mm:
            (KURL::KURL): Changed to successfully resolve absolute URLs
    	against an empty base URL.
            * kwq/WebCoreBridge.h: prototyped new
    	loadEmptyDocumentSynchronously method.
    
    WebKit:
    
            Reviewed by Darin and Trey.
    
    	- fixed 3124933 - abcnews.com leads to empty window with sheet complaining about javascript: URL
    	- fixed 3091248 - picture does not show up in window from epinions
    	- made "about:blank" load synchronously, which I'm told is required by some sites.
    
            * WebCoreSupport.subproj/WebBridge.m:
            (-[WebBridge createWindowWithURL:frameName:]): If the URL is nil
    	or empty, pass a nil request - otherwise WebBrowser will try to
    	load it, resulting in an extra back/forward list entry.
            (-[WebBridge loadEmptyDocumentSynchronously]): Tell the frame to
    	load a request with an empty URL - this will cause a synchronous
    	load of an empty html document
            * WebView.subproj/WebBaseResourceHandleDelegate.h:
            * WebView.subproj/WebBaseResourceHandleDelegate.m:
    	(-[WebBaseResourceHandleDelegate loadWithRequest:]): Split off
    	startLoading: part of method to allow behavior to be subclassed.
            (-[WebBaseResourceHandleDelegate startLoading:]):
            * WebView.subproj/WebDataSourcePrivate.m:
            (-[WebDataSource _commitIfReady:]): Lie and claim the URL is
    	"about:blank" if it's really empty to avoid confusing WebCore.
            * WebView.subproj/WebFramePrivate.m:
            (-[WebFrame _transitionToCommitted:]): Don't put the empty URL in
    	global history.
            (-[WebFrame
    	_checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]):
    	Don't check policy if URL is empty - this is likely to confuse the
    	client and we know what the right behavior here is.
            * WebView.subproj/WebMainResourceClient.m:
    	(-[WebMainResourceClient startLoading:]): Try to load
    	"about:blank" and the empty URL synchronously, bypassing
    	WebFoundation.
            (-[WebMainResourceClient continueAfterContentPolicy:response:]): Ditto.
            (-[WebMainResourceClient setDefersCallbacks:]): Ditto.
            * English.lproj/StringsNotToBeLocalized.txt: Updated.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3124 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    b1432259