Timeline


and

04/25/09:

21:35 Changeset [42874] by kov@webkit.org

2009-04-25 Gustavo Noronha Silva <gns@gnome.org>

Go back to disabling accessibility tests as a whole, since we have
no real way of checking them, and no accessibilityController
implementation.

  • platform/gtk/Skipped:
21:25 Changeset [42873] by kov@webkit.org

2009-04-25 Gustavo Noronha Silva <gns@gnome.org>

Disable tests that need eventSender, not yet implemented in our
DumpRenderTree.

  • platform/gtk/Skipped:
21:11 Changeset [42872] by simon.fraser@apple.com

2009-04-24 Simon Fraser <simon.fraser@apple.com>

Reviewed by Darin Adler

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

Fix point mapping and hit testing through transforms and perspective
with ENABLE_3D_RENDERING. Previously the code did the more efficient
move(), rather than getTransformFromContainer(), when the object had
no transform. However, this skipped the application of perspective
when the immediate child of the perspective element had no transform
itself.

Test: transforms/3d/point-mapping/3d-point-mapping-3.html

  • rendering/RenderBox.cpp: (WebCore::RenderBox::mapLocalToContainer): (WebCore::RenderBox::mapAbsoluteToLocalPoint):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::createLocalTransformState): Call shouldUseTransformFromContainer() to determine if we need to go through the more expensive getTransformFromContainer() code path.
  • rendering/RenderObject.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::shouldUseTransformFromContainer): New method that indicates whether we need use getTransformFromContainer() when mapping points through renderers, and hit testing.
16:30 Changeset [42871] by beidson@apple.com

2009-04-25 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

Some *obvious* style cleanup in my last patch.

  • History/WebBackForwardList.mm: (bumperCarBackForwardHackNeeded):
16:24 Changeset [42870] by beidson@apple.com

2009-04-25 Brady Eidson <beidson@apple.com>

Reviewed by Oliver Hunt

<rdar://problem/6817607> BumperCar 2.2 crashes going back (invalid WebHistoryItem)

BumperCar was holding a pointer to a WebHistoryItem they never retain, then later
tried to go to it. In some cases it would be dealloc'ed first.
When WebHistoryItems were pure Objective-C they probably got away with this more often.
With the WebCore/Obj-C mixed WebHistoryItems it's more likely to crash.

  • History/WebBackForwardList.mm: (bumperCarBackForwardHackNeeded): (-[WebBackForwardList backListWithLimit:]): If this is BumperCar, hang on to the NSArray of WebHistoryItems until the next time this method is called. (-[WebBackForwardList forwardListWithLimit:]): Ditto.
  • Misc/WebKitVersionChecks.h: Added WEBKIT_FIRST_VERSION_WITHOUT_BUMPERCAR_BACK_FORWARD_QUIRK.
12:00 Changeset [42869] by adele@apple.com

WebCore:

2009-04-25 Adele Peterson <adele@apple.com>

Reviewed by Oliver Hunt.

Fix for <rdar://problem/6712771> REGRESSION(34681): Text is no longer underlined after delete
https://bugs.webkit.org/show_bug.cgi?id=25396

Test: editing/deleting/delete-br-013.html

  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::moveParagraphs): Only preserve an empty paragraph's style when moving paragraphs around if the selection is still in an empty paragraph after the move occurs. This was causing the empty paragraph's style to overwrite the previous paragraph's style during a delete of an empty paragraph.

LayoutTests:

2009-04-25 Adele Peterson <adele@apple.com>

Reviewed by Oliver Hunt.

Test for <rdar://problem/6712771> REGRESSION(34681): Text is no longer underlined after delete
https://bugs.webkit.org/show_bug.cgi?id=25396

  • editing/deleting/delete-br-013.html: Added.
  • platform/mac/editing/deleting/delete-br-013-expected.checksum: Added.
  • platform/mac/editing/deleting/delete-br-013-expected.png: Added.
  • platform/mac/editing/deleting/delete-br-013-expected.txt: Added.
10:48 Changeset [42868] by eric.carlson@apple.com

2009-04-25 Eric Carlson <eric.carlson@apple.com>

Reviewed by Darin Adler.

<rdar://problem/6808171> REGRESSION (3-4): Standalone media documents don't
properly display non-linear media

If a media engine claims it can support the MIME type, WebCore now creates a <video>
element for document mode media files instead of an <embed> element. Because WebCore's
QuickTime backed media players do not support every kind of media the QuickTime plug-in
supports, and because it is not always possible to tell what type of media is in a file
without opening and parsing it, some types of media that used to be displayed properly
by a plug-in are no longer supported properly. To fix this, if the media engine
sees that it can not completely support a media file it now informs the media
document, which replaces the <video> element with an <embed>.


r42301 landed support for OSX. This patch modifies those changes slighly and adds support
for Windows.

  • loader/MediaDocument.cpp: (WebCore::MediaDocument::MediaDocument): Initialize m_replaceMediaElementTimer. (WebCore::MediaDocument::mediaElementSawUnsupportedTracks): Don't replace the <video> element immediately. (WebCore::MediaDocument::replaceMediaElementTimerFired): Renamed from replaceVideoWithEmbed. Set body margin-width and margin-height to 0 as that is what a PluginDocument uses.
  • loader/MediaDocument.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::loadStateChanged): Don't do anything if m_hasUnsupportedTracks. (WebCore::MediaPlayerPrivate::rateChanged): Ditto. (WebCore::MediaPlayerPrivate::timeChanged): Ditto. (WebCore::MediaPlayerPrivate::didEnd): Ditto. (WebCore::MediaPlayerPrivate::repaint): Ditto. (WebCore::MediaPlayerPrivate::paint): Ditto. (WebCore::MediaPlayerPrivate::sawUnsupportedTracks): Set m_hasUnsupportedTracks before callback.
  • platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_totalTrackCount and m_hasUnsupportedTracks. (WebCore::MediaPlayerPrivate::updateStates): Call sawUnsupportedTracks if the movie has unsupported media type(s) or if it fails completely. (WebCore::MediaPlayerPrivate::sawUnsupportedTracks): New, disable the movie object and tell the media player client we won't play this movie correctly. (WebCore::MediaPlayerPrivate::didEnd): Don't do anything if m_hasUnsupportedTracks. (WebCore::MediaPlayerPrivate::setSize): Ditto. (WebCore::MediaPlayerPrivate::setVisible): Ditto. (WebCore::MediaPlayerPrivate::paint): Ditto. (WebCore::MediaPlayerPrivate::movieEnded): Ditto. (WebCore::MediaPlayerPrivate::movieLoadStateChanged): Ditto. (WebCore::MediaPlayerPrivate::movieTimeChanged): Ditto. (WebCore::MediaPlayerPrivate::movieNewImageAvailable): Ditto.
  • platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
  • platform/graphics/win/QTMovieWin.cpp: (QTMovieWinPrivate::task): Stop the task timer if we were disabled during the load state change callback. (QTMovieWinPrivate::drawingComplete): Don't do anything if disabled. (QTMovieWin::QTMovieWin): Initialize m_disabled. (QTMovieWin::disableUnsupportedTracks): Return total number of tracks. (QTMovieWin::setDisabled): New, set m_disabled flag.
  • platform/graphics/win/QTMovieWin.h:
07:02 Changeset [42867] by kov@webkit.org

2009-04-25 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Xan Lopez.

https://bugs.webkit.org/show_bug.cgi?id=24786
WebKitDownload sometimes suggests peculiar filenames

Refactor the emission of the download-requested signal so that we
have less code duplication.

  • WebCoreSupport/ContextMenuClientGtk.cpp: (WebKit::ContextMenuClient::downloadURL):
  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::startDownload):
  • webkit/webkitprivate.h:
  • webkit/webkitwebview.cpp:
02:19 Changeset [42866] by jmalonzo@webkit.org

2009-04-25 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Xan Lopez.

[GTK] Error reporting
https://bugs.webkit.org/show_bug.cgi?id=18344

Fix the SOUP resource handle to report SOUP_HTTP_ERROR for Soup
errors and G_IO_ERROR for gio errors.

  • platform/network/soup/ResourceHandleSoup.cpp: (WebCore::finishedCallback): (WebCore::ResourceHandle::startHttp): (WebCore::ResourceHandle::start): (WebCore::readCallback): (WebCore::openCallback): (WebCore::queryInfoCallback): (WebCore::ResourceHandle::startGio):

2009-04-25 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Xan Lopez.

[GTK] Error reporting
https://bugs.webkit.org/show_bug.cgi?id=18344

Update FrameLoad errors to use WebKitErrors.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::cancelledError): (WebKit::FrameLoaderClient::blockedError): (WebKit::FrameLoaderClient::cannotShowURLError): (WebKit::FrameLoaderClient::interruptForPolicyChangeError): (WebKit::FrameLoaderClient::cannotShowMIMETypeError): (WebKit::FrameLoaderClient::fileDoesNotExistError): (WebKit::FrameLoaderClient::pluginWillHandleLoadError): (WebKit::FrameLoaderClient::shouldFallBack):
  • webkit/webkiterror.h: Added.
  • webkit/webkiterror.cpp: Added.

2009-04-25 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Xan Lopez.

[GTK] Error reporting
https://bugs.webkit.org/show_bug.cgi?id=18344

Add webkiterror to the build.

  • GNUmakefile.am:
02:19 Changeset [42865] by jmalonzo@webkit.org

2009-04-25 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Xan Lopez.

[GTK] Error reporting
https://bugs.webkit.org/show_bug.cgi?id=18344

Add the default error page for installation.

  • GNUmakefile.am:

2009-04-25 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Xan Lopez.

Display a default error page for load errors.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::dispatchDidFailLoad):
  • resources/error.html: Added.
02:19 Changeset [42864] by jmalonzo@webkit.org

2009-04-25 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Xan Lopez.

[GTK] Error reporting
https://bugs.webkit.org/show_bug.cgi?id=18344

Add a WebKitWebFrame API to load alternate content for unreachable URLs.
Also add a new signal "load-error" for handling load errors.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::postProgressFinishedNotification): (WebKit::FrameLoaderClient::dispatchDidFailLoading): (WebKit::FrameLoaderClient::dispatchDidFailProvisionalLoad): (WebKit::FrameLoaderClient::dispatchDidFailLoad):
  • webkit/webkitwebframe.cpp:
  • webkit/webkitwebframe.h:
  • webkit/webkitwebview.cpp:
02:04 Changeset [42863] by oliver@apple.com

Build fix.

01:44 Changeset [42862] by jmalonzo@webkit.org

2009-04-25 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Oliver Hunt.

Gtk build fix - check if we have MADV_FREE before using it.

  • interpreter/RegisterFile.cpp: (JSC::RegisterFile::releaseExcessCapacity):
  • wtf/Platform.h:

04/24/09:

21:03 Changeset [42861] by kov@webkit.org

2009-04-25 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Mark Rowe.

Only set the new URL once for the request. Doing it a second time
after the call to willSendRequest was causing crashes when
redirected requests got cancelled.

  • platform/network/soup/ResourceHandleSoup.cpp: (WebCore::restartedCallback):
20:44 Changeset [42860] by kevino@webkit.org

wx build fix. Switching JSCore from a static lib to a dynamic lib to match the Apple build and fix symbol exports.

20:19 Changeset [42859] by kevino@webkit.org

wx build fix. Adding ScriptEventListener.cpp.

17:27 Changeset [42858] by jmalonzo@webkit.org

2009-04-24 Laszlo Gombos <laszlo.1.gombos@nokia.com>

Rubber-stamped by Mark Rowe.

https://bugs.webkit.org/show_bug.cgi?id=25337
Move ThreadingQt.cpp under the qt directory.

17:18 Changeset [42857] by jmalonzo@webkit.org

2009-04-24 Laszlo Gombos <laszlo.1.gombos@nokia.com>

Rubber-stamped by Mark Rowe.

https://bugs.webkit.org/show_bug.cgi?id=25338
Move ThreadingGtk.cpp under the gtk directory.

  • GNUmakefile.am:
  • wtf/ThreadingGtk.cpp: Removed.
  • wtf/gtk/ThreadingGtk.cpp: Copied from JavaScriptCore/wtf/ThreadingGtk.cpp.
17:05 Changeset [42856] by jmalonzo@webkit.org

2009-04-24 Jan Michael Alonzo <jmalonzo@webkit.org>

Rubber-stamped by Gustavo Noronha.

Fix braces to comply with style guidelines.

  • WebCoreSupport/PasteboardHelperGtk.cpp: (WebKit::PasteboardHelperGtk::getClipboard): (WebKit::PasteboardHelperGtk::getCopyTargetList): (WebKit::PasteboardHelperGtk::getPasteTargetList):
17:05 Changeset [42855] by jmalonzo@webkit.org

2009-04-24 Sergio García-Cuevas <sergio_gcg@telefonica.net>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=17267
[GTK] Primary selection/clipboard support

Copy the link location to the primary selection as well as the
clipboard selection when using the "copy link selection" context
menu entry.

  • platform/gtk/PasteboardGtk.cpp: (WebCore::Pasteboard::writeURL):
  • platform/gtk/PasteboardHelper.h:

2009-04-24 Sergio García-Cuevas <sergio_gcg@telefonica.net>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=17267
[GTK] Primary selection/clipboard support

Add a method for getting the primary selection.

  • WebCoreSupport/PasteboardHelperGtk.cpp: (WebKit::PasteboardHelperGtk::getPrimary):
  • WebCoreSupport/PasteboardHelperGtk.h:
16:54 Changeset [42854] by eric@webkit.org

Reviewed by Simon Fraser.

https://bugs.webkit.org/show_bug.cgi?id=25383
Changing SVG size via JS does not update CSS width/height

Add an ugly hack to fix CSS width/height updates from JS.

We can't easily call setAttribute when width/height changes
as that would cause infinite recursion (as we'd try to set
the animation storage from the attributes)

For now, when we get notification that JS changed width/height
we copy what parseMappedAttribute does and update the CSS values as well.

A better fix for this would be:
https://bugs.webkit.org/show_bug.cgi?id=25383

  • svg/SVGSVGElement.cpp: (WebCore::updateCSSForAttribute): (WebCore::SVGSVGElement::svgAttributeChanged):
16:51 Changeset [42853] by barraclough@apple.com

2009-04-24 Gavin Barraclough <barraclough@apple.com>

Reviewed by Sam "Wesley" Weinig.

