Timeline
Dec 24, 2002:
- 2:51 PM Changeset in webkit [3185] by
-
- 3 edits in trunk/WebCore
Reviewed by Don.
- fixed 3135010 -- nil-dereference in KHTMLPart::xmlDocImpl() at channels.netscape.com
- khtml/html/html_baseimpl.cpp: (HTMLFrameElementImpl::contentDocument): Add missing nil check. Also added lots of FIXME comments about problems I observed here.
- 11:49 AM Changeset in webkit [3184] by
-
- 2 edits in trunk/WebKit
Reviewed by Richard and Don.
- fixed 3132192 -- HOMEPAGE: Quicktime plug in with AVI content brings Plug-ins not found panel
- Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): Lower-case the key before searching for it. This is needed for both MIME types and extensions, since we want case insensitive comparison in both cases.
- 11:48 AM Changeset in webkit [3183] by
-
- 3 edits in trunk/WebCore
Reviewed by Richard and Don.
- fixed 3133207 -- crash in HTMLFrameElementImpl updateForNewURL at home.real.com
My previous attempt to fix this dealt with the case where a RenderFrame object was
not yet created, but not with the case where a RenderFrame object was created without
a corresponding part. Somehow I overlooked this last time when I was doing testing.
Testing this time confirms this takes care of the remaining problem at movies.real.com.
- khtml/html/html_baseimpl.cpp: (HTMLFrameElementImpl::updateForNewURL): Use the same kind of requestFrame call here as in attach when there's a RenderFrame, but no corresponding part. Maybe we can fix this an even more elegant way later.
Dec 23, 2002:
- 3:55 PM Changeset in webkit [3182] by
-
- 3 edits in trunk
Alexander 46u commit
- 3:49 PM Changeset in webkit [3181]
-
- 3 copies in tags/Alexander-45
This commit was manufactured by cvs2svn to create tag 'Alexander-45'.
- 3:49 PM Changeset in webkit [3180] by
-
- 8 edits in trunk
Building Alex-45
- 3:23 PM Changeset in webkit [3179] by
-
- 1 edit in trunk/WebKit/ChangeLog
Reviewed by me
Fixed ChangeLog typos in previous commit.
- ChangeLog
- 3:20 PM Changeset in webkit [3178] by
-
- 3 edits in trunk/WebKit
Reviewed by Darin and Gramps
Workaround for this bug:
Radar 3134219 (MPEG-4 files don't work with the QuickTime plugin in Safari,
work fine in Mozilla, IE)
For beta 1, we For beta 1, when getting the MIME information for the QuickTime
plugin, we directly insert the information to handle MP4.
In the future, we will use the additional plugin entry points to dynamically load
this information from the plugin itself.
- Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage getMIMEInformation])
- 2:35 PM Changeset in webkit [3177] by
-
- 3 edits in trunk/JavaScriptCore
Reviewed by Don and John.
- fixed 3134449 -- Date.UTC returns NaN (invalid date)
Did more testing of the date functions and made them behave like the other browsers.
There were three problems:
1) We did a validity check that other browsers don't do (hence the NaN).
2) We treated passed-in dates as local time even in Date.UTC (hence a wrong result
once I fixed the NaN).
3) The results of ToUTCString (and ToGMTString) weren't formatted quite the same
as other browsers.
Also found a couple of silly but unrelated coding mistakes.
- kjs/date_object.cpp: (timetUsingCF): Added. Has the guts of mktimeUsingCF, but without the CFGregorianDateIsValid check. Other browsers accept invalid dates. Also takes a time zone parameter. (mktimeUsingCF): Calls timetUsingCF with the current time zone. (timegmUsingCF): Calls timetUsingCF with the UTC time zone. (formatDate): Remove the includeComma flag. (formatDateUTCVariant): Added. For use instead of formatDate with the includeComma flag. Puts the day before the month name. (DateProtoFuncImp::call): Use the new formatDateUTCVariant for ToGMTString and ToUTCString. Without this change the date didn't match other browsers. (DateObjectImp::DateObjectImp): Use UTCPropertyName. Somehow I declared this and didn't use it before. (DateObjectImp::construct): Pass -1 for is_dst literally instead of using invalidDate. Changing this to invalidDate was just a mistake (although no real difference in compiled code since invalidDate is just -1). (DateObjectFuncImp::call): Call timegm for the UTC case instead of mktime.
- 2:34 PM Changeset in webkit [3176] by
-
- 3 edits in trunk/WebKit
Reviewed by John and Don.
- fixed 3134282 -- REGRESSION: text encoding setting reverts when you go to a new location
- WebView.subproj/WebFrame.m: (-[WebFrame loadRequest:]): Propagate an override encoding if there was an existing data source and it had an override encoding.
- WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadRequest:triggeringAction:loadType:]): Ditto.
- 11:57 AM Changeset in webkit [3175] by
-
- 2 edits in trunk/WebCore
Reviewed by John.
- fixed 3134558 -- REGRESSION: Lord of the Rings site problems
This regression was caused when we fixed the abcnews.com problem (3124933).
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::createEmptyDocument): Despite its name, this function was never intended to overwrite an existing document with an empty document. When we changed it do do the creation in a better way, we lost the check that prevents it from doing anything at all if we already have a document.
- 11:57 AM Changeset in webkit [3174] by
-
- 3 edits in trunk/WebCore
Reviewed by NOBODY (OOPS!).
- fixed 3134558 -- REGRESSION: Lord of the Rings site problems
This regression was caused when we fixed the abcnews.com problem (3124933).
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::createEmptyDocument): Despite its name, this function was never intended to overwrite an existing document with an empty document. When we changed it do do the creation in a better way, we lost the check that prevents it from doing anything at all if we already have a document.
Dec 22, 2002:
- 10:35 PM Changeset in webkit [3173] by
-
- 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
-
- 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
-
- 8 edits in trunk
alex-44
- 8:40 PM Changeset in webkit [3169] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 2 edits in trunk/WebCore
Remove stray change marker.
- 2:37 PM Changeset in webkit [3161] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 8 edits in trunk
alexander-43
- 1:52 PM Changeset in webkit [3155] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 8 edits in trunk
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
- JavaScriptCore.pbproj/project.pbxproj:
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
-
- 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
-
- 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
-
- 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
-
- 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.