Timeline


and

10/30/07:

23:57 Changeset [27293] by aroben

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 mjs

Reviewed by Oliver.



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 hyatt

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 antti

Reviewed by Geoff.

Leak fix

  • platform/graphics/mac/MoviePrivateQTKit.mm: (WebCore::MoviePrivate::getSupportedTypes):
20:04 Changeset [27289] by ggaren

Reviewed by Adam Roben, Sam Weinig.


Made conflicts in grammar.y a persistent build failure.

  • DerivedSources.make:
19:47 Changeset [27288] by mitz

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 hyatt

Fix Qt bustage in AnimationController.cpp

19:35 Changeset [27286] by antti

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 hyatt

Remove unused blendLengths function.

19:32 Changeset [27284] by hyatt

Eliminate rounding from int-based animation blending.

19:30 Changeset [27283] by hyatt

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 antti

Another Qt/GTK build fix.

  • bindings/js/JSHTMLElementWrapperFactory.cpp:
18:51 Changeset [27281] by antti

Attempt to fix Qt/GTK build.

  • WebCore.pro:
18:27 Changeset [27280] by justing

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 antti

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 ddkilzer

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 antti

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 weinig

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 kmccullo

JavaScriptCore:

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 adele

RS by Darin.

  • page/AnimationController.cpp: (WebCore::blendFunc): Use lround instead of round.
17:48 Changeset [27273] by antti

Reviewed by Maciej.


Build media support by default on OSX only.

  • Scripts/build-webkit:
17:45 Changeset [27272] by antti

Reviewed by Maciej.


Some SPIs for media support.

  • WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
16:19 Changeset [27271] by timothy@apple.com

Update WebKit/StringsNotToBeLocalized.txt.

16:15 Changeset [27270] by ggaren

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

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 mjs@apple.com
(diff)
15:46 JavaScript performance improvement ideas edited by ggaren@apple.com
(diff)
15:12 Changeset [27267] by kmccullo

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 timothy@apple.com

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

Reviewed by Sam.

Build fix.

  • page/AnimationController.cpp: (WebCore::blendFunc):
14:05 Changeset [27264] by adele

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 hyatt

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 kmccullo

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 kmccullo

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 aroben

Add another failing test to the Windows Skipped file

  • platform/win/Skipped:
10:39 Changeset [27259] by weinig

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 bdakin

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 bdakin

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 mjs

Reviewed by Eric.


  • Added list of ECMAScript3 features that SunSpider does not cover currently.
  • UNCOVERED: Added.
22:36 Changeset [27255] by oliver

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 bdakin

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 mitz

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 oliver

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 mitz

WebCore:

Reviewed by Adam Roben.

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.

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

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 mjs

Not reviewed, build fix.


  • Include Vector.h in a way that actually works.
  • kjs/LocalStorage.h:
19:12 Changeset [27248] by mjs

Not reviewed, build fix.


  • Install LocalStorage.h as a private header.
18:55 Changeset [27247] by mjs

Reviewed by Oliver.


  • Give better error messages when sunspider-compare-results fails
  • sunspider-compare-results:
18:54 Changeset [27246] by alp

Reviewed by Maciej.

Do not allow control to reach end of non-void functions

18:46 Changeset [27245] by alp

ChangeLog entry for r27244

18:44 Changeset [27244] by alp

Reviewed by Maciej.

Add GTK+ convenience conversions for various primitives

18:37 Changeset [27243] by mjs

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 mjs

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 kmccullo

updated reviewers for my previous changelog.

18:30 Changeset [27240] by kmccullo

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 weinig

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 weinig

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 darin

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 honeycutt

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 andrew

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 alp

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 mrowe@apple.com

Upgrade WordPress.

14:46 Changeset [27232] by bdash

Files that have been added or modified on the server without making it in to SVN.

12:17 Changeset [27231] by ggaren

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 timothy@apple.com

A better build fix.

11:50 Changeset [27229] by bdakin

Build fix.

  • css/CSSParser.cpp: (WebCore::CSSParser::parseTimingFunctionValue):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
11:22 Changeset [27228] by hyatt

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 ap

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 ddkilzer

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 ap

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 mitz

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 ddkilzer

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 eseidel

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 mjs

JavaScriptCore:

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 eseidel

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 mrowe@apple.com

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 eseidel

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 ap

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 oliver

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 mjs