Improve performance to YARR interpreter.
(From about 3x slower than PCRE on regex-dna to about 30% slower).

  • yarr/RegexCompiler.cpp: (JSC::Yarr::RegexPatternConstructor::setupAlternativeOffsets):
  • yarr/RegexInterpreter.cpp: (JSC::Yarr::Interpreter::checkCharacter): (JSC::Yarr::Interpreter::checkCasedCharacter): (JSC::Yarr::Interpreter::backtrackPatternCharacter): (JSC::Yarr::Interpreter::backtrackPatternCasedCharacter): (JSC::Yarr::Interpreter::matchParentheticalAssertionBegin): (JSC::Yarr::Interpreter::matchParentheticalAssertionEnd): (JSC::Yarr::Interpreter::backtrackParentheticalAssertionBegin): (JSC::Yarr::Interpreter::backtrackParentheticalAssertionEnd): (JSC::Yarr::Interpreter::matchDisjunction): (JSC::Yarr::Interpreter::interpret): (JSC::Yarr::ByteCompiler::atomPatternCharacter): (JSC::Yarr::ByteCompiler::atomParenthesesSubpatternBegin): (JSC::Yarr::ByteCompiler::atomParentheticalAssertionBegin): (JSC::Yarr::ByteCompiler::closeAlternative): (JSC::Yarr::ByteCompiler::closeBodyAlternative): (JSC::Yarr::ByteCompiler::atomParenthesesEnd): (JSC::Yarr::ByteCompiler::regexBegin): (JSC::Yarr::ByteCompiler::regexEnd): (JSC::Yarr::ByteCompiler::alterantiveBodyDisjunction): (JSC::Yarr::ByteCompiler::alterantiveDisjunction): (JSC::Yarr::ByteCompiler::emitDisjunction):
  • yarr/RegexInterpreter.h: (JSC::Yarr::ByteTerm::): (JSC::Yarr::ByteTerm::ByteTerm): (JSC::Yarr::ByteTerm::BodyAlternativeBegin): (JSC::Yarr::ByteTerm::BodyAlternativeDisjunction): (JSC::Yarr::ByteTerm::BodyAlternativeEnd): (JSC::Yarr::ByteTerm::AlternativeBegin): (JSC::Yarr::ByteTerm::AlternativeDisjunction): (JSC::Yarr::ByteTerm::AlternativeEnd): (JSC::Yarr::ByteTerm::SubpatternBegin): (JSC::Yarr::ByteTerm::SubpatternEnd):
  • yarr/RegexJIT.cpp: (JSC::Yarr::RegexGenerator::generateParentheticalAssertion):
  • yarr/RegexPattern.h:
16:41 Changeset [42852] by kmccullough@apple.com

2009-04-24 Kevin McCullough <kmccullough@apple.com>

Reviewed by Dan Bernstein.

We should not show the deletion UI for blockquotes in mail but they do
show now that we only check for one visible border.

  • editing/DeleteButtonController.cpp: (WebCore::isDeletableElement):
16:28 Changeset [42851] by mrowe@apple.com

2009-04-24 Rob Raguet-Schofield <ragfield@gmail.com>

Rubber-stamped by Mark Rowe.

  • wtf/CurrentTime.h: Fix a typo in a comment.
16:05 Changeset [42850] by mitz@apple.com
  • address Hyatt's review comments on the last patch
  • rendering/RenderLayer.cpp: (WebCore::performOverlapTests): (WebCore::RenderLayer::paintLayer):
16:00 Changeset [42849] by mitz@apple.com

Reviewed by Dave Hyatt.

  • WebCore.xcodeproj/project.pbxproj: Added OverlapTestRequestClient.h.
  • page/FrameView.cpp: (WebCore::FrameView::reset): Initialize m_isOverlapped. (WebCore::FrameView::useSlowRepaints): Also check m_isOverlapped. (WebCore::FrameView::removeSlowRepaintObject): Use useSlowRepaints() so overlapping is taken into account. (WebCore::FrameView::setIsOverlapped): Added. Sets m_isOverlapped and enables or disables copy-on-scroll accordingly.
  • page/FrameView.h: Added setIsOverlapped() and m_isOverlapped.
  • rendering/OverlapTestRequestClient.h: Added. During foreground painting, an OverlapTestRequestClient can make a request to test if any subsequently- painted layers overlap a rect. The test result is delivered to the requestClient via setOverlapTestResult(). (WebCore::OverlapTestRequestClient::~OverlapTestRequestClient):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::paint): Pass an OverlapTestRequestMap to paintLayer(). When done painting, inform any remaining requestClients that they are not overlapped.

(WebCore::RenderLayer::paintLayer): Take an OverlapTestRequestMap and
pass it down to child and reflection layers. Inform requestClients if this
layer overlaps their requested rects.

  • rendering/RenderLayer.h:
  • rendering/RenderObject.h: (WebCore::RenderObject::PaintInfo::PaintInfo): Added an OverlapTestRequestMap member.
  • rendering/RenderReplica.cpp: (WebCore::RenderReplica::paint): For now, pass a 0 OverlapTestRequestMap to paintLayer().
  • rendering/RenderWidget.cpp: (WebCore::RenderWidget::paint): For FrameViews, request an overlap test with the frame. (WebCore::RenderWidget::setOverlapTestResult): Call FrameView::setIsOverlapped() with the result of the overlap test.
  • rendering/RenderWidget.h: Made RenderWidget an OverlapTestRequestClient.
15:52 Changeset [42848] by simon.fraser@apple.com

2009-04-24 Pierre d'Herbemont <pdherbemont@apple.com>

Reviewed by Simon Fraser

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

Fixed a race condition on the first 'played' attribute test start.

Previously we were starting nearly right away to play, and probably
before receiving the 'canplay' event. Now we ensure we'll wait for
that 'canplay' event before attempting to play.

  • media/video-played-expected.txt: Updated
  • media/video-played.html:
15:45 Changeset [42847] by ggaren@apple.com

2009-04-24 Geoffrey Garen <ggaren@apple.com>

Rubber stamped by Eric Seidel.


Updated test to turn the buildbot green after Eric's last check-in.

  • platform/mac/svg/W3C-SVG-1.1/animate-elem-36-t-expected.txt:
15:30 Changeset [42846] by hyatt@apple.com

2009-04-24 David Hyatt <hyatt@apple.com>

Reviewed by Simon Fraser, Dan Bernstein.

Speed up the PLT by devirtualizing the height() function on InlineBox. virtualizing it in order to make the height() computation dynamic caused
a ~0.5% slowdown. This patch does the following to get the speed back:


(a) Devirtualizes isText and forces inline box creators to set the bit as needed. This actually resulted in simplified code, since ListMarkerBox could
then be removed.
(b) Reduces the height() call count. In some cases the code was repeatedly calling height(), which used to be fine when the function was just an inline
member variable access. The call sites have been patched to cut down on extra height() calls now that it is more expensive.
(c) Devirtualize height() except on SVG boxes. For all non-SVG, the height() function on InlineBox handles the computation. For SVG boxes, a new bit has
been set on InlineBoxes (isSVG()) that indicates that the virtual svgBoxHeight() function should be called to retrieve the height instead.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • rendering/InlineBox.cpp: (WebCore::InlineBox::height):
  • rendering/InlineBox.h: (WebCore::InlineBox::InlineBox): (WebCore::InlineBox::isSVG): (WebCore::InlineBox::setIsSVG): (WebCore::InlineBox::isText): (WebCore::InlineBox::setIsText): (WebCore::InlineBox::svgBoxHeight):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::placeBoxesVertically): (WebCore::InlineFlowBox::paintBoxDecorations): (WebCore::InlineFlowBox::paintMask):
  • rendering/InlineFlowBox.h:
  • rendering/InlineTextBox.cpp:
  • rendering/InlineTextBox.h:
  • rendering/ListMarkerBox.cpp: Removed.
  • rendering/ListMarkerBox.h: Removed.
  • rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::createInlineBox):
  • rendering/RenderSVGInline.cpp: (WebCore::RenderSVGInline::createFlowBox):
  • rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::createTextBox):
  • rendering/RenderSVGText.cpp: (WebCore::RenderSVGText::createRootBox):
  • rendering/RenderText.cpp: (WebCore::RenderText::createInlineTextBox):
  • rendering/RootInlineBox.cpp:
  • rendering/RootInlineBox.h:
  • rendering/SVGInlineFlowBox.h: (WebCore::SVGInlineFlowBox::svgBoxHeight):
  • rendering/SVGInlineTextBox.h: (WebCore::SVGInlineTextBox::svgBoxHeight):
  • rendering/SVGRootInlineBox.h: (WebCore::SVGRootInlineBox::svgBoxHeight):
15:25 Changeset [42845] by eric@webkit.org

Reviewed by Adam Roben.

Add PrettyPatch support to run-webkit-tests

  • Scripts/run-webkit-tests:
15:09 Changeset [42844] by oliver@apple.com

Build fix

15:00 Changeset [42843] by dglazkov@chromium.org

2009-04-24 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=25370
Introduce ScriptEventListener to refactor away direct references to
JSLazyEventListener in WebCore code.

  • GNUmakefile.am: Added ScriptEventListener to project.
  • WebCore.pro: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • bindings/js/JSDOMGlobalObject.cpp: Removed unused JSLazyEventListener include.
  • bindings/js/JSLazyEventListener.cpp: Moved createAttributeEventListener helpers

to ScriptEventListener.

  • bindings/js/JSLazyEventListener.h: Ditto.
  • bindings/js/ScriptController.cpp: Removed unused JSLazyEventListener include.
  • bindings/js/ScriptEventListener.cpp: Added.
  • bindings/js/ScriptEventListener.h: Added.
  • bindings/v8/ScriptEventListener.cpp: Added.
  • bindings/v8/ScriptEventListener.h: Added.
  • dom/Document.cpp: Renamed JSLazyEventListener include to ScriptEventListener.
  • html/HTMLBodyElement.cpp: Ditto.
  • html/HTMLButtonElement.cpp: Ditto.
  • html/HTMLElement.cpp: Ditto.
  • html/HTMLFormElement.cpp: Ditto.
  • html/HTMLFrameElementBase.cpp: Ditto.
  • html/HTMLFrameSetElement.cpp: Ditto.
  • html/HTMLImageElement.cpp: Ditto.
  • html/HTMLInputElement.cpp: Ditto.
  • html/HTMLObjectElement.cpp: Ditto.
  • html/HTMLScriptElement.cpp: Ditto.
  • html/HTMLSelectElement.cpp: Ditto.
  • html/HTMLTextAreaElement.cpp: Ditto.
  • svg/SVGElement.cpp: Ditto.
  • svg/SVGSVGElement.cpp: Ditto.
14:53 Changeset [42842] by oliver@apple.com

<rdar://problem/6050421> JavaScript register file should remap to release physical pages accumulated during deep recursion

Reviewed by Geoff Garen

We now track the maximum extent of the RegisterFile, and when we reach the final
return from JS (so the stack portion of the registerfile becomes empty) we see
if that extent is greater than maxExcessCapacity. If it is we use madvise or
VirtualFree to release the physical pages that were backing the excess.

14:52 Changeset [42841] by darin@apple.com

2009-04-24 Darin Adler <darin@apple.com>

Reviewed by Sam Weinig.

Bug 25355: Crash when Creating New Tab or New Window when set to open Same Page
https://bugs.webkit.org/show_bug.cgi?id=25355
rdar://problem/6823543

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::loadItem): Added a null check.
14:34 Changeset [42840] by eric@webkit.org

Reviewed by Simon Fraser.

Fix RenderSVGImage to dump with full bounds and style information.
https://bugs.webkit.org/show_bug.cgi?id=25377

No functional changes, we're just now including more info in render tree dumps.

  • rendering/RenderObject.h: (WebCore::RenderObject::isSVGImage):
  • rendering/RenderSVGImage.h: (WebCore::RenderSVGImage::isSVGImage):
  • rendering/RenderTreeAsText.cpp: (WebCore::write):
  • rendering/SVGRenderTreeAsText.cpp: (WebCore::operator<<): (WebCore::write):
  • rendering/SVGRenderTreeAsText.h:
14:30 Changeset [42839] by andersca@apple.com

2009-04-24 Anders Carlsson <andersca@apple.com>

Reviewed by Darin Adler.

Fix <rdar://problem/6761635>.


Make sure to keep an extra reference to the instance proxy in case the plug-in host crashes while
we're waiting for a reply.


  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::destroy):
14:18 Changeset [42838] by levin@chromium.org

2009-04-24 David Levin <levin@chromium.org>

Reviewed by NOBODY (chromium build fix).

Rename "isInline" => "isAttribute" in v8 bindings (jsc was done in r42699).

  • bindings/v8/V8AbstractEventListener.cpp: (WebCore::V8AbstractEventListener::V8AbstractEventListener): (WebCore::V8AbstractEventListener::invokeEventHandler):
  • bindings/v8/V8AbstractEventListener.h:
  • bindings/v8/V8EventListenerList.cpp: (WebCore::V8EventListenerList::add): (WebCore::V8EventListenerList::remove): (WebCore::V8EventListenerList::clear):
  • bindings/v8/V8LazyEventListener.h: (WebCore::V8LazyEventListener::virtualisAttribute):
  • bindings/v8/custom/V8CustomEventListener.cpp: (WebCore::V8EventListener::V8EventListener):
  • bindings/v8/custom/V8CustomEventListener.h: (WebCore::V8EventListener::create): (WebCore::V8EventListener::virtualisAttribute):
14:16 Changeset [42837] by xan@webkit.org

2009-04-24 Johan Bilien <jobi@via.ecp.fr>

Reviewed by Xan Lopez.

https://bugs.webkit.org/show_bug.cgi?id=25373
Popup menu has the wrong size when popped up near the edge
of the screen

  • webkit/webkitwebview.cpp: (webkit_web_view_forward_context_menu_event): Let GTK place the popup menu instead of trying to do better and failing
13:48 Changeset [42836] by simon.fraser@apple.com

2009-04-24 Pierre d'Herbemont <pdherbemont@apple.com>

Reviewed by Simon Fraser

<rdar://problem/6805928> Re-export layout test MPEG-4 file to remove unusual edit

Use better mp4 test file for media tests. The original mp4 file had an unusual
edit (non-zero start time) which is not supported by all media engines. The new
movie should also give more useful pixel test results.

  • media/content/test.mp4: Update the movie.
  • media/progress-event-total-expected.txt: Update test results to match movie duration and content changes.
  • media/progress-event-total.html: Ditto.
  • media/video-currentTime-set-expected.txt: Ditto.
  • media/video-loop-expected.txt: Ditto.
  • platform/mac/media/video-aspect-ratio-expected.checksum: Ditto.
  • platform/mac/media/video-aspect-ratio-expected.png: Ditto.
  • platform/mac/media/video-controls-rendering-expected.checksum: Ditto.
  • platform/mac/media/video-controls-rendering-expected.png: Ditto.
  • platform/mac/media/video-display-toggle-expected.checksum: Ditto.
  • platform/mac/media/video-display-toggle-expected.png: Ditto.
  • platform/mac/media/video-empty-source-expected.checksum: Ditto.
  • platform/mac/media/video-layer-crash-expected.checksum: Ditto.
  • platform/mac/media/video-layer-crash-expected.png: Ditto.
  • platform/mac/media/video-transformed-expected.checksum: Ditto.
  • platform/mac/media/video-transformed-expected.png: Ditto.
  • platform/mac/media/video-zoom-expected.checksum: Ditto.
  • platform/mac/media/video-zoom-expected.png: Ditto.
13:08 Changeset [42835] by sfalken@apple.com

Fix nightly for Windows x64 users.
Installed browser location is written to a slightly different registry key in that case.


  • FindSafari/FindSafari.cpp: (getInstalledWebKitDirectory):
12:13 Changeset [42834] by kmccullough@apple.com

2009-04-24 Kevin McCullough <kmccullough@apple.com>

When I moved the files I forgot to update the location of the image!

  • platform/mac/editing/deleting/deletionUI-differing-background-expected.txt: Added.
  • platform/mac/editing/deleting/deletionUI-differing-background.html: Added.
11:43 Changeset [42833] by dglazkov@chromium.org

2009-04-24 Nate Chapin <japhet@google.com>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=25343
Fix Chromium/Skia bug where -webkit-box-shadow with 0,0 offset
ignores blur.

  • WebCore\platform\graphics\skia\GraphicsContextSkia.cpp (WebCore::GraphicsContext::setPlatformShadow): Add check against blur before clearing looper.
11:41 Changeset [42832] by kmccullough@apple.com

2009-04-24 Kevin McCullough <kmccullough@apple.com>

  • Build fix. Removed this test until I can figure out why it's failing.
  • platform/mac-leopard/editing/deleting/deletionUI-differing-background-expected.txt: Removed.
  • platform/mac/editing/deleting/deletionUI-differing-background-expected.txt: Removed.
  • platform/mac/editing/deleting/deletionUI-differing-background.html: Removed.
