Timeline


and

03/23/09:

21:16 Changeset [41936] by bolsinga@apple.com
  • 2 edits in trunk/WebCore

2009-03-23 Greg Bolsinga <bolsinga@apple.com>

Reviewed by David Kilzer.

https://bugs.webkit.org/show_bug.cgi?id=24771


DOMTimeStamps are based upon 1970.

  • platform/mac/GeolocationServiceMac.mm: (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]):
20:45 Changeset [41935] by eric@webkit.org
  • 2 edits in trunk/WebCore

Build fix, no review.

  • rendering/RenderObject.cpp: (WebCore::RenderObject::createVisiblePosition): change .container to .isNotNull()
20:19 Changeset [41934] by slewis@apple.com
  • 2 edits in trunk/WebKitTools

2009-03-23 Stephanie <slewis@apple.com>

Fix root build.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
19:25 Changeset [41933] by eric@webkit.org
  • 4 edits in trunk/WebCore

Reviewed by Darin Adler.

Rename Position::container to m_anchorNode and make it private
https://bugs.webkit.org/show_bug.cgi?id=24760

More code cleanup for Position.

Change all uses of m_container to node()
Eventually most uses of node() should change to anchorNode() to designate
that it's the node the Position is anchored to, but not necessarily the
container of the position (it could be the before/after neighbor).

Remove any code which sets m_container, and change it to use a new
Position::moveToPosition function which takes a node and offset.
It never makes sense to change the node and leave the offset.

  • dom/Position.h: (WebCore::Position::Position): (WebCore::Position::clear): (WebCore::Position::anchorNode): (WebCore::Position::node): (WebCore::Position::moveToPosition): (WebCore::Position::moveToOffset): (WebCore::Position::isNull): (WebCore::Position::isNotNull): (WebCore::operator==):
  • dom/Range.cpp: (WebCore::Range::create): (WebCore::Range::compareBoundaryPoints):
  • dom/RangeBoundaryPoint.h: (WebCore::RangeBoundaryPoint::container): (WebCore::RangeBoundaryPoint::set): (WebCore::RangeBoundaryPoint::setOffset): (WebCore::RangeBoundaryPoint::setToChild): (WebCore::RangeBoundaryPoint::setToStart): (WebCore::RangeBoundaryPoint::setToEnd):
19:06 Changeset [41932] by eric@webkit.org
  • 3 edits
    3 adds in trunk

Reviewed by David Hyatt.

document.write() should be able to make a document strict mode
https://bugs.webkit.org/show_bug.cgi?id=24336

Remove an implicit write of "<html>" on the first document.write call
this was added as part of a KDE import http://trac.webkit.org/changeset/798
with no layout test or explanation. I can't think of any reason why
an implicit <html> write is necessary (or correct), so I'm removing it and
adding a test for the correct behavior. The parser will add any necessary
HTMLHTMLElements during the write() anyway.

Our behavior is now tested by fast/dom/Document/document-write-doctype
and matches IE, FF fails this new test. Mozilla bug filed:
https://bugzilla.mozilla.org/show_bug.cgi?id=483908

  • dom/Document.cpp: (WebCore::Document::write):
18:59 Changeset [41931] by oliver@apple.com
  • 4 edits in trunk/JavaScriptCore

Fix className() for API defined class

Reviewed by Cameron Zwarich

18:31 Changeset [41930] by weinig@apple.com
  • 9 edits in trunk

WebCore:

2009-03-23 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Fix for <rdar://problem/6140966>
Empty Caches does not clear the Cross-site XMLHttpRequest preflight cache

  • WebCore.base.exp:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/CrossOriginPreflightResultCache.cpp: (WebCore::CrossOriginPreflightResultCache::empty):
  • loader/CrossOriginPreflightResultCache.h:

WebKit/mac:

2009-03-23 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Fix for <rdar://problem/6140966>
Empty Caches does not clear the Cross-site XMLHttpRequest preflight cache

  • Misc/WebCache.mm: (+[WebCache empty]):

WebKit/win:

2009-03-23 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Fix for <rdar://problem/6140966>
Empty Caches does not clear the Cross-site XMLHttpRequest preflight cache

  • WebCache.cpp: (WebCache::empty): Also add application cache emptying to match the mac.
17:53 Changeset [41929] by darin@apple.com
  • 1 edit in trunk/WebCore/rendering/RenderObject.cpp

Tweak comment.

17:50 Changeset [41928] by darin@apple.com
  • 10 edits
    2 adds in trunk

WebCore:

2009-03-23 Darin Adler <darin@apple.com>

Reviewed by Adele Peterson.

Bug 24726: hit testing doesn't work right when the click is on anonymous content
https://bugs.webkit.org/show_bug.cgi?id=24726
rdar://problem/6696992

Test: editing/selection/hit-test-anonymous.html

  • rendering/RenderBR.cpp: (WebCore::RenderBR::positionForPoint): Call createVisiblePosition instead of creating a VisiblePosition directly. It will handle finding non-anonymous content nearby if node() is 0.
  • rendering/RenderBlock.cpp: (WebCore::positionForPointRespectingEditingBoundaries): Ditto. (WebCore::positionForPointWithInlineChildren): Ditto. (WebCore::RenderBlock::positionForPoint): Ditto.
  • rendering/RenderBox.cpp: (WebCore::RenderBox::positionForPoint): Ditto.
  • rendering/RenderObject.cpp: (WebCore::RenderObject::positionForPoint): Ditto. (WebCore::RenderObject::createVisiblePosition): Added.
  • rendering/RenderObject.h: Added createVisiblePosition.
  • rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::positionForPoint): Call createVisiblePosition.
  • rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::positionForPoint): Ditto.
  • rendering/RenderText.cpp: (WebCore::RenderText::positionForPoint): Ditto.

LayoutTests:

2009-03-23 Darin Adler <darin@apple.com>

Reviewed by Adele Peterson.

Bug 24726: hit testing doesn't work right when the click is on anonymous content
https://bugs.webkit.org/show_bug.cgi?id=24726
rdar://problem/6696992

  • editing/selection/hit-test-anonymous-expected.txt: Added.
  • editing/selection/hit-test-anonymous.html: Added.
17:41 Changeset [41927] by slewis@apple.com
  • 2 edits in trunk/WebKitTools

2009-03-23 Stephanie Lewis <slewis@apple.com>

Reviewed by Mark Rowe.

Add production configuration for creating roots of WebKitTools.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
17:34 Changeset [41926] by adele@apple.com
  • 2 edits in trunk/WebCore

2009-03-23 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler & Dave Hyatt.

Fix for <rdar://problem/6621310> REGRESSION(35185): Apple Travel HTML emails missing some style after Safari 4 upgrade

Leopard Mail doesn't expect <style> to be in the body. This change reverts back to the old behavior of
moving <style> to <head> for that version of Mail.

  • html/HTMLElement.cpp: (WebCore::HTMLElement::inEitherTagList):
17:33 Changeset [41925] by adele@apple.com
  • 7 edits in trunk

WebCore:

2009-03-23 Adele Peterson <adele@apple.com>

Reviewed by Mark Rowe & Dave Hyatt.

Merge some of the individual Mail quirks into two settings that we can check for future quirks.

  • WebCore.base.exp:
  • dom/Document.cpp: (WebCore::disableRangeMutation): (WebCore::Document::nodeChildrenChanged): (WebCore::Document::nodeWillBeRemoved): (WebCore::Document::textInserted): (WebCore::Document::textRemoved): (WebCore::Document::textNodesMerged): (WebCore::Document::textNodeSplit):
  • page/Settings.cpp: (WebCore::Settings::Settings): (WebCore::Settings::setNeedsLeopardMailQuirks): (WebCore::Settings::setNeedsTigerMailQuirks):
  • page/Settings.h: (WebCore::Settings::needsLeopardMailQuirks): (WebCore::Settings::needsTigerMailQuirks):

WebKit/mac:

2009-03-23 Adele Peterson <adele@apple.com>

Reviewed by Mark Rowe & Dave Hyatt.

Merge some of the individual Mail quirks into two settings that we can check for future quirks.

  • WebView/WebView.mm: (runningLeopardMail): (runningTigerMail): (-[WebView _preferencesChangedNotification:]):
17:18 Changeset [41924] by oliver@apple.com
  • 4 edits in trunk

Make testapi run as part of the standard JavaScriptCore tests.

Reviewed by Geoff Garen.

We only run testapi on the mac as currently windows webkit doesn't
place all the necessary files for testapi, and we also test the
JSC/CF APIs as well.

16:46 Changeset [41923] by adachan@apple.com
  • 8 edits in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=24762
Support text-indent in <option> elements on windows platform.

Reviewed by Adele Peterson.

  • css/themeWin.css:
  • platform/PopupMenuStyle.h: We don't honor font specified on <option> elements right now. Make this explicit via windows themed default stylesheet. (WebCore::PopupMenuStyle::PopupMenuStyle): Also store text-indent and text-direction. (WebCore::PopupMenuStyle::textIndent): (WebCore::PopupMenuStyle::textDirection):
  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::paint): Adjust the text's x-coordinate if text-indent is supported for options and text-indent is specified with LTR direction.
  • rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::updateOptionsWidth): Take text-indent into account if theme supports text-indent for options. (WebCore::RenderMenuList::itemStyle): Use new PopupMenuStyle constructor on windows. (WebCore::RenderMenuList::menuStyle): Ditto.
  • rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::menuStyle): Ditto.
  • rendering/RenderTheme.h: (WebCore::RenderTheme::popupOptionSupportsTextIndent): Added. Default is false since we are only supporting it in windows for now.
  • rendering/RenderThemeWin.h: (WebCore::RenderThemeWin::popupOptionSupportsTextIndent): Returns true for windows.
16:14 Changeset [41922] by weinig@apple.com
  • 4 edits in trunk/WebCore

2009-03-23 Sam Weinig <sam@webkit.org>

Reviewed by Anders Carlsson.

Fix for https://bugs.webkit.org/show_bug.cgi?id=24699
REGRESSION: Java Applets broken
<rdar://problem/6707494>

Fix loading Java applets without a codeBase. Only pass the base (up to the
the last path component) of the baseURL to the plug-in.

  • html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::createRenderer):
  • platform/KURL.cpp: (WebCore::KURL::baseAsString):
  • platform/KURL.h:
15:15 Changeset [41921] by darin@apple.com
  • 2 edits in trunk/WebCore

2009-03-23 Darin Adler <darin@apple.com>

Reviewed by Sam Weinig.

  • platform/KURL.h: Removed now-incorrect comments. None of the parts include the separator characters any more, now that query doesn't include the "?", so the comments explaining which do and do not are no-longer helpful.
14:25 Changeset [41920] by levin@chromium.org
  • 6 edits
    2 moves in trunk/WebCore

2009-03-23 David Levin <levin@chromium.org>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=24764

Renamed files V8NodeFilter -> V8NodeFilterCondition to reflect
class names. Also fixed some headers that got mangled in search/replace
operations.

