Timeline


and

04/24/08:

23:45 Changeset [32536] by ggaren@apple.com

2008-04-24 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Geoffrey Garen.

Bug 18735: SQUIRRELFISH: closures are sometimes given an incorrect 'this' value when called
<https://bugs.webkit.org/show_bug.cgi?id=18735>

The overloaded toThisObject method was not copied over to JSActivation.

Fixes two regression tests.

  • kjs/JSActivation.cpp: (KJS::JSActivation::toThisObject):
  • kjs/JSActivation.h:
23:44 Changeset [32535] by ggaren@apple.com

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

Reviewed by Oliver Hunt.


Added support for arguments.callee.

23:42 Changeset [32534] by mrowe@apple.com

2008-04-24 Mark Rowe <mrowe@apple.com>

Rubber-stamped by Oliver Hunt.

  • WebCore.base.exp: Remove two symbols from the export list that don't need to be exported.
22:00 Changeset [32533] by oliver@apple.com

Bug 18628: SQUIRRELFISH: need to support recursion limit
<https://bugs.webkit.org/show_bug.cgi?id=18628>

Reviewed by Maciej

Partial fix -- this gets us some of the required bounds checking, but not
complete coverage. But it does manage to do them without regressing :D

21:04 Changeset [32532] by mitz@apple.com

WebCore:

Reviewed by Dave Hyatt.

Test: fast/dynamic/float-remove-above-line.html

  • rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): Avoid adding floats that do not intrude into the line to its floats vector. When such floats go away, they do not dirty the line (because they do not intersect with it) and having it keep them in its floats vector is what caused the crash.

LayoutTests:

Reviewed by Dave Hyatt.

  • fast/dynamic/float-remove-above-line-expected.txt: Added.
  • fast/dynamic/float-remove-above-line.html: Added.
19:04 Changeset [32531] by justin.garcia@apple.com

2008-04-24 Justin Garcia <justin.garcia@apple.com>

Reviewed by John Sullivan.


It is possible, despite our safeguards, for createMarkup to iterate past the end of the Range
that is passed to it. Added a null check to prevent crashes in this situation (we won't crash but
we will create too much markup), and added an ASSERT to hopefully catch the scenario in a debugger
and help us understand what's going on.

  • editing/markup.cpp: (WebCore::createMarkup):
18:29 Changeset [32530] by mrowe@apple.com

Remove code for calculating the glyph cache size.

Reviewed by Sam Weinig.

WebCore:

  • WebCore.base.exp: Remove unused symbol.
  • platform/graphics/mac/FontCacheMac.mm: Remove code that is unused now that we do not compute the glyph cache size.
  • platform/mac/WebCoreSystemInterface.h: Remove unused symbol.
  • platform/mac/WebCoreSystemInterface.mm: Ditto.

WebKit:

  • WebCoreSupport/WebSystemInterface.m:

(InitWebCoreSystemInterface): Remove unused symbol.

WebKitSystemInterface:

  • WebKitSystemInterface.h: Remove unused symbol.
  • libWebKitSystemInterfaceLeopard.a:
  • libWebKitSystemInterfaceTiger.a:
18:29 Changeset [32529] by mrowe@apple.com

Add a definition of BUILDING_ON_LEOPARD to complement BUILDING_ON_TIGER.

Reviewed by Sam Weinig.

17:58 Changeset [32528] by mrowe@apple.com

2008-04-24 Cameron McCormack <cam@mcc.id.au>

Reviewed by Maciej Stachowiak.

Ensure that changes to rx="" and ry="" attributes on an SVG <rect>
element cause a relayout.

Test: svg/dom/SVGRectElement/rect-modify-rx.svg

  • svg/SVGRectElement.cpp: (WebCore::SVGRectElement::svgAttributeChanged): Call needsLayout() when the attribute is rx or ry. (WebCore::SVGRectElement::hasRelativeValues): Return true when the attribute is rx or ry, since they also can have relative values.

2008-04-24 Cameron McCormack <cam@mcc.id.au>

Reviewed by Maciej Stachowiak.

Test for:
http://bugs.webkit.org/show_bug.cgi?id=18328
Modifying rx="" or ry="" on a <rect> doesn't relayout

  • svg/dom/SVGRectElement: Added.
  • svg/dom/SVGRectElement/rect-modify-rx-expected.txt: Added.
  • svg/dom/SVGRectElement/rect-modify-rx.svg: Added.
17:50 Changeset [32527] by mrowe@apple.com

2008-04-24 Jan Michael Alonzo <jmalonzo@unpluggable.com>

Reviewed by Maciej Stachowiak.

http://bugs.webkit.org/show_bug.cgi?id=18485
Typo and documentation fix for build-webkit

  • Scripts/build-webkit:
17:47 Changeset [32526] by mrowe@apple.com

2008-04-24 Adam Barth <hk9565@gmail.com>

Reviewed by Sam Weinig.

Update the XMLHttpRequest header black list to match the spec.

  • xml/XMLHttpRequest.cpp: (WebCore::isSafeRequestHeader):

2008-04-24 Adam Barth <hk9565@gmail.com>

Reviewed by Sam Weinig.

Test that we block headers beginning with "Sec-" as per spec.

  • http/tests/xmlhttprequest/set-dangerous-headers-expected.txt:
  • http/tests/xmlhttprequest/set-dangerous-headers.html:
17:47 Changeset [32525] by mrowe@apple.com

2008-04-22 Feng Qian <ian.eng.webkit@gmail.com>

Reviewed by Geoff Garen.

Fix https://bugs.webkit.org/show_bug.cgi?id=18677
Bug 18677: Synchronous event dispatch confuses the popup blocker into incorrectly blocking chat popups in gmail.com.

Test: fast/events/nested-window-event.html

  • bindings/js/kjs_events.cpp: (WebCore::JSAbstractEventListener::handleEvent): Save and restore the current event around the event dispatch.

2008-04-22 Feng Qian <ian.eng.webkit@gmail.com>

Reviewed by Geoff Garen.

Test for nested event handlers.

  • fast/events/nested-window-event-expected.txt: Added.
  • fast/events/nested-window-event.html: Added.
17:26 Changeset [32524] by beidson@apple.com

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

Reviewed by Teh Mitzpettel

Make it so PageGroups know what their own name is.

  • WebCore.base.exp:
  • page/Page.cpp: (WebCore::Page::setGroupName): (WebCore::Page::groupName):
  • page/Page.h:
  • page/PageGroup.cpp: Move the PageGroupMap into the PageGroup class. (WebCore::PageGroup::PageGroup): Added a c'tor that takes the group name as an argument instead of the initial Page. (WebCore::PageGroup::pageGroup): Handles creating and mapping names to groups
  • page/PageGroup.h: (WebCore::PageGroup::name):
16:20 Changeset [32523] by mitz@apple.com

WebKit/gtk:

  • build fix
  • webkit/webkitwebview.cpp:

WebKit/win:

  • build fix
  • WebView.cpp: (WebView::handleContextMenuEvent):
16:18 Changeset [32522] by ggaren@apple.com

Fixed up ChangeLog

16:18 Changeset [32521] by ggaren@apple.com

2008-04-24 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver.

Bug 18717: SQUIRRELFISH: eval returns the wrong value for a variable declaration statement
<https://bugs.webkit.org/show_bug.cgi?id=18717>

Fixes a regression test, but exposes the failure of another due to the
lack of getters and setters.

  • kjs/nodes.cpp: (KJS::ConstDeclNode::emitCodeSingle): (KJS::ConstDeclNode::emitCode): (KJS::ConstStatementNode::emitCode): (KJS::VarStatementNode::emitCode):
  • kjs/nodes.h:
15:58 Changeset [32520] by oliver@apple.com

Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver.

Bug 18717: SQUIRRELFISH: eval returns the wrong value for a variable declaration statement
<https://bugs.webkit.org/show_bug.cgi?id=18717>

Fixes a regression test, but exposes the failure of another due to the
lack of getters and setters.

15:56 Changeset [32519] by adele@apple.com

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

Reviewed by Darin.

Consolidate two versions of pathGetFileName.

  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Call FileSystem.h version of pathGetFileName and removed the static helper function.
  • platform/posix/FileSystemPOSIX.cpp: (WebCore::pathGetFileName): Moved general case from HTMLFormElement version here. If other platforms relied on that default they should implement this function for their platform specific version of FileSystem.cpp
  • platform/win/FileSystemWin.cpp: (WebCore::pathGetFileName): Moved win implementation from HTMLFormElement here.
  • platform/wx/FileSystemWx.cpp: (WebCore::pathGetFileName): Moved wx implementation from HTMLFormElement here.
14:49 Changeset [32518] by beidson@apple.com

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

Reviewed by Darin

Fix layout test regressions from my earlier preferences/settings tweak.

  • WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): Even if we're not posting the notification to update the settings, each WebView still needs to register for the notification - restore that behavior.
14:45 Changeset [32517] by andersca@apple.com

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

Windows build fix.


  • html/HTMLFormElement.cpp: (WebCore::pathGetFilename):
12:43 Changeset [32516] by hyatt@apple.com

Add svg mask example.

12:42 Changeset [32515] by hyatt@apple.com

Add svg file of a circle.

12:26 Changeset [32514] by hyatt@apple.com

Add more files.

12:21 Changeset [32513] by hyatt@apple.com

Add kate gradient pic.

12:16 Changeset [32512] by andersca@apple.com

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

Reviewed by Sam.

Don't call fprintf from the signal handler.


  • DumpRenderTree/mac/DumpRenderTree.mm: (crashHandler):
12:16 Changeset [32511] by hyatt@apple.com

Adjust files.

12:15 Changeset [32510] by andersca@apple.com

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

Don't crash when the string is empty.


  • html/HTMLMediaElement.cpp: (WebCore::parseTimeOffset):
12:12 Changeset [32509] by hyatt@apple.com

Add more files.

12:09 Changeset [32508] by mitz@apple.com

WebCore:

Reviewed by Darin Adler.

The three main changes in this patch are:

1) Making all inline boxes know their bidi level, instead of just text

boxes knowing whether their bidi level is odd or even. This is
required for the next change.

2) Replacing RenderObject::inlineBox() with

Position::getInlineBoxAndOffset() in recognition of the fact that the
inline box containing the primary caret for a position in a given
node may belong to a different node's renderer.

3) Changing RenderObject::caretRect() to take an InlineBox parameter,

and changing callers to call VisiblePosition::caretRect(), which
locates the inline box, then calls caretRect() on the renderer for
that box. This, combined with the previous change, ensures that the
primary caret is rendered at the right place for positions that
lie on a directionality boundary.

Test: platform/mac/editing/input/caret-primary-bidi.html

  • WebCore.base.exp: Added the VisiblePosition(Node*, int, EAffinity) constructor and VisiblePosition::caretRect(), and sorted.
  • dom/Position.cpp: (WebCore::nextRenderedEditable): Adjusted for the removal of RenderObject::inlineBox(). (WebCore::previousRenderedEditable): Ditto. (WebCore::Position::rendersInDifferentPosition): Ditto. (WebCore::Position::getInlineBoxAndOffset): Added. Gets the inline box and the offset within that box at which the primary caret for this position should render.
  • dom/Position.h:
  • editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::mergeParagraphs): Changed to call VisiblePosition::caretRect() instead of calling the RenderObject method.
  • editing/SelectionController.cpp: (WebCore::caretY): Ditto. (WebCore::SelectionController::xPosForVerticalArrowNavigation): Ditto. (WebCore::SelectionController::layout): Ditto.
  • editing/VisiblePosition.cpp: (WebCore::VisiblePosition::caretRect): Changed to call getInlineBoxAndOffset() to get the correct inline box and call the renderer for that box.
  • editing/VisiblePosition.h: (WebCore::VisiblePosition::getInlineBoxAndOffset): Added convenience methods for getting the inline box and caret offset for a visible position, accounting for its affinity.
  • editing/visible_units.cpp: (WebCore::rootBoxForLine): Changed to use getInlineBoxAndOffset() instead of RenderObject::inlineBox(). (WebCore::startPositionForLine): (WebCore::endPositionForLine): (WebCore::previousLinePosition): Ditto. (WebCore::nextLinePosition): Ditto.
  • page/AccessibilityObject.cpp: (WebCore::updateAXLineStartForVisiblePosition): Ditto.
  • page/Frame.cpp: (WebCore::Frame::firstRectForRange): Ditto.
  • rendering/InlineBox.cpp: (WebCore::InlineBox::caretMinOffset): Changed to forward to the renderer. (WebCore::InlineBox::caretMaxOffset): Ditto.
  • rendering/InlineBox.h: Replaced the m_reversed bit, intended for use in InlineTextBox only, with six bits of the bidi level of the box, intended for use in all leaf inline boxes. (WebCore::InlineBox::InlineBox): Added missing initializer for m_dirOverride and initialized the bidi level. (WebCore::InlineBox::bidiLevel): Added this accessor. (WebCore::InlineBox::setBidiLevel): Ditto. (WebCore::InlineBox::direction): Ditto. (WebCore::InlineBox::caretLeftmostOffset): Added this convenience method. (WebCore::InlineBox::caretRightmostOffset): Ditto.
  • rendering/InlineTextBox.cpp: Replaced all references to m_reversed with checking of direction(). (WebCore::InlineTextBox::selectionRect): (WebCore::InlineTextBox::placeEllipsisBox): (WebCore::InlineTextBox::paint): (WebCore::InlineTextBox::paintSelection): (WebCore::InlineTextBox::paintCompositionBackground): (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): (WebCore::InlineTextBox::paintTextMatchMarker): (WebCore::InlineTextBox::textPos): (WebCore::InlineTextBox::offsetForPosition): (WebCore::InlineTextBox::positionForOffset):
  • rendering/RenderBR.cpp: Removed inlineBox().
  • rendering/RenderBR.h: Ditto.
  • rendering/RenderBox.cpp: (WebCore::RenderBox::caretRect): Changed to take an inline box and account for the direction of the box (or the renderer) in positioning the caret: in right-to-left boxes, the "before" position is to the right while "after" is to the left.
  • rendering/RenderBox.h:
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::caretRect): Updated the signature.
  • rendering/RenderFlow.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::caretRect): Updated the signature. (WebCore::RenderObject::caretMaxOffset): Changed to return the child node count (or 1 if there are no children) for replaced elements, such as <select>s.
  • rendering/RenderObject.h:
  • rendering/RenderReplaced.cpp: Removed caretMinOffset() and caretMaxOffset() because the base class implementation does the right thing for replaced objects now.
  • rendering/RenderReplaced.h:
  • rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::caretRect): Updated the signature. (WebCore::RenderSVGInlineText::positionForCoordinates): Updated for the change from m_reversed to direction().
  • rendering/RenderSVGInlineText.h:
  • rendering/RenderText.cpp: (WebCore::RenderText::caretRect): Changed to take an inline box and removed the code that used to find the inline for the given position. Changed use of m_reversed to use direction(). (WebCore::RenderText::position): Changed use of m_reversed to use direction().
  • rendering/RenderText.h:
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::textWithHardLineBreaks): Adjusted for the removal of RenderObject::inlineBox().
  • rendering/RenderTreeAsText.cpp: (WebCore::writeTextRun): Changed to use direction() instead of m_reversed.
  • rendering/SVGInlineTextBox.cpp: Ditto. (WebCore::SVGInlineTextBox::calculateGlyphBoundaries): (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback): (WebCore::SVGInlineTextBox::svgCharacterHitsPosition):
  • rendering/SVGRenderTreeAsText.cpp: Ditto. (WebCore::writeSVGInlineTextBox):
  • rendering/SVGRootInlineBox.cpp: Ditto. (WebCore::svgTextRunForInlineTextBox): (WebCore::cummulatedWidthOrHeightOfTextChunk): (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
  • rendering/bidi.cpp: (WebCore::RenderBlock::constructLine): Made this function set the bidi level on all leaf boxes.
  • svg/SVGTextContentElement.cpp: Changed to use direction() instead of m_reversed. (WebCore::cumulativeCharacterRangeLength): (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):

WebKit/mac:

Reviewed by Darin Adler.

  • WebView/WebFrame.mm: (-[WebFrame _caretRectAtNode:offset:affinity:]): Changed to use VisiblePosition::caretRect() instead of the RenderObject method which was removed.

LayoutTests:

Reviewed by Darin Adler.

  • test the visual position of the primary caret in bidirectional text
  • platform/mac/editing/input/caret-primary-bidi-expected.txt: Added.
  • platform/mac/editing/input/caret-primary-bidi.html: Added.
12:09 Changeset [32507] by hyatt@apple.com

Check in kate image for blog post.

12:00 Changeset [32506] by hyatt@apple.com

Add blog files for mask post.

11:57 Changeset [32505] by beidson@apple.com

../mac:

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

Reviewed by Darin

Rework the Settings population again.

  • WebView/WebView.mm: (-[WebView _updateSettingsFromPreferences:]): This method is called both from _preferencesChangedNotification and directly from WebView's common init function. (-[WebView _preferencesChangedNotification:]): (-[WebView _commonInitializationWithFrameName:groupName:]): Call _updateSettingsFromPreferences immediately after creating the new Page

../win:

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

Reviewed by Darin

Revert my previous change to WebKit/Win until I can make it act more like the new Mac code

  • WebView.cpp: (WebView::initWithFrame):
11:53 Changeset [32504] by weinig@apple.com

2008-04-24 Sam Weinig <sam@webkit.org>

Fix the world.

  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::clear):
11:51 Changeset [32503] by hyatt@apple.com

Add blog images.

11:45 Changeset [32502] by weinig@apple.com

2008-04-24 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Add a #define to easily enable collecting on every allocation to aid
debugging GC bugs.

  • kjs/collector.cpp: (KJS::Collector::heapAllocate):
11:22 Changeset [32501] by ggaren@apple.com

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

Reviewed by Sam Weinig.


Print a CRASH statement when crashing, so test failures are not a
mystery.

  • kjs/testkjs.cpp: (handleCrash): (main):
10:54 Changeset [32500] by darin@apple.com

WebCore:

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

Reviewed by Geoff.

  • fix crash in regression test where we'd ask a frame for a user agent string after the WebView was already closed
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::scheduleHTTPRedirection): Quietly do nothing if this is called on a frame that's already detached from its page. (WebCore::FrameLoader::scheduleLocationChange): Ditto. (WebCore::FrameLoader::scheduleRefresh): Ditto. (WebCore::FrameLoader::scheduleHistoryNavigation): Ditto. (WebCore::FrameLoader::redirectionTimerFired): Assert that this is never called for a frame that's already detached from its page. (WebCore::FrameLoader::scheduleRedirection): Ditto. (WebCore::FrameLoader::startRedirectionTimer): Ditto.

WebKit/mac:

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

Reviewed by Geoff.

  • fix crash in regression test where we'd ask a frame for a user agent string after the WebView was already closed
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::userAgent): Assert that the WebView is not nil. Also added some code to prevent the crash in release builds if this problem happens again.
10:50 Changeset [32499] by timothy@apple.com

Add a new callFunction helper function to remove duplicate code
for calling JavaScript functions with arguments.

Reviewed by Darin Adler.

  • page/InspectorController.cpp:

(WebCore::InspectorController::callSimpleFunction): Call callFunction.
(WebCore::InspectorController::callFunction): Extended version of the original
callSimpleFunction, with script function arguments and an exception argument.
(WebCore::InspectorController::focusNode): Use callFunction.
(WebCore::InspectorController::addScriptResource): Ditto.
(WebCore::InspectorController::removeScriptResource): Ditto.
(WebCore::InspectorController::addDatabaseScriptResource): Ditto.
(WebCore::InspectorController::removeDatabaseScriptResource): Ditto.
(WebCore::InspectorController::addScriptConsoleMessage): Ditto.

  • page/InspectorController.h: Add callFunction.
10:45 Changeset [32498] by andersca@apple.com

WebCore:

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

Reviewed by Sam.

Change some String arguments to be const references instead.


  • css/CSSRule.cpp: (WebCore::CSSRule::setCssText):
  • css/CSSRule.h:
  • html/HTMLFormElement.cpp: (WebCore::pathGetFilename):
  • html/HTMLMediaElement.cpp: (WebCore::parseTimeOffset):
  • page/EditorClient.h:
  • platform/SecurityOrigin.cpp: (WebCore::isDefaultPortForProtocol):
  • platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::load):
  • platform/graphics/MediaPlayer.h:
  • rendering/MediaControlElements.cpp: (WebCore::MediaControlInputElement::MediaControlInputElement):
  • rendering/MediaControlElements.h:
  • svg/animation/SVGSMILElement.cpp: (WebCore::SVGSMILElement::Condition::Condition):
  • svg/animation/SVGSMILElement.h:
  • svg/graphics/SVGImageEmptyClients.h: (WebCore::SVGEmptyEditorClient::shouldInsertText):
  • xml/XSLTProcessor.cpp: (WebCore::createFragmentFromSource):

WebKit/gtk:

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

Reviewed by Sam.

Change some String arguments to be const references instead.

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::EditorClient::shouldInsertText):
  • WebCoreSupport/EditorClientGtk.h:

WebKit/mac:

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

Reviewed by Sam.

Change some String arguments to be const references instead.

  • WebCoreSupport/WebEditorClient.h:
  • WebCoreSupport/WebEditorClient.mm: (WebEditorClient::shouldInsertText):

WebKit/qt:

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

Reviewed by Sam.

Change some String arguments to be const references instead.

  • WebCoreSupport/EditorClientQt.cpp: (WebCore::EditorClientQt::shouldInsertText):
  • WebCoreSupport/EditorClientQt.h:

WebKit/win:

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

Reviewed by Sam.

Change some String arguments to be const references instead.

  • WebCoreSupport/WebEditorClient.cpp: (WebEditorClient::shouldInsertText):
  • WebCoreSupport/WebEditorClient.h:

WebKit/wx:

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

Reviewed by Sam.

Change some String arguments to be const references instead.

  • WebKitSupport/EditorClientWx.cpp: (WebCore::EditorClientWx::shouldInsertText):
  • WebKitSupport/EditorClientWx.h:
10:41 Changeset [32497] by justin.garcia@apple.com

WebCore:

2008-04-24 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin Adler.

<rdar://problem/5604313> FormatBlock to apply an h1 also inserts a style span around the first letter (16004)


  • editing/TextIterator.cpp: (WebCore::TextIterator::advance): We emit an extra newline when leaving a block element that has atypical margin/padding. When we emit the extra newline, it needs to be positioned after that block's contents, not after the block. This is how we position the first newline, too, since the range for emitted newlines should start where the line break begins visually.

LayoutTests:

2008-04-24 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin Adler.

<rdar://problem/5604313> FormatBlock leaves first letter incorrectly styled (16004)

  • editing/execCommand/5604313-expected.txt: Added.
  • editing/execCommand/5604313.html: Added.
10:25 Changeset [32496] by andersca@apple.com

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

Reviewed by Adam.

Only avoid implicit entries when doing the initial caching.


  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::didReceiveResponse): (WebCore::ApplicationCacheGroup::startLoadingEntry):
10:20 Changeset [32495] by kmccullough@apple.com

JavaScriptCore:

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

Reviewed by Adam and Sam.

-<rdar://problem/5770054> JavaScript profiler (10928)
-Only profile the page group that starts profiling to avoid profiling
tools that shouldn't be profiled unless explicitly requested to.

  • JavaScriptCore.exp: Export new signature.
  • kjs/JSGlobalObject.cpp: Add unique identifiers to the JSGlobalObject. (KJS::JSGlobalObject::init):
  • kjs/JSGlobalObject.h: Ditto. (KJS::JSGlobalObject::setPageGroupIdentifier): (KJS::JSGlobalObject::pageGroupIdentifier):
  • profiler/Profiler.cpp: Check the identifier of the page group of the lexical global exec state and only profile if it matches the given page group identifier. (KJS::Profiler::startProfiling): (KJS::Profiler::willExecute): (KJS::Profiler::didExecute):
  • profiler/Profiler.h: Ditto. (KJS::Profiler::Profiler):

WebCore:

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

Reviewed by Adam and Sam.

-<rdar://problem/5770054> JavaScript profiler (10928)
-Only profile the page group that starts profiling to avoid profiling
tools that shouldn't be profiled unless explicitly requested to.

  • bindings/js/kjs_proxy.cpp: When a new global object is created set its page group identifier. (WebCore::KJSProxy::clear): (WebCore::KJSProxy::initScript):
  • page/Console.cpp: When calling console.profile set the identifier of the page group being profiled. (WebCore::Console::profile):
  • page/PageGroup.cpp: Implement unique identifiers. (WebCore::getUniqueIdentifier): (WebCore::PageGroup::PageGroup):
  • page/PageGroup.h: Ditto. (WebCore::PageGroup::identifier):
10:11 Changeset [32494] by ggaren@apple.com

2008-04-24 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Geoffrey Garen.

Bug 18716: SQUIRRELFISH: typeof should return undefined for an undefined variable reference
<https://bugs.webkit.org/show_bug.cgi?id=18716>

This fixes 2 more regression tests.

  • kjs/nodes.cpp: (KJS::TypeOfResolveNode::emitCode):
10:09 SquirrelFish edited by ggaren@apple.com
(diff)
10:05 Changeset [32493] by ggaren@apple.com

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

Reviewed by Sam Weinig.


Put the callee in the call frame.


Necessary in order to support "arguments" and "arguments.callee".

Also fixes a latent GC bug, where an executing function could be
subject to GC if the register holding it were overwritten. Here's
an example that would have caused problems:


function f()
{

Flood the machine stack to eliminate any old pointers to f.
g.call({});


Overwrite f in the register file.
f = 1;

Force a GC.
for (var i = 0; i < 5000; ++i) {

({});

}


Welcome to crash-ville.

}

function g()
{
}

f();

  • VM/Machine.h: Changed the order of arguments to execute(FunctionBodyNode*...) to match the other execute functions.
  • kjs/function.cpp: Updated to match new argument requirements from execute(FunctionBodyNode*...). Renamed newObj to thisObj to match the rest of JavaScriptCore.

SunSpider reports no change.

09:55 Changeset [32492] by sullivan@apple.com

WebCore:

2008-04-24 John Sullivan <sullivan@apple.com>

Mac buid fix

  • page/mac/WebCoreViewFactory.h: add declarations of six new AX methods that were added to LocalizedStrings.h


  • platform/mac/LocalizedStringsMac.mm: (WebCore::AXButtonActionVerb): implement by calling through to WebCoreViewFactory as we do with the other functions here (WebCore::AXRadioButtonActionVerb): ditto (WebCore::AXTextFieldActionVerb): ditto (WebCore::AXCheckedCheckBoxActionVerb): ditto (WebCore::AXUncheckedCheckBoxActionVerb): ditto (WebCore::AXLinkActionVerb): ditto

WebKit/mac:

2008-04-24 John Sullivan <sullivan@apple.com>

Mac build fix


  • WebCoreSupport/WebViewFactory.mm: (-[WebViewFactory AXButtonActionVerb]): implement this method using the text in WebCoreLocalizedStrings.cpp (-[WebViewFactory AXRadioButtonActionVerb]): ditto (-[WebViewFactory AXTextFieldActionVerb]): ditto (-[WebViewFactory AXCheckedCheckBoxActionVerb]): ditto (-[WebViewFactory AXUncheckedCheckBoxActionVerb]): ditto (-[WebViewFactory AXLinkActionVerb]): ditto
09:33 Changeset [32491] by beidson@apple.com

../mac:

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

Reviewed by Sam Weinig

In some current work I noticed that when a new Page is created, it is possible that it requires info from its Settings
object before the Settings object is initialized. It seems quite prudent to post the preferences changed notification,
thereby populating the Settings object, immediately after the Page is created.

  • WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): Post the notification right after the Page is created

../win:

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

Reviewed by Sam Weinig

In some current work I noticed that when a new Page is created, it is possible that it requires info from its Settings
object before the Settings object is initialized. It seems quite prudent to post the preferences changed notification,
thereby populating the Settings object, immediately after the Page is created.

  • WebView.cpp: (WebView::initWithFrame): Post the notification right after the Page is created
08:23 Changeset [32490] by sullivan@apple.com

2008-04-24 John Sullivan <sullivan@apple.com>

Reviewed by Jess


  • fixed <rdar://problem/5886655> JavaScript input panel automatic resizing doesn't work right with HiDPI
  • Misc/WebNSControlExtras.m: (-[NSControl sizeToFitAndAdjustWindowHeight]): deploy userSpaceScaleFactor when using view distances on the window
07:07 Changeset [32489] by hausmann@webkit.org

Holger Hans Peter Freyther <zecke@selfish.org>

Cosmetic changes to make the code more readable.

-Early exit if we don't have a webview
-handle the empty tooltip and non-empty tooltip case separately

07:07 Changeset [32488] by hausmann@webkit.org

Fix text rendering in -reverse mode on Qt/Mac.

For Font::width() don't use a plain QFontMetrics object but also the properly
setup QTextLayout that has the RTL/LTR force flags set.

07:06 Changeset [32487] by hausmann@webkit.org

Tor Arne Vestbø <tavestbo@trolltech.com>

Don't do anti-aliasing for arcs, lines and rects, but continue to anti-alias
all drawing primitives in the HTML Canvas element.

This speeds up drawing of dashed outlines significantly.

Also preserve the anti-aliasing renderhint for transparency layers and
get rid of the mostly unused device pointer.

06:45 Changeset [32486] by hausmann@webkit.org

Paul Olav Tvete <paul@trolltech.com>

Fix various compiler warnings related to QString(const char *)
construction by using QLatin1String.

06:44 Changeset [32485] by hausmann@webkit.org

Paul Olav Tvete <paul@trolltech.com>

Automatically wrap tooltip text and hide a shown tooltip when it is empty.

QWidget::setTooltip("") will still show the old tooltip for up to 10 seconds.
Workaround as discussed with Matthias.

06:30 Changeset [32484] by hausmann@webkit.org

Morten Johan Sørvig <msorvig@trolltech.com>

Work around QMacStyle bug in repainting the vertical scrollbar.

We draw the scrollbar using HITheme but somehow the translation and the
clipping we previously set using ClipCGContextToRegion is ignored. Drawing
without the translation fixes the clip.

04:20 Changeset [32483] by hausmann@webkit.org

Holger Hans Peter Freyther <zecke@selfish.org>

Allow to disable caching completeley by calling setObjectCacheCapacities(0, 0, 0)

04:20 Changeset [32482] by hausmann@webkit.org

Holger Hans Peter Freyther <zecke@selfish.org>

  • Set an expiration date for local files as we do not know what will happen to these files (in contrast to a http server with max-age and other headers)
  • Remember the time when we started the job and use that for the expiration date
  • QNetworkManager does not handle expiration at all, we might want to set the expiration for all downloads but this will be a performance nightmare.
04:16 Changeset [32481] by hausmann@webkit.org

Fix the Gtk and Qt builds.

Added missing localization stubs for accessibility.

03:35 Changeset [32480] by hausmann@webkit.org

Benjamin Meyer <bmeyer@trolltech.com>

Improve keyboard scrolling

Match Down/Up keys scroll distance with Safari (i.e. faster) and add Home and End shortcuts to scroll to the top/botom.

03:20 Changeset [32479] by hausmann@webkit.org

Olivier Goffart <ogoffart@trolltech.com>

Fix various compiler warnings in the Qt port.

03:20 Changeset [32478] by hausmann@webkit.org

Andre Poenitz <andre.poenitz@trolltech.com>

Removed spurious QHideEvent forward declaration.

02:01 Changeset [32477] by jchaffraix@webkit.org

2008-04-24 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Simon.

Bug 15940: Implement threading API for Qt
https://bugs.webkit.org/show_bug.cgi?id=15940

Original patch by Justin Haygood, tweaked by me.

  • JavaScriptCore.pri:
  • wtf/ThreadingQt.cpp: Added. (WTF::threadMapMutex): (WTF::threadMap): (WTF::establishIdentifierForThread): (WTF::clearThreadForIdentifier): (WTF::threadForIdentifier): (WTF::initializeThreading): (WTF::ThreadPrivate::getReturnValue): (WTF::ThreadPrivate::ThreadPrivate): (WTF::ThreadPrivate::run): (WTF::createThread): (WTF::waitForThreadCompletion): return !res to return 0 on success (to match the pthreads implementation). (WTF::detachThread): (WTF::identifierByQthreadHandle): (WTF::currentThread): (WTF::Mutex::Mutex): (WTF::Mutex::~Mutex): (WTF::Mutex::lock): (WTF::Mutex::tryLock): (WTF::Mutex::unlock): (WTF::ThreadCondition::ThreadCondition): (WTF::ThreadCondition::~ThreadCondition): (WTF::ThreadCondition::wait): (WTF::ThreadCondition::timedWait): (WTF::ThreadCondition::signal):
01:53 Changeset [32476] by hausmann@webkit.org

Tor Arne Vestbø <tavestbo@trolltech.com>

Render text areas using Qt (ensures proper style).

01:53 Changeset [32475] by hausmann@webkit.org

Tor Arne Vestbø <tavestbo@trolltech.com>

Make mouse wheel events over scrollbars behave the same as in Qt, i.e. both
horizontal and vertical wheel events will scroll the view in the orientation
of the scrollbar underneath the cursor.

01:25 Changeset [32474] by jhoneycutt@apple.com

2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Brady.

Implement accDoDefaultAction().

  • AccessibleBase.cpp: (AccessibleBase::accDoDefaultAction): Call the object's performDefaultAction() method. Return S_FALSE if the call returns false, indicating that the object has no default action associated with it.
01:24 Changeset [32473] by jhoneycutt@apple.com

2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Adam.

Don't allow a hit test to return an AccessibilityObject that should be
ignored.

  • page/AccessibilityObject.cpp: (WebCore::AccessibilityObject::doAccessibilityHitTest): If this result object's accessibility is ignored, return the parent unignored object.
01:24 Changeset [32472] by jhoneycutt@apple.com

2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Adam.

Fix a crash when performing a hit test on an AccessibilityObject with
no layer (e.g., an AccessibilityObject for a RenderText object).

  • page/AccessibilityObject.cpp: (WebCore::AccessibilityObject::doAccessibilityHitTest): Added a null check for layer. Removed a null check for m_renderer, which shouldn't occur.
01:23 Changeset [32471] by jhoneycutt@apple.com

2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Adam.

Implement accHitTest().

  • AccessibleBase.cpp: (AccessibleBase::accHitTest): Perform a hit test for a child object. If none is found, report whether the point was within our own bounding box.
01:23 Changeset [32470] by jhoneycutt@apple.com

2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Adam and Darin.

Implement accNavigate().

  • AccessibleBase.cpp: (AccessibleBase::accNavigate): This method navigates between elements, given a start point and a direction. The directions UP, DOWN, LEFT, RIGHT are not are not implemented, matching Mozilla and IE. The directions FIRSTCHILD and LASTCHILD are only allowed from self. NEXT and PREVIOUS are allowed from self or any of our children.
01:22 Changeset [32469] by jhoneycutt@apple.com

2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Adam.

Implement accLocation().

  • AccessibleBase.cpp: (AccessibleBase::accLocation): Report the screen coordinates for the object's bounding box.
01:21 Changeset [32468] by jhoneycutt@apple.com

2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Adam.

Implement contentsToScreen() and screenToContents() on Windows.

  • platform/ScrollView.h: Make these declarations conditional on HAVE(ACCESSIBILITY) instead of PLATFORM(MAC).
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::contentsToScreen): Translate from coordinates relative to the ScrollView to coordinates relative to the screen. Do this by getting the offset of the ScrollView in screen coordinates and moving the rect by this amount. (WebCore::ScrollView::screenToContents): Translate from coordinates relative to the screen to coordinates relative to the ScrollView.
01:20 Changeset [32467] by jhoneycutt@apple.com

2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Adam, Darin, Oliver.

Implement get_accDefaultAction().

  • AccessibleBase.cpp: (AccessibleBase::get_accDefaultAction): Report the result of calling the object's actionVerb method.
  • English.lproj/Localizable.strings: Updated with new strings.
  • WebCoreLocalizedStrings.cpp: (WebCore::AXButtonActionVerb): Return a localized string representing the object's default action. (WebCore::AXRadioButtonActionVerb): Same. (WebCore::AXTextFieldActionVerb): Same. (WebCore::AXCheckedCheckBoxActionVerb): Same (WebCore::AXUncheckedCheckBoxActionVerb): Same. (WebCore::AXLinkActionVerb): Same.
01:19 Changeset [32466] by jhoneycutt@apple.com

2008-04-22 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Adam.

Implement get_accFocus().

  • AccessibleBase.cpp: (AccessibleBase::get_accRole): Remove redundant initialize; VariantInit does this. (AccessibleBase::get_accState): Same. (AccessibleBase::get_accSelection): Relocated next to accSelect(). (AccessibleBase::get_accFocus): If the focused object is this object or a child of this object, report it. Otherwise, report VT_EMPTY.
01:15 Changeset [32465] by christian@webkit.org

Reviewed by Alp Toker.

Emit a warning about an unknown setting only if it is
not a valid property. Otherwise applications can't
subclass WebKitWebSettings to add new properties.

  • webkit/webkitwebview.cpp:
00:55 Changeset [32464] by hausmann@webkit.org

Tor Arne Vestbø <tavestbo@trolltech.com>

Cleaned up copyright headers in the Qt port (removed misplaced class
descriptions and fixed inconsistent whitespace and indentation).

00:44 Changeset [32463] by hausmann@webkit.org

Tor Arne Vestbø <tavestbo@trolltech.com>

Added basic URL guessing to QtLauncher (same as in the demo browser).

00:44 Changeset [32462] by hausmann@webkit.org

Tor Arne Vestbø <tavestbo@trolltech.com>

Disable vanlilla focus rings since Qt provides this as part of the style.

00:38 Changeset [32461] by hausmann@webkit.org

George Staikos <george@staikos.net>

This optimization in BitmapImage::drawPattern for the identity
transform is bogus and causes incorrect results on sites like youtube.

00:31 Changeset [32460] by hausmann@webkit.org

Benjamin Meyer <bmeyer@trolltech.com>

Prevent double deletions of the default web interface.

04/23/08:

