Timeline



Dec 22, 2002:

10:35 PM Changeset in webkit [3173] by darin
  • 2 edits in trunk/WebCore

Reviewed by Don.

  • fixed 3134383 -- crash in KWQKHTMLPart::canCachePage at www.apple.com
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::canCachePage): Check for nil in the result of Window::retrieveWindow.
10:34 PM Changeset in webkit [3172] by darin
  • 3 edits in trunk/WebCore

Reviewed by NOBODY (OOPS!).

  • fixed 3134383 -- crash in KWQKHTMLPart::canCachePage at www.apple.com
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::canCachePage): Check for nil in the result of Window::retrieveWindow.

Dec 20, 2002:

9:13 PM Changeset in webkit [3171]
  • 3 copies in tags/Alexander-44

This commit was manufactured by cvs2svn to create tag 'Alexander-44'.

9:13 PM Changeset in webkit [3170] by sheridan
  • 8 edits in trunk

alex-44

8:40 PM Changeset in webkit [3169] by trey
  • 2 edits in trunk/WebKit

Do not add empty URLs to the back forward list.

Reviewed by Richard, Darin

  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted:]):
8:35 PM Changeset in webkit [3168] by darin
  • 3 edits in trunk/WebCore

Reviewed by Trey and Don.

  • fixed 3132160 -- meta refresh does not work if there's a space after the refresh interval value
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::processHttpEquiv): Added a call to stripWhiteSpace here. The other places that processes delays for meta refresh already had the stripWhiteSpace call, but this was missing it.
7:21 PM Changeset in webkit [3167] by hyatt
  • 3 edits in trunk/WebCore

Fix for 3134163, a regression from the reduction of
styleForElement calls. Make sure image buttons
get the width attribute and add it to style info
before styleForElement gets called.

Reviewed by rjw

  • khtml/html/html_formimpl.cpp: (HTMLInputElementImpl::attach):
6:25 PM Changeset in webkit [3166] by hyatt
  • 4 edits in trunk/WebCore

Fix for 3134133. Back out the render_text code I gave to rjw
to check in. It wasn't filling in a value for hasBreak, so it
became random whether or not you'd break or not.

Reviewed by rjw

  • khtml/rendering/render_text.cpp: (RenderText::trimmedMinMaxWidth): (RenderText::calcMinMaxWidth):
  • khtml/rendering/render_text.h:
5:56 PM Changeset in webkit [3165] by darin
  • 3 edits in trunk/WebCore

Reviewed by Trey.

  • fixed 3133801 -- REGRESSION: Japanese page comes up hash
  • khtml/khtml_part.cpp: (KHTMLPart::write): Roll back to original KHTML code here, removing the "all ASCII" optimization.
4:55 PM Changeset in webkit [3164] by hyatt
  • 3 edits in trunk/WebCore

Fix for 3133081, slashdot messed up when changing font sizes.
setStyle in RenderFlow was messed up for continuations. A
block in the middle of a continuation incorrectly propagated
its style to the following inlines.

Reviewed by darin

  • khtml/rendering/render_flow.cpp: (RenderFlow::setStyle):
4:36 PM Changeset in webkit [3163] by trey
  • 3 edits in trunk/WebKit

3133829 - crash leaving page with a running applet

This fixes some holes in how we teardown plugins. An additional fix is expected
from Mike Hay to finish the issue. (3133981)

Reviewed by Richard

  • Plugins.subproj/WebPluginController.m: (-[WebPluginController destroyAllPlugins]): frame=nil, so we don't do any more messaging back to WK after this step. (-[WebPluginController showURL:inFrame:]): bail if !frame (-[WebPluginController showStatus:]): bail if !frame
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _detachFromParent]): destroy plugins here. We were only doing it in the non-frame case.
2:39 PM Changeset in webkit [3162] by darin
  • 2 edits in trunk/WebCore

Remove stray change marker.

2:37 PM Changeset in webkit [3161] by rjw
  • 3 edits in trunk/WebCore

i Fix for 3133601. Play the same trick we do in

KHTMLPartBrowserExtension::openURLRequest to create an empty
document if necessary.

2:27 PM Changeset in webkit [3160] by hyatt
  • 6 edits in trunk/WebCore

Remove the clip hack from setLayout and make it
asynchronous instead. This fixes the crasher
on autosite.com, which had a sync layout occur
while in the middle of making a block box's
children get wrapped in anonymous boxes. It
was only half done when the layout got
triggered, which is what caused the assert to fire.