No change in behavior, so no test.

  • bindings/v8/V8NodeFilter.h: Removed.
  • bindings/v8/V8NodeFilterCondition.cpp: Renamed from WebCore/bindings/v8/V8NodeFilter.cpp.
  • bindings/v8/V8NodeFilterCondition.h: Added.
  • bindings/v8/custom/V8ClipboardCustom.cpp:
  • bindings/v8/custom/V8DocumentCustom.cpp:
  • bindings/v8/custom/V8ElementCustom.cpp:
  • bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
  • bindings/v8/custom/V8NavigatorCustom.cpp:
13:48 Changeset [41919] by darin@chromium.org
  • 4 edits in trunk/WebCore

2009-03-23 Darin Fisher <darin@chromium.org>

Reviewed by Antti Koivisto.

https://bugs.webkit.org/show_bug.cgi?id=24741

Adds a unique across-browser-sessions identifier to FormData, which may
be used by ResourceHandle as a secondary cache key to enable cached
form submissions.

At issue: two otherwise identical form submissions may result in
completely independent responses, which may each be appropriate to
store and reuse from cache.

  • html/HTMLFormElement.cpp: Added call to FormData::setIdentifier so that we only enable cached form submissions for those generated by HTML. This way we do not bother with POSTs generated by XMLHttpRequest. (WebCore::generateFormDataIdentifier): (WebCore::HTMLFormElement::createFormData):
  • platform/network/FormData.cpp: Initialize m_identifier to 0, which means the unspecified identifier. So by default there is no identifier and nothing changes. (WebCore::FormData::FormData):
  • platform/network/FormData.h: Added m_identifier with setter and getter. (WebCore::FormData::setIdentifier): (WebCore::FormData::identifier):
13:39 Changeset [41918] by simon.fraser@apple.com
  • 7 edits
    2 adds in trunk

2009-03-23 Simon Fraser <simon.fraser@apple.com>

Reviewed by Antti Koivisto

https://bugs.webkit.org/show_bug.cgi?id=24733

Fix media controller with full-page zoom. Previously, the media controller
shadow nodes never saw style changes on the RenderMedia, so did not respond
to zooming at all. Now, we update the style on the shadow renderers
whenever RenderMedia gets a style change. Also fix the video thumb in
the theme to be scaled properly.

Test: media/video-controls-zoomed.html

  • rendering/MediaControlElements.cpp: (WebCore::MediaControlShadowRootElement::updateStyle): (WebCore::MediaTextDisplayElement::MediaTextDisplayElement): (WebCore::MediaTextDisplayElement::updateStyle): (WebCore::MediaControlInputElement::MediaControlInputElement): (WebCore::MediaControlInputElement::updateStyle):
  • rendering/MediaControlElements.h:
  • rendering/RenderMedia.cpp: (WebCore::RenderMedia::styleDidChange):
  • rendering/RenderMedia.h:
  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::adjustSliderThumbSize):
13:27 Changeset [41917] by darin@chromium.org
  • 4 edits in trunk/WebCore

2009-03-23 Mike Belshe <mike@belshe.com>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=24739

Rework StringImpl::create methods to try to allocate a single buffer
rather than allocating both the StringImpl class and a separate data
buffer.

  • platform/text/StringImpl.cpp:
  • platform/text/StringImpl.h:
12:05 Changeset [41916] by darin@apple.com
  • 3 edits in trunk/WebCore

2009-03-23 Darin Adler <darin@apple.com>

Reviewed by Antti Koivisto.

Based on a patch by Nico Weber <nicolasweber@gmx.de>

Bug 24755: LayoutTests/http/tests/misc/url-in-utf16le.html regression
https://bugs.webkit.org/show_bug.cgi?id=24755

  • platform/text/TextEncoding.cpp: (WebCore::TextEncoding::isUTF7Encoding): Added. Checks if the current encoding is UTF7 without loading extended codecs. (WebCore::TextEncoding::encodingForFormSubmission): Use isUTF7Encoding() instead of comparing with UTF7Encoding(). Eliminate the explicit check of noExtendedTextEncodingNameUsed() because that's now handled by the functions that this function calls instead.
  • platform/text/TextEncoding.h: Added isUTF7Encoding function. Also tweaked formatting a bit.
12:02 Changeset [41915] by pkasting@chromium.org
  • 4 edits in trunk/WebCore

2009-03-20 Peter Kasting <pkasting@google.com>

Reviewed by Darin Fisher.

https://bugs.webkit.org/show_bug.cgi?id=24720
RenderThemeChromium should draw something for Slider parts instead of
dropping them on the floor.

  • platform/chromium/ChromiumBridge.h:
  • rendering/RenderThemeChromiumWin.cpp: (WebCore::RenderThemeChromiumWin::adjustSliderThumbSize): (WebCore::RenderThemeChromiumWin::paintSliderTrack): (WebCore::RenderThemeChromiumWin::determineSliderThumbState): (WebCore::RenderThemeChromiumWin::getThemeData):
  • rendering/RenderThemeChromiumWin.h: (WebCore::RenderThemeChromiumWin::paintSliderThumb):
11:56 Changeset [41914] by simon.fraser@apple.com
  • 5 edits
    10 adds in trunk

2009-03-23 Simon Fraser <simon.fraser@apple.com>

Reviewed by Darin Adler

https://bugs.webkit.org/show_bug.cgi?id=24736

Fix three mostly-unrelated problems with full-page zoom:

  • dom/Document.cpp: (WebCore::Document::elementFromPoint): Document::elementFromPoint() needs to take full-page zoom into account.
  • dom/MouseRelatedEvent.cpp: (WebCore::MouseRelatedEvent::receivedTarget): Take full-page zoom into account when computing offsetX/offsetY.
  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Don't use offsetX/offsetY when hit testing list boxes; offsets were broken with full-page zoom, and using pageX/pageY is easier because we don't have to worry about the event target, and we already have a point in absolute coordinates.

Tests: fast/forms/listbox-hit-test-zoomed.html

fast/forms/search-zoomed.html
fast/forms/slider-zoomed.html

11:54 Changeset [41913] by darin@chromium.org
  • 2 edits in trunk/WebCore

2009-03-23 Glen Murphy <glen@chromium.org>

Reviewed by Darin Fisher.

https://bugs.webkit.org/show_bug.cgi?id=24657

Fix Skia drawing of highly scaled bitmaps; the conversion to
IntRect produced visible layout test failures in highly scaled
coordinate systems.

Test: svg/custom/image-small-width-height.svg

  • WebCore\platform\graphics\skia\ImageSkia.cpp:
11:27 Changeset [41912] by ddkilzer@apple.com
  • 5 edits in trunk

Provide JavaScript exception information after slow script timeout

Reviewed by Oliver Hunt.

JavaScriptCore:

  • runtime/Completion.cpp: (JSC::evaluate): Set the exception object as the Completion object's value for slow script timeouts. This is used in WebCore when reporting the exception.
  • runtime/ExceptionHelpers.cpp: (JSC::InterruptedExecutionError::toString): Added. Provides a description message for the exception when it is reported.

WebCore:

  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluate): Changed to report exceptions for the Interrupted completion type as well.
10:55 Changeset [41911] by simon.fraser@apple.com
  • 3 edits
    4 adds in trunk

2009-03-23 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dan Bernstein

https://bugs.webkit.org/show_bug.cgi?id=24753

The rect for CSS 'clip' needs to have zooming applied to it.

Test: fast/css/clip-zooming.html

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty):
09:47 Changeset [41910] by darin@apple.com
  • 2 edits in trunk/WebKit/mac

2009-03-23 Darin Adler <darin@apple.com>

  • WebView/WebTextIterator.h: Fixed a spelling error in a comment.
08:13 Changeset [41909] by kov@webkit.org
  • 3 edits in trunk/JavaScriptCore

2009-03-23 Gustavo Noronha Silva <gns@gnome.org> and Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>

Reviewed by Adam Roben.

https://bugs.webkit.org/show_bug.cgi?id=24674
Crashes in !PLATFORM(MAC)'s formatLocaleDate, in very specific situations

Make sure strftime never returns 2-digits years to avoid ambiguity
and a crash. We wrap this new code option in HAVE_LANGINFO_H,
since it is apparently not available in all platforms.

  • runtime/DatePrototype.cpp: (JSC::formatLocaleDate):
  • wtf/Platform.h:
08:07 Changeset [41908] by eric.carlson@apple.com
  • 2 edits in trunk/WebCore

2009-03-23 Eric Carlson <eric.carlson@apple.com>

Reviewed by Adam Roben.

<rdar://problem/6704282>
https://bugs.webkit.org/show_bug.cgi?id=24719
QTMovieWinTimer logic inversion

Fix logic inversion in the Win32 timer used by QTMovieWin that caused it to always
use SetTimer, even when the intervals was below USER_TIMER_MINIMUM. A side effect of
this was that a movie timer would sometimes be blocked for significant amounts of time
because WM_TIMER messages are not processed when the thread's message queue has any
higher priority messages, and WebCore/Win's timer uses PostMessage for low interval
timers. Also change SetTimer call to use HWND and custom message instead of
timer function since the timer already has an HWND for processing PostMessage.

Not possible to make a test for this because it is so timing dependant.

  • platform/graphics/win/QTMovieWinTimer.cpp: (TimerWindowWndProc): (setSharedTimerFireDelay):
08:02 Changeset [41907] by eric.carlson@apple.com
  • 55 edits
    12 adds in trunk

2009-03-23 Eric Carlson <eric.carlson@apple.com>

Reviewed by Adele Peterson.

https://bugs.webkit.org/show_bug.cgi?id=24588


Update media element implementation to current HTML5 spec

New tests:

media/media-constants.html
media/video-seek-no-src-exception.html
media/video-source-add-src.html
media/video-src-invalid-remove.html
media/video-src-plus-source.html
media/video-timeupdate-during-playback.html

  • dom/EventNames.h: Remove obsolute events, add new ones.
  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize new member vars. (WebCore::HTMLMediaElement::attributeChanged): Trigger load() only when we don't have a source. (WebCore::HTMLMediaElement::removedFromDocument): Deal with state name changes. (WebCore::HTMLMediaElement::scheduleProgressEvent): New, create a progress event and add it to the event queue to be dispatch when the timer fires. (WebCore::HTMLMediaElement::scheduleEvent): New, create a generic event and add it to the event queue to be dispatch when the timer fires. (WebCore::HTMLMediaElement::enqueueEvent): Add an event to the queue and ticke the asynch event timer. (WebCore::HTMLMediaElement::asyncEventTimerFired): Dispatch all pending events. (WebCore::HTMLMediaElement::loadTimerFired): Either trigger the initial load or try to load the next <source> url. (WebCore::HTMLMediaElement::load): Minor style change. (WebCore::HTMLMediaElement::loadInternal): The first part of the spec load algorithm, cleanup the current load (if any) and set up state for a new load. (WebCore::HTMLMediaElement::selectMediaResource): Deal with no 'src' or <source>, post 'loadstart' event, and initiate load from 'src' if present. (WebCore::HTMLMediaElement::loadNextSourceChild): Initiate load from next <source> url, or trigger noneSupported() if no more to consider. (WebCore::HTMLMediaElement::loadResource): Instantiate a new MediaPlayer and ask it to load a url. (WebCore::HTMLMediaElement::startProgressEventTimer): Start the repeating progress event timer. (WebCore::HTMLMediaElement::noneSupported): Post error event and set up state when no valid media url was found. (WebCore::HTMLMediaElement::mediaEngineError): Post error event and set up state when no valid media engine failed with a decode error or a network error. (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): (WebCore::HTMLMediaElement::setNetworkState): Updated for new spec network states. (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged): (WebCore::HTMLMediaElement::setReadyState): Updated for new spec ready state. (WebCore::HTMLMediaElement::progressEventTimerFired): Bail if the network is not active. (WebCore::HTMLMediaElement::seek): Return INVALID_STATE_ERR exception if state is too low or if player hasn't been set up yet. This is necessary becase load() is async. Clear the flag we use to guard against sending 'ended' more than once. (WebCore::HTMLMediaElement::duration): Don't bother calling media engine before it has metadata. (WebCore::HTMLMediaElement::setDefaultPlaybackRate): Remove exception param, 0 is no longer an invalid rate. (WebCore::HTMLMediaElement::setPlaybackRate): Remove exception param, 0 is no longer an invalid rate. Cache rate being set so we can use it later if media engine isn't ready now. (WebCore::HTMLMediaElement::play): Remove exception param, play() before load() now just starts loading asynchronously. (WebCore::HTMLMediaElement::playInternal): Remove exception param. Fire 'waiting' or 'playing' event depending on current state. (WebCore::HTMLMediaElement::pause): Remove exception param, pause() before load() now just starts loading asynchronously. (WebCore::HTMLMediaElement::pauseInternal): Remove exception param. (WebCore::HTMLMediaElement::setVolume): dispatchEventAsync -> scheduleEvent (WebCore::HTMLMediaElement::setMuted): dispatchEventAsync -> scheduleEvent (WebCore::HTMLMediaElement::togglePlayState): Remove exception param. (WebCore::HTMLMediaElement::beginScrubbing): pause() doesn't take an exception param. (WebCore::HTMLMediaElement::startPlaybackProgressTimer): New, starts timer that fires 4 times per second when the movie is playing to timeupdate so we can post 'timeupdate' events. (WebCore::HTMLMediaElement::playbackProgressTimerFired): Timer proc. (WebCore::HTMLMediaElement::scheduleTimeupdateEvent): Bottleneck around scheduling a 'timeupdate' event because we both fire them them when the spec says we should and when the media engine says that time has jumped, but we don't want to fire more than one at a given movie time. We also use this bottleneck to keep track of the last time one was posted so we won't fire too often during playback. (WebCore::HTMLMediaElement::canPlay): readyState now tracks whether or not we have metadata. (WebCore::HTMLMediaElement::havePotentialSourceChild): New, checks to see if there are a <source> element with a 'src' attribute that we have not tried to load yet. (WebCore::HTMLMediaElement::nextSourceChild): New, returns the url and content type of the next <source> element that we haven't tried to load. (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Schedule 'seeked' event when seeking completes. Set a flag when we post the 'ended' event, clear it when time changed and we aren't at the end since some media engines call this proc more than once when playback reaches the end and stops, but we don't want to post 'ended' more than once. (WebCore::HTMLMediaElement::mediaPlayerDurationChanged): New, added so media engine can inform when the movie duration changes and we can post 'durationchanged' event. (WebCore::HTMLMediaElement::mediaPlayerRateChanged): New, added so media engine can inform when the rate changed and we can updated our cached rate. This is useful because we only want to know post periodic 'timeupdate' events when the movie is actually playing, and because we want to know the actual playback rate when it differs from what we tried to set. (WebCore::HTMLMediaElement::mediaPlayerSizeChanged): New, added so media engine can inform when a movie's intrinsic size changes and we can inform the renderer. (WebCore::HTMLMediaElement::potentiallyPlaying): Renamed from activelyPlaying since the spec now uses "actively playing" for this concept. Update logic for new state names and un-comment calls to stoppedDueToErrors() and pausedForUserInteraction() since the spec says those condiditons are part of the answer. (WebCore::HTMLMediaElement::endedPlayback): Update logic for new state names. (WebCore::HTMLMediaElement::stoppedDueToErrors): New, spec says this logic should be part of the determination of "potentially playing". (WebCore::HTMLMediaElement::pausedForUserInteraction): New, placeholder for when (if) user agent supports this spec concept. (WebCore::HTMLMediaElement::updatePlayState): Stop timer used to fire periodic 'timeupdate' events when we pauses the movie. Set the media engine rate before calling play() in case it wasn't set up when the rate was changed. (WebCore::HTMLMediaElement::stopPeriodicTimers): New, stop the progress event and 'timeupate' event timers. (WebCore::HTMLMediaElement::userCancelledLoad): New, logic pulled out of documentWillBecomeInactive and updated for the current spec. (WebCore::HTMLMediaElement::documentWillBecomeInactive): Moved some logic to userCancelledLoad. (WebCore::HTMLMediaElement::documentDidBecomeActive): Update comments. (WebCore::HTMLMediaElement::initialURL): Update for refactoring of code that determines the initial url.
  • html/HTMLMediaElement.h: Change ReadyState and NetworkState enums to match names in the spec, update for changes in .cpp. (WebCore::HTMLMediaElement::):
  • html/HTMLMediaElement.idl: Update ready state and network state constants for spec changes. defaultPlaybackRate, playbackRate, play(), and pause() no longer raise exceptions.
  • html/HTMLSourceElement.cpp: (WebCore::HTMLSourceElement::insertedIntoDocument): Update for network state name changes.
  • html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::updatePosterImage): Update for ready state name changes.
  • html/MediaError.h: (WebCore::MediaError::): add MEDIA_ERR_NONE_SUPPORTED.
  • html/MediaError.idl: add MEDIA_ERR_NONE_SUPPORTED.
  • loader/MediaDocument.cpp: (WebCore::MediaDocument::defaultEventHandler): play() and pause() don't take an exception.
  • platform/graphics/MediaPlayer.cpp: (WebCore::NullMediaPlayerPrivate::readyState): Update for newtork state name changes. (WebCore::MediaPlayer::sizeChanged): New, so engine can report intrinsic size changes. (WebCore::MediaPlayer::rateChanged): New, so engine can report rate changes. (WebCore::MediaPlayer::durationChanged): New, so engine can report duration changes.
  • platform/graphics/MediaPlayer.h: Update NetworkState and ReadyState enum names to match spec states. (WebCore::MediaPlayerClient::mediaPlayerDurationChanged): New. (WebCore::MediaPlayerClient::mediaPlayerRateChanged): New. (WebCore::MediaPlayerClient::mediaPlayerSizeChanged): New. (WebCore::MediaPlayer::):
  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Update for network/ready state name changes. (WebCore::MediaPlayerPrivate::load): Ditto. (WebCore::MediaPlayerPrivate::updateStates): Ditto. (WebCore::MediaPlayerPrivate::loadingFailed): Ditto.
  • platform/graphics/mac/MediaPlayerPrivateQTKit.h: Update for network/ready state name changes. Remove endPointTimer, it is no longer necessary. Add m_enabledTrackCount and m_duration. (WebCore::MediaPlayerPrivate::metaDataAvailable):
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): No more m_endPointTimer or m_endTime. Initialize m_enabledTrackCount and m_duration. Update for network/ready state name changes. (WebCore::MediaPlayerPrivate::load): Update for network/ready state name changes. (WebCore::MediaPlayerPrivate::play): No more m_endPointTimer. (WebCore::MediaPlayerPrivate::pause): Ditto. (WebCore::MediaPlayerPrivate::currentTime): No more m_endTime. (WebCore::MediaPlayerPrivate::seek): Ditto. (WebCore::MediaPlayerPrivate::doSeek): Ditto, plus don't call setRate(0) when the rate is already zero. (WebCore::MediaPlayerPrivate::setEndTime): No more m_endTime. (WebCore::MediaPlayerPrivate::updateStates): Update for network/ready state name changes. Return different errors depending on what causes a failure. Watch for and report duration changes. (WebCore::MediaPlayerPrivate::rateChanged): Report rate changes. (WebCore::MediaPlayerPrivate::sizeChanged): Report size changes. (WebCore::MediaPlayerPrivate::didEnd): No more endpoint timer. (WebCore::MediaPlayerPrivate::setVisible): Update for network/ready state name changes. (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): Don't return number of unsupported tracks, store in m_enabledTrackCount so we can use it to help determine causes of failure.
  • platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Update for network/ready state name changes. (WebCore::MediaPlayerPrivate::load): Ditto. (WebCore::MediaPlayerPrivate::duration): Ditto. (WebCore::MediaPlayerPrivate::updateStates): Ditto. (WebCore::MediaPlayerPrivate::naturalSize): Ditto.
  • platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): No more m_endPointTimer. Update for network/ready state name changes. (WebCore::MediaPlayerPrivate::load): Update for network/ready state name changes. No more m_endPointTimer. (WebCore::MediaPlayerPrivate::play): No more m_endPointTimer. (WebCore::MediaPlayerPrivate::pause): Ditto. (WebCore::MediaPlayerPrivate::setEndTime): Ditto. (WebCore::MediaPlayerPrivate::updateStates): Update for network/ready state name changes. (WebCore::MediaPlayerPrivate::didEnd): No more m_endPointTimer.
  • platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
  • rendering/MediaControlElements.cpp: (WebCore::MediaControlPlayButtonElement::defaultEventHandler): Update for network/ready state name changes. (WebCore::MediaControlSeekButtonElement::defaultEventHandler): Ditto.

2009-03-23 Eric Carlson <eric.carlson@apple.com>

Reviewed by Adele Peterson.