11:40 Changeset [42831] by dglazkov@chromium.org

WebCore:

2009-04-24 Eric Roman <eroman@chromium.org>

Reviewed by Darin Adler.

Initialize TextIterator::m_textLength to 0.

This assures that TextIterator::length() will return 0 for cases when TextIterator's constructor returns early (because there is nothing to iterate over in the range).

<https://bugs.webkit.org/show_bug.cgi?id=25335>

Test: editing/selection/doubleclick-whitespace-img-crash.html

  • editing/TextIterator.cpp: (WebCore::TextIterator::TextIterator):

LayoutTests:

2009-04-24 Eric Roman <eroman@chromium.org>

Reviewed by Darin Adler.

Add a test for <https://bugs.webkit.org/show_bug.cgi?id=25335>.

To pass, this test must not access invalid memory when run (won't necessarily manifest as a crash for failures).

  • editing/selection/doubleclick-whitespace-img-crash-expected.txt: Added.
  • editing/selection/doubleclick-whitespace-img-crash.html: Added.
11:38 Changeset [42830] by simon.fraser@apple.com

2009-04-24 Simon Fraser <simon.fraser@apple.com>

Source changes reviewed by Darin Adler

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

Update WebKitSystemInterface for Mac with fixes for video controller drawing.

  • libWebKitSystemInterfaceLeopard.a:
  • libWebKitSystemInterfaceTiger.a:
11:36 Changeset [42829] by dglazkov@chromium.org

2009-04-24 Fumitoshi Ukai <ukai@google.com>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=25329
Add indexed access method in v8 binding of ClientRectList.

  • bindings/v8/custom/V8ClientRectListCustom.cpp: Added.
11:32 Changeset [42828] by dglazkov@chromium.org

WebCore:

2009-04-24 Fumitoshi Ukai <ukai@google.com>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=25257
Use null for unspecified event listener attributes of XMLHttpRequest
and XMLHttpRequestUpload in v8 binding.

cf. http://www.whatwg.org/specs/web-apps/current-work/#event-handler-attributes
An event handler attribute, unless otherwise specified, can either
have the value null or be set to a Function object.
Initially, an event handler attribute must be set to null.

Test: fast/xmlhttprequest/xmlhttprequest-default-attributes.html

  • bindings/v8/custom/V8XMLHttpRequestCustom.cpp: (WebCore::ACCESSOR_GETTER): Changed to use v8::Null().
  • bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: (WebCore::ACCESSOR_GETTER): Ditto.

LayoutTests:

2009-04-24 Fumitoshi Ukai <ukai@google.com>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=25257
Verify XMLHttpRequest has correct attribute value by default.

  • fast/xmlhttprequest/resources/xmlhttprequest-default-attributes.js: Added.
  • fast/xmlhttprequest/xmlhttprequest-default-attributes-expected.txt: Added.
  • fast/xmlhttprequest/xmlhttprequest-default-attributes.html: Added.
11:02 Changeset [42827] by christian@webkit.org

2009-04-24 Christian Dywan <christian@twotoasts.de>

Rubber-stamped by Gustavo Noronha.

  • webkit/webkitwebsettings.cpp: (_WebKitWebSettingsPrivate::webkit_web_settings_class_init): Reword the description of the enable-spell-checking property and correct the mentioning of the default language used.
10:42 Changeset [42826] by kmccullough@apple.com

2009-04-24 Kevin McCullough <kmccullough@apple.com>

Speculative fix for leopard build-bot until I have a fix on leopard.

  • platform/mac-leopard/editing: Added.
  • platform/mac-leopard/editing/deleting: Added.
  • platform/mac-leopard/editing/deleting/deletionUI-differing-background-expected.txt: Added.
09:38 Changeset [42825] by darin@apple.com

2009-04-24 Darin Adler <darin@apple.com>

Reviewed by Adam Roben.

<rdar://problem/6663836> CrashTracer: crashes in Safari at com.apple.WebCore • WebCore::reportException + 1513

  • bindings/js/JSDOMBinding.cpp: (WebCore::reportException): Added a null check.
09:13 Changeset [42824] by beidson@apple.com

2009-04-24 Brady Eidson <beidson@apple.com>

Reviewed by Dan Bernstein

Currently working on a bug where a WebHistoryItem was being used after being dealloc'ed.
I added this assertion to help catch the case as soon as it happens instead of random
issues downstream. Figured it's worth checking in by itself.

  • History/WebHistoryItem.mm: (core): ASSERT that the WebCore::HistoryItem inside this WebHistoryItem is supposed to have this WebHistoryItem as a wrapper.
09:10 Changeset [42823] by simon.fraser@apple.com

2009-04-24 Simon Fraser <simon.fraser@apple.com>

Reviewed by Darin Adler

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

Add support for transtions and animations of background-position, -webkit-background-size,
-webkit-mask-position and -webkit-mask-size.

Tests: transitions/background-transitions.html

transitions/mask-transitions.html

  • page/animation/AnimationBase.cpp: (WebCore::blendFunc): Add a blend func for LengthSize.

(WebCore::ensurePropertyMap):
Add wrappers for the new properties.

(WebCore::addShorthandProperties):
Add a shorthand property for CSSPropertyBackgroundPosition to map to
CSSPropertyBackgroundPositionX and CSSPropertyBackgroundPositionY,
add CSSPropertyWebkitMask for CSSPropertyWebkitMaskPosition, and add
CSSPropertyWebkitMaskPosition for CSSPropertyWebkitMaskPositionX and
CSSPropertyWebkitMaskPositionY.

  • rendering/style/RenderStyle.h: (WebCore::InheritedFlags::setBackgroundXPosition): (WebCore::InheritedFlags::setBackgroundYPosition): (WebCore::InheritedFlags::setBackgroundSize): (WebCore::InheritedFlags::setMaskXPosition): (WebCore::InheritedFlags::setMaskYPosition): (WebCore::InheritedFlags::setMaskSize): Add setters for the properties that can be animated now.
08:55 Changeset [42822] by adele@apple.com

2009-04-24 Adele Peterson <adele@apple.com>

Reviewed by Dan Bernstein.

Updating these pixel results to the generated results on Leopard.

  • platform/mac/editing/inserting/5510537-expected.checksum:
  • platform/mac/editing/inserting/5510537-expected.png:
  • platform/mac/editing/inserting/6703873-expected.checksum:
  • platform/mac/editing/inserting/6703873-expected.png:
  • platform/mac/editing/selection/select-all-iframe-expected.checksum:
  • platform/mac/editing/selection/select-all-iframe-expected.png:
08:39 Changeset [42821] by adele@apple.com

WebCore:

2009-04-24 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Fix for <rdar://problem/5089327> Newline gets stripped when pasting whole lines in certain markup

Test: editing/pasteboard/paste-blockquote-after-blockquote.html

When we have matching quote levels, its ok to merge the starts of the inserted and existing blocks more frequently.
But we should only merge here if the selection start was inside a mail blockquote. This prevents against removing a
blockquote from newly pasted quoted content that was pasted into an unquoted position. If that unquoted position happens
to be right after another blockquote, we don't want to merge and risk stripping a valid block (and newline) from the pasted content.

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::shouldMergeStart): Also added an early return to always return false when we're already moving paragraphs. (WebCore::ReplaceSelectionCommand::doApply): Removed redundant check for when we're moving paragraphs.
  • editing/ReplaceSelectionCommand.h:

LayoutTests:

2009-04-24 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Test for <rdar://problem/5089327> Newline gets stripped when pasting whole lines in certain markup

  • editing/pasteboard/paste-blockquote-after-blockquote.html: Added.
  • platform/mac/editing/pasteboard/paste-blockquote-after-blockquote-expected.checksum: Added.
  • platform/mac/editing/pasteboard/paste-blockquote-after-blockquote-expected.png: Added.
  • platform/mac/editing/pasteboard/paste-blockquote-after-blockquote-expected.txt: Added.
06:16 Changeset [42820] by kov@webkit.org

2009-04-24 Diego Escalante Urrelo <diegoe@gnome.org>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=15616
[GTK] Add spell checking

Implement EditorClient::ignoreWordInSpellDocument,
EditorClient::learnWord and EditorClient::getGuessesForWord. This
enables the corresponding user actions.

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::EditorClient::ignoreWordInSpellDocument): (WebKit::EditorClient::learnWord): (WebKit::EditorClient::getGuessesForWord):
06:16 Changeset [42819] by kov@webkit.org

2009-04-24 Diego Escalante Urrelo <diegoe@gnome.org>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=15616
[GTK] Add spell checking

Implement EditorClient::checkSpellingOfString; enabling spell checking
to actually happen, this is the basis for other spelling functions.

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::EditorClient::checkSpellingOfString):
06:16 Changeset [42818] by kov@webkit.org

2009-04-24 Diego Escalante Urrelo <diegoe@gnome.org>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=15616
[GTK] Add spell checking

Add enchant support for spell-checking-languages property to work
properly.

  • GNUmakefile.am:
  • configure.ac:

WebKit/gtk

2009-04-24 Diego Escalante Urrelo <diegoe@gnome.org>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=15616
[GTK] Add spell checking

Add spell-checking-languages property to WebKitWebSettings.

  • webkit/webkitprivate.h:
  • webkit/webkitwebsettings.cpp: (_WebKitWebSettingsPrivate::): (_WebKitWebSettingsPrivate::webkit_web_settings_class_init): (_WebKitWebSettingsPrivate::webkit_web_settings_init): (_WebKitWebSettingsPrivate::webkit_web_settings_finalize): (_WebKitWebSettingsPrivate::webkit_web_settings_set_property): (_WebKitWebSettingsPrivate::webkit_web_settings_get_property): (_WebKitWebSettingsPrivate::webkit_web_settings_copy): (_WebKitWebSettingsPrivate::webkit_web_settings_get_spell_languages):
06:16 Changeset [42817] by kov@webkit.org

2009-04-24 Diego Escalante Urrelo <diegoe@gnome.org>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=15616
[GTK] Add spell checking

Add enable-spell-checking property to WebKitWebSettings and implement
EditorClient::isContinuousSpellCheckingEnabled and
EditorClient::toggleContinuousSpellChecking to allow the UI to
enable check as you type spell checking.

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::EditorClient::isContinuousSpellCheckingEnabled): (WebKit::EditorClient::toggleContinuousSpellChecking):
  • webkit/webkitwebsettings.cpp: (_WebKitWebSettingsPrivate::): (_WebKitWebSettingsPrivate::webkit_web_settings_class_init): (_WebKitWebSettingsPrivate::webkit_web_settings_set_property): (_WebKitWebSettingsPrivate::webkit_web_settings_get_property): (_WebKitWebSettingsPrivate::webkit_web_settings_copy):
04:12 Changeset [42816] by ariya@webkit.org

2009-04-24 Ariya Hidayat <ariya.hidayat@nokia.com>

Reviewed by Simon Hausmann.

Added Qt-specific expected result for color conversion.