Reviewed by Darin.



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 mrowe@apple.com

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 ggaren

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 aroben

Fix SunSpider on Windows

Reviewed by Eric.

  • sunspider: Don't use colons in filenames.
22:53 Changeset [27211] by ggaren

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 ggaren

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 eseidel

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

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 darin

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 eseidel

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 darin
  • 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 eseidel

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 mrowe@apple.com

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 mrowe@apple.com

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 ggaren

Build fix: use the new-fangled missingSymbolMarker().

  • kjs/nodes.cpp: (KJS::ResolveNode::optimizeVariableAccess):
  • kjs/nodes.h: (KJS::LocalVarAccessNode::LocalVarAccessNode):
19:00 Changeset [27199] by ggaren

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 mrowe@apple.com

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 eseidel

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 mjs

JavaScriptCore:

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.

  • 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 timothy@apple.com

Remove IDLs from the Copy Bundle Resources phase.

16:08 Changeset [27194] by darin

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 darin
  • fix GTK build
  • kjs/nodes2string.cpp: (KJS::isParserRoundTripNumber): Use isNaN and isInf instead of isnan and isinf.
16:00 Changeset [27192] by darin

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 darin

JavaScriptCore:

Reviewed by Maciej.

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.

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 kevino

wx port defines for graphics and network layers.

14:09 Changeset [27189] by alp

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 alp

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 kevino

Add the defines, platform types and options needed for the wx port.

11:20 Changeset [27186] by mrowe@apple.com

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 djvasi@gmail.com
Self-contained Safari 3 (diff)
10:41 Changeset [27185] by darin

Removed some "Reviewed by NOBODY".

10:37 Changeset [27184] by darin

Removed some "Reviewed by NOBODY".

10:36 Changeset [27183] by darin

Removed some "Reviewed by NOBODY".

10:31 Changeset [27182] by darin
  • 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 darin
  • 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 eseidel

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 eseidel

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 mjs

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 mjs

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 mjs

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 ap

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 timothy@apple.com

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 timothy@apple.com

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 aroben

Re-enable a bunch of passing tests on Windows

Reviewed by NOBODY.

  • platform/win/Skipped:

10/27/07:

23:45 Changeset [27171] by timothy@apple.com

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 mjs

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 alp

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 alp

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 aroben

Updated Windows Skipped file for currently failing tests

Reviewed by NOBODY.

  • platform/win/Skipped:
21:38 Changeset [27166] by aroben

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 timothy@apple.com

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 darin

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 weinig

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 weinig

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 weinig

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 pewtermoose

Update results

17:02 Changeset [27159] by aroben

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 eseidel

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 aroben

Add some more failing tests to the Windows Skipped file

Reviewed by NOBODY.

  • platform/win/Skipped:
16:26 Changeset [27156] by kmccullo

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 mitz

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 kmccullo
  • BuildFix
  • Forgot to change the build step when I changed the filename.
12:20 Changeset [27153] by ggaren

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 darin

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 ap

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 mitz

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 darin

Reviewed by Maciej.

  • kjs/JSImmediate.h: Put ALWAYS_INLINE on everything.
  • kjs/object.h: Removed redundant includes.
  • kjs/value.h: Ditto.
03:46 Changeset [27148] by mrowe@apple.com

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 alp

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 mjs

Reviewed by Mark.


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

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 ap

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 mrowe@apple.com

2007-10-27 Mark Rowe <mrowe@apple.com>

Silence a warning.

  • kjs/SymbolTable.h:
01:08 Changeset [27142] by mrowe@apple.com

2007-10-27 Mark Rowe <mrowe@apple.com>

Gtk build fix.

  • kjs/function.h:

10/26/07:

21:42 Changeset [27141] by weinig

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 weinig

Fix an off by one error when resizing the Inspector find window.

Reviewed by Hyatt.

  • page/inspector/inspector.js:
19:56 Changeset [27139] by honeycutt

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 hyatt

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 kmccullo

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 kmccullo

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 kmccullo

Reviewed by Adam.

  • Made JSStringCreateWithBSTR capable of handling null BSTRs.
  • API/JSStringRefCOM.cpp: (JSStringCreateWithBSTR):
18:01 Changeset [27134] by weinig

Windows build fix.

  • kjs/SymbolTable.h: Add header gaurd.
  • kjs/nodes.h: #include "SymbolTable.h"