https://bugs.webkit.org/show_bug.cgi?id=24588
Bug 24588: Update media element implementation to current spec

  • media/media-constants-expected.txt: Test all media constants.
  • media/media-constants.html: Ditto.
  • media/remove-from-document-expected.txt: Updated for spec changes.
  • media/remove-from-document-no-load.html: Ditto.
  • media/remove-from-document.html: Ditto.
  • media/unsupported-rtsp-expected.txt: Ditto.
  • media/unsupported-rtsp.html: Ditto.
  • media/video-currentTime-set-expected.txt: Ditto.
  • media/video-currentTime-set.html: Ditto.
  • media/video-error-does-not-exist-expected.txt: Ditto.
  • media/video-error-does-not-exist.html: Ditto.
  • media/video-load-networkState-expected.txt: Ditto.
  • media/video-load-networkState.html: Ditto.
  • media/video-load-readyState-expected.txt: Ditto.
  • media/video-load-readyState.html: Ditto.
  • media/video-loop-expected.txt: Ditto.
  • media/video-loop.html: Ditto.
  • media/video-pause-empty-events-expected.txt: Ditto.
  • media/video-pause-empty-events.html: Ditto.
  • media/video-play-empty-events-expected.txt: Ditto.
  • media/video-play-empty-events.html: Ditto.
  • media/video-play-pause-events-expected.txt: Ditto.
  • media/video-play-pause-events.html: Ditto.
  • media/video-play-pause-exception-expected.txt: Ditto.
  • media/video-play-pause-exception.html: Ditto.
  • media/video-seek-no-src-exception-expected.txt: Test that seeking whene there is no 'src' attribute throws an INVALID_STATE_ERR exception.
  • media/video-seek-no-src-exception.html:
  • media/video-seek-past-end-playing-expected.txt: Ditto.
  • media/video-seek-past-end-playing.html: Ditto.
  • media/video-seeking-expected.txt: Ditto.
  • media/video-seeking.html: Ditto.
  • media/video-source-add-src-expected.txt: Test that adding a 'src' attribute does nothing when a <source> element has already been chosen.
  • media/video-source-add-src.html:
  • media/video-src-change-expected.txt: Ditto.
  • media/video-src-change.html: Ditto.
  • media/video-src-invalid-remove-expected.txt: Test that removing invalid 'src' attribute triggers <source> elements loading.
  • media/video-src-invalid-remove.html:
  • media/video-src-plus-source-expected.txt: Test that a <source> element is not used when a bogus 'src' attribute is present.
  • media/video-src-plus-source.html:
  • media/video-src-remove-expected.txt: Ditto.
  • media/video-src-remove.html: Ditto.
  • media/video-test.js: (findMediaElement): (testExpected): (waitForEvent): (failTest):
  • media/video-timeupdate-during-playback-expected.txt: Test that 'timeupdate' events are posted while an element is playing but not while paused.
  • media/video-timeupdate-during-playback.html:
  • platform/mac/Skipped: Skip media/video-error-abort.html for now, need to figure out how to test now that the 'loadstart' event is now fired asynchronously.
  • platform/win/Skipped
05:43 Changeset [41906] by xan@webkit.org
  • 2 edits in trunk

2009-03-21 Xan Lopez <xlopez@igalia.com>

Reviewed by Holger Freyther.

Require gnome-keyring 2.26.0, since we were depending on an
unreleased trunk revision between 2.25.91 and 2.26.0.

  • configure.ac:

03/22/09:

23:01 Changeset [41905] by oliver@apple.com
  • 4 edits in trunk/JavaScriptCore

Fix exception handling in API

Reviewed by Cameron Zwarich.

We can't just use the ExecState exception slot for returning exceptions
from class introspection functions provided through the API as many JSC
functions will explicitly clear the ExecState exception when returning.

21:31 Changeset [41904] by oliver@apple.com
  • 1 edit in trunk/JavaScriptCore/jit/JITStubs.cpp

Fix instanceof implementation to handle API object overriding hasInstance

Reviewed by Cameron Zwarich.

We can only take the fast paths for instanceof if the object doesn't override
hasInstance, so we have to check for that.

20:46 Changeset [41903] by mitz@apple.com
  • 2 edits in trunk/WebKit/mac

Reviewed by John Sullivan.

  • fix <rdar://problem/6640741> Messages not displaying after the Safari 4 beta was installed

Mail assumes that if -[WebArchive subresources] is not nil, then it
contains at least one object.

  • WebView/WebArchive.mm: (-[WebArchive subresources]): Preserve the behavior of returning nil if there are no subresources.
14:12 Companies and Organizations that have contributed to WebKit edited by alp@atoker.com
Add Nuanti (diff)
12:50 Changeset [41902] by simon.fraser@apple.com
  • 2 edits in trunk/WebCore

2009-03-22 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dan Bernstein

https://bugs.webkit.org/show_bug.cgi?id=24665

Image-map code in RenderImage could result in RenderImage::nodeAtPoint()
setting HitTestResult::innerNode(), but returning false, which violates
hit testing rules. Use a temporary HitTestResult so that we only fill in
result when we know we've hit.

  • rendering/RenderImage.cpp: (WebCore::RenderImage::nodeAtPoint):
12:45 Changeset [41901] by kevino@webkit.org
  • 2 edits in trunk/WebCore

wxGTK build fix. Add missing header.

11:43 Changeset [41900] by simon.fraser@apple.com
  • 3 edits
    2 adds in trunk

2009-03-22 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dan Bernstein

https://bugs.webkit.org/show_bug.cgi?id=24743

Fix hit testing regression from r41840. We need to pass the temporary
HitTestResult when testing sublayers, then only copy to 'result' when
the layer is known to have been hit.

Test: fast/layers/zindex-hit-test.html

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::hitTestLayer):
10:35 Changeset [41899] by simon.fraser@apple.com
  • 11 edits in trunk/WebCore

2009-03-20 Simon Fraser <simon.fraser@apple.com>

Reviewed by Darin Adler

https://bugs.webkit.org/show_bug.cgi?id=24733

Fix hit testing on video controls after full page zoom by fixing wider issue
with event->pageX(), pageY() with zooming. pageX and pageY are "fixed" to be
invariant under zooming (for JavaScript), so we keep an actual page point around
in MouseEvent::absoluteLocation() to avoid the need to factor in zooming everywhere.

  • dom/MouseRelatedEvent.cpp: (WebCore::MouseRelatedEvent::initCoordinates): (WebCore::MouseRelatedEvent::computePageLocation):
  • dom/MouseRelatedEvent.h: (WebCore::MouseRelatedEvent::absoluteLocation): (WebCore::MouseRelatedEvent::setAbsoluteLocation): Member var, and getter and setter for absoluteLocation. New method, computePageLocation(), to compute the actual page point, and call it when creating and initting mouse-related events.
  • dom/Node.cpp: (WebCore::Node::dispatchMouseEvent): (WebCore::Node::dispatchWheelEvent): Keep non-adjusted pageX and pageY around, and call setAbsoluteLocation() on the event to replace a potentially rounded point.
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): Clean up slider handling code.
  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Add FIXME comment for use of offsetX/offsetY.
  • page/ContextMenuController.cpp: (WebCore::ContextMenuController::handleContextMenuEvent): Use absoluteLocation() when hit testing for context menus.
  • rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::userResize): Use absoluteLocation() when resizing frames.
  • rendering/RenderMedia.cpp: (WebCore::RenderMedia::forwardEvent): Use absoluteLocation() when hit testing media controls.
  • rendering/RenderSlider.cpp: (WebCore::HTMLSliderThumbElement::defaultEventHandler): (WebCore::RenderSlider::mouseEventIsInThumb): Use absoluteLocation() when handling slider events.

(WebCore::RenderSlider::forwardEvent):
Factor some code out of HTMLInputElement::defaultEventHandler().

  • rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::forwardEvent): Use absoluteLocation() when hit testing search field buttons, which fixees bugs in the search field with zooming.
00:34 Changeset [41898] by levin@chromium.org
  • 1 edit
    5 adds in trunk/WebCore

2009-03-21 David Levin <levin@chromium.org>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=24727
Add V8XMLHttpRequest*.

  • bindings/v8/V8XMLHttpRequestUtilities.cpp: Added.
  • bindings/v8/V8XMLHttpRequestUtilities.h: Added.
  • bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: Added.
  • bindings/v8/custom/V8XMLHttpRequestCustom.cpp: Added.
  • bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: Added.
00:34 Changeset [41897] by levin@chromium.org
  • 1 edit
    2 adds in trunk/WebCore

2009-03-21 David Levin <levin@chromium.org>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=24725
Add V8NodeFilter.

  • bindings/v8/V8NodeFilter.cpp: Added.
  • bindings/v8/V8NodeFilter.h: Added.

03/21/09:

20:01 Changeset [41896] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2009-03-21 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver Hunt.

Bug 20049: testapi failure: MyObject - 0 should be NaN but instead is 1.
<https://bugs.webkit.org/show_bug.cgi?id=20049>
<rdar://problem/6079127>

In this case, the test is wrong. According to the ECMA spec, subtraction
uses ToNumber, not ToPrimitive. Change the test to match the spec.

  • API/tests/testapi.js:
19:52 Changeset [41895] by oliver@apple.com
  • 3 edits in trunk/JavaScriptCore

Ensure that JSObjectMakeFunction doesn't produce incorrect line numbers.

Reviewed by Cameron Zwarich.

Also make test api correctly propagate failures.

18:40 Changeset [41894] by oliver@apple.com
  • 2 edits in trunk/WebKitTools

Make build-jsc build testapi and minidom in addition to jsc itself.

Reviewed by Mark Rowe.

18:40 Changeset [41893] by oliver@apple.com
  • 3 edits in trunk/JavaScriptCore

Improve testapi by making it report failures in a way we can pick up
from our test scripts.

Reviewed by Mark Rowe.

11:34 Changeset [41892] by mitz@apple.com
  • 2 edits in trunk/WebCore

Rubber-stamped by Kevin Decker

  • remove some redundant #include statements
  • bindings/js/JSDOMWindowBase.cpp:
11:15 Changeset [41891] by xan@webkit.org
  • 2 edits in trunk/JavaScriptCore

Revert "2009-03-20 Mike Hommey <glandium@debian.org>"

This reverts commit 2ee472cbd180a196c08f3386b2b976d540a1d9e2.

Breaks JIT on x86 (at least linux) massively.

11:15 Changeset [41890] by xan@webkit.org
  • 4 edits in trunk

Revert "2009-03-20 Mike Hommey <glandium@debian.org>"

This reverts commit cb79d9c35d714a9e463a188a5cb295033715308e.

Breaks JIT on x86 (at least linux) massively.

03/20/09:

23:02 Changeset [41889] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Mark Rowe.

  • fix <rdar://problem/6574185> REGRESSION (3.2.2-TOT): hang in text drawing code
  • platform/graphics/win/FontCGWin.cpp: (WebCore::drawGDIGlyphs): Changed glyph stroking to fill and stroke each glyph as a separate path, instead of all glyphs as a single path. This matches what CGContextShowGlyphsWithAdvances() does, and has comparable performance.
18:47 Changeset [41888] by dino@apple.com
  • 2 edits in trunk/WebCore

2009-03-20 Dean Jackson <dino@apple.com>

Reviewed by Simon Fraser

Build fix for ENABLE(3D_RENDERING)

  • rendering/RenderObject.h: (WebCore::makeMatrixRenderable):
18:29 Changeset [41887] by jmalonzo@webkit.org
  • 4 edits in trunk

2009-03-20 Mike Hommey <glandium@debian.org>

Reviewed by Gavin Barraclough. Landed by Jan Alonzo.

Enable JIT on x86-64
https://bugs.webkit.org/show_bug.cgi?id=24724

Enable JIT on x86-64 gtk+

18:18 Changeset [41886] by jmalonzo@webkit.org
  • 2 edits in trunk/JavaScriptCore

2009-03-20 Mike Hommey <glandium@debian.org>

Reviewed by Mark Rowe. Committed by Jan Alonzo.

Use the proper definition of RETURN_PAIR on !MSVC