This is to compensate the lack of color profile in Qt to do
color conversion, hence CMYK 0,0,0,1 always give pure black (#000)
instead of very dark black.

  • platform/qt/fast/canvas/set-colors-expected.txt: Added.
04:08 Changeset [42815] by hausmann@webkit.org

2009-04-24 Simon Hausmann <simon.hausmann@nokia.com>

Rubber-stamped by Ariya Hidayat.

Fix qdoc warning about link to QAction::isEnabled.

03:30 Changeset [42814] by hausmann@webkit.org

2009-04-24 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Ariya Hidayat.

Added support for generating API docs in the Qt build using "make docs"

Added code snippets and overview from the Qt sources references in the API docs.

01:24 QtWebKitJournal edited by hausmann@webkit.org
(diff)

04/23/09:

23:38 Changeset [42813] by adele@apple.com

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

Reviewed by Dan Bernstein.

Updating test to make it easier to see the blockquote in the results.

  • editing/pasteboard/paste-blockquote-into-blockquote-3.html:
  • platform/mac/editing/pasteboard/paste-blockquote-into-blockquote-3-expected.checksum:
  • platform/mac/editing/pasteboard/paste-blockquote-into-blockquote-3-expected.png:
  • platform/mac/editing/pasteboard/paste-blockquote-into-blockquote-3-expected.txt:
23:03 Changeset [42812] by mrowe@apple.com

Move deletionUI-helpers.js in to the correct location so that the
tests that use it can find it.

  • platform/mac/editing/deleting/resources/deletionUI-helpers.js: Renamed from LayoutTests/editing/deleting/resources/deletionUI-helpers.js.
22:12 Changeset [42811] by mrowe@apple.com

With great sadness and a heavy heart I switch us back from YARR to WREC in
order to restore greenness to the world once more.

  • wtf/Platform.h:
22:04 Changeset [42810] by mrowe@apple.com

More Windows build fixage.

21:16 Changeset [42809] by mrowe@apple.com

Attempt to fix the Windows build.

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Remove a symbol that no longer exists.
20:47 Changeset [42808] by timothy@apple.com

BUG 24604: WebKit profiler reports incorrect total times

JavaScriptCore:

2009-04-23 Francisco Tolmasky <francisco@280north.com>

BUG 24604: WebKit profiler reports incorrect total times
<https://bugs.webkit.org/show_bug.cgi?id=24604>

Reviewed by Timothy Hatcher and Kevin McCullough.

  • JavaScriptCore.exp:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • profiler/CallIdentifier.h: (JSC::CallIdentifier::Hash::hash): (JSC::CallIdentifier::Hash::equal): (JSC::CallIdentifier::hash): (WTF::):
  • profiler/HeavyProfile.cpp: Removed.
  • profiler/HeavyProfile.h: Removed.
  • profiler/Profile.cpp: No more need for TreeProfile/HeavyProfile (JSC::Profile::create):
  • profiler/Profile.h:
  • profiler/ProfileNode.cpp:
  • profiler/ProfileNode.h:
  • profiler/TreeProfile.cpp: Removed.
  • profiler/TreeProfile.h: Removed.

WebCore:

2009-04-23 Francisco Tolmasky <francisco@280north.com>

BUG 24604: WebKit profiler reports incorrect total times
<https://bugs.webkit.org/show_bug.cgi?id=24604>

Reviewed by Timothy Hatcher and Kevin McCullough.

Made it so that most of the profiler functions now match the behavior of Shark. Most notably, in the
heavy view, child nodes now represent the statistics of the root node. Each root node of heavy view
displays flattened statistics for a particular function that ran during the profile, and each child
of these root nodes represents a callpath that lead to it. Thus, the statistics for each of these child
nodes should show how much of the root nodes values came from it. For example, if you had the following to
stacks take place during the profile:

A ->calls 1 times-> B ->calls 2 times-> C
D ->calls 4 times-> C

The tree for the C root node would look like this:

C -> B -> A

-> D

The number of calls values would look like this:

C (6) -> B (2) -> A(2)

-> D (4)

What this means is that "2 of the total 6 C calls came from B", "2 of the total C calls came from A", and
"4 of the total C calls came from D". Notice that the "A ->calls 2 time->" is completely ignored. This becomes
particularly tricky during recursive calls, because each child note can represent multiple possible paths. This
is the reason that we would get things like 40000% previously with recursion.

This is also the way gprof works, and as close as we can get to Shark's behavior (Shark is not instrumented so it
can't know exactly how many calls came from where, etc).

  • English.lproj/localizedStrings.js: Added "Average" for average times in the profile.
  • inspector/JavaScriptProfile.cpp: (WebCore::ProfileClass):
  • inspector/JavaScriptProfileNode.cpp: (WebCore::getParent): (WebCore::getHead): (WebCore::getCallUID): (WebCore::ProfileNodeClass):
  • inspector/front-end/BottomUpProfileDataGridTree.js: Added. (WebInspector.BottomUpProfileDataGridTree): (WebInspector.BottomUpProfileDataGridTree.prototype.focus): (WebInspector.BottomUpProfileDataGridNode): (WebInspector.BottomUpProfileDataGridNode.prototype._takePropertiesFromProfileDataGridNode): (WebInspector.BottomUpProfileDataGridNode.prototype._keepOnlyChild): (WebInspector.BottomUpProfileDataGridNode.prototype._exclude): (WebInspector.BottomUpProfileDataGridNode.prototype._merge): (WebInspector.BottomUpProfileDataGridNode.prototype._populate):
  • inspector/front-end/DataGrid.js: (WebInspector.DataGrid.prototype.insertChild): (WebInspector.DataGrid.prototype.removeChild): (WebInspector.DataGrid.prototype.removeChildren): (WebInspector.DataGridNode.prototype.set hasChildren): (WebInspector.DataGridNode.prototype.get hasChildren):
  • inspector/front-end/ProfileDataGridTree.js: Added. (WebInspector.ProfileDataGridNode): (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds): (WebInspector.ProfileDataGridNode.prototype.get data): (WebInspector.ProfileDataGridNode.prototype.createCell): (WebInspector.ProfileDataGridNode.prototype.select): (WebInspector.ProfileDataGridNode.prototype.deselect): (WebInspector.ProfileDataGridNode.prototype.expand): (WebInspector.ProfileDataGridNode.prototype.insertChild): (WebInspector.ProfileDataGridNode.prototype.removeChild): (WebInspector.ProfileDataGridNode.prototype.removeChildren): (WebInspector.ProfileDataGridNode.prototype.findChild): (WebInspector.ProfileDataGridNode.prototype.get averageTime): (WebInspector.ProfileDataGridNode.prototype.get averagePercent): (WebInspector.ProfileDataGridNode.prototype.get selfPercent): (WebInspector.ProfileDataGridNode.prototype.get totalPercent): (WebInspector.ProfileDataGridNode.prototype._save): (WebInspector.ProfileDataGridNode.prototype._restore): (WebInspector.ProfileDataGridNode.prototype._merge): (WebInspector.ProfileDataGridTree): (WebInspector.ProfileDataGridTree.prototype.get expanded): (WebInspector.ProfileDataGridTree.prototype.appendChild): (WebInspector.ProfileDataGridTree.prototype.insertChild): (WebInspector.ProfileDataGridTree.prototype.removeChildren): (WebInspector.ProfileDataGridTree.prototype.findChild.WebInspector.ProfileDataGridNode.prototype.findChild.sort.WebInspector.ProfileDataGridNode.prototype.sort._save): (WebInspector.ProfileDataGridTree.propertyComparator.comparator): (WebInspector.ProfileDataGridTree.propertyComparator.else.comparator): (WebInspector.ProfileDataGridTree.propertyComparator):
  • inspector/front-end/ProfileView.js: (WebInspector.ProfileView): (WebInspector.ProfileView.prototype.set profile): (WebInspector.ProfileView.prototype.get bottomUpProfileDataGridTree): (WebInspector.ProfileView.prototype.get topDownProfileDataGridTree): (WebInspector.ProfileView.prototype.get currentTree): (WebInspector.ProfileView.prototype.set currentTree): (WebInspector.ProfileView.prototype.get topDownTree): (WebInspector.ProfileView.prototype.get bottomUpTree): (WebInspector.ProfileView.prototype.refresh): (WebInspector.ProfileView.prototype.refreshVisibleData): (WebInspector.ProfileView.prototype.refreshShowAsPercents): (WebInspector.ProfileView.prototype.performSearch.matchesQuery): (WebInspector.ProfileView.prototype.performSearch): (WebInspector.ProfileView.prototype._changeView): (WebInspector.ProfileView.prototype._focusClicked): (WebInspector.ProfileView.prototype._excludeClicked): (WebInspector.ProfileView.prototype._resetClicked): (WebInspector.ProfileView.prototype._sortProfile):
  • inspector/front-end/ProfilesPanel.js: (WebInspector.ProfilesPanel.prototype.showProfile): (WebInspector.ProfilesPanel.prototype.showView): (WebInspector.ProfilesPanel.prototype.searchMatchFound):
  • inspector/front-end/TopDownProfileDataGridTree.js: Added. (WebInspector.TopDownProfileDataGridNode): (WebInspector.TopDownProfileDataGridNode.prototype._populate): (WebInspector.TopDownProfileDataGridNode.prototype._exclude): (WebInspector.TopDownProfileDataGridTree): (WebInspector.TopDownProfileDataGridTree.prototype.focus): (WebInspector.TopDownProfileDataGridTree.prototype.exclude):
  • inspector/front-end/WebKit.qrc:
  • inspector/front-end/inspector.css:
  • inspector/front-end/inspector.html:

LayoutTests:

2009-04-23 Francisco Tolmasky <francisco@280north.com>

BUG 24604: WebKit profiler reports incorrect total times
<https://bugs.webkit.org/show_bug.cgi?id=24604>

Reviewed by Timothy Hatcher and Kevin McCullough.

Changed profile.treeProfile to just profile, since these aren't generated in C++ anymore.
Removed heavy-view test since heavy-view isn't an actual tree that is generated in C++ land anymore,
but rather just a different display of the normal treeProfile in the JS data grid.

  • fast/profiler/heavy-view-expected.txt: Removed.
  • fast/profiler/heavy-view.html: Removed.
  • fast/profiler/resources/profiler-test-JS-resources.js: profiles[i].treeProfile -> profiles[i].treeProfile (printProfilesDataWithoutTime):
18:50 Changeset [42807] by eric@webkit.org

Reviewed by Sam Weinig.

Use static functions (and a couple templates)
to further reduce the amount of copy/paste code in SVGRenderTreeAsText

No test changes, only code cleanup.

  • rendering/SVGRenderTreeAsText.cpp: (WebCore::writeNameValuePair): (WebCore::writeNameAndQuotedValue): (WebCore::writeIfNotEmpty): (WebCore::writeIfNotDefault): (WebCore::writeStyle): (WebCore::writePositionAndStyle): (WebCore::operator<<):
18:42 Changeset [42806] by kmccullough@apple.com

2009-04-23 Kevin McCullough <kmccullough@apple.com>

  • Windows build fix. Mac only tests go in platform/mac
  • editing/deleting/deletionUI-borders.html: Removed.
  • editing/deleting/deletionUI-differing-background.html: Removed.
  • editing/deleting/deletionUI-minimum-size.html: Removed.
  • platform/mac/editing/deleting/deletionUI-borders.html: Copied from editing/deleting/deletionUI-borders.html.
  • platform/mac/editing/deleting/deletionUI-differing-background.html: Copied from editing/deleting/deletionUI-differing-background.html.
  • platform/mac/editing/deleting/deletionUI-minimum-size.html: Copied from editing/deleting/deletionUI-minimum-size.html.
18:09 Changeset [42805] by barraclough@apple.com

2009-04-23 Gavin Barraclough <barraclough@apple.com>

Not Reviewed.

Speculative Windows build fix II.

  • yarr/RegexInterpreter.cpp:
17:53 Changeset [42804] by barraclough@apple.com

2009-04-23 Gavin Barraclough <barraclough@apple.com>

Not Reviewed.

Speculative Windows build fix.

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • runtime/RegExp.cpp:
17:50 Changeset [42803] by eric@webkit.org

Reviewed by Simon Fraser.

SVGRenderTreeAsText cleanup/code sharing.

No test changes, only code cleanup.

  • rendering/RenderText.cpp: (WebCore::RenderText::firstRunOrigin):
  • rendering/RenderText.h:
  • rendering/SVGRenderTreeAsText.cpp: (WebCore::writeStandardPrefix): (WebCore::writeChildren): (WebCore::write): (WebCore::writeRenderResources):
17:39 Changeset [42802] by barraclough@apple.com

2009-04-23 Gavin Barraclough <barraclough@apple.com>

Rubber stamped by salty sea dogs Sam & Geoff.

Enable YARR_JIT by default (where supported), replacing WREC.

  • wtf/Platform.h:
17:37 Changeset [42801] by darin@apple.com

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

Removed some stray files that Geoff missed when rolling out changes.

  • svg/custom/resources/svg-fonts-in-text-controls.js: Removed.
  • svg/custom/svg-fonts-in-text-controls-expected.txt: Removed.
17:32 Changeset [42800] by barraclough@apple.com

JavaScriptCore:

2009-04-23 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff "Dread Pirate Roberts" Garen.

Various small fixes to YARR JIT, in preparation for enabling it by default.

  • Correctly index into the callframe when storing restart addresses for nested alternatives.
  • Allow backtracking back into matched alternatives of parentheses.
  • Fix callframe offset calculation for parenthetical assertions.
  • When a set of parenthese are quantified with a fixed and variable portion, and the variable portion is quantified once, this should not reset the pattern match on failure to match (the last match from the firxed portion should be preserved).
  • Up the pattern size limit to match PCRE's new limit.
  • Unlclosed parentheses should be reported with the message "missing )".
  • wtf/Platform.h:
  • yarr/RegexCompiler.cpp: (JSC::Yarr::RegexPatternConstructor::quantifyAtom): (JSC::Yarr::RegexPatternConstructor::setupAlternativeOffsets):
  • yarr/RegexInterpreter.cpp: (JSC::Yarr::Interpreter::matchParentheses): (JSC::Yarr::Interpreter::backtrackParentheses): (JSC::Yarr::ByteCompiler::emitDisjunction):
  • yarr/RegexJIT.cpp: (JSC::Yarr::RegexGenerator::loadFromFrameAndJump): (JSC::Yarr::RegexGenerator::generateParenthesesDisjunction): (JSC::Yarr::RegexGenerator::generateParentheticalAssertion): (JSC::Yarr::RegexGenerator::generateTerm): (JSC::Yarr::executeRegex):
  • yarr/RegexParser.h: (JSC::Yarr::Parser::): (JSC::Yarr::Parser::parseTokens): (JSC::Yarr::Parser::parse):
  • yarr/RegexPattern.h: (JSC::Yarr::PatternTerm::): (JSC::Yarr::PatternTerm::PatternTerm):

LayoutTests:

2009-04-23 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff "Dread Pirate Roberts" Garen.

This test tries to force itself into PCRE; modify the
test so that as well as dodging WREC it can also avoid
YARR!

  • fast/js/resources/regexp-overflow-too-big.js:
17:25 Changeset [42799] by bdakin@apple.com

WebCore:

2009-04-23 Beth Dakin <bdakin@apple.com>

Reviewed by Darin Adler.

WebCore part of fix for <rdar://problem/6333461> REGRESSION
(r36864-r36869): Dragging stocks widget scrollbar drags the whole
widget

  • platform/Scrollbar.h: (WebCore::Scrollbar::isScrollbar):
  • platform/Widget.h: (WebCore::Widget::isScrollbar):

WebKit/mac:

2009-04-23 Beth Dakin <bdakin@apple.com>

Reviewed by Darin Adler.

Fix for <rdar://problem/6333461> REGRESSION (r36864-r36869):
Dragging stocks widget scrollbar drags the whole widget

Look for our new WebCore scrollbars in the WebHTMLView and add
proper Dashboard regions for them.

  • WebView/WebView.mm: (-[WebView _addScrollerDashboardRegionsForFrameView:dashboardRegions:]): (-[WebView _addScrollerDashboardRegions:from:]):
16:59 Changeset [42798] by kmccullough@apple.com

WebCore:

2009-04-23 Kevin McCullough <kmccullough@apple.com>

Reviewed by Adam Roben.

<rdar://problem/6808109> "Deletion UI" is not available for many
portions of HTML content

This patch makes the deletion UI show up in some new situations:
1) If a block's background color is different from its parent's
2) If a block has a background image.
3) If a block has a single visible border.
However the block must now not only be at least a minimum width and
height, but also exceed a minimum area. In practice this has led to
much better element selection.

  • editing/DeleteButtonController.cpp: (WebCore::isDeletableElement):

LayoutTests:

2009-04-23 Kevin McCullough <kmccullough@apple.com>

Reviewed by Adam Roben.

<rdar://problem/6808109> "Deletion UI" is not available for many
portions of HTML content

This patch makes the deletion UI show up in some new situations:
1) If a block's background color is different from its parent's
2) If a block has a background image.
3) If a block has a single visible border.
However the block must now not only be at least a minimum width and
height, but also exceed a minimum area. In practice this has led to
much better element selection.

  • editing/deleting/deletionUI-borders.html: Added.
  • editing/deleting/deletionUI-differing-background.html: Added.
  • editing/deleting/deletionUI-minimum-size.html: Added.
  • editing/deleting/resources: Added.
  • editing/deleting/resources/deletionUI-helpers.js: Added. (debug): (determineDeletionUIExistence):
  • platform/mac/editing/deleting/deletionUI-borders-expected.txt: Added.
  • platform/mac/editing/deleting/deletionUI-differing-background-expected.txt: Added.
  • platform/mac/editing/deleting/deletionUI-minimum-size-expected.txt: Added.
16:53 Changeset [42797] by kevino@webkit.org

wx build fix. Adding XMLTokenizer.cpp to the build.

16:32 Changeset [42796] by sullivan@apple.com

2009-04-23 John Sullivan <sullivan@apple.com>

fixed <rdar://problem/6822479> Assertion failure after Reset Safari in new history-writing code

Reviewed by Oliver Hunt

  • History/WebHistory.mm: (-[WebHistoryPrivate data]): Return nil immediately if there are no entries; this matches a recent Windows-platform fix.
16:14 Changeset [42795] by mrowe@apple.com

Temporarily work around <rdar://problem/6812854> by forcing our 2GB allocation up in to high memory.

Rubber-stamped by Geoff Garen.

  • jit/ExecutableAllocatorFixedVMPool.cpp:

(JSC::FixedVMPoolAllocator::FixedVMPoolAllocator):

15:46 Changeset [42794] by adele@apple.com

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

Reviewed by Darin Adler.

Fix for <rdar://problem/6788905> REGRESSION (41928?): hang in Position::upstream
https://bugs.webkit.org/show_bug.cgi?id=25312

I was unable to reproduce the problem, but I'm pretty sure this will fix it.

  • rendering/RenderObject.cpp: (WebCore::RenderObject::createVisiblePosition): Since VisiblePosition doesn't ensure the offset is good, we shouldn't pass max int as an offset.
15:38 Changeset [42793] by mrowe@apple.com

Versioning.

15:38 Changeset [42792] by mrowe@apple.com

New tag.

15:33 Changeset [42791] by dglazkov@chromium.org

WebCore:

2009-04-23 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=25313
Missing scroll bars in GMail.

Test: fast/overflow/overflow-y-scroll.html

  • platform/ScrollView.cpp: (WebCore::ScrollView::updateScrollbars): Added check for the ScrollbarAlwaysOn scroll mode.

LayoutTests:

2009-04-23 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=25313
Missing scroll bars in GMail.

  • fast/overflow/overflow-y-scroll-expected.txt: Added.
  • fast/overflow/overflow-y-scroll.html: Added.

WebKit/mac:

2009-04-23 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=25313
Missing scroll bars in GMail.

  • WebView/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView updateScrollers]): Added check for the ScrollbarAlwaysOn

scroll mode.

15:17 Changeset [42790] by kdecker@apple.com

Fix the Tiger build

15:03 Changeset [42789] by andersca@apple.com