22:27 Changeset [32459] by mjs@apple.com

2008-04-23 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej.

Bug 18707: SQUIRRELFISH: eval always performs toString() on its argument
<https://bugs.webkit.org/show_bug.cgi?id=18707>

This fixes 4 more regression tests.

  • VM/Machine.cpp: (KJS::eval):
22:16 Changeset [32458] by mjs@apple.com

2008-04-23 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • fix logic bug in SegmentedVector::grow which would sometimes fail to resize a segment when needed


Fixes 3 JSC tests.

  • VM/SegmentedVector.h: (KJS::SegmentedVector::grow):
21:39 Changeset [32457] by ggaren@apple.com

2008-04-23 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


Degenerate handling of "arguments" as a property of the activation
object. Currently, we just return a vanilla object.


SunSpider reports no change.

Fixes:

ecma_3/Function/regress-94506.js.


Reveals to have been secretly broken:

ecma_3/Function/15.3.4.3-1.js
ecma_3/Function/15.3.4.4-1.js


These tests were passing incorrectly. testkjs creates a global array
named "arguments" to hold command-line arguments. That array was
tricking these tests into thinking that an arguments object with length
0 had been created. Since our new vanilla object shadows the global
property named arguments, that object no longer fools these tests into
passing.


Net change: +1 failing test.

  • kjs/AllInOneFile.cpp: Had to put JSActivation.cpp into AllInOneFile.cpp to solve a surprising 8.6% regression in bitops-3bit-bits-in-byte.
21:29 Changeset [32456] by mitz@apple.com

Rubber-stamped by Dave Hyatt.

  • update computed style results for border-image and mask-image
  • fast/css/computed-style-expected.txt:
  • fast/css/computed-style-without-renderer-expected.txt:
  • svg/css/getComputedStyle-basic-expected.txt:
20:55 Changeset [32455] by kevino@webkit.org

Reviewed by Alp Toker.

Typo fix to restore text entry.

20:39 Changeset [32454] by beidson@apple.com

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

Reviewed by Jon Honeycutt

Preparing for making LocalStorageAreas persistent.

Since LocalStorageAreas will need to do a lot of additional work for each of the basic
operations a Storage object supports, this patch makes the API entry points virtual so
LocalStorageArea can override them. The behavior for both Local and Session StorageAreas
is unchanged with this patch, but LocalStorageArea will override them in the future.

  • storage/StorageArea.cpp: Rename the implementations to internalFoo (WebCore::StorageArea::internalLength): (WebCore::StorageArea::internalKey): (WebCore::StorageArea::internalGetItem): (WebCore::StorageArea::internalSetItem): (WebCore::StorageArea::internalRemoveItem): (WebCore::StorageArea::internalContains):
  • storage/StorageArea.h: Call internalFoo variants (WebCore::StorageArea::length): (WebCore::StorageArea::key): (WebCore::StorageArea::getItem): (WebCore::StorageArea::setItem): (WebCore::StorageArea::removeItem): (WebCore::StorageArea::contains):
20:38 Changeset [32453] by mjs@apple.com

2008-04-23 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • save and restore callFrame
  • VM/Machine.cpp: (KJS::slideRegisterWindowForCall): (KJS::Machine::execute): (KJS::Machine::privateExecute):
  • kjs/testkjs.cpp: (main):
20:12 Changeset [32452] by hyatt@apple.com

WebCore:

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

Implement getComputedStyle for border-image.

Reviewed by Dan Bernstein

Added fast/css/getComputedStyle-border-image.html

  • css/CSSComputedStyleDeclaration.cpp: (WebCore::): (WebCore::valueForRepeatRule): (WebCore::valueForNinePieceImage): (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

LayoutTests:

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

Implement getComputedStyle for -webkit-border-image.

Reviewed by Dan Bernstein

  • fast/css/getComputedStyle-border-image-expected.txt: Added.
  • fast/css/getComputedStyle-border-image.html: Added.
15:55 Changeset [32451] by ggaren@apple.com

2008-04-23 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


Fixed scopes for named function expressions.


Fixes one regression test.


Two changes here:


(1) The function's name is supposed to have attributes DontDelete,
ReadOnly, regardless of the type of code executing.


(2) Push the name object on the function's scope chain, rather than
the ExecState's scope chain because, well, that's where it belongs.

14:41 Changeset [32450] by darin@apple.com

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

Reviewed by Anders.

  • simplify use of HashTraits to prepare for some upcoming hash table changes
  • page/AXObjectCache.h: Removed uneeded AXIDHashTraits, which are no different from the default hash traits for unsigned.
  • page/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::removeAXID): Remove assertion that's already done by HashTable that the value is not the deleted value.
  • platform/graphics/StringTruncator.cpp: Removed unneeded include.
  • svg/SVGFontFaceElement.cpp: Removed unneeded include.
14:41 Changeset [32449] by darin@apple.com

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

Reviewed by Anders.

  • simplify use of HashTraits to prepare for some upcoming hash table changes
  • kjs/SymbolTable.h: Made SymbolTableIndexHashTraits derive from HashTraits<size_t> and specialize only the empty value.
14:19 Changeset [32448] by kevino@webkit.org

wx build fixes. Changing BackgroundLayer -> FillLayer and adding Frame::disconnectPlatformScriptObjects()

14:00 Changeset [32447] by ggaren@apple.com

2008-04-23 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Inlined JSObject::putDirect, for a .4% SunSpider speedup.


I did this as a first step toward removing nodes.cpp from
AllInOneFile.cpp, but I'm putting that larger project aside for now.

13:31 Changeset [32446] by hyatt@apple.com

WebCore:

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

Add support for mask-box-image (similar to border-image). This property enables a single image
to overlay the entire mask area (with nine-piece slicing rules similar to border image).

Reviewed by Dan Bernstein

Added inline-mask-overlay.html, block-mask-overlay.html

  • css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  • css/CSSParser.cpp: (WebCore::CSSParser::parseValue): (WebCore::CSSParser::parseBorderImage):
  • css/CSSPropertyNames.in:
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paintMask):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::paintMask):
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::paintLines):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::paintNinePieceImage): (WebCore::RenderObject::paintBorder):
  • rendering/RenderObject.h:
  • rendering/RenderStyle.cpp: (WebCore::NinePieceImage::operator==):
  • rendering/RenderStyle.h: (WebCore::): (WebCore::NinePieceImage::m_verticalRule): (WebCore::NinePieceImage::horizontalRule): (WebCore::NinePieceImage::verticalRule): (WebCore::RenderStyle::borderImage): (WebCore::RenderStyle::maskOverlayImage): (WebCore::RenderStyle::hasMask): (WebCore::RenderStyle::resetBorderImage): (WebCore::RenderStyle::setBorderImage): (WebCore::RenderStyle::setMaskOverlayImage): (WebCore::RenderStyle::initialNinePieceImage):
  • rendering/RenderTable.cpp: (WebCore::RenderTable::paintMask):
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::paintMask):

LayoutTests:

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

Add support for a new mask-box-image property that is analogous to border-image.

Reviewed by Dan Bernstein

  • fast/borders/block-mask-overlay-image.html: Added.
  • fast/borders/inline-mask-overlay-image.html: Added.
  • fast/borders/resources/mask.png: Added.
  • platform/mac/fast/borders/block-mask-overlay-image-expected.checksum: Added.
  • platform/mac/fast/borders/block-mask-overlay-image-expected.png: Added.
  • platform/mac/fast/borders/block-mask-overlay-image-expected.txt: Added.
  • platform/mac/fast/borders/inline-mask-overlay-image-expected.checksum: Added.
  • platform/mac/fast/borders/inline-mask-overlay-image-expected.png: Added.
  • platform/mac/fast/borders/inline-mask-overlay-image-expected.txt: Added.
12:49 Changeset [32445] by mjs@apple.com

2008-04-23 Maciej Stachowiak <mjs@apple.com>

Rubber stamped by Geoff.


  • add OldInterpreterExecState class and use it in dead code


This will allow removing things from the real ExecState class
without having to figure out how to remove all this code without
getting a perf regression.

  • kjs/nodes.cpp: (KJS::ExpressionNode::evaluateToNumber): (KJS::ExpressionNode::evaluateToBoolean): (KJS::ExpressionNode::evaluateToInt32): (KJS::ExpressionNode::evaluateToUInt32): (KJS::Node::setErrorCompletion): (KJS::Node::throwError): (KJS::Node::throwUndefinedVariableError): (KJS::Node::handleException): (KJS::Node::rethrowException): (KJS::BreakpointCheckStatement::execute): (KJS::BreakpointCheckStatement::optimizeVariableAccess): (KJS::NullNode::evaluate): (KJS::FalseNode::evaluate): (KJS::TrueNode::evaluate): (KJS::NumberNode::evaluate): (KJS::NumberNode::evaluateToNumber): (KJS::NumberNode::evaluateToBoolean): (KJS::NumberNode::evaluateToInt32): (KJS::NumberNode::evaluateToUInt32): (KJS::ImmediateNumberNode::evaluate): (KJS::ImmediateNumberNode::evaluateToInt32): (KJS::ImmediateNumberNode::evaluateToUInt32): (KJS::StringNode::evaluate): (KJS::StringNode::evaluateToNumber): (KJS::StringNode::evaluateToBoolean): (KJS::RegExpNode::evaluate): (KJS::ThisNode::evaluate): (KJS::ResolveNode::inlineEvaluate): (KJS::ResolveNode::evaluate): (KJS::ResolveNode::evaluateToNumber): (KJS::ResolveNode::evaluateToBoolean): (KJS::ResolveNode::evaluateToInt32): (KJS::ResolveNode::evaluateToUInt32): (KJS::getSymbolTableEntry): (KJS::ResolveNode::optimizeVariableAccess): (KJS::LocalVarAccessNode::inlineEvaluate): (KJS::LocalVarAccessNode::evaluate): (KJS::LocalVarAccessNode::evaluateToNumber): (KJS::LocalVarAccessNode::evaluateToBoolean): (KJS::LocalVarAccessNode::evaluateToInt32): (KJS::LocalVarAccessNode::evaluateToUInt32): (KJS::getNonLocalSymbol): (KJS::ScopedVarAccessNode::inlineEvaluate): (KJS::ScopedVarAccessNode::evaluate): (KJS::ScopedVarAccessNode::evaluateToNumber): (KJS::ScopedVarAccessNode::evaluateToBoolean): (KJS::ScopedVarAccessNode::evaluateToInt32): (KJS::ScopedVarAccessNode::evaluateToUInt32): (KJS::NonLocalVarAccessNode::inlineEvaluate): (KJS::NonLocalVarAccessNode::evaluate): (KJS::NonLocalVarAccessNode::evaluateToNumber): (KJS::NonLocalVarAccessNode::evaluateToBoolean): (KJS::NonLocalVarAccessNode::evaluateToInt32): (KJS::NonLocalVarAccessNode::evaluateToUInt32): (KJS::ElementNode::optimizeVariableAccess): (KJS::ElementNode::evaluate): (KJS::ArrayNode::optimizeVariableAccess): (KJS::ArrayNode::evaluate): (KJS::ObjectLiteralNode::optimizeVariableAccess): (KJS::ObjectLiteralNode::evaluate): (KJS::PropertyListNode::optimizeVariableAccess): (KJS::PropertyListNode::evaluate): (KJS::PropertyNode::optimizeVariableAccess): (KJS::PropertyNode::evaluate): (KJS::BracketAccessorNode::optimizeVariableAccess): (KJS::BracketAccessorNode::inlineEvaluate): (KJS::BracketAccessorNode::evaluate): (KJS::BracketAccessorNode::evaluateToNumber): (KJS::BracketAccessorNode::evaluateToBoolean): (KJS::BracketAccessorNode::evaluateToInt32): (KJS::BracketAccessorNode::evaluateToUInt32): (KJS::DotAccessorNode::optimizeVariableAccess): (KJS::DotAccessorNode::inlineEvaluate): (KJS::DotAccessorNode::evaluate): (KJS::DotAccessorNode::evaluateToNumber): (KJS::DotAccessorNode::evaluateToBoolean): (KJS::DotAccessorNode::evaluateToInt32): (KJS::DotAccessorNode::evaluateToUInt32): (KJS::ArgumentListNode::optimizeVariableAccess): (KJS::ArgumentListNode::evaluateList): (KJS::ArgumentsNode::optimizeVariableAccess): (KJS::NewExprNode::optimizeVariableAccess): (KJS::NewExprNode::inlineEvaluate): (KJS::NewExprNode::evaluate): (KJS::NewExprNode::evaluateToNumber): (KJS::NewExprNode::evaluateToBoolean): (KJS::NewExprNode::evaluateToInt32): (KJS::NewExprNode::evaluateToUInt32): (KJS::ExpressionNode::resolveAndCall): (KJS::EvalFunctionCallNode::optimizeVariableAccess): (KJS::EvalFunctionCallNode::evaluate): (KJS::FunctionCallValueNode::optimizeVariableAccess): (KJS::FunctionCallValueNode::evaluate): (KJS::FunctionCallResolveNode::optimizeVariableAccess): (KJS::FunctionCallResolveNode::inlineEvaluate): (KJS::FunctionCallResolveNode::evaluate): (KJS::FunctionCallResolveNode::evaluateToNumber): (KJS::FunctionCallResolveNode::evaluateToBoolean): (KJS::FunctionCallResolveNode::evaluateToInt32): (KJS::FunctionCallResolveNode::evaluateToUInt32): (KJS::LocalVarFunctionCallNode::inlineEvaluate): (KJS::LocalVarFunctionCallNode::evaluate): (KJS::LocalVarFunctionCallNode::evaluateToNumber): (KJS::LocalVarFunctionCallNode::evaluateToBoolean): (KJS::LocalVarFunctionCallNode::evaluateToInt32): (KJS::LocalVarFunctionCallNode::evaluateToUInt32): (KJS::ScopedVarFunctionCallNode::inlineEvaluate): (KJS::ScopedVarFunctionCallNode::evaluate): (KJS::ScopedVarFunctionCallNode::evaluateToNumber): (KJS::ScopedVarFunctionCallNode::evaluateToBoolean): (KJS::ScopedVarFunctionCallNode::evaluateToInt32): (KJS::ScopedVarFunctionCallNode::evaluateToUInt32): (KJS::NonLocalVarFunctionCallNode::inlineEvaluate): (KJS::NonLocalVarFunctionCallNode::evaluate): (KJS::NonLocalVarFunctionCallNode::evaluateToNumber): (KJS::NonLocalVarFunctionCallNode::evaluateToBoolean): (KJS::NonLocalVarFunctionCallNode::evaluateToInt32): (KJS::NonLocalVarFunctionCallNode::evaluateToUInt32): (KJS::FunctionCallBracketNode::optimizeVariableAccess): (KJS::FunctionCallBracketNode::evaluate): (KJS::FunctionCallDotNode::optimizeVariableAccess): (KJS::FunctionCallDotNode::inlineEvaluate): (KJS::FunctionCallDotNode::evaluate): (KJS::FunctionCallDotNode::evaluateToNumber): (KJS::FunctionCallDotNode::evaluateToBoolean): (KJS::FunctionCallDotNode::evaluateToInt32): (KJS::FunctionCallDotNode::evaluateToUInt32): (KJS::PostIncResolveNode::optimizeVariableAccess): (KJS::PostIncResolveNode::evaluate): (KJS::PostIncLocalVarNode::evaluate): (KJS::PostDecResolveNode::optimizeVariableAccess): (KJS::PostDecResolveNode::evaluate): (KJS::PostDecLocalVarNode::evaluate): (KJS::PostDecLocalVarNode::inlineEvaluateToNumber): (KJS::PostDecLocalVarNode::evaluateToNumber): (KJS::PostDecLocalVarNode::evaluateToBoolean): (KJS::PostDecLocalVarNode::evaluateToInt32): (KJS::PostDecLocalVarNode::evaluateToUInt32): (KJS::PostfixBracketNode::optimizeVariableAccess): (KJS::PostIncBracketNode::evaluate): (KJS::PostDecBracketNode::evaluate): (KJS::PostfixDotNode::optimizeVariableAccess): (KJS::PostIncDotNode::evaluate): (KJS::PostDecDotNode::evaluate): (KJS::PostfixErrorNode::evaluate): (KJS::DeleteResolveNode::optimizeVariableAccess): (KJS::DeleteResolveNode::evaluate): (KJS::LocalVarDeleteNode::evaluate): (KJS::DeleteBracketNode::optimizeVariableAccess): (KJS::DeleteBracketNode::evaluate): (KJS::DeleteDotNode::optimizeVariableAccess): (KJS::DeleteDotNode::evaluate): (KJS::DeleteValueNode::optimizeVariableAccess): (KJS::DeleteValueNode::evaluate): (KJS::VoidNode::optimizeVariableAccess): (KJS::VoidNode::evaluate): (KJS::TypeOfValueNode::optimizeVariableAccess): (KJS::TypeOfResolveNode::optimizeVariableAccess): (KJS::LocalVarTypeOfNode::evaluate): (KJS::TypeOfResolveNode::evaluate): (KJS::TypeOfValueNode::evaluate): (KJS::PreIncResolveNode::optimizeVariableAccess): (KJS::PreIncLocalVarNode::evaluate): (KJS::PreIncResolveNode::evaluate): (KJS::PreDecResolveNode::optimizeVariableAccess): (KJS::PreDecLocalVarNode::evaluate): (KJS::PreDecResolveNode::evaluate): (KJS::PreIncConstNode::evaluate): (KJS::PreDecConstNode::evaluate): (KJS::PostIncConstNode::evaluate): (KJS::PostDecConstNode::evaluate): (KJS::PrefixBracketNode::optimizeVariableAccess): (KJS::PreIncBracketNode::evaluate): (KJS::PreDecBracketNode::evaluate): (KJS::PrefixDotNode::optimizeVariableAccess): (KJS::PreIncDotNode::evaluate): (KJS::PreDecDotNode::evaluate): (KJS::PrefixErrorNode::evaluate): (KJS::UnaryPlusNode::optimizeVariableAccess): (KJS::UnaryPlusNode::evaluate): (KJS::UnaryPlusNode::evaluateToBoolean): (KJS::UnaryPlusNode::evaluateToNumber): (KJS::UnaryPlusNode::evaluateToInt32): (KJS::UnaryPlusNode::evaluateToUInt32): (KJS::NegateNode::optimizeVariableAccess): (KJS::NegateNode::evaluate): (KJS::NegateNode::evaluateToNumber): (KJS::BitwiseNotNode::optimizeVariableAccess): (KJS::BitwiseNotNode::inlineEvaluateToInt32): (KJS::BitwiseNotNode::evaluate): (KJS::BitwiseNotNode::evaluateToNumber): (KJS::BitwiseNotNode::evaluateToBoolean): (KJS::BitwiseNotNode::evaluateToInt32): (KJS::BitwiseNotNode::evaluateToUInt32): (KJS::LogicalNotNode::optimizeVariableAccess): (KJS::LogicalNotNode::evaluate): (KJS::LogicalNotNode::evaluateToBoolean): (KJS::MultNode::optimizeVariableAccess): (KJS::MultNode::inlineEvaluateToNumber): (KJS::MultNode::evaluate): (KJS::MultNode::evaluateToNumber): (KJS::MultNode::evaluateToBoolean): (KJS::MultNode::evaluateToInt32): (KJS::MultNode::evaluateToUInt32): (KJS::DivNode::optimizeVariableAccess): (KJS::DivNode::inlineEvaluateToNumber): (KJS::DivNode::evaluate): (KJS::DivNode::evaluateToNumber): (KJS::DivNode::evaluateToInt32): (KJS::DivNode::evaluateToUInt32): (KJS::ModNode::optimizeVariableAccess): (KJS::ModNode::inlineEvaluateToNumber): (KJS::ModNode::evaluate): (KJS::ModNode::evaluateToNumber): (KJS::ModNode::evaluateToBoolean): (KJS::ModNode::evaluateToInt32): (KJS::ModNode::evaluateToUInt32): (KJS::throwOutOfMemoryErrorToNumber): (KJS::addSlowCase): (KJS::addSlowCaseToNumber): (KJS::add): (KJS::addToNumber): (KJS::AddNode::optimizeVariableAccess): (KJS::AddNode::evaluate): (KJS::AddNode::inlineEvaluateToNumber): (KJS::AddNode::evaluateToNumber): (KJS::AddNode::evaluateToInt32): (KJS::AddNode::evaluateToUInt32): (KJS::AddNumbersNode::inlineEvaluateToNumber): (KJS::AddNumbersNode::evaluate): (KJS::AddNumbersNode::evaluateToNumber): (KJS::AddNumbersNode::evaluateToInt32): (KJS::AddNumbersNode::evaluateToUInt32): (KJS::AddStringsNode::evaluate): (KJS::AddStringLeftNode::evaluate): (KJS::AddStringRightNode::evaluate): (KJS::SubNode::optimizeVariableAccess): (KJS::SubNode::inlineEvaluateToNumber): (KJS::SubNode::evaluate): (KJS::SubNode::evaluateToNumber): (KJS::SubNode::evaluateToInt32): (KJS::SubNode::evaluateToUInt32): (KJS::LeftShiftNode::optimizeVariableAccess): (KJS::LeftShiftNode::inlineEvaluateToInt32): (KJS::LeftShiftNode::evaluate): (KJS::LeftShiftNode::evaluateToNumber): (KJS::LeftShiftNode::evaluateToInt32): (KJS::LeftShiftNode::evaluateToUInt32): (KJS::RightShiftNode::optimizeVariableAccess): (KJS::RightShiftNode::inlineEvaluateToInt32): (KJS::RightShiftNode::evaluate): (KJS::RightShiftNode::evaluateToNumber): (KJS::RightShiftNode::evaluateToInt32): (KJS::RightShiftNode::evaluateToUInt32): (KJS::UnsignedRightShiftNode::optimizeVariableAccess): (KJS::UnsignedRightShiftNode::inlineEvaluateToUInt32): (KJS::UnsignedRightShiftNode::evaluate): (KJS::UnsignedRightShiftNode::evaluateToNumber): (KJS::UnsignedRightShiftNode::evaluateToInt32): (KJS::UnsignedRightShiftNode::evaluateToUInt32): (KJS::lessThan): (KJS::lessThanEq): (KJS::LessNode::optimizeVariableAccess): (KJS::LessNode::inlineEvaluateToBoolean): (KJS::LessNode::evaluate): (KJS::LessNode::evaluateToBoolean): (KJS::LessNumbersNode::inlineEvaluateToBoolean): (KJS::LessNumbersNode::evaluate): (KJS::LessNumbersNode::evaluateToBoolean): (KJS::LessStringsNode::inlineEvaluateToBoolean): (KJS::LessStringsNode::evaluate): (KJS::LessStringsNode::evaluateToBoolean): (KJS::GreaterNode::optimizeVariableAccess): (KJS::GreaterNode::inlineEvaluateToBoolean): (KJS::GreaterNode::evaluate): (KJS::GreaterNode::evaluateToBoolean): (KJS::LessEqNode::optimizeVariableAccess): (KJS::LessEqNode::inlineEvaluateToBoolean): (KJS::LessEqNode::evaluate): (KJS::LessEqNode::evaluateToBoolean): (KJS::GreaterEqNode::optimizeVariableAccess): (KJS::GreaterEqNode::inlineEvaluateToBoolean): (KJS::GreaterEqNode::evaluate): (KJS::GreaterEqNode::evaluateToBoolean): (KJS::InstanceOfNode::optimizeVariableAccess): (KJS::InstanceOfNode::evaluate): (KJS::InstanceOfNode::evaluateToBoolean): (KJS::InNode::optimizeVariableAccess): (KJS::InNode::evaluate): (KJS::InNode::evaluateToBoolean): (KJS::EqualNode::optimizeVariableAccess): (KJS::EqualNode::inlineEvaluateToBoolean): (KJS::EqualNode::evaluate): (KJS::EqualNode::evaluateToBoolean): (KJS::NotEqualNode::optimizeVariableAccess): (KJS::NotEqualNode::inlineEvaluateToBoolean): (KJS::NotEqualNode::evaluate): (KJS::NotEqualNode::evaluateToBoolean): (KJS::StrictEqualNode::optimizeVariableAccess): (KJS::StrictEqualNode::inlineEvaluateToBoolean): (KJS::StrictEqualNode::evaluate): (KJS::StrictEqualNode::evaluateToBoolean): (KJS::NotStrictEqualNode::optimizeVariableAccess): (KJS::NotStrictEqualNode::inlineEvaluateToBoolean): (KJS::NotStrictEqualNode::evaluate): (KJS::NotStrictEqualNode::evaluateToBoolean): (KJS::BitAndNode::optimizeVariableAccess): (KJS::BitAndNode::evaluate): (KJS::BitAndNode::inlineEvaluateToInt32): (KJS::BitAndNode::evaluateToNumber): (KJS::BitAndNode::evaluateToBoolean): (KJS::BitAndNode::evaluateToInt32): (KJS::BitAndNode::evaluateToUInt32): (KJS::BitXOrNode::optimizeVariableAccess): (KJS::BitXOrNode::inlineEvaluateToInt32): (KJS::BitXOrNode::evaluate): (KJS::BitXOrNode::evaluateToNumber): (KJS::BitXOrNode::evaluateToBoolean): (KJS::BitXOrNode::evaluateToInt32): (KJS::BitXOrNode::evaluateToUInt32): (KJS::BitOrNode::optimizeVariableAccess): (KJS::BitOrNode::inlineEvaluateToInt32): (KJS::BitOrNode::evaluate): (KJS::BitOrNode::evaluateToNumber): (KJS::BitOrNode::evaluateToBoolean): (KJS::BitOrNode::evaluateToInt32): (KJS::BitOrNode::evaluateToUInt32): (KJS::LogicalAndNode::optimizeVariableAccess): (KJS::LogicalAndNode::evaluate): (KJS::LogicalAndNode::evaluateToBoolean): (KJS::LogicalOrNode::optimizeVariableAccess): (KJS::LogicalOrNode::evaluate): (KJS::LogicalOrNode::evaluateToBoolean): (KJS::ConditionalNode::optimizeVariableAccess): (KJS::ConditionalNode::evaluate): (KJS::ConditionalNode::evaluateToBoolean): (KJS::ConditionalNode::evaluateToNumber): (KJS::ConditionalNode::evaluateToInt32): (KJS::ConditionalNode::evaluateToUInt32): (KJS::valueForReadModifyAssignment): (KJS::ReadModifyResolveNode::optimizeVariableAccess): (KJS::AssignResolveNode::optimizeVariableAccess): (KJS::ReadModifyLocalVarNode::evaluate): (KJS::AssignLocalVarNode::evaluate): (KJS::ReadModifyConstNode::evaluate): (KJS::AssignConstNode::evaluate): (KJS::ReadModifyResolveNode::evaluate): (KJS::AssignResolveNode::evaluate): (KJS::AssignDotNode::optimizeVariableAccess): (KJS::AssignDotNode::evaluate): (KJS::ReadModifyDotNode::optimizeVariableAccess): (KJS::ReadModifyDotNode::evaluate): (KJS::AssignErrorNode::evaluate): (KJS::AssignBracketNode::optimizeVariableAccess): (KJS::AssignBracketNode::evaluate): (KJS::ReadModifyBracketNode::optimizeVariableAccess): (KJS::ReadModifyBracketNode::evaluate): (KJS::CommaNode::optimizeVariableAccess): (KJS::CommaNode::evaluate): (KJS::ConstDeclNode::optimizeVariableAccess): (KJS::ConstDeclNode::handleSlowCase): (KJS::ConstDeclNode::evaluateSingle): (KJS::ConstDeclNode::evaluate): (KJS::ConstStatementNode::optimizeVariableAccess): (KJS::ConstStatementNode::execute): (KJS::statementListExecute): (KJS::BlockNode::optimizeVariableAccess): (KJS::BlockNode::execute): (KJS::EmptyStatementNode::execute): (KJS::ExprStatementNode::optimizeVariableAccess): (KJS::ExprStatementNode::execute): (KJS::VarStatementNode::optimizeVariableAccess): (KJS::VarStatementNode::execute): (KJS::IfNode::optimizeVariableAccess): (KJS::IfNode::execute): (KJS::IfElseNode::optimizeVariableAccess): (KJS::IfElseNode::execute): (KJS::DoWhileNode::optimizeVariableAccess): (KJS::DoWhileNode::execute): (KJS::WhileNode::optimizeVariableAccess): (KJS::WhileNode::execute): (KJS::ForNode::optimizeVariableAccess): (KJS::ForNode::execute): (KJS::ForInNode::optimizeVariableAccess): (KJS::ForInNode::execute): (KJS::ContinueNode::execute): (KJS::BreakNode::execute): (KJS::ReturnNode::optimizeVariableAccess): (KJS::ReturnNode::execute): (KJS::WithNode::optimizeVariableAccess): (KJS::WithNode::execute): (KJS::CaseClauseNode::optimizeVariableAccess): (KJS::CaseClauseNode::evaluate): (KJS::CaseClauseNode::executeStatements): (KJS::ClauseListNode::optimizeVariableAccess): (KJS::CaseBlockNode::optimizeVariableAccess): (KJS::CaseBlockNode::executeBlock): (KJS::SwitchNode::optimizeVariableAccess): (KJS::SwitchNode::execute): (KJS::LabelNode::optimizeVariableAccess): (KJS::LabelNode::execute): (KJS::ThrowNode::optimizeVariableAccess): (KJS::ThrowNode::execute): (KJS::TryNode::optimizeVariableAccess): (KJS::TryNode::execute): (KJS::ProgramNode::initializeSymbolTable): (KJS::ScopeNode::optimizeVariableAccess): (KJS::ProgramNode::processDeclarations): (KJS::EvalNode::processDeclarations): (KJS::ProgramNode::execute): (KJS::EvalNode::execute): (KJS::FunctionBodyNodeWithDebuggerHooks::execute): (KJS::FuncDeclNode::execute): (KJS::FuncExprNode::evaluate):
  • kjs/nodes.h: (KJS::Node::): (KJS::FalseNode::): (KJS::TrueNode::): (KJS::ArgumentsNode::):