The other version is actually a work around for a quirk in the windows
ABI, so checking whether we're under MSVC is more a appropriate check for
it. It also happens this workaround is not 64-bits safe, so we also error
out on x86-64 MSVC.

Thanks Gavin Barraclough.

  • jit/JITStubs.h:
17:57 Changeset [41885] by adele@apple.com
  • 2 edits in trunk/WebKit/mac

2009-03-20 Adele Peterson <adele@apple.com>

Build fix.

Reviewed by Darin Adler.

  • WebView/WebFrameView.mm: (-[WebFrameView initWithFrame:]):
17:15 Changeset [41884] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-03-20 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.


Fixed a JavaScriptCore crash on the Windows buildbot.

  • bytecompiler/BytecodeGenerator.h: Reduced the AST recursion limit. Apparently, Windows has small stacks.
16:46 Changeset [41883] by levin@chromium.org
  • 2 edits
    1 add in trunk/LayoutTests

2009-03-20 Tony Chang <tony@chromium.org>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=24679

Change the layout test from using a data: URL to using a file:///
URL for the iframe. If DRT's frame loader has
AllowLocalLoadsForLocalOnly, then it's not possible to load an image
from disk into the iframe. Since this test is about D&D, not
local load checks, switch to a local file that doesn't have this
problem.

This should fix the test on win DRT as well.

  • fast/events/resources/standalone-image-drag-to-editable-frame.html: Added.
  • fast/events/standalone-image-drag-to-editable.html:
16:46 Changeset [41882] by levin@chromium.org
  • 2 edits in trunk/WebCore

2009-03-20 Dave Moore <davemoore@google.com>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=24705

A bug in the V8 bindings is preventing chromium from setting the href on the
location object...any attempt throws a security error, not just for javascript
protocol

  • page/Location.idl:
16:46 Changeset [41881] by levin@chromium.org
  • 2 edits in trunk/WebCore

2009-03-20 Craig Schlenter <craig.schlenter@gmail.com>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=24608

Include stdio.h needed for printf on gcc 4.4.0

  • platform/KURLGoogle.cpp:
16:46 Changeset [41880] by levin@chromium.org
  • 2 edits in trunk/WebCore

2009-03-20 Mike Belshe <mike@belshe.com>

Reviewed by Darin Fisher.

https://bugs.webkit.org/show_bug.cgi?id=24577

Don't let comments at the end of an event handler
break the event handler.

No change in behavior, so no test.

  • bindings/v8/V8LazyEventListener.cpp: (WebCore::V8LazyEventListener::getWrappedListenerFunction):
16:45 Changeset [41879] by levin@chromium.org
  • 18 edits in trunk

JavaScriptCore:

2009-03-20 Norbert Leser <norbert.leser@nokia.com>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=24535

Fixes missing line terminator character (;) after macro call.
It is common practice to add the trailing ";" where macros are substituted
and not where they are defined with #define.
This change is consistent with other macro declarations across webkit,
and it also solves compilation failure with symbian compilers.

  • runtime/UString.cpp:
  • wtf/Assertions.h:

WebCore:

2009-03-20 Norbert Leser <norbert.leser@nokia.com>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=24535

Fixes missing line terminator character (;) after macro call.
It is common practice to add the trailing ";" where macros are substituted
and not where they are defined with #define.
This change is consistent with other macro declarations across webkit,
and it also solves compilation failure with symbian compilers.

No change in behavior, so no test.

  • bindings/js/JSDOMWindowShell.cpp:
  • bindings/js/JSEventListener.cpp:
  • bindings/js/JSImageConstructor.cpp:
  • bindings/js/JSInspectedObjectWrapper.cpp:
  • bindings/js/JSInspectorCallbackWrapper.cpp:
  • bindings/js/JSNamedNodesCollection.cpp:
  • bindings/js/JSNodeFilterCondition.cpp:
  • bindings/js/JSOptionConstructor.cpp:
  • bindings/js/JSQuarantinedObjectWrapper.cpp:
  • bindings/js/JSRGBColor.cpp:
  • bindings/js/JSWorkerContextBase.cpp:
  • bindings/js/JSXMLHttpRequestConstructor.cpp:
  • bindings/js/JSXSLTProcessorConstructor.cpp:
  • bindings/scripts/CodeGeneratorJS.pm:
16:45 Changeset [41878] by levin@chromium.org
  • 3 edits in trunk/WebCore

2009-03-20 Mike Belshe <mike@belshe.com>

Reviewed by Dimitri Glazkov and Dave Hyatt.

https://bugs.webkit.org/show_bug.cgi?id=24324

Make the minimum timer configurable for different platforms.

  • page/DOMTimer.cpp: (WebCore::DOMTimer::DOMTimer): (WebCore::DOMTimer::fired):
  • page/DOMTimer.h: (WebCore::DOMTimer::minTimerInterval): (WebCore::DOMTimer::setMinTimerInterval):
16:45 Changeset [41877] by levin@chromium.org
  • 2 edits in trunk/WebCore

2009-03-20 Dean McNamee <deanm@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22834

Make sure to consistently match new/delete and fastMalloc/fastFree.

  • css/CSSSelectorList.cpp: (WebCore::CSSSelectorList::adoptSelectorVector): (WebCore::CSSSelectorList::deleteSelectors):
16:41 Changeset [41876] by mitz@apple.com
  • 7 edits
    4 adds in trunk

WebCore:

Reviewed by Dave Hyatt.

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::percentHeightDescendants): Added this accessor.
  • rendering/RenderBlock.h:
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::layoutRows): Extended the check for children that flex to include other descendants with percent height which is relative to the cell.

LayoutTests:

Reviewed by Dave Hyatt.

  • fast/replaced/percent-height-in-anonymous-block-in-table.html: Added.
  • fast/replaced/table-percent-height-expected.txt:
  • fast/replaced/table-percent-height.html:
  • platform/mac/fast/replaced/percent-height-in-anonymous-block-in-table-expected.checksum: Added.
  • platform/mac/fast/replaced/percent-height-in-anonymous-block-in-table-expected.png: Added.
  • platform/mac/fast/replaced/percent-height-in-anonymous-block-in-table-expected.txt: Added.
16:29 Changeset [41875] by dimich@chromium.org
  • 1 edit
    1 add in trunk/LayoutTests

2009-03-20 Dmitry Titov <dimich@chromium.org>

Fix broken LayoutTest/http/tests/workers/text-encoding.html.
Forgot to add a new file with the previous patch.

  • http/tests/workers/resources/subworker-encoded.php: Added.
16:24 Changeset [41874] by darin@chromium.org
  • 2 edits
    1 add
    1 delete in trunk/LayoutTests

2009-03-20 Alpha Lam <hclam@chromium.org>

Reviewed by Darin Fisher.

https://bugs.webkit.org/show_bug.cgi?id=24721

The test in this change is just to verify a no crash. Full tree
dump is not necessary, so change to test to dumpAsText and update
the affected test results.

  • fast/block/float/crash-on-absolute-positioning-expected.txt: Added.
  • fast/block/float/crash-on-absolute-positioning.html:
  • platform/mac/fast/block/float/crash-on-absolute-positioning-expected.txt: Removed.
16:03 Changeset [41873] by jmalonzo@webkit.org
  • 2 edits in trunk/WebKit/gtk

2009-03-20 Jan Michael Alonzo <jmalonzo@gmail.com>

Not reviewed. Fix style issues with my previous commit (r41866) as
suggested by Holger in https://bugs.webkit.org/show_bug.cgi?id=24493

  • tests/testwebhistoryitem.c: (test_webkit_web_history_item_get_data): (test_webkit_web_history_item_alternate_title):
15:56 Changeset [41872] by ggaren@apple.com
  • 3 edits in trunk/JavaScriptCore

2009-03-20 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


A little cleanup in the RegisterFile code.


Moved large inline functions out of the class declaration, to make it
more readable.


Switched over to using the roundUpAllocationSize function to avoid
duplicate code and subtle bugs.


Renamed m_maxCommitted to m_commitEnd, to match m_end.


Renamed allocationSize to commitSize because it's the chunk size for
committing memory, not allocating memory.


SunSpider reports no change.

  • interpreter/RegisterFile.h: (JSC::RegisterFile::RegisterFile): (JSC::RegisterFile::shrink): (JSC::RegisterFile::grow):
  • jit/ExecutableAllocator.h: (JSC::roundUpAllocationSize):
15:52 Changeset [41871] by dimich@chromium.org
  • 16 edits in trunk

WebCore:

2009-03-20 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=24706
Remove ScriptExecutionContext::encoding() since Workers do not need it.
WorkerContext::encoding() is simply removed, while Document::encoding()
made non-virtual and private. Workers use UTF-8 now except when instructed
otherwise by http header. Also updated test.

  • dom/Document.h: Made encoding() non-virtual and private.
  • dom/ScriptExecutionContext.h: removed encoding().
  • workers/Worker.cpp: (WebCore::Worker::Worker): (WebCore::Worker::notifyFinished):
  • workers/WorkerContext.cpp: removed encoding() implementation. (WebCore::WorkerContext::WorkerContext): (WebCore::WorkerContext::completeURL):
  • workers/WorkerContext.h: removed encoding() (WebCore::WorkerContext::create):
  • workers/WorkerContextProxy.h:
  • workers/WorkerImportScriptsClient.cpp: (WebCore::WorkerImportScriptsClient::didReceiveData):
  • workers/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::startWorkerContext):
  • workers/WorkerMessagingProxy.h:
  • workers/WorkerThread.cpp: (WebCore::WorkerThreadStartupData::create): (WebCore::WorkerThreadStartupData::WorkerThreadStartupData): (WebCore::WorkerThread::create): (WebCore::WorkerThread::WorkerThread): (WebCore::WorkerThread::workerThread):
  • workers/WorkerThread.h: In all these, removed storing encoding and 'inheriting' it from the parent. Instead, they are all using UTF-8 now.

LayoutTests:

2009-03-20 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=24706
Remove ScriptExecutionContext::encoding() since Workers do not need it.
WorkerContext::encoding() is simply removed, while Document::encoding()
made non-virtual and private. Workers use UTF-8 now except when instructed
otherwise by http header. Updated test.
Also, added test for encoding used by importScripts().

  • http/tests/workers/resources/subworker-encoded.php: Added.
  • http/tests/workers/resources/worker-encoded.php:
  • http/tests/workers/text-encoding-expected.txt:
  • http/tests/workers/text-encoding.html:
15:40 Changeset [41870] by timothy@apple.com
  • 15 edits in trunk

Change how threading exceptions are checked so they are reported by what round they were added.

WebCore:

2009-03-20 Timothy Hatcher <timothy@apple.com>

Change how threading exceptions are checked so they are reported
by what round they were added. That way WebKit can decided the
behavior per-round based on linked-on-or-after checks.

<rdar://problem/6626741&6648478&6635474&6674079>

Reviewed by Darin Adler.

  • WebCore.base.exp: Export the new symbols.
  • bindings/objc/DOMAbstractView.mm: Use the new WebCoreThreadViolationCheckRoundOne macro.
  • bindings/scripts/CodeGeneratorObjC.pm: Ditto.
  • platform/ThreadCheck.h:
  • platform/mac/ThreadCheck.mm: (WebCore::readThreadViolationBehaviorFromUserDefaults): Refactor how the default is read. (WebCore::setDefaultThreadViolationBehavior): Take a round argument. (WebCore::reportThreadViolation): Ditto. (WebCoreReportThreadViolation): Ditto.

WebKit:

2009-03-20 Timothy Hatcher <timothy@apple.com>

Change how threading exceptions are checked so they are reported
by what round they were added. That way WebKit can decided the
behavior per-round based on linked-on-or-after checks.

<rdar://problem/6626741&6648478&6635474&6674079>

Reviewed by Darin Adler.

  • History/WebBackForwardList.mm: Use the new WebCoreThreadViolationCheckRoundOne macro.
  • History/WebHistoryItem.mm: Ditto.
  • Misc/WebIconDatabase.mm: Ditto.
  • WebView/WebArchive.mm: Use the new WebCoreThreadViolationCheckRoundTwo macro.
  • WebView/WebResource.mm: Ditto. (+[WebResource _needMailThreadWorkaroundIfCalledOffMainThread]): Check Mail's bundle version to truly decide if it is an old Mail client.
  • WebView/WebView.mm: Ditto.
  • Misc/WebKitVersionChecks.h: Add a new linked-on-or-after version define.
  • WebView/WebFrameView.mm: (-[WebFrameView initWithFrame:]): Set the default thread violation behavior per-round based on difference version checks and the Mail workaround check.
15:25 Changeset [41869] by andersca@apple.com
  • 2 edits in trunk/WebKitTools

2009-03-20 Anders Carlsson <andersca@apple.com>

Reviewed by Darin Adler.

Only release the result NPVariant if the call to NPN_Invoke was successful.


  • DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp: (testNPRuntime):
13:31 Changeset [41868] by ggaren@apple.com
  • 2 edits in trunk/WebCore

2009-03-20 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Fixed up an out-of-date comment.

  • bindings/js/JSDOMWindowCustom.h: (WebCore::JSDOMWindow::customPut):
13:25 Changeset [41867] by darin@apple.com
  • 2 edits in trunk/WebKit/mac

2009-03-20 Darin Adler <darin@apple.com>

Reviewed by Timothy Hatcher.

  • WebView/WebTextIterator.h: Improved comments to point out some of the pitfalls of this SPI.
13:23 Changeset [41866] by jmalonzo@webkit.org
  • 3 edits
    1 add in trunk

2009-03-20 Jan Michael Alonzo <jmalonzo@gmail.com>

Reviewed by Holger Freyther.

[GTK] Misc patches for WebKitWebHistoryItem
https://bugs.webkit.org/show_bug.cgi?id=24493

Added build support for build the WebKitWebHistoryItem unit test.

  • GNUmakefile.am:

2009-03-20 Jan Michael Alonzo <jmalonzo@gmail.com>

Reviewed by Holger Freyther.

[GTK] Misc patches for WebKitWebHistoryItem
https://bugs.webkit.org/show_bug.cgi?id=24493

Add unit test for WebKitWebHistoryItem

  • tests/testwebhistoryitem.c: Added. (web_history_item_fixture_setup): (web_history_item_fixture_teardown): (test_webkit_web_history_item_get_data): (test_webkit_web_history_item_alternate_title): (main):
12:56 Changeset [41865] by bdakin@apple.com
  • 4 edits
    4 adds in trunk

WebCore:

2009-03-20 Beth Dakin <bdakin@apple.com>

Reviewed by Dave Hyatt.

Fix for https://bugs.webkit.org/show_bug.cgi?id=20909 REGRESSION
(r35318): A press release at pfizer.com does not display correctly

  • and corresponding - <rdar://problem/6680073>
  • rendering/RenderObject.cpp: (WebCore::RenderObject::invalidateContainerPrefWidths):
  • rendering/RenderObject.h: (WebCore::RenderObject::markContainingBlocksForLayout):

LayoutTests:

2009-03-20 Beth Dakin <bdakin@apple.com>

Reviewed by Dave Hyatt.

Test for https://bugs.webkit.org/show_bug.cgi?id=20909 REGRESSION
(r35318): A press release at pfizer.com does not display correctly

  • and corresponding - <rdar://problem/6680073>
  • http/tests/misc/generated-content-inside-table.html: Added.
  • platform/mac/http/tests/misc/generated-content-inside-table-expected.checksum: Added.
  • platform/mac/http/tests/misc/generated-content-inside-table-expected.png: Added.
  • platform/mac/http/tests/misc/generated-content-inside-table-expected.txt: Added.
12:45 Changeset [41864] by jmalonzo@webkit.org
  • 3 edits
    1 copy
    1 move in trunk

2009-03-20 Jan Michael Alonzo <jmalonzo@gmail.com>

Reviewed by Holger Freyther.

Separate gtk unit tests
https://bugs.webkit.org/show_bug.cgi?id=24039

Build the unit tests accordingly.

  • GNUmakefile.am:

2009-03-20 Jan Michael Alonzo <jmalonzo@gmail.com>

Reviewed by Holger Freyther.

Separate gtk unit tests
https://bugs.webkit.org/show_bug.cgi?id=24039

Split the current single-file unit test to make it more
modularized and manageable in the future as more unit tests are
written.

  • tests/main.c: Removed.
  • tests/testwebbackforwardlist.c: Copied from WebKit/gtk/tests/main.c. (main):
  • tests/testwebframe.c: Copied from WebKit/gtk/tests/main.c. (main):
11:45 Changeset [41863] by eric@webkit.org
  • 19 edits in trunk/WebCore

Reviewed by Justin Garcia.

maxDeepOffset is confusing and should be removed
https://bugs.webkit.org/show_bug.cgi?id=24586

Abstract some hard-to-read (but shared) logic into a new renderedAsNonInlineTableOrHR function.
Add first/lastDeepEditingPositionForNode Position creation functions
and deploy them to places we used to call maxDeepOffset.

Rename Position::atStart and atEnd to atStartOfTree atEndOfTree
Add a new Position::atFirst/atLastEditingPositionForNode() and use these
to replace a few more callers for maxDeepOffset()

Rename maxDeepOffset to lastEditingOffsetForNode (so that we mere mortals have some clue what it does)

"Editing positions" are confusing because they have one
of two behaviors, depending on if the container node is ignored
by editing (if editingIgnoresContent(node) returns true) or not.
Positions referring to nodes ignored by editing are
neighbor-relative (they are before or after the node) where as
positions reffering to other nodes are container-relative
(they are between two child nodes of the container, identified
by the offset() member). I will be fixing this confusion in
future patches. These renames hopefully make the current behavior clearer.

  • dom/Position.cpp: (WebCore::Position::previous): (WebCore::Position::next): (WebCore::Position::atFirstEditingPositionForNode): (WebCore::Position::atLastEditingPositionForNode): (WebCore::Position::atStartOfTree): (WebCore::Position::atEndOfTree): (WebCore::Position::previousCharacterPosition): (WebCore::Position::nextCharacterPosition): (WebCore::Position::upstream): (WebCore::Position::isCandidate): (WebCore::firstDeepEditingPositionForNode): (WebCore::lastDeepEditingPositionForNode):
  • dom/Position.h:
  • dom/PositionIterator.cpp: (WebCore::PositionIterator::operator Position): (WebCore::PositionIterator::increment): (WebCore::PositionIterator::decrement): (WebCore::PositionIterator::atEnd): (WebCore::PositionIterator::atEndOfNode):
  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
  • editing/DeleteSelectionCommand.cpp: (WebCore::isTableCellEmpty): (WebCore::DeleteSelectionCommand::removeNode): (WebCore::DeleteSelectionCommand::handleGeneralDelete):
  • editing/Editor.cpp: (WebCore::Editor::advanceToNextMisspelling):
  • editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply):
  • editing/InsertListCommand.cpp: (WebCore::InsertListCommand::doApply):
  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent):
  • editing/TypingCommand.cpp: (WebCore::TypingCommand::forwardDeleteKeyPressed):
  • editing/VisiblePosition.cpp: (WebCore::VisiblePosition::previous): (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): (WebCore::VisiblePosition::left): (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): (WebCore::VisiblePosition::right):
  • editing/VisibleSelection.cpp: (WebCore::VisibleSelection::selectionFromContentsOfNode): (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
  • editing/htmlediting.cpp: (WebCore::nextVisuallyDistinctCandidate): (WebCore::previousVisuallyDistinctCandidate): (WebCore::firstEditablePositionAfterPositionInRoot): (WebCore::lastEditablePositionBeforePositionInRoot): (WebCore::lastOffsetForEditing): (WebCore::isFirstPositionAfterTable): (WebCore::isLastPositionBeforeTable): (WebCore::positionBeforeNode): (WebCore::positionAfterNode): (WebCore::enclosingEmptyListItem): (WebCore::caretMaxOffset):
  • editing/htmlediting.h:
  • editing/visible_units.cpp: (WebCore::renderedAsNonInlineTableOrHR): (WebCore::startOfParagraph): (WebCore::endOfParagraph): (WebCore::startOfEditableContent): (WebCore::endOfEditableContent):
  • page/AccessibilityObject.cpp: (WebCore::endOfStyleRange):
  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::visiblePositionRange):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::positionForPoint):
10:32 Changeset [41862] by dimich@chromium.org
  • 3 edits
    2 copies
    3 adds in trunk/WebCore

2009-03-20 Dmitry Titov <dimich@chromium.org>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=24689
Add (upstream) V8 bindings for Workers. Mostly style cleaning.

  • bindings/v8/WorkerContextExecutionProxy.cpp: Added.
  • bindings/v8/WorkerContextExecutionProxy.h: Added.
  • bindings/v8/WorkerScriptController.cpp: Added.
  • bindings/v8/WorkerScriptController.h: Added.
  • bindings/v8/V8Index.h: Added. This is just a wrapper for v8_index.h, like V8Proxy.h
  • bindings/v8/V8Proxy.h: Added domObjectMap() function that wraps GetDOMObjectMap().
  • bindings/v8/V8WorkerContextEventListener.cpp: (WebCore::V8WorkerContextEventListener::callListenerFunction): TrackEvent() renamed trackEvent()
10:27 Changeset [41861] by ariya@webkit.org
  • 3 edits in trunk/WebKit/qt

2009-03-20 Erik L. Bunce <elbunce@xendom.com>

Reviewed by Tor Arne Vestbø.

Fix QWebPage::WebActions action states to more closely match when they are
actually applicable and remove erroneous documentation.

  • Most WebActions implemented using editor commands now use the Editor::Command::isEnabled() to control their availability.
  • SelectAll is always enabled (since it's editor command is).
  • SetTextDirection{} family of WebActions are available when canEdit() is true and not just canEditRichly().

Fix and clarify documentation about the availability of various web actions.

  • Api/qwebpage.cpp: (QWebPagePrivate::updateAction): (QWebPagePrivate::updateEditorActions):
  • tests/qwebpage/tst_qwebpage.cpp: (tst_QWebPage::textSelection):
09:39 Changeset [41860] by eric@webkit.org
  • 3 edits in trunk/WebCore

2009-03-20 Stephen White <senorblanco@chromium.org>

Reviewed by Eric Seidel.

Fix for LayoutTests/fast/canvas/canvas-text-alignment.html
on chromium/skia. The problem was that the gradient matrix
for text was being applied twice. Fixed by reverting some of
https://bugs.webkit.org/show_bug.cgi?id=23957, so that skiaDrawText
is no longer responsible for measuring the text and scaling up
the gradient matrix. Instead, the text bounding box is passed
in from SVGPaintServerGradient. I didn't make this change for CG,
since it uses a different method (the gradient is drawn using the
text as a pre-rendered mask).
https://bugs.webkit.org/show_bug.cgi?id=24687

  • platform/graphics/skia/SkiaFontWin.cpp: (WebCore::skiaDrawText):
  • svg/graphics/SVGPaintServerGradient.cpp: (WebCore::SVGPaintServerGradient::setup):
07:50 Changeset [41859] by darin@apple.com
  • 2 edits in trunk/WebKit/mac

2009-03-20 Darin Adler <darin@apple.com>

Reviewed by Adele Peterson.

Use a better technique to handle finding out if something responds to a selector
in WebHTMLView's doCommandBySelector method.

  • WebView/WebHTMLView.mm: (-[WebHTMLView doCommandBySelector:]): Removed unneeded check for 0 coreFrame; this is already handled by coreCommandBySelector: so doesn't need to be checked twice. Got rid of initial value for eventWasHandled boolean to make it more clear. Use WebResponderChainSink to find out if a command is handled rather than walking the responder chain explicitly. (-[WebResponderChainSink initWithResponderChain:]): Added. (-[WebResponderChainSink detach]): Added. (-[WebResponderChainSink receivedUnhandledCommand]): Added. (-[WebResponderChainSink noResponderFor:]): Added. (-[WebResponderChainSink doCommandBySelector:]): Added.
04:09 Changeset [41858] by timothy@apple.com
  • 1 edit in trunk/WebKit/mac/WebView/WebView.mm

Fix the Tiger build, round two.

03:54 Changeset [41857] by timothy@apple.com
  • 1 edit in trunk/WebKit/mac/WebView/WebView.mm

Fix the Tiger build.

03:07 Changeset [41856] by xan@webkit.org
  • 3 edits in trunk/WebCore

2009-03-20 Xan Lopez <xlopez@igalia.com>

Rubber-stamped by Holger Freyther.

There seems to be some rounding error in cairo (or in how we use
cairo) with some fonts, like DejaVu Sans Mono, which makes cairo
report a height smaller than ascent + descent, which is wrong and
confuses WebCore's layout system. Workaround this while we figure
out what's going on.

  • platform/graphics/gtk/SimpleFontDataGtk.cpp: (WebCore::SimpleFontData::platformInit):
  • platform/graphics/gtk/SimpleFontDataPango.cpp: (WebCore::SimpleFontData::platformInit):
01:16 Changeset [41855] by ap@webkit.org
  • 3 edits
    2 adds in trunk

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=24122
<rdar://problem/6674179>
REGRESSION: DOM Range extractContents/deleteContents failures seen on Moxiecode tests

Test: fast/dom/Range/deleted-range-endpoints.html

  • dom/Range.cpp: (WebCore::Range::processContents): Set the final range in accordance to the specification.

03/19/09:

22:57 Changeset [41854] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-03-19 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Fixed <rdar://problem/6033712> -- a little bit of hardening in the Collector.


SunSpider reports no change. I also verified in the disassembly that
we end up with a single compare to constant.

  • runtime/Collector.cpp: (JSC::Heap::heapAllocate):
21:31 Changeset [41853] by timothy@apple.com
  • 2 edits in trunk/WebKit/mac

Remove #ifndef BUILDING_ON_TIGER around code that schedules runloop modes
for Page, so the new RunLoopTimer in WebCore always gets a default mode.
Fixes the layout test failures on the Tiger build bots.

Reviewed by Mark Rowe.

  • WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): (-[WebView scheduleInRunLoop:forMode:]): (-[WebView unscheduleFromRunLoop:forMode:]):
21:28 Changeset [41852] by ggaren@apple.com
  • 4 edits
    1 move in trunk

JavaScriptCore:

2009-03-19 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich and Oliver Hunt.

Fixed <rdar://problem/6406045> REGRESSION: Stack overflow on PowerPC on
fast/workers/use-machine-stack.html (22531)

Dialed down the re-entry allowance to 64 (from 128).


On a 512K stack, this leaves about 64K for other code on the stack while
JavaScript is running. Not perfect, but it solves our crash on PPC.

Different platforms may want to dial this down even more.

Also, substantially shrunk BytecodeGenerator. Since we allocate one on
the stack in order to throw a stack overflow exception -- well, let's
just say the old code had an appreciation for irony.

SunSpider reports no change.

  • bytecompiler/BytecodeGenerator.h:
  • interpreter/Interpreter.h: (JSC::):

LayoutTests:

2009-03-19 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich and Oliver Hunt.

Re-enabled this test, since it no longer crashes when JavaScriptCore is
compiled in non-JIT mode.

  • fast/workers/use-machine-stack.html: Copied from fast/workers/use-machine-stack.html-disabled.
  • fast/workers/use-machine-stack.html-disabled: Removed.
19:04 Changeset [41851] by cwzwarich@webkit.org
  • 3 edits
    3 adds in trunk

2009-03-19 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver Hunt.

Bug 24350: REGRESSION: Safari 4 breaks SPAW wysiwyg editor multiple instances
<https://bugs.webkit.org/show_bug.cgi?id=24350>
<rdar://problem/6674182>

The SPAW editor's JavaScript assumes that toString() on a function
constructed with the Function constructor produces a function with
a newline after the opening brace.

JavaScriptCore:

  • runtime/FunctionConstructor.cpp: (JSC::constructFunction): Add a newline after the opening brace of the function's source code.

LayoutTests:

  • fast/js/function-constructor-newline-after-brace-expected.txt: Added.
  • fast/js/function-constructor-newline-after-brace.html: Added.
  • fast/js/resources/function-constructor-newline-after-brace.js: Added.
18:50 Changeset [41850] by mrowe@apple.com
  • 1 edit
    3 moves
    6 adds in trunk/LayoutTests

Fix fast/text/Geeza-Pro-vertical-metrics-adjustment.html on Leopard by moving the results in to the location
that run-webkit-tests currently looks for them.

Reviewed by Stephanie Lewis.

17:52 Changeset [41849] by ggaren@apple.com
  • 5 edits in trunk

JavaScriptCore:

2009-03-19 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Geoff Garen.

Bug 23771: REGRESSION (r36016): JSObjectHasProperty freezes on global class without kJSClassAttributeNoAutomaticPrototype
<https://bugs.webkit.org/show_bug.cgi?id=23771>
<rdar://problem/6561016>

  • API/tests/testapi.c: (main): Add a test for this bug.
  • runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::resetPrototype): Don't set the prototype of the last object in the prototype chain to the object prototype when the object prototype is already the last object in the prototype chain.

LayoutTests:

2009-03-19 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Fixed <rdar://problem/6279213> Regular expression run-time complexity
limit too low for long inputs (21485)


Added a test for a complex regexp match that should succeed, and one
that should fail.

  • fast/js/regexp-overflow-expected.txt:
  • fast/js/resources/regexp-overflow.js:
17:44 Changeset [41848] by mrowe@apple.com
  • 3 edits
    1 copy
    1 add in trunk/LayoutTests

Update test results for changes in handling of CMYK.

Reviewed by Sam Weinig.

  • fast/canvas/resources/set-colors.js:
  • fast/canvas/set-colors-expected.txt:
  • platform/mac-leopard/fast/canvas/set-colors-expected.txt: Copied from LayoutTests/fast/canvas/set-colors-expected.txt.
17:16 Changeset [41847] by andersca@apple.com
  • 3 edits in trunk/WebCore

2009-03-19 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

<rdar://problem/6682554> Flash content not being rendered (Shockwave Flash 10.0 r22)


If calling updateWidget for some reason resulted in another widget being added to m_widgetUpdateSet, then
that object would never be updated.


  • page/FrameView.cpp: (WebCore::FrameView::updateWidgets): Factor the widget updating code out into this method. Return true if the update set is empty.


(WebCore::FrameView::performPostLayoutTasks):
Loop over the update set multiple times until all widgets have been updated or until we reach the cap.


  • page/FrameView.h:
17:03 Changeset [41846] by cwzwarich@webkit.org
  • 3 edits in trunk/JavaScriptCore

2009-03-19 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Geoff Garen.

Bug 23771: REGRESSION (r36016): JSObjectHasProperty freezes on global class without kJSClassAttributeNoAutomaticPrototype
<https://bugs.webkit.org/show_bug.cgi?id=23771>
<rdar://problem/6561016>

  • API/tests/testapi.c: (main): Add a test for this bug.
  • runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::resetPrototype): Don't set the prototype of the last object in the prototype chain to the object prototype when the object prototype is already the last object in the prototype chain.
16:45 Changeset [41845] by timothy@apple.com
  • 6 edits
    2 adds in trunk

Make the defered data loading timer honor the Page's scheduled runloop pairs.
Introduces a new RunLoopTimer class that has an API mimicking Timer but
allows it to be scheduled with one or more SchedulePairs.

<rdar://problem/6687342> -[WebView scheduleInRunLoop:forMode:] has no affect on timers

Reviewed by Darin Adler.

  • WebCore.xcodeproj/project.pbxproj: Adds the new RunLoopTimer.{cpp,h} files.
  • loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::handleDataLoadNow): Use the MainResourceLoaderTimer typedef. (WebCore::MainResourceLoader::startDataLoadTimer): Added. Start the timer and on Mac platforms also schedule with the Page's SchedulePairs. (WebCore::MainResourceLoader::handleDataLoadSoon): Call startDataLoadTimer(). (WebCore::MainResourceLoader::setDefersLoading): Ditto.
  • loader/MainResourceLoader.h:
  • platform/cf/RunLoopTimerCF.cpp: Added. (WebCore::RunLoopTimerBase::~RunLoopTimerBase): (WebCore::timerFired): (WebCore::RunLoopTimerBase::start): (WebCore::RunLoopTimerBase::schedule): (WebCore::RunLoopTimerBase::stop): (WebCore::RunLoopTimerBase::isActive):
  • platform/RunLoopTimer.h: Added. (WebCore::RunLoopTimerBase::RunLoopTimerBase): (WebCore::RunLoopTimerBase::startRepeating): (WebCore::RunLoopTimerBase::startOneShot): (WebCore::RunLoopTimer::RunLoopTimer): (WebCore::RunLoopTimer::fired):
14:08 Changeset [41844] by kov@webkit.org
  • 2 edits in trunk/WebKitTools

2009-03-19 Gustavo Noronha Silva <gns@gnome.org>

Reviewed by Mark Rowe.

Make determinePassedArchitecture always consume the --32-bit
option, also in non-AppleMacWebkit platforms. Solution pointed out
by Mark Rowe.

  • Scripts/webkitdirs.pm:
13:47 Changeset [41843] by hyatt@apple.com
  • 1 add in trunk/WebKitSite/blog-files/scrollbarpicture.png

Adding scrollbar images for blog post.

13:32 Changeset [41842] by ggaren@apple.com
  • 7 edits in trunk

JavaScriptCore:

2009-03-19 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Fixed <rdar://problem/6603562> REGRESSION (Safari 4): regular expression
pattern size limit lower than Safari 3.2, other browsers, breaks SAP (14873)


Bumped the pattern size limit to 1MB, and standardized it between PCRE
and WREC. (Empirical testing says that we can easily compile a 1MB regular
expression without risking a hang. Other browsers support bigger regular
expressions, but also hang.)


SunSpider reports no change.


I started with a patch posted to Bugzilla by Erik Corry (erikcorry@google.com).


  • pcre/pcre_internal.h: (put3ByteValue): (get3ByteValue): (put3ByteValueAndAdvance): (putLinkValueAllowZero): (getLinkValueAllowZero): Made PCRE's "LINK_SIZE" (the number of bytes used to record jumps between bytecodes) 3, to accomodate larger potential jumps. Bumped PCRE's "MAX_PATTERN_SIZE" to 1MB. (Technically, at this LINK_SIZE, we can support even larger patterns, but we risk a hang during compilation, and it's not clear that such large patterns are important on the web.)
  • wrec/WREC.cpp: (JSC::WREC::Generator::compileRegExp): Match PCRE's maximum pattern size, to avoid quirks between platforms.

LayoutTests:

2009-03-19 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Made two layout tests less agressive, to accomodate a change I made
for <rdar://problem/6603562> REGRESSION (Safari 4): regular expression
pattern size limit lower than Safari 3.2, other browsers, breaks SAP (14873)

  • fast/js/regexp-charclass-crash-expected.txt:
  • fast/js/regexp-charclass-crash.html: Explicitly limit the number of iterations in the test loop. Otherwise, regular expression engines supporting very long patterns take a very very very long time to run this test.
  • fast/js/resources/regexp-overflow.js: Made the "too big" regexp in this test even bigger, to match our new limit.
12:56 Changeset [41841] by dglazkov@chromium.org
  • 3 edits in trunk/WebCore

2009-03-19 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Darin Fisher.

https://bugs.webkit.org/show_bug.cgi?id=24702
Upstream miscellaneous bindings changes.

  • bindings/v8/ScheduledAction.cpp: (WebCore::ScheduledAction::execute): Changed to call lower-case evaluate.
  • bindings/v8/ScriptCallStack.h: Added an extra include.
12:14 Changeset [41840] by simon.fraser@apple.com
  • 3 edits
    4 adds in trunk

2009-03-19 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

https://bugs.webkit.org/show_bug.cgi?id=24686

When hit testing a RenderLayer whose parent lives in a preserves-3D hierarchy,
we need to compare the computed z-offset with the depth-test z-offset before
deciding that such a RenderLayer was hit. This fixes an issue, tested by the
3d-point-mapping-overlapping.html test, where the child of a transformed element
is found by hit testing, even when some other element with greater Z overlaps
them both.

Improved the code by adding a utility method, isHitCandidate(), which computes and tests
z-depth when necessary.

Tests: transforms/3d/point-mapping/3d-point-mapping-coplanar.html

transforms/3d/point-mapping/3d-point-mapping-overlapping.html

  • rendering/RenderLayer.cpp: (WebCore::isHitCandidate): (WebCore::RenderLayer::hitTestLayer):
09:43 Changeset [41839] by dglazkov@chromium.org
  • 2 edits
    1 add in trunk/WebCore

2009-03-19 Jeremy Moskovich <jeremy@chromium.org>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=24456
Split ColorChromium.cpp into Mac & Windows variants.
Remove Chromium Dependency on platform/graphics/mac/ColorMac.mm since we
ultimately need to take a different approach. For now, createCGColor()
is copied from ColorMac.mm.

No observable change in behavior, so no test.

  • platform/graphics/chromium/ColorChromium.cpp: (WebCore::focusRingColor):
  • platform/graphics/chromium/ColorChromiumMac.mm: Added.
09:36 Changeset [41838] by dglazkov@chromium.org
  • 1 edit in trunk/WebCore/ChangeLog

Fix WebCore/ChangeLog entry, add missing reviewer line.

09:35 Changeset [41837] by dglazkov@chromium.org
  • 2 edits in trunk/LayoutTests

2009-03-19 Scott Violet <sky@google.com>

Reviewed by Simon Fraser.

https://bugs.webkit.org/show_bug.cgi?id=24678
Transitions tests somewhat flakey on Chromium.

Modifies transitions/transition-end-event-helpers.js to only process
results once.

  • transitions/transition-end-event-helpers.js:
09:29 Changeset [41836] by dglazkov@chromium.org
  • 1 edit
    1 add in trunk/WebCore

2009-03-19 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=24675
Unforking frontend: add custom InspectorController methods
implementation.

  • bindings/v8/custom/V8InspectorControllerCustom.cpp: Added.
09:26 Changeset [41835] by dglazkov@chromium.org
  • 3 edits in trunk/WebCore

2009-03-19 Jay Campan <jcampan@google.com>

https://bugs.webkit.org/show_bug.cgi?id=24625
Adding an accessor to the currently selected index in the PopupMenuChromium.
This is required for implementing the deletion of an autocomplete entry in Chromium.

  • platform/chromium/PopupMenuChromium.cpp: (WebCore::PopupContainer::selectedIndex):
  • platform/chromium/PopupMenuChromium.h:
09:09 Changeset [41834] by darin@chromium.org
  • 2 edits in trunk/WebCore

2009-03-19 Evan Stade <estade@chromium.org>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=24526
Improve windows skia text stroking.

Test: LayoutTests/svg/custom/struct-use-09-b.svg

  • platform/graphics/skia/SkiaFontWin.cpp: Close the path representing each font glyph polygon, rather than only closing the path once per letter. This fixes stroking for letters with multiple polygons, such as 'A' or 'D'. (WebCore::getPathForGlyph): (WebCore::skiaDrawText):
09:06 Changeset [41833] by hausmann@webkit.org
  • 3 edits in trunk/WebKit/qt

Oops, bail out last patch, that was incorrect.

08:59 Changeset [41832] by hausmann@webkit.org
  • 3 edits in trunk/WebKit/qt

2009-03-19 Laurent Montel <montel@kde.org>

Reviewed by Simon Hausmann.

Another fix for pedantic compilation in QtWebKit

(patch from qt-copy)

08:16 Changeset [41831] by hausmann@webkit.org
  • 3 edits in trunk/WebKit/qt

2009-03-19 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon Hausmann.

Fixes pedantic compilation in QtWebKit.

There are no semi-colons after namespace declarations.

08:16 Changeset [41830] by hausmann@webkit.org
  • 2 edits in trunk/WebKit/qt

2009-03-19 David Boddie <dboddie@trolltech.com>

Reviewed by Simon Hausmann.

Doc: Removed obsolete warning about Flash and other plugins.

08:16 Changeset [41829] by hausmann@webkit.org
  • 2 edits in trunk/WebKit/qt

2009-03-19 Paul Olav Tvete <paul.tvete@nokia.com>

Reviewed by Simon Hausmann.

Properly escape tooltip text

ManualTest: http://xkcd.com/554/

08:08 Changeset [41828] by hausmann@webkit.org
  • 6 edits in trunk/WebCore

2009-03-19 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Tor Arne Vestbø.

Fixed support for doing calls from JavaScript into NPAPI Plugins for the Qt port on Windows.

Removed dead code for distinguishing between Widget and PluginView in the Qt port.

01:06 Changeset [41827] by mrowe@apple.com
  • 3 edits in trunk/WebKitTools

Work around <rdar://problem/6698023> by activating fonts from disk.

Reviewed by Oliver Hunt.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Copy fonts into DumpRenderTree.resources

in the built products directory.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(activateFonts): Activate the fonts from disk.

00:55 Changeset [41826] by cwzwarich@webkit.org
  • 4 edits
    3 adds in trunk

2009-03-19 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver Hunt.

Bug 24596: ASSERT in JSC::PropertySlot::slotBase @ iGoogle homepage
<https://bugs.webkit.org/show_bug.cgi?id=24596>
<rdar://problem/6686493>

JSDOMWindow::customGetOwnPropertySlot() does an access check after calling
JSGlobalObject::getOwnPropertySlot(). This causes the PropertySlot to be
set twice, once to the value that is illegal to access, and then to undefined
This causes an assertion failure in property access caching code.

The fix is to do the access check before calling JSGlobalObject::getOwnPropertySlot().

WebCore:

  • bindings/js/JSDOMWindowCustom.h: (WebCore::JSDOMWindow::customGetOwnPropertySlot):

LayoutTests:

  • http/tests/security/cross-frame-access-get-custom-property-cached-expected.txt: Added.
  • http/tests/security/cross-frame-access-get-custom-property-cached.html: Added.
  • http/tests/security/resources/cross-frame-access-get-custom-property-cached-iframe.html: Added.
  • http/tests/security/resources/cross-frame-access.js: (shouldBeUndefined):
00:32 Changeset [41825] by ap@webkit.org
  • 7 edits
    3 adds in trunk

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=24676
Simple cross-origin requests shouldn't dispatch upload progress events

Test: http/tests/xmlhttprequest/simple-cross-origin-progress-events.html

  • loader/CrossOriginAccessControl.cpp: (WebCore::passesAccessControlCheck): Added a comment explaining the somewhat unexpected behavior of this function.
  • xml/XMLHttpRequestUpload.cpp: (WebCore::XMLHttpRequestUpload::hasListeners):
  • xml/XMLHttpRequestUpload.h: Report whether there are any event listeners registered.
  • xml/XMLHttpRequest.h: Added m_uploadEventsAllowed.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::createRequest): Set m_uploadEventsAllowed flag. (WebCore::XMLHttpRequest::makeSameOriginRequest): Ditto. (WebCore::XMLHttpRequest::makeCrossOriginAccessRequest): Ditto. (WebCore::XMLHttpRequest::makeSimpleCrossOriginAccessRequest): Set request body - it can be non-empty for POST requests. (WebCore::XMLHttpRequest::makeCrossOriginAccessRequestWithPreflight): Set m_uploadEventsAllowed flag. (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult): Ditto. (WebCore::XMLHttpRequest::abort): Only dispatch upload progress events if allowed. (WebCore::XMLHttpRequest::networkError): Ditto. (WebCore::XMLHttpRequest::abortError): Ditto. (WebCore::XMLHttpRequest::didSendData): Ditto.
Note: See TracTimeline for information about the timeline view.