1. 20 Dec, 2002 1 commit
    • darin's avatar
      Reviewed by Dave. · 35355e5d
      darin authored
      	- fixed 3129129 -- leak of 820 RenderStyle objects each time we run cvs-base
      
      	The RenderStyle objects were the tip of an iceberg.
      
              I fixed a lot of leaks, but there are still some remaining.
      
      	Note that these changes will make Development builds slower because they disable
      	the arena allocator in favor of assertions that check we are using it correctly.
      	But the changes make Deployment builds slightly faster.
      
              * khtml/html/html_baseimpl.cpp: (HTMLFrameSetElementImpl::attach):
      	Fix a leak in the !isStyleAvailable() case by ref'ing and deref'ing the style.
      
              * khtml/html/html_formimpl.cpp:
              (HTMLFormElementImpl::attach): Fix a leak by getting the style from the render
      	object instead of calling styleForElement again, which makes a new one.
              (HTMLFormElementImpl::parseAttribute): Ditto.
              (HTMLInputElementImpl::attach): Fix a leak by using the style in the local
      	variable rather than calling styleForElement again.
      
              * khtml/html/html_imageimpl.cpp:
              (HTMLImageElementImpl::parseAttribute): Fix a leak by getting the style from the render
      	object instead of calling styleForElement again, which makes a new one.
              (HTMLImageElementImpl::attach): Fix a leak by using the style in the local
      	variable rather than calling styleForElement again.
      
              * khtml/html/html_inlineimpl.cpp: (HTMLBRElementImpl::attach):
      	Fix a leak in the display() == NONE case by ref'ing and deref'ing the style.
      
              * khtml/html/html_objectimpl.cpp: (HTMLObjectElementImpl::attach): Fix a leak by using
      	the style in the local variable rather than calling styleForElement again.
      
              * khtml/rendering/bidi.cpp:
              (BidiIterator::detach): Added debugging code to detect if someone does a delete directly,
      	which will not deallocate the object because it won't run the correct arena code.
              (BidiIterator::operator delete): Ditto.
              (appendRunsForObject): Fix a leak by detaching bidi iterators when they are removed from
      	the list. The list can't delete them because it doesn't have the arena pointer.
              (deleteMidpoints): Fix a leak by not removing the items from the list until done iterating.
      	The old code would fail to delete half the items.
      
              * khtml/rendering/render_container.cpp:
              (RenderContainer::detach): Detach the continuation here. Before we removed it but did not
      	detach it, which led to a leak.
              (RenderContainer::removeChild): Do not remove the continuation here. If we do, then we can't
      	detach successfully. No one depends on this removing the continuation.
              (RenderContainer::removeLeftoverAnonymousBoxes): Detach the child, don't just delete it.
      	This fixes a leak.
      
              * khtml/rendering/render_flow.cpp: (RenderFlow::removeChild): Detach the child, don't just
      	delete it. This fixes a leak.
      
              * khtml/rendering/render_object.h: Added arenaDelete.
              * khtml/rendering/render_object.cpp:
              (RenderObject::operator delete): Added debugging code to detect if someone does a delete directly,
      	which will not deallocate the object because it won't run the correct arena code.
              (RenderObject::detach): Ditto.
              (RenderObject::arenaDelete): Put the low-level delete here, so that subclasses (RenderWidget)
      	can call it.
      
              * khtml/rendering/render_replaced.h: Add arenaDeref and make deref private so derived classes
      	won't use it by accident.
              * khtml/rendering/render_replaced.cpp:
              (RenderWidget::detach): Use the new arenaDeref instead of deref, since we need to pass the
      	arena pointer in to delete.
              (RenderWidget::resizeWidget): Ditto. Store the arena before calling back, since we can't get it
      	once it's detached from its parent.
              (RenderWidget::eventFilter): Ditto.
              (RenderWidget::arenaDeref): Added. Calls RenderObject's arenaDelete.
      
      	- other changes
      
              * khtml/rendering/render_arena.cpp:
              (RenderArena::allocate): Added debugging code that stores a signature, arena pointer, and size,
      	and uses malloc rather than the arena.
              (RenderArena::free): Check the signature, arena pointer, and size, and use free.
      
              * khtml/rendering/render_layer.cpp:
              (RenderLayer::operator delete): Added debugging code to detect if someone does a delete directly,
      	which will not deallocate the object because it won't run the correct arena code.
              (RenderLayer::detach): Ditto.
              (RenderLayer::RenderLayerElement::operator delete): Ditto.
              (RenderLayer::RenderLayerElement::detach): Ditto.
              (RenderLayer::RenderZTreeNode::operator delete): Ditto.
              (RenderLayer::RenderZTreeNode::detach): Ditto.
      
              * khtml/rendering/render_text.cpp:
              (TextSlave::detach): Added debugging code to detect if someone does a delete directly,
      	which will not deallocate the object because it won't run the correct arena code.
              (TextSlave::operator delete): Ditto.
      
              * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::createContextualFragment):
      	Save one new/delete by using a stack-based HTMLTokenizer and add FIXMEs about
      	some possible leaks I spotted here.
      
              * khtml/rendering/render_list.cpp: (RenderListItem::setStyle): Took out APPLE_CHANGES from around
      	a generally useful bug fix.
      
              * WebCore.pbproj/project.pbxproj: Let Electron be Electron.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3147 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      35355e5d
  2. 19 Dec, 2002 10 commits
    • sheridan's avatar
      alexander-42 · 3810ad1a
      sheridan authored
      it's the meaning of life
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3145 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3810ad1a
    • sullivan's avatar
      WebKit: · 68d6d24d
      sullivan authored
      	- WebKit part of fix for 3124949 -- Alexander recreates the
      	default set of bookmarks every time a separate app copy is launched
      
              Reviewed by Darin
      
              * Bookmarks.subproj/WebBookmarkGroup.h:
      	new _tag ivar and -tag method.
      
              * Bookmarks.subproj/WebBookmarkGroup.m:
              (-[WebBookmarkGroup dealloc]):
      	release _tag
              (-[WebBookmarkGroup tag]):
      	return _tag
              (-[WebBookmarkGroup _loadBookmarkGroupGuts]):
      	read _tag from the dictionary in the file (or leave it at
      	nil if there's no value in the file).
      
              * English.lproj/StringsNotToBeLocalized.txt:
      	kept this file up to date
      
      WebBrowser:
      
      	- WebBrowser part of fix for 3124949 -- Alexander recreates the
      	default set of bookmarks every time a separate app copy is launched
      
              Reviewed by Darin
      
              * BookmarksController.m:
              (-[BookmarksController mergeBuiltInBookmarksIfNecessary]):
      	if the mod date has changed since the last time this was
      	checked, check the tag in the bookmarks	group (loaded from the
      	file) to see if it has changed. If the tag hasn't changed, then
      	don't merge the built-in bookmarks.
      
              * PreferenceKeys.h:
      	new #define BuiltInBookmarksTagPreferenceKey
      
              * English.lproj/BuiltInBookmarks.plist:
      	Added tag (happens to be string that looks like a date) to
      	this file. We'll update this whenever we update the contents.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3144 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      68d6d24d
    • hyatt's avatar
      Fix for 3129393, crasher on sundancecatalog.com. There · 7f3f4ea2
      hyatt authored
      	are two elements to this fix.  The basic problem was that
      	sundancecatalog was saying:
      
      	<table style="display: inline">
      
      	In WinIE, this turns into an inline-table and not an inline.
      	In Gecko this does not happen.  Like Gecko, we treated this
      	as an inline, so we triggered a problem in my inline splitting
      	code.
      
      	The first fix was to bulletproof my inline splitting code to
      	ensure all new render objects are fully connected before children
      	are added, so that you can get to renderArenas at all times.
      
      	The second fix implements the WinIE quirk and turns the table
      	into an inline-table so that you avoid a complete garbage
      	render tree.
      
              Reviewed by trey
      
              * khtml/css/html4.css:
              * khtml/rendering/render_flow.cpp:
              (RenderFlow::layout):
              (RenderFlow::splitFlow):
              (RenderFlow::addChildToFlow):
              * khtml/rendering/render_flow.h:
              * khtml/rendering/render_list.cpp:
              (RenderListMarker::lineHeight):
              * khtml/rendering/render_list.h:
              * khtml/rendering/render_object.cpp:
              (RenderObject::createObject):
              * khtml/rendering/render_table.cpp:
              (RenderTable::lineHeight):
              (RenderTable::baselinePosition):
              (RenderTable::setStyle):
              * khtml/rendering/render_table.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3143 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7f3f4ea2
    • darin's avatar
      Reviewed by John. · 8ed959e6
      darin authored
      	A number of non-reproducible bugs look like they may be due to bad
      	event objects. I was assuming that callers retained the events until
      	the functions handling them returned, but that assumption may be wrong.
      	So I'm retaining/releasing the current event. This is correct in any case.
      	I'm also adding a new assertion, but since assertions are in Development
      	builds only that is very low risk.
      
              * kwq/KWQKHTMLPart.mm:
              (KWQKHTMLPart::keyEvent): Add retain/release and a new assertion.
              (KWQKHTMLPart::mouseDown): Ditto.
              (KWQKHTMLPart::mouseDragged): Ditto.
              (KWQKHTMLPart::mouseUp): Ditto.
              (KWQKHTMLPart::mouseMoved): Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3142 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8ed959e6
    • darin's avatar
      Added missing bug # to log. · 9d0f1a76
      darin authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3141 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9d0f1a76
    • darin's avatar
      WebKit: · 27fa8d4c
      darin authored
              Reviewed by John.
      
      	- corrected the name of a method that was leading to trouble elsewhere
      
              * WebView.subproj/WebDataSource.h: Change fileType to fileExtension for clarity.
              * WebView.subproj/WebDataSource.m: (-[WebDataSource fileExtension]): Ditto.
      
      WebBrowser:
      
              Reviewed by John.
      
      	- fixed 3132671 -- REGRESSION: Saving an HTML file with Safari doesn't append .html (its used to)
      
              * BrowserDocument.m: (-[BrowserDocument fileType]): Call [NSDocumentController typeFromFileExtension:]
      	instead of using the extension as the file type, which only works if you happen to have a file type that's
      	named exactly the same as the extension.
              * HTMLSourceDocument.m: (-[HTMLSourceDocument fileType]): Ditto.
      
              * WebBrowser.pbproj/project.pbxproj: Added capitalized file types, fixed .jp2 to be separate from .jpg,
      	These came from looking over NSImage's file type list.
              * English.lproj/InfoPlist.strings: Added JPEG 2000.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3140 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      27fa8d4c
    • sheridan's avatar
      version 42u · 1e17e3cd
      sheridan authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3139 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1e17e3cd
    • sheridan's avatar
      Alexander-41 going to B&I · 7cbdbb90
      sheridan authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3137 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7cbdbb90
    • darin's avatar
      Reviewed by John. · 24779788
      darin authored
      	- probably fixed 3129395 -- Reproducible crash when running a javascript at www.scenespot.org
      
              * WebCoreSupport.subproj/WebViewFactory.m:
              (-[WebViewFactory runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
              Close the window. Before we relied on it being released which was bad. But it's not clear this
              actually was the cause of the bug.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3136 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      24779788
    • darin's avatar
      Reviewed by Chris. · e8efe33d
      darin authored
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView sendEvent:]): Added an assert.
              (-[WebBaseNetscapePluginView setWindow]): Added an assert.
              (-[WebBaseNetscapePluginView stop]): Cancel perform requests, now that we are using them for
      	URL navigation.
              (-[WebBaseNetscapePluginView frameStateChanged:]): Only notify if the plugin is still running.
              (-[WebBaseNetscapePluginView loadPluginRequest:]): Added. Does the actual load at idle time.
      	Also fixed to only notify if plugin is loaded. Added a number of FIXMEs for other problems here.
      	Also send JavaScript to the appropriate frame, not always the top level.
              (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Use loadPluginRequest:
      	to do the request after a delay. Also remove the special cases for special frame names; they
      	were trying to avoid calling a plugin that has gone away, but we do that a better way now.
              (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]): Added logging.
              (-[WebBaseNetscapePluginView status:]): Use Windows Latin-1 rather than MacRoman for messages.
      	I guess we should test later to find out which is used by MacIE and conform to that, but for now
      	this seems like a better default.
              (-[WebPluginRequest initWithRequest:frame:notifyData:]): Added.
              (-[WebPluginRequest dealloc]): Added.
              (-[WebPluginRequest request]): Added.
              (-[WebPluginRequest webFrame]): Added.
              (-[WebPluginRequest notifyData]): Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3135 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e8efe33d
  3. 18 Dec, 2002 17 commits
    • rjw's avatar
      Added an ASSERT to ensure that 3127329 isn't still happening. · f0a8d2dc
      rjw authored
              This bug should have been fixed be earlier changes.
      
              Reviewed by darin.
      
              * kwq/KWQPageState.mm:
              (-[KWQPageState dealloc]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3134 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f0a8d2dc
    • cblu's avatar
      Fixed: 3131267 - REGRESSION: Java 1.4.1 Applets Restarted When Window is Resized · 5cd21c0f
      cblu authored
      	Fixed: 3131244 - REGRESSION: Java 1.4.1 Multiple Copies of Applet Started When Window is Resized
      
      	Dave recently patched khtml with a fix for media content inside of table cells. The patch causes the java widget to get the layout call more than once. Calling layout more than once is perfectly allowed, but the java widget wasn't prepared for that and would create a new java view for each layout. We now only create a java view when the java view hasn't already been created.
      
              Reviewed by darin.
      
              * kwq/KWQKJavaAppletWidget.mm:
              (KJavaAppletWidget::showApplet): If the view of the widget is still a KWQView, we haven't replaced it with the Java view. This stops multiple view from being created.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3133 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5cd21c0f
    • darin's avatar
      Reviewed by Chris. · 1dc68a45
      darin authored
      	- fixed fix for 3132056 -- Supply Finder bits for decoded BinHex files
      
              * Downloads.subproj/WebBinHexDecoder.m: (-[WebBinHexDecoder decodeHeader]):
      	Mask off fewer Finder flag bits. Use the same mask as for MacBinary, in fact.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3132 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1dc68a45
    • darin's avatar
      Reviewed by Richard. · e95b8af8
      darin authored
      	- fixed 3127490 -- pages w/frames sometimes show up blank
      
              * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]):
      	Updated the optimization where we draw the entire view if we did a layout
      	so that it works properly for the case where the clip is narrower because of
      	the parent WebHTMLView.
      
              * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3131 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e95b8af8
    • sheridan's avatar
      Alexander-40 stamp · a5f80239
      sheridan authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3129 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a5f80239
    • trey's avatar
      WebCore: · bf7d82ff
      trey authored
      	3098388 - Pressing the back button goes back two levels at allmusic.com
      
      	In support of the fix for this bug, WebCore passes khtml's lockHistory setting
      	up through the bridge.
      
              Reviewed by Darin
      
              * kwq/KWQKHTMLPart.mm:
              (KWQKHTMLPart::redirectionTimerStartedOrStopped):  Pass it along.
              * kwq/WebCoreBridge.h:
      
      WebKit:
      
      	3098388 - Pressing the back button goes back two levels at allmusic.com
      
      	I rewrote the logic we use to decide whether a given redirect should be
      	treated as part of the previous navigation.  We make use of WebCore's
      	lockHistory setting, the delay time and the frame state.
      
              Reviewed by Darin.
      
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge reportClientRedirectToURL:delay:fireDate:lockHistory:]):
      	Pass lockHistory up to the frame.
              * WebView.subproj/WebFramePrivate.h:
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:]):
      	New logic.  No quick summary, best to read the code.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3128 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bf7d82ff
    • cblu's avatar
      WebKit: · fe1a76e0
      cblu authored
      	Reject the RealPlayer plug-in because we know it doesn't work.
      
              Reviewed by sullivan.
      
              * English.lproj/StringsNotToBeLocalized.txt:
              * Plugins.subproj/WebNetscapePluginPackage.m:
              (-[WebNetscapePluginPackage initWithPath:]): reject the RealPlayer plug-in
      
      WebBrowser:
      
      	Fixed: 3103603 - Safari becomes unresponsive while launching DiskCopy
      	Special case RealPlayer and WMP plug-ins. Provide the option to open the content in the apps.
      
              Reviewed by sullivan.
      
              * BrowserNSWorkspaceExtras.m:
              (-[NSWorkspace launchApplicationAtPath:processSerialNumber:makeFrontmost:event:]): enable async launching of DiskCopy
              * English.lproj/Localizable.strings:
              * English.lproj/StringsNotToBeLocalized.txt:
              * LoadProgressMonitor.m:
              (-[LoadProgressMonitor pluginFailedWithError:dataSource:]): special case RealPlayer and WMP plug-ins. Provide the option to open the content in the apps.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3127 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fe1a76e0
    • mjs's avatar
      Tools: · cc196b5c
      mjs authored
      	Reviewed by John.
      
      	- fixed 3131171 - Change Alex versions to satisfy both marketing and B&I requirements
      
              * Scripts/set-alex-version: New the script takes 3 different
      	versions, source version, marketing version and internal version.
      
      JavaScriptCore:
      
      	Reviewed by John.
      
      	- fixed 3131171 - Change Alex versions to satisfy both marketing and B&I requirements
      
              * English.lproj/InfoPlist.strings:
              * JavaScriptCore.pbproj/project.pbxproj:
      
      WebFoundation:
      
      	Reviewed by John.
      
      	- fixed 3131171 - Change Alex versions to satisfy both marketing and B&I requirements
      
              * English.lproj/InfoPlist.strings:
              * WebFoundation.pbproj/project.pbxproj:
      
      WebCore:
      
      	Reviewed by John.
      
      	- fixed 3131171 - Change Alex versions to satisfy both marketing and B&I requirements
      
              * English.lproj/InfoPlist.strings:
      
      WebKit:
      
      	Reviewed by John.
      
      	- fixed 3131171 - Change Alex versions to satisfy both marketing and B&I requirements
      
              * English.lproj/InfoPlist.strings:
      
      WebBrowser:
      
      	Reviewed by John.
      
      	- fixed 3131171 - Change Alex versions to satisfy both marketing and B&I requirements
      
              * English.lproj/InfoPlist.strings:
              * WebBrowser.pbproj/project.pbxproj:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3126 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cc196b5c
    • rjw's avatar
      Fixed 3129951. Don't allow pages that are stopping to enter the page cache. · 345bce15
      rjw authored
              (Fixed yesterday, forgot to checkin.)
      
              Reviewed by trey.
      
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _setState:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3125 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      345bce15
    • 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
    • cblu's avatar
      WebCore: · c7670d69
      cblu authored
      	Fixed: 3052731 - qt file complains about lack of active-x handler
      	Fixed: 3025872 - Black square where lion should be on mgm.com
      
      	3052731: The page has a syntax error. Notice the missing ">"? He treat this as an OBJECT without an EMBED. khtml actually has a fallback for this. They check the classid and map a mime type to it. They currently map for  realaudio and flash, but not quicktime. I added a quicktime mapping as well as a mapping for shockwave.
      
      	3025872: khtml was unable to parse the EMBED tag within the OBJECT tag (similar to 3052731). When this happens, it looks at the classid and maps it to a mime type. This part was successful because it has a classid->mime type mapping for flash. The strange thing was that it was setting the main URL of the plug-in to "dummy". The code has this comment:
      
      	url = "dummy"; // Not needed, but KHTMLPart aborts the request if empty
      
      	It does this even if the url is valid. It even handles the invalid url case before even calling the part. The fix is to disable this line of code.
      
              Reviewed by trey.
      
              * khtml/rendering/render_frames.cpp:
              (RenderPartObject::updateWidget):
      
      WebKit:
      
      	Fixed: 2862385 - need to pass browser's user agent and version to plug-ins
      	Added some more error checking to the plug-in code
      
              Reviewed by trey.
      
              * Plugins.subproj/WebBaseNetscapePluginView.h:
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (+[WebBaseNetscapePluginView setCurrentPluginView:]): new, sets a global variable for the current plug-in
              (+[WebBaseNetscapePluginView currentPluginView]): new, returns the current plug-in
              (-[WebBaseNetscapePluginView start]): check if NPP_New fails, return NO if it does, set the current plug-in view. Currently, this is the only place we need to do this.
              (-[WebBaseNetscapePluginView userAgent]): made instance-specific because it depends on the plug-in view's WebController
              * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
              * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
              (-[WebNetscapePluginEmbeddedView viewDidMoveToWindow]): don't start the stream is start fails
              * Plugins.subproj/npapi.m:
              (NPN_MemAlloc): tweak
              (NPN_RequestRead): tweak
              (pluginViewForInstance): returns the instance's plug-in view if it has one, if not, return the current plug-in view
              (NPN_GetURLNotify): get the instance from pluginViewForInstance
              (NPN_GetURL):
              (NPN_PostURLNotify):
              (NPN_PostURL):
              (NPN_NewStream):
              (NPN_Write):
              (NPN_DestroyStream):
              (NPN_UserAgent):
              (NPN_Status):
              (NPN_InvalidateRect):
              (NPN_InvalidateRegion):
              (NPN_ForceRedraw):
              (NPN_GetValue):
              (NPN_SetValue):
              (NPN_GetJavaEnv):
              (NPN_GetJavaPeer):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3123 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c7670d69
    • rjw's avatar
      Fixed 3109590. We now set the cookie policy URL to a frame's URL if the · db57d554
      rjw authored
              contents of the frame changes as a result of user action.  The site mentioned
              is this bug branded a service by wrapping it in their own frameset.  That frameset
              had a different domain than the service, so our cookie policy prevented cookies
              from being set.
      
              Reviewed by trey.
      
              * WebView.subproj/WebDataSourcePrivate.m:
              (-[WebDataSource _startLoading:]):
              * WebView.subproj/WebFrame.m:
              (-[WebFrame loadRequest:]):
              * WebView.subproj/WebFramePrivate.h:
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _loadItem:fromItem:withLoadType:]):
              (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
              (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]):
              (-[WebFrame _postWithURL:data:contentType:triggeringEvent:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3122 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      db57d554
    • cblu's avatar
      Fixed: 3131714 - System becomes unresponsive while downloading · 14c28e89
      cblu authored
      	While downloading a file, Safari and the Finder take up 30%-40% of the CPU each. This is happening because for every chunk of data we write to disk, we call -[NSWorkspace noteFileSystemChanged:]. noteFileSystemChanged is inefficient. It sends 2 AppleEvents each with 60 timeouts. The event also causes the Finder to do a lot of work.
      
      	We should:
      	- Send 1 AppleEvent ourselves with no timeout since we don't care about the reply
      	- Call the notification/event less often. The only benefit of sending the event for every chunk written is that the file size updates in the Finder. Not worth the performance impact.
      
              Reviewed by kocienda.
      
              * Downloads.subproj/WebDownloadHandler.m:
              (-[WebDownloadHandler cleanUpAfterFailure]): call _web_noteFileChangedAtPath
              (-[WebDownloadHandler createFileIfNecessary]): call _web_noteFileChangedAtPath
              (-[WebDownloadHandler writeDataForkData:resourceForkData:]): don't call noteFileSystemChanged
              (-[WebDownloadHandler finishedLoading]): call _web_noteFileChangedAtPath
              * Misc.subproj/WebNSWorkspaceExtras.h: Added.
              * Misc.subproj/WebNSWorkspaceExtras.m: Added.
              (-[NSWorkspace _web_noteFileChangedAtPath:]): Notifies the Finder (or any other app that cares) that we added, removed or changed the attributes of a file. This method is better than calling noteFileSystemChanged: because noteFileSystemChanged: sends 2 apple events both with a 60 second timeout. This method returns immediately.
              * WebKit.pbproj/project.pbxproj:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      14c28e89
    • darin's avatar
      Reviewed by Maciej. · c36bf7d0
      darin authored
      	- fixed 3098293 -- Shockwave plug-in doesn't work
      
      	The problem is that the Shockwave plug-in depends on being able to do LMGetCurApRefNum
      	and then do a PBGetFCBInfoSync on the result, and if it gets an error it will refuse
      	to initialize.
      
              * Plugins.subproj/WebNetscapePluginPackage.m: (+[WebNetscapePluginPackage initialize]):
      	Supply a bogus CurApRefNum. Do it only if CurApRefNum is -1, so we don't screw things
      	up if we are used in a Carbon application.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3120 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c36bf7d0
    • trey's avatar
      3105755 - can't log in to amex · a7641c27
      trey authored
      	The problem was on c/r khtml would not pick a submit button to add to the
      	form state that is sent.  We now "activate" the first submit button that meets the
      	criteria for being a "successful" form element, if no button was already
      	activated by being clicked on.
      
              Reviewed by Darin.
      
              * khtml/html/html_formimpl.cpp:
              (HTMLFormElementImpl::submit):  Pick a submit button to use, if none was already
      	chosen by virtue of being clicked.
              (HTMLButtonElementImpl::isSuccessfulSubmitButton):  New getter to support
      	submit button selection.
              (HTMLButtonElementImpl::isActivatedSubmit):  New getter on existing prop.
              (HTMLButtonElementImpl::setActivatedSubmit):  New setter on existing prop.
              (HTMLInputElementImpl::isSuccessfulSubmitButton):  New getter to support
      	submit button selection.
              (HTMLInputElementImpl::isActivatedSubmit):  New getter on existing prop.
              (HTMLInputElementImpl::setActivatedSubmit):  New setter on existing prop.
              * khtml/html/html_formimpl.h:  Add new methods to common superclass.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3119 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a7641c27
    • gramps's avatar
      Reviewed by Joyce Chow. · eea8bd44
      gramps authored
      * khtml/misc/arena.cpp:
      * khtml/misc/arena.h:
      * khtml/rendering/render_arena.cpp:
      * khtml/rendering/render_arena.h:
      * khtml/rendering/render_layer.cpp:
      * khtml/rendering/render_layer.h:
      
      Changed copyright and licensing.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3118 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eea8bd44
    • hyatt's avatar
      NOWRAP was completely broken. This fixes the problem · a408e2ee
      hyatt authored
      	and makes porsche.com look ok again.
      
      	Bug #3131287.
      
              Reviewed by gramps
      
              * khtml/rendering/bidi.cpp:
              (RenderFlow::findNextLineBreak):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3117 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a408e2ee
  4. 17 Dec, 2002 12 commits
    • darin's avatar
      JavaScriptCore: · 7894002d
      darin authored
              Reviewed by Trey.
      
              * JavaScriptCore.pbproj/project.pbxproj: Removed signature.
      
      WebFoundation:
      
              Reviewed by Trey.
      
              * WebFoundation.pbproj/project.pbxproj: Remove signature.
      
      WebCore:
      
              Reviewed by Trey.
      
              * WebCore.pbproj/project.pbxproj: Remove signature.
              * kwq/KWQColor.mm: Turn off inlining so we can build even on the
      	compiler that warns about static data in inline functions.
      
      WebKit:
      
              Reviewed by Trey.
      
              * WebKit.pbproj/project.pbxproj: Remove signature.
              * WebView.subproj/WebController.m: Turn off inlining so we can build even on the
      	compiler that warns about static data in inline functions.
      
      WebBrowser:
      
              Reviewed by Trey.
      
              * Scripting.subproj/Safari.scriptSuite: Change signature to sfri.
              * WebBrowser.pbproj/project.pbxproj: Change signature to sfri.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3115 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7894002d
    • sullivan's avatar
      WebKit: · c1ededbc
      sullivan authored
      	- fixed 2895826 -- ICON: Need a "no plug-in" icon
      
              * Resources/nullplugin.tiff:
      	new plug-in icon. Blue 3-D lego with question marks.
      
      WebBrowser:
      
      	- fixed 312965 -- SJ: Need Home button art with thinner lines
      	- also added an all-purpose document icon with a compass instead
      	of a spider, and a tweaked version of the app icon
      
              * Resources/Images/Home.tif:
              * Resources/Images/HomeDisabled.tif:
              * Resources/Images/HomePressed.tif:
              * Resources/compass.icns:
      	new versions
      
              * document.icns: Removed.
      	this was the spider, he's gone now but his name remains.
      
              * Resources/document.icns: Added.
      	put it in here with the app icon.
      
              * WebBrowser.pbproj/project.pbxproj: updated for new/removed files
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3114 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c1ededbc
    • rjw's avatar
      Added support for Aki's 20% boost to line height. This is · fcf20e06
      rjw authored
              done with a horrible hack and should be removed when 3129490
              is fixed.
      
              Reviewed by hyatt.
      
              * WebCoreSupport.subproj/WebTextRenderer.m:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3113 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fcf20e06
    • mjs's avatar
      Reviewed by John. · 7a011888
      mjs authored
      	- fixed 3120729 - HOMEPAGE: Can't set a DIV innerHTML property
      	with html content starting with <html><head><head/><body>
      
              * khtml/html/html_elementimpl.cpp:
              (HTMLElementImpl::createContextualFragment): Pop <html> and
      	<body>, and remove <head> to allow a full HTML document to be made
      	and inserted as a contextual fragment.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3112 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7a011888
    • sheridan's avatar
      Alexander-39, submitting to B&I · 7146c87d
      sheridan authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3110 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7146c87d
    • hyatt's avatar
      Make sure that anonymous block construction works properly · 762cbd61
      hyatt authored
      	when you try to insert a block in between two inlines that
      	have already been wrapped in an anonymous block.
      
              Reviewed by mjs
      
              * khtml/rendering/render_flow.cpp:
              (RenderFlow::addChildToFlow):
              (RenderFlow::makeChildrenNonInline):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3109 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      762cbd61
    • sheridan's avatar
      Alex-38 · 6535a5fe
      sheridan authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3107 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6535a5fe
    • rjw's avatar
      Fixed 3127932. Added WebFrameLoadTypeReloadAllowingStaleData to cases that do not · 4ba64b84
      rjw authored
              get cached in the b/f cache.
      
              Reviewed by trey.
      
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _setState:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3106 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4ba64b84
    • rjw's avatar
      Fixed 3128794. Use CG directy to get font metrics rather than the appkit. The appkit · 4df709ae
      rjw authored
              has a bug that sometimes causes line height to be 20% too large.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3105 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4df709ae
    • trey's avatar
      WebKit: · 2113543f
      trey authored
      	Reworking the code to update the page icon led me to roll the WebIconDB API
      	for URL to NSString.  In addition, the vestigial "Site" was removed.
      
      	Everything below is renaming, except where noted.
      
              Reviewed by Darin
      
              * English.lproj/StringsNotToBeLocalized.txt:
              * History.subproj/WebHistoryItem.m:
              (-[WebHistoryItem _retainIconInDatabase:]):
              (-[WebHistoryItem icon]):
              * Misc.subproj/WebIconDatabase.h:
              * Misc.subproj/WebIconDatabase.m:
              (-[WebIconDatabase init]):
              (-[WebIconDatabase iconForURL:withSize:cache:]):  Use _web_isFileURL.
              (-[WebIconDatabase iconForURL:withSize:]):
              (-[WebIconDatabase retainIconForURL:]):
              (-[WebIconDatabase releaseIconForURL:]):
              (-[WebIconDatabase _iconDictionariesAreGood]):
              (-[WebIconDatabase _loadIconDictionaries]):
              (-[WebIconDatabase _updateFileDatabase]):
              (-[WebIconDatabase _iconForFileURL:withSize:]):  Cons up a NSURL to get the path.
      	Test explicitly for .htm and .html suffixes.
              (-[WebIconDatabase _setIcon:forIconURL:]):
              (-[WebIconDatabase _setIconURL:forURL:]):
              (-[WebIconDatabase _releaseIconForIconURLString:]):
              (-[WebIconDatabase _retainFutureIconForURL:]):
              (-[WebIconDatabase _releaseFutureIconForURL:]):
              (-[WebIconDatabase _sendNotificationForURL:]):
              * Misc.subproj/WebIconDatabasePrivate.h:
              * Misc.subproj/WebIconLoader.m:
              (-[WebIconLoader handleDidFinishLoading:]):
              * WebKit.exp:
              * WebView.subproj/WebDataSourcePrivate.m:
              (-[WebDataSource _updateIconDatabaseWithURL:]):
              (-[WebDataSource _loadIcon]):
      
      WebBrowser:
      
      	3127109 - REGRESSION: generic favicon shown while page from same domain is loading
      
      	We now avoid jumping to the generic icon when we're loading and are moving
      	to a URL within the same domain as the current one.
      
      	In addition, some name changes for the URL->NSString changes in the WebIconDB API.
      
              Reviewed by John
      
              * BookmarkSource.m:
              (-[BookmarkSource imageForContentItem:]):  Adopt API change.
              * BrowserWindowController.h:  New ivar, _acceptsGenericIcon.
              * BrowserWindowController.m:
              (-[BrowserWindowController windowDidLoad]):  Init new ivar.
              (-[BrowserWindowController acceptsGenericIcon]):  New getter.
              (-[BrowserWindowController setAcceptsGenericIcon:]):  New setter.
              (-[BrowserWindowController updateLocationFieldIcon]):  Obey new ivar as to
      	we will accept a generic icon when updating.
              * LocationChangeHandler.m:
              (-[LocationChangeHandler locationChangeStartedForDataSource:]):  If the new URL
      	is in the same site as the old one, avoid accepting a generic icon.
              (-[LocationChangeHandler locationChangeDone:forDataSource:]):  Reset _acceptsGenericIcon
              * NewBookmarksController.m:
              (-[NewBookmarksController awakeFromNib]):  Adopt API change.
              * TitleBarButton.m:
              (-[TitleBarButton drawPathRepresentingPopUpMenuForEvent:URL:]):  Adopt API change.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3104 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2113543f
    • cblu's avatar
      WebFoundation: · b22935c6
      cblu authored
      	Fixed: 3113073 - link on http://studio.adobe.com/explore/ redirects to not found page in Alex
      
              Reviewed by darin.
      
              * Misc.subproj/WebNSStringExtras.m:
              (-[NSString _web_looksLikeAbsoluteURL]): trim whitespace because _web_URLWithString allows whitespace
              * Misc.subproj/WebNSURLExtras.m:
              (+[NSURL _web_URLWithString:]): trim whitespace because we shouldn't replace spaces with escape characters
              (+[NSURL _web_URLWithString:relativeToURL:]): trim whitespace because we shouldn't replace spaces with escape characters
      
      WebKit:
      
      	Fixed: 3113073 - link on http://studio.adobe.com/explore/ redirects to not found page in Alex
      
              Reviewed by darin.
      
              * Misc.subproj/WebNSPasteboardExtras.m:
              (-[NSPasteboard _web_bestURL]): don't trim whitespace because _web_URLWithString does this for us
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView pluginURLFromCString:]): tweak
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3103 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b22935c6
    • darin's avatar
      Reviewed by Darin. · b886379c
      darin authored
      	- fixed build; WebFileDatabase was importing a file that is internal
      
              * Database.subproj/WebFileDatabase.h: Don't import WebLRUFileList.h.
              * Database.subproj/WebFileDatabase.m: Do import WebLRUFileList.h.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3102 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b886379c