12:36 Changeset [32444] by oliver@apple.com

Bug 18672: SQUIRRELFISH: codegen fails with a large number of temporaries
<https://bugs.webkit.org/show_bug.cgi?id=18672>

Reviewed by Geoff

Add a SegmentedVector type, which provides a Vector<T> which maintains
existing memory locations during resize. This allows dynamically sizing
local, temporary and label "vectors" in CodeGenerator.

11:25 Changeset [32443] by justin.garcia@apple.com

WebCore:

2008-04-23 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin Adler.

<rdar://problem/5825350> OWA: Caret disappears when navigating with arrows keys in contenteditable div

  • editing/htmlediting.cpp: (WebCore::firstEditablePositionAfterPositionInRoot): Return a null VisiblePosition if this function moves out of highestRoot. Re-wrote so as to not duplicate code inside and outside of the while loop. (WebCore::lastEditablePositionBeforePositionInRoot): Ditto.

LayoutTests:

2008-04-23 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin Adler.

<rdar://problem/5825350> OWA: Caret disappears when navigating with arrows keys in contenteditable div

  • editing/selection/5825350-1-expected.txt: Added.
  • editing/selection/5825350-1.html: Added.
  • editing/selection/5825350-2-expected.txt: Added.
  • editing/selection/5825350-2.html: Added.
10:49 Changeset [32442] by pewtermoose@webkit.org

WebCore:

2008-04-23 Daniel Zucker <zucker@wake3.com>

Reviewed by Adam Roben.

Fix build errors needed to compile Curl in Cairo build. Add stubs for
didReceiveAuthenticationChallenge, receivedCredential,
receivedRequestToContinueWithoutCredential, and receivedCancellation.
<https://bugs.webkit.org/show_bug.cgi?id=18468>

  • platform/network/ResourceHandle.h:
  • platform/network/curl/ResourceHandleCurl.cpp: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): (WebCore::ResourceHandle::receivedCredential): (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential): (WebCore::ResourceHandle::receivedCancellation):

WebKit/win:

2008-04-23 Daniel Zucker <zucker@wake3.com>

Reviewed by Adam Roben.

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

  • WebError.h: include RetainPtr.h to fix build errors in Cairo build
10:43 Changeset [32441] by pewtermoose@webkit.org

2008-04-23 Daniel Zucker <zucker@wake3.com>

Reviewed by Adam Roben.

Move the location of #if USE(CFNETWORK) to fix a cairo/curl build error.
<https://bugs.webkit.org/show_bug.cgi?id=18470>

  • WebError.cpp: (WebError::sslPeerCertificate):
10:35 Changeset [32440] by aroben@apple.com

Make crashes be reported as crashes, not hangs

Reviewed by David Kilzer.

  • Scripts/run-webkit-tests: (top level): Use the new status field of the output from readFromDumpToolWithTimer to determine if the test crashed or hung. (sub readFromDumpToolWithTimer):
    • If we fail to read a line and $! is not EAGAIN, then we've crashed and should not try to read any more.
    • Changed the timedout field to a more general status field.
09:08 Changeset [32439] by darin@apple.com

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

  • updated a test affected by the addition of mask-composite
  • svg/css/getComputedStyle-basic-expected.txt: Updated.
07:50 Changeset [32438] by mitz@apple.com

WebCore:

Reviewed by Darin Adler.

  • fix a bug where moving forward in bidirectional text skips over the position after the end of the line

Test: editing/selection/move-past-trailing-space.html

  • dom/Position.cpp: (WebCore::Position::upstream): Changed the logic for identifying when a position is after the last character of a text box of a text node that continues on the next line, to make it work correctly when boxes are not laid out in logical order. (WebCore::Position::downstream): Ditto.

LayoutTests:

Reviewed by Darin Adler.

  • test that moving forward through bidirectional text does not skip the position after the last character on the line
  • editing/selection/move-past-trailing-space.html: Added.
  • platform/mac/editing/selection/move-past-trailing-space-expected.checksum: Added.
  • platform/mac/editing/selection/move-past-trailing-space-expected.png: Added.
  • platform/mac/editing/selection/move-past-trailing-space-expected.txt: Added.
07:45 Changeset [32437] by hausmann@webkit.org

Fix compilation against Qt 4.3

07:44 Changeset [32436] by ggaren@apple.com

2008-04-23 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


A little refactoring in preparation for supporting 'arguments'.


Fixes 2 regression tests.

SunSpider reports no change.

We now check the activation register, instead of the codeBlock, to
determine whether we need to tear off the activation. This is to support
"f.arguments", which will create an activation/arguments pair for f,
even though the needsFullScopeChain flag is false for f's codeBlock.


The test fixes resulted from calling initializeCallFrame for re-entrant
function code, instead of initializing (not enough) parts of the call
frame by hand.

07:36 Changeset [32435] by hausmann@webkit.org

Holger Hans Peter Freyther <zecke@selfish.org>

  • Make sure the "Inspect Element" item gets added to the ContextMenu, a call to ContextMenu::populate() is not adding it, the ContextMenuController does add it after the call to populate(). Do that as well.
07:36 Changeset [32434] by hausmann@webkit.org

Brad Hughes <bhughes@trolltech.com>

Fix release build with the intel compiler

Intel compiler can't compile qtwebkit with -O2 or -O1, so we're left with -O0

07:36 Changeset [32433] by hausmann@webkit.org

Simon Hausmann <hausmann@webkit.org>

Fix crashes on window.close().

We should not delete the QWebPage object in the ChromeClient but leave it up to
the application when and whether to delete a browser window. For this we now
emit the windowCloseRequested() signal.

Done with Tor Arne.

07:21 Changeset [32432] by hausmann@webkit.org

Fix parsing of external scripts/stylesheets when using setHtml(const QString &html).

We used to pass the html string to the frameloader in utf-16, which also meant that the default
encoding of external scripts/stylesheets became utf-16. That doesn't make sense, so assume utf-8
by default. This is now also documented.

06:58 Changeset [32431] by hausmann@webkit.org

Holger Hans Peter Freyther <zecke@selfish.org>

Removed the #define for USE_SYSTEM_MALLOC that we set in WebKit.pri
already.

01:31 Changeset [32430] by hausmann@webkit.org

Benjamin Meyer <bmeyer@trolltech.com>

Fixes background color propagation when using a custom QWebPage

Set the palette in setPage(), not during the creation on-demand.

01:26 Changeset [32429] by hausmann@webkit.org

Benjamin Meyer <bmeyer@trolltech.com>

Fix the user agent on the mac to be BSD4

Put Q_OS_DARWIN before Q_OS_BSD4 sense they are both defined on the mac

01:07 Changeset [32428] by hausmann@webkit.org

Added missing copyright notice.
Small fixes to the documentation.

00:49 Changeset [32427] by hausmann@webkit.org

Zack Rusin <zack@tungstengraphics.com>

Added a contentsSize() property.

04/22/08:

21:22 Changeset [32426] by mitz@apple.com

Reviewed by Anders Carlsson.

  • remove unused calls to Position::upstream()
  • editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::insertNodeAfterPosition): (WebCore::InsertLineBreakCommand::insertNodeBeforePosition):
21:19 Changeset [32425] by jhoneycutt@apple.com

2008-04-22 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Sam.

Implement get_accKeyboardShortcut().

  • AccessibleBase.cpp: (AccessibleBase::get_accKeyboardShortcut): Report the key combination that will perform the object's access key action, represented as a string.
21:18 Changeset [32424] by jhoneycutt@apple.com

2008-04-22 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Sam.

Add a method to query which modifier keys the platform uses for access
key actions.

  • page/EventHandler.cpp: (WebCore::EventHandler::handleAccessKey): Bitwise and the event's modifier keys with the platform's access key modifier mask to determine whether this event can perform an access key action.
  • page/EventHandler.h: Added s_accessKeyModifiers, a platform-defined mask of modifier keys used for access key actions, and a getter.
  • page/mac/EventHandlerMac.mm: Use PlatformKeyboardEvent::CtrlKey for access key actions.
  • page/qt/EventHandlerQt.cpp: Same.
  • page/gtk/EventHandlerGtk.cpp: Use AltKey.
  • page/win/EventHandlerWin.cpp: Same.
  • page/wx/EventHandlerWx.cpp: Same.
  • platform/PlatformKeyboardEvent.h: Added an enum, ModifierKey. (WebCore::PlatformKeyboardEvent::): (WebCore::PlatformKeyboardEvent::modifiers): Return which modifier keys were active, a combination of ModifierKey values.
