Timeline
Aug 5, 2007:
- 10:48 PM Changeset in webkit [24881] by
-
- 2 edits in trunk/JavaScriptCore
Not reviewed, build fix.
- kjs/string_object.cpp: (KJS::StringProtoFunc::callAsFunction):
- 7:23 PM Changeset in webkit [24880] by
-
- 3 edits in trunk/LayoutTests
- mac/leopard/Skipped: Removed 3 non-platform-specific failing tests.
- win/Skipped: Ditto.
- 7:07 PM Changeset in webkit [24879] by
-
- 1 edit in trunk/LayoutTests/ChangeLog
Change log entry to mention that my fix was an attempt (that didn't work).
- 7:05 PM Changeset in webkit [24878] by
-
- 6 edits in trunk/WebCore
Reviewed by Darin.
Fix <rdar://problem/5378214>
Mail crashes at RenderLayer::paintLayer() when dragging a selection over To Do text
ObjC interface does not guarantee that Document::updateRendering() gets called after
modification are made to document. This can lead to situation where paint()
is invoked with document still dirty which can then crash in number of interesting ways.
- add hasChangedChild() as needsLayout() condition. layout() will then call recalcStyle() catching most cases and making sure document is not dirty when entering painting.
- protect recalcStyle() and layout() from being executed during painting. There are some cases needsLayout() protection does not cover.
No layout test, these states are very hard or impossible to reach using Javascript interface
(which generally guarantees that updateRendering() is done right after execution).
- dom/Document.cpp: (WebCore::Document::recalcStyle):
- page/Frame.cpp: (WebCore::Frame::paint): (WebCore::Frame::setPaintRestriction): (WebCore::Frame::isPainting): (WebCore::FramePrivate::FramePrivate):
- page/Frame.h:
- page/FramePrivate.h:
- page/FrameView.cpp: (WebCore::FrameView::layout): (WebCore::FrameView::needsLayout):
- 6:03 PM Changeset in webkit [24877] by
-
- 2 edits in trunk/LayoutTests
- fix <rdar://problem/5383382> Drag/drop of image is failing in fast/events/standalone-image-drag-to-editable.html
- fast/events/standalone-image-drag-to-editable.html: Fixed race condition in test by using a frame counter rather than running the test after a particular frame loads.
- 5:58 PM Changeset in webkit [24876] by
-
- 2 edits in trunk/LayoutTests
- fast/dom/delete-contents-expected.txt: Updated results, which changed due to r24831, which allows comments as children of <html>.
- 3:52 AM Changeset in webkit [24875] by
-
- 2 edits in trunk/WebCore
Reviewed by Darin Adler.
<rdar://problem/5369110> CrashTracer: [USER] reproducible crash opening particular mail messages
- platform/network/mac/ResourceHandleMac.mm: (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): Make sure to retain self for the body of this method. Otherwise, the willSendRequest could trigger events which will cancel the connection, and we access ivars after this point. (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): retain and release in the right order.
- 3:16 AM Changeset in webkit [24874] by
-
- 4 edits in trunk/JavaScriptCore
Reviewed by Maciej.
- fix <rdar://problem/5371862> crash in Dashcode due to Quartz Composer JavaScript garbage collector reentrancy
- API/JSBase.cpp: (JSGarbageCollect): Don't call collector() if isBusy() returns true.
- kjs/collector.h: Added isBusy(), removed the unused return value from collect()
- kjs/collector.cpp: Added an "operation in progress" flag to the allocator. (KJS::Collector::allocate): Call abort() if an operation is already in progress. Set the new flag instead of using the debug-only GCLock. (KJS::Collector::collect): Ditto. (KJS::Collector::isBusy): Added.
Aug 4, 2007:
- 10:20 PM Changeset in webkit [24873] by
-
- 3 edits in trunk/JavaScriptCore
Reviewed by Darin and Adam.
<rdar://problem/5368990> REGRESSION: newsgator.com sign-on 6x slower than Safari 3 beta due to GC changes (14808)
- kjs/string_object.cpp: (KJS::replace): if the string didn't change (very common in some cases) reuse the original string value. (KJS::StringProtoFunc::callAsFunction): Pass in the StringImp* when replacing, not just the UString.
- kjs/string_object.h: (KJS::StringInstance::internalValue): covariant override to return StringImp for convenience
- 9:21 PM Changeset in webkit [24872] by
-
- 2 edits in trunk/WebCore
Another workaround for <rdar://problem/5386894>
Reviewed by Sam.
This fixed ~150 failing tests.
- platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::doUpdateResourceResponse): Hardcode the MIME type for .svg files as well.
- 8:04 PM Changeset in webkit [24871] by
-
- 2 edits in trunk/WebCore
Workaround for <rdar://problem/5386894> CFURLResponseGetMIMEType returns "text/html" for local .xhtml and .xml files
Reviewed by Sam.
This fixes ~350 failing tests.
- platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::doUpdateResourceResponse): Use a workaround identical to the one in ResourceResponseMac.mm, but include .xml files as well.
- 7:15 PM Changeset in webkit [24870] by
-
- 1 edit3 adds in trunk/LayoutTests
Reviewed by Sam.
Layout test for <rdar://problem/5386550> REGRESSION (r24866): text/plain documents are always downloaded
- fast/loader/plain-text-document-expected.txt: Added.
- fast/loader/plain-text-document.html: Added.
- fast/loader/plain-text-document.txt: Added.
- 7:06 PM Changeset in webkit [24869] by
-
- 4 edits in trunk/WebCore
WebCore:
Reviewed by Oliver.
- fix for http://bugs.webkit.org/show_bug.cgi?id=14882 <rdar://problem/5386550> REGRESSION (r24866): text/plain documents are always downloaded
The supportedNonImageMimeTypes list is used to determine which MIME types may be viewed
within the web browser (e.g., plug-ins add their own MIME types to the list during
initialization), so we must add "text/plain" and "text/" back to the list. Since
this change would then break DOMImplementation::isTextMIMEType(), that method was reverted
to its original form and MIMETypeRegistry::shouldTreatAsText() was removed.
- dom/DOMImplementation.cpp: (WebCore::DOMImplementation::isTextMIMEType): Revert to previous version.
- platform/MIMETypeRegistry.cpp: (WebCore::initialiseSupportedNonImageMimeTypes): Added back "text/plain" and "text/" to the list. (WebCore::MIMETypeRegistry::shouldTreatAsText): Removed.
- platform/MIMETypeRegistry.h:
- 1:58 AM Changeset in webkit [24868] by
-
- 4 edits in trunk/JavaScriptCore
2007-08-04 Mark Rowe <mrowe@apple.com>
Reviewed by Oliver Hunt.
<rdar://problem/5385145> r24843 introduces a crash on calling fork() (14878)
http://bugs.webkit.org/show_bug.cgi?id=14878
Provide nooop functions for all members of the malloc_zone_t and malloc_introspection_t structures that we
register to avoid crashes in system code that assumes they will be non-null.
- kjs/CollectorHeapIntrospector.cpp: (KJS::CollectorHeapIntrospector::CollectorHeapIntrospector): (KJS::CollectorHeapIntrospector::forceLock): Grab the lock. (KJS::CollectorHeapIntrospector::forceUnlock): Release the lock.
- kjs/CollectorHeapIntrospector.h: (KJS::CollectorHeapIntrospector::goodSize): (KJS::CollectorHeapIntrospector::check): (KJS::CollectorHeapIntrospector::print): (KJS::CollectorHeapIntrospector::log): (KJS::CollectorHeapIntrospector::statistics): (KJS::CollectorHeapIntrospector::size): (KJS::CollectorHeapIntrospector::zoneMalloc): (KJS::CollectorHeapIntrospector::zoneCalloc): (KJS::CollectorHeapIntrospector::zoneFree):
- wtf/FastMalloc.cpp: (WTF::FastMallocZone::goodSize): (WTF::FastMallocZone::check): (WTF::FastMallocZone::print): (WTF::FastMallocZone::log): (WTF::FastMallocZone::forceLock): Grab the TCMalloc locks. (WTF::FastMallocZone::forceUnlock): Release the TCMalloc locks. (WTF::FastMallocZone::FastMallocZone):
- 12:37 AM Changeset in webkit [24867] by
-
- 1 edit in trunk/WebKit/WebView/WebView.mm
Added the radar # to my FIXME text
- 12:29 AM Changeset in webkit [24866] by
-
- 6 edits in trunk
WebCore:
Reviewed by Oliver
Fix for http://bugs.webkit.org/show_bug.cgi?id=14824 and <rdar://problem/5372989>
Two issues -
1 - The WebCore MIMEType registry was designed assuming the list of types would never change
That is false, as WebKit has API and SPI calls which directly mutate the MIMETypeRegistry
2 - DOMImplementation didn't consult the registry for any MIMEType that started with "text/",
instead maintaining it's own hard coded rules
- dom/DOMImplementation.cpp: (WebCore::DOMImplementation::isTextMIMEType): For now, call through to the MIMETypeRegistry until we decided a different fate for this function
- platform/MIMETypeRegistry.cpp: (WebCore::initialiseSupportedNonImageMimeTypes): "SupportedNonImageMIMETypes" is really a misnomer for "MIMETypes we should show as HTML" but that line has slowly been blurred since Tiger. In an attempt to start to unblur it, remove "text/" and "text/plain" (WebCore::MIMETypeRegistry::shouldTreatAsText): The decision is very close to the old DOMImplementation method, except we don't automatically hand off "text/" types as true if they are in the set of supported MIMETypes (WebCore::MIMETypeRegistry::getSupportedImageMIMETypes): Non-const (can be changed!) (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes): Non-const (can be changed!) (WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes): Non-const (can be changed!)
- platform/MIMETypeRegistry.h:
WebKit:
Reviewed by Oliver
Fix for http://bugs.webkit.org/show_bug.cgi?id=14824 and <rdar://problem/5372989>
When unregistering a MIMEType, remove it from the WebCore registry unconditionally
When registrying a MIMEType whose view class is WebHTMLView, add it to the WebCore registry
- WebView/WebView.mm: (+[WebView _unregisterViewClassAndRepresentationClassForMIMEType:]): (+[WebView _registerViewClass:representationClass:forURLScheme:]): (+[WebView registerViewClass:representationClass:forMIMEType:]):