2009-04-23 Anders Carlsson <andersca@apple.com>

Reviewed by Geoffrey Garen.

Fix <rdar://problem/6821992>

Add a new m_inDestroy member variable. Set it to true when in destroy, and have all NPRuntime functions return false
when m_inDestroy is true.


  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): (WebKit::NetscapePluginInstanceProxy::destroy): (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): (WebKit::NetscapePluginInstanceProxy::getProperty): (WebKit::NetscapePluginInstanceProxy::setProperty): (WebKit::NetscapePluginInstanceProxy::removeProperty): (WebKit::NetscapePluginInstanceProxy::hasProperty): (WebKit::NetscapePluginInstanceProxy::hasMethod): (WebKit::NetscapePluginInstanceProxy::enumerate):
14:22 Changeset [42788] by mitz@apple.com

WebCore:

Reviewed by Justin Garcia.

  • fix <rdar://problem/6081309> Mail crash when pressing down arrow in some messages in WebCore::canHaveChildrenForEditing

Test: editing/selection/extend-by-line-anonymous-content-crash.html

  • editing/visible_units.cpp: (WebCore::previousLinePosition): Null-check node. If p is not an editable position, then closestLeafChildForXPos() may have returned a non-editable box, and in particular one belonging to anonymous content. If node is 0, fall back on RenderObject::positionForPoint, which finds the closest position in non-anonymous content. (WebCore::nextLinePosition): Ditto.
  • rendering/RenderObject.cpp: (WebCore::RenderObject::createVisiblePosition): Fixed a typo.

LayoutTests:

Reviewed by Justin Garcia.

  • test for <rdar://problem/6081309> Mail crash when pressing down arrow in some messages in WebCore::canHaveChildrenForEditing
  • editing/selection/extend-by-line-anonymous-content-crash-expected.txt: Added.
  • editing/selection/extend-by-line-anonymous-content-crash.html: Added.
13:49 Changeset [42787] by hyatt@apple.com

2009-04-23 David Hyatt <hyatt@apple.com>

Reviewed by Maciej.

Fix for <rdar://problem/6789879> REGRESSION (42464): Hitting assertion when loading message in Mail + TOT WebKit


Make the Mac platform the same as all the other platforms. Instead of (incorrectly) marking a FrameView for layout
when its underlying document view changes, just mark the outermost frame view for layout when the WebView's size changes.

  • WebView/WebHTMLView.mm: (-[WebHTMLView _frameOrBoundsChanged]): (-[WebHTMLView addSuperviewObservers]):
  • WebView/WebView.mm: (-[WebView _boundsChanged]): (-[WebView removeSizeObservers]): (-[WebView addSizeObservers]):
13:08 Changeset [42786] by kdecker@apple.com

Reviewed by Tim Hatcher.

Second part of the fix for <rdar://problem/6352982>

  • Plugins/WebBaseNetscapePluginView.h: Make this class conform to WebPluginContainerCheckController
  • Plugins/WebBaseNetscapePluginView.mm: Likewise. (-[WebBaseNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): Added skeleton method.
  • Plugins/WebPluginContainerCheck.h: Added protocol for <WebPluginContainerCheckController>
  • Plugins/WebPluginContainerCheck.mm: (-[WebPluginContainerCheck initWithRequest:target:resultObject:selector:controller:]):
  • Plugins/WebPluginController.h: Make this class conform to WebPluginContainerCheckController
12:58 Changeset [42785] by ap@webkit.org

Reviewed by Adele Peterson.

<rdar://problem/6791439> REGRESSION: Get an error page instead of login page navigating back in gmail

Test: http/tests/history/back-to-post.php

  • platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::ResourceRequest::doUpdatePlatformRequest): Apply a new cache policy if it changed after the platform request was first created. While at it, also made sure to update timeout.
12:02 Changeset [42784] by kov@webkit.org

2009-04-23 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Rubber-stamped by Xan Lopez.

  • pt_BR.po: translation update.
11:45 Changeset [42783] by kov@webkit.org

2009-04-23 Zan Dobersek <zandobersek@gmail.com>

Reviewed by Gustavo Noronha.

When creating a new drawable object, collect system's
information about the best depth it can provide and use it
in a new colormap that the new drawable requires.

  • platform/graphics/gtk/ImageGtk.cpp: (WebCore::BitmapImage::getGdkPixbuf):
11:06 Changeset [42782] by kdecker@apple.com

Reviewed by Anders Carlsson.


First part of <rdar://problem/6352982>

  • Plugins/WebBaseNetscapePluginView.h: Imported #WebNetscapeContainerCheckPrivate.h; Added two new method: checkIfAllowedToLoadURL:url:frame:callbackFunc: and cancelCheckIfAllowedToLoadURL:
  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:]): Added skeleton method, does nothing interesting yet. (-[WebBaseNetscapePluginView cancelCheckIfAllowedToLoadURL:]): Likewise.
  • Plugins/WebNetscapeContainerCheckPrivate.h: Added.
  • Plugins/WebNetscapeContainerCheckPrivate.mm: Added. (browserContainerCheckFuncs): Added.
  • Plugins/WebNetscapePluginView.h: Imported #WebNetscapeContainerCheckPrivate.h;
  • Plugins/WebNetscapePluginView.mm: Imported #WebNetscapeContainerCheckPrivate.h; added WKN_CheckIfAllowedToLoadURL and WKN_CancelCheckIfAllowedToLoadURL functions. (-[WebNetscapePluginView getVariable:value:]): Return vtable for container check functions.
  • Plugins/npapi.mm: (WKN_CheckIfAllowedToLoadURL): Added new private function. (WKN_CancelCheckIfAllowedToLoadURL): Ditto.
09:42 Changeset [42781] by aroben@apple.com

Skip a newly-added test that fails on Windows

See Bug 25344: http/tests/misc/redirect-to-external-url.html fails on
Windows
<https://bugs.webkit.org/show_bug.cgi?id=25344>

Reviewed by Brady Eidson.

  • platform/win/Skipped: Added http/tests/misc/redirect-to-external-url.html.
08:39 Changeset [42780] by kov@webkit.org

2009-04-23 Zan Dobersek <zandobersek@gmail.com>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=15654
GdkPixbuf support for ImageCairo

Add support for converting a Cairo surface to a GdkPixbuf.

  • platform/graphics/BitmapImage.h:
  • platform/graphics/Image.h: (WebCore::Image::getGdkPixbuf):
  • platform/graphics/gtk/ImageGtk.cpp: (WebCore::BitmapImage::getGdkPixbuf):
08:07 Changeset [42779] by vestbo@webkit.org

Fix Qt build warning

07:55 Changeset [42778] by ariya@webkit.org

2009-04-23 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>

Reviewed by Simon Hausmann.

Make windowed plugins (on X11, Qt) behave nicer with wheel scrolling.

Basically, what we want is to send wheel events to the plugin *only*
when it has focus, or else send it to the parent frame.

This is a work around, and basically what we do, is to steal the
wheel events from the plugin, modify the window ID, and put the
event back into the Qt event loop.

  • plugins/qt/PluginContainerQt.cpp: (PluginClientWrapper::PluginClientWrapper): (PluginClientWrapper::~PluginClientWrapper): (PluginClientWrapper::x11Event): (PluginContainerQt::PluginContainerQt): (PluginContainerQt::~PluginContainerQt): (PluginContainerQt::on_clientClosed): (PluginContainerQt::on_clientIsEmbedded): (PluginContainerQt::redirectWheelEventsToParent): (PluginContainerQt::x11Event): (PluginContainerQt::focusInEvent):
  • plugins/qt/PluginContainerQt.h:
06:53 Changeset [42777] by ariya@webkit.org

2009-04-23 Antonio Gomes <antonio.gomes@openbossa.org>

Reviewed by Ariya Hidayat.

[Qt] Added QWebElement::computedStyleProperty method.

  • Api/qwebelement.cpp: (QWebElement::computedStyleProperty):
  • Api/qwebelement.h:
  • tests/qwebelement/tst_qwebelement.cpp: (tst_QWebElement::computedStyle):
05:46 QtWebKitTodo edited by vestbo@webkit.org
(diff)
05:36 QtWebKitJournal edited by vestbo@webkit.org
(diff)
04:30 Changeset [42776] by vestbo@webkit.org

2009-04-23 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>

Rubber-stamped by Ariya Hidayat.

[Qt] Rename QWebElement arguments from html to markup

00:25 Changeset [42775] by mrowe@apple.com

Fix the Windows DRT build.

  • DumpRenderTree/win/PolicyDelegate.h:
00:10 Changeset [42774] by beidson@apple.com

2009-04-23 Brady Eidson <beidson@apple.com>

Fix Windows DRT build.

  • DumpRenderTree/win/PolicyDelegate.cpp: (PolicyDelegate::unableToImplementPolicyWithError):
00:09 Changeset [42773] by beidson@apple.com

2009-04-23 Brady Eidson <beidson@apple.com>

Update my just-landed layout test to agree with Tiger's CFNetwork

  • http/tests/misc/resources/redirect-to-external-url.php:

04/22/09:

23:42 Changeset [42772] by beidson@apple.com

WebCore:

2009-04-22 Brady Eidson <beidson@apple.com>

Reviewed by Maciej Stachowiak

<rdar://problem/6786961> - "Are you sure you want to resubmit this form?" nag displays twice.

For most loads, we were consulting the navigation policy delegate twice. Once from FrameLoader before
the load started and once from MainResourceLoader in its willSendRequest callback.

In the past we tried removing MainResourceLoader's call altogether. This caused a regression where urls
that redirect to a url handled by an external application would no longer work in Safari. It probably
also broke other WebKit apps in subtle ways.

Changing MainResourceLoader to make the check only on redirects fixes both bugs. We now only call the
policy delegate once for most standard loads, but we do correctly call it a second time for redirects.

Tests: http/tests/misc/policy-delegate-called-twice.html

http/tests/misc/redirect-to-external-url.html

  • loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::willSendRequest): Call the navigation policy delegate only for redirects.

WebKitTools:

2009-04-22 Brady Eidson <beidson@apple.com>

Reviewed by Maciej Stachowiak

Add additional support for test:
<rdar://problem/5689748> - Cannot redirect to protocols handled by external applications.

  • DumpRenderTree/mac/PolicyDelegate.mm: (-[PolicyDelegate webView:unableToImplementPolicyWithError:frame:]): Dump formatted information when a policy cannot be implemented.
  • DumpRenderTree/win/PolicyDelegate.cpp: (PolicyDelegate::unableToImplementPolicyWithError): Ditto.
  • DumpRenderTree/win/PolicyDelegate.h:

LayoutTests:

2009-04-22 Brady Eidson <beidson@apple.com>

Reviewed by Maciej Stachowiak

With the fix for:
<rdar://problem/6786961> - "Are you sure you want to resubmit this form?" nag displays twice.
And also to make sure we never rebreak:
<rdar://problem/5689748> - Cannot redirect to protocols handled by external applications.

  • http/tests/misc/redirect-to-external-url-expected.txt: Added.
  • http/tests/misc/redirect-to-external-url.html: Added.
  • http/tests/misc/resources/redirect-to-external-url-iframe.html: Added.
  • http/tests/misc/resources/redirect-to-external-url.php: Added.
  • http/tests/misc/policy-delegate-called-twice-expected.txt: Added.
  • http/tests/misc/policy-delegate-called-twice.html: Added.
  • http/tests/misc/resources/iframe-policy-1.html: Added.
  • http/tests/misc/resources/iframe-policy-2.html: Added.
21:06 Changeset [42771] by mrowe@apple.com

Add the m_ prefix on FixedVMPoolAllocator's member variables, and fix typos in a few comments.

Rubber-stamped by Gavin Barraclough.

  • jit/ExecutableAllocatorFixedVMPool.cpp:

(JSC::FixedVMPoolAllocator::addToFreeList):
(JSC::FixedVMPoolAllocator::coalesceFreeSpace):
(JSC::FixedVMPoolAllocator::FixedVMPoolAllocator):
(JSC::FixedVMPoolAllocator::alloc):
(JSC::FixedVMPoolAllocator::free):
(JSC::FixedVMPoolAllocator::isWithinVMPool):

21:06 Changeset [42770] by mrowe@apple.com

Add some assertions to FixedVMPoolAllocator to guard against cases where we
attempt to free memory that didn't originate from the pool, or we attempt to
hand out a bogus address from alloc.

Rubber-stamped by Gavin Barraclough.

  • jit/ExecutableAllocatorFixedVMPool.cpp:

(JSC::FixedVMPoolAllocator::release):
(JSC::FixedVMPoolAllocator::FixedVMPoolAllocator):
(JSC::FixedVMPoolAllocator::alloc):
(JSC::FixedVMPoolAllocator::free):
(JSC::FixedVMPoolAllocator::isWithinVMPool):

19:41 Changeset [42769] by weinig@apple.com

2009-04-22 Sam Weinig <sam@webkit.org>

Reviewed by Mark Rowe.

Fix for <rdar://problem/6800695>

Add a hack to only allow navigating (via a link from a http page)
to feed: urls (same for feeds: and feedsearch:) that map to http:
or https: via their nested protocol. This includes both feed://example.com
and feed:http://example.com.

  • loader/FrameLoader.cpp: (WebCore::isFeedWithNestedProtocolInHTTPFamily): (WebCore::FrameLoader::loadFrameRequest):
19:34 Changeset [42768] by weinig@apple.com

2009-04-22 Sam Weinig <sam@webkit.org>

Reviewed by Anders Carlsson.

Autogenerate the XMLHttpRequest constructor getter/setter for the
WorkerContext and remove the now no longer needed JSWorkerContextBase.lut.h
file.

  • DerivedSources.make: Remove JSWorkerContextBase.lut.h
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • bindings/js/JSWorkerContextBase.cpp:
  • bindings/js/JSWorkerContextBase.h: Remove code to support hand written code for XMLHttpRequest constructor lookup and shadowing.
  • bindings/js/JSWorkerContextCustom.cpp: (WebCore::JSWorkerContext::customGetOwnPropertySlot): Remove JSC prefixes. (WebCore::JSWorkerContext::xmlHttpRequest): Added. Custom implementation of cached constructor lookup.
  • workers/WorkerContext.idl: Make the XMLHttpRequestConstructor accessor not V8 specific.
18:43 Changeset [42767] by adachan@apple.com

WebKitLibraries:

Update WebKitSystemInterface with new method that maps CFNetwork error code to localized description.


Reviewed by Darin Adler.

  • win/include/WebKitSystemInterface/WebKitSystemInterface.h:
  • win/lib/WebKitSystemInterface.lib:
  • win/lib/WebKitSystemInterface_debug.lib:

WebKit/win:

<rdar://problem/5115298> Don't get error msg when download is interrupted and cannot resume due to server unavailability
If we fail to get an error description back from CFNetwork, try to get the localized description
based on the error code.

Reviewed by Darin Adler.

  • WebError.cpp: (WebError::localizedDescription):
18:07 Changeset [42766] by darin@apple.com

2009-04-22 Darin Adler <darin@apple.com>

  • page/Navigator.idl: Touch this file to fix build since Geolocation configuration was recently turned off.
18:02 Changeset [42765] by oliver@apple.com

Include updated results

17:59 Changeset [42764] by oliver@apple.com

Modify test to only record the important mouse events

Reviewed by Geoff Garen.

17:54 Changeset [42763] by justin.garcia@apple.com

WebCore:

2009-04-22 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=25322
Can't delete empty paragraph after a block image


Empty paragraph removal would have been handled by mergeParagraphs, but we stopped short
because of some code that avoided problems that would arise from Positions that would go
bad during deletion.