The bug # is 3129534.

Reviewed by rjw

  • khtml/khtmlview.cpp: (KHTMLView::KHTMLView): (KHTMLView::timerEvent): (KHTMLView::scheduleRelayout):
  • khtml/khtmlview.h:
  • khtml/rendering/render_object.cpp: (RenderObject::setLayouted): (RenderObject::scheduleRelayout):
  • khtml/rendering/render_object.h:
2:10 PM Changeset in webkit [3159] by darin
  • 3 edits in trunk/WebCore

Reviewed by John.

  • fixed 3129387 -- Stopped responding to controls while filling out form (exception in KWQTextArea)
  • kwq/KWQTextArea.mm: (-[KWQTextArea getCursorPositionAsIndex:inParagraph:]): Fix code that was returning the wrong paragraph number along with the index within the paragraph. Also made it return a paragraph one past the end with an index of 0 for cases where you are at the end of the text. (-[KWQTextArea setCursorPositionToIndex:inParagraph:]): Range check the passed-in index. This would also have prevented the exception.
2:09 PM Changeset in webkit [3158] by sheridan
  • 3 edits in trunk

version 44u

2:02 PM Changeset in webkit [3157]
  • 3 copies in tags/Alexander-43

This commit was manufactured by cvs2svn to create tag 'Alexander-43'.

2:02 PM Changeset in webkit [3156] by sheridan
  • 8 edits in trunk

alexander-43

1:52 PM Changeset in webkit [3155] by darin
  • 3 edits in trunk/WebCore

Reviewed by John.

  • fixed 3132382 -- crash in khtml::CachedImage

The source of this bug was my long-ago fix to bug 3079499.
I changed the code to copy the clients list. But this doesn't work if
one of the clients is removed while iterating because it's deleted.
So I made a new class, CachedObjectClientWalker, that does the iterating safely.
Now both this new bug and the original are fixed.

  • khtml/misc/loader.cpp: (CachedCSSStyleSheet::checkNotify): Use CachedObjectClientWalker to walk the list. (CachedScript::checkNotify): Ditto. (CachedImage::do_notify): Ditto. (CachedImage::movieStatus): Ditto. (CachedImage::checkNotify): Ditto. (CachedObjectClientWalker::next): Walk the list using a list iterator, which is safe against the current item being removed. But go that safety one better by making sure you don't miss the item after one that's removed.
1:51 PM Changeset in webkit [3154] by trey
  • 2 edits in trunk/WebKit

3131841 - crash when switching encodings on a page with frames

Reviewed by rjw

  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted:]): Create a docView in the LoadStale case, like every other kind of load does.
1:50 PM Changeset in webkit [3153] by kocienda
  • 4 edits in trunk/WebCore

Reviewed by Darin

Fix for this bug:

Radar 3132171 (trying to login at mypage.apple.com gives "Already Connected" message)

The issue is that we submit the login form more than once when the user hits
the return key to submit rather than clicking the submit button. We are also
susceptible to double form submissions from buggy scripts that ask to submit
more than one form.

The fix is to prevent the KWQKHTMLPart from submitting more than one form by
setting and checking a flag.

  • kwq/KWQKHTMLPart.h: Add a form submit flag.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::submitForm): Check form submit flag. Return if a form has already been submitted. (KWQKHTMLPart::setView): Reset form flag. This is done since the part may have been retrieved for reuse from the bac/forward cache.
12:41 PM Changeset in webkit [3152] by rjw
  • 6 edits in trunk

WebCore:

Fixed 3133261. This fix really has two parts. This first part
fixes the stupid stack allocated buffer that caused the crash.
The second part makes any RenderText with a large string perform
much faster. The page mentioned in the bug used to load and draw
in about 15 minutes. Now it loads in about 10 seconds and draws in about
2 seconds. The performance optimization caches a widths array
for the string in the RenderText, and only updates that array if
the font or text for the RenderText change.

Reviewed by john.

  • khtml/rendering/render_text.cpp: (RenderText::RenderText): (RenderText::setStyle): (RenderText::~RenderText): (RenderText::computeWidths): (RenderText::widthFromBuffer): (RenderText::trimmedMinMaxWidth): (RenderText::calcMinMaxWidth): (RenderText::setText): (RenderText::width):
  • khtml/rendering/render_text.h:

WebKit:

Fixed 3133261. This fix really has two parts. This first part
is here in WebTextRenderer. The second part adds some width
caching to RenderText. I was using a stack allocated array,
this would blow out the stack for large strings.

Reviewed by john.

  • WebCoreSupport.subproj/WebTextRenderer.m:
11:53 AM Changeset in webkit [3151] by trey
  • 8 edits in trunk

JavaScriptCore:

We now build with symbols the B&I. Deployment builds are without symbols,
so it is easy to generate a non-huge app as a one-off.

Reviewed by Darin

WebFoundation:

We now build with symbols the B&I. Deployment builds are without symbols,
so it is easy to generate a non-huge app as a one-off.

Reviewed by Darin

  • WebFoundation.pbproj/project.pbxproj:

WebCore:

We now build with symbols the B&I. Deployment builds are without symbols,
so it is easy to generate a non-huge app as a one-off.

Reviewed by Darin

  • WebCore.pbproj/project.pbxproj:

WebKit:

We now build with symbols the B&I. Deployment builds are without symbols,
so it is easy to generate a non-huge app as a one-off.

Reviewed by Darin

  • WebKit.pbproj/project.pbxproj:

WebBrowser:

We now build with symbols the B&I. Deployment builds are without symbols,
so it is easy to generate a non-huge app as a one-off.

Reviewed by Darin

  • WebBrowser.pbproj/project.pbxproj:
11:48 AM Changeset in webkit [3150] by darin
  • 3 edits in trunk/WebCore

Reviewed by John.

  • fixed 3129824 -- crash in QWidget::getView in KWQKHTMLPart::passSubframeEventToSubframe
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::passWidgetMouseDownEventToWidget): Check for a nil QWidget in a RenderWidget, and ERROR and return true in that case. We don't want to return false because otherwise the KHTML code will try to draw a frame splitter.
11:35 AM Changeset in webkit [3149] by darin
  • 3 edits in trunk/WebCore

Reviewed by John.

  • fixed 3131449 -- crash in DOMNamedNodesCollection::tryGet opening a new window from JavaScript
  • khtml/ecma/kjs_dom.cpp: (DOMNamedNodesCollection::tryGet): Add range checking. If the index is out of range fall back to the parent tryGet, which will eventually just return Undefined().
11:21 AM Changeset in webkit [3148] by darin
  • 10 edits in trunk/WebCore

Reviewed by Richard and John.

  • fixed 3133207 -- crash in HTMLFrameElementImpl updateForNewURL at home.real.com

This refines Maciej's fix for 3052113, 3075392, and 3125412.

  • khtml/html/html_baseimpl.h: Remove detach() and parentWidget from HTMLFrameElementImpl.
  • khtml/html/html_baseimpl.cpp: (HTMLFrameElementImpl::HTMLFrameElementImpl): Take out initialization of unused parentWidget. (HTMLFrameElementImpl::updateForNewURL): Add case for when we are attached by did not allocate a render object. In that case we just detach so we can attach again. Also fix the self-reference check which was in there but not working. (HTMLFrameElementImpl::detach): Remove method since all it did was set unused parentWidget. (HTMLIFrameElementImpl::attach): Remove unused depth computation.
  • fixed more leaks
  • khtml/rendering/render_replaced.h: Made the deref method inherited from khtml::Shared private by using private inheritance. Changed the name of arenaDeref to deref, but it still takes an arena parameter. Now incorrect deref's are compile-time errors instead of potential leaks.
  • khtml/rendering/render_replaced.cpp: (RenderWidget::detach): Rename arenaDeref to deref. (RenderWidget::resizeWidget): Ditto. (RenderWidget::eventFilter): Ditto. (RenderWidget::deref): Ditto.
  • khtml/rendering/render_form.cpp: (RenderFormElement::slotClicked): Pass the arena when deref'ing the RenderFormElement.
  • kwq/WebCoreBridge.h: Add a field for the arena for the RenderPart.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge dealloc]): Pass the arena when deref'ing the RenderPart. (-[WebCoreBridge setRenderPart:]): Pass the arena when deref'ing the RenderPart. Store the arena of the new part when storing the part pointer.
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::~DocumentImpl): Assert that the render object is not nil, in an attempt to catch a leak I observed yesterday.
1:19 AM Changeset in webkit [3147] by darin
  • 20 edits in trunk/WebCore