16:33 Changeset [27133] by ggaren

Suggested by Anders Carlsson.


Fixed tyop.

  • kjs/function.cpp: (KJS::ActivationImp::getOwnPropertySlot):
16:31 Changeset [27132] by ggaren

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 honeycutt

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 ggaren

Build fix: svn add SymbolTable.h

  • kjs/SymbolTable.h: Added. (KJS::SymbolTable::set): (KJS::SymbolTable::get):
15:54 Changeset [27129] by ggaren

Build fix: export SymbolTable.h to WebCore.

15:47 Changeset [27128] by ggaren

Comment tweak suggested by Maciej.

  • kjs/function.cpp: (KJS::ActivationImp::getOwnPropertySlot):
15:45 Changeset [27127] by ggaren

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 ggaren

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


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

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 kmccullo
  • Corrected function name mistake in this changelog.
14:19 Changeset [27123] by kmccullo

JavaScriptCore:

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 adele

Reverting an unintentional added symbol

13:55 Changeset [27121] by adele

Export _wkDrawCapsLockIndicator.

  • WebCore.base.exp:
13:28 Changeset [27120] by adele

Reviewed by Tim Hatcher.

Updating header too for WKDrawCapsLockIndicator.

  • WebKitSystemInterface.h:
12:52 Changeset [27119] by adele

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 tristan

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 weinig

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 weinig

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 sfalken

New tag.

10:15 Changeset [27114] by sfalken

Bump versions for submit

09:34 Changeset [27113] by adachan

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 ddkilzer

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 mrowe@apple.com

Restore the semicolon.

06:31 Changeset [27110] by mrowe@apple.com

2007-10-26 Mark Rowe <mrowe@apple.com>

Windows build fix.

  • kjs/collector.cpp: (KJS::Collector::collect):
05:22 Changeset [27109] by mrowe@apple.com

2007-10-26 Mark Rowe <mrowe@apple.com>

Build fix. Add missing #include of Platform.h.

  • Api/qwebhistoryinterface.cpp:
05:07 Changeset [27108] by mrowe@apple.com

2007-10-26 Mark Rowe <mrowe@apple.com>

Debug build fix.

  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::~KJSProxy):
05:06 Changeset [27107] by oliver

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 mjs

No review, build fix.

  • bindings/objc/WebScriptObject.mm: (+[WebScriptObject throwException:]): (-[WebScriptObject setException:]):
04:50 Changeset [27105] by mjs

Rubber Stamped by Mark.

  • fix build
  • bridge/mac/WebCoreScriptDebugger.mm: (-[WebCoreScriptCallFrame scopeChain]): (-[WebCoreScriptCallFrame functionName]): (-[WebCoreScriptCallFrame evaluateWebScript:]):
04:48 Changeset [27104] by mjs

Rubber Stamped by Oliver.

  • fix build
  • bridge/mac/WebCoreScriptDebugger.mm: (-[WebCoreScriptCallFrame scopeChain]): (-[WebCoreScriptCallFrame functionName]): (-[WebCoreScriptCallFrame evaluateWebScript:]):
04:46 Changeset [27103] by mjs

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 mrowe@apple.com

Fix ChangeLog ordering.

03:44 Changeset [27101] by mrowe@apple.com

2007-10-26 Mark Rowe <mrowe@apple.com>

Gtk build fix.

  • kjs/ExecState.h:
03:36 Changeset [27100] by mjs

Windows build fix.

02:38 Changeset [27099] by mrowe@apple.com

2007-10-26 Mark Rowe <mrowe@apple.com>

Windows build fix.

02:38 Changeset [27098] by mrowe@apple.com

2007-10-26 Mark Rowe <mrowe@apple.com>

Gtk build fix.

01:32 Changeset [27097] by mjs

JavaScriptCore:

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.

  • bindings/objc/WebScriptObject.mm:
  • bridge/mac/WebCoreScriptDebugger.mm:
01:13 Changeset [27096] by mrowe@apple.com

2007-10-26 Mark Rowe <mrowe@apple.com>

Windows build fix.

  • kjs/string_object.cpp: (KJS::StringObjectFuncImp::callAsFunction):
00:51 Changeset [27095] by darin

JavaScriptCore:

Reviewed by Maciej.

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.

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