We have several checks that prevent us from using bad Positions, this one in particular
was added to avoid bad Positions that result from text removal. So, I removed the check
and started correctly updating m_downstreamEnd during text removal so that it doesn't go
bad. m_upstreamStart doesn't need to be updated during text removal, since only text
after it will ever be removed.

  • editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::deleteTextFromNode): (WebCore::DeleteSelectionCommand::handleGeneralDelete): (WebCore::DeleteSelectionCommand::mergeParagraphs):

LayoutTests:

2009-04-22 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin Adler.


https://bugs.webkit.org/show_bug.cgi?id=25322
Can't delete empty paragraph after a block image

  • editing/deleting/25322-1-expected.txt: Added.
  • editing/deleting/25322-1.html: Added.
  • editing/deleting/25322-2-expected.txt: Added.
  • editing/deleting/25322-2.html: Added.
  • editing/deleting/25322-3-expected.txt: Added.
  • editing/deleting/25322-3.html: Added.
17:49 Changeset [42762] by darin@apple.com

2009-04-22 Darin Adler <darin@apple.com>

  • platform/mac/svg/W3C-SVG-1.1/animate-elem-36-t-expected.txt: Fixed one case Eric seems to have missed earlier today of RenderImage -> RenderSVGImage.
17:37 Changeset [42761] by oliver@apple.com

<rdar://problem/6757346> SAP: Prevent default on mouseDown does not stop iframe from capturing subsequent mouse moves

Reviewed by Darin Adler.

Make mouseUp target the correct frame when the original
mousedown made the drag non-capturing.

17:29 Changeset [42760] by oliver@apple.com

<rdar://problem/6757346> SAP: Prevent default on mouseDown does not stop iframe from capturing subsequent mouse moves

Reviewed by Darin Adler.

This is the first step of allowing drag events to match the behaviour
of mouse move events when the default action of the initial mouse down
is prevented. Remaining issue is that the final mouse up event still
targets the original root frame.

Test: fast/events/mouse-drag-from-frame-to-other-frame.html

17:01 Changeset [42759] by simon.fraser@apple.com

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

Reviewed by Adele Peterson

<rdar://problem/6702882> QT movie's video fails to be displayed after switching between tabs
<rdar://problem/6754957> Resizing Web browser window and hitting play will cause video blocks and artifacting

When in a media document, MediaPlayerPrivateQTKit uses a QTMovieView which may get
layer backing under some circumstances. However, drawing the view via
displayRectIgnoringOpacity:inContext: bypasses any layer setup that AppKit normally performs.
So when in the media document, we draw via displayRectIgnoringOpacity:.

  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::paint):
16:56 Changeset [42758] by mrowe@apple.com

Update test results after Blackbeard's change in r42752 to disable geolocation.

  • fast/dom/Window/window-properties-expected.txt:
  • fast/dom/navigator-detached-no-crash-expected.txt:
15:59 Changeset [42757] by simon.fraser@apple.com

2009-04-22 Pierre d'Herbemont <pdherbemont@apple.com>

Reviewed by Simon Fraser.

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

Add tests for media 'played' attribute (missed in r42619).

  • media/video-played-expected.txt: Added.
  • media/video-played.html: Added.
15:51 Changeset [42756] by andersca@apple.com

2009-04-22 Anders Carlsson <andersca@apple.com>

Reviewed by Oliver Hunt.

Fix <rdar://problem/6792694>


When we're trying to instantiate a plug-in and the plug-in host has died, we need to invalidate the
instance so that it doesn't stick around and do bad things.


  • Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::instantiatePlugin):
14:52 Changeset [42755] by barraclough@apple.com

2009-04-22 Gavin Barraclough <barraclough@apple.com>

Rubber stamped by Sam "Blackbeard" Weinig.

Although pirates do spell the word 'generate' as 'genertate',
webkit developers do not. Fixerate.

  • yarr/RegexJIT.cpp: (JSC::Yarr::RegexGenerator::generateAssertionBOL): (JSC::Yarr::RegexGenerator::generateAssertionEOL): (JSC::Yarr::RegexGenerator::generateAssertionWordBoundary): (JSC::Yarr::RegexGenerator::generatePatternCharacterSingle): (JSC::Yarr::RegexGenerator::generatePatternCharacterPair): (JSC::Yarr::RegexGenerator::generatePatternCharacterFixed): (JSC::Yarr::RegexGenerator::generatePatternCharacterGreedy): (JSC::Yarr::RegexGenerator::generatePatternCharacterNonGreedy): (JSC::Yarr::RegexGenerator::generateCharacterClassSingle): (JSC::Yarr::RegexGenerator::generateCharacterClassFixed): (JSC::Yarr::RegexGenerator::generateCharacterClassGreedy): (JSC::Yarr::RegexGenerator::generateCharacterClassNonGreedy): (JSC::Yarr::RegexGenerator::generateTerm):
14:44 Changeset [42754] by barraclough@apple.com

2009-04-22 Gavin Barraclough <barraclough@apple.com>

Reviewed by Sam "Blackbeard" Weinig.

Improvements to YARR JIT. This patch expands support in three key areas:

  • Add (temporary) support for falling back to PCRE for expressions not supported.
  • Add support for x86_64 and Windows.
  • Add support for singly quantified parentheses (? and ??), alternatives within parentheses, and parenthetical assertions.
  • runtime/RegExp.cpp: (JSC::RegExp::match):
  • yarr/RegexJIT.cpp: (JSC::Yarr::RegexGenerator::storeToFrame): (JSC::Yarr::RegexGenerator::storeToFrameWithPatch): (JSC::Yarr::RegexGenerator::loadFromFrameAndJump): (JSC::Yarr::RegexGenerator::AlternativeBacktrackRecord::AlternativeBacktrackRecord): (JSC::Yarr::RegexGenerator::TermGenerationState::resetAlternative): (JSC::Yarr::RegexGenerator::TermGenerationState::resetTerm): (JSC::Yarr::RegexGenerator::TermGenerationState::jumpToBacktrack): (JSC::Yarr::RegexGenerator::TermGenerationState::plantJumpToBacktrackIfExists): (JSC::Yarr::RegexGenerator::TermGenerationState::addBacktrackJump): (JSC::Yarr::RegexGenerator::TermGenerationState::linkAlternativeBacktracks): (JSC::Yarr::RegexGenerator::TermGenerationState::propagateBacktrackingFrom): (JSC::Yarr::RegexGenerator::genertateAssertionBOL): (JSC::Yarr::RegexGenerator::genertateAssertionEOL): (JSC::Yarr::RegexGenerator::matchAssertionWordchar): (JSC::Yarr::RegexGenerator::genertateAssertionWordBoundary): (JSC::Yarr::RegexGenerator::genertatePatternCharacterSingle): (JSC::Yarr::RegexGenerator::genertatePatternCharacterPair): (JSC::Yarr::RegexGenerator::genertatePatternCharacterFixed): (JSC::Yarr::RegexGenerator::genertatePatternCharacterGreedy): (JSC::Yarr::RegexGenerator::genertatePatternCharacterNonGreedy): (JSC::Yarr::RegexGenerator::genertateCharacterClassSingle): (JSC::Yarr::RegexGenerator::genertateCharacterClassFixed): (JSC::Yarr::RegexGenerator::genertateCharacterClassGreedy): (JSC::Yarr::RegexGenerator::genertateCharacterClassNonGreedy): (JSC::Yarr::RegexGenerator::generateParenthesesDisjunction): (JSC::Yarr::RegexGenerator::generateParenthesesSingle): (JSC::Yarr::RegexGenerator::generateParentheticalAssertion): (JSC::Yarr::RegexGenerator::generateTerm): (JSC::Yarr::RegexGenerator::generateDisjunction): (JSC::Yarr::RegexGenerator::generateEnter): (JSC::Yarr::RegexGenerator::generateReturn): (JSC::Yarr::RegexGenerator::RegexGenerator): (JSC::Yarr::RegexGenerator::generate): (JSC::Yarr::RegexGenerator::compile): (JSC::Yarr::RegexGenerator::generationFailed): (JSC::Yarr::jitCompileRegex): (JSC::Yarr::executeRegex):
  • yarr/RegexJIT.h: (JSC::Yarr::RegexCodeBlock::RegexCodeBlock): (JSC::Yarr::RegexCodeBlock::~RegexCodeBlock):
14:24 Changeset [42753] by timothy@apple.com

Fix a crash in Mail when forwarding a specific HTML email.
Caused by the fix for <rdar://problem/6512520> (r42096).
Unable to create a test case that works outside of Mail.

<rdar://problem/6796069>

Reviewed by Ada Chan.

  • editing/markup.cpp: (WebCore::createMarkup): Null check pastEnd before trying to call Range::compareBoundaryPoints.
13:44 QtWebKitJournal edited by tonikitoo@gmail.com
(diff)
12:09 Changeset [42752] by weinig@apple.com

JavaScriptCore:

2009-04-22 Sam Weinig <sam@webkit.org>

Rubber-stamped by Darin Adler.

Fix for <rdar://problem/6816957>
Turn off Geolocation by default

  • Configurations/FeatureDefines.xcconfig:

WebCore:

2009-04-22 Sam Weinig <sam@webkit.org>

Rubber-stamped by Darin Adler.

Fix for <rdar://problem/6816957>
Turn off Geolocation by default

  • Configurations/FeatureDefines.xcconfig:

WebKit/mac:

2009-04-22 Sam Weinig <sam@webkit.org>

Rubber-stamped by Darin Adler.

Fix for <rdar://problem/6816957>
Turn off Geolocation by default

  • Configurations/FeatureDefines.xcconfig:

WebKitTools:

2009-04-22 Sam Weinig <sam@webkit.org>

Rubber-stamped by Darin Adler.

Fix for <rdar://problem/6816957>
Turn off Geolocation by default

  • Scripts/build-webkit:
11:03 Changeset [42751] by eric@webkit.org

Rubber-stamped by David Hyatt.

Change RenderSVGImage to dump as RenderSVGImage instead of RenderImage

  • rendering/RenderSVGImage.h: (WebCore::RenderSVGImage::renderName):
08:48 Changeset [42750] by timothy@apple.com

Fix a crash on Gmail when they remove a "before unload" event listener when
it was never added to the pending map in the first place.

<rdar://problem/6814144>

Reviewed by Darin Adler.

  • page/DOMWindow.cpp: (WebCore::allowsPendingBeforeUnloadListeners): Renamed from shouldAddPendingBeforeUnloadListener. (WebCore::DOMWindow::addEventListener): Call allowsPendingBeforeUnloadListeners now. (WebCore::DOMWindow::removeEventListener): Call allowsPendingBeforeUnloadListeners before removing the before unload listener. (WebCore::DOMWindow::clearAttributeEventListener): Ditto.
06:39 Changeset [42749] by ariya@webkit.org

2009-04-22 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>

Reviewed by Ariya Hidayat.

Made windowed plugins move/resize synchronized with the painting, so
that windowed plugins are not moved before the rest of the parent
frame during scrolling.

  • plugins/qt/PluginContainerQt.cpp: (PluginContainerQt::PluginContainerQt): (PluginContainerQt::requestGeometry): (PluginContainerQt::adjustGeometry):
  • plugins/qt/PluginContainerQt.h:
  • plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::updatePluginWidget): (WebCore::PluginView::paint):
05:34 Changeset [42748] by hausmann@webkit.org

2009-04-22 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Ariya Hidayat.

Fix various bugs in the X11 Qt plugin focus handling.

Notify the focus controller on activation/deactivation of the plugin and
set focus on the plugin's element when it receives the window system
focus.

05:08 Changeset [42747] by ariya@webkit.org

2009-04-22 Tamas Szirbucz <szirbucz.tamas@stud.u-szeged.hu>

Reviewed by Ariya Hidayat.

https://bugs.webkit.org/show_bug.cgi?id=25023
Delete reply in QNetworkReplyHandler::abort() to avoid leak.

  • platform/network/qt/QNetworkReplyHandler.cpp: (WebCore::QNetworkReplyHandler::abort):
03:44 QtWebKitJournal edited by hausmann@webkit.org
(diff)
01:52 Changeset [42746] by jhoneycutt@apple.com

2009-04-21 Jon Honeycutt <jhoneycutt@apple.com>

Allow the UI delegate to control cursor-setting.

Reviewed by Ada Chan.

WebCore/:

  • page/Chrome.cpp: (WebCore::Chrome::setCursor): Pass the call to the client.
  • page/Chrome.h:
  • page/ChromeClient.h: (WebCore::ChromeClient::setCursor): Stubbed; returns false.
  • platform/Cursor.h: Define PlatformCursorHandle for each platform.
  • platform/win/WidgetWin.cpp: Reordered some includes. Added an include of Page.h. (WebCore::Widget::setCursor): Fixed a typo in the comment about ignoreNextSetCursor. Get the Page, and call its Chrome's setCursor() method with the passed cursor. Fall back to SetCursor() if the Page is not available.
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginView::handleMouseEvent): Remove an unused variable. Cleaned up some whitespace.

WebKit/win/:

  • Interfaces/IWebUIDelegatePrivate.idl: Added a function to the IWebUIDelegatePrivate5 interface.
  • WebCoreSupport/WebChromeClient.cpp: (WebChromeClient::setCursor): Try to call the UI delegate's webViewSetCursor() method. If it fails, fall back to calling SetCursor() with the passed cursor.
  • WebCoreSupport/WebChromeClient.h:
  • WebView.cpp: (WebViewWndProc): Call the Chrome's setCursor() method with the last set cursor.
00:22 Changeset [42745] by oliver@apple.com

Build fix

04/21/09:

22:42 Changeset [42744] by oliver@apple.com

Build fix

22:36 Changeset [42743] by oliver@apple.com

Improve String.replace performance slightly

Reviewed by Maciej Stachowiak

Apply our vm reentry caching logic to String.replace with global
regexes.

22:22 Changeset [42742] by mitz@apple.com
  • updated another result with action element information
  • fast/encoding/mailto-always-utf-8-expected.txt:
22:05 Changeset [42741] by mitz@apple.com

WebKit/mac:

Reviewed by Jon Honeycutt.

  • Mac part of fixing for <rdar://problem/6755137> Action dictionary for policy decision is missing keys when full-page zoom is used
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::actionDictionary): Use absoluteLocation() instead of pageX() and pageY(), which are adjusted for zoom.

WebKit/win:

Reviewed by Jon Honeycutt.

  • Windows part of fixing <rdar://problem/6755137> Action dictionary for policy decision is missing keys when full-page zoom is used
  • WebActionPropertyBag.cpp: (WebActionPropertyBag::Read): Use absoluteLocation() instead of clientX() and clientY(), which are adjusted for zoom.

LayoutTests:

  • test for <rdar://problem/6755137> Action dictionary for policy decision is missing keys when full-page zoom is used
  • fast/loader/policy-delegate-action-hit-test-zoomed-expected.txt: Added.
  • fast/loader/policy-delegate-action-hit-test-zoomed.html: Added.
22:04 Changeset [42740] by mitz@apple.com

WebKit/win:

Reviewed by Jon Honeycutt.

  • implement DOMNode::nodeName()
  • DOMCoreClasses.cpp: (DOMNode::nodeName):

WebKitTools:

Reviewed by Jon Honeycutt.

  • dump the node in the element dictionary in the action information passed to the policy delegate
  • DumpRenderTree/mac/PolicyDelegate.mm: (-[PolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
  • DumpRenderTree/win/PolicyDelegate.cpp: (dumpPath): (PolicyDelegate::decidePolicyForNavigationAction):

LayoutTests:

Reviewed by Jon Honeycutt.

  • updated result that shows the node in the element dictionary in the action information passed to the policy delegate
  • http/tests/security/feed-urls-from-remote-expected.txt:
21:20 Changeset [42739] by dglazkov@chromium.org

2009-04-21 John Abd-El-Malek <jam@google.com>

Reviewed by Dimitri Glazkov.

Add a method to purge the Chromium plugin list cache.
https://bugs.webkit.org/show_bug.cgi?id=25318

  • plugins/chromium/PluginDataChromium.cpp: (WebCore::resetChromiumPluginCache):
21:03 Changeset [42738] by mrowe@apple.com

Fix <https://bugs.webkit.org/show_bug.cgi?id=25164> / <rdar://problem/6786319>.

Reviewed by Darin Adler.

We need to ensure that XMLTokenizer sets the current DocLoader before calling in to
any libxml2 methods that may trigger a load. The presence of a DocLoader indicates
that the load was originated by WebCore's use of libxml2 and that we should enforce
the same-origin policy on it. XMLTokenizer::initializeParserContext,
XMLTokenizer::doWrite and XMLTokenizer::doEnd were three methods that were not setting
the current DocLoader when they should have.

The XMLTokenizerScope class is introduced to simplify the pattern of saving, setting and
restoring the current DocLoader and libxml2 error handlers. The DocLoader and error handlers
are saved and set when the scope is allocated, and restored to their previous values when
the scope is exited.

Test: http/tests/security/xss-DENIED-xml-external-entity.xhtml

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.scons:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/XMLTokenizer.cpp:
  • dom/XMLTokenizer.h:
  • dom/XMLTokenizerLibxml2.cpp:

(WebCore::matchFunc):
(WebCore::shouldAllowExternalLoad):
(WebCore::openFunc):
(WebCore::XMLTokenizer::doWrite):
(WebCore::XMLTokenizer::initializeParserContext):
(WebCore::XMLTokenizer::doEnd):
(WebCore::xmlDocPtrForString):

  • dom/XMLTokenizerScope.cpp:

(WebCore::XMLTokenizerScope::XMLTokenizerScope):
(WebCore::XMLTokenizerScope::~XMLTokenizerScope):

  • dom/XMLTokenizerScope.h:
  • xml/XSLStyleSheet.cpp:

(WebCore::XSLStyleSheet::parseString):

  • xml/XSLTProcessor.cpp:
20:42 Changeset [42737] by weinig@apple.com

WebCore:

2009-04-21 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Fix for <rdar://problem/5874009>
Add port 3659 (apple-sasl / PasswordServer) to the list of blocked ports.

  • platform/network/ResourceHandle.cpp: (WebCore::portAllowed):

LayoutTests:

2009-04-21 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Update test and results for <rdar://problem/5874009>
Add port 3659 (apple-sasl / PasswordServer) to the list of blocked ports.

  • platform/mac-tiger/security/block-test-expected.txt:
  • platform/mac/security/block-test-expected.txt:
  • security/block-test.html:
19:18 Changeset [42736] by justin.garcia@apple.com

Corrected a mistake in my last ChangeLog entry and updated some expected results.

18:53 Changeset [42735] by justin.garcia@apple.com

WebCore:

2009-04-21 Justin Garcia <justin.garcia@apple.com>

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=25320
Crash when changing block styles in a root that contains no visible content (but contains nodes with renderers)

  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): If the enclosing block is the root editable element and it contains no visible content, create a new block but don't try and move content into it, since there's nothing for moveParagraphs to move.

LayoutTests:

2009-04-21 Justin Garcia <justin.garcia@apple.com>

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=25320
Crash when changing block styles in a root that contains no visible content (but contains nodes with renderers)

  • editing/execCommand/25320-expected.txt: Added.
  • editing/execCommand/25320.html: Added.
  • platform/mac/fast/forms/caret-rtl-expected.checksum: Replaced.
  • platform/mac/fast/forms/caret-rtl-expected.txt: Replaced.
17:18 Changeset [42734] by ggaren@apple.com

2009-04-21 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich and Oliver Hunt.


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


SunSpider reports no change.


Use a larger recursion limit on the main thread (because we can, and
there's some evidence that it may improve compatibility), and a smaller
recursion limit on secondary threads (because they tend to have smaller
stacks).

  • interpreter/Interpreter.cpp: (JSC::Interpreter::execute): (JSC::Interpreter::prepareForRepeatCall):
  • interpreter/Interpreter.h: (JSC::): Ditto. I wrote the recursion test slightly funny, so that the common case remains a simple compare to constant.
  • runtime/ArrayPrototype.cpp: (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): (JSC::arrayProtoFuncJoin): Conservatively, set the array recursion limits to the lower, secondary thread limit. We can do something fancier if compatibility moves us, but this seems sufficient for now.
17:11 Changeset [42733] by sfalken@apple.com

2009-04-21 Steve Falkenburg <sfalken@apple.com>

Minor clean-ups to WebKitCreateInstance change.


Reviewed by Jon Honeycutt.

  • WebKitCOMAPI.cpp: (classFactory): (WebKitCreateInstance):
16:30 Changeset [42732] by darin@apple.com

WebCore:

2009-04-21 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

Bug 25162: REGRESSION (r41176-r41242): Drag-selection above/below the line does not select to beginning/end
https://bugs.webkit.org/show_bug.cgi?id=25162
rdar://problem/6764354

  • page/Settings.cpp: (WebCore::Settings::Settings): Initialize editing behavior to Mac-style for PLATFORM(MAC). Later we may want to change this default to encompass other versions running on Mac.
  • page/Settings.h: Added EditingBehavior, setEditingBehavior, editingBehavior, and m_editingBehavior. Also moved m_maximumDecodedImageSize out of the middle of all the bit fields.
  • platform/graphics/IntPoint.h: Added a constructor to turn an IntSize into an IntPoint. I'm not sure the distinction here is serving us well at the moment. When converting from global to local coordinates you want to do IntPoint - IntPoint and have the result be another IntPoint, not an IntSize. And so on.
  • rendering/RenderBlock.cpp: (WebCore::positionForPointRespectingEditingBoundaries): Changed to use pointers more and separate coordinates less. (WebCore::RenderBlock::positionForPointWithInlineChildren): Turned into a member function. Added separate cases to support the Mac and Windows behavior. (WebCore::RenderBlock::positionForPoint): Updated for the change above. Also moved the computation of pointInContents closer to the place it's used.
  • rendering/RenderBlock.h: Updated for the new private member function.

LayoutTests:

2009-04-21 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

Bug 25162: REGRESSION (r41176-r41242): Drag-selection above/below the line does not select to beginning/end
https://bugs.webkit.org/show_bug.cgi?id=25162
rdar://problem/6764354

  • editing/selection/resources/click-in-margins-inside-editable-div.js: Updated to expect different results on the Mac.
  • editing/selection/resources/click-in-padding-with-multiple-line-boxes.js: Ditto.
  • fast/css-generated-content/positioned-background-hit-test-crash.html: Clear the selection at the end of the test so the result won't include a caret.
  • platform/mac/editing/selection/click-in-margins-inside-editable-div-expected.txt:
  • platform/mac/editing/selection/click-in-padding-with-multiple-line-boxes-expected.txt: Copied from LayoutTests/editing/selection. Then changed to expect the different Mac results.
  • platform/mac/editing/selection/select-from-textfield-outwards-expected.checksum:
  • platform/mac/editing/selection/select-from-textfield-outwards-expected.png:
  • platform/mac/editing/selection/select-from-textfield-outwards-expected.txt: Changed to expect the different Mac results.
  • platform/mac/fast/css-generated-content/positioned-background-hit-test-crash-expected.txt: Changed to expect no caret.
  • platform/win/editing/selection/click-in-margins-inside-editable-div-expected.txt:
  • platform/win/editing/selection/click-in-padding-with-multiple-line-boxes-expected.txt: Copied from editing/selection.
  • platform/win/editing/selection/select-from-textfield-outwards-expected.checksum:
  • platform/win/editing/selection/select-from-textfield-outwards-expected.png:
  • platform/win/editing/selection/select-from-textfield-outwards-expected.txt: Copied from platform/mac/editing/selection.
14:58 Changeset [42731] by aroben@apple.com

Update StringsNotToBeLocalized.txt for recent changes

Rubber-stamped by John Sullivan.

  • StringsNotToBeLocalized.txt:
14:35 Changeset [42730] by andersca@apple.com

2009-04-21 Anders Carlsson <andersca@apple.com>

Reviewed by Darin Adler and Kevin Decker.

WebKit side of <rdar://problem/6781642>.


When we call resize with an actual changed size, block until the plug-in host is done.


  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::resize):
  • Plugins/Hosted/WebHostedNetscapePluginView.h:
  • Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView updateAndSetWindow]):
  • Plugins/Hosted/WebKitPluginHost.defs:
14:10 Changeset [42729] by aroben@apple.com

Windows build fix after r42726

  • DumpRenderTree/win/DumpRenderTree.cpp: Touched to force a rebuild.
  • DumpRenderTree/win/DumpRenderTree.vcproj: Delete any pre-r42726 manifest files during the pre-build event.
13:52 Changeset [42728] by timothy@apple.com

Another attempt to fix the Windows and QT builds.

13:48 Changeset [42727] by timothy@apple.com

Attempt to fix the Windows and QT builds.

13:42 Changeset [42726] by sfalken@apple.com

WebKit/win:

2009-04-21 Steve Falkenburg <sfalken@apple.com>

Add registry-free CoCreateInstance API for WebKit clients: WebKitCreateInstance.

Manifest-based registry-free COM continues to work for clients that have embedded
manifests with isolated COM information.


Reviewed by Adam Roben.

  • WebKit.vcproj/WebKit.def: Added WebKitCreateInstance.
  • WebKit.vcproj/WebKit.vcproj: Link against rpcrt4.dll for UUID hashing.
  • WebKit.vcproj/WebKit_debug.def: Added WebKitCreateInstance.
  • WebKitCOMAPI.cpp: Added. (CLSIDHash::hash): (CLSIDHash::equal): (CLSIDHashTraits::constructDeletedValue): (CLSIDHashTraits::isDeletedValue): (classFactory): (WebKitCreateInstance): New API.
  • WebKitCOMAPI.h: Added.

WebKitTools:

2009-04-21 Steve Falkenburg <sfalken@apple.com>

Use new WebKitCreateInstance API instead of CoCreateInstance
or COMPtr's createInstance to instantiate WebKit COM objects.

Reviewed by Adam Roben.

  • DumpRenderTree/win/DumpRenderTree.cpp: (initialize): (runTest): (createWebViewAndOffscreenWindow): (main):
  • DumpRenderTree/win/DumpRenderTree.vcproj:
  • DumpRenderTree/win/GCControllerWin.cpp: (GCController::collect): (GCController::collectOnAlternateThread): (GCController::getJSObjectCount):
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::keepWebHistory): (LayoutTestController::webHistoryItemCount): (LayoutTestController::setIconDatabaseEnabled):
  • DumpRenderTree/win/WorkQueueItemWin.cpp: (LoadItem::invoke):
13:21 Changeset [42725] by timothy@apple.com

Change pending unload and beforeunload counts to store the listeners in a single data structure that can be quickly iterated for dispatch.

WebCore:

2009-04-17 Timothy Hatcher <timothy@apple.com>

Change pending unload and beforeunload counts to store the listeners
in a single data structure that can be quickly iterated for dispatch.

<rdar://problem/6383352&6383379&6383940>

Reviewed by Darin Adler.

  • WebCore.base.exp: Change what symbols are exported.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoading): Remove count updating code and move an if inside a block already checking m_frame->document().
  • page/Chrome.cpp: Remove disableSuddenTermination/enableSuddenTermination.
  • page/Chrome.h: Ditto.
  • page/ChromeClient.h: Ditto.
  • page/DOMWindow.cpp: (WebCore::pendingUnloadEventListenerMap): Create a static map. (WebCore::pendingBeforeUnloadEventListenerMap): Ditto. (WebCore::addPendingEventListener): Add the event listener to the map. (WebCore::removePendingEventListener): Remove the event listener from the map. (WebCore::removePendingEventListeners): Remove all listeners for the window. (WebCore::dispatchWindowEventToListeners): Dispatch the event to the given listeners. (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents): Send the beforeunload event. (WebCore::DOMWindow::pendingUnloadEventListeners): Return a count of pending listeners. (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): Send the unload event. (WebCore::DOMWindow::~DOMWindow): Remove the window from both event listener maps. (WebCore::DOMWindow::addEventListener): Call addPendingEventListener when needed. (WebCore::DOMWindow::removeEventListener): Call removePendingEventListener when needed. (WebCore::DOMWindow::removeAllEventListeners): Call removePendingEventListeners. (WebCore::DOMWindow::removeInlineEventListenerForType): Call removePendingEventListener when needed.
  • page/DOMWindow.h: (WebCore::DOMWindow::frame): Changed to be const.
  • page/EventHandler.cpp: (WebCore::EventHandler::EventHandler): Remove count tracking code.
  • page/EventHandler.h: Ditto.
  • page/Page.cpp: (WebCore::Page::Page): Ditto.
  • page/Page.h: Ditto.

WebKit/mac:

2009-04-17 Timothy Hatcher <timothy@apple.com>

Change how sudden termination works with WebView teardown.

<rdar://problem/6383352&6383379&6383940>

Reviewed by Darin Adler.

  • WebCoreSupport/WebChromeClient.h: Remove disableSuddenTermination/enableSuddenTermination.
  • WebCoreSupport/WebChromeClient.mm: Ditto.
  • WebView/WebFrame.mm: (-[WebFrame _pendingFrameUnloadEventCount]): Ask the DOMWindow.
  • WebView/WebView.mm: (+[WebView canCloseAllWebViews]): Call DOMWindow::dispatchAllPendingBeforeUnloadEvents. (+[WebView closeAllWebViews]): Call DOMWindow::dispatchAllPendingUnloadEvents and call close on all the WebViews. (-[WebView _closeWithFastTeardown]): Remove code for unload event dispatch. (-[WebView _close]): Correct a comment. (+[WebView _applicationWillTerminate]): Call closeAllWebViews.
  • WebView/WebViewPrivate.h: Add canCloseAllWebViews and closeAllWebViews.
12:58 Changeset [42724] by ggaren@apple.com

JavaScriptCore:

2009-04-21 Geoffrey Garen <ggaren@apple.com>

Rubber-stamped by Adam Roben.