Reviewed by Dave.

  • 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.

Dec 19, 2002:

8:59 PM Changeset in webkit [3146]
  • 3 copies in tags/Alexander-42

This commit was manufactured by cvs2svn to create tag 'Alexander-42'.

8:59 PM Changeset in webkit [3145] by sheridan
  • 8 edits in trunk

alexander-42
it's the meaning of life

8:48 PM Changeset in webkit [3144] by sullivan
  • 4 edits in trunk/WebKit

WebKit:

  • 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.
5:50 PM Changeset in webkit [3143] by hyatt
  • 10 edits in trunk/WebCore

Fix for 3129393, crasher on sundancecatalog.com. There
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:
2:17 PM Changeset in webkit [3142] by darin
  • 3 edits in trunk/WebCore

Reviewed by John.

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.
12:33 PM Changeset in webkit [3141] by darin
  • 1 edit in trunk/WebKit/ChangeLog

Added missing bug # to log.

12:19 PM Changeset in webkit [3140] by darin
  • 3 edits in trunk/WebKit

WebKit:

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.
12:17 PM Changeset in webkit [3139] by sheridan
  • 3 edits in trunk

version 42u

12:07 PM Changeset in webkit [3138]
  • 3 copies in tags/Alexander-41

This commit was manufactured by cvs2svn to create tag 'Alexander-41'.

12:07 PM Changeset in webkit [3137] by sheridan
  • 8 edits in trunk

Alexander-41 going to B&I

10:14 AM Changeset in webkit [3136] by darin
  • 2 edits in trunk/WebKit

Reviewed by John.

  • 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.
10:08 AM Changeset in webkit [3135] by darin
  • 2 edits in trunk/WebKit

Reviewed by Chris.

  • 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.

Dec 18, 2002:

10:34 PM Changeset in webkit [3134] by rjw
  • 3 edits in trunk/WebCore

Added an ASSERT to ensure that 3127329 isn't still happening.
This bug should have been fixed be earlier changes.

Reviewed by darin.

  • kwq/KWQPageState.mm: (-[KWQPageState dealloc]):
10:18 PM Changeset in webkit [3133] by cblu
  • 3 edits in trunk/WebCore

Fixed: 3131267 - REGRESSION: Java 1.4.1 Applets Restarted When Window is Resized
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.
10:17 PM Changeset in webkit [3132] by darin
  • 2 edits in trunk/WebKit

Reviewed by Chris.

  • 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.
9:49 PM Changeset in webkit [3131] by darin
  • 3 edits in trunk/WebKit

Reviewed by Richard.

  • 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.
8:17 PM Changeset in webkit [3130]
  • 3 copies in tags/Alexander-40

This commit was manufactured by cvs2svn to create tag 'Alexander-40'.

8:17 PM Changeset in webkit [3129] by sheridan
  • 8 edits in trunk

Alexander-40 stamp

7:44 PM Changeset in webkit [3128] by trey
  • 8 edits in trunk

WebCore:

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.
7:21 PM Changeset in webkit [3127] by cblu
  • 4 edits in trunk/WebKit

WebKit:

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.
5:58 PM Changeset in webkit [3126] by mjs
  • 11 edits in trunk

Tools:

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:
5:13 PM Changeset in webkit [3125] by rjw
  • 2 edits in trunk/WebKit

Fixed 3129951. Don't allow pages that are stopping to enter the page cache.
(Fixed yesterday, forgot to checkin.)

Reviewed by trey.

  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _setState:]):
4:54 PM Changeset in webkit [3124] by mjs
  • 21 edits in trunk

WebFoundation:

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.
4:07 PM Changeset in webkit [3123] by cblu
  • 9 edits in trunk

WebCore:

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):
2:40 PM Changeset in webkit [3122] by rjw
  • 5 edits in trunk/WebKit

Fixed 3109590. We now set the cookie policy URL to a frame's URL if the
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:]):
12:46 PM Changeset in webkit [3121] by cblu
  • 4 edits
    2 adds in trunk/WebKit

Fixed: 3131714 - System becomes unresponsive while downloading

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:
3:47 AM Changeset in webkit [3120] by darin
  • 2 edits in trunk/WebKit

Reviewed by Maciej.

  • 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.
12:15 AM Changeset in webkit [3119] by trey
  • 4 edits in trunk/WebCore

3105755 - can't log in to amex

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.
Note: See TracTimeline for information about the timeline view.