Timeline
10/30/07:
- 23:57 Changeset [27293] by
-
Windows build fixes
I'm not completely sure why these const issues weren't caught by GCC,
but MSVC was certainly not happy with them.
- editing/IndentOutdentCommand.cpp: (WebCore::isIndentBlockquote):
- editing/markup.cpp: (WebCore::styleFromMatchedRulesAndInlineDecl):
- 23:09 Changeset [27292] by
-
Reviewed by Oliver.
- allocate numbers in half-size cells, for an 0.5% SunSpider speedup http://bugs.webkit.org/show_bug.cgi?id=15772
We do this by using a single mark bit per two number cells, and
tweaking marking.
Besides being an 0.5% win overall, this is a 7.1% win on morph.
- kjs/collector.cpp: (KJS::): (KJS::Collector::heapAllocate): (KJS::Collector::markStackObjectsConservatively): (KJS::Collector::sweep):
- kjs/collector.h: (KJS::SmallCollectorCell::):
- 20:55 Changeset [27291] by
-
transition-property was defaulting to all when it should default to none.
It was taking a string type. I figured out how to make it take an ident instead, so you can write:
transition-property: opacity
instead of
transition-property: "opacity"
Transition layers also weren't properly repeating patterns the way they were supposed to. I fixed that.
Finally, I fixed a bug in the code to fix up transition layers where something was misplaced that should have been inside a null check.
Reviewed by aroben
- css/CSSHelper.h:
- css/CSSParser.cpp: (WebCore::CSSParser::parseTransitionProperty):
- css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle):
- page/AnimationController.cpp: (WebCore::ImplicitAnimation::animate):
- rendering/RenderStyle.cpp: (WebCore::RenderStyle::adjustTransitions):
- rendering/RenderStyle.h: (WebCore::RenderStyle::initialTransitionProperty):
- 20:30 Changeset [27290] by
-
Reviewed by Geoff.
Leak fix
- platform/graphics/mac/MoviePrivateQTKit.mm: (WebCore::MoviePrivate::getSupportedTypes):
- 20:04 Changeset [27289] by
-
Reviewed by Adam Roben, Sam Weinig.
Made conflicts in grammar.y a persistent build failure.
- DerivedSources.make:
- 19:47 Changeset [27288] by
-
Reviewed by Stephanie Lewis.
- fix <rdar://problem/5547237> REGRESSION (304-ToT): Repro font-related crash in fontdatawin.cpp Line 93 (many sites)
- platform/win/FontDataWin.cpp: (WebCore::FontData::platformInit): Handle the case where the font has no glyphs on page zero.
- 19:36 Changeset [27287] by
-
Fix Qt bustage in AnimationController.cpp
- 19:35 Changeset [27286] by
-
Reviewed by Maciej.
Media tests from feature branch.
- fast/dom/Window/window-properties-expected.txt: Replaced.
- fast/dom/Window/window-properties.html: Replaced.
- media: Added.
- media/audio-constructor-expected.txt: Added.
- media/audio-constructor-src-expected.txt: Added.
- media/audio-constructor-src.html: Added.
- media/audio-constructor.html: Added.
- media/content: Added.
- media/content/test.mp4: Added.
- media/content/test.wav: Added.
- media/progress-event-expected.txt: Added.
- media/progress-event.html: Added.
- media/video-append-source-expected.txt: Added.
- media/video-append-source.html: Added.
- media/video-autoplay-expected.txt: Added.
- media/video-autoplay.html: Added.
- media/video-buffered-expected.txt: Added.
- media/video-buffered.html: Added.
- media/video-cuepoint-add-expected.txt: Added.
- media/video-cuepoint-add.html: Added.
- media/video-cuepoint-multiple-expected.txt: Added.
- media/video-cuepoint-multiple.html: Added.
- media/video-cuepoint-pause-expected.txt: Added.
- media/video-cuepoint-pause.html: Added.
- media/video-cuepoint-remove-expected.txt: Added.
- media/video-cuepoint-remove-multiple-expected.txt: Added.
- media/video-cuepoint-remove-multiple.html: Added.
- media/video-cuepoint-remove.html: Added.
- media/video-currentTime-expected.txt: Added.
- media/video-currentTime-set-expected.txt: Added.
- media/video-currentTime-set.html: Added.
- media/video-currentTime-set2-expected.txt: Added.
- media/video-currentTime-set2.html: Added.
- media/video-currentTime.html: Added.
- media/video-dom-autoplay-expected.txt: Added.
- media/video-dom-autoplay.html: Added.
- media/video-dom-end-expected.txt: Added.
- media/video-dom-end.html: Added.
- media/video-dom-loopcount-expected.txt: Added.
- media/video-dom-loopcount.html: Added.
- media/video-dom-loopend-expected.txt: Added.
- media/video-dom-loopend.html: Added.
- media/video-dom-loopstart-expected.txt: Added.
- media/video-dom-loopstart.html: Added.
- media/video-dom-src-expected.txt: Added.
- media/video-dom-src.html: Added.
- media/video-dom-start-expected.txt: Added.
- media/video-dom-start.html: Added.
- media/video-end-expected.txt: Added.
- media/video-end.html: Added.
- media/video-error-abort-expected.txt: Added.
- media/video-error-abort.html: Added.
- media/video-error-does-not-exist-expected.txt: Added.
- media/video-error-does-not-exist.html: Added.
- media/video-load-networkState-expected.txt: Added.
- media/video-load-networkState.html: Added.
- media/video-load-readyState-expected.txt: Added.
- media/video-load-readyState.html: Added.
- media/video-loopcount-expected.txt: Added.
- media/video-loopcount.html: Added.
- media/video-loopend-expected.txt: Added.
- media/video-loopend.html: Added.
- media/video-loopstart-expected.txt: Added.
- media/video-loopstart.html: Added.
- media/video-muted-expected.txt: Added.
- media/video-muted.html: Added.
- media/video-no-autoplay-expected.txt: Added.
- media/video-no-autoplay.html: Added.
- media/video-seekable-expected.txt: Added.
- media/video-seekable.html: Added.
- media/video-size-expected.txt: Added.
- media/video-size.html: Added.
- media/video-source-expected.txt: Added.
- media/video-source-media-expected.txt: Added.
- media/video-source-media.html: Added.
- media/video-source-type-expected.txt: Added.
- media/video-source-type.html: Added.
- media/video-source.html: Added.
- media/video-src-expected.txt: Added.
- media/video-src-source-expected.txt: Added.
- media/video-src-source.html: Added.
- media/video-src.html: Added.
- media/video-start-expected.txt: Added.
- media/video-start.html: Added.
- media/video-test.js: Added.
- media/video-volume-expected.txt: Added.
- media/video-volume.html: Added.
- platform/qt/Skipped:
- platform/win/Skipped:
- 19:35 Changeset [27285] by
-
Remove unused blendLengths function.
- 19:32 Changeset [27284] by
-
Eliminate rounding from int-based animation blending.
- 19:30 Changeset [27283] by
-
Make sure CSS transforms can be animated using the CSS transition property.
Reviewed by Dan and Antti
- css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty):
- page/AnimationController.cpp: (WebCore::blendFunc): (WebCore::ImplicitAnimation::animate):
- rendering/Length.h: (WebCore::Length::blend):
- rendering/RenderStyle.cpp: (WebCore::StyleTransformData::operator==): (WebCore::TransformOperations::operator==): (WebCore::blendLengths): (WebCore::ScaleTransformOperation::blend): (WebCore::RotateTransformOperation::blend): (WebCore::SkewTransformOperation::blend): (WebCore::TranslateTransformOperation::blend): (WebCore::MatrixTransformOperation::blend):
- rendering/RenderStyle.h: (WebCore::TransformOperations::operator!=): (WebCore::TransformOperations::isEmpty): (WebCore::TransformOperations::size): (WebCore::TransformOperations::operator[]): (WebCore::TransformOperations::append): (WebCore::RenderStyle::transform): (WebCore::RenderStyle::setTransform): (WebCore::RenderStyle::initialTransform):
- 19:11 Changeset [27282] by
-
Another Qt/GTK build fix.
- bindings/js/JSHTMLElementWrapperFactory.cpp:
- 18:51 Changeset [27281] by
-
Attempt to fix Qt/GTK build.
- WebCore.pro:
- 18:27 Changeset [27280] by
-
WebCore:
Reviewed by Darin Adler.
<rdar://problem/5549929> CrashTracer: [USER] 35 crashes at WebCore::CharacterData::insertData
We were trying to insert a tab into a br, after the br incorrectly ended up inside
a tab span.
- editing/DeleteButtonController.cpp: (WebCore::isDeletableElement): Changed to take in a const Node* instead of a Node*.
- editing/DeleteSelectionCommand.cpp: (WebCore::isTableRow): Ditto.
- editing/IndentOutdentCommand.cpp: (WebCore::isIndentBlockquote): Ditto. (WebCore::isListOrIndentBlockquote): Ditto.
- editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::shouldUseBreakElement): Added, moved code from doApply here. (WebCore::InsertLineBreakCommand::doApply): Don't upstream() the insertion position. upstream()ing it will only have an effect when the insertion position is the first in its paragraph (since we canonicalize VisiblePositions to the upstream() candidate). In this start of paragraph case, upstream() can move outside inline elements like tab spans or elements that might have a different whitespace mode (added two test cases to cover these). Moved code to decide whether to insert a br or a '\n' to its own method. Removed special case code for inserting at a position inside a tab span. We instead adjust the insertion position before insertion if it is inside a tab span and handle insertion in the appropriate if-block. This fixes a bug where we would only insert one line break when two were needed (added a testcase). Removed special case code for inserting before and after tables and horizontal rules. We handle these insertions in the appropriate if-block.
- editing/InsertLineBreakCommand.h:
- editing/ReplaceSelectionCommand.cpp: (WebCore::isMailPasteAsQuotationNode): Change to take in a const Node*.
- editing/htmlediting.cpp: (WebCore::isContentEditable): Ditto. (WebCore::isBlock): Ditto. (WebCore::enclosingNodeOfType): Changed to take a function pointer to a function that takes in a const Node*. (WebCore::isTabSpanTextNode): Check to see that the node actually a text node, and not, say, a br.
- editing/htmlediting.h:
- editing/markup.cpp: (WebCore::styleFromMatchedRulesAndInlineDecl): Changed to take in a const Node*. (WebCore::elementHasTextDecorationProperty): Ditto.
LayoutTests:
Reviewed by Darin Adler.
<rdar://problem/5549929> CrashTracer: [USER] 35 crashes at WebCore::CharacterData::insertData
- editing/inserting/5549929-1-expected.txt: Added.
- editing/inserting/5549929-1.html: Added.
- editing/inserting/5549929-2.html: Added.
- editing/inserting/5549929-3.html: Added.
- platform/mac/editing/inserting/5549929-2-expected.checksum: Added.
- platform/mac/editing/inserting/5549929-2-expected.png: Added.
- platform/mac/editing/inserting/5549929-2-expected.txt: Added.
- platform/mac/editing/inserting/5549929-3-expected.checksum: Added.
- platform/mac/editing/inserting/5549929-3-expected.png: Added.
- platform/mac/editing/inserting/5549929-3-expected.txt: Added.
- 18:23 Changeset [27279] by
-
Reviewed by NOBODY.
Add files missing from previous commit.
- html/VoidCallback.cpp: Added. (VoidCallback::VoidCallback): (VoidCallback::~VoidCallback): (VoidCallback::handleEvent): (VoidCallback::execute): (VoidCallback::operator==): (WebCore::toVoidCallback):
- html/VoidCallback.h: Added.
- html/VoidCallback.idl: Added.
- 18:08 Changeset [27278] by
-
WebCore:
Generated files missing from WebCore's Xcode project file
<http://bugs.webkit.org/show_bug.cgi?id=15406>
Reviewed by Darin.
Added the following files to the Xcode project file (note that
JSHTMLInputElementBaseTable.cpp is used as a header file):
- DOMCSSStyleSheetPrivate.h
- DOMEventPrivate.h
- DOMHTMLCollectionPrivate.h
- DOMHTMLEmbedElementPrivate.h
- DOMHTMLIFrameElementPrivate.h
- DOMHTMLObjectElementPrivate.h
- DOMHTMLSelectElementPrivate.h
- DOMTextEventInternal.h
- JSHTMLInputElementBaseTable.cpp
- DerivedSources.make: Removed DOMSVGException.h and JSSVGAnimatedPoints.h since their generated code was not used.
- WebCore.xcodeproj/project.pbxproj: Added missing header files.
WebKit:
Generated files missing from WebCore's Xcode project file
<http://bugs.webkit.org/show_bug.cgi?id=15406>
Reviewed by Darin.
Added the following private header files to MigrateHeaders.make:
- DOMCSSStyleSheetPrivate.h
- DOMEventPrivate.h
- DOMHTMLCollectionPrivate.h
- DOMHTMLEmbedElementPrivate.h
- DOMHTMLIFrameElementPrivate.h
- DOMHTMLObjectElementPrivate.h
- DOMHTMLSelectElementPrivate.h
- MigrateHeaders.make:
- 18:03 Changeset [27277] by
-
Rubber stamped by Adele.
Initial media (<video> and <audio>) support from feature branch and
QTKit based platform implementation.
This will need to be updated to match current draft specification.
- Configurations/WebCore.xcconfig:
- DerivedSources.make:
- WebCore.base.exp:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSEventCustom.cpp: (WebCore::toJS):
- bindings/js/JSHTMLAudioElementConstructor.cpp: Added. (WebCore::JSHTMLAudioElementConstructor::JSHTMLAudioElementConstructor): (WebCore::JSHTMLAudioElementConstructor::implementsConstruct): (WebCore::JSHTMLAudioElementConstructor::construct):
- bindings/js/JSHTMLAudioElementConstructor.h: Added.
- bindings/js/JSHTMLElementWrapperFactory.cpp: (WebCore::createJSHTMLWrapper):
- bindings/js/kjs_window.cpp: (KJS::Window::getValueProperty):
- bindings/js/kjs_window.h: (KJS::Window::):
- bindings/scripts/CodeGeneratorJS.pm:
- dom/Document.cpp: (WebCore::Document::createEvent): (WebCore::Document::willSaveToCache): (WebCore::Document::didRestoreFromCache): (WebCore::Document::registerForCacheCallbacks): (WebCore::Document::unregisterForCacheCallbacks):
- dom/Document.h:
- dom/Element.cpp: (WebCore::Element::setBooleanAttribute):
- dom/Element.h: (WebCore::Element::willSaveToCache):
- dom/Event.cpp: (WebCore::Event::isProgressEvent):
- dom/Event.h:
- dom/EventNames.h:
- dom/EventTargetNode.cpp: (WebCore::EventTargetNode::dispatchProgressEvent):
- dom/EventTargetNode.h:
- dom/ProgressEvent.cpp: Added. (WebCore::ProgressEvent::ProgressEvent): (WebCore::ProgressEvent::initProgressEvent): (WebCore::ProgressEvent::initProgressEventNS):
- dom/ProgressEvent.h: Added. (WebCore::ProgressEvent::lengthComputable): (WebCore::ProgressEvent::loaded): (WebCore::ProgressEvent::total): (WebCore::ProgressEvent::isProgressEvent):
- dom/ProgressEvent.idl: Added.
- history/CachedPage.cpp: (WebCore::CachedPage::CachedPage):
- html/HTMLAttributeNames.in:
- html/HTMLAudioElement.cpp: Added. (WebCore::HTMLAudioElement::HTMLAudioElement):
- html/HTMLAudioElement.h: Added. (WebCore::HTMLAudioElement::tagPriority):
- html/HTMLAudioElement.idl: Added.
- html/HTMLElement.cpp: (WebCore::inlineTagList):
- html/HTMLElementFactory.cpp: (WebCore::audioConstructor): (WebCore::videoConstructor): (WebCore::sourceConstructor): (WebCore::createFunctionMap):
- html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::~HTMLInputElement): (WebCore::HTMLInputElement::setInputType): (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
- html/HTMLMediaElement.cpp: Added. (WebCore::HTMLMediaElement::HTMLMediaElement): (WebCore::HTMLMediaElement::~HTMLMediaElement): (WebCore::HTMLMediaElement::checkDTD): (WebCore::HTMLMediaElement::rendererIsNeeded): (WebCore::HTMLMediaElement::createRenderer): (WebCore::HTMLMediaElement::insertedIntoDocument): (WebCore::HTMLMediaElement::removedFromDocument): (WebCore::HTMLMediaElement::scheduleLoad): (WebCore::HTMLMediaElement::initAndDispatchProgressEvent): (WebCore::HTMLMediaElement::dispatchEventAsync): (WebCore::HTMLMediaElement::loadTimerFired): (WebCore::HTMLMediaElement::asyncEventTimerFired): (WebCore::serializeTimeOffset): (WebCore::parseTimeOffset): (WebCore::HTMLMediaElement::getTimeOffsetAttribute): (WebCore::HTMLMediaElement::setTimeOffsetAttribute): (WebCore::HTMLMediaElement::error): (WebCore::HTMLMediaElement::src): (WebCore::HTMLMediaElement::HTMLMediaElement::setSrc): (WebCore::HTMLMediaElement::currentSrc): (WebCore::HTMLMediaElement::networkState): (WebCore::HTMLMediaElement::bufferingRate): (WebCore::HTMLMediaElement::load): (WebCore::HTMLMediaElement::movieNetworkStateChanged): (WebCore::HTMLMediaElement::movieReadyStateChanged): (WebCore::HTMLMediaElement::setReadyState): (WebCore::HTMLMediaElement::progressEventTimerFired): (WebCore::HTMLMediaElement::seek): (WebCore::HTMLMediaElement::readyState): (WebCore::HTMLMediaElement::seeking): (WebCore::HTMLMediaElement::currentTime): (WebCore::HTMLMediaElement::setCurrentTime): (WebCore::HTMLMediaElement::duration): (WebCore::HTMLMediaElement::paused): (WebCore::HTMLMediaElement::defaultPlaybackRate): (WebCore::HTMLMediaElement::setDefaultPlaybackRate): (WebCore::HTMLMediaElement::playbackRate): (WebCore::HTMLMediaElement::setPlaybackRate): (WebCore::HTMLMediaElement::ended): (WebCore::HTMLMediaElement::autoplay): (WebCore::HTMLMediaElement::setAutoplay): (WebCore::HTMLMediaElement::play): (WebCore::HTMLMediaElement::pause): (WebCore::HTMLMediaElement::loopCount): (WebCore::HTMLMediaElement::setLoopCount): (WebCore::HTMLMediaElement::start): (WebCore::HTMLMediaElement::setStart): (WebCore::HTMLMediaElement::end): (WebCore::HTMLMediaElement::setEnd): (WebCore::HTMLMediaElement::loopStart): (WebCore::HTMLMediaElement::setLoopStart): (WebCore::HTMLMediaElement::loopEnd): (WebCore::HTMLMediaElement::setLoopEnd): (WebCore::HTMLMediaElement::currentLoop): (WebCore::HTMLMediaElement::setCurrentLoop): (WebCore::HTMLMediaElement::controls): (WebCore::HTMLMediaElement::setControls): (WebCore::HTMLMediaElement::volume): (WebCore::HTMLMediaElement::setVolume): (WebCore::HTMLMediaElement::muted): (WebCore::HTMLMediaElement::setMuted): (WebCore::HTMLMediaElement::pickMedia): (WebCore::HTMLMediaElement::checkIfSeekNeeded): (WebCore::HTMLMediaElement::movieVolumeChanged): (WebCore::HTMLMediaElement::movieDidEnd): (WebCore::HTMLMediaElement::movieCuePointReached): (WebCore::HTMLMediaElement::addCuePoint): (WebCore::HTMLMediaElement::removeCuePoint): (WebCore::HTMLMediaElement::buffered): (WebCore::HTMLMediaElement::played): (WebCore::HTMLMediaElement::seekable): (WebCore::HTMLMediaElement::effectiveStart): (WebCore::HTMLMediaElement::effectiveEnd): (WebCore::HTMLMediaElement::effectiveLoopStart): (WebCore::HTMLMediaElement::effectiveLoopEnd): (WebCore::HTMLMediaElement::activelyPlaying): (WebCore::HTMLMediaElement::endedPlayback): (WebCore::HTMLMediaElement::willSaveToCache): (WebCore::HTMLMediaElement::didRestoreFromCache):
- html/HTMLMediaElement.h: Added. (WebCore::HTMLMediaElement::movie): (WebCore::HTMLMediaElement::isVideo): (WebCore::HTMLMediaElement::): (WebCore::HTMLMediaElement::CallbackEntry::CallbackEntry):
- html/HTMLMediaElement.idl: Added.
- html/HTMLSourceElement.cpp: Added. (WebCore::HTMLSourceElement::HTMLSourceElement): (WebCore::HTMLSourceElement::~HTMLSourceElement): (WebCore::HTMLSourceElement::insertedIntoDocument): (WebCore::HTMLSourceElement::src): (WebCore::HTMLSourceElement::setSrc): (WebCore::HTMLSourceElement::media): (WebCore::HTMLSourceElement::setMedia): (WebCore::HTMLSourceElement::type): (WebCore::HTMLSourceElement::setType):
- html/HTMLSourceElement.h: Added. (WebCore::HTMLSourceElement::endTagRequirement): (WebCore::HTMLSourceElement::tagPriority):
- html/HTMLSourceElement.idl: Added.
- html/HTMLTagNames.in:
- html/HTMLVideoElement.cpp: Added. (WebCore::HTMLVideoElement::HTMLVideoElement): (WebCore::HTMLVideoElement::videoWidth): (WebCore::HTMLVideoElement::videoHeight):
- html/HTMLVideoElement.h: Added. (WebCore::HTMLVideoElement::tagPriority): (WebCore::HTMLVideoElement::isVideo):
- html/HTMLVideoElement.idl: Added.
- html/MediaError.h: Added. (WebCore::MediaError::): (WebCore::MediaError::MediaError): (WebCore::MediaError::code):
- html/MediaError.idl: Added.
- html/TimeRanges.cpp: Added. (TimeRanges::TimeRanges): (TimeRanges::start): (TimeRanges::end): (TimeRanges::add): (TimeRanges::contain):
- html/TimeRanges.h: Added. (WebCore::TimeRanges::TimeRanges): (WebCore::TimeRanges::length): (WebCore::TimeRanges::Range::Range):
- html/TimeRanges.idl: Added.
- page/DOMWindow.idl:
- platform/MIMETypeRegistry.cpp: (WebCore::initialiseSupportedMovieMIMETypes): (WebCore::initialiseMIMETypeRegistry): (WebCore::MIMETypeRegistry::isSupportedMovieMIMEType): (WebCore::MIMETypeRegistry::getSupportedMovieMIMETypes):
- platform/MIMETypeRegistry.h:
- platform/graphics/Movie.cpp: Added. (WebCore::Movie::Movie): (WebCore::Movie::~Movie): (WebCore::Movie::load): (WebCore::Movie::cancelLoad): (WebCore::Movie::play): (WebCore::Movie::pause): (WebCore::Movie::duration): (WebCore::Movie::currentTime): (WebCore::Movie::seek): (WebCore::Movie::paused): (WebCore::Movie::seeking): (WebCore::Movie::naturalSize): (WebCore::Movie::hasVideo): (WebCore::Movie::networkState): (WebCore::Movie::readyState): (WebCore::Movie::volume): (WebCore::Movie::setVolume): (WebCore::Movie::rate): (WebCore::Movie::setRate): (WebCore::Movie::muted): (WebCore::Movie::setMuted): (WebCore::Movie::dataRate): (WebCore::Movie::setEndTime): (WebCore::Movie::addCuePoint): (WebCore::Movie::removeCuePoint): (WebCore::Movie::clearCuePoints): (WebCore::Movie::maxTimeBuffered): (WebCore::Movie::maxTimeSeekable): (WebCore::Movie::bytesLoaded): (WebCore::Movie::totalBytesKnown): (WebCore::Movie::totalBytes): (WebCore::Movie::setRect): (WebCore::Movie::visible): (WebCore::Movie::setVisible): (WebCore::Movie::paint): (WebCore::Movie::getSupportedTypes): (WebCore::Movie::networkStateChanged): (WebCore::Movie::readyStateChanged): (WebCore::Movie::volumeChanged): (WebCore::Movie::didEnd): (WebCore::Movie::cuePointReached):
- platform/graphics/Movie.h: Added. (WebCore::MovieClient::~MovieClient): (WebCore::MovieClient::movieNetworkStateChanged): (WebCore::MovieClient::movieReadyStateChanged): (WebCore::MovieClient::movieVolumeChanged): (WebCore::MovieClient::movieDidEnd): (WebCore::MovieClient::movieCuePointReached): (WebCore::Movie::parentWidget): (WebCore::Movie::setParentWidget): (WebCore::Movie::rect): (WebCore::Movie::):
- platform/graphics/mac/MoviePrivateQTKit.h: Added.
- platform/graphics/mac/MoviePrivateQTKit.mm: Added. (WebCore::MoviePrivate::MoviePrivate): (WebCore::MoviePrivate::~MoviePrivate): (WebCore::MoviePrivate::createQTMovie): (WebCore::MoviePrivate::createQTMovieView): (WebCore::MoviePrivate::createQTTime): (WebCore::MoviePrivate::load): (WebCore::MoviePrivate::play): (WebCore::MoviePrivate::pause): (WebCore::MoviePrivate::duration): (WebCore::MoviePrivate::currentTime): (WebCore::MoviePrivate::seek): (WebCore::MoviePrivate::setEndTime): (WebCore::MoviePrivate::addCuePoint): (WebCore::MoviePrivate::removeCuePoint): (WebCore::MoviePrivate::clearCuePoints): (WebCore::MoviePrivate::startCuePointTimerIfNeeded): (WebCore::MoviePrivate::cancelSeek): (WebCore::MoviePrivate::seekTimerFired): (WebCore::MoviePrivate::cuePointTimerFired): (WebCore::MoviePrivate::paused): (WebCore::MoviePrivate::seeking): (WebCore::MoviePrivate::naturalSize): (WebCore::MoviePrivate::hasVideo): (WebCore::MoviePrivate::setVolume): (WebCore::MoviePrivate::setMuted): (WebCore::MoviePrivate::setRate): (WebCore::MoviePrivate::dataRate): (WebCore::MoviePrivate::networkState): (WebCore::MoviePrivate::readyState): (WebCore::MoviePrivate::maxTimeBuffered): (WebCore::MoviePrivate::maxTimeSeekable): (WebCore::MoviePrivate::maxTimeLoaded): (WebCore::MoviePrivate::bytesLoaded): (WebCore::MoviePrivate::totalBytesKnown): (WebCore::MoviePrivate::totalBytes): (WebCore::MoviePrivate::cancelLoad): (WebCore::MoviePrivate::updateStates): (WebCore::MoviePrivate::loadStateChanged): (WebCore::MoviePrivate::rateChanged): (WebCore::MoviePrivate::sizeChanged): (WebCore::MoviePrivate::timeChanged): (WebCore::MoviePrivate::volumeChanged): (WebCore::MoviePrivate::didEnd): (WebCore::MoviePrivate::setRect): (WebCore::MoviePrivate::setVisible): (WebCore::MoviePrivate::paint): (WebCore::MoviePrivate::getSupportedTypes): (-[WebCoreMovieObserver loadStateChanged:]): (-[WebCoreMovieObserver rateChanged:]): (-[WebCoreMovieObserver sizeChanged:]): (-[WebCoreMovieObserver timeChanged:]): (-[WebCoreMovieObserver volumeChanged:]): (-[WebCoreMovieObserver didEnd:]): (-[WebCoreMovieObserver setCallback:WebCore::]):
- platform/mac/WebCoreSystemInterface.h:
- platform/mac/WebCoreSystemInterface.mm:
- rendering/RenderLayer.cpp: (WebCore::RenderLayer::collectLayers):
- rendering/RenderVideo.cpp: Added. (WebCore::RenderVideo::RenderVideo): (WebCore::RenderVideo::~RenderVideo): (WebCore::RenderVideo::movie): (WebCore::RenderVideo::videoSizeChanged): (WebCore::RenderVideo::paint): (WebCore::RenderVideo::layout): (WebCore::RenderVideo::updateFromElement): (WebCore::RenderVideo::updateMovie): (WebCore::RenderVideo::isWidthSpecified): (WebCore::RenderVideo::isHeightSpecified): (WebCore::RenderVideo::calcReplacedWidth): (WebCore::RenderVideo::calcReplacedHeight): (WebCore::RenderVideo::calcAspectRatioWidth): (WebCore::RenderVideo::calcAspectRatioHeight): (WebCore::RenderVideo::calcPrefWidths):
- rendering/RenderVideo.h: Added. (WebCore::RenderVideo::renderName):
- 18:02 Changeset [27276] by
-
Reviewed by Adam Roben.
Add Interface and Class UUIDs to the IDLs in preparation of adding
autogeneration of the COM DOM bindings.
- bindings/scripts/IDLParser.pm: Relax parsing rules to allow newlines as whitespace.
- css/CSSCharsetRule.idl:
- css/CSSFontFaceRule.idl:
- css/CSSImportRule.idl:
- css/CSSMediaRule.idl:
- css/CSSPageRule.idl:
- css/CSSPrimitiveValue.idl:
- css/CSSRule.idl:
- css/CSSRuleList.idl:
- css/CSSStyleDeclaration.idl:
- css/CSSStyleRule.idl:
- css/CSSStyleSheet.idl:
- css/CSSUnknownRule.idl:
- css/CSSValue.idl:
- css/CSSValueList.idl:
- css/Counter.idl:
- css/MediaList.idl:
- css/RGBColor.idl:
- css/Rect.idl:
- css/StyleSheet.idl:
- css/StyleSheetList.idl:
- dom/Attr.idl:
- dom/CDATASection.idl:
- dom/CharacterData.idl:
- dom/Comment.idl:
- dom/DOMImplementation.idl:
- dom/Document.idl:
- dom/DocumentFragment.idl:
- dom/DocumentType.idl:
- dom/Element.idl:
- dom/Entity.idl:
- dom/EntityReference.idl:
- dom/Event.idl:
- dom/EventListener.idl:
- dom/EventTarget.idl:
- dom/NamedNodeMap.idl:
- dom/Node.idl:
- dom/NodeList.idl:
- dom/Notation.idl:
- dom/ProcessingInstruction.idl:
- dom/Text.idl:
- html/CanvasGradient.idl:
- html/CanvasPattern.idl:
- html/CanvasRenderingContext2D.idl:
- html/HTMLAnchorElement.idl:
- html/HTMLAppletElement.idl:
- html/HTMLAreaElement.idl:
- html/HTMLBRElement.idl:
- html/HTMLBaseElement.idl:
- html/HTMLBaseFontElement.idl:
- html/HTMLBlockquoteElement.idl:
- html/HTMLBodyElement.idl:
- html/HTMLButtonElement.idl:
- html/HTMLCanvasElement.idl:
- html/HTMLCollection.idl:
- html/HTMLDListElement.idl:
- html/HTMLDirectoryElement.idl:
- html/HTMLDivElement.idl:
- html/HTMLDocument.idl:
- html/HTMLElement.idl:
- html/HTMLEmbedElement.idl:
- html/HTMLFieldSetElement.idl:
- html/HTMLFontElement.idl:
- html/HTMLFormElement.idl:
- html/HTMLFrameElement.idl:
- html/HTMLFrameSetElement.idl:
- html/HTMLHRElement.idl:
- html/HTMLHeadElement.idl:
- html/HTMLHeadingElement.idl:
- html/HTMLHtmlElement.idl:
- html/HTMLIFrameElement.idl:
- html/HTMLImageElement.idl:
- html/HTMLInputElement.idl:
- html/HTMLIsIndexElement.idl:
- html/HTMLLIElement.idl:
- html/HTMLLabelElement.idl:
- html/HTMLLegendElement.idl:
- html/HTMLLinkElement.idl:
- html/HTMLMapElement.idl:
- html/HTMLMarqueeElement.idl:
- html/HTMLMenuElement.idl:
- html/HTMLMetaElement.idl:
- html/HTMLModElement.idl:
- html/HTMLOListElement.idl:
- html/HTMLObjectElement.idl:
- html/HTMLOptGroupElement.idl:
- html/HTMLOptionElement.idl:
- html/HTMLOptionsCollection.idl:
- html/HTMLParagraphElement.idl:
- html/HTMLParamElement.idl:
- html/HTMLPreElement.idl:
- html/HTMLQuoteElement.idl:
- html/HTMLScriptElement.idl:
- html/HTMLSelectElement.idl:
- html/HTMLStyleElement.idl:
- html/HTMLTableCaptionElement.idl:
- html/HTMLTableCellElement.idl:
- html/HTMLTableColElement.idl:
- html/HTMLTableElement.idl:
- html/HTMLTableRowElement.idl:
- html/HTMLTableSectionElement.idl:
- html/HTMLTextAreaElement.idl:
- html/HTMLTitleElement.idl:
- html/HTMLUListElement.idl:
- 18:01 Changeset [27275] by
-
Reviewed by Adam and Geoff.
- Added a new cast so all the casts are in the same place.
- API/APICast.h: (toGlobalRef):
win:
Reviewed by Adam and Geoff.
- Added the globalContext method so Drosera can ask a WebFrame for its context.
- Interfaces/IWebFrame.idl:
- WebFrame.cpp:
- WebFrame.h:
- 17:58 Changeset [27274] by
-
RS by Darin.
- page/AnimationController.cpp: (WebCore::blendFunc): Use lround instead of round.
- 17:48 Changeset [27273] by
-
Reviewed by Maciej.
Build media support by default on OSX only.
- Scripts/build-webkit:
- 17:45 Changeset [27272] by
-
Reviewed by Maciej.
Some SPIs for media support.
- WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
- 16:19 Changeset [27271] by
-
Update WebKit/StringsNotToBeLocalized.txt.
- 16:15 Changeset [27270] by
-
Reviewed by Darin Adler.
Fixed <rdar://problem/5567504> shift/reduce conflict introduced in r24457
JS tests, including
ecma_2/Statements/dowhile-001.js
ecma_2/Statements/dowhile-002.js
ecma_2/Statements/dowhile-003.js
ecma_2/Statements/dowhile-004.js
ecma_2/Statements/dowhile-005.js
ecma_2/Statements/dowhile-006.js
ecma_2/Statements/dowhile-007.js
js1_2/statements/do_while.js
and layout tests, including
do-while-expression-value.html
do-while-semicolon.html
do-while-without-semicolon.html
pass.
- kjs/grammar.y: Use the explicit "error" production, as we do with other automatic semicolon insertions, to disambiguate "do { } while();" from "do { } while()" followed by ";" (the empty statement).
- 16:05 Changeset [27269] by
-
- Made Adam the reviewer for a previous checkin. Not sure how it didn't get caught by the pre-commit hooks.
- 15:54 Changeset [27268] by
-
Reviewed by Adam.
- This is a collection of relatively unrelated changes and cleanups to Drosera to prepare it for interacting with WebKit. A lot of these changes are just correcting mistakes, for example removing included headers that are no longer needed.
- Drosera/DebuggerDocument.h: Added accessor for the ServerConnection this will be needed by the DebuggerClient. (DebuggerDocument::server):
- Drosera/win/BaseDelegate.h: Removed unnecessary include.
- Drosera/win/DebuggerClient.cpp: (DebuggerClient::didFinishLoadForFrame): Finished implementing. (DebuggerClient::didReceiveTitle): Added comment about its purpose. (DebuggerClient::createWebViewWithRequest): Added comment about its purpose.
- Drosera/win/DebuggerClient.h: Removed unnecessary include, and forward declarations. (DebuggerClient::webViewLoaded): Moved.
- Drosera/win/Drosera.cpp: Moved a function from the HelperFunctions file, since this was the only place it was used. (cfStringToBSTR):
- Drosera/win/Drosera.h: Cleaned up the includes.
- Drosera/win/Drosera.vcproj/Drosera.vcproj: Removed HelperFunctions.h
- Drosera/win/HelperFunctions.h: Removed.
- 15:52 JavaScript performance improvement ideas edited by
- (diff)
- 15:46 JavaScript performance improvement ideas edited by
- (diff)
- 15:12 Changeset [27267] by
-
Reviewed by NOBODY (OOPS!).
- Small cleanup in the ServerConnection class.
- Drosera/win/ServerConnection.cpp: Added comments, moved some functions and added an include. (ServerConnection::currentFrame): (ServerConnection::getCallerFrame):
- Drosera/win/ServerConnection.h: Added comments, moved some functions, made a pointer into a COMPtr, and cleaned up the includes.
- 14:26 Changeset [27266] by
-
WebCore:
Reviewed by John Sullivan.
- Allow showing and closing the inspector programatically.
- Add showConsole() and showTimeline() methods.
- WebCore.base.exp: Add exports for WebKit.
- page/InspectorController.cpp: (WebCore::callSimpleFunction): Renamed from callClearFunction(). (WebCore::unloading): Renamed to close(). (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::inspect): Moved showing code to show(). (WebCore::InspectorController::setWindowVisible): Show the timeline or console if needed. (WebCore::InspectorController::show): Code factored out of inspect(). (WebCore::InspectorController::showConsole): Call show() and the JS showConsole(). (WebCore::InspectorController::showTimeline): Call show() and the JS showTimeline(). (WebCore::InspectorController::close): (WebCore::InspectorController::clearScriptResources): Call the new callSimpleFunction. (WebCore::InspectorController::clearDatabaseScriptResources): Ditto. (WebCore::InspectorController::clearScriptConsoleMessages): Ditto. (WebCore::InspectorController::clearNetworkTimeline): Ditto.
- page/InspectorController.h: Add and rename methods.
- page/inspector/inspector.js: Add showConsole() and showTimeline().
WebKit:
Reviewed by John Sullivan.
Various semi-related changes:
- A WebView can now be asked for it's WebInspector. There is one WebInspector per WebView.
- Refactor the WebInspector class and move obsolete methods to a special category.
- Add new WebInspector methods to show, hide and show the console/timeline panels.
- Add an isDisabled method to WebCache.
- Allow WebLocalizableStrings.h to be used in C files.
- Misc/WebCache.h: Add isDisabled.
- Misc/WebCache.mm: (+[WebCache isDisabled]): New method.
- Misc/WebLocalizableStrings.h: Changes to allow use in plain C files.
- WebCoreSupport/WebInspectorClient.mm: (-[WebInspectorWindowController showWindow:]): Call super if already visible so the window will be ordered front. (-[WebInspectorWindowController showWebInspector:]): Method used by menu items, so they are enabled and work when the Inspector window is key. (-[WebInspectorWindowController showErrorConsole:]): Ditto. (-[WebInspectorWindowController showNetworkTimeline:]): Ditto.
- WebInspector/WebInspector.h: Add and remove methods.
- WebInspector/WebInspector.mm: (-webViewClosed): Called when the WebView is closed/dealloced. Clears the _webView pointer. (-show:): Calls thru to the Page's InspectorController. (-showConsole:): Ditto. (-showTimeline:): Ditto. (-close:): Ditto. (-attach:): Ditto. (-detach:): Ditto. (+sharedWebInspector): Moved to the obsolete category. (+webInspector): Ditto. (-setWebFrame:): Ditto. (-window): Ditto. (-showWindow:): Ditto.
- WebView/WebView.mm: (-[WebViewPrivate dealloc]): Release the WebInspector. (-[WebView _close]): Call webViewClosed on the WebInspector. (-[WebView inspector]): Create a WebInspector if needed and return it.
- WebView/WebViewPrivate.h: Add the inspector method.
WebKitTools:
Reviewed by John Sullivan.
- Place the Localizable.strings file in mac or win directories if that location exists.
- Also look for UI_STRING in .c files.
- Scripts/extract-localizable-strings:
- 14:18 Changeset [27265] by
-
Reviewed by Sam.
Build fix.
- page/AnimationController.cpp: (WebCore::blendFunc):
- 14:05 Changeset [27264] by
-
WebCore:
Reviewed by Darin.
WebCore part of fix for http://bugs.webkit.org/show_bug.cgi?id=10577
<rdar://problem/5103625> REGRESSION: Caps lock icon should show in password fields
Test: manual-tests/password-caps-lock.html
- WebCore.base.exp: Added symbol for capsLockStateMayHaveChanged.
- page/Frame.cpp: (WebCore::Frame::setIsActive): Calls capsLockStateMayHaveChanged.
- page/EventHandler.cpp: (WebCore::EventHandler::capsLockStateMayHaveChanged): Added. Tells the focused node's renderer that the capsLockStateMayHaveChanged.
- page/EventHandler.h:
- platform/PlatformKeyboardEvent.h:
- platform/mac/KeyEventMac.mm: (WebCore::PlatformKeyboardEvent::currentCapsLockState): Added.
- platform/win/KeyEventWin.cpp: (WebCore::PlatformKeyboardEvent::currentCapsLockState): Added.
- rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::RenderTextControl): (WebCore::RenderTextControl::paint): Added. If m_shouldDrawCapsLockIndicator is true, paints the caps lock indicator after the background. (WebCore::RenderTextControl::forwardEvent): When the control gets and loses focus, update the caps lock state. (WebCore::RenderTextControl::capsLockStateMayHaveChanged): Added. Updates m_shouldDrawCapsLockIndicator, which is true if the field is a password field, and the frame is active, and the element is focused, and the caps lock is on. Causes a repaint when m_shouldDrawCapsLockIndicator changes state.
- rendering/RenderTextControl.h: Added m_shouldDrawCapsLockIndicator.
- rendering/RenderObject.h: (WebCore::RenderObject::capsLockStateMayHaveChanged): Added.
- rendering/RenderTheme.h: (WebCore::RenderTheme::paintCapsLockIndicator): Added.
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintCapsLockIndicator): Added. Calls wkDrawCapsLockIndicator.
- rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::paintCapsLockIndicator): Added. Calls paintThemePart for the CapsLockPart.
- rendering/RenderThemeSafari.h:
WebKit:
Reviewed by Darin.
WebKit part of fix for http://bugs.webkit.org/show_bug.cgi?id=10577
<rdar://problem/5103625> REGRESSION: Caps lock icon should show in password fields
- WebView/WebHTMLView.mm: (-[WebHTMLView flagsChanged:]): Call capsLockStateMayHaveChanged so WebCore knows it may have to update a password field. (+[WebHTMLView _postFlagsChangedEvent:]): Added a comment with a Radar number for why this isn't just in flagsChanged. (-[WebHTMLView scrollWheel:]): Instead of calling the next responder explicitly, we can just call super, which will take care of this.
win:
Reviewed by Darin.
WebKitWin part of fix for http://bugs.webkit.org/show_bug.cgi?id=10577
<rdar://problem/5110427> REGRESSION: Caps lock icon should show in password fields
- WebView.cpp: (WebView::keyDown): Call capsLockStateMayHaveChanged so WebCore knows it may have to update a password field.
- 13:20 Changeset [27263] by
-
Land support for implicit animation in CSS.
Reviewed by mitz, darin
- css/CSSParser.cpp: (WebCore::CSSParser::parseTimingFunctionValue): (WebCore::CSSParser::parseTransitionTimingFunction): (WebCore::CSSParser::parseTransitionProperty):
- css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::mapTransitionDuration): (WebCore::CSSStyleSelector::mapTransitionRepeatCount): (WebCore::CSSStyleSelector::mapTransitionTimingFunction): (WebCore::CSSStyleSelector::mapTransitionProperty):
- css/CSSTimingFunctionValue.h: (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue): (WebCore::CSSTimingFunctionValue::x1): (WebCore::CSSTimingFunctionValue::y1): (WebCore::CSSTimingFunctionValue::x2): (WebCore::CSSTimingFunctionValue::y2):
- dom/Element.cpp: (WebCore::Element::styleForRenderer): (WebCore::Element::createRenderer):
- dom/Node.cpp: (WebCore::Node::createRendererIfNeeded): (WebCore::Node::setRenderStyle):
- page/AnimationController.cpp: (WebCore::CurveData::CurveData): (WebCore::CurveData::sampleCurveX): (WebCore::CurveData::sampleCurveY): (WebCore::CurveData::sampleCurveDerivativeX): (WebCore::CurveData::solveCurveX): (WebCore::solveEpsilon): (WebCore::solveCubicBezierFunction): (WebCore::ImplicitAnimation::finished): (WebCore::CompositeImplicitAnimation::~CompositeImplicitAnimation): (WebCore::CompositeImplicitAnimation::hasAnimationForProperty): (WebCore::ImplicitAnimation::ImplicitAnimation): (WebCore::ImplicitAnimation::~ImplicitAnimation): (WebCore::ImplicitAnimation::reset): (WebCore::ImplicitAnimation::progress): (WebCore::blendFunc): (WebCore::ImplicitAnimation::animate): (WebCore::CompositeImplicitAnimation::animate): (WebCore::CompositeImplicitAnimation::animating): (WebCore::CompositeImplicitAnimation::reset): (WebCore::AnimationControllerPrivate::hasImplicitAnimations): (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): (WebCore::AnimationControllerPrivate::~AnimationControllerPrivate): (WebCore::AnimationControllerPrivate::get): (WebCore::AnimationControllerPrivate::clear): (WebCore::AnimationControllerPrivate::updateTimer): (WebCore::AnimationControllerPrivate::timerFired): (WebCore:::m_data): (WebCore::AnimationController::~AnimationController): (WebCore::AnimationController::cancelImplicitAnimations): (WebCore::AnimationController::updateImplicitAnimations): (WebCore::AnimationController::suspendAnimations): (WebCore::AnimationController::resumeAnimations):
- page/AnimationController.h:
- page/Frame.cpp: (WebCore::FramePrivate::FramePrivate):
- rendering/RenderBox.cpp: (WebCore::RenderBox::setStyle): (WebCore::RenderBox::destroy):
- rendering/RenderObject.cpp: (WebCore::RenderObject::setAnimatableStyle): (WebCore::RenderObject::destroy):
- rendering/RenderObject.h:
- rendering/RenderStyle.h: (WebCore::TimingFunction::TimingFunction): (WebCore::TimingFunction::operator==): (WebCore::TimingFunction::x1): (WebCore::TimingFunction::y1): (WebCore::TimingFunction::x2): (WebCore::TimingFunction::y2): (WebCore::TimingFunction::type): (WebCore::Transition::transitionProperty): (WebCore::Transition::setTransitionProperty): (WebCore::RenderStyle::initialTransitionProperty):
- rendering/RenderWidget.cpp: (WebCore::RenderWidget::destroy):
- 11:41 Changeset [27262] by
-
Reviewed by Adam.
- Set the eol-style to native and made all the line endings the same so that I avoid messy diffs that show eol changes.
- Drosera/win/ServerConnection.cpp: (ServerConnection::didParseSource): (ServerConnection::didEnterCallFrame): (ServerConnection::willExecuteStatement): (ServerConnection::willLeaveCallFrame): (ServerConnection::exceptionWasRaised):
- 11:15 Changeset [27261] by
-
Reviewed by Adam.
- Drosera/win/DebuggerDocumentPlatform.cpp:Implemented much of the functionality that could not have existed previously without the new interfaces. (JSValueRefCreateWithBSTR): Added a helper function to easily convert from a BSTR to a JSValueRef. (DebuggerDocument::platformEvaluateScript): Implemented. (DebuggerDocument::getPlatformCurrentFunctionStack): Implemented. (DebuggerDocument::getPlatformLocalScopeVariableNamesForCallFrame): Implemented. (DebuggerDocument::platformValueForScopeVariableNamed): Implemented.
- Drosera/win/HelperFunctions.h: Cleaned up some comments.
- Drosera/win/ServerConnection.cpp: Added a helper function. (ServerConnection::getCallerFrame):
- Drosera/win/ServerConnection.h: Added a helper function.
- 10:49 Changeset [27260] by
-
Add another failing test to the Windows Skipped file
- platform/win/Skipped:
- 10:39 Changeset [27259] by
-
Rubber-stamped by Adam Roben.
Update test to not intermittently fail.
- http/tests/security/host-compare-case-insensitive-expected.txt:
- http/tests/security/host-compare-case-insensitive.html:
- http/tests/security/resources/cross-frame-iframe.html:
- http/tests/security/resources/localhost-accesssor.html:
- 10:29 Changeset [27258] by
-
Rubber stamped by Geoff.
This test needed updated results from my patch last night. It has
<parsererror> tags, which are now block instead on inline.
- platform/mac/fast/frames/onlyCommentInIFrame-expected.checksum: Replaced.
- platform/mac/fast/frames/onlyCommentInIFrame-expected.png: Replaced.
- platform/mac/fast/frames/onlyCommentInIFrame-expected.txt:
- 08:16 Changeset [27257] by
-
Rubber stamped by Geoff.
Fixing two layout test mixups from my patch last night.
I added this test, but checked in old results:
- platform/mac/fast/inline/drawStyledEmptyInlines-expected.txt:
I removed the results of this test by accident:
- platform/mac/fast/xsl/xslt-extra-content-at-end-expected.txt: Added.
10/29/07:
- 23:29 Changeset [27256] by
-
Reviewed by Eric.
- Added list of ECMAScript3 features that SunSpider does not cover currently.
- UNCOVERED: Added.
- 22:36 Changeset [27255] by
-
Debranching remaining assignment nodes, and miscellaneous cleanup
Reviewed by Maciej.
Split read-modify code paths out of AssignBracketNode and AssignDotNode
Removed now unnecessary check for write-only assignment in ReadModifyLocalVarNode
and ReadModifyResolveNode evaluate methods
Leads to a 1% gain in SunSpider.
- 22:27 Changeset [27254] by
-
WebCore:
Reviewed by Hyatt.
Fix for <rdar://problem/5399614> anchor tag is not rendered without
text content, works in Firefox with CSS background-image (13237)
This patch allows empty inlines that have box decorations or width
from border/padding/margin to have line boxes.
- rendering/bidi.cpp: (WebCore::inlineFlowAllowsLineBox): Convenience function that defines when we allow an inline flow to have a line box. (WebCore::requiresLineBox): Call inlineFlowAllowsLineBox. (WebCore::shouldSkipWhitespaceAfterStartObject): New function to merge some shared code between list markers and empty inline flows that fall at the beginning of a line. (WebCore::RenderBlock::findNextLineBreak): Make flows more like list markers.
One interesting side effect of this bug appeared in our xhtml/svg
tests that generate parser error tags. The tag we generate was
actually an empty inline with box decorations. This patch causes
those inlines to draw now, and the parser errors looked strange. So
I changed it so that the parsererror tag is display:block. This
matches Firefox, and I think was the original intent of the tag
since that causes its red background and border to show up.
- dom/XMLTokenizer.cpp: (WebCore::createXHTMLParserErrorHeader):
LayoutTests:
Reviewed by Hyatt.
New tests and new results for old tests for <rdar://problem/
5399614> anchor tag is not rendered without text content, works in
Firefox with CSS background-image (13237)
New tests:
- fast/inline/drawStyledEmptyInlines.html: Added.
- fast/inline/drawStyledEmptyInlinesWithWS.html: Added.
- fast/inline/emptyInlinesWithinLists.html: Added.
- fast/inline/styledEmptyInlinesWithBRs.html: Added.
- platform/mac/fast/inline/drawStyledEmptyInlines-expected.checksum: Added.
- platform/mac/fast/inline/drawStyledEmptyInlines-expected.png: Added.
- platform/mac/fast/inline/drawStyledEmptyInlines-expected.txt: Added.
- platform/mac/fast/inline/drawStyledEmptyInlinesWithWS-expected.checksum: Added.
- platform/mac/fast/inline/drawStyledEmptyInlinesWithWS-expected.png: Added.
- platform/mac/fast/inline/drawStyledEmptyInlinesWithWS-expected.txt: Added.
- platform/mac/fast/inline/emptyInlinesWithinLists-expected.checksum: Added.
- platform/mac/fast/inline/emptyInlinesWithinLists-expected.png: Added.
- platform/mac/fast/inline/emptyInlinesWithinLists-expected.txt: Added.
- platform/mac/fast/inline/styledEmptyInlinesWithBRs-expected.checksum: Added.
- platform/mac/fast/inline/styledEmptyInlinesWithBRs-expected.png: Added.
- platform/mac/fast/inline/styledEmptyInlinesWithBRs-expected.txt: Added.
New results for tests with <paserererrors> since <parsererror> is
now block.
- platform/mac/fast/invalid/junk-data-expected.checksum: Replaced.
- platform/mac/fast/invalid/junk-data-expected.png: Replaced.
- platform/mac/fast/invalid/junk-data-expected.txt:
- platform/mac/fast/invalid/missing-end-tag-expected.checksum: Replaced.
- platform/mac/fast/invalid/missing-end-tag-expected.png: Replaced.
- platform/mac/fast/invalid/missing-end-tag-expected.txt:
- platform/mac/fast/parser/xhtml-alternate-entities-expected.checksum: Replaced.
- platform/mac/fast/parser/xhtml-alternate-entities-expected.png: Replaced.
- platform/mac/fast/parser/xhtml-alternate-entities-expected.txt:
- platform/mac/fast/xsl/xslt-extra-content-at-end-expected.checksum: Replaced.
- platform/mac/fast/xsl/xslt-extra-content-at-end-expected.png: Replaced.
- platform/mac/fast/xsl/xslt-extra-content-at-end-expected.txt: Removed.
- platform/mac/svg/custom/junk-data-expected.checksum: Replaced.
- platform/mac/svg/custom/junk-data-expected.png: Replaced.
- platform/mac/svg/custom/junk-data-expected.txt:
- platform/mac/svg/custom/missing-xlink-expected.checksum: Replaced.
- platform/mac/svg/custom/missing-xlink-expected.png: Replaced.
- platform/mac/svg/custom/missing-xlink-expected.txt:
- platform/mac/svg/hixie/error/012-expected.checksum: Replaced.
- platform/mac/svg/hixie/error/012-expected.png: Replaced.
- platform/mac/svg/hixie/error/012-expected.txt:
- 20:48 Changeset [27253] by
-
Reviewed by Dave Hyatt.
- fix crashing tests fast/frames/inline-object-inside-frameset.html and fast/forms/form-hides-table.html
- rendering/RenderBox.cpp: (WebCore::RenderBox::destroy):
- rendering/RenderWidget.cpp: (WebCore::RenderWidget::destroy):
- 20:14 Changeset [27252] by
-
Debranching various Node::evaluate implementations
Reviewed by Maciej.
Split the read-modify-write assignment cases out of AssignResolveNode and into ReadModifyResolveNode
Split the increment and decrement cases for Prefix- and Postfix- ResolveNode, BracketNode, and DotNode
Gains 1.6% on SunSpider
- 19:56 Changeset [27251] by
-
WebCore:
Reviewed by Adam Roben.
- fix http://bugs.webkit.org/show_bug.cgi?id=15750 REGRESSION(r27173): Web Inspector freezes beneath Image::drawPattern()
Test: fast/backgrounds/size/zero.html
- platform/graphics/cg/ImageCG.cpp: (WebCore::Image::drawPattern): Added an ASSERT and an early return to guard against singular pattern transforms.
- rendering/RenderBox.cpp: (WebCore::cacluateBackgroundSize): Changed to ensure a minimum tile size of 1x1.
LayoutTests:
Reviewed by Adam Roben.
- test for http://bugs.webkit.org/show_bug.cgi?id=15750 REGRESSION(r27173): Web Inspector freezes beneath Image::drawPattern()
- fast/backgrounds/size/zero.html: Added.
- platform/mac/fast/backgrounds/size/zero-expected.checksum: Added.
- platform/mac/fast/backgrounds/size/zero-expected.png: Added.
- platform/mac/fast/backgrounds/size/zero-expected.txt: Added.
- 19:44 Changeset [27250] by
-
Reviewed by Adam and Maciej.
- Added the IWebScriptScope interface which is used by Drosera to get information and run contextually significant code with respect to the current JS stack frame.
- Interfaces/IWebScriptCallFrame.idl: Line endings changed, not sure why but the real changes were to change the return type of scopeChain() and the return type and name of evaluateWebScript() to stringByEvaluatingJavaScriptFromString().
- Interfaces/IWebScriptScope.idl: Added.
- WebKit.vcproj/Interfaces.vcproj: Added the new interface.
- WebKit.vcproj/WebKit.vcproj: Added the files for the new class.
- WebKit.vcproj/WebKitGUID.vcproj: Added the new interfaces.
- WebScriptCallFrame.cpp: Changed the return type to E_NOTIMPL and asserted so it would be obvious if I accidentally try to use one of these functions before it's implemented. (WebScriptCallFrame::caller): (WebScriptCallFrame::scopeChain): (WebScriptCallFrame::functionName): (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString):
- WebScriptCallFrame.h: Changed the return types mentioned above.
- WebScriptDebugServer.cpp: Also changed the return type to E_NOTIMPL. (WebScriptDebugServer::addListener): (WebScriptDebugServer::removeListener): (WebScriptDebugServer::step): (WebScriptDebugServer::pause): (WebScriptDebugServer::resume): (WebScriptDebugServer::isPaused):
- WebScriptScope.cpp: Added. (WebScriptScope::WebScriptScope): (WebScriptScope::~WebScriptScope): (WebScriptScope::QueryInterface): (WebScriptScope::AddRef): (WebScriptScope::Release): (WebScriptScope::getVariableNames): (WebScriptScope::getValueForVariable):
- WebScriptScope.h: Added.
- 19:18 Changeset [27249] by
-
Not reviewed, build fix.
- Include Vector.h in a way that actually works.
- kjs/LocalStorage.h:
- 19:12 Changeset [27248] by
-
Not reviewed, build fix.
- Install LocalStorage.h as a private header.
- JavaScriptCore.xcodeproj/project.pbxproj:
- 18:55 Changeset [27247] by
-
Reviewed by Oliver.
- Give better error messages when sunspider-compare-results fails
- sunspider-compare-results:
- 18:54 Changeset [27246] by
-
Reviewed by Maciej.
Do not allow control to reach end of non-void functions
- 18:46 Changeset [27245] by
-
ChangeLog entry for r27244
- 18:44 Changeset [27244] by
-
Reviewed by Maciej.
Add GTK+ convenience conversions for various primitives
- 18:37 Changeset [27243] by
-
Reviewed by Darin.
- fix Date tests to work in command-line SpiderMonkey
- tests/date-format-tofte.js:
- tests/date-format-xparb.js:
- 18:34 Changeset [27242] by
-
Reviewed by Darin.
- Define good VectorTraits for LocalStorage entry for 0.5% speed improvement on SunSpider.
- JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- JavaScriptCore.xcodeproj/project.pbxproj:
- kjs/LocalStorage.h: Added. (KJS::LocalStorageEntry::LocalStorageEntry): (WTF::):
- kjs/function.h:
- kjs/nodes.cpp: (KJS::FunctionBodyNode::processDeclarationsForFunctionCode):
- 18:31 Changeset [27241] by
-
updated reviewers for my previous changelog.
- 18:30 Changeset [27240] by
-
Reviewed by Maciej and Adam.
- Minor mac-side improvements including moving a function to a more appropriate location, fixing a warning, and correctly checking exceptions.
- Drosera/DebuggerDocument.cpp: Corrected the exception checking. (DebuggerDocument::willExecuteStatement): (DebuggerDocument::didEnterCallFrame): (DebuggerDocument::willLeaveCallFrame): (DebuggerDocument::windowScriptObjectAvailable): (DebuggerDocument::callFunctionOnObject):
- Drosera/mac/DebuggerClient.mm: Fixes a warning.
- Drosera/mac/DebuggerDocumentPlatform.mm: Moved webScriptAttributeKeysForScriptObject to DebuggerDocumentPlatform because it doesn't require the ServerConnection at all. (NSStringCreateWithJSStringRef): Made an argument const. (JSValueRefCreateWithNSString): Made an argument const. (+[WebScriptObject webScriptAttributeKeysForScriptObject:]): (DebuggerDocument::getPlatformLocalScopeVariableNamesForCallFrame):
- Drosera/mac/ServerConnection.h: Moved aforementioned function.
- Drosera/mac/ServerConnection.mm: Ditto. (-[ServerConnection webView:didLoadMainResourceForDataSource:]):
- 17:49 Changeset [27239] by
-
Rubber-stamped by Adam Roben.
Simplify the dataURL xxs tests.
- http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-2-level-expected.txt:
- http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-2-level.html:
- http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-expected.txt:
- http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-to-data-url-sub-frame-expected.txt:
- http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-to-data-url-sub-frame.html:
- http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame.html:
- http/tests/security/dataURL/xss-DENIED-from-data-url-to-data-url-expected.txt:
- http/tests/security/dataURL/xss-DENIED-from-data-url-to-data-url.html:
- http/tests/security/dataURL/xss-DENIED-from-javascript-url-window-open-expected.txt:
- http/tests/security/dataURL/xss-DENIED-from-javascript-url-window-open.html:
- http/tests/security/dataURL/xss-DENIED-to-data-url-from-data-url-expected.txt:
- http/tests/security/dataURL/xss-DENIED-to-data-url-from-data-url.html:
- http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-2-level-expected.txt:
- http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-2-level.html:
- http/tests/security/dataURL/xss-DENIED-to-data-url-window-open-expected.txt:
- http/tests/security/dataURL/xss-DENIED-to-data-url-window-open.html:
- 17:34 Changeset [27238] by
-
Reviewed by Adam Roben.
Add a globalFlag property to the LayoutTestController to allow cross-domain indications.
- DumpRenderTree/LayoutTestController.cpp: (LayoutTestController::LayoutTestController): (getGlobalFlagCallback): (setGlobalFlagCallback): (LayoutTestController::getJSClass): (LayoutTestController::staticValues):
- DumpRenderTree/LayoutTestController.h: (LayoutTestController::globalFlag): (LayoutTestController::setGlobalFlag):
- 17:28 Changeset [27237] by
-
SunSpider:
Reviewed by Maciej.
- sunspider: Added --shark20 option, to run Shark at its highest sample resolution instead of its default.
WebKitTools:
Reviewed by Maciej.
- Scripts/run-sunspider: Added --shark20 option, to run Shark at its highest sample resolution instead of its default.
- 16:13 Changeset [27236] by
-
2007-10-29 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Anders.
Speculative fix for <rdar://5538489> Safari 3.0.4 seed hangs at
http://tgmonline.futuregamer.it/ (works fine on Safari 2.0.4 and Safari
Beta for Mac)
I cannot reproduce this hang, but it is likely due to our not limiting
WM_USER+1 messages or InvalidateRect calls for a plugin with initially-
unknown MIME type. The embed tag on the page is missing a type
attribute, so as fallback, we choose to load the Flash plugin based on
the file extension of "swf." However, we do not record this determined
MIME type, and so our quirks cannot be established.
Changed findPlugin() so that, if it fails to find a plugin for the
given MIME type, it will lookup the MIME type for the file extension -
overwriting its passed MIME type parameter - and search for a plugin
for that MIME type.
- plugins/win/PluginDatabaseWin.cpp: (WebCore::PluginDatabaseWin::pluginForMIMEType): Added an early return if the MIME type is empty (WebCore::PluginDatabaseWin::MIMETypeForExtension): Added to replace pluginForExtension. Returns a String with the MIME type for the file extension. Also, changed to use case-insensitive compares (WebCore::PluginDatabaseWin::findPlugin): If we fail to find a plugin for the given extension, overwrite the incoming MIME type parameter with the MIME type for the file extension, and search for a plugin for that MIME type. Also, changed the way that the extension is determined (WebCore::PluginDatabaseWin::createPluginView): Pass a mutable String to findPlugin() so that it can be updated if necessary
- plugins/win/PluginDatabaseWin.h: Changed findPlugin() to take a non- const String, removed definition of pluginForExtension, added definition for MIMETypeForExtension
- plugins/win/PluginPackageWin.cpp: (WebCore::PluginPackageWin::fetchInfo): Store the MIME type in lowercase for easier compares
- 15:55 Changeset [27235] by
-
Not reviewed - build fix
Fix Mac Build.
WebKit/WebCore/xml/XSLTProcessor.cpp:79: warning: 'level' may be used uninitialized
in this function
- xml/XSLTProcessor.cpp: (WebCore::XSLTProcessor::parseErrorFunc):
- 15:28 Changeset [27234] by
-
Reviewed by Adam Roben.
http://bugs.webkit.org/show_bug.cgi?id=15725
[GTK] WebCore.pro header dependencies are incorrect
Fix header dependencies in the build system
INCLUDEPATH and DEPENDPATH are now up to date.
- 15:16 Changeset [27233] by
-
Upgrade WordPress.
- 14:46 Changeset [27232] by
-
Files that have been added or modified on the server without making it in to SVN.
- 12:17 Changeset [27231] by
-
Reviewed by Oliver Hunt.
Some small tweaks that I notice while reviewing Oliver's last patch.
Includes removal of an unnecessary KJS_CHECKEXCEPTIONVALUE.
No change in SunSpider because SunSpider doesn't take the code path that
would execute the unnecessary KJS_CHECKEXCEPTIONVALUE much.
- kjs/nodes.cpp: (KJS::LocalVarPostfixNode::evaluate): (KJS::TypeOfResolveNode::optimizeVariableAccess): (KJS::LocalVarTypeOfNode::evaluate): (KJS::PrefixResolveNode::optimizeVariableAccess): (KJS::LocalVarPrefixNode::evaluate): (KJS::AssignResolveNode::optimizeVariableAccess): (KJS::LocalVarAssignNode::evaluate):
- kjs/nodes.h: (KJS::LocalVarTypeOfNode::): (KJS::PrefixResolveNode::): (KJS::LocalVarPrefixNode::): (KJS::AssignResolveNode::): (KJS::LocalVarAssignNode::):
- 11:57 Changeset [27230] by
-
A better build fix.
- 11:50 Changeset [27229] by
-
Build fix.
- css/CSSParser.cpp: (WebCore::CSSParser::parseTimingFunctionValue):
- css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
- 11:22 Changeset [27228] by
-
Land the back end for CSS animated property transitions. I am landing this in stages, so the AnimationController
class is deliberately left empty.
Reviewed by darin/aroben
- WebCore.pro:
- WebCore.vcproj/WebCore.vcproj:
- WebCore.xcodeproj/project.pbxproj:
- css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
- css/CSSPropertyNames.in:
- css/CSSTimingFunctionValue.cpp: Added. (WebCore::CSSTimingFunctionValue::cssText):
- css/CSSTimingFunctionValue.h: Added. (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue): (WebCore::CSSTimingFunctionValue::firstPoint): (WebCore::CSSTimingFunctionValue::secondPoint):
- css/CSSValueKeywords.in:
- history/CachedPage.cpp: (WebCore::CachedPage::restore):
- page/AnimationController.cpp: Added. (WebCore::AnimationController::AnimationController): (WebCore::AnimationController::~AnimationController): (WebCore::AnimationController::cancelTransitions): (WebCore::AnimationController::updateTransitions): (WebCore::AnimationController::suspendAnimations): (WebCore::AnimationController::resumeAnimations):
- page/AnimationController.h: Added.
- page/Frame.cpp: (WebCore::Frame::animationController): (WebCore::Frame::clearTimers):
- page/Frame.h:
- page/FramePrivate.h:
- rendering/RenderBox.cpp: (WebCore::RenderBox::setStyle): (WebCore::RenderBox::destroy):
- rendering/RenderObject.cpp: (WebCore::RenderObject::animationController):
- rendering/RenderObject.h:
- rendering/RenderStyle.cpp: (WebCore::Transition::Transition): (WebCore::Transition::~Transition): (WebCore::Transition::operator=): (WebCore::Transition::operator==): (WebCore::Transition::fillUnsetProperties): (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): (WebCore::StyleRareNonInheritedData::~StyleRareNonInheritedData): (WebCore::StyleRareNonInheritedData::operator==): (WebCore::StyleRareNonInheritedData::transitionDataEquivalent): (WebCore::RenderStyle::diff): (WebCore::RenderStyle::adjustTransitions): (WebCore::RenderStyle::accessTransitions):
- rendering/RenderStyle.h: (WebCore::BackgroundLayer::next): (WebCore::): (WebCore::TimingFunction::TimingFunction): (WebCore::TimingFunction::operator==): (WebCore::Transition::next): (WebCore::Transition::isTransitionDurationSet): (WebCore::Transition::isTransitionRepeatCountSet): (WebCore::Transition::isTransitionTimingFunctionSet): (WebCore::Transition::isTransitionPropertySet): (WebCore::Transition::isEmpty): (WebCore::Transition::clearTransitionDuration): (WebCore::Transition::clearTransitionRepeatCount): (WebCore::Transition::clearTransitionTimingFunction): (WebCore::Transition::clearTransitionProperty): (WebCore::Transition::transitionDuration): (WebCore::Transition::transitionRepeatCount): (WebCore::Transition::transitionTimingFunction): (WebCore::Transition::transitionProperty): (WebCore::Transition::setTransitionDuration): (WebCore::Transition::setTransitionRepeatCount): (WebCore::Transition::setTransitionTimingFunction): (WebCore::Transition::setTransitionProperty): (WebCore::Transition::setNext): (WebCore::Transition::operator!=): (WebCore::RenderStyle::transitions): (WebCore::RenderStyle::clearTransitions): (WebCore::RenderStyle::inheritTransitions): (WebCore::RenderStyle::initialTransitionDuration): (WebCore::RenderStyle::initialTransitionRepeatCount): (WebCore::RenderStyle::initialTransitionTimingFunction): (WebCore::RenderStyle::initialTransitionProperty):
- rendering/RenderWidget.cpp: (WebCore::RenderWidget::destroy):
- 10:02 Changeset [27227] by
-
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=6040
XSLT does not report errors to the user
Made parseErrorFunc a static member function of XSLTProcessor to be reusable from XSLStylesheet.
Switched to xmlSetStructuredErrorFunc to get an error structure instead of pre-formatted console
output. Got rid of DeprecatedString in XSLTProcessor.
- dom/Document.cpp: (WebCore::Document::applyXSLTransform):
- xml/XSLStyleSheet.cpp: (WebCore::XSLStyleSheet::parseString):
- xml/XSLTProcessor.cpp: (WebCore::XSLTProcessor::parseErrorFunc): (WebCore::docLoaderFunc): (WebCore::setXSLTLoadCallBack): (WebCore::writeToString): (WebCore::saveResultToString): (WebCore::transformTextStringToXHTMLDocumentString): (WebCore::xsltParamArrayFromParameterMap): (WebCore::freeXsltParamArray): (WebCore::XSLTProcessor::createDocumentFromSource): (WebCore::createFragmentFromSource): (WebCore::xsltStylesheetPointer): (WebCore::xmlDocPtrFromNode): (WebCore::resultMIMEType): (WebCore::XSLTProcessor::transformToString): (WebCore::XSLTProcessor::transformToDocument): (WebCore::XSLTProcessor::transformToFragment):
- xml/XSLTProcessor.h: (WebCore::XSLTProcessor::setXSLStylesheet): (WebCore::XSLTProcessor::importStylesheet): (WebCore::XSLTProcessor::xslStylesheet):
- 09:34 Changeset [27226] by
-
Fixed showStatus() to print status for successfully resolved conflicts when using git.
Reviewed by Mark Rowe.
Previously showStatus() would run "git diff --name-status" after a ChangeLog conflict
was successfully resolved, but this would not show any status because the change had
already been cached in the index using "git add". The solution is to add an optional
second argument to showStatus() which adds the "--cached" switch to the command.
- Scripts/resolve-ChangeLogs: (showStatus):
- 09:28 Changeset [27225] by
-
Reviewed by Mitz.
Test for http://bugs.webkit.org/show_bug.cgi?id=10030
Star Alliance site is opened without the main frame
- fast/frames/location-change-expected.txt: Added.
- fast/frames/location-change.html: Added.
- fast/frames/resources/location-change-frame-1.html: Added.
- fast/frames/resources/location-change-frame-2.html: Added.
- 09:02 Changeset [27224] by
-
WebCore:
Reviewed by John Sullivan.
- fix <rdar://problem/5424455> REGRESSION (r21168-r21193, Tiger only): Safari scrollbar is clipped at top when loading particular RSS page
Test: fast/repaint/layout-state-only-posiitoned.html
- rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutOnlyPositionedObjects): Pop layout state before updating scroll info, which possibly repaints us.
LayoutTests:
Reviewed by John Sullivan,
- repaint test for <rdar://problem/5424455> REGRESSION (r21168-r21193, Tiger only): Safari scrollbar is clipped at top when loading particular RSS page
- fast/repaint/layout-state-only-posiitoned.html: Added.
- platform/mac/fast/repaint/layout-state-only-posiitoned-expected.checksum: Added.
- platform/mac/fast/repaint/layout-state-only-posiitoned-expected.png: Added.
- platform/mac/fast/repaint/layout-state-only-posiitoned-expected.txt: Added.
- 03:31 Changeset [27223] by
-
WebCore:
REGRESSION (r17701): Favicons should be viewable as image documents
<http://bugs.webkit.org/show_bug.cgi?id=15640>
Reviewed by Darin.
On Tiger and Leopard, the image/x-icon MIME type is not returned from
CGImageSourceCopyTypeIdentifiers(), so opening a URL to a favicon caused
the icon to be downloaded instead being displayed in an image document.
Test: fast/images/favicon-as-image.html
- platform/MIMETypeRegistry.cpp: (WebCore::initialiseSupportedImageMIMETypes): Manually add image/x-icon to supportedImageMIMETypes and supportedImageResourceMIMETypes. Also fixed comment about the image/bmp MIME type since it applies to both Tiger and Leopard.
LayoutTests:
Test for: REGRESSION (r17701): Favicons should be viewable as image documents
<http://bugs.webkit.org/show_bug.cgi?id=15640>
Reviewed by Darin.
- fast/images/favicon-as-image.html: Added.
- fast/images/resources/favicon.ico: Added.
- platform/mac/fast/images/favicon-as-image-expected.checksum: Added.
- platform/mac/fast/images/favicon-as-image-expected.png: Added.
- platform/mac/fast/images/favicon-as-image-expected.txt: Added.
- 02:14 Changeset [27222] by
-
2007-10-29 Eric Seidel <eric@webkit.org>
Reviewed by Maciej.
SunSpider claims this was a 0.7% speedup.
- kjs/string_object.cpp: (KJS::StringProtoFunc::callAsFunction): avoid mallocing a jsString in the common case
- 01:44 Changeset [27221] by
-
Reviewed by Mark.
- re-enable asserts for access to empty or deleted keys
- wtf/HashTable.h: (WTF::::lookup): (WTF::::lookupForWriting): (WTF::::fullLookupForWriting): (WTF::::add):
WebCore:
Reviewed by Mark.
- fixed assertion failures detected by the new assertions
- bindings/objc/DOMRGBColor.mm: (-[DOMRGBColor dealloc]): Clear _internal before calling [super dealloc] because it's not a pointer and shouldn't be in the normal wrapper cache.
- dom/Document.cpp: (WebCore::Document::addImageMap): Don't access hashmap if name is null. (WebCore::Document::removeImageMap): ditto
- dom/StyledElement.cpp: (WebCore::StyledElement::parseMappedAttribute): Don't claim we have a class when the class attribute is empty.
- platform/TextCodecICU.cpp: (WebCore::gbkCallbackEscape): Don't look up 0 code points.
- 01:32 Changeset [27220] by
-
2007-10-29 Eric Seidel <eric@webkit.org>
Build fix only, no review.
- JavaScriptCore.exp: Export symbol for new StringInstance::getOwnPropertySlot
- 01:31 Changeset [27219] by
-
2007-10-29 Mark Rowe <mrowe@apple.com>
Gtk build fix. Move struct declarations into nodes.h.
- kjs/grammar.y:
- kjs/nodes.h:
- 00:55 Changeset [27218] by
-
2007-10-29 Eric Seidel <eric@webkit.org>
Reviewed by darin.
Give StringInstance a getOwnPropertySlot(ExecState, unsigned, PropertySlot) fastpath, just like Arrays.
Make it a compile time error to use toString(ExecState) on a StringInstance
SunSpider claims this was a 6.6% speedup overall (22% on string-base64)
- kjs/internal.h: (KJS::StringImp::getLength):
- kjs/string_object.cpp: (KJS::StringInstance::lengthGetter): (KJS::StringInstance::inlineGetOwnPropertySlot): (KJS::StringInstance::getOwnPropertySlot):
- kjs/string_object.h:
- 00:21 Changeset [27217] by
-
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=10734
Made HTMLOptionElement.index read-only, matching IE and DOM standard.
Test: fast/dom/HTMLOptionElement/set-option-index-text.html
- html/HTMLOptionElement.idl: Marked index as readonly.
- html/HTMLOptionElement.cpp:
- html/HTMLOptionElement.h: Removed setIndex().
- 00:05 Changeset [27216] by
-
Added nodes to allow Assignment, TypeOf, and prefix operators to
make use of the new optimised local variable look up.
5% gain on sunspider
Reviewed by Darin
10/28/07:
- 23:49 Changeset [27215] by
-
Reviewed by Darin.
- avoid creating and then breaking circular lists in the parser, instead track head and tail pointers at parse time http://bugs.webkit.org/show_bug.cgi?id=15748
Not a significant speedup or slowdown on SunSpider.
- kjs/Parser.cpp: (KJS::clearNewNodes):
- kjs/Parser.h:
- kjs/grammar.y:
- kjs/nodes.cpp: (KJS::BlockNode::BlockNode): (KJS::CaseBlockNode::CaseBlockNode): (KJS::FunctionBodyNode::FunctionBodyNode): (KJS::SourceElementsNode::SourceElementsNode): (KJS::ProgramNode::ProgramNode):
- kjs/nodes.h: (KJS::ElementNode::): (KJS::ArrayNode::): (KJS::PropertyListNode::): (KJS::ObjectLiteralNode::): (KJS::ArgumentListNode::): (KJS::ArgumentsNode::): (KJS::VarDeclListNode::): (KJS::VarStatementNode::): (KJS::ForNode::): (KJS::ParameterNode::): (KJS::FuncExprNode::): (KJS::FuncDeclNode::): (KJS::SourceElementsNode::): (KJS::CaseClauseNode::): (KJS::ClauseListNode::):
- 23:25 Changeset [27214] by
-
2007-10-28 Mark Rowe <mrowe@apple.com>
Disable assertions in a manner that doesn't break the Qt Windows build.
- wtf/HashTable.h: (WTF::::lookup): (WTF::::lookupForWriting): (WTF::::fullLookupForWriting):
- 23:14 Changeset [27213] by
-
Temporarily disabling some ASSERTs I introduced in my last check-in
because of http://bugs.webkit.org/show_bug.cgi?id=15747
Lots of layout tests fail the !HashTranslator::equal(KeyTraits::emptyValue() ASSERT
- wtf/HashTable.h: (WTF::::lookup): (WTF::::lookupForWriting): (WTF::::fullLookupForWriting): (WTF::::add):
- 23:13 Changeset [27212] by
-
Fix SunSpider on Windows
Reviewed by Eric.
- sunspider: Don't use colons in filenames.
- 22:53 Changeset [27211] by
-
Reviewed by Darin Adler.
Fixed http://bugs.webkit.org/show_bug.cgi?id=15746
#ifndef ASSERT_DISABLED is no good!
Replaced with #if !ASSERT_DISABLED.
- wtf/HashTable.h: (WTF::::lookup): (WTF::::lookupForWriting): (WTF::::fullLookupForWriting): (WTF::::add):
- 22:32 Changeset [27210] by
-
Reviewed by Darin Adler.
Added FunctionCallResolveNode, PostfixResolveNode, and DeleteResolveNode
to the AST transfom that replaces slow resolve nodes with fast local
variable alternatives.
2.5% speedup on SunSpider.
Also added some missing copyright notices.
- kjs/nodes.cpp: (KJS::FunctionCallResolveNode::optimizeVariableAccess): (KJS::FunctionCallResolveNode::evaluate): (KJS::LocalVarFunctionCallNode::evaluate): (KJS::PostfixResolveNode::optimizeVariableAccess): (KJS::PostfixResolveNode::evaluate): (KJS::LocalVarPostfixNode::evaluate): (KJS::DeleteResolveNode::optimizeVariableAccess): (KJS::DeleteResolveNode::evaluate): (KJS::LocalVarDeleteNode::evaluate):
- kjs/nodes.h: (KJS::FunctionCallResolveNode::): (KJS::LocalVarFunctionCallNode::LocalVarFunctionCallNode): (KJS::PostfixResolveNode::): (KJS::LocalVarPostfixNode::LocalVarPostfixNode): (KJS::DeleteResolveNode::): (KJS::LocalVarDeleteNode::LocalVarDeleteNode):
- 21:53 Changeset [27209] by
-
2007-10-28 Eric Seidel <eric@webkit.org>
Reviewed by darin.
Inline UString::Rep::deref() for a 0.8% improvement in SunSpider
Add virtual keyword to a few virtual functions previously unmarked.
- kjs/internal.h: (KJS::StringImp::type): (KJS::NumberImp::type):
- kjs/ustring.h: (KJS::UString::Rep::deref):
- 21:37 Changeset [27208] by
-
- fix "broken everything" from the storage leak fix
- wtf/RefPtr.h: (WTF::RefPtr::RefPtr): Added a PlacementNewAdopt constructor.
- kjs/ustring.h: (KJS::UString::UString): Pass PlacementNewAdopt along to RefPtr.
- 21:31 Changeset [27207] by
-
Reviewed by Adam.
- turn on unused parameter waring on Mac OS X because it's already on elsewhere
- Configurations/Base.xcconfig: Took out -wno-unused-parameter.
- API/JSNode.c:
- API/JSNodeList.c:
- API/minidom.c:
- API/testapi.c: Fixed unused variables by using them or marked them with UNUSED_PARAM.
- kjs/CollectorHeapIntrospector.h: (KJS::CollectorHeapIntrospector::zoneCalloc): Removed parameter names to indicate they are unused.
- 21:11 Changeset [27206] by
-
Reviewed by Maciej.
- fix a storage leak where we ref the UString every time we replace a ResolveNode with a LocalVarAccessNode
- kjs/identifier.h: (KJS::Identifier::Identifier): Added a constructor that takes PlacementNewAdopt.
- kjs/nodes.h: (KJS::ResolveNode::ResolveNode): Initialize the ident with PlacementNewAdopt instead of the old value of ident.
- kjs/ustring.h: (KJS::UString::UString): Added a constructor that takes PlacementNewAdopt.
- 21:04 Changeset [27205] by
-
2007-10-28 Eric Seidel <eric@webkit.org>
Reviewed by aroben.
- platform/mac/svg/custom/path-bad-data-expected.txt: updated to better results
- 21:02 Changeset [27204] by
-
- Windows build fix; get rid of unused parameter
- kjs/nodes.cpp: (KJS::ResolveNode::optimizeVariableAccess): Don't pass it.
- kjs/nodes.h: (KJS::LocalVarAccessNode::LocalVarAccessNode): Remove it. The assertions weren't all that helpful.
- 20:48 Changeset [27203] by
-
2007-10-28 Eric Seidel <eric@webkit.org>
Reviewed by darin.
Fix leaks on TOT and prevent Path code from logging to console so frequently
- platform/graphics/svg/SVGResourceFilter.h: (WebCore::SVGResourceFilterPlatformData::SVGResourceFilterPlatformData): (WebCore::SVGResourceFilterPlatformData::~SVGResourceFilterPlatformData):
- platform/graphics/svg/cg/CgSupport.cpp: (WebCore::strokeBoundingBox):
- platform/graphics/svg/cg/SVGResourceFilterCg.mm:
- platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h:
- 20:00 Changeset [27202] by
-
2007-10-28 Mark Rowe <mrowe@apple.com>
Gtk build fix. Add include of MathExtras.h.
- kjs/string_object.cpp:
- 19:52 Changeset [27201] by
-
2007-10-28 Mark Rowe <mrowe@apple.com>
Reviewed by Maciej and Tim.
Replace uses of isNaN and isInf with isnan and isinf, and
remove isNaN and isInf.
- kjs/config.h: Remove unused HAVE_'s
- kjs/date_object.cpp: (KJS::DateInstance::getTime): (KJS::DateInstance::getUTCTime): (KJS::DateProtoFunc::callAsFunction): (KJS::DateObjectImp::construct): (KJS::DateObjectFuncImp::callAsFunction):
- kjs/function.cpp: (KJS::GlobalFuncImp::callAsFunction):
- kjs/math_object.cpp: (MathFuncImp::callAsFunction):
- kjs/nodes2string.cpp: (KJS::isParserRoundTripNumber):
- kjs/number_object.cpp: (NumberProtoFunc::callAsFunction):
- kjs/operations.cpp:
- kjs/operations.h:
- kjs/string_object.cpp: (KJS::StringProtoFunc::callAsFunction):
- kjs/ustring.cpp: (KJS::UString::from):
- kjs/value.cpp: (KJS::JSValue::toInteger): (KJS::JSValue::toInt32SlowCase): (KJS::JSValue::toUInt32SlowCase):
2007-10-28 Mark Rowe <mrowe@apple.com>
Reviewed by Maciej.
Replace uses of isNaN and isInf with isnan and isinf.
- bindings/js/JSHTMLOptionsCollectionCustom.cpp: (WebCore::JSHTMLOptionsCollection::setLength):
- 19:08 Changeset [27200] by
-
Build fix: use the new-fangled missingSymbolMarker().
- kjs/nodes.cpp: (KJS::ResolveNode::optimizeVariableAccess):
- kjs/nodes.h: (KJS::LocalVarAccessNode::LocalVarAccessNode):
- 19:00 Changeset [27199] by
-
Reviewed by Maciej Stachowiak, Darin Adler.
Much supporting work done by Maciej Stachowiak, Maks Orlovich, and
Cameron Zwarich.
AST transfom to replace slow resolve nodes with fast local variable
alternatives that do direct memory access. Currently, only ResolveNode
provides a fast local variable alternative. 6 others are soon to come.
16.7% speedup on SunSpider.
Most of this patch is just scaffolding to support iterating all the
resolve nodes in the AST through optimizeResolveNodes(). In
optimizeResolveNodes(), most classes just push their child nodes onto
the processing stack, while ResolveNodes actually replace themselves in
the tree with more optimized alternatives, if possible.
Here are the interesting bits:
- kjs/nodes.h: Added PlacementNewAdoptTag, along with implementations in Node and ResolveNode. This tag allows you to use placement new to swap out a base class Node in favor of a subclass copy that holds the same data. (Without this tag, default initialization would NULL out RefPtrs, change line numbers, etc.)
- kjs/nodes.cpp: (KJS::ResolveNode::evaluate): Since we're taking the slow path, ASSERT that the fast path is impossible, to make sure we didn't leave anything on the table.
(KJS::FunctionBodyNode::optimizeResolveNodes): Here's where the AST
transformation happens.
(KJS::ResolveNode::optimizeResolveNodes): Here's where the ResolveNode
optimization happens.
- kjs/function.h: Added symbolTable() accessor for, for the sake of an ASSERT.
- 18:56 Changeset [27198] by
-
2007-10-28 Mark Rowe <mrowe@apple.com>
Reviewed by Maciej.
Fix "AllInOneFile.o has a global initializer in it".
Some versions of gcc generate a global initializer for std::numeric_limits<size_t>::max().
We can avoid this by moving it inside an inline function.
- kjs/SymbolTable.h: (KJS::missingSymbolMarker):
- kjs/function.cpp: (KJS::ActivationImp::getOwnPropertySlot): (KJS::ActivationImp::put):
- 18:50 Changeset [27197] by
-
2007-10-28 Eric Seidel <eric@webkit.org>
Reviewed by Maciej and Geoff, in unison.
- Scripts/run-webkit-tests: remove broken --svg option
- 18:29 Changeset [27196] by
-
Reviewed by Mark.
- Added assertions to protect against adding empty or deleted keys to a HashTable
- wtf/HashTable.h: (WTF::HashTable::lookup): (WTF::HashTable::lookupForWriting): (WTF::HashTable::fullLookupForWriting): (WTF::HashTable::add):
WebCore:
Reviewed by Mark.
- fixed REGRESSION(r27176): Reproducible crash while trying to order dinner makes bdash sad http://bugs.webkit.org/show_bug.cgi?id=15731
- bindings/js/kjs_window.cpp: (KJS::Window::installTimeout): Avoid putting in or accessing empty or deleted keys. (KJS::Window::clearTimeout): ditto
- manual-tests/bad-clearTimeout-crash.html: Added. Automated test not possible.
- 17:14 Changeset [27195] by
-
Remove IDLs from the Copy Bundle Resources phase.
- 16:08 Changeset [27194] by
-
Reviewed by Adam.
- resources/sunspider-analyze-results.js: Tweak the output format a little. Change so that when there's only one run we don't write out confidence intervals at all rather than writing "NaN" over and over again.
- sunspider: Use the time and date as a suffix on the results file, that way all the results are left behind in the tmp directory. This will make it easy for us to add features that compare past results in the future. Also rename the .mshark files using the same scheme.
- sunspider-compare-results: Relax the parsing rules so we can parse the results file exactly as it's emitted from sunspider.
- 16:06 Changeset [27193] by
-
- fix GTK build
- kjs/nodes2string.cpp: (KJS::isParserRoundTripNumber): Use isNaN and isInf instead of isnan and isinf.
- 16:00 Changeset [27192] by
-
Reviewed by Adam.
- Scripts/run-sunspider: Default to "Release" configuration rather than defaulting to the last configuration used as other scripts do. This can still be overriden on the command line with "--debug" if there's some reason to do so. Also fix a typo.
- Scripts/sunspider-compare-results: Fix a typo.
- 15:50 Changeset [27191] by
-
Reviewed by Maciej.
- http://bugs.webkit.org/show_bug.cgi?id=15735 remove GroupNode to simplify AST and possibly get a modest speedup
This patch removes 4 node types: GroupNode, PropertyNameNode,
FunctionCallParenBracketNode, and FunctionCallParenDotNode.
To remove GroupNode, we add knowledge of precedence to the tree nodes,
and use that when serializing to determine where parentheses are needed.
This means we no longer have to represent parentheses in the tree.
The precedence values are named after productions in the grammar from the
JavaScript standard.
SunSpider says this is an 0.4% speedup.
- kjs/function.h:
- kjs/function.cpp: Removed escapeStringForPrettyPrinting -- it's part of serialization, so I moved it to the file that takes care of that.
- kjs/grammar.y: Changed makeGetterOrSetterPropertyNode to use 0 to indicate failure instead of a separate boolean. Got rid of PropertyNameNode by merging the PropertyName rule into the Property rule (which was easier than figuring out how to pass the Identifier from one node to another). Got rid of GroupNode, nodeInsideAllParens(), FunctionCallParenBracketNode, and FunctionCallParenDotNode.
- kjs/nodes.h: Removed unused forward declarations and Operator values. Added Precedence enum, and precedence function to all nodes. Removed nodeInsideAllParens. Added streamBinaryOperator function for serialization. Removed GroupNode and PropertyNameNode. Made PropertyNode store an Identifier. Removed FunctionCallParenBracketNode and FunctionCallParenDotNode.
- kjs/nodes.cpp: Removed Node::nodinsideAllParens, GroupNode, and PropertyNameNode. (KJS::PropertyListNode::evaluate): Changed code to get name directly instead of converting it from an Identifier to a jsString then back to a UString then into an Identifier again!
- kjs/nodes2string.cpp: Changed special-token implementation to use a separate function for each of Endl, Indent, Unindent, and DotExpr instead of using a single function with a switch. Added a precedence that you can stream in, to cause the next node serialized to add parentheses based on that precedence value. (KJS::operatorString): Moved to the top of the file. (KJS::escapeStringForPrettyPrinting): Moved here from function.cpp. Removed old workaround for snprintf, since StringExtras.h takes care of that. (KJS::operator<<): Made the char and char* versions faster by using UString's character append functions instead of constructing a UString. Added the logic to the Node* version to add parentheses if needed. (KJS::Node::streamLeftAssociativeBinaryOperator): Added helper function. (KJS::ElementNode::streamTo): Use PrecAssignment for the elements. (KJS::BracketAccessorNode::streamTo): Use PrecCall for the expression before the bracket. (KJS::DotAccessorNode::streamTo): Use PrecCall for the expression before the dot. (KJS::ArgumentListNode::streamTo): Use PrecAssignment for the arguments. (KJS::NewExprNode::streamTo): Use PrecMember for the expression. (KJS::FunctionCallValueNode::streamTo): Use PrecCall. (KJS::FunctionCallBracketNode::streamTo): Ditto. (KJS::FunctionCallDotNode::streamTo): Ditto. (KJS::PostfixBracketNode::streamTo): Ditto. (KJS::PostfixDotNode::streamTo): Ditto. (KJS::PostfixErrorNode::streamTo): Use PrecLeftHandSide. (KJS::DeleteBracketNode::streamTo): Use PrecCall. (KJS::DeleteDotNode::streamTo): Ditto. (KJS::DeleteValueNode::streamTo): Use PrecUnary. (KJS::VoidNode::streamTo): Ditto. (KJS::TypeOfValueNode::streamTo): Ditto. (KJS::PrefixBracketNode::streamTo): Use PrecCall. (KJS::PrefixDotNode::streamTo): Ditto. (KJS::PrefixErrorNode::streamTo): Use PrecUnary. (KJS::UnaryPlusNode::streamTo): Ditto. (KJS::NegateNode::streamTo): Ditto. (KJS::BitwiseNotNode::streamTo): Ditto. (KJS::LogicalNotNode::streamTo): Ditto. (KJS::MultNode::streamTo): Use streamLeftAssociativeBinaryOperator. (KJS::DivNode::streamTo): Ditto. (KJS::ModNode::streamTo): Ditto. (KJS::AddNode::streamTo): Ditto. (KJS::SubNode::streamTo): Ditto. (KJS::LeftShiftNode::streamTo): Ditto. (KJS::RightShiftNode::streamTo): Ditto. (KJS::UnsignedRightShiftNode::streamTo): Ditto. (KJS::LessNode::streamTo): Ditto. (KJS::GreaterNode::streamTo): Ditto. (KJS::LessEqNode::streamTo): Ditto. (KJS::GreaterEqNode::streamTo): Ditto. (KJS::InstanceOfNode::streamTo): Ditto. (KJS::InNode::streamTo): Ditto. (KJS::EqualNode::streamTo): Ditto. (KJS::NotEqualNode::streamTo): Ditto. (KJS::StrictEqualNode::streamTo): Ditto. (KJS::NotStrictEqualNode::streamTo): Ditto. (KJS::BitAndNode::streamTo): Ditto. (KJS::BitXOrNode::streamTo): Ditto. (KJS::BitOrNode::streamTo): Ditto. (KJS::LogicalAndNode::streamTo): Ditto. (KJS::LogicalOrNode::streamTo): Ditto. (KJS::ConditionalNode::streamTo): Ditto. (KJS::AssignResolveNode::streamTo): Use PrecAssignment for the right side. (KJS::AssignBracketNode::streamTo): Use PrecCall for the expression before the bracket and PrecAssignment for the right side. (KJS::AssignDotNode::streamTo): Ditto. (KJS::AssignErrorNode::streamTo): Use PrecLeftHandSide for the left side and PrecAssignment for the right side. (KJS::CommaNode::streamTo): Use PrecAssignment for both expressions. (KJS::AssignExprNode::streamTo): Use PrecAssignment.
LayoutTests:
Reviewed by Maciej.
- test for http://bugs.webkit.org/show_bug.cgi?id=15735 remove GroupNode to simplify AST and possibly get a modest speedup
One test is a start at testing that parentheses are added when needed.
The other test checks some aspects of object literals, since I changed
the way the property names is handled in those. More tests are needed.
- fast/js/function-toString-object-literals-expected.txt: Added.
- fast/js/function-toString-object-literals.html: Added.
- fast/js/function-toString-parentheses-expected.txt: Added.
- fast/js/function-toString-parentheses.html: Added.
- fast/js/resources/function-toString-object-literals.js: Added.
- fast/js/resources/function-toString-parentheses.js: Added.
- 14:27 Changeset [27190] by
-
wx port defines for graphics and network layers.
- 14:09 Changeset [27189] by
-
Reviewed by Anders Carlsson.
http://bugs.webkit.org/show_bug.cgi?id=14124
[CURL] Support data URLs
Add data URL support (both Base64 and percent-encoded formats).
Inspired by code from the Qt port.
- 13:23 Changeset [27188] by
-
http://bugs.webkit.org/show_bug.cgi?id=15701
The curl http backend does not deal properly with redirects
Implement http redirect support.
- 12:18 Changeset [27187] by
-
Add the defines, platform types and options needed for the wx port.
- 11:20 Changeset [27186] by
-
2007-10-28 Mark Rowe <mrowe@apple.com>
We don't include "config.h" in headers.
- bindings/jni/jni_instance.h:
- kjs/regexp.h:
- wtf/TCPageMap.h:
- wtf/TCSpinLock.h:
2007-10-28 Mark Rowe <mrowe@apple.com>
We don't include "config.h" in headers.
- dom/XMLTokenizer.h:
- platform/graphics/svg/SVGResourceFilter.h:
- platform/image-decoders/ImageDecoder.h:
- platform/wx/FontPlatformData.h:
- 10:53 UsingSafari2WithSafari3PublicBetaInstalled edited by
- Self-contained Safari 3 (diff)
- 10:41 Changeset [27185] by
-
Removed some "Reviewed by NOBODY".
- 10:37 Changeset [27184] by
-
Removed some "Reviewed by NOBODY".
- 10:36 Changeset [27183] by
-
Removed some "Reviewed by NOBODY".
- 10:31 Changeset [27182] by
-
- platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h: We don't include "config.h" in headers. Hope this desn't break the non-SVG build again.
- 10:22 Changeset [27181] by
-
- try to fix Windows build
- WebKit.vcproj/WebKit.vcproj: Suppress warning 4800 (conversion to bool), since we don't want to add !! everywhere, and because HashTable.h has a conversion to bool of this type now.
- 04:47 Changeset [27180] by
-
2007-10-28 Eric Seidel <eric@webkit.org>
Build fix for non-SVG build, no review.
- platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h:
- platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.mm:
- 03:34 Changeset [27179] by
-
2007-10-28 Eric Seidel <eric@webkit.org>
Reviewed by Oliver.
Push SVGResourceFilter platform specific data down into m_platformData
in preparation for implementing a non-mac filter solution.
Also update a very old email address in copyright headers
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/FloatPoint3D.cpp: (WebCore::FloatPoint3D::FloatPoint3D):
- platform/graphics/FloatPoint3D.h:
- platform/graphics/svg/SVGResourceFilter.cpp: (WebCore::SVGResourceFilter::SVGResourceFilter):
- platform/graphics/svg/SVGResourceFilter.h: (WebCore::SVGResourceFilter::platformData): (WebCore::SVGResourceFilter::effects):
- platform/graphics/svg/cg/SVGResourceFilterCg.mm: (WebCore::SVGResourceFilter::createPlatformData):l (WebCore::SVGResourceFilter::prepareFilter): (WebCore::SVGResourceFilter::applyFilter):
- platform/graphics/svg/filters/SVGDistantLightSource.h:
- platform/graphics/svg/filters/SVGFEBlend.cpp:
- platform/graphics/svg/filters/SVGFEBlend.h:
- platform/graphics/svg/filters/SVGFEColorMatrix.cpp:
- platform/graphics/svg/filters/SVGFEColorMatrix.h:
- platform/graphics/svg/filters/SVGFEComponentTransfer.cpp:
- platform/graphics/svg/filters/SVGFEComponentTransfer.h:
- platform/graphics/svg/filters/SVGFEComposite.cpp:
- platform/graphics/svg/filters/SVGFEComposite.h:
- platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp:
- platform/graphics/svg/filters/SVGFEConvolveMatrix.h:
- platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp:
- platform/graphics/svg/filters/SVGFEDiffuseLighting.h:
- platform/graphics/svg/filters/SVGFEDisplacementMap.cpp:
- platform/graphics/svg/filters/SVGFEDisplacementMap.h:
- platform/graphics/svg/filters/SVGFEFlood.cpp:
- platform/graphics/svg/filters/SVGFEFlood.h:
- platform/graphics/svg/filters/SVGFEGaussianBlur.cpp:
- platform/graphics/svg/filters/SVGFEGaussianBlur.h:
- platform/graphics/svg/filters/SVGFEImage.cpp:
- platform/graphics/svg/filters/SVGFEImage.h:
- platform/graphics/svg/filters/SVGFEMerge.cpp:
- platform/graphics/svg/filters/SVGFEMerge.h:
- platform/graphics/svg/filters/SVGFEMorphology.cpp:
- platform/graphics/svg/filters/SVGFEMorphology.h:
- platform/graphics/svg/filters/SVGFEOffset.cpp:
- platform/graphics/svg/filters/SVGFEOffset.h:
- platform/graphics/svg/filters/SVGFESpecularLighting.cpp:
- platform/graphics/svg/filters/SVGFESpecularLighting.h:
- platform/graphics/svg/filters/SVGFETile.h:
- platform/graphics/svg/filters/SVGFETurbulence.cpp:
- platform/graphics/svg/filters/SVGFETurbulence.h:
- platform/graphics/svg/filters/SVGFilterEffect.cpp:
- platform/graphics/svg/filters/SVGFilterEffect.h:
- platform/graphics/svg/filters/SVGLightSource.cpp:
- platform/graphics/svg/filters/SVGLightSource.h:
- platform/graphics/svg/filters/SVGPointLightSource.h:
- platform/graphics/svg/filters/SVGSpotLightSource.h:
- platform/graphics/svg/filters/cg/SVGFEBlendCg.mm: (WebCore::SVGFEBlend::getCIFilter):
- platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm: (WebCore::SVGFEColorMatrix::getCIFilter):
- platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm: (WebCore::SVGFEComponentTransfer::getCIFilter):
- platform/graphics/svg/filters/cg/SVGFECompositeCg.mm: (WebCore::SVGFEComposite::getCIFilter):
- platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm: (WebCore::SVGFEDiffuseLighting::getCIFilter):
- platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm: (WebCore::SVGFEDisplacementMap::getCIFilter):
- platform/graphics/svg/filters/cg/SVGFEFloodCg.mm: (WebCore::SVGFEFlood::getCIFilter):
- platform/graphics/svg/filters/cg/SVGFEHelpersCg.h:
- platform/graphics/svg/filters/cg/SVGFEImageCg.mm: (WebCore::SVGFEImage::getCIFilter):
- platform/graphics/svg/filters/cg/SVGFEMergeCg.mm: (WebCore::SVGFEMerge::getCIFilter):
- platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm: (WebCore::SVGFESpecularLighting::getCIFilter):
- platform/graphics/svg/mac: Added.
- platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h: Added.
- platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.mm: Added. (WebCore::SVGResourceFilterPlatformDataMac::SVGResourceFilterPlatformDataMac): (WebCore::SVGResourceFilterPlatformDataMac::~SVGResourceFilterPlatformDataMac): (WebCore::SVGResourceFilterPlatformDataMac::getCIFilterStack): (WebCore::alphaImageForImage): (WebCore::SVGResourceFilterPlatformDataMac::imageForName): (WebCore::SVGResourceFilterPlatformDataMac::setImageForName): (WebCore::SVGResourceFilterPlatformDataMac::setOutputImage): (WebCore::SVGResourceFilterPlatformDataMac::inputImage):
- 03:19 Changeset [27178] by
-
Rubber stamped by Mark.
- avoid using non-portable SIZE_T_MAX in favor of std::numeric_limits
- kjs/SymbolTable.h: (KJS::SymbolTableIndexHashTraits::emptyValue):
- kjs/function.cpp: (KJS::ActivationImp::getOwnPropertySlot): (KJS::ActivationImp::put):
- 02:20 Changeset [27177] by
-
Reviewed by Eric.
- switch SymbolTable to be a HashMap instead of a PropertyMap for 3% SunSpider speedup
- kjs/SymbolTable.h: (KJS::IdentifierRepHash::hash): Special hash function for identifier reps. (KJS::IdentifierRepHash::equal): ditto (KJS::SymbolTableIndexHashTraits::emptyValue): Special HashTraits for the index value. (KJS::SymbolTable): change to a typedef for a HashMap.
- kjs/function.cpp: (KJS::ActivationImp::getOwnPropertySlot): Adjusted for new SymbolTable API. (KJS::ActivationImp::deleteProperty): ditto (KJS::ActivationImp::put): ditto
- kjs/nodes.cpp: (KJS::FunctionBodyNode::initializesymbolTable): Adjusted, since you now have to store a UString::rep, not an identifier.
- 01:17 Changeset [27176] by
-
Reviewed by Oliver.
- numerous HashTable performance improvements
This does not quite add up to a measurable win on SunSpider, but it allows a
follow-on > 3% improvement and probably helps WebCore too.
I made the following improvements, among others:
- Made HashFunctions note whether it is ok to compare a real value with the equal() function to the empty or deleted value, and used this to optimize the comparisons done in hash lookup.
- Specialized lookup so it doesn't have to do so many extra branches and build so many extra std::pairs for cases that don't need them. There are now four versions, one for read-only access, two for writing, and one folded directly into add() (these all were improvments).
- Made HashMap::get() use lookup() directly instead of find() to avoid having to build iterators.
- Made a special constructor for iterators that knows it points to a valid filled cell and so skips updating itself.
- Reordered memory accesses in the various lookup functions for better codegetion
- Made simple translators avoid passing a hash code around
- Other minor tweaks
- wtf/HashTable.h: (WTF::): (WTF::HashTableConstIterator::HashTableConstIterator): (WTF::HashTableIterator::HashTableIterator): (WTF::IdentityHashTranslator::translate): (WTF::HashTable::end): (WTF::HashTable::lookup): (WTF::HashTable::lookupForWriting): (WTF::HashTable::makeKnownGoodIterator): (WTF::HashTable::makeKnownGoodConstIterator): (WTF::::lookup): (WTF::::lookupForWriting): (WTF::::fullLookupForWriting): (WTF::::add): (WTF::::addPassingHashCode): (WTF::::reinsert): (WTF::::find): (WTF::::contains):
- kjs/identifier.cpp: (WTF::):
- wtf/HashFunctions.h: (WTF::):
- wtf/HashMap.h: (WTF::): (WTF::::get):
- wtf/HashSet.h: (WTF::): (WTF::::add):
- wtf/ListHashSet.h: (WTF::ListHashSetTranslator::translate):
- 01:02 Changeset [27175] by
-
Reviewed by Adam Roben.
http://bugs.webkit.org/show_bug.cgi?id=15217
Plugin complains that xpcom_core.dll missing
- plugins/win/PluginDatabaseWin.cpp: (WebCore::PluginDatabaseWin::isPluginBlacklisted): Blacklist npmozax.dll.
- 00:32 Changeset [27174] by
-
Reviewed by Adam.
Pass the Document's domain to InspectorController:didOpenDatabase. This matches
what the Inspector shows for other resources.
- storage/Database.cpp: (WebCore::Database::openDatabase):
- dom/Document.h: Remove KURL.h, no longer needed.
- 00:08 Changeset [27173] by
-
Reviewed by Adam.
Bug 15728: Selected Resource background image gradient has banding
http://bugs.webkit.org/show_bug.cgi?id=15728
- Reduced images to 1px wide that are tiled horizontally in CSS.
- Corrected the -webkit-background-size usage to specify auto for the width.
- page/inspector/Images/attachedShadow.png:
- page/inspector/Images/bottomShadow.png:
- page/inspector/Images/darkShadow.png:
- page/inspector/Images/gradient.png:
- page/inspector/Images/gradientHighlight.png:
- page/inspector/Images/gradientHighlightBottom.png:
- page/inspector/Images/sidebarSelection.png:
- page/inspector/Images/sidebarSelectionBlurred.png:
- page/inspector/Images/sidebarSelectionBlurredTall.png:
- page/inspector/Images/sidebarSelectionGray.png:
- page/inspector/Images/sidebarSelectionGrayTall.png:
- page/inspector/Images/sidebarSelectionTall.png:
- page/inspector/inspector.css:
- 00:04 Changeset [27172] by
-
Re-enable a bunch of passing tests on Windows
Reviewed by NOBODY.
- platform/win/Skipped:
10/27/07:
- 23:45 Changeset [27171] by
-
Reviewed by Adam.
Bug 15727: Resizing the resource sidebar doesn't scale the font preview or network timeline
http://bugs.webkit.org/show_bug.cgi?id=15727
Add one window resize listener and call the new resize function on the currentPanel.
Also call the currentPanel's resize function when resizing the sidebar.
- page/inspector/DocumentPanel.js: Implement resize and call updateTreeSelection() when the panel is shown and when resizing the DOM sidebar.
- page/inspector/FontPanel.js: Implement resize.
- page/inspector/NetworkPanel.js: Ditto.
- page/inspector/inspector.js: Add a window resize listener.
- 23:31 Changeset [27170] by
-
Reviewed by Oliver.
- update for HashTable changes
- bindings/js/JSSVGPODTypeWrapper.h:
- dom/Document.h:
- dom/QualifiedName.cpp:
- dom/StyledElement.cpp:
- ksvg2/svg/SVGAnimatedTemplate.h:
- platform/FontCache.cpp:
- platform/StringHash.h: (WTF::):
- platform/TextEncodingRegistry.cpp:
- platform/graphics/IntSizeHash.h: (WTF::):
- plugins/win/PluginPackageWin.h:
- 22:34 Changeset [27169] by
-
2007-10-28 Alp Toker <alp@atoker.com>
Reviewed by Adam Roben.
http://bugs.webkit.org/show_bug.cgi?id=15646
[GTK] caretBlinkFrequency is hard-coded in Frame.cpp
Abstract caretBlinkFrequency to RenderTheme.
- page/Frame.cpp: (WebCore::Frame::selectionLayoutChanged):
- platform/gtk/RenderThemeGtk.cpp: (WebCore::RenderThemeGtk::caretShouldBlink): (WebCore::RenderThemeGtk::caretBlinkFrequency):
- platform/gtk/RenderThemeGtk.h:
- rendering/RenderTheme.h:
- 22:22 Changeset [27168] by
-
2007-10-28 Lars Lindner <lars.lindner@gmail.com>
Reviewed by Alp.
http://bugs.webkit.org/show_bug.cgi?id=15466
[gtk] widget does not take focus on mouse click
Grab widget focus in mouse press callback.
- Api/webkitgtkpage.cpp:
- 22:02 Changeset [27167] by
-
Updated Windows Skipped file for currently failing tests
Reviewed by NOBODY.
- platform/win/Skipped:
- 21:38 Changeset [27166] by
-
Fix HTMLDocument12.xhtml on Leopard/Windows
<rdar://5313535> and <rdar://5539816>
The test succeeds on Leopard and Windows, but fails on Tiger. For some
reason, failing expected results had been checked in to
platform/mac-leopard. The test seems to be passing now, so I moved the
failing results to platform/mac-tiger.
Reviewed by Maciej and Sam.
- platform/mac-leopard/dom/xhtml/level2/html/HTMLDocument12-expected.txt: Removed.
- platform/mac-tiger/dom/xhtml/level2/html/HTMLDocument12-expected.txt: Moved from platform/mac-leopard.
- 21:24 Changeset [27165] by
-
Reviewed by Adam.
Don't print the line number in the Inspector Console if it is Zero.
- page/inspector/ConsolePanel.js:
- 20:31 Changeset [27164] by
-
Reviewed by Eric.
- fix ASCIICType.h for some Windows compiles
- wtf/ASCIICType.h: Check the compiler, not the OS, since it's the compiler/library that has the wchar_t that is just a typedef.
- 20:12 Changeset [27163] by
-
Hit with the rubber-stamp of Timothy Hatcher.
Tests for window.console's functions.
- fast/dom/Window/console-functions-expected.txt: Added.
- fast/dom/Window/console-functions.html: Added.
- 19:52 Changeset [27162] by
-
Reviewed by Tim Hatcher.
Speculative fix for an intermittently failing test
- fast/dom/Window/resources/opened-window.html: Added.
- fast/dom/Window/window-early-properties.html: Use onload for opened window and use a local file instead of a data: URL to avoid same origin check issues.
- 19:11 Changeset [27161] by
-
WebCore:
Reviewed by Adam Roben.
Fix http://bugs.webkit.org/show_bug.cgi?id=14953
Implement window.console in WebCore
- Adds a window.console object that has 4 methods (log, info, warn, and error) that send messages to the Chrome. This moves functionality that was in the app down into WebCore.
- DerivedSources.make:
- WebCore.pro:
- WebCore.vcproj/WebCore.vcproj:
- WebCore.xcodeproj/project.pbxproj:
- bindings/scripts/CodeGeneratorJS.pm: Add extended attribute to mark attributes as [Replacable] which indicates they can overridden when set.
- page/Chrome.cpp: (WebCore::Chrome::addMessageToConsole): Allow all messages to go up to the ChromeClient.
- page/Console.cpp: Added. (WebCore::Console::Console): (WebCore::Console::disconnectFrame): (WebCore::Console::error): (WebCore::Console::info): (WebCore::Console::log): (WebCore::Console::warn):
- page/Console.h: Added.
- page/Console.idl: Added.
- page/DOMWindow.cpp: (WebCore::DOMWindow::clear): (WebCore::DOMWindow::console):
- page/DOMWindow.h:
- page/DOMWindow.idl:
LayoutTests:
Reviewed by Adam Roben.
Update tests for http://bugs.webkit.org/show_bug.cgi?id=14953
Implement window.console in WebCore
- fast/dom/Window/window-properties-expected.txt:
- http/tests/security/cross-frame-access-put-expected.txt:
- 17:47 Changeset [27160] by
-
Update results
- 17:02 Changeset [27159] by
-
Speculative fix for an intermittently failing test
Reviewed by Sam and Eric.
- http/tests/local/style-access-before-stylesheet-loaded.html: Use waitUntilDone/notifyDone.
- 16:53 Changeset [27158] by
-
2007-10-27 Eric Seidel <eric@webkit.org>
Reviewed by aroben.
Remove legacy createFilterEffect function (causing extra filter tests to fail on windows)
No functional changes, thus no tests.
- ksvg2/svg/SVGFEBlendElement.cpp: (WebCore::SVGFEBlendElement::filterEffect):
- ksvg2/svg/SVGFEColorMatrixElement.cpp: (WebCore::SVGFEColorMatrixElement::filterEffect):
- ksvg2/svg/SVGFEComponentTransferElement.cpp: (WebCore::SVGFEComponentTransferElement::filterEffect):
- ksvg2/svg/SVGFECompositeElement.cpp: (WebCore::SVGFECompositeElement::filterEffect):
- ksvg2/svg/SVGFEDiffuseLightingElement.cpp: (WebCore::SVGFEDiffuseLightingElement::filterEffect):
- ksvg2/svg/SVGFEDisplacementMapElement.cpp: (WebCore::SVGFEDisplacementMapElement::filterEffect):
- ksvg2/svg/SVGFEFloodElement.cpp: (WebCore::SVGFEFloodElement::filterEffect):
- ksvg2/svg/SVGFEGaussianBlurElement.cpp: (WebCore::SVGFEGaussianBlurElement::filterEffect):
- ksvg2/svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::filterEffect):
- ksvg2/svg/SVGFEMergeElement.cpp: (WebCore::SVGFEMergeElement::filterEffect):
- ksvg2/svg/SVGFEOffsetElement.cpp: (WebCore::SVGFEOffsetElement::filterEffect):
- ksvg2/svg/SVGFESpecularLightingElement.cpp: (WebCore::SVGFESpecularLightingElement::filterEffect):
- ksvg2/svg/SVGFETileElement.cpp: (WebCore::SVGFETileElement::filterEffect):
- ksvg2/svg/SVGFETurbulenceElement.cpp: (WebCore::SVGFETurbulenceElement::filterEffect):
- platform/graphics/svg/SVGResourceFilter.h:
- platform/graphics/svg/cg/SVGResourceFilterCg.cpp:
- platform/graphics/svg/cg/SVGResourceFilterCg.mm:
- platform/graphics/svg/qt/SVGResourceFilterQt.cpp:
- 16:31 Changeset [27157] by
-
Add some more failing tests to the Windows Skipped file
Reviewed by NOBODY.
- platform/win/Skipped:
- 16:26 Changeset [27156] by
-
Reviewed by Adam.
- Stubbed out IWebScriptCallFrame for Drosera.
- Interfaces/IWebScriptCallFrame.idl: Added function declarations.
- WebKit.vcproj/WebKit.vcproj: Added .h/.cpp files to the project.
- WebScriptCallFrame.cpp: Added. (WebScriptCallFrame::WebScriptCallFrame): (WebScriptCallFrame::~WebScriptCallFrame): (WebScriptCallFrame::createInstance): (WebScriptCallFrame::QueryInterface): (WebScriptCallFrame::AddRef): (WebScriptCallFrame::Release): (WebScriptCallFrame::caller): (WebScriptCallFrame::scopeChain): (WebScriptCallFrame::functionName): (WebScriptCallFrame::evaluateWebScript):
- WebScriptCallFrame.h: Added.
- 16:25 Changeset [27155] by
-
WebCore:
Reviewed by Darin Adler.
- fix a crash when opening Zenoss server history view <rdar://problem/5530657>
Test: fast/table/colgroup-relative.html
- rendering/LayoutState.cpp: (WebCore::LayoutState::LayoutState): Added a hasLayer() check before accessing layer().
LayoutTests:
Reviewed by Darin Adler.
- test for <rdar://problem/5530657>
- fast/table/colgroup-relative-expected.txt: Added.
- fast/table/colgroup-relative.html: Added.
- 15:45 Changeset [27154] by
-
- BuildFix
- Forgot to change the build step when I changed the filename.
- JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- 12:20 Changeset [27153] by
-
Reviewed by Darin Adler.
Fixed the rest of "ASSERTION FAILED: _hash in KJS::UString::Rep::
computedHash()"
http://bugs.webkit.org/show_bug.cgi?id=15718
- kjs/identifier.cpp: Fixed more cases where an Identifier didn't get a hash value. Also changed O(n) strlen to O(1) check for empty string. (KJS::Identifier::add):
- kjs/ustring.cpp: Changed O(n) strlens to O(1) checks for empty string. (KJS::UString::UString): (KJS::UString::operator=):
- 12:10 Changeset [27152] by
-
Reviewed by Eric.
- a couple of Windows fixes
- wtf/MathExtras.h: (wtf_pow): Add a special case for MSVC, which has a "pow" function that does not properly handle the case where arg1 is NaN and arg2 is 0.
- kjs/math_object.cpp: (MathFuncImp::callAsFunction): Don't explicity specify "::pow" -- just "pow" is fine.
- wtf/ASCIICType.h: Check the compiler, not the OS, since it's the compiler/library that has the wchar_t that is just a typedef.
- 11:51 Changeset [27151] by
-
2007-10-27 Julien <julien.chaffraix@gmail.com>
Reviewed by Alexey.
http://bugs.webkit.org/show_bug.cgi?id=13141
XMLHttpRequest should set readyState to 0 after abort()
Test: http/tests/xmlhttprequest/xmlhttprequest-abort-readyState.html
- xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::open): (WebCore::XMLHttpRequest::abort):
- 09:54 Changeset [27150] by
-
WebCore:
Reviewed by Dave Hyatt.
- fix rotated border images by using a temporary subimage containing only the part we want to tile
Test: fast/borders/border-image-rotate-transform.html
- platform/graphics/cg/ImageCG.cpp: (WebCore::Image::drawPatternCallback): (WebCore::Image::drawPattern):
LayoutTests:
Reviewed by Dave Hyatt.
- rotated border image test
- fast/borders/border-image-rotate-transform.html: Added.
- platform/mac/fast/borders/border-image-rotate-transform-expected.checksum: Added.
- platform/mac/fast/borders/border-image-rotate-transform-expected.png: Added.
- platform/mac/fast/borders/border-image-rotate-transform-expected.txt: Added.
- 07:48 Changeset [27149] by
-
Reviewed by Maciej.
- http://bugs.webkit.org/show_bug.cgi?id=15711 force JSImmediate to be inlined for roughly 1.2% SunSpider speedup
- kjs/JSImmediate.h: Put ALWAYS_INLINE on everything.
- kjs/object.h: Removed redundant includes.
- kjs/value.h: Ditto.
- 03:46 Changeset [27148] by
-
2007-10-27 Mark Ambachtsheer <mark.a@apple.com>
Reviewed by Darin.
Fix for bug 15710, When QD plugins draw to an offscreen bitmap and the plugin is not at
(0, 0) the clipping rectangle is not correct.
Added the origin to the window clip rectangle coordinates to account for plugins that
don't originate at (0,0); affects code for offscreen GWorlds only.
- Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
- 03:39 Changeset [27147] by
-
2007-10-27 Jan Michael Alonzo <jmalonzo@unpluggable.com>
Reviewed by Alp.
http://bugs.webkit.org/show_bug.cgi?id=15722
[GTK] Refactor gtk/RenderThemeGtk and implement a few more methods
Refactor/enhance GTK RenderTheme
- platform/gtk/RenderThemeGtk.cpp: (WebCore::RenderThemeGtk::supportsFocus): added TextArea, Menulist, Radio, and Checkbox Appearances (WebCore::RenderThemeGtk::supportsFocusRing): call supportsFocus() to check if focus on appearance is supported (WebCore::RenderThemeGtk::controlSupportsTints): copied from Qt and Safari ports (WebCore::RenderThemeGtk::baselinePosition): copied from Qt and Safari ports (WebCore::RenderThemeGtk::paintCheckbox): moved painting in paintButton (WebCore::RenderThemeGtk::paintRadio): moved painting in paintButton (WebCore::RenderThemeGtk::paintButton): paint the different buttons here, checking for the right appearance before doing so (WebCore::RenderThemeGtk::paintMenuList): use 0 instead of NULLs (WebCore::RenderThemeGtk::adjustTextFieldStyle): (WebCore::RenderThemeGtk::getThemeData):
- platform/gtk/RenderThemeGtk.h: (WebCore::RenderThemeGtk::supportsControlTints):
- 03:23 Changeset [27146] by
-
Reviewed by Mark.
- fixed "ASSERTION FAILED: _hash in KJS::UString::Rep::computedHash()" http://bugs.webkit.org/show_bug.cgi?id=15718
- kjs/identifier.cpp: (KJS::Identifier::addSlowCase): Ensure that empty Identifiers have a hash computed, now that we count on all Identifiers already having one.
- 01:40 Changeset [27145] by
-
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=15555
XMLHttpRequest does not support charset "x-user-defined", which can
facilitate loading of binary data
Test: http/tests/xmlhttprequest/binary-x-user-defined.html
- WebCore.pro:
- WebCore.vcproj/WebCore.vcproj:
- WebCore.xcodeproj/project.pbxproj:
- platform/TextCodecUserDefined.cpp: Added. (WebCore::TextCodecUserDefined::registerEncodingNames): (WebCore::newStreamingTextDecoderUserDefined): (WebCore::TextCodecUserDefined::registerCodecs): (WebCore::TextCodecUserDefined::decode): (WebCore::encodeComplexUserDefined): (WebCore::TextCodecUserDefined::encode):
- platform/TextCodecUserDefined.h: Added.
- platform/TextEncodingRegistry.cpp: (WebCore::buildBaseTextCodecMaps):
- 01:16 Changeset [27144] by
-
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=15467
Setting innerHTML to blank string in application/xhtml+xml mode
throws DOM Exception 7
Test: fast/dom/blank-innerHTML.xhtml
- dom/XMLTokenizer.cpp: (WebCore::parseXMLDocumentFragment): Bail out early if the input string is empty.
- 01:11 Changeset [27143] by
-
2007-10-27 Mark Rowe <mrowe@apple.com>
Silence a warning.
- kjs/SymbolTable.h:
- 01:08 Changeset [27142] by
-
2007-10-27 Mark Rowe <mrowe@apple.com>
Gtk build fix.
- kjs/function.h:
10/26/07:
- 21:42 Changeset [27141] by
-
Enable dragging the left sidebar using the separator.
Reviewed by Anders (unless Mitz says otherwise).
- page/inspector/DocumentPanel.js:
- page/inspector/inspector.css:
- page/inspector/inspector.html:
- page/inspector/inspector.js:
- 20:40 Changeset [27140] by
-
Fix an off by one error when resizing the Inspector find window.
Reviewed by Hyatt.
- page/inspector/inspector.js:
- 19:56 Changeset [27139] by
-
2007-10-26 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Adam.
Fix fallout from r26072, which leads to all plugin streams for local
resources being cancelled
- loader/win/NetscapePlugInStreamLoaderWin.cpp: (WebCore::NetscapePlugInStreamLoader::didReceiveResponse): Ensure this is an HTTP response before checking the HTTP response code
- 19:50 Changeset [27138] by
-
Fix for http://bugs.webkit.org/show_bug.cgi?id=15719, transformed box doesn't repaint properly
when only translation changes.
Move the updating of the transform to in between the old repaint and the new repaint.
Reviewed by mitz
fast/repaint/transform-translate.html
- rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPositions):
- 18:45 Changeset [27137] by
-
Rubber stamp by Adam.
- Renamed JSStringRefCOM to JSStringRefBSTR since it he only thing the files contain are functions that operate on BSTRs.
- API/JSStringRefBSTR.cpp: Copied from API/JSStringRefCOM.cpp.
- API/JSStringRefBSTR.h: Copied from API/JSStringRefCOM.h.
- API/JSStringRefCOM.cpp: Removed.
- API/JSStringRefCOM.h: Removed.
- JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- 18:38 Changeset [27136] by
-
Reviewed by Adam.
- Implemented the WebScriptDebugListener functions now that the WebScriptDebugServer exists
- Drosera/win/ServerConnection.cpp: Implemented WebScriptDebugListener functions. (ServerConnection::currentFrame): (ServerConnection::didLoadMainResourceForDataSource): (ServerConnection::didParseSource): (ServerConnection::failedToParseSource): (ServerConnection::didEnterCallFrame): (ServerConnection::willExecuteStatement): (ServerConnection::willLeaveCallFrame): (ServerConnection::exceptionWasRaised):
- Drosera/win/ServerConnection.h: Removed unused arguments from the members arguments list.
- 18:37 Changeset [27135] by
-
Reviewed by Adam.
- Made JSStringCreateWithBSTR capable of handling null BSTRs.
- API/JSStringRefCOM.cpp: (JSStringCreateWithBSTR):
- 18:01 Changeset [27134] by
-
Windows build fix.
- kjs/SymbolTable.h: Add header gaurd.
- kjs/nodes.h: #include "SymbolTable.h"
- 16:33 Changeset [27133] by
-
Suggested by Anders Carlsson.
Fixed tyop.
- kjs/function.cpp: (KJS::ActivationImp::getOwnPropertySlot):
- 16:31 Changeset [27132] by
-
Suggested by Darin Adler.
Use computedHash(), which is safer than just directly accessing _hash.
- kjs/lookup.cpp: (KJS::Lookup::findEntry): (KJS::Lookup::find):
- 16:07 Changeset [27131] by
-
2007-10-26 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Darin.
<rdar://5557379> Crash in Silverlight when opening microsoft.com
The crash is within Silverlight, and the latest version of the plugin
does not exhibit this crash, so just avoid loading this version of the
plugin.
- plugins/win/PluginDatabaseWin.cpp: Added isPluginBlacklisted() and constants silverlightPluginMinRequiredVersionMSDWORD and silverlightPluginMinRequiredVersionLSDWORD. Their values are taken from the version info of Silverlight 1.0.20926.0, which is a version known not to exhibit this crash (WebCore::PluginDatabaseWin::isPluginBlacklisted): Determine whether this plugin is blacklisted
- plugins/win/PluginDatabaseWin.h:
- plugins/win/PluginPackageWin.cpp: (WebCore::PluginPackageWin::PluginPackageWin): Initialize m_fileVersion* (WebCore::PluginPackageWin::getFileVersion): (WebCore::PluginPackageWin::storeFileVersion): Read version info for the plugin, and store the file version (WebCore::PluginPackageWin::fetchInfo): After determining the name, description, and file version, determine whether this plug-in is blacklisted. If so, return false so this plug-in isn't loaded
- plugins/win/PluginPackageWin.h:
- 15:59 Changeset [27130] by
-
Build fix: svn add SymbolTable.h
- kjs/SymbolTable.h: Added. (KJS::SymbolTable::set): (KJS::SymbolTable::get):
- 15:54 Changeset [27129] by
-
Build fix: export SymbolTable.h to WebCore.
- JavaScriptCore.xcodeproj/project.pbxproj:
- 15:47 Changeset [27128] by
-
Comment tweak suggested by Maciej.
- kjs/function.cpp: (KJS::ActivationImp::getOwnPropertySlot):
- 15:45 Changeset [27127] by
-
Reviewed by Maciej Stachowiak.
Tweaked property maps to remove 2 branches. 2.5% speedup on SunSpider.
- kjs/property_map.cpp: Use a special no branch accessor to the UString's hash value. Also, return immediately instead of branching to the end of the loop if the value is not found. (KJS::PropertyMap::get): (KJS::PropertyMap::getLocation): (KJS::PropertyMap::put): (KJS::PropertyMap::insert): (KJS::PropertyMap::remove): (KJS::PropertyMap::checkConsistency):
- kjs/ustring.h: (KJS::UString::Rep::computedHash): Special no branch accessor to the UString's hash value. Used when the caller knows that the hash value has already been computed. (For example, if the caller got the UString from an Identifier.)
- 15:43 Changeset [27126] by
-
Reviewed by Maciej Stachowiak.
Switched ActivationImp to using a symbol table. For now, though, all
clients take the slow path.
Net .6% speedup on SunSpider.
Slowdowns:
- ActivationImp now mallocs in its constructor
- Local variable hits use an extra level of indirection to retrieve data
- Local variable misses do two lookups
Speedups:
- Fast initialization of local variables upon function entry
- JavaScriptCore.xcodeproj/project.pbxproj: Added SymbolTable.h
- kjs/function.cpp: (KJS::ActivationImp::ActivationImp): Malloc a private structure to hold data that won't fit in a JSCell. (KJS::ActivationImp::argumentsGetter): Use slow symbol table path for lookup. (KJS::ActivationImp::getOwnPropertySlot): ditto (KJS::ActivationImp::deleteProperty): ditto (KJS::ActivationImp::put): ditto (KJS::ActivationImp::createArgumentsObject): ditto
(KJS::ActivationImp::mark): Call JSObject::mark first so that one of
our properties doesn't try to recursively mark us. (This caused a crash
in earlier testing. Not sure why we haven't run into it before.)
- kjs/nodes.cpp: Functions now build a symbol table the first time they're called. (KJS::VarDeclNode::evaluate): (KJS::FunctionBodyNode::FunctionBodyNode): (KJS::FunctionBodyNode::initializeSymbolTable): (KJS::FunctionBodyNode::processDeclarations): (KJS::FunctionBodyNode::processDeclarationsForFunctionCode): (KJS::FunctionBodyNode::processDeclarationsForProgramCode):
- kjs/nodes.h: (KJS::FunctionBodyNode::symbolTable):
- wtf/Forward.h: Added Vector.
- 14:44 Changeset [27125] by
-
Reviewed by Adele Peterson.
Fix for <rdar://problem/5421754>
m_frameName member variable in HTMLPlugInElement unnecessary
- Refactor the willRemove() method down into HTMLFrameOwnerElement now that we no longer need to use the m_frameName variable.
- html/HTMLFrameElementBase.cpp:
- html/HTMLFrameElementBase.h:
- html/HTMLFrameOwnerElement.cpp: (WebCore::HTMLFrameOwnerElement::willRemove):
- html/HTMLFrameOwnerElement.h:
- html/HTMLPlugInElement.cpp:
- html/HTMLPlugInElement.h:
- loader/FrameLoader.cpp: (WebCore::FrameLoader::requestObject):
- 14:28 Changeset [27124] by
-
- Corrected function name mistake in this changelog.
- 14:19 Changeset [27123] by
-
Reviewed by Sam and Steve.
- Added convenience methods for converting between BSTR and JSStringRefs
- API/JSStringRefCOM.cpp: Added. (JSStringCreateWithCFString): (JSStringCopyCFString):
- API/JSStringRefCOM.h: Added.
- JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
win:
Reviewed by Sam and Steve.
- Added convenience methods for converting between BSTR and JSSTringRefs
- Added WebKit_debug.def to the project.
- WebKit.vcproj/WebKit.def:
- WebKit.vcproj/WebKit.vcproj:
- WebKit.vcproj/WebKit_debug.def:
- 14:03 Changeset [27122] by
-
Reverting an unintentional added symbol
- 13:55 Changeset [27121] by
-
Export _wkDrawCapsLockIndicator.
- WebCore.base.exp:
- 13:28 Changeset [27120] by
-
Reviewed by Tim Hatcher.
Updating header too for WKDrawCapsLockIndicator.
- WebKitSystemInterface.h:
- 12:52 Changeset [27119] by
-
WebCore:
Reviewed by Oliver.
Adding WebKitSystemInterface support for the caps lock indicator
- platform/mac/WebCoreSystemInterface.h:
- platform/mac/WebCoreSystemInterface.mm:
WebKit:
Reviewed by Oliver.
Adding WebKitSystemInterface support for the caps lock indicator
- WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
WebKitLibraries:
Reviewed by Oliver.
Adding wkDrawCapsLockIndicator in preparation for fixing the caps lock indicator.
- libWebKitSystemInterfaceLeopard.a:
- libWebKitSystemInterfaceTiger.a:
- 12:22 Changeset [27118] by
-
WebCore:
Reviewed by Darin Adler.
<rdar://problem/5555053> REGRESSION:9A581: Window disappears when opening http://research.microsoft.com/users/darkok/
The problem was caused by checkin r24654. This change moved explicit bounds checking into adjustWindowRect
but failed to account for bounds checking (instead replaced with bounds clipping). This caused issues
when NaN was used. This patch goes one step further and does NaN checking to prevent the possibility of
setting window bounds to NaN before an update occurs.
Test: fast/dom/Window/window-resize-nan.html
- bindings/js/kjs_window.cpp: (KJS::adjustWindowRect): Added a new parameter, pendingChanges, which takes pending changes to the window rect, and if they are valid (not NaN) sets them on window.
(KJS::WindowFunc::callAsFunction):
Adjusted uses of adjustWindowRect to take new update parameter.
LayoutTests:
Reviewed by Darin Adler.
Added new test cases to handle non-number input to window adjusting
functions like resizeTo, resizeBy, moveTo, and moveBy for
<rdar://problem/5555053>.
- fast/dom/Window/window-resize-nan-expected.txt: Added.
- fast/dom/Window/window-resize-nan.html: Added.
- 11:39 Changeset [27117] by
-
Reviewed by Tim Hatcher.
Fix for http://bugs.webkit.org/show_bug.cgi?id=15175
Cannot copy text of errors from Web Inspector from Console view
- page/inspector/inspector.css: add -webkit-user-select: text for console messages.
- 11:17 Changeset [27116] by
-
Reviewed by Tim Hatcher.
Fix for http://bugs.webkit.org/show_bug.cgi?id=15446
Web Inspector find window is not resizable
- Adds ability to resize the find window.
- Fixes bug that messed up the find window when resizing the left sidebar.
- page/inspector/inspector.css:
- page/inspector/inspector.html:
- page/inspector/inspector.js:
- 10:15 Changeset [27115] by
-
New tag.
- 10:15 Changeset [27114] by
-
Bump versions for submit
- 09:34 Changeset [27113] by
-
Update m_current index after we've removed an item:
- if item removed is before m_current, decrement m_current
- if the current item is removed, make sure m_current is within bounds.
Reviewed by Darin.
- history/BackForwardList.cpp: (WebCore::BackForwardList::removeItem):
- 08:38 Changeset [27112] by
-
prepare-ChangeLog and update-webkit create needless ChangeLog conflicts
<http://bugs.webkit.org/show_bug.cgi?id=15600>
Reviewed by Darin.
The resolve-ChangeLog script merges conflicted ChangeLogs in svn or git by creating
a patch of the local changes and applying it with a fuzz level of 3 to the new file.
If the patch is successful, it runs 'svn resolved' or 'git add' on the new ChangeLog
file. Note that it may also be used as a stand-alone script.
- Scripts/prepare-ChangeLog: Call resolve-ChangeLogs for conflicted ChangeLog files.
- Scripts/resolve-ChangeLogs: Added.
- Scripts/update-webkit: Call resolve-ChangeLogs for conflicted ChangeLog files.
- 06:34 Changeset [27111] by
-
Restore the semicolon.
- 06:31 Changeset [27110] by
-
2007-10-26 Mark Rowe <mrowe@apple.com>
Windows build fix.
- kjs/collector.cpp: (KJS::Collector::collect):
- 05:22 Changeset [27109] by
-
2007-10-26 Mark Rowe <mrowe@apple.com>
Build fix. Add missing #include of Platform.h.
- Api/qwebhistoryinterface.cpp:
- 05:07 Changeset [27108] by
-
2007-10-26 Mark Rowe <mrowe@apple.com>
Debug build fix.
- bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::~KJSProxy):
- 05:06 Changeset [27107] by
-
Make the JSC GC use a separate heap for JSNumbers to get a 0.7-1.4% progression in SunSpider.
Reviewed by Maciej
- kjs/CollectorHeapIntrospector.cpp: (KJS::CollectorHeapIntrospector::init): (KJS::CollectorHeapIntrospector::enumerate):
- kjs/CollectorHeapIntrospector.h:
- kjs/collector.cpp: (KJS::Collector::recordExtraCost): (KJS::Collector::heapAllocate): (KJS::Collector::allocate): (KJS::Collector::allocateNumber): (KJS::Collector::registerThread): (KJS::Collector::markStackObjectsConservatively): (KJS::Collector::markMainThreadOnlyObjects): (KJS::Collector::sweep): (KJS::Collector::collect):
- kjs/collector.h:
- kjs/internal.h: (KJS::NumberImp::operator new): Force numbers to be allocated in the secondary heap.
- 04:53 Changeset [27106] by
-
No review, build fix.
- bindings/objc/WebScriptObject.mm: (+[WebScriptObject throwException:]): (-[WebScriptObject setException:]):
- 04:50 Changeset [27105] by
-
Rubber Stamped by Mark.
- fix build
- bridge/mac/WebCoreScriptDebugger.mm: (-[WebCoreScriptCallFrame scopeChain]): (-[WebCoreScriptCallFrame functionName]): (-[WebCoreScriptCallFrame evaluateWebScript:]):
- 04:48 Changeset [27104] by
-
Rubber Stamped by Oliver.
- fix build
- bridge/mac/WebCoreScriptDebugger.mm: (-[WebCoreScriptCallFrame scopeChain]): (-[WebCoreScriptCallFrame functionName]): (-[WebCoreScriptCallFrame evaluateWebScript:]):
- 04:46 Changeset [27103] by
-
Reviewed by Oliver.
- encourage GCC a little harder to inline a few hot functions for 1.5% improvement on SunSpider.
- kjs/value.h: (KJS::JSValue::getUInt32): (KJS::JSValue::getTruncatedInt32): (KJS::JSValue::toNumber):
- wtf/PassRefPtr.h: (WTF::PassRefPtr::~PassRefPtr):
- wtf/RefPtr.h: (WTF::RefPtr::operator->):
- 03:45 Changeset [27102] by
-
Fix ChangeLog ordering.
- 03:44 Changeset [27101] by
-
2007-10-26 Mark Rowe <mrowe@apple.com>
Gtk build fix.
- kjs/ExecState.h:
- 03:36 Changeset [27100] by
-
Windows build fix.
- JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- 02:38 Changeset [27099] by
-
2007-10-26 Mark Rowe <mrowe@apple.com>
Windows build fix.
- JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- 02:38 Changeset [27098] by
-
2007-10-26 Mark Rowe <mrowe@apple.com>
Gtk build fix.
- JavaScriptCore.pri:
- kjs/ExecState.cpp:
- 01:32 Changeset [27097] by
-
Reviewed by Oliver.
- moved Context class into ExecState.{h,cpp} in preparation for merging ExecState and Context classes.
- kjs/ExecState.h: Moved CodeType enum and Context class here in preparation for merging ExecState and Context.
- kjs/ExecState.cpp: Moved Context class here from Context.cpp. (KJS::Context::Context): (KJS::Context::~Context): (KJS::Context::mark):
- kjs/context.h: Removed.
- kjs/Context.cpp: Removed.
- kjs/function.h: Removed CodeType enum.
- kjs/LabelStack.h: Added. Pulled LabelStack class out of internal.h.
- kjs/internal.h: Removed LabelStack.
- JavaScriptCore.xcodeproj/project.pbxproj: Added new file, removed ones that are gone.
- kjs/collector.cpp: Fixed includes.
- kjs/function.cpp: ditto
- kjs/internal.cpp: ditto
- kjs/interpreter.cpp: ditto
- kjs/lookup.h: ditto
- kjs/nodes.cpp: ditto
WebCore:
Reviewed by Oliver.
- update for JavaScriptCore header changes
- bindings/objc/WebScriptObject.mm:
- bridge/mac/WebCoreScriptDebugger.mm:
- 01:13 Changeset [27096] by
-
2007-10-26 Mark Rowe <mrowe@apple.com>
Windows build fix.
- kjs/string_object.cpp: (KJS::StringObjectFuncImp::callAsFunction):
- 00:51 Changeset [27095] by
-
Reviewed by Maciej.
- http://bugs.webkit.org/show_bug.cgi?id=15703 fix numeric functions -- improve correctness and speed
Gives about 1% gain on SunSpider.
- kjs/value.h: Added toIntegerPreserveNan, removed toUInt16. (KJS::JSValue::toInt32): Changed to call getTruncatedInt32 in a way that works with both immediate and number values. (KJS::JSValue::toUInt32): Ditto.
- kjs/value.cpp: (KJS::JSValue::toInteger): Moved the logic from roundValue here, with a couple differences. One is that it now correctly returns 0 for NaN, and another is that there's no special case for 0 or infinity, since the general case already handles those correctly. (KJS::JSValue::toIntegerPreserveNaN): Added. Like toInteger, but without the check for NaN. (KJS::JSValue::toInt32SlowCase): Call toNumber instead of roundValue. The truncation done by the typecast already does the necessary truncation that roundValue was doing. (KJS::JSValue::toUInt32SlowCase): Ditto. (KJS::JSValue::toUInt16): Removed.
- kjs/internal.h: Removed roundValue.
- kjs/internal.cpp: Ditto.
- kjs/array_object.cpp: (KJS::ArrayProtoFunc::callAsFunction): Remove unneeded code to handle NaN in Array.slice; toInteger now never returns NaN as specified.
- kjs/date_object.cpp: (KJS::fillStructuresUsingTimeArgs): Replaced call to roundValue with a call to toNumber as specified. (KJS::DateProtoFunc::callAsFunction): In SetTime case, replaced call to roundValue with a call to toNumber and timeClip as specified. (KJS::DateObjectImp::construct): Removed unnecessary checks of numArgs in cases where the default behavior of toInt32 (returning 0) was already correct. Replaced call to roundValue with a call to toNumber as specified. (KJS::DateObjectFuncImp::callAsFunction): Ditto.
- kjs/math_object.cpp: (MathFuncImp::callAsFunction): Removed unnecessary special cases for the pow function that the library already handles correctly.
- kjs/number_object.cpp: (NumberProtoFunc::callAsFunction): Changed ToString to call toIntegerPreserveNaN, so we can continue to handle the NaN case differently. The real toInteger now returns 0 for NaN. Took out unneeded special case in ToFixed for undefined; was only needed because our toInteger was wrong. Same thing in ToExponential. Changed ToPrecision to call toIntegerPreserveNaN.
- kjs/string_object.cpp: (KJS::StringProtoFunc::callAsFunction): Took out CharAt and CharCodeAt special cases for undefined that were only needed because toInteger was wrong. Same in IndexOf, and was able to remove some special cases. In LastIndexOf, used toIntegerPreserveNaN, but was able to remove some special cases there too. Changed Substr implementation to preserve correct behavior with the change to toInteger and match the specification. Also made sure we weren't converting an out of range double to an int. (KJS::StringObjectFuncImp::callAsFunction): Changed constructor to just use toUInt32, because truncating toUInt32 to 16 bits is the same thing and there's no reason to have toUInt16 as a second, less-optimized function that's only called at this one call site.
- wtf/MathExtras.h: Added trunc function for Windows.
LayoutTests:
Reviewed by Maciej.
- test changes for http://bugs.webkit.org/show_bug.cgi?id=15703 fix numeric functions -- improve correctness and speed
- fast/js/resources/char-at.js: Updated test to expect that we get the first character if we pass NaN to charAt and charCodeAt; it's what the specification asks for and matches other browsers too.
- fast/js/char-at-expected.txt: Updated.