20:58 Changeset [32423] by mjs@apple.com

2008-04-22 Maciej Stachowiak <mjs@apple.com>

Reviewed by Sam.


  • propagate the "this" value properly to local eval


(fixes a measly one regression test)

  • VM/CodeBlock.h: (KJS::CodeBlock::CodeBlock): (KJS::ProgramCodeBlock::ProgramCodeBlock): (KJS::EvalCodeBlock::EvalCodeBlock):
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
20:52 Changeset [32422] by weinig@apple.com

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

Reviewed by Maciej Stachowiak.

Make the KJSProxy and FrameLoader member variables instead of pointers
in FramePrivate in a bid to do a little clean up before the last of the
split window patches. Also, make the KJSProxy not lazily created, as the
real benefit comes from lazily creating the JSDOMWindowWrapper, which we
still do.

  • page/Frame.cpp: (WebCore::Frame::~Frame): (WebCore::Frame::init): (WebCore::Frame::loader): (WebCore::Frame::scriptProxy): (WebCore::Frame::document): (WebCore::Frame::setDocument): (WebCore::Frame::clearScriptProxy): (WebCore::Frame::pageDestroyed): (WebCore::FramePrivate::FramePrivate): (WebCore::FramePrivate::~FramePrivate):
  • page/FramePrivate.h:
20:42 Changeset [32421] by mitz@apple.com

WebCore:

2008-04-22 Anatoli Papirovski <apapirovski@mac.com>

Reviewed by Dan Bernstein.

  • fix https://bugs.webkit.org/show_bug.cgi?id=18584 border-color, outline-color, column-color, -webkit-text-stroke-color, and -webkit-text-fill-color inheritance to correctly use parent's color if the parent's corresponding (border, outline, etc.)-color property wasn't set.

Test: fast/borders/border-color-inherit.html

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty):

LayoutTests:

2008-04-22 Anatoli Papirovski <apapirovski@mac.com>

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=18584
Add a test case for border-color inheritance.

  • fast/borders/border-color-inherit.html: Added.
  • platform/mac/fast/borders/border-color-inherit-expected.checksum: Added.
  • platform/mac/fast/borders/border-color-inherit-expected.png: Added.
  • platform/mac/fast/borders/border-color-inherit-expected.txt: Added.
20:14 Changeset [32420] by alp@webkit.org

2008-04-22 Alp Toker <alp@nuanti.com>

GTK+ debug build fix for changes in r32257.

  • GNUmakefile.am:
20:13 Changeset [32419] by mjs@apple.com

2008-04-22 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej.

Add support for function declarations in eval code.

(this fixes 12 more regression tests)


  • VM/CodeBlock.h:
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::CodeGenerator):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::execute):
  • kjs/nodes.cpp: (KJS::EvalNode::generateCode):
19:15 Changeset [32418] by alp@webkit.org

2008-04-22 Alp Toker <alp@nuanti.com>

Rubber-stamped by Dave Hyatt.

Move GraphicsContext::clipToImageBuffer() notImplemented() stub to
GraphicsContextCairo.

  • platform/graphics/GraphicsContext.cpp:
  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::clipToImageBuffer):
19:13 Changeset [32417] by hyatt@apple.com

WebCore:

2008-04-22 David Hyatt <hyatt@apple.com>

Add support for mask-composite to match background-composite.

Reviewed by Sam Weinig

Added fast/backgrounds/mask-composite.html

  • css/CSSComputedStyleDeclaration.cpp: (WebCore::): (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  • css/CSSParser.cpp: (WebCore::CSSParser::parseValue): (WebCore::CSSParser::parseFillProperty):
  • css/CSSPropertyNames.in:
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paintMask):

LayoutTests:

2008-04-22 David Hyatt <hyatt@apple.com>

Add support for mask-composite.

Reviewed by Sam Weinig

  • fast/backgrounds/mask-composite.html: Added.
  • fast/backgrounds/resources/mask-bottom-left.png: Added.
  • fast/backgrounds/resources/mask-bottom-right.png: Added.
  • fast/backgrounds/resources/mask-bottom.png: Added.
  • fast/backgrounds/resources/mask-center.png: Added.
  • fast/backgrounds/resources/mask-left.png: Added.
  • fast/backgrounds/resources/mask-right.png: Added.
  • fast/backgrounds/resources/mask-top-left.png: Added.
  • fast/backgrounds/resources/mask-top-right.png: Added.
  • fast/backgrounds/resources/mask-top.png: Added.
  • platform/mac/fast/backgrounds/mask-composite-expected.checksum: Added.
  • platform/mac/fast/backgrounds/mask-composite-expected.png: Added.
  • platform/mac/fast/backgrounds/mask-composite-expected.txt: Added.
17:45 Changeset [32416] by hyatt@apple.com

2008-04-22 David Hyatt <hyatt@apple.com>

Fix for bug 18688, background-color stopped painting on inlines. Fix a virtual function
misnaming that led to the derived class not getting called properly.

Reviewed by Mark Rowe

  • ChangeLog:
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paintFillLayer):
  • rendering/RenderObject.h: (WebCore::RenderObject::paintFillLayerExtended):
17:21 Changeset [32415] by mjs@apple.com

2008-04-22 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver.

Implement LabelNode.

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::pushJumpContext): (KJS::CodeGenerator::jumpContextForContinue): (KJS::CodeGenerator::jumpContextForBreak):
  • VM/CodeGenerator.h:
  • kjs/nodes.cpp: (KJS::DoWhileNode::emitCode): (KJS::WhileNode::emitCode): (KJS::ForNode::emitCode): (KJS::ForInNode::emitCode): (KJS::ContinueNode::emitCode): (KJS::BreakNode::emitCode): (KJS::SwitchNode::emitCode): (KJS::LabelNode::emitCode):
17:16 Changeset [32414] by hyatt@apple.com

Add new layout test results.

17:13 Changeset [32413] by beidson@apple.com

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

Reviewed by Sam Weinig

<rdar://problem/5733282> and https://bugs.webkit.org/show_bug.cgi?id=18680
Always loads default shortcut icon URL when an external <script> is referenced before the icon URL is set.

  • dom/Document.cpp: (WebCore::Document::implicitClose): Call FrameLoader->startIconLoader() here, when the document is finished parsing.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::endIfNotLoadingMainResource): Don't start the icon load here, when the document is finished parsing. This was often too early, as document parsing may be blocked on an external script and therefore the correct iconURL is not set yet. The isLoadingFromCachedPage() check was when we started the icon load based on *loading* instead parsing, and is now irrelevant.
  • loader/FrameLoader.h: Make startIconLoader() public
16:52 Changeset [32412] by antti@apple.com

2008-04-22 Antti Koivisto <antti@apple.com>

Update SVG animation test results.

  • platform/mac/svg/W3C-SVG-1.1/animate-elem-33-t-expected.txt:
16:51 Changeset [32411] by antti@apple.com

2008-04-22 Antti Koivisto <antti@apple.com>

Reviewed by Oliver.

Support keyPoints attribute of <animateMotion>.


Tested by SVG test suite test
animate-elem-33-t.svg

  • svg/SVGAnimateMotionElement.cpp: (WebCore::SVGAnimateMotionElement::parseMappedAttribute):
  • svg/SVGAnimationElement.cpp: (WebCore::parseKeyTimes): (WebCore::SVGAnimationElement::parseMappedAttribute): (WebCore::SVGAnimationElement::calculatePercentForSpline): (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints): (WebCore::SVGAnimationElement::currentValuesFromKeyPoints): (WebCore::SVGAnimationElement::currentValuesForValuesAnimation): (WebCore::SVGAnimationElement::startedActiveInterval): (WebCore::SVGAnimationElement::updateAnimation):
  • svg/SVGAnimationElement.h:
15:37 Changeset [32410] by ggaren@apple.com

2008-04-22 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Fixed crash when unwinding from exceptions inside eval.

  • VM/Machine.cpp: (KJS::Machine::unwindCallFrame): Don't assume that the top of the current call frame's scope chain is an activation: it can be the global object, instead.
15:34 Changeset [32409] by mjs@apple.com

2008-04-22 Maciej Stachowiak <mjs@apple.com>

Reviewed by Geoff.

  • kjs/testkjs.cpp: (main): Convert signals to exit codes, so that crashing tests are detected as regression test failures.
14:49 Changeset [32408] by zecke@webkit.org

2008-04-22 Holger Hans Peter Freyther <zecke@selfish.org>

Unreviewed build fix.

Update WebKit.qrc to catch up with the addition and removal of images
from page/inspector/Images in recent commits.

  • page/inspector/WebKit.qrc:
14:44 Changeset [32407] by ddkilzer@apple.com

Bug 18683: update-webkit returns 0 even if it fails

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

Reviewed by Mitz Pettel.

  • Scripts/update-webkit: (runSvnUpdate): Die if close() fails.
14:40 Changeset [32406] by hyatt@apple.com

WebCore:

2008-04-22 David Hyatt <hyatt@apple.com>

Fix for <rdar://5589634>.

Implement CSS alpha masks. The syntax is very similar to that used for backgrounds. Multiple mask images
can be specified, and each one can be tiled, positioned, etc. The following new properties have been
added (all of which are analogous to their background-* counterparts).

mask, mask-image, mask-clip, mask-origin, mask-repeat, mask-attachment, mask-position

The alpha values in the final composite image are used to determine how the mask applies (alpha of 1 = show,
alpha of 0 = don't show).

SVG images and CSS gradients can also be used as masks.

Reviewed by Dan

Added fast/backgrounds/repeat/mask-negative-offset-repeat.html, fast/backgrounds/svg-as-mask.html

  • css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::getPropertyValue): (WebCore::initShorthandMap):
  • css/CSSParser.cpp: (WebCore::CSSParser::parseFillProperty): (WebCore::CSSParser::parseTransformOrigin):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle): (WebCore::CSSStyleSelector::applyProperty):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paint): (WebCore::InlineFlowBox::paintFillLayers): (WebCore::InlineFlowBox::paintFillLayer): (WebCore::InlineFlowBox::paintBoxDecorations): (WebCore::InlineFlowBox::paintMask):
  • rendering/InlineFlowBox.h:
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::paint): (WebCore::RenderBlock::paintObject):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::paintRootBoxDecorations): (WebCore::RenderBox::paintBoxDecorations): (WebCore::RenderBox::paintMask): (WebCore::RenderBox::paintFillLayers): (WebCore::RenderBox::paintFillLayer): (WebCore::RenderBox::paintFillLayerExtended):
  • rendering/RenderBox.h:
  • rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::paintBoxDecorations): (WebCore::RenderFieldset::paintMask):
  • rendering/RenderFieldset.h:
  • rendering/RenderInline.cpp: (WebCore::RenderInline::requiresLayer):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::isTransparent): (WebCore::RenderLayer::paintLayer):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::requiresLayer): (WebCore::mustRepaintFillLayers): (WebCore::RenderObject::mustRepaintBackgroundOrBorder): (WebCore::RenderObject::setStyle): (WebCore::RenderObject::updateFillImages):
  • rendering/RenderObject.h: (WebCore::): (WebCore::RenderObject::hasMask): (WebCore::RenderObject::paintMask): (WebCore::RenderObject::paintFillExtended):
  • rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::paint):
  • rendering/RenderStyle.cpp: (WebCore::FillLayer::FillLayer): (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  • rendering/RenderStyle.h: (WebCore::FillLayer::initialFillComposite): (WebCore::FillLayer::initialFillSize): (WebCore::FillLayer::FillLayer): (WebCore::RenderStyle::hasMask):
  • rendering/RenderTable.cpp: (WebCore::RenderTable::paint): (WebCore::RenderTable::paintBoxDecorations): (WebCore::RenderTable::paintMask):
  • rendering/RenderTable.h:
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::requiresLayer): (WebCore::RenderTableCell::paintBackgroundsBehindCell): (WebCore::RenderTableCell::paintMask):
  • rendering/RenderTableCell.h:
  • rendering/RenderWidget.cpp: (WebCore::RenderWidget::paint):
  • svg/graphics/SVGImage.cpp: (WebCore::SVGImage::draw): (WebCore::SVGImage::dataChanged):

LayoutTests:

2008-04-22 David Hyatt <hyatt@apple.com>

Add support for CSS alpha masks. Test cases.

Reviewed by Dan

  • fast/backgrounds/repeat/mask-negative-offset-repeat.html: Added.
  • fast/backgrounds/repeat/resources/white.gif: Added.
  • fast/backgrounds/svg-as-mask.html: Added.
14:38 Changeset [32405] by weinig@apple.com

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

Reviewed by Geoffrey Garen.

Make DOMAbstractView have a weak reference to the Frame instead of ref'ing
the DOMWindow.

To ensure that the WindowScriptObject (which is a DOMAbstractView) stays valid
after a navigation once the split window is completed, the DOMAbstractView must
wrap the Frame instead of a DOMWindow since the DOMWindow will change.

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/objc/DOMAbstractView.mm: Added. (-[DOMAbstractView dealloc]): (-[DOMAbstractView finalize]): (-[DOMAbstractView document]): (-[DOMAbstractView _disconnectFrame]): (-[DOMAbstractView WebCore::]): (-[DOMAbstractView _initWithFrame:WebCore::]): (+[DOMAbstractView _wrapAbstractView:WebCore::]): Add custom implementation to implement weak reference semantics.
  • bindings/objc/DOMAbstractViewFrame.h: Added. Declare the [DOMAbstractView _disconectFrame] selector.
  • bindings/objc/DOMInternal.h: Remove DOMRGBColor Internal category since it is now generated.
  • bindings/objc/DOMUtility.mm: (KJS::createDOMWrapper): Don't ever create a DOMAbstractView from a JSDOMWindow, only from JSDOMWindowWrapper.
  • bindings/scripts/CodeGeneratorObjC.pm: Generate internal header for IDLs that want custom implementations.
  • css/RGBColor.idl: Make this a PODType as it really is in the implementation.
  • page/AbstractView.idl: This now needs a custom objective-c binding implementation.
  • page/Frame.cpp: (WebCore::Frame::~Frame): disconnect the weak frame reference in the WindowScriptObject.
  • page/Frame.h:
  • page/gtk/FrameGtk.cpp: (WebCore::Frame::disconnectPlatformScriptObjects): Dummy implementation.
  • page/mac/FrameMac.mm: (WebCore::Frame::windowScriptObject): ASSERT that the windowScriptObject is a DOMAbstractView. (WebCore::Frame::disconnectPlatformScriptObjects): Disconnect the frame pointer from the windowScriptObject.
  • page/qt/FrameQt.cpp: (WebCore::Frame::disconnectPlatformScriptObjects): Dummy implementation.
  • page/win/FrameWin.cpp: (WebCore::Frame::disconnectPlatformScriptObjects): Ditto.
14:21 Changeset [32404] by ggaren@apple.com

2008-04-22 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt and Maciej Stachowiak.


Renamed "needsActivation" to "needsFullScopeChain" because lying will
make hair grow on the backs of your hands.

13:45 Changeset [32403] by mitz@apple.com

Fix typo in ChangeLog.

13:42 Changeset [32402] by mitz@apple.com

WebCore:

Reviewed by Sam Weinig.

  • rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): Make sure to give the trailing white space a bidi level consistent with its position.

LayoutTests:

Reviewed by Sam Weinig.

  • updated results with the trailing space having the right directionality
  • platform/mac/fast/text/trailing-white-space-2-expected.txt:
11:52 Changeset [32401] by timothy@apple.com

Remove many unused Web Inspector images.

Rubber-stamped by Adam Roben and Sam Weinig.

  • page/inspector/Images/attachedShadow.png: Removed.
  • page/inspector/Images/backNormal.png: Removed.
  • page/inspector/Images/bottomShadow.png: Removed.
  • page/inspector/Images/breadcrumbBackground.png: Removed.
  • page/inspector/Images/console.png: Removed.
  • page/inspector/Images/databaseBrowserViewNormal.png: Removed.
  • page/inspector/Images/databaseBrowserViewNormalSelected.png: Removed.
  • page/inspector/Images/databaseBrowserViewSmall.png: Removed.
  • page/inspector/Images/databaseBrowserViewSmallSelected.png: Removed.
  • page/inspector/Images/databaseQueryViewNormal.png: Removed.
  • page/inspector/Images/databaseQueryViewNormalSelected.png: Removed.
  • page/inspector/Images/databaseQueryViewSmall.png: Removed.
  • page/inspector/Images/databaseQueryViewSmallSelected.png: Removed.
  • page/inspector/Images/disclosureDownPressed.png: Removed.
  • page/inspector/Images/disclosureRightDown.png: Removed.
  • page/inspector/Images/disclosureRightPressed.png: Removed.
  • page/inspector/Images/document.png: Removed.
  • page/inspector/Images/domViewNormal.png: Removed.
  • page/inspector/Images/domViewNormalSelected.png: Removed.
  • page/inspector/Images/domViewSmall.png: Removed.
  • page/inspector/Images/domViewSmallSelected.png: Removed.
  • page/inspector/Images/downTriangle.png: Removed.
  • page/inspector/Images/folder.png: Removed.
  • page/inspector/Images/forwardNormal.png: Removed.
  • page/inspector/Images/gradient.png: Removed.
  • page/inspector/Images/gradientHighlight.png: Removed.
  • page/inspector/Images/gradientHighlightBottom.png: Removed.
  • page/inspector/Images/hideStatusWidget.png: Removed.
  • page/inspector/Images/hideStatusWidgetPressed.png: Removed.
  • page/inspector/Images/network.png: Removed.
  • page/inspector/Images/plainDocument.png: Removed.
  • page/inspector/Images/popupArrows.png: Removed.
  • page/inspector/Images/popupArrowsBlack.png: Removed.
  • page/inspector/Images/reload.png: Removed.
  • page/inspector/Images/rightTriangle.png: Removed.
  • page/inspector/Images/showStatusWidget.png: Removed.
  • page/inspector/Images/showStatusWidgetPressed.png: Removed.
  • page/inspector/Images/sidbarItemBackground.png: Removed.
  • page/inspector/Images/sidebarActionWidget.png: Removed.
  • page/inspector/Images/sidebarActionWidgetPressed.png: Removed.
  • page/inspector/Images/sidebarAttachWidget.png: Removed.
  • page/inspector/Images/sidebarAttachWidgetPressed.png: Removed.
  • page/inspector/Images/sidebarDetachWidget.png: Removed.
  • page/inspector/Images/sidebarDetachWidgetPressed.png: Removed.
  • page/inspector/Images/sidebarResizeWidget.png: Removed.
  • page/inspector/Images/sidebarStatusAreaBackground.png: Removed.
  • page/inspector/Images/sourceViewNormal.png: Removed.
  • page/inspector/Images/sourceViewNormalSelected.png: Removed.
  • page/inspector/Images/sourceViewSmall.png: Removed.
  • page/inspector/Images/sourceViewSmallSelected.png: Removed.
  • page/inspector/Images/tab.png: Removed.
  • page/inspector/Images/tabSelected.png: Removed.
  • page/inspector/Images/toggleDown.png: Removed.
  • page/inspector/Images/toggleUp.png: Removed.
  • page/inspector/Images/toolbarButtonNormal.png: Removed.
  • page/inspector/Images/toolbarButtonNormalInactive.png: Removed.
  • page/inspector/Images/toolbarButtonNormalPressed.png: Removed.
  • page/inspector/Images/toolbarButtonNormalSelected.png: Removed.
  • page/inspector/Images/toolbarButtonNormalSelectedInactive.png: Removed.
  • page/inspector/Images/toolbarButtonSmall.png: Removed.
  • page/inspector/Images/toolbarButtonSmallInactive.png: Removed.
  • page/inspector/Images/toolbarButtonSmallPressed.png: Removed.
  • page/inspector/Images/toolbarButtonSmallSelected.png: Removed.
  • page/inspector/Images/toolbarButtonSmallSelectedInactive.png: Removed.
  • page/inspector/Images/toolbarPopupButtonNormal.png: Removed.
  • page/inspector/Images/toolbarPopupButtonNormalInactive.png: Removed.
  • page/inspector/Images/toolbarPopupButtonNormalPressed.png: Removed.
  • page/inspector/Images/toolbarPopupButtonSmall.png: Removed.
  • page/inspector/Images/toolbarPopupButtonSmallInactive.png: Removed.
  • page/inspector/Images/toolbarPopupButtonSmallPressed.png: Removed.
  • page/inspector/Images/toolbarSplitButtonDividerNormal.png: Removed.
  • page/inspector/Images/toolbarSplitButtonDividerNormalInactive.png: Removed.
  • page/inspector/Images/toolbarSplitButtonDividerSmall.png: Removed.
  • page/inspector/Images/toolbarSplitButtonDividerSmallInactive.png: Removed.
  • page/inspector/Images/treeLeftTriangleBlack.png: Removed.