Disabled one more Mozilla JS test because it fails intermittently on Windows.
(See https://bugs.webkit.org/show_bug.cgi?id=25160.)

  • tests/mozilla/expected.html:

WebKitTools:

2009-04-21 Geoffrey Garen <ggaren@apple.com>

Rubber-stamped by Adam Roben.


Disabled one more Mozilla JS test because it fails intermittently on Windows.
(See https://bugs.webkit.org/show_bug.cgi?id=25160.)

  • Scripts/run-javascriptcore-tests:
12:38 Changeset [42723] by darin@apple.com

2009-04-21 Darin Adler <darin@apple.com>

Reviewed by Adele Peterson.

Fix some tests that are depending on Mac vs. Windows selection quirks accidentally.
Added failing tests to the skipped list for SnowLeopard.

  • editing/resources/select-all-iframe-src.html: Moved.
  • editing/selection/resources/select-all-iframe-src.html: Moved from editing/resources/select-all-iframe-src.html, since this is used by a test in the selection directory. Changed mouse coordinates to be farther to the right so we don't depend on the rule for what's selected when you click below text on the last line.
  • editing/selection/select-all-iframe.html: Updated for new location of file above.
  • fast/events/standalone-image-drag-to-editable.html: Changed mouse coordinates to be farther to the right so we don't depend on the rule for what's selected when you click below text on the last line.
  • platform/mac-snowleopard/Skipped: Added some tests to the Skipped list.
  • svg/custom/pointer-events-path.svg: Clear the selection at the end of the test so it's not in the test results. Also removed unneeded use of the layout test controller.
  • platform/mac/editing/selection/select-all-iframe-expected.checksum: Generated new results.
  • platform/mac/editing/selection/select-all-iframe-expected.png: Ditto.
  • platform/mac/editing/selection/select-all-iframe-expected.txt: Ditto.
  • platform/mac/fast/events/standalone-image-drag-to-editable-expected.checksum: Ditto.
  • platform/mac/fast/events/standalone-image-drag-to-editable-expected.png: Ditto.
  • platform/mac/fast/events/standalone-image-drag-to-editable-expected.txt: Ditto.
  • platform/mac/svg/custom/pointer-events-path-expected.checksum: Ditto.
  • platform/mac/svg/custom/pointer-events-path-expected.png: Ditto.
  • platform/mac/svg/custom/pointer-events-path-expected.txt: Ditto.
12:20 Changeset [42722] by justin.garcia@apple.com

WebCore:

2009-04-21 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=19644
Text copied with Select All pastes with a indent but shouldn't
<rdar://problem/6102483>
Pasting the content of an HTML message in Mail causes addition nested <div> elements to be added


To improve selectall/copy/paste fidelity of certain pages, we began wrapping copied content with
a div that held properties and attributes from the fully selected body. To fix the above issues,
only do this if if the body has certain properties or attributes. We'll begin adding to this list as
necessary. For now it's just background colors and images. Tested copy/paste of nytimes, wired,
arstechnica, and several others.


Massive nesting can still happen, it will just be much less common.

  • editing/markup.cpp: (WebCore::createMarkup):

LayoutTests:

2009-04-21 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=19644
Text copied with Select All pastes with a indent but shouldn't
<rdar://problem/6102483>
Pasting the content of an HTML message in Mail causes addition nested <div> elements to be added

  • editing/pasteboard/19644-1-expected.txt: Added.
  • editing/pasteboard/19644-1.html: Added.
  • editing/pasteboard/19644-2-expected.txt: Added.
  • editing/pasteboard/19644-2.html: Added.
  • platform/mac/editing/inserting/insert-3907422-fix-expected.txt:
  • platform/mac/editing/pasteboard/paste-text-015-expected.checksum:
  • platform/mac/editing/pasteboard/paste-text-015-expected.png:
  • platform/mac/editing/pasteboard/paste-text-015-expected.txt:
  • platform/mac/editing/style/font-family-with-space-expected.txt:
11:34 Changeset [42721] by pkasting@chromium.org

2009-04-16 Peter Kasting <pkasting@google.com>

Reviewed by David Hyatt.

https://bugs.webkit.org/show_bug.cgi?id=25250
Allow platforms to snap the scroll thumb back to the drag origin
during a drag. Implement functions for Safari/Win and Chromium/Win
to do this snapping at distances approximating the native ones.

  • platform/Scrollbar.cpp: (WebCore::Scrollbar::Scrollbar): (WebCore::Scrollbar::setValue): (WebCore::Scrollbar::scroll): (WebCore::Scrollbar::moveThumb): (WebCore::Scrollbar::setCurrentPos): (WebCore::Scrollbar::mouseMoved): (WebCore::Scrollbar::mouseDown):
  • platform/Scrollbar.h:
  • platform/ScrollbarTheme.h: (WebCore::ScrollbarTheme::shouldSnapBackToDragOrigin):
  • platform/chromium/ScrollbarThemeChromium.h:
  • platform/chromium/ScrollbarThemeChromiumLinux.cpp: (WebCore::ScrollbarThemeChromium::shouldSnapBackToDragOrigin):
  • platform/chromium/ScrollbarThemeChromiumWin.cpp: (WebCore::ScrollbarThemeChromium::shouldSnapBackToDragOrigin):
  • platform/win/ScrollbarThemeWin.cpp: (WebCore::ScrollbarThemeWin::shouldCenterOnThumb): (WebCore::ScrollbarThemeWin::shouldSnapBackToDragOrigin):
  • platform/win/ScrollbarThemeWin.h:
11:15 Changeset [42720] by aroben@apple.com

Windows build fix

  • bindings/js/JSLazyEventListener.cpp: (WebCore::eventParameterName): Remove unreachable code when SVG is enabled.
11:09 Changeset [42719] by aroben@apple.com

Fix running run-safari and run-webkit-tests from the paths recommended on webkit.org

Reviewed by Steve Falkenburg and Sam Weinig.

  • Scripts/run-webkit-nightly.cmd: Moved quotes from variable definitions to variable uses. Otherwise cmd.exe can get confused about the quoting.
  • Scripts/run-webkit-tests: Changed to use an absolute path to execAppWithEnv so that run-webkit-tests will work when run from outside the source tree.
11:09 Changeset [42718] by aroben@apple.com

Rename JavaScriptCore_debug.dll to JavaScriptCore.dll in the Debug configuration

JavaScriptCore:

Rename JavaScriptCore_debug.dll to JavaScriptCore.dll in the Debug
configuration

This matches the naming scheme for WebKit.dll, and will be necessary
once Safari links against JavaScriptCore.dll. This change also causes
run-safari not to fail (because the launcher printed by FindSafari was
always looking for JavaScriptCore.dll, never
JavaScriptCore_debug.dll).

Part of Bug 25305: can't run safari or drt on windows
<https://bugs.webkit.org/show_bug.cgi?id=25305>

Reviewed by Steve Falkenburg and Sam Weinig.

WebKit/win:

Rename JavaScriptCore_debug.dll to JavaScriptCore.dll in the Debug
configuration

This matches the naming scheme for WebKit.dll, and will be necessary
once Safari links against JavaScriptCore.dll. This change also causes
run-safari not to fail (because the launcher printed by FindSafari was
always looking for JavaScriptCore.dll, never
JavaScriptCore_debug.dll).

Part of Bug 25305: can't run safari or drt on windows
<https://bugs.webkit.org/show_bug.cgi?id=25305>

Reviewed by Steve Falkenburg and Sam Weinig.

  • WebKit.vcproj/WebKit.vcproj: Use $(WebKitDLLConfigSuffix) for naming JavaScriptCore.{dll,lib}.

WebKitTools:

Rename JavaScriptCore_debug.dll to JavaScriptCore.dll in the Debug
configuration

This matches the naming scheme for WebKit.dll, and will be necessary
once Safari links against JavaScriptCore.dll. This change also causes
run-safari not to fail (because the launcher printed by FindSafari was
always looking for JavaScriptCore.dll, never
JavaScriptCore_debug.dll).

Part of Bug 25305: can't run safari or drt on windows
<https://bugs.webkit.org/show_bug.cgi?id=25305>

Reviewed by Steve Falkenburg and Sam Weinig.

  • DumpRenderTree/win/DumpRenderTree.vcproj: Use $(WebKitDLLConfigSuffix) for naming JavaScriptCore.{dll,lib}.
11:08 Changeset [42717] by aroben@apple.com

Fix JavaScriptCore build on VC++ Express

Reviewed by Steve Falkenburg and Sam Weinig.

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Link explicitly against gdi32.lib and oleaut32.lib.
11:04 BuildingOnWindows edited by aroben@apple.com
Removed now-obsolete comments about copying DLLs in order to run the … (diff)
10:26 Changeset [42716] by eric@webkit.org

2009-04-21 Dave Moore <davemoore@google.com> and Eric Seidel <eric@webkit.org>

Reviewed by Darin Adler.

Add test for (as of yet not implemented) HTML5 named option access.
https://bugs.webkit.org/show_bug.cgi?id=25191

I believe this will require separate implementations
for V8 and JSC the way our current bindings are designed.

  • fast/dom/HTMLSelectElement/named-options-expected.txt: Added.
  • fast/dom/HTMLSelectElement/named-options.html: Added.
  • fast/dom/HTMLSelectElement/resources/TEMPLATE.html: Copied from LayoutTests/fast/dom/CSSStyleDeclaration/resources/TEMPLATE.html.
  • fast/dom/HTMLSelectElement/resources/named-options.js: Added.
10:20 Changeset [42715] by kevino@webkit.org

!ENABLE(SVG) build fix.

10:00 Changeset [42714] by dglazkov@chromium.org

2009-04-21 Dave Moore <davemoore@google.com>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=25309
Better use AtomicStrings when calling from the V8
bindings into WebCore code.

  • bindings/v8/custom/V8DOMWindowCustom.cpp:
  • bindings/v8/custom/V8HTMLCollectionCustom.cpp:
  • bindings/v8/custom/V8HTMLFormElementCustom.cpp:
  • bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
09:19 Changeset [42713] by cfleizach@apple.com

Bug 25304: AX: Safari not identifying a secure text field
https://bugs.webkit.org/show_bug.cgi?id=25304

09:10 Changeset [42712] by mitz@apple.com
  • fix the Tiger build
  • page/mac/EventHandlerMac.mm: (method_setImplementation):
08:48 Changeset [42711] by cwzwarich@webkit.org

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

Reviewed by Darin Adler.

Add a test for bug 3235: CSS2: Table cell coalescing in CSS broken
<https://bugs.webkit.org/show_bug.cgi?id=3235>
<rdar://3299883/>

This was fixed long ago, but we should add a test to prevent a regression.

  • fast/table/cell-coalescing.html: Added.
  • platform/mac/fast/table/cell-coalescing-expected.txt: Added.
08:15 Changeset [42710] by ariya@webkit.org

2009-04-21 Antonio Gomes <antonio.gomes@openbossa.org>

Reviewed by Ariya Hidayat.

QWebElementSelection renamed to QWebElementCollection.

  • Api/qwebelement.cpp: (QWebElement::findAll): (QWebElementCollectionPrivate::QWebElementCollectionPrivate): (QWebElementCollectionPrivate::create): (QWebElementCollection::QWebElementCollection): (QWebElementCollection::operator=): (QWebElementCollection::~QWebElementCollection): (QWebElementCollection::operator+): (QWebElementCollection::append): (QWebElementCollection::count): (QWebElementCollection::at): (QWebElementCollection::toList):
  • Api/qwebelement.h:
  • Api/qwebframe.cpp: (QWebFrame::findAllElements):
  • Api/qwebframe.h:
  • QtLauncher/main.cpp: (MainWindow::selectElements):
  • tests/qwebelement/tst_qwebelement.cpp: (tst_QWebElement::simpleCollection): (tst_QWebElement::iteration): (tst_QWebElement::emptyCollection): (tst_QWebElement::appendCollection): (tst_QWebElement::nullSelect):
06:46 QtWebKitTodo edited by hausmann@webkit.org
(diff)
06:18 Changeset [42709] by ariya@webkit.org

2009-04-21 Laszlo Gombos <laszlo.1.gombos@nokia.com>

Reviewed by Sam Weinig.

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

Fix the build with disabled DOM storage or disabled database support.

  • bindings/js/ScriptObjectQuarantine.cpp:
  • bindings/js/ScriptObjectQuarantine.h:
03:03 QtWebKitTodo edited by kenneth.christiansen@gmail.com
(diff)
02:27 Changeset [42708] by zecke@webkit.org

Compile fix after r42633. const on a static method does not work

01:33 QtWebKitTodo edited by kenneth.christiansen@gmail.com
(diff)
00:52 Changeset [42707] by mitz@apple.com

Reviewed by Darin Adler and John Sullivan.

  • fix <rdar://problem/5914146> Crash at -[NSScrollView scrollWheel:]

-[NSScrollView scrollWheel:] runs a nested event-tracking run loop
in a mode that allows WebCore timers to fire and NSURLConnection
callbacks to be dispatched, which can release the NSScrollView and
cause it to be deallocated (one example is a DOM timer callback that
removes a subframe from the document). This leads to a crash in
-scrollView:.

The fix is to replace the implementation of -[NSScrollView scrollWheel:]
with one that optionally retains the receiver for the duration of the
call.

  • page/mac/EventHandlerMac.mm: (WebCore::nsScrollViewScrollWheelShouldRetainSelf): Added. (WebCore::setNSScrollViewScrollWheelShouldRetainSelf): Added. Replaces the implementation of -[NSScrollView scrollWheel:] with the self-retaining one, and sets a static boolean that tells it whether to retain the receiver around the call to the original implementation. (WebCore::selfRetainingNSScrollViewScrollWheel): Added. If setNSScrollViewScrollWheelShouldRetainSelf(true) was called and this function is executing on the main thread, it retains the NSScrollView, invokes the original -[NSScrollView scrollWheel:], then releases the view. Otherwise it just calls through to the original implementation. (WebCore::EventHandler::passWheelEventToWidget): Added calls to setNSScrollViewScrollWheelShouldRetainSelf() around the call to -scrollWheel:.
00:48 Changeset [42706] by sfalken@apple.com

Update FindSafari for JavaScriptCore DLL changes.
Also removed code previously needed to support running nightlies against Safari 3 on Windows.


Reviewed by Mark Rowe.

  • FindSafari/FindSafari.cpp: (getStringValue): (getInstalledWebKitDirectory): (_tmain):
00:23 Changeset [42705] by ggaren@apple.com

JavaScriptCore:

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

Reviewed by Mark Rowe.


Tiger crash fix: Put VM tags in their own header file, and fixed up the
#ifdefs so they're not used on Tiger.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • interpreter/RegisterFile.h: (JSC::RegisterFile::RegisterFile):
  • jit/ExecutableAllocatorFixedVMPool.cpp: (JSC::FixedVMPoolAllocator::FixedVMPoolAllocator):
  • jit/ExecutableAllocatorPosix.cpp: (JSC::ExecutablePool::systemAlloc):
  • runtime/Collector.cpp: (JSC::allocateBlock):
  • wtf/VMTags.h: Added.

JavaScriptGlue:

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

Reviewed by Mark Rowe.

Tiger crash fix: Put VM tags in their own header file, and fixed up the
#ifdefs so they're not used on Tiger.

  • ForwardingHeaders/wtf/VMTags.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/HashTraits.h.

WebCore:

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

Reviewed by Mark Rowe.

Tiger crash fix: Put VM tags in their own header file, and fixed up the
#ifdefs so they're not used on Tiger.

  • ForwardingHeaders/wtf/VMTags.h: Copied from WebCore/ForwardingHeaders/wtf/HashTraits.h.

WebKit/mac:

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

Reviewed by Mark Rowe.

Tiger crash fix: Put VM tags in their own header file, and fixed up the
#ifdefs so they're not used on Tiger.

  • ForwardingHeaders/wtf/VMTags.h: Copied from ForwardingHeaders/wtf/HashTraits.h.
00:02 Changeset [42704] by xan@webkit.org

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

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=21546
[GTK] ATK accessibility enhancements

Based on a patch by Alp Toker.

Implement AtkComponent interface.

  • page/gtk/AccessibilityObjectWrapperAtk.cpp: (core):
00:01 Changeset [42703] by xan@webkit.org

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

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=21546
[GTK] ATK accessibility enhancements

Implement window<->screen coordinate transformation functions.

  • WebCoreSupport/ChromeClientGtk.cpp: (WebKit::widgetScreenPosition): (WebKit::ChromeClient::windowToScreen): (WebKit::ChromeClient::screenToWindow):
00:01 Changeset [42702] by xan@webkit.org

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

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=21546
[GTK] ATK accessibility enhancements

Only implement AtkAction interface if we actually have an action.

  • page/gtk/AccessibilityObjectWrapperAtk.cpp:
Note: See TracTimeline for information about the timeline view.