11:29 Changeset [32400] by andersca@apple.com

WebCore:

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

Reviewed by Darin.

Add NPN_Construct and NPN_PluginThreadAsyncCall declarations.

  • bridge/npapi.h:
  • bridge/npruntime.h:
  • plugins/npfunctions.h:

WebKit/mac:

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

Reviewed by Darin.

Add NPN_Construct and NPN_PluginThreadAsyncCall declarations.


  • Plugins/npfunctions.h:
11:19 Changeset [32399] by ggaren@apple.com

Fixed ChangeLog

10:55 Changeset [32398] by ggaren@apple.com

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

Reviewed by Maciej Stachowiak.


Fixed ScopeChainNode lifetime problems:


(1) In "with" and "catch" scopes, we would construct a ScopeChain
object and then jump across its destructor, leaking the ScopeChainNode
we had pushed.

(2) In global and eval scopes, we would fail to initially ref
"scopeChain", causing us to overrelease it later. Now that we ref
"scopeChain" properly, we also need to deref it when the script
terminates.

SunSpider reports no change.

10:55 Changeset [32397] by alice.liu@apple.com

WebCore:

2008-04-22 Alice Liu <alice.liu@apple.com>

Reviewed by John Sullivan and Adam Roben.

Test: fast/events/tabindex-focus-chain.html

  • dom/Document.cpp: (WebCore::Document::nextFocusableNode): (WebCore::Document::previousFocusableNode): If the focused node has been removed from the normal tabbing order, advancing focus from this node should advance to the next focusable node in tree order, and not start over at the beginning of the focus chain.

LayoutTests:

2008-04-22 Alice Liu <alice.liu@apple.com>

Reviewed by John Sullivan and Adam Roben.

Test for new behavior when advancing focus from a focusable-by-script node, which now
matches Firefox 2 and 3

  • fast/events/tabindex-focus-chain-expected.txt: Added.
  • fast/events/tabindex-focus-chain.html: Added.
09:54 Changeset [32396] by timothy@apple.com

Adds a debugger toggle button to the scripts status bar that will start
and stop debugging of the inspected page.

Reviewed by Adam Roben.

  • English.lproj/InspectorLocalizedStrings.js: Adds the two new tooltip strings.
  • page/InspectorController.cpp:

(WebCore::debuggerAttached): Call InspectorController::debuggerAttached.
(WebCore::InspectorController::InspectorController): Initialize
m_debuggerAttached to false.
(WebCore::InspectorController::windowScriptObjectAvailable): Add the debuggerAttached
property to the InspectorController class.
(WebCore::InspectorController::startDebuggingAndReloadInspectedPage):
Set m_debuggerAttached to true.
(WebCore::InspectorController::stopDebugging): Set m_debuggerAttached to false.

  • page/InspectorController.h:
  • page/inspector/Images/debuggingButtons.png: Added.
  • page/inspector/ScriptsPanel.js:

(WebInspector.ScriptsPanel): Disable the pause button. Create the debugging
button and setup the id, className and event listener. Call reset.
(WebInspector.ScriptsPanel.prototype.get statusBarItems): Return an array
(WebInspector.ScriptsPanel.prototype.reset): Call _updateDebuggerButtons.
(WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Adjust the title of
the debugging button to match what will happen when clicked. Change the style class,
and toggle the disabled state of the pause button.
(WebInspector.ScriptsPanel.prototype._toggleDebugging): Start or stop debugging
depending on InspectorController.debuggerAttached().

  • page/inspector/inspector.css: Added style rules for the debugger button.
08:19 Changeset [32395] by aroben@apple.com

Change PlatformWheelEvent to use GET_WHEEL_DELTA_WPARAM

Reviewed by Dan Bernstein.

  • platform/win/WheelEventWin.cpp: (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use GET_WHEEL_DELTA_WPARAM, which is documented way of getting the wheel delta (it is equivalent to what we were previously doing, however).
08:05 Changeset [32394] by hausmann@webkit.org

Qt build fix.

Adjust the Qt resource file to removed image files.

06:56 Changeset [32393] by timothy@apple.com

Use CSS gradients to replace many image files in the Web Inspector.

Rubber-stamped by Adam Roben.

  • page/inspector/Images/alternateTableRows.png: Removed.
  • page/inspector/Images/darkShadow.png: Removed.
  • page/inspector/Images/paneHeader.png: Removed.
  • page/inspector/Images/paneHeaderActive.png: Removed.
  • page/inspector/Images/sidebarSelection.png: Removed.
  • page/inspector/Images/sidebarSelectionBackground.png: Removed.
  • page/inspector/Images/sidebarSelectionBackgroundFocused.png: Removed.
  • page/inspector/Images/sidebarSelectionBackgroundInactive.png: Removed.
  • page/inspector/Images/sidebarSelectionBlurred.png: Removed.
  • page/inspector/Images/sidebarSelectionBlurredTall.png: Removed.
  • page/inspector/Images/sidebarSelectionGray.png: Removed.
  • page/inspector/Images/sidebarSelectionGrayTall.png: Removed.
  • page/inspector/Images/sidebarSelectionTall.png: Removed.
  • page/inspector/Images/sidebarSmallSelectionBackground.png: Removed.
  • page/inspector/Images/sidebarSmallSelectionBackgroundFocused.png: Removed.
  • page/inspector/Images/sidebarSmallSelectionBackgroundInactive.png: Removed.
  • page/inspector/Images/toolbarBackground.png: Removed.
  • page/inspector/Images/toolbarBackgroundInactive.png: Removed.
  • page/inspector/inspector.css:
05:46 Changeset [32392] by hausmann@webkit.org

Andre Poenitz <andre.poenitz@trolltech.com>

Remove compiler warnings on string literals used to construct QStrings
in webkit.

04:33 Changeset [32391] by hausmann@webkit.org

Benjamin Meyer <bmeyer@trolltech.com>

Fixes: QWebPage's QNetworkManager's can be shared among webpages.

Don't force the deletion of the object, but let QObject take care of it.

04:27 Changeset [32390] by hausmann@webkit.org

Documentation for QWebPluginFactory and documentation updates for QWebPage.

04:27 Changeset [32389] by hausmann@webkit.org

Simon Hausmann <hausmann@webkit.org>

Added QWebPage::swallowContextMenuEvent and QWebPage::updatePositionDependentActions.

03:56 Changeset [32388] by hausmann@webkit.org

Added Extension APIs for QWebPage.

03:46 Changeset [32387] by hausmann@webkit.org

Tor Arne Vestbø <tavestbo@trolltech.com>

Emit loadProgress() signal on loadStarted().

03:33 Changeset [32386] by hausmann@webkit.org

Zack Rusin <zack@kde.org>

Fix background propagation from the QWebView's palette.

The background brush of the palette needs to be propagated to the WebCore::FrameView.

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

Benjamin Meyer <bmeyer@trolltech.com>

Fix maps.google.com

We have to include a version in the Safari tag in the user-agent.

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

Tor Arne Vestbø <tavestbo@trolltech.com>

Fall back to last path component for suggested filename if the HTTP content disposition is not set.

03:14 Changeset [32383] by mjs@apple.com

2008-04-22 Maciej Stachowiak <mjs@apple.com>

Reviewed by Alexey.


  • use global object instead of null for "this" on unqualified calls


This fixes 10 more JSC test regressions.

  • VM/Machine.cpp: (KJS::Machine::privateExecute):
02:36 Changeset [32382] by hausmann@webkit.org

Tor Arne Vestbø <tavestbo@trolltech.com>

Implemented the generation of the title string for images.

02:31 Changeset [32381] by hausmann@webkit.org

Tor Arne Vestbø <tavestbo@trolltech.com>

Add visual focusing hint for clear button and
Change focus to web page after user enters new URL.

01:31 Changeset [32380] by hausmann@webkit.org

Added QWebFrame::hitTestContent() and QWebHitTestResult.

01:31 Changeset [32379] by hausmann@webkit.org

Simon Hausmann <hausmann@webkit.org>

Don't crash if an input method query is done without a page.

01:30 Changeset [32378] by hausmann@webkit.org

Simon Hausmann <hausmann@webkit.org>

Added re-implementations of QObject::event for future safety.

This makes it easier to fix bugs with the event handling even in patch releases
and is a general style we follow in Qt.

01:19 Changeset [32377] by mjs@apple.com

2008-04-22 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • throw proper exceptions for objects that don't implement call or construct


This fixes 21 more JSC test regressions. It is also seemingly an
0.5% progression.

  • VM/ExceptionHelpers.cpp: (KJS::createNotAnObjectError): (KJS::createNotAConstructorError): (KJS::createNotAFunctionError):
  • VM/ExceptionHelpers.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
00:56 Changeset [32376] by hausmann@webkit.org

Benjamin Meyer <bmeyer@trolltech.com>

Fix construction of the user agent.

The user-agent is now composed of

  • the platform and subplatform
  • the Qt version or application name and version (if set)
  • the locale
  • the SSL settings
00:45 Changeset [32375] by hausmann@webkit.org

Thiago Macieira <tjmaciei@trolltech.com>

Fixes: Pedantic compilation fix

Don't put semi-colons after braces closing namespaces.

00:43 Changeset [32374] by hausmann@webkit.org

Qt build fix.

04/21/08:

23:47 Changeset [32373] by jhoneycutt@apple.com

2008-04-19 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Darin.

Add a method to get the AccessibilityObject's access key,

  • page/AccessibilityObject.cpp: (WebCore::AccessibilityObject::accessKey): Added; returns the object's access key attribute.
  • page/AccessibilityObject.h: Added declaration for accessKey().
23:47 Changeset [32372] by jhoneycutt@apple.com

2008-04-19 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Darin.

Implement get_accHelp().

  • AccessibleBase.cpp: (AccessibleBase::get_accHelp): Report the result of calling the object's helpText() method.
23:46 Changeset [32371] by jhoneycutt@apple.com

2008-04-19 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Darin.

Implement get_accState().

  • AccessibleBase.cpp: (AccessibleBase::get_accState):
23:46 Changeset [32370] by jhoneycutt@apple.com

2008-04-18 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Darin.

Implement get_accRole().

  • AccessibleBase.cpp: (AccessibleBase::get_accRole): Report the result of role(). (MSAARole): Added; returns the MSAA role for a WebCore role. (AccessibleBase::role): Return the MSAA role for the object's roleValue.
  • AccessibleBase.h: Add declaration for role().
23:45 Changeset [32369] by jhoneycutt@apple.com

2008-04-18 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Darin.

Implement get_accName(), get_accValue(), get_accDescription(). Added
virtual methods that accessible objects can override to customize the
result.

  • AccessibleBase.cpp: (AccessibleBase::get_accName): Report result of name(). (AccessibleBase::get_accValue): Report result of value(). (AccessibleBase::get_accDescription): Report result of description(). (AccessibleBase::name): Added; returns AccessibilityObject::title(). (AccessibleBase::value): Added; returns AccessibilityObject::stringValue(). (AccessibleBase::description): Added; returns AccessibilityObject::accessibilityDescription().
  • AccessibleBase.h: Added declarations for name(), value(), and description().
  • ChangeLog: Fix my misuse of "definition."
22:47 Changeset [32368] by hyatt@apple.com

Fix layout test results for new props.

22:35 Changeset [32367] by oliver@apple.com

Implement emitCode for ConstDeclNode.

Reviewed by Geoff

This fixes the crash (assertion) in js1_5/Scope/scope-001.js

22:20 Changeset [32366] by mjs@apple.com

2008-04-21 Maciej Stachowiak <mjs@apple.com>

Reviewed by Sam.


  • add some support for the split window object

This fixes many layout tests.


  • VM/Machine.cpp: (KJS::resolveBaseAndFunc): Use toThisObject() to ensure we get the wrapper global, if one exists, as the "this" object.
  • kjs/function.cpp: (KJS::globalFuncEval): Use toGlobalObject() to handle the wrapper case properly.
22:17 Changeset [32365] by mjs@apple.com

2008-04-21 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • restore ScopeChain::operator= to avoid crash on many layout tests


Otherwise, FunctionImp::setScope would cause a reference
underflow. I implemented using the copy construct and swap idiom.

  • kjs/scope_chain.h: (KJS::ScopeChain::swap): (KJS::ScopeChain::operator=):
21:44 Changeset [32364] by weinig@apple.com

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

Reviewed by Anders Carlsson.

Fix numerous crashing tests.

  • html/HTMLHtmlElement.cpp: (WebCore::HTMLHtmlElement::insertedIntoDocument): Null check document->frame().
21:06 Changeset [32363] by mrowe@apple.com

Fix the case on the file names of test results for svg/custom/altglyph.svg, and remove an extra -expected.txt that was checked in with incorrect
case.

  • platform/mac/svg/custom/altGlyph-expected.checksum: Removed.
  • platform/mac/svg/custom/altGlyph-expected.png: Removed.
  • platform/mac/svg/custom/altGlyph-expected.txt: Removed.
  • platform/mac/svg/custom/altglyph-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/altGlyph-expected.checksum.
  • platform/mac/svg/custom/altglyph-expected.png: Copied from LayoutTests/platform/mac/svg/custom/altGlyph-expected.png.
20:33 Changeset [32362] by weinig@apple.com

WebCore:

2008-04-21 Dan Bernstein <mitz@apple.com>

Reviewed by Darin Adler.

Tests: fast/media/implicit-media-all.html

fast/media/monochrome.html

  • allow implicit "all" media in media queries
  • use a value of 0 for the monochrome media feature on color displays
  • css/CSSGrammar.y:
  • css/CSSParser.cpp: (WebCore::CSSParser::createFloatingMediaQuery):
  • css/CSSParser.h:
  • css/MediaQueryEvaluator.cpp: (WebCore::monochromeMediaFeatureEval):

LayoutTests:

2008-04-21 Dan Bernstein <mitz@apple.com>

Reviewed by Darin Adler.

  • update acid3.html to reflect the updated test.
  • test for implicit "all" media in media queries
  • test that the value of the monochrome media feature is 0 on color displays
  • http/tests/misc/acid3.html:
  • fast/media/implicit-media-all.html: Added.
  • fast/media/monochrome.html: Added.
  • platform/mac/fast/media/implicit-media-all-expected.checksum: Added.
  • platform/mac/fast/media/implicit-media-all-expected.png: Added.
  • platform/mac/fast/media/implicit-media-all-expected.txt: Added.
  • platform/mac/fast/media/monochrome-expected.checksum: Added.
  • platform/mac/fast/media/monochrome-expected.png: Added.
  • platform/mac/fast/media/monochrome-expected.txt: Added.
17:42 Changeset [32361] by oliver@apple.com

Bug 18649: SQUIRRELFISH: correctly handle exceptions in eval code
<https://bugs.webkit.org/show_bug.cgi?id=18649>

Reviewed by Geoff

Allocate a callframe for eval() and initialise with a null codeBlock to
indicate native code. This prevents the unwinder from clobbering the
register stack.

17:32 Changeset [32360] by ggaren@apple.com

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

Build fix.

  • ChangeLog:
  • WebView/WebScriptDebugDelegate.mm: (-[WebScriptCallFrame scopeChain]):
17:11 Changeset [32359] by ggaren@apple.com

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

Reviewed by Sam Weinig.


Removed ScopeChain::push(ScopeChain&) because it was unused. Moved
ScopeChain::print to ScopeChainNode.


ScopeChain is now nothing more than a resource-handling wrapper around
ScopeChainNode.

17:08 SquirrelFish edited by ggaren@apple.com
(diff)
17:07 SquirrelFish edited by ggaren@apple.com
(diff)
17:04 Changeset [32358] by beidson@apple.com

2008-04-21 Brady Eidson <beidson@apple.com>

Rockingly reviewed by Adele

Small StorageArea cleanups

  • storage/SessionStorageArea.cpp: (WebCore::SessionStorageArea::copy): Pass "this" instead of the StorageMap belonging to this (WebCore::SessionStorageArea::SessionStorageArea):
  • storage/SessionStorageArea.h:
  • storage/StorageArea.cpp: Changed to not expose the StorageMap at all - it's dangerous to expose it since we rely explicitly on its ref-count (WebCore::StorageArea::StorageArea): Take another StorageArea as the c'tor argument and get the StorageMap from that. (WebCore::StorageArea::setItem): The previous comment/code here was bogus. All JS objects passed in to this API are stringified, so there's no such thing as "null" for setItem()
  • storage/StorageArea.h:
16:53 Changeset [32357] by mjs@apple.com

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

Reviewed by Maciej.

Bug 18671: SquirrelFish: continue inside switch fails
<https://bugs.webkit.org/show_bug.cgi?id=18671>

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::jumpContextForLabel):
  • VM/CodeGenerator.h:
  • kjs/nodes.cpp: (KJS::ContinueNode::emitCode):
16:51 Changeset [32356] by dino@apple.com

Updated CSS Visual Effects proposals.

CSS Animations

  • described simplified sandwich model (that animations have no effect outside their duration and last specified animation wins)
  • diagram showing the above
  • specified animations to start at style resolution or document load, whichever is later.
  • animation start events always have elapsedTime == 0

CSS Transforms

  • removed text saying that elements cannot be drawn as intersecting.
  • described that preserve-3d trees often need a flattening parent, otherwise elements can be hidden behind their ancestor's background.
  • describe that preserve-3d is not always possible, such as when overflow is 'hidden'.

CSS Transitions

  • no change
  • specs/CSSVisualEffects/CSSAnimation.html:
  • specs/CSSVisualEffects/CSSTransforms.html:
  • specs/CSSVisualEffects/CSSTransitions.html:
  • specs/CSSVisualEffects/sandwich.png: Added.
16:22 Changeset [32355] by hyatt@apple.com

Fix Windows bustage.

16:13 Changeset [32354] by kmccullough@apple.com

2008-04-21 Kevin McCullough <kmccullough@apple.com>

Reviewed by Adam.

<rdar://problem/5770054> JavaScript profiler (10928)

  • When stop profiling is called we need to stop the timers on all the functions that are still running.
  • profiler/FunctionCallProfile.cpp: (KJS::FunctionCallProfile::didExecute): (KJS::FunctionCallProfile::stopProfiling):
  • profiler/FunctionCallProfile.h:
  • profiler/Profiler.cpp: (KJS::Profiler::stopProfiling):
15:48 Changeset [32353] by justin.garcia@apple.com

WebCore:

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

Reviewed by John Sullivan.

<rdar://problem/5803706> Pressing return at the end of a header doesn't break out of header (17460)


If we're doing InsertParagraphSeparator at the end of a header element, do not clone it.
Renamed m_useDefaultParagraphElement to m_mustUseDefaultParagraphElement, since now,
when it is false, that does not necessarily mean that a default paragraph element
will not be used. Callers that passed false for this argument are OK with this.

  • editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand): (WebCore::InsertParagraphSeparatorCommand::shouldUseDefaultParagraphElement): (WebCore::InsertParagraphSeparatorCommand::doApply):
  • editing/InsertParagraphSeparatorCommand.h:

LayoutTests:

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

Reviewed by John Sullivan.

<rdar://problem/5803706> Pressing return at the end of a header doesn't break out of header (17460)

  • editing/inserting/5803706-1-expected.txt: Added.
  • editing/inserting/5803706-1.html: Added.
  • editing/inserting/5803706-2-expected.txt: Added.
  • editing/inserting/5803706-2.html: Added.
15:22 Changeset [32352] by mrowe@apple.com

Land updated results for three tests and disable three more on Tiger.

  • http/tests/xmlhttprequest/infoOnProgressEvent-expected.txt:
  • platform/mac-tiger/Skipped: Disable three tests using font-face that fail intermittently on Tiger bots.
  • platform/mac-tiger/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt: Update Tiger results following r32247.
  • platform/mac-tiger/svg/W3C-SVG-1.1/animate-elem-07-t-expected.txt: Ditto.
15:21 Changeset [32351] by andersca@apple.com

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

Reviewed by Adam.

Perform cache selection. If a main resource has a URL that exists in a cache, load it from there.


  • html/HTMLAttributeNames.in: Add manifest attribute.


  • html/HTMLHtmlElement.cpp: (WebCore::HTMLHtmlElement::insertedIntoDocument):
  • html/HTMLHtmlElement.h: Perform cache selection.


  • loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::load):
  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::cacheHostSet): (WebCore::urlHostHash): (WebCore::ApplicationCacheGroup::cacheForRequest): (WebCore::ApplicationCacheGroup::selectCache):
  • loader/appcache/ApplicationCacheGroup.h:
  • platform/KURL.h: (WebCore::KURL::hostStart): (WebCore::KURL::hostEnd):
15:14 Changeset [32350] by eric@webkit.org

Reviewed by eseidel and darin. Landed by eseidel.

Fix broken optimization in createStrippingNullCharacters.

  • platform/text/StringImpl.cpp: (WebCore::StringImpl::createStrippingNullCharacters):
15:03 Changeset [32349] by ggaren@apple.com

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

Reviewed by Sam Weinig.


Moved push(JSObject*) and pop() from ScopeChain to ScopeChainNode,
rearranging scope_chain.h a bit.

SunSpider reports no change.

14:59 Changeset [32348] by hyatt@apple.com

2008-04-21 David Hyatt <hyatt@apple.com>

Make the back end parsing of background properties generic. Rename all the parsing functions from
background -> fill.

Add a new set of properties for doing masks. The code is now refactored so that the mask properties
and the background properties share parsing routines.

Reviewed by Dan

  • css/CSSComputedStyleDeclaration.cpp: (WebCore::): (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  • css/CSSParser.cpp: (WebCore::CSSParser::parseValue): (WebCore::CSSParser::addFillValue): (WebCore::CSSParser::parseFillShorthand): (WebCore::CSSParser::parseFillImage): (WebCore::CSSParser::parseFillPositionXY): (WebCore::CSSParser::parseFillPosition): (WebCore::CSSParser::parseFillSize): (WebCore::CSSParser::parseFillProperty): (WebCore::CSSParser::parseTransformOrigin):
  • css/CSSParser.h:
  • css/CSSPropertyNames.in:
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::CSSStyleSelector): (WebCore::CSSStyleSelector::mapFillAttachment): (WebCore::CSSStyleSelector::mapFillClip): (WebCore::CSSStyleSelector::mapFillComposite): (WebCore::CSSStyleSelector::mapFillOrigin): (WebCore::CSSStyleSelector::mapFillImage): (WebCore::CSSStyleSelector::mapFillRepeat): (WebCore::CSSStyleSelector::mapFillSize): (WebCore::CSSStyleSelector::mapFillXPosition): (WebCore::CSSStyleSelector::mapFillYPosition):
  • rendering/RenderStyle.cpp: (WebCore::FillLayer::FillLayer): (WebCore::FillLayer::operator=): (WebCore::FillLayer::operator==): (WebCore::StyleBackgroundData::StyleBackgroundData): (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): (WebCore::StyleRareNonInheritedData::operator==): (WebCore::RenderStyle::diff):
  • rendering/RenderStyle.h: (WebCore::LengthSize::LengthSize): (WebCore::): (WebCore::FillLayer::type): (WebCore::FillLayer::initialFillAttachment): (WebCore::FillLayer::initialFillClip): (WebCore::FillLayer::initialFillOrigin): (WebCore::FillLayer::initialFillRepeat): (WebCore::FillLayer::initialFillComposite): (WebCore::FillLayer::initialFillSize): (WebCore::FillLayer::initialFillXPosition): (WebCore::FillLayer::initialFillYPosition): (WebCore::FillLayer::initialFillImage): (WebCore::RenderStyle::maskImage): (WebCore::RenderStyle::maskRepeat): (WebCore::RenderStyle::maskComposite): (WebCore::RenderStyle::maskAttachment): (WebCore::RenderStyle::maskClip): (WebCore::RenderStyle::maskOrigin): (WebCore::RenderStyle::maskXPosition): (WebCore::RenderStyle::maskYPosition): (WebCore::RenderStyle::maskSize): (WebCore::RenderStyle::accessMaskLayers): (WebCore::RenderStyle::maskLayers): (WebCore::RenderStyle::clearBackgroundLayers): (WebCore::RenderStyle::clearMaskLayers): (WebCore::RenderStyle::inheritMaskLayers):
13:55 Changeset [32347] by timothy@apple.com

Fixes the issue were a Database view could still be visible after navigating to a new page.

Reviewed by Darin Adler.

  • page/inspector/DatabasesPanel.js:

(WebInspector.DatabasesPanel.prototype.reset): Delete the _tableViews and _queryView properties
from all databases. Remove all the children from databaseViews.

13:54 Changeset [32346] by timothy@apple.com

Adds the ability to enter multi-line commands in the console by holding the
alt/option key when pressing enter/return.

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

Reviewed by Darin Adler.

  • page/inspector/Console.js:

(WebInspector.Console.prototype._enterKeyPressed): Return early if the
alt/option key is held when enter is pressed.

  • page/inspector/inspector.css:

(.console-message-text): Added. Set white-space: pre-wrap.

13:54 Changeset [32345] by timothy@apple.com

Fixes the bug where the Database table names do not update when
running the CREATE TABLE or DROP TABLE queries. Also makes the
table names update every time the database is collapsed and expanded.

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

Reviewed by Darin Adler.

  • page/inspector/DatabasesPanel.js:

(WebInspector.DatabasesPanel.prototype.updateDatabaseTables):
Set shouldRefreshChildren to true on the Database's tree element.
The refreshChildren property was renamed to shouldRefreshChildren.
(WebInspector.DatabaseSidebarTreeElement.prototype.oncollapse):
Request a refresh after every collapse so the next expand will
have an updated table list.

13:54 Changeset [32344] by timothy@apple.com

Adds INDEX to the list of completion words for the Databases query view.

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

Reviewed by Darin Adler.

  • page/inspector/DatabaseQueryView.js:

(WebInspector.DatabaseQueryView.prototype.completions): Split up "CREATE TABLE "
and "DROP TABLE " into "CREATE ", "DROP ", "TABLE ". And added "INDEX ".

13:53 Changeset [32343] by timothy@apple.com

Adds the UI portions of the Scripts panel to the Web Inspector.
The Scripts panel has not been added to the toolbar yet.

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

Reviewed by Adam Roben.

  • English.lproj/InspectorLocalizedStrings.js: Changed "Show inherited properties"

to "Show inherited". Adds new strings for the Scripts' panel tooltips.

  • page/inspector/BreakpointsSidebarPane.js: Added.
  • page/inspector/CallStackSidebarPane.js: Added.
  • page/inspector/Images/back.png: Added.
  • page/inspector/Images/debuggerContinue.png: Added.
  • page/inspector/Images/debuggerPause.png: Added.
  • page/inspector/Images/debuggerStepInto.png: Added.
  • page/inspector/Images/debuggerStepOut.png: Added.
  • page/inspector/Images/debuggerStepOver.png: Added.
  • page/inspector/Images/forward.png: Added.
  • page/inspector/Images/statusbarResizerHorizontal.png: Added.
  • page/inspector/PropertiesSection.js:

(WebInspector.PropertiesSection): Flip the order the subtile is appended
so it can float right in the CSS.

  • page/inspector/ScriptsPanel.js: Added.
  • page/inspector/StylesSidebarPane.js:

(WebInspector.StylePropertiesSection): Changed "Show inherited properties"
to "Show inherited".

  • page/inspector/inspector.css: Added new CSS rules for the Scripts panel.

Also changes the look of the section to match the mockup, this affects
Styles and Properties in Elements.

  • page/inspector/inspector.html: Import new files.
  • page/inspector/inspector.js:

(Preferences.minScriptsSidebarWidth): Added.

13:25 Changeset [32342] by kmccullough@apple.com

2008-04-21 Kevin McCullough <kmccullough@apple.com>

Reviewed by Adam.

<rdar://problem/5770054> JavaScript profiler (10928)
Took out debugging printing since we really want to hook into the
inspector and not to print to the terminal.

  • page/Console.cpp: (WebCore::Console::profileEnd):
13:23 Changeset [32341] by weinig@apple.com

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

Reviewed by Alexey Proskuryakov.

Fix up XMLHttpRequestProgressEvent.

  • bindings/js/JSEventCustom.cpp: (WebCore::toJS):
  • xml/XMLHttpRequestProgressEvent.cpp:
  • xml/XMLHttpRequestProgressEvent.h:
13:15 Changeset [32340] by aroben@apple.com

Fix Bug 18615: Crash in PluginPackage::hash

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

Reviewed by Anders Carlsson.

  • plugins/PluginDatabase.cpp: (WebCore::PluginDatabase::refresh): Don't pass a null PluginPackage* to add().
13:00 Changeset [32339] by andersca@apple.com

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

Reviewed by Adam.

Add cache group implementation.

  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
  • loader/appcache/ApplicationCache.cpp: (WebCore::ApplicationCache::requestIsHTTPOrHTTPSGet): (WebCore::ApplicationCache::resourceForRequest):
  • loader/appcache/ApplicationCache.h:
  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::cacheGroupMap): (WebCore::ApplicationCacheGroup::ApplicationCacheGroup): (WebCore::ApplicationCacheGroup::selectCache): (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL): (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): (WebCore::ApplicationCacheGroup::documentLoaderDestroyed): (WebCore::ApplicationCacheGroup::cacheDestroyed): (WebCore::ApplicationCacheGroup::update): (WebCore::ApplicationCacheGroup::didReceiveResponse): (WebCore::ApplicationCacheGroup::didReceiveData): (WebCore::ApplicationCacheGroup::didFinishLoading): (WebCore::ApplicationCacheGroup::didFail): (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): (WebCore::ApplicationCacheGroup::didReceiveManifestData): (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): (WebCore::ApplicationCacheGroup::cacheUpdateFailed): (WebCore::ApplicationCacheGroup::didFailToLoadManifest): (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): (WebCore::ApplicationCacheGroup::startLoadingEntry): (WebCore::ApplicationCacheGroup::addEntry): (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache): (WebCore::ApplicationCacheGroup::callListenersOnAssociatedDocuments): (WebCore::ApplicationCacheGroup::callListeners):
  • loader/appcache/ApplicationCacheGroup.h: (WebCore::ApplicationCacheGroup::status): (WebCore::ApplicationCacheGroup::newestCache):
  • platform/KURL.h: (WebCore::KURL::hostStart): (WebCore::KURL::hostEnd):
12:59 Changeset [32338] by ggaren@apple.com

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

Reviewed by Sam Weinig.


Moved bottom() from ScopeChain to ScopeChainNode, simplifying it based
on the knowledge that the ScopeChain is never empty.

SunSpider reports no change.

12:42 Changeset [32337] by ggaren@apple.com

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

Reviewed by Oliver Hunt.


Moved begin() and end() from ScopeChain to ScopeChainNode.


Also marked a few methods "const".

SunSpider reports no change.

12:31 Changeset [32336] by ggaren@apple.com

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

Reviewed by Maciej Stachowiak.


Turned ScopeChain::depth into a stand-alone function, and simplified it
a bit.


I also moved ScopeChain::depth to Machine.cpp because it doesn't report
the true depth of the ScopeChain -- just the Machine's perspective of
its depth within a given call frame.

SunSpider reports no change.

12:19 Changeset [32335] by ggaren@apple.com

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

Reviewed by Maciej Stachowiak.


Removed indirection in ScopeChain::ref / ScopeChain::deref.


SunSpider reports no change.


  • kjs/scope_chain.h: (KJS::ScopeChain::ScopeChain): (KJS::ScopeChain::~ScopeChain): (KJS::ScopeChain::clear):
12:14 Changeset [32334] by hyatt@apple.com

2008-04-21 David Hyatt <hyatt@apple.com>

Rename BackgroundLayer -> FillLayer in preparation for it being used for other types of fills.

Reviewed by Dan

  • css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  • css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): (WebCore::CSSPrimitiveValue::operator EFillBox): (WebCore::CSSPrimitiveValue::operator EFillRepeat):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): (WebCore::CSSStyleSelector::mapFillAttachment): (WebCore::CSSStyleSelector::mapFillClip): (WebCore::CSSStyleSelector::mapFillComposite): (WebCore::CSSStyleSelector::mapFillOrigin): (WebCore::CSSStyleSelector::mapFillImage): (WebCore::CSSStyleSelector::mapFillRepeat): (WebCore::CSSStyleSelector::mapFillSize): (WebCore::CSSStyleSelector::mapFillXPosition): (WebCore::CSSStyleSelector::mapFillYPosition): (WebCore::CSSStyleSelector::mapTransitionDuration): (WebCore::CSSStyleSelector::mapTransitionRepeatCount): (WebCore::CSSStyleSelector::mapTransitionTimingFunction): (WebCore::CSSStyleSelector::mapTransitionProperty):
  • css/CSSStyleSelector.h:
  • page/AnimationController.cpp: (WebCore::ImplicitAnimation::ImplicitAnimation): (WebCore::CompositeImplicitAnimation::animate):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paintBackgrounds): (WebCore::InlineFlowBox::paintBackground):
  • rendering/InlineFlowBox.h:
  • rendering/RenderBox.cpp: (WebCore::RenderBox::paintRootBoxDecorations): (WebCore::RenderBox::paintBackgrounds): (WebCore::RenderBox::paintBackground): (WebCore::RenderBox::calculateBackgroundSize): (WebCore::RenderBox::imageChanged): (WebCore::RenderBox::calculateBackgroundImageGeometry): (WebCore::RenderBox::paintBackgroundExtended):
  • rendering/RenderBox.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::mustRepaintBackgroundOrBorder): (WebCore::RenderObject::updateBackgroundImages): (WebCore::RenderObject::arenaDelete):
  • rendering/RenderObject.h: (WebCore::RenderObject::paintBackgroundExtended):
  • rendering/RenderStyle.cpp: (WebCore::FillLayer::FillLayer): (WebCore::FillLayer::~FillLayer): (WebCore::FillLayer::operator=): (WebCore::FillLayer::operator==): (WebCore::FillLayer::fillUnsetProperties): (WebCore::FillLayer::cullEmptyLayers): (WebCore::Transition::fillUnsetProperties):
  • rendering/RenderStyle.h: (WebCore::): (WebCore::FillLayer::image): (WebCore::FillLayer::xPosition): (WebCore::FillLayer::yPosition): (WebCore::FillLayer::attachment): (WebCore::FillLayer::clip): (WebCore::FillLayer::origin): (WebCore::FillLayer::repeat): (WebCore::FillLayer::composite): (WebCore::FillLayer::size): (WebCore::FillLayer::next): (WebCore::FillLayer::isImageSet): (WebCore::FillLayer::isXPositionSet): (WebCore::FillLayer::isYPositionSet): (WebCore::FillLayer::isAttachmentSet): (WebCore::FillLayer::isClipSet): (WebCore::FillLayer::isOriginSet): (WebCore::FillLayer::isRepeatSet): (WebCore::FillLayer::isCompositeSet): (WebCore::FillLayer::isSizeSet): (WebCore::FillLayer::setImage): (WebCore::FillLayer::setXPosition): (WebCore::FillLayer::setYPosition): (WebCore::FillLayer::setAttachment): (WebCore::FillLayer::setClip): (WebCore::FillLayer::setOrigin): (WebCore::FillLayer::setRepeat): (WebCore::FillLayer::setComposite): (WebCore::FillLayer::setSize): (WebCore::FillLayer::clearImage): (WebCore::FillLayer::clearXPosition): (WebCore::FillLayer::clearYPosition): (WebCore::FillLayer::clearAttachment): (WebCore::FillLayer::clearClip): (WebCore::FillLayer::clearOrigin): (WebCore::FillLayer::clearRepeat): (WebCore::FillLayer::clearComposite): (WebCore::FillLayer::clearSize): (WebCore::FillLayer::setNext): (WebCore::FillLayer::operator!=): (WebCore::FillLayer::hasFixedImage): (WebCore::Transition::isDurationSet): (WebCore::Transition::isRepeatCountSet): (WebCore::Transition::isTimingFunctionSet): (WebCore::Transition::isPropertySet): (WebCore::Transition::clearDuration): (WebCore::Transition::clearRepeatCount): (WebCore::Transition::clearTimingFunction): (WebCore::Transition::clearProperty): (WebCore::Transition::duration): (WebCore::Transition::repeatCount): (WebCore::Transition::timingFunction): (WebCore::Transition::property): (WebCore::Transition::setDuration): (WebCore::Transition::setRepeatCount): (WebCore::Transition::setTimingFunction): (WebCore::Transition::setProperty): (WebCore::RenderStyle::NonInheritedFlags::operator==): (WebCore::RenderStyle::setBitDefaults): (WebCore::RenderStyle::backgroundRepeat): (WebCore::RenderStyle::backgroundComposite): (WebCore::RenderStyle::backgroundAttachment): (WebCore::RenderStyle::backgroundClip): (WebCore::RenderStyle::backgroundOrigin): (WebCore::RenderStyle::backgroundSize): (WebCore::RenderStyle::accessBackgroundLayers): (WebCore::RenderStyle::backgroundLayers): (WebCore::RenderStyle::clearBackgroundLayers): (WebCore::RenderStyle::inheritBackgroundLayers): (WebCore::RenderStyle::initialFillAttachment): (WebCore::RenderStyle::initialFillClip): (WebCore::RenderStyle::initialFillOrigin): (WebCore::RenderStyle::initialFillRepeat): (WebCore::RenderStyle::initialFillComposite): (WebCore::RenderStyle::initialFillSize): (WebCore::RenderStyle::initialFillXPosition): (WebCore::RenderStyle::initialFillYPosition): (WebCore::RenderStyle::initialFillImage): (WebCore::RenderStyle::initialWhiteSpace): (WebCore::RenderStyle::initialColor):
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::paintBackgroundsBehindCell):
  • rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustStyle): (WebCore::RenderTheme::isControlStyled):
  • rendering/RenderTheme.h:
  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::isControlStyled):
12:06 Changeset [32333] by oliver@apple.com

Fix debug build

11:57 Changeset [32332] by oliver@apple.com

Bug 18664: SQUIRRELFISH: correctly throw a SyntaxError when parsing of eval code fails
<https://bugs.webkit.org/show_bug.cgi?id=18664>

Patch from Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Oliver

Correctly throw a SyntaxError when parsing of eval code fails.

11:52 Changeset [32331] by oliver@apple.com

Partial fix for Bug 18649: SQUIRRELFISH: correctly handle exceptions in eval code

Reviewed by Geoff

Make sure we correct the register state before jumping to vm_throw.

11:51 Changeset [32330] by ggaren@apple.com

Fixed reviewer named in old commit message

11:51 Changeset [32329] by ggaren@apple.com

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

Reviewed by Maciej Stachowiak.


Simplified ScopeChain ref/deref.


SunSpider reports a .4% speedup.


  • kjs/scope_chain.h: (KJS::ScopeChainNode::ref): Removed this function because it was nonsense. ScopeChainNodes are initialized with a refCount of 1, so the loop was guaranteed to iterate exactly once.
11:39 Changeset [32328] by ggaren@apple.com

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

Reviewed by Maciej Stachowiak.


Removed support for empty ScopeChains.

SunSpider reports no change.

11:35 Changeset [32327] by jchaffraix@webkit.org

2008-04-21 Julien Chaffraix <jchaffraix@webkit.org>

Rubber-stamped by Ap.

Add 2 explicit casts.
Fixes built on 64-bit machines (64-bit to 32-bit conversion warning).

  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::dispatchProgressEvent):
11:24 Changeset [32326] by ggaren@apple.com

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

Reviewed by Maciej Stachowiak.


Removed some completely unused ScopeChain member functions.

SunSpider reports no change.

11:21 Changeset [32325] by aroben@apple.com

Flush stdout/stderr after printing every #EOF separator

This fixes a hang when running the pixel tests on Windows

Reviewed by Mitz Pettel.

  • DumpRenderTree/win/DumpRenderTree.cpp: (dump): (main): We don't have to flush stdout/stderr in the arguments loop anymore, as runTest flushes for us.
11:21 Changeset [32324] by andersca@apple.com

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

Reviewed by Adam.

Make it possible to load resources from the cache.
(Currently no documents are ever associated with a cache though.)


  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::setPrimaryLoadComplete): (WebCore::DocumentLoader::mainResourceApplicationCache): (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
  • loader/DocumentLoader.h:
  • loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::didFinishLoading): (WebCore::MainResourceLoader::load):
  • loader/MainResourceLoader.h: (WebCore::MainResourceLoader::applicationCache):
  • loader/ResourceLoader.cpp: (WebCore::ResourceLoader::ResourceLoader): (WebCore::ResourceLoader::load):
  • loader/ResourceLoader.h:
  • loader/appcache/ApplicationCacheGroup.h: (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
11:19 Changeset [32323] by aroben@apple.com

Fix pixel tests

  • Scripts/run-webkit-tests: (sub readFromDumpToolWithTimer): Use readline instead of read to ensure that we don't read past the #EOF marker.
11:11 Changeset [32322] by ap@webkit.org

Reviewed by Darin.

Move collector main thread initialization from WebKit/win to KJS::initializeThreading.

11:10 Changeset [32321] by ggaren@apple.com

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

Reviewed by Maciej Stachowiak.


Avoid creating unnecessary ScopeChain objects, to reduce refcount churn.

SunSpider reports no change.

10:50 Changeset [32320] by eric@webkit.org

Reviewed by eseidel. Landed by eseidel.

Add FrameLoader::policyDocumentLoader, and change
provisionalDocumentLoader to have a const signature to be
consistent with documentLoader and activeDocumentLoader.

  • WebCore.base.exp:
  • WebCore.order:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::policyDocumentLoader): (WebCore::FrameLoader::provisionalDocumentLoader):
  • loader/FrameLoader.h:
10:46 SquirrelFish edited by ggaren@apple.com
(diff)
10:23 SquirrelFish edited by ggaren@apple.com
(diff)
09:09 Changeset [32319] by aroben@apple.com

MSVC build fix

Reviewed by Alexey Proskuryakov.

  • kjs/ustring.h: (KJS::UString::cost): Disable a warning about assigning a 32-bit size_t into a 31-bit size_t.
08:39 Changeset [32318] by jchaffraix@webkit.org

2008-04-21 Julien Chaffraix <jchaffraix@webkit.org>

Not reviewed, add missing files in my previous commit.

08:34 Changeset [32317] by eric@webkit.org

Stamped by Anders.

Make test work in Opera. Fix bug in results serialization.

  • fast/js/resources/function-toString-parentheses.js:
07:43 Changeset [32316] by jchaffraix@webkit.org

2008-04-21 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Ap.

Bug 13596: Implement .onprogress handler on XMLHttpRequest objects to support
progressive download content length information.

  • Add the onprogress attribute to XMLHttpRequest and the necessary bindings.
  • We use a custom event XMLHttpRequestProgressEvent that is derived from ProgressEvent (as specified by the XHR2 specification) but also implement LSProgressEvent interface (to be compliant with Firefox event).

Test: http/tests/xmlhttprequest/infoOnProgressEvent.html

2008-04-21 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Ap.

Bug 13596: Implement .onprogress handler on XMLHttpRequest objects to support progressive download content length information.

  • http/tests/xmlhttprequest/infoOnProgressEvent-expected.txt: Added.
  • http/tests/xmlhttprequest/infoOnProgressEvent.html: Added.
07:29 Changeset [32315] by hausmann@webkit.org

Michael Goddard <michael.goddard@trolltech.com>

Better handle Qt binding object lifetime in JS.
Add explicit marking of JS objects created for Qt
bindings, and remove the gcProtect calls.

07:24 Changeset [32314] by hausmann@webkit.org

Add better support for RuntimeArray type conversions.
It seems that RuntimeArray claims to inherit ArrayInstance
(in the JS sense), but the C++ class doesn't, so properly
access RuntimeArrays. Also, properly support turning
a JS object into a QVariantMap, since we support the
reverse.

06:57 Changeset [32313] by hausmann@webkit.org

Changed the return type of QWebFrame::evaluateJavaScript from a QString to a QVariant.

06:47 Changeset [32312] by hausmann@webkit.org

Simon Hausmann <hausmann@webkit.org>

Fix painting of text fields in the CleanLooks style.

The CleanLooks style calls painter->drawRect() and expects a painter
that has no brush set. This is a fairly common assumption and therefore
we now always set the brush to NoBrush before calling a style. This
is done by centralizing the painter setup code into StylePainter
and restore the old brush in the StylePainter destructor.

In addition for textfields it is not necessary anymore to draw
PE_FrameLineEdit as we set the lineWidth in the style option correctly
and it's the style responsibility (QCommonStyle usually) to draw
PE_FrameLineEdit.

06:47 Changeset [32311] by hausmann@webkit.org

Olivier Goffart <ogoffart@trolltech.com>

Fixes copy and paste of international characters.

When exporting HTML to the clipboard we need meta tags for now that confirm the
conversion to utf-8 done inside QClipboard.

06:47 Changeset [32310] by hausmann@webkit.org

Olivier Goffart <ogoffart@trolltech.com>

Fixes: Copying on X11 doesn't always work in webkit

Calling QClipboard::clear right before QClipboard::setData create a race condition with klipper. So don't call QClipboard::clear since it's not required.

06:40 Changeset [32309] by hausmann@webkit.org

Simon Hausmann <hausmann@webkit.org>

Fixes redundant "Fonts" submenu in default lineedits that has only disabled items.

Don't show sub-menus that have only actions that are disabled.

06:40 Changeset [32308] by hausmann@webkit.org

Kavindra Devi Palaraja <kdpalara@trolltech.com>.

Lots of documentation fixes, fixed all qdoc warnings.

05:24 Changeset [32307] by hausmann@webkit.org

Marius Bugge Monsen <mmonsen@trolltech.com>

Fix compile failure on solaris-cc

05:11 Changeset [32306] by hausmann@webkit.org

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

Build fix for Qt 4.3

  • When building WebCore/internal make sure the QT_[BEGIN,END]_NAMESPACE is always defined. Do this by adding defines to the compiler line
  • For users of our API this is not feasible. Every public header file should include qwebkitglobal.h. Define the QT_BEGIN_NAMESPACE and QT_END_NAMESPACE when we are building everything < 4.4.0 and don't have them defined.
04:16 Changeset [32305] by hausmann@webkit.org

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • Assume that our lineedit has a frame. This is needed for the motif style
04:15 Changeset [32304] by hausmann@webkit.org

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • Follow the windows render theme when determining whether to style

listboxes or not.

04:15 Changeset [32303] by hausmann@webkit.org

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • Try to bring the notImplemented implementations closer together. This will print each unimplemted method name only once.
  • We might want to change wtf/Assertions.cpp to use qDebug
03:46 Changeset [32302] by hausmann@webkit.org

2008-04-21 Holger Hans Peter Freyther <holger.freyther@trolltech.com>

Reviewed by Simon.

  • Remove the special Qt ctor of BitmapImage as it did not work. The Bitmap returned 0 as width and after intialising drawing would fail. BitmapImage relies on a proper ImageSource.
  • Instead of adding more special cases to BitmapImage create a new class called StillImage which is getting one QPixmap and is implementing Image::draw and Image::size. This is working well for the images created using Image::loadPlatformResource.
03:38 Changeset [32301] by hausmann@webkit.org

Whoops, fixed file permissions to not be executable.

03:28 Changeset [32300] by hausmann@webkit.org

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • Initialize the WebGraphics with the one found in WebCore
03:28 Changeset [32299] by hausmann@webkit.org

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • Package the Resources into a qrc
03:28 Changeset [32298] by hausmann@webkit.org

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • Make sure every resource is available als png as well.
03:27 Changeset [32297] by hausmann@webkit.org

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • Allow TextAreas to be resized.
  • No QWebSettings for this is introduced.
03:08 Changeset [32296] by hausmann@webkit.org

Simon Hausmann <shausman@trolltech.com>

Fixes: QWebView::url property behaviour strange in designer

Added QWebView/QWebFrame::setUrl, which unlike load() clears the view immediately, schedules a load of the url but also makes sure url() returns the set url. This setter is now also used for the url property.

03:06 Changeset [32295] by mjs@apple.com

2008-04-21 Maciej Stachowiak <mjs@apple.com>

Rubber stamped by Alexey.


Add some braces.x

  • kjs/testkjs.cpp: (runWithScripts):
02:55 Changeset [32294] by hausmann@webkit.org

Andre Poenitz <andre.poenitz@trolltech.com>

Fixe compilation with Qt namespaces

02:36 Changeset [32293] by hausmann@webkit.org

When printing on high resolution printers we need to scale the painter accordingly (for now).

02:35 Changeset [32292] by hausmann@webkit.org

Provide a print preview in the QtLauncher

01:34 Changeset [32291] by mjs@apple.com

2008-04-21 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • only print "End:" output when -d flag is passed.


This fixes half of our failing JSC regression tests.

  • kjs/testkjs.cpp: (runWithScripts):
00:39 Changeset [32290] by mjs@apple.com

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

Reviewed by Maciej.

Add support for variable declarations in eval code.

  • VM/CodeBlock.h: (KJS::EvalCodeBlock::EvalCodeBlock):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::CodeGenerator):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::execute):
  • VM/Machine.h:
  • kjs/function.cpp: (KJS::globalFuncEval):
  • kjs/nodes.cpp: (KJS::EvalNode::generateCode):
  • kjs/nodes.h: (KJS::EvalNode::):

04/20/08:

23:56 Changeset [32289] by oliver@apple.com

Throw exceptions for invalid continue, break, and return statements.

Reviewed by Maciej

Simple refactoring and extension of Cameron's AssignErrorNode, etc patch

23:35 Changeset [32288] by alp@webkit.org

2008-04-20 Sriram Neelakandan <sriram.neelakandan@gmail.com>

Reviewed by Alp Toker.

Implement FileSystemGtk's getFileModificationTime() with GLib.

  • platform/gtk/FileSystemGtk.cpp: (WebCore::getFileModificationTime):
23:02 Changeset [32287] by alp@webkit.org

2008-04-20 Christian Persch <chpe@gnome.org>

Reviewed by Alp Toker.

Bundle GTK+ Xt compatibility code from Mozilla. These files are used
by all currently proposed GTK+ plugin patches and will make the
proposed patches smaller and easier to review.

These files should be kept as close to the upstream versions as
possible so fixes can be shared between projects and to ensure
compatibility with the reference implementation.

  • plugins/gtk/gtk2xtbin.c: Added. (xt_event_prepare): (xt_event_check): (xt_event_dispatch): (xt_event_polling_timer_callback): (gtk_xtbin_get_type): (gtk_xtbin_class_init): (gtk_xtbin_init): (gtk_xtbin_realize): (gtk_xtbin_new): (gtk_xtbin_set_position): (gtk_xtbin_resize): (gtk_xtbin_unrealize): (gtk_xtbin_destroy): (xt_client_init): (xt_client_create): (xt_client_unrealize): (xt_client_destroy): (xt_client_set_info): (xt_client_handle_xembed_message): (xt_client_event_handler): (send_xembed_message): (error_handler): (trap_errors): (untrap_error): (xt_client_focus_listener): (xt_add_focus_listener): (xt_remove_focus_listener): (xt_add_focus_listener_tree):
  • plugins/gtk/gtk2xtbin.h: Added.
22:43 SquirrelFishPerfIdeas edited by mjs@apple.com
(diff)
22:17 SquirrelFishPerfIdeas edited by mjs@apple.com
(diff)
22:16 Changeset [32286] by ggaren@apple.com

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

Reviewed by Maciej Stachowiak.


Removed Machine.cpp from AllInOneFile.cpp, and manually inlined a few
things that used to be inlined automatically.


1.9% speedup on SunSpider.


My hope is that we'll face fewer surprises in Machine.cpp codegen, now
that GCC is making fewer decisions. The speedup seems to confirm that.

20:22 SquirrelFishPerfIdeas edited by mjs@apple.com
(diff)
19:55 Changeset [32285] by oliver@apple.com

Bug 18642: Iterator context may get placed into the return register, leading to much badness
<https://bugs.webkit.org/show_bug.cgi?id=18642>

Reviewed by Maciej

To prevent incorrectly reusing what will become the result register for
eval and global code execution, we need to request and ref the destination
in advance of codegen. Unfortunately this may lead to unnecessary copying,
although in future we can probably limit this. Curiously SunSpider shows
a progression in a number of tests, although it comes out as a wash overall.

This also fixes one of the regressions in run-javascriptcore-tests.

18:56 SquirrelFishPerfIdeas edited by mjs@apple.com
(diff)
17:34 SquirrelFishPerfIdeas edited by mjs@apple.com
(diff)
17:30 SquirrelFishPerfIdeas edited by mjs@apple.com
(diff)
17:30 SquirrelFishPerfIdeas edited by mjs@apple.com
(diff)
17:29 SquirrelFishPerfIdeas created by mjs@apple.com
17:22 Changeset [32284] by alp@webkit.org

2008-04-20 Dirk Schulze <vbs85@gmx.de>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=15449
[CAIRO] SVG gradients do not work properly

Fixed SVG-gradients in Cairo.

  • svg/graphics/cairo/SVGPaintServerGradientCairo.cpp: (WebCore::SVGPaintServerGradient::setup):
17:16 SquirrelFish edited by mjs@apple.com
(diff)
17:05 ApplicationsGtk edited by alp@atoker.com
Add Skipstone and tinymail UI library (diff)
16:46 SquirrelFish edited by mjs@apple.com
(diff)
16:29 Changeset [32283] by mjs@apple.com

2008-04-20 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej.

Add support for AssignErrorNode, PrefixErrorNode, and PostfixErrorNode.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitCreateError):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::PostfixErrorNode::emitCode): (KJS::PrefixErrorNode::emitCode): (KJS::AssignErrorNode::emitCode):
  • kjs/nodes.h:
16:09 SquirrelFishBlockers edited by mjs@apple.com
(diff)
16:08 SquirrelFishBlockers edited by mjs@apple.com
(diff)
16:08 SquirrelFishBlockers edited by mjs@apple.com
(diff)
16:03 SquirrelFishBlockers edited by mjs@apple.com
(diff)
16:01 SquirrelFishBlockers created by mjs@apple.com
15:59 SquirrelFish edited by mjs@apple.com
(diff)
15:57 squirrelfish edited by mjs@apple.com
(diff)
15:56 WikiStart edited by mjs@apple.com
(diff)
15:55 SquirrelFish created by mjs@apple.com
13:48 Changeset [32282] by pewtermoose@webkit.org

2008-04-20 Matt Lilek <webkit@mattlilek.com>

Mysteriously reviewed by mitz|away.

Bug 18111: Closing a tab while dragging crashes Safari
https://bugs.webkit.org/show_bug.cgi?id=18111

Null check the page before handling drag events.

  • WebView/WebView.mm: (-[WebView draggingUpdated:]): (-[WebView draggingExited:]):
01:47 Changeset [32281] by oliver@apple.com

Provide line number information in exceptions

Reviewed by Geoff and Mark

Simple patch, adds line number information metadata to CodeBlock
and a simple method to get the line number responsible for a given
Instruction*.

00:28 Changeset [32280] by alp@webkit.org

2008-04-20 Simon Hausmann <hausmann@webkit.org>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=18578
Share the printing code between the Gtk and the Qt port

00:09 Changeset [32279] by oliver@apple.com

Provide "sourceURL" in exceptions

Reviewed by Maciej

Note: See TracTimeline for information about the timeline view.