Timeline


and

01/26/09:

22:58 Changeset [40288] by simon.fraser@apple.com

2009-01-26 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

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

Add variants of all the methods that compute dirty rects for repainting
with versions that compute those rects relative to some container
RenderBox that acts as a painting root.

20:40 Changeset [40287] by simon.fraser@apple.com

2009-01-26 Simon Fraser <simon.fraser@apple.com>

Reviewed by David Hyatt

Back out r40285, because it was checked in with no bug number, no
testcase, is rendering change that did not get thorough review,
and broke the Mac build.

19:49 Changeset [40286] by beidson@apple.com

2009-01-26 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler

-Make the recently added back/forward cache logging much better by actually

walking the entire frame tree and indenting the resulting output.

-Fix a null-termination bug in HistoryItem tree logging

  • history/HistoryItem.cpp: (WebCore::HistoryItem::showTreeWithIndent):
  • loader/FrameLoader.cpp: (WebCore::pageCacheLogPrefix): (WebCore::pageCacheLog): (WebCore::FrameLoader::logCanCachePageDecision): (WebCore::FrameLoader::logCanCacheFrameDecision):
  • loader/FrameLoader.h:
19:06 Changeset [40285] by treat@webkit.org

Allow option of hit testing frame content without clipping to the visible
viewport.

18:44 Changeset [40284] by ddkilzer@apple.com

Fix misspelling of "lowercase" in font-face-locally-installed.html

Reviewed by Dan Bernstein.

  • fast/css/font-face-locally-installed.html: Updated.
  • platform/mac/fast/css/font-face-locally-installed-expected.checksum: Updated.
  • platform/mac/fast/css/font-face-locally-installed-expected.png: Updated.
  • platform/mac/fast/css/font-face-locally-installed-expected.txt: Updated.
17:59 Changeset [40283] by andersca@apple.com

Sam did _not_ review this

17:57 Changeset [40282] by adele@apple.com

2009-01-26 Adele Peterson <adele@apple.com>

Build fix.

  • debugger/Debugger.cpp:
17:56 Changeset [40281] by andersca@apple.com

2009-01-26 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Add the ability for plug-ins to make WebKit operate in "modal mode"


  • Plugins/Hosted/NetscapePluginHostProxy.h:
  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): (WebKit::NetscapePluginHostProxy::pluginHostDied): If the plug-in crashes while we're modal, make sure to leave the modal mode.


(WebKit::NetscapePluginHostProxy::setModal):
(WKPCSetModal):

  • Plugins/Hosted/WebKitPluginClient.defs:
17:33 Changeset [40280] by sullivan@apple.com

2009-01-26 John Sullivan <sullivan@apple.com>

fixed <rdar://problem/6530053> REGRESSION (Leopard): Shift-tab in http authentication window gets
stuck in the Name field rather than cycling around

Reviewed by Dan Bernstein

  • Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib:
  • Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib: The two static text fields and the last button all had their "next key view" outlets set to the name field, which caused shift-tab from the name field to do the wrong thing. Fixed by making each selectable view have exactly one "next key view" set to it.
17:08 Changeset [40279] by barraclough@apple.com

2009-01-26 Gavin Barraclough <barraclough@apple.com>

Reviewed by Darin Adler.

Fixes for eq null & neq null, on 64-bit JIT.
https://bugs.webkit.org/show_bug.cgi?id=23559

This patch degrades 64-bit JIT performance on some benchmarks,
due to the whole not-being-incorrect thing.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
16:45 Changeset [40278] by weinig@apple.com

WebCore:

2009-01-26 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Fix for https://bugs.webkit.org/show_bug.cgi?id=18141
Acid3 tests 77 and 78 fail on reload due to SVG font race
<rdar://problem/6504899>

Match Opera's behavior of loading SVGFonts as soon as <font-face-uri>
tag is inserted into the document and not at the first use of the font
as is done for CSS web fonts.

This fixes a race condition noticeable by some in the Acid3 test that
happened because the onload event handler for an iframe containing a
<font-face-uri> with an external reference was not delayed by the pending
load of the font.

Test: http/tests/misc/SVGFont-delayed-load.html

  • svg/SVGFontFaceUriElement.cpp: (WebCore::SVGFontFaceUriElement::~SVGFontFaceUriElement): (WebCore::SVGFontFaceUriElement::parseMappedAttribute): Call loadFont if the href attribute changes. (WebCore::SVGFontFaceUriElement::insertedIntoDocument): Call loadFont. (WebCore::SVGFontFaceUriElement::loadFont): Force a load of the font specified in href attribute.
  • svg/SVGFontFaceUriElement.h:

LayoutTests:

2009-01-26 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Test for https://bugs.webkit.org/show_bug.cgi?id=18141
Acid3 tests 77 and 78 fail on reload due to SVG font race
<rdar://problem/6504899>

  • http/tests/misc/SVGFont-delayed-load-expected.txt: Added.
  • http/tests/misc/SVGFont-delayed-load.html: Added.
  • http/tests/misc/resources/SVGFont-delayed-loader.svg: Added.
  • svg/custom/acid3-test-77.html:
  • svg/custom/resources/Acid3Font-loader.svg:
16:38 Changeset [40277] by andersca@apple.com

2009-01-26 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Add the ability for a plug-in to show or hide the menu bar.


  • Plugins/Hosted/NetscapePluginHostProxy.h:
  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): (WebKit::NetscapePluginHostProxy::pluginHostDied): (WebKit::NetscapePluginHostProxy::setMenuBarVisible): (WKPCSetMenuBarVisible):
  • Plugins/Hosted/WebKitPluginClient.defs:
16:09 Changeset [40276] by pol@apple.com

2009-01-26 Pierre-Olivier Latour <pol@apple.com>

Updated the reference images for the video tests that rely on the H264 test movie,
as QuickTime 7.6 apparently slightly changed the results from the 7.5.5 version.

  • platform/mac/media/video-aspect-ratio-expected.checksum:
  • platform/mac/media/video-aspect-ratio-expected.png:
  • platform/mac/media/video-controls-rendering-expected.checksum:
  • platform/mac/media/video-controls-rendering-expected.png:
  • platform/mac/media/video-display-toggle-expected.checksum:
  • platform/mac/media/video-display-toggle-expected.png:
  • platform/mac/media/video-layer-crash-expected.checksum:
  • platform/mac/media/video-layer-crash-expected.png:
  • platform/mac/media/video-transformed-expected.checksum:
  • platform/mac/media/video-transformed-expected.png:
  • platform/mac/media/video-zoom-expected.checksum:
  • platform/mac/media/video-zoom-expected.png:
16:00 Changeset [40275] by timothy@apple.com

Change Web Archive serialization back to the binary property list format.

<rdar://problem/6127865> Web archives saved with Safari 4 cannot be read by Safari 3

Reviewed by Brady Eidson.

  • loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::rawDataRepresentation):
15:57 Changeset [40274] by cwzwarich@webkit.org

2009-01-26 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Gavin Barraclough.

Bug 23552: Dashcode evaluator no longer works after making ExecStates actual call frames
<https://bugs.webkit.org/show_bug.cgi?id=23552>
<rdar://problem/6398839>

Dashcode will crash when using the evaluator because it saves a global call
frame, even after global code has finished executing, and then uses this as
a launching pad to execute new JS in the evaluator. The fix is to detect
when Dashcode is attempting to do this and execute code from a global call
frame instead.

JavaScriptCore:

  • JavaScriptCore.exp:
  • debugger/Debugger.cpp: (JSC::evaluateInGlobalCallFrame): Added so that WebScriptCallFrame can evaluate JS starting from a global call frame.
  • debugger/Debugger.h:

WebKit/mac:

  • ForwardingHeaders/runtime/Protect.h: Added.
  • WebView/WebScriptDebugDelegate.mm: (-[WebScriptCallFrame _initWithGlobalObject:debugger:caller:debuggerCallFrame:]): Added debugger, a WebScriptDebugger* argument. (-[WebScriptCallFrame evaluateWebScript:]): Detect when Dashcode is using a stale WebScriptCallFrame to execute new JS and evaluate it starting from the global object's global call frame instead.
  • WebView/WebScriptDebugger.h: (WebScriptDebugger::globalObject): Added. (WebScriptDebugger::globalCallFrame): Added.
  • WebView/WebScriptDebugger.mm: (WebScriptDebugger::WebScriptDebugger): Initialize m_globalObject. (WebScriptDebugger::initGlobalCallFrame): Created as a clone of callEvent so that the global call frame can be saved immediately after being created. (WebScriptDebugger::callEvent): Pass 'this' as the debugger argument of WebScriptCallFrame's _initWithGlobalObject method.
15:27 Changeset [40273] by andersca@apple.com

2009-01-26 Anders Carlsson <andersca@apple.com>

Reviewed by Oliver Hunt.

Make WKPCInvoke a simpleroutine.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCInvoke):
  • Plugins/Hosted/WebKitPluginClient.defs:
15:16 Changeset [40272] by andersca@apple.com

2009-01-26 Anders Carlsson <andersca@apple.com>

Fix 64-bit build.


  • WebCore.LP64.exp:
15:14 Changeset [40271] by dglazkov@chromium.org

2009-01-26 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=23511
Move DOMTimer from bindings/js to page/.
This was prepared by moving all JSC dependencies from DOMTimer
to ScheduledAction earlier, and helps unfork the Chromuim version
of the DOMTimer.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.scons:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • bindings/js/DOMTimer.cpp: Removed.
  • bindings/js/DOMTimer.h: Removed.
  • page/DOMTimer.cpp: Copied from WebCore/bindings/js/DOMTimer.cpp.
  • page/DOMTimer.h: Copied from WebCore/bindings/js/DOMTimer.h.
15:07 Changeset [40270] by hyatt@apple.com

2009-01-26 David Hyatt <hyatt@apple.com>

Eliminate rightmostPosition, lowestPosition and leftmostPosition from RenderFlow. Move the code into
RenderBlock's methods.

Reviewed by Eric Seidel

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::lowestPosition): (WebCore::RenderBlock::rightmostPosition): (WebCore::RenderBlock::leftmostPosition):
  • rendering/RenderFlow.cpp:
  • rendering/RenderFlow.h:
15:06 Changeset [40269] by darin@chromium.org

2009-01-26 Darin Fisher <darin@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23553
Upstream changes from jcampan to fix chromium bugs 6692 and 6694.

  • platform/chromium/PopupMenuChromium.cpp: (WebCore::PopupListBox::setLoopSelectionNavigation): (WebCore::PopupListBox::PopupListBox): (WebCore::PopupContainer::setLoopSelectionNavigation): (WebCore::PopupListBox::handleKeyEvent): (WebCore::PopupListBox::paintRow): (WebCore::PopupListBox::clearSelection): (WebCore::PopupListBox::selectNextRow): (WebCore::PopupListBox::selectPreviousRow):
  • platform/chromium/PopupMenuChromium.h:
14:54 Changeset [40268] by dglazkov@chromium.org

Remove extraneous WebCore XCode project setting, introduced in previous commit.

14:52 Changeset [40267] by beidson@apple.com

2009-01-26 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

Remove some historical CachedPage time stamp fluff.

  • history/CachedPage.cpp: (WebCore::CachedPage::CachedPage):
  • history/CachedPage.h: (WebCore::CachedPage::timeStamp):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::cachePageForHistoryItem):
14:45 Changeset [40266] by hyatt@apple.com

2009-01-26 David Hyatt <hyatt@apple.com>

Move absoluteClippedOverflowRect, linesBoundingBox and borderBoundingBox from RenderFlow to RenderInline.

Reviewed by Eric Seidel

  • rendering/RenderBox.cpp: (WebCore::RenderBox::containingBlockHeightForPositioned):
  • rendering/RenderFlow.cpp:
  • rendering/RenderFlow.h:
  • rendering/RenderInline.cpp: (WebCore::RenderInline::linesBoundingBox): (WebCore::RenderInline::absoluteClippedOverflowRect):
  • rendering/RenderInline.h: (WebCore::RenderInline::borderBoundingBox):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPosition):
  • rendering/RenderTreeAsText.cpp: (WebCore::operator<<):
14:40 Changeset [40265] by dglazkov@chromium.org

2009-01-26 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=22650
Implement support for "Immutable" attribute to CodeGeneratorJS.pm, thus
allowing to explicitly mark methods as immutable (i.e. returning a new
instance rather than a reference to an existing instance).

  • bindings/js/JSSVGMatrixCustom.cpp: Removed custom methods.
  • bindings/scripts/CodeGeneratorJS.pm: Added check for Immutable

attribute when generating function call.

  • svg/SVGMatrix.idl: Replaced Custom attribute with Immutable on

methods.

14:29 Changeset [40264] by hyatt@apple.com

2009-01-26 David Hyatt <hyatt@apple.com>

Eliminate isInlineFlow() now that a RenderBlock can never be an inline flow. isInlineFlow() is now
equivalent to isRenderInline(), so all calls to isInlineFlow() have been replaced with isRenderInline().

Reviewed by Eric Seidel

  • dom/Text.cpp: (WebCore::Text::rendererIsNeeded):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::placeBoxesHorizontally): (WebCore::shouldDrawTextDecoration):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::hitTestContents): (WebCore::InlineMinMaxIterator::next): (WebCore::RenderBlock::calcInlinePrefWidths):
  • rendering/RenderBlock.h: (WebCore::RenderBlock::isBlockFlow):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::clientWidth): (WebCore::RenderBox::clientHeight): (WebCore::RenderBox::nodeAtPoint): (WebCore::RenderBox::imageChanged): (WebCore::RenderBox::offsetForPositionedInContainer): (WebCore::RenderBox::containingBlockWidthForPositioned): (WebCore::RenderBox::containingBlockHeightForPositioned):
  • rendering/RenderBox.h: (WebCore::RenderBox::width): (WebCore::RenderBox::height): (WebCore::RenderBox::size): (WebCore::RenderBox::frameRect):
  • rendering/RenderContainer.cpp: (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::dirtyLinesFromChangedChild): (WebCore::RenderFlow::createInlineBox): (WebCore::RenderFlow::paintLines): (WebCore::RenderFlow::hitTestLines): (WebCore::RenderFlow::absoluteClippedOverflowRect): (WebCore::RenderFlow::lowestPosition): (WebCore::RenderFlow::rightmostPosition): (WebCore::RenderFlow::leftmostPosition):
  • rendering/RenderFlow.h: (WebCore::RenderFlow::borderBoundingBox):
  • rendering/RenderInline.h: (WebCore::RenderInline::isRenderInline):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPosition): (WebCore::RenderLayer::intersectsDamageRect): (WebCore::RenderLayer::boundingBox):
  • rendering/RenderListItem.cpp: (WebCore::getParentOfFirstLineBox):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline): (WebCore::RenderObject::styleWillChange): (WebCore::RenderObject::firstLineStyle):
  • rendering/RenderObject.h:
  • rendering/RenderSVGInline.cpp: (WebCore::RenderSVGInline::createInlineBox):
  • rendering/RenderSVGText.cpp: (WebCore::RenderSVGText::createInlineBox):
  • rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::nodeAtPoint):
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::nodeAtPoint):
  • rendering/RenderText.cpp: (WebCore::isInlineFlowOrEmptyText):
  • rendering/RenderTreeAsText.cpp: (WebCore::operator<<):
  • rendering/bidi.cpp: (WebCore::bidiNext): (WebCore::bidiFirst): (WebCore::appendRunsForObject): (WebCore::RenderBlock::createLineBoxes): (WebCore::RenderBlock::computeHorizontalPositionsForLine): (WebCore::RenderBlock::layoutInlineChildren): (WebCore::inlineFlowRequiresLineBox): (WebCore::requiresLineBox): (WebCore::RenderBlock::skipTrailingWhitespace): (WebCore::RenderBlock::skipLeadingWhitespace): (WebCore::RenderBlock::findNextLineBreak):
14:27 Changeset [40263] by andersca@apple.com

2009-01-26 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Implement using plug-in objects as constructors, and setting and getting properties from a plug-in object.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCBooleanAndDataReply):
  • Plugins/Hosted/NetscapePluginInstanceProxy.h: (WebKit::NetscapePluginInstanceProxy::Reply::): (WebKit::NetscapePluginInstanceProxy::BooleanAndDataReply::BooleanAndDataReply): Rename NPObjectInvokeReply to BooleanAndDataReply.


  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::addValueToArray): Fix a cut and paste error.


(WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
Handle NPObjects.


  • Plugins/Hosted/ProxyInstance.h:
  • Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyField::valueFromInstance): (WebKit::ProxyField::setValueToInstance): Call the ProxyInstance method.


(WebKit::ProxyInstance::~ProxyInstance):
Release the NPObject.


(WebKit::ProxyInstance::supportsConstruct):
Ask the plug-in host if an instance supports construct.


(WebKit::ProxyInstance::fieldValue):
(WebKit::ProxyInstance::setFieldValue):
Call the plug-in host methods.


  • Plugins/Hosted/WebKitPluginHostTypes.h: Rename ObjectValueType to JSObjectValueType, and add NPObjectValueType.
13:53 Changeset [40262] by hyatt@apple.com

Land new layout tests now that display:compact support has been removed.

13:52 Changeset [40261] by hyatt@apple.com

Land new layout tests now that display:compact support has been removed.

13:51 Changeset [40260] by hyatt@apple.com

Land new layout tests now that display:compact support has been removed.

13:51 Changeset [40259] by hyatt@apple.com

Land new layout tests now that display:compact support has been removed.

13:50 Changeset [40258] by hyatt@apple.com

2009-01-26 David Hyatt <hyatt@apple.com>

Drop support for display:compact.

(1) display:compact is no longer part of CSS2.1.
(2) Shipping Safari has completely broken compact support with severely broken rendering
(all of the compact text just piles on top of the text in the inserted block and on top of itself as well).
(3) This has been broken in WebKit for years (ever since blocks converted to painting lines directly) without
anyone even noticing.

Reviewed by Eric Seidel

  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::placeBoxesHorizontally):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::handleSpecialChild): (WebCore::RenderBlock::handleRunInChild): (WebCore::RenderBlock::layoutBlockChildren): (WebCore::RenderBlock::paint): (WebCore::RenderBlock::paintObject): (WebCore::RenderBlock::nodeAtPoint): (WebCore::RenderBlock::positionForCoordinates): (WebCore::shouldCheckLines): (WebCore::getHeightForLineCount): (WebCore::RenderBlock::renderName):
  • rendering/RenderBlock.h:
  • rendering/RenderBox.cpp: (WebCore::RenderBox::sizesToIntrinsicWidth):
  • rendering/RenderBox.h: (WebCore::RenderBox::width): (WebCore::RenderBox::height): (WebCore::RenderBox::size): (WebCore::RenderBox::frameRect):
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::paintLines): (WebCore::RenderFlow::hitTestLines): (WebCore::RenderFlow::absoluteClippedOverflowRect): (WebCore::RenderFlow::linesBoundingBox):
  • rendering/RenderObject.h: (WebCore::RenderObject::isInline):
  • rendering/bidi.cpp: (WebCore::RenderBlock::computeHorizontalPositionsForLine): (WebCore::RenderBlock::layoutInlineChildren):
  • rendering/bidi.h: (WebCore::BidiRun::BidiRun):
13:44 Changeset [40257] by mrowe@apple.com

Fix the build.

Remove -Wformat=2 from the warning flags as newer versions of GCC emit
warnings about non-literal format strings for uses of our UI_STRING macro.

  • Configurations/Base.xcconfig:
13:42 Changeset [40256] by pol@apple.com

2009-01-26 Pierre-Olivier Latour <pol@apple.com>

Tweaked again earlier fix, this time just to print a warning and not abort if
attempting to generate pixel results and Perian is installed.

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

  • Scripts/run-webkit-tests:
12:55 Changeset [40255] by darin@chromium.org

2009-01-26 Adam Langley <agl@google.com>

Reviewed by Nikolas Zimmermann.

gtk2drawing: fix compiler warnings

g_object_set_data expects a gpointer as the last argument. Cast the

TRUE/FALSE values to avoid a warning.

gtk_tree_view_column_new doesn't return a GtkWidget.

  • platform/gtk/gtk2drawing.c: (setup_widget_prototype): (moz_gtk_get_combo_box_inner_button): (moz_gtk_get_combo_box_button_inner_widgets): (ensure_combo_box_widgets): (moz_gtk_get_combo_box_entry_inner_widgets): (moz_gtk_get_combo_box_entry_arrow): (ensure_combo_box_entry_widgets): (ensure_toolbar_widget): (ensure_menu_bar_item_widget): (ensure_menu_popup_widget): (ensure_menu_item_widget): (ensure_image_menu_item_widget): (ensure_menu_separator_widget): (ensure_check_menu_item_widget): (ensure_tree_header_cell_widget): (moz_gtk_entry_paint):
12:14 Changeset [40254] by hyatt@apple.com

2009-01-26 David Hyatt <hyatt@apple.com>

Change display:run-in handling so that we no longer reuse RenderBlock as though it is an inline flow.
Instead we create a new RenderInline, move the RenderBlock's children underneath it, and then set the
inline as the new element's renderer.

Reviewed by Dan Bernstein

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::handleRunInChild):
  • rendering/RenderInline.cpp: (WebCore::RenderInline::renderName):
11:43 Changeset [40253] by mrowe@apple.com

Clean up after r40240.

Rubber-stamped by Sam Weinig.

  • WebKit.xcodeproj/project.pbxproj: Reinstate WebKitPluginHost.defs.
  • Configurations/Base.xcconfig: Don't dead code strip in debug builds for now as it leads to link errors.
  • Plugins/Hosted/HostedNetscapePluginStream.mm: Revert change that is no longer needed now that WebKitPluginHost.defs

is back in the build.

10:48 Changeset [40252] by aroben@apple.com

Fix an assertion failure when Safari loads an error page

Reviewed by Alexey Proskuryakov.

  • WebFrame.cpp: (WebFrame::loadData): Use the two-argument version of KURL and MarshallingHelpers::BSTRToKURL, for reasons mentioned in r40248.
10:46 Changeset [40251] by christian@webkit.org

2009-01-26 Christian Dywan <christian@twotoasts.de>

Rubber stamped by Holger Freyther.

  • GtkLauncher/main.c: (main): Initialize threads, which is required for libSoup.
08:46 Changeset [40250] by hausmann@webkit.org

2009-01-26 David Boddie <dboddie@trolltech.com>

Reviewed by Simon Hausmann.

Doc: qdoc fix for a link to a property and added a basic description of the offline caching and storage features from HTML 5.

08:44 Changeset [40249] by dglazkov@chromium.org

2009-01-26 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=23480
Add missing method stubs to BackForwardListChromium.

  • history/BackForwardListChromium.cpp: (WebCore::BackForwardList::backItem): (WebCore::BackForwardList::forwardItem):
07:19 Changeset [40248] by aroben@apple.com

Fix an assertion on launch in KURL::KURL

All URL strings passed in to the WebKit API need to be passed to
MarshallingHelpers::BSTRToKURL so that they may be properly parsed.

Reviewed by Alexey Proskuryakov.

  • MarshallingHelpers.cpp: (MarshallingHelpers::BSTRToKURL): Changed to use the two-argument constructor for KURL so that the strings will be parsed rather than assumed to be in the correct encoding/form.
  • WebResource.cpp: (WebResource::initWithData):
  • WebURLResponse.cpp: (WebURLResponse::initWithURL):
  • WebView.cpp: (WebView::userAgentForURL): (WebView::copyURL): Changed to use MarshallingHelpers::BSTRToKURL instead of trying to do the work manually.
06:03 QtWebKitJournal edited by hausmann@webkit.org
(diff)
02:16 Changeset [40247] by darin@apple.com

2009-01-26 Darin Adler <darin@apple.com>

Requested by David Hyatt.

  • platform/mac/fast/table/form-with-table-style-expected.checksum: Updated to reflect the progression; we now render things we used to fail to render.
  • platform/mac/fast/table/form-with-table-style-expected.png: Ditto.

01/25/09:

23:31 Changeset [40246] by darin@apple.com

2009-01-25 Darin Adler <darin@apple.com>

Try to fix GTK build.

  • webkit/webkitwebview.cpp: Added include of FloatQuad.h.
23:29 Changeset [40245] by darin@apple.com

WebKit:

2009-01-25 Darin Adler <darin@apple.com>

Try to fix full build on Mac Leopard.

  • WebKit.xcodeproj/project.pbxproj: Removed WebKitPluginClient.defs from the WebKit target. Maybe this is temporary, but I had to do it to get the full build to succeed.

WebKit/mac:

2009-01-25 Darin Adler <darin@apple.com>

  • Plugins/Hosted/HostedNetscapePluginStream.mm: Added a missing extern "C".
23:26 Changeset [40244] by darin@apple.com

2009-01-25 Darin Adler <darin@apple.com>

Try to fix Windows build.

  • WebView.cpp: Added FloatQuad.h.
23:14 Changeset [40243] by darin@apple.com

2009-01-25 Darin Adler <darin@apple.com>

Try to fix Tiger buildbot.

  • WebCore.xcodeproj/project.pbxproj: Turn off cast-qual for WebDashboardRegion.m.
  • page/mac/WebDashboardRegion.m: (typeName): Added. (-[WebDashboardRegion description]): Use typeName. (-[WebDashboardRegion isEqual:]): Added comment.
22:42 Changeset [40242] by ap@webkit.org

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=23535
Strengthen debug checks in KURL

Covered (and prompted) by existing tests.

  • platform/KURL.cpp: (WebCore::checkEncodedString): Check that the first character of the URL is an allowed first scheme character, not just that it isn't a slash. (WebCore::KURL::KURL): Assert that parsing didn't affect the string (which must be the case because of parsing being idempotent).
  • page/SecurityOrigin.cpp: (WebCore::SecurityOrigin::create): Added a check for the URL being valid - if it is not, an empty security origin is created. (WebCore::SecurityOrigin::createFromString): Parse the string as URL, do not just convert it - it is not guaranteed to be properly encoded.
  • dom/Document.cpp: (WebCore::Document::updateBaseURL): As documentURI is an arbitrary string, it needs to be parsed into an URL, not just converted into one.
  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::createPattern): Create the security origin with createFromString() instead of create(). I do not know where the string comes from and whether it might not be properly encoded, but this change can't hurt, and makes the code slightly more clear.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::accessControlCheck): Create the security origin with createFromString() instead of create(). The string comes from an HTTP response header, so it may not be a properly encoded URL.
  • loader/DocLoader.cpp: (WebCore::DocLoader::requestResource): Do not try to request using invalid URLs.
  • page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): Updated to call SecurityOrigin::createFromString() (no change in behavior).
21:13 Changeset [40241] by darin@apple.com

2009-01-25 Darin Adler <darin@apple.com>

Discussed with Mark Rowe; not sure he reviewed it.

  • Configurations/Base.xcconfig: Add all the same warnings as in WebCore except for -Wcast-qual and -Wunused-parameter, which both need to be off at least for now.
20:14 Changeset [40240] by mrowe@apple.com

Improve the consistency of settings in our .xcconfig files.

Rubber-stamped by Dan Bernstein.

19:40 Changeset [40239] by hyatt@apple.com

Land table/forms layout test progression.

19:38 Changeset [40238] by hyatt@apple.com

WebCore:

2009-01-25 David Hyatt <hyatt@apple.com>

Fix for https://bugs.webkit.org/show_bug.cgi?id=23524, lots of missing content in table sections.

The new table code created a bug involving markAllDescendantsWithFloatsForLayout, namely that it could
end up marking ancestors of a block as needing layout when that block was still in the process of
doing a layout.

The fix is to add a parameter to markAllDescendantsWithFloatsForLayout that says whether or not
we are "mid-layout." If this flag is set, then the method will make sure to do only local dirtying
of objects to avoid accidentally marking a clean ancestor as needing layout again.

Ultimately the second parameter to setNeedsLayout and setChildNeedsLayout should just be removed,
with a check of whether or not we are mid-layout being done by those methods instead.

Reviewed by Oliver Hunt

Added fast/repaint/dynamic-table-vertical-alignment-change.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::collapseMargins): (WebCore::RenderBlock::clearFloatsIfNeeded): (WebCore::RenderBlock::layoutBlockChildren): (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
  • rendering/RenderBlock.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::removeFromObjectLists):
  • rendering/RenderObject.h:
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::layoutRows):

LayoutTests:

2009-01-25 David Hyatt <hyatt@apple.com>

Add layout test for https://bugs.webkit.org/show_bug.cgi?id=23524.

Reviewed by Oliver Hunt

  • fast/repaint/dynamic-table-vertical-alignment-change.html: Added.
  • platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.checksum: Added.
  • platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.png: Added.
  • platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.txt: Added.
19:02 Changeset [40237] by darin@apple.com

JavaScriptCore:

2009-01-25 Darin Adler <darin@apple.com>

Reviewed by Mark Rowe.

Bug 23352: Turn on more compiler warnings in the Mac build
https://bugs.webkit.org/show_bug.cgi?id=23352

Turn on the following warnings:

-Wcast-qual
-Wextra-tokens
-Wformat=2
-Winit-self
-Wmissing-noreturn
-Wpacked
-Wrendundant-decls

  • Configurations/Base.xcconfig: Added the new warnings. Switched to -Wextra instead of -W for clarity since we don't have to support the older versions of gcc that require the old -W syntax. Since we now use -Wformat=2, removed -Wformat-security. Also removed -Wno-format-y2k since we can have that one on now.

WebCore:

2009-01-25 Darin Adler <darin@apple.com>

Reviewed by Mark Rowe.

Bug 23352: Turn on more compiler warnings in the Mac build
https://bugs.webkit.org/show_bug.cgi?id=23352

Turn on the following warnings:

-Wcast-qual
-Wextra-tokens
-Wformat=2
-Winit-self
-Wmissing-noreturn
-Wpacked
-Wrendundant-decls

  • Configurations/Base.xcconfig: Added the new warnings. Switched to -Wextra instead of -W for clarity since we don't have to support the older versions of gcc that require the old -W syntax. Since we now use -Wformat=2, removed -Wformat-security. Also removed -Wno-format-y2k since we can have that one on now.
17:32 Changeset [40236] by mitz@apple.com

WebCore:

Reviewed by Oliver Hunt.

  • fix <rdar://problem/6525618> REGRESSION (r39566): NewsFire crashes in string hashing code when opening a Digg RSS article

Test: fast/loader/null-request-after-willSendRequest.html

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::loadItem): Null-check the request returned from the client's willSendRequest method.

LayoutTests:

Reviewed by Oliver Hunt.

  • test for <rdar://problem/6525618> REGRESSION (r39566): NewsFire crashes in string hashing code when opening a Digg RSS article
  • fast/loader/null-request-after-willSendRequest-expected.txt: Added.
  • fast/loader/null-request-after-willSendRequest.html: Added.
16:47 Changeset [40235] by hyatt@apple.com

2009-01-25 David Hyatt <hyatt@apple.com>

Fix for <rdar://problem/6525392> REGRESSION (r40180): Scroll wheel events over text scroll the page
instead of the ancestor overflow (23525)


Make sure that we always call scroll() on the nearest enclosing RenderBox. No test case is possible
here, since wheel scrolling is currently untestable (the offset varies from machine to machine).

Reviewed by Dan Bernstein

  • page/EventHandler.cpp: (WebCore::scrollAndAcceptEvent): (WebCore::EventHandler::scrollOverflow):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::enclosingBox):
  • rendering/RenderObject.h:
15:42 Changeset [40234] by darin@apple.com

2009-01-25 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

Bug 23538: REGRESSION (r39969): Garbage text instead of blank content rendered when plug-ins are disabled
https://bugs.webkit.org/show_bug.cgi?id=23538
rdar://problem/6523719

I'm not sure how to make a regression test for this, since it depends on plug-ins being disabled.

The main problem here is that when plug-ins were disabled, the code ignored the classId attribute and
the <embed> element entirely. That resulted in a page treating a Flash document as plain HTML rather
than doing fallback.

  • rendering/RenderPartObject.cpp: (WebCore::createClassIdToTypeMap): Added. Broke this out into a separate function so we could get rid of an inelegant if statement. (WebCore::activeXType): Added. To avoid repeating the MIME type for ActiveX and possibly having a typo. (WebCore::havePlugin): Added. Helper function to make sure we don't forget the null check. (WebCore::serviceTypeForClassId): Give this function a return value since that's a more natural way to return a string than an "out" parameter. Fixed the logic to only prefer the ActiveX type over the type guessed from the classId when there actually is an ActiveX plug-in to use. The old function assumed there was one, which I presume right for Chrome on Windows when plug-ins are enabled, but wrong in many other cases, and wrong all the time for all clients on Mac. We don't want to assume either way. Use the new havePlugin function so we handle the case where pluginData is 0. (WebCore::shouldUseEmbedDescendant): Renamed. Simplified the comment. Changed to use serviceTypeForClassId instead of the old version that used an out parameter. Always use the <embed> if there isn't a plug-in that knows how to handle <object> elements. (WebCore::RenderPartObject::updateWidget): Removed null checks of pluginData. The two functions that use this data still need to be called; they still do something even if no plug-ins are present. And they have now been corrected to handle 0 properly.
13:19 Changeset [40233] by darin@apple.com

2009-01-25 Darin Adler <darin@apple.com>

  • rendering/RenderMenuList.cpp: Fix build by adding back needed include.
13:11 Changeset [40232] by darin@apple.com

2009-01-25 Judit Jasz <jasy@inf.u-szeged.hu>

Reviewed by Darin Adler.


Compilation problem fixing
http://bugs.webkit.org/show_bug.cgi?id=23497

  • jit/JITCall.cpp: (JSC::JIT::compileOpCall): Use JSValuePtr::encode.
12:27 Changeset [40231] by darin@apple.com

JavaScriptCore:

2009-01-25 Darin Adler <darin@apple.com>

Reviewed by Sam Weinig.

Bug 23352: Turn on more compiler warnings in the Mac build
https://bugs.webkit.org/show_bug.cgi?id=23352

Fourth patch: Deal with the last few stray warnings.

  • parser/Parser.cpp: Only declare jscyyparse if it's not already declared. This makes both separate compilation and all-in-one compilation work with the -Wredundant-decls warning.

WebCore:

2009-01-25 Darin Adler <darin@apple.com>

Reviewed by Sam Weinig.

Bug 23352: Turn on more compiler warnings in the Mac build
https://bugs.webkit.org/show_bug.cgi?id=23352

Fourth patch: Deal with the last few stray warnings.

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::firstLineBlock): Handle the const_cast a little better. Also make the local variable be a RenderBlock so the cast is closer to the code that guarantees it's correct.
  • rendering/SVGRenderTreeAsText.cpp: (WebCore::writeStyle): Put the enum into a local variable that's a built-in type before using it with TextStream, so we don't get a warning due to -Wsign-promo.
12:25 Changeset [40230] by darin@apple.com

2009-01-25 Darin Adler <darin@apple.com>

Reviewed by Sam Weinig.

Bug 23352: Turn on more compiler warnings in the Mac build
https://bugs.webkit.org/show_bug.cgi?id=23352

Third patch: Use the noreturn attribute on functions that don't
return to prepare for the use of the -Wmissing-noreturn warning.

  • jit/JITCall.cpp: (JSC::unreachable): Added NO_RETURN.
  • jsc.cpp: (functionQuit): Ditto. (printUsageStatement): Ditto.
  • wtf/AlwaysInline.h: Added definition of NO_RETURN.
12:23 Changeset [40229] by darin@apple.com

WebCore:

2009-01-25 Darin Adler <darin@apple.com>

Reviewed by Sam Weinig.

Bug 23522: use checked casts for render tree
https://bugs.webkit.org/show_bug.cgi?id=23522

Step one: RenderText.

Also change set of RenderFlow* to be a ListHashSet as the comment in the
header indicated.

  • dom/CharacterData.cpp: (WebCore::CharacterData::setData): Use toRenderText. (WebCore::CharacterData::appendData): Ditto. (WebCore::CharacterData::insertData): Ditto. (WebCore::CharacterData::deleteData): Ditto. (WebCore::CharacterData::replaceData): Ditto.
  • dom/ContainerNode.cpp: (WebCore::ContainerNode::getUpperLeftCorner): Ditto. (WebCore::ContainerNode::getLowerRightCorner): Ditto.
  • dom/Position.cpp: (WebCore::nextRenderedEditable): Ditto. (WebCore::previousRenderedEditable): Ditto. (WebCore::Position::renderedOffset): Ditto. Also use function members instead of data members of InlineTextBox. (WebCore::Position::upstream): Ditto. (WebCore::Position::downstream): Ditto. (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight): Ditto. (WebCore::Position::inRenderedText): Ditto. (WebCore::Position::isRenderedCharacter): Ditto. (WebCore::searchAheadForBetterMatch): Ditto. (WebCore::Position::getInlineBoxAndOffset): Ditto.
  • dom/Range.cpp: Added include of VisiblePosition.h now that it's no longer included in RenderObject.h.
  • dom/Text.cpp: (WebCore::Text::splitText): Use toRenderText. (WebCore::Text::recalcStyle): Ditto.
  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::deleteInsignificantText): Ditto.
  • editing/SelectionController.cpp: (WebCore::SelectionController::debugRenderer): Ditto.
  • editing/TextIterator.cpp: (WebCore::TextIterator::handleTextNode): Ditto. (WebCore::TextIterator::handleTextBox): Ditto. (WebCore::TextIterator::emitText): Ditto. (WebCore::SimplifiedBackwardsTextIterator::handleTextNode): Ditto.
  • editing/VisiblePosition.cpp: Added include of FloatQuad.h now that it's no longer included in RenderObject.h.
  • inspector/InspectorController.cpp: Ditto.
  • page/Frame.cpp: Ditto.
  • rendering/RenderBox.cpp: Ditto.
  • rendering/RenderInline.cpp: Ditto.
  • rendering/RenderPath.cpp: Ditto.
  • rendering/RenderSVGContainer.cpp: Ditto.
  • rendering/RenderSVGImage.cpp: Ditto.
  • rendering/RenderSVGInlineText.cpp: Ditto.
  • rendering/RenderSVGTSpan.cpp: Ditto.
  • rendering/RenderSVGText.cpp: Ditto.
  • rendering/RenderSVGTextPath.cpp: Ditto.
  • rendering/RenderTableCell.cpp: Ditto.
  • rendering/RenderView.cpp: Ditto.
  • editing/visible_units.cpp: (WebCore::startPositionForLine): Use function members instead of data members of InlineTextBox. (WebCore::endPositionForLine): Ditto. (WebCore::startOfParagraph): Use toRenderText. (WebCore::endOfParagraph): Ditto.
  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): Use toRenderText.
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::placeBoxesHorizontally): Ditto.
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::deleteLine): Ditto. (WebCore::InlineTextBox::extractLine): Ditto. (WebCore::InlineTextBox::attachLine): Ditto. (WebCore::InlineTextBox::placeEllipsisBox): Ditto. (WebCore::InlineTextBox::paintDecoration): Ditto. (WebCore::InlineTextBox::paintCompositionUnderline): Ditto. (WebCore::InlineTextBox::offsetForPosition): Ditto. (WebCore::InlineTextBox::positionForOffset): Ditto.
  • rendering/InlineTextBox.h: Made most members private. Use toRenderText.
  • rendering/RenderArena.cpp: (WebCore::RenderArena::allocate): Use static_cast instead of C-style cast. (WebCore::RenderArena::free): Ditto.
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::addContinuationWithOutline): Use ListHashSet<RenderFlow*> instead of RenderFlowSequencedSet. (WebCore::RenderBlock::paintContinuationOutlines): Ditto. (WebCore::stripTrailingSpace): Ditto. (WebCore::RenderBlock::calcInlinePrefWidths): Ditto. (WebCore::RenderBlock::updateFirstLetter): Ditto.
  • rendering/RenderContainer.cpp: (WebCore::RenderContainer::addChild): Use toRenderText.
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::dirtyLinesFromChangedChild): Use ListHashSet<RenderFlow*> instead of RenderFlowSequencedSet. (WebCore::RenderFlow::paintLines): Ditto.
  • rendering/RenderMenuList.cpp: Removed some unneeded includes.
  • rendering/RenderMenuList.h: Added now-needed forward declaration of RenderText. Made more members private.
  • rendering/RenderObject.cpp: Updated includes. (WebCore::RenderObject::isEditable): Use toRenderText. (WebCore::RenderObject::positionForPoint): Made non-inline so we wouldn't have to include VisiblePosition.h in the header just for this.
  • rendering/RenderObject.h: Removed unneeded includes and forward declarations. Changed special vertical position values to be constants rather than an enum. Eliminated RenderFlowSequencedSet, and changed clients to use ListHashSet<RenderFlow*>.
  • rendering/RenderText.cpp: (WebCore::RenderText::findNextInlineTextBox): Use function members instead of data members of InlineTextBox. (WebCore::RenderText::positionForCoordinates): Ditto. (WebCore::isInlineFlowOrEmptyText): Use toRenderText. (WebCore::RenderText::previousCharacter): Use function members instead of data members of InlineTextBox. (WebCore::RenderText::position): Ditto. (WebCore::RenderText::caretMinOffset): Ditto. (WebCore::RenderText::caretMaxOffset): Ditto. (WebCore::RenderText::caretMaxRenderedOffset): Ditto.
  • rendering/RenderText.h: Added definition of toRenderText.
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::textWithHardLineBreaks): Use toRenderText.
  • rendering/RenderTreeAsText.cpp: (WebCore::operator<<): Use toRenderText and toRenderBox. (WebCore::writeTextRun): Ditto. (WebCore::write): Ditto.
  • rendering/bidi.cpp: (WebCore::InlineIterator::increment): Use toRenderText. (WebCore::InlineIterator::current): Ditto. (WebCore::checkMidpoints): Ditto. (WebCore::RenderBlock::computeHorizontalPositionsForLine): Ditto. (WebCore::RenderBlock::layoutInlineChildren): Ditto. (WebCore::RenderBlock::determineStartPosition): Ditto. (WebCore::shouldSkipWhitespaceAfterStartObject): Ditto. (WebCore::RenderBlock::findNextLineBreak): Ditto.

WebKit/mac:

2009-01-25 Darin Adler <darin@apple.com>

Reviewed by Sam Weinig.

Bug 23522: use checked casts for render tree
https://bugs.webkit.org/show_bug.cgi?id=23522

Step one: RenderText.

  • WebView/WebRenderNode.mm: (copyRenderNode): Use toRenderText.
09:29 Changeset [40228] by hausmann@webkit.org

2009-01-25 Urs Wolfer <uwolfer@kde.org>

Reviewed by Simon Hausmann.

Add QWebPage::SelectAll to WebAction enum to select all content.

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

09:26 Changeset [40227] by hausmann@webkit.org

2009-01-25 Thiago Macieira <thiago.macieira@nokia.com>

Reviewed by Simon Hausmann.

Fix gcc compiler warning (deprecated conversion from constant string to char*)

"" cannot be stored in a char*

09:22 Changeset [40226] by hausmann@webkit.org

2009-01-25 David Boddie <dboddie@trolltech.com>

Reviewed by Simon Hausmann.

Doc: Fixed the terminology used.

09:20 Changeset [40225] by hausmann@webkit.org

2009-01-25 Thiago Macieira <thiago.macieira@nokia.com>

Reviewed by Simon Hausmann.

Rename links from trolltech.com to qtsoftware.com

09:04 Changeset [40224] by hausmann@webkit.org

2009-01-25 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon Hausmann.

Make QWebPage auto-test more robust by cleaning up generated files

Sometimes the auto-test may segfault, leaving behind files because the
call to cleanupTestCase() never happens, so we also clean up the files
at initTestCase() just to make sure we're running in a clean environment.

08:27 QtWebKitJournal edited by hausmann@webkit.org
(diff)
08:21 QtWebKitTodo edited by hausmann@webkit.org
(diff)
06:56 Changeset [40223] by hausmann@webkit.org

2008-12-20 Urs Wolfer <uwolfer@kde.org>

Reviewed by Simon Hausmann.

Fix: compile qwebhistory.h with pendantic comiler flag.

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

04:03 Changeset [40222] by ap@webkit.org

Remove a slightly misleading comment from ChangeLog - the issue is related to bug 23500, but not the same.

03:59 Changeset [40221] by ap@webkit.org

Reviewed by Darin Adler.

<rdar://problem/5954398> REGRESSION: 1.1% PLT regression from 33577 and 33578 (encoding fixes)

WebCore:

Changed single argument KURL constructors back to always expect an already encoded string,
eliminating extra conversions.

This is a rather unstable situation, as it is often unclear whether a given string is safe
to convert to KURL without resolving. I think that going forward, the solution is to try to
keep encoded URLs as KURL instances, and not as strings.

  • platform/KURL.h: Updated comments.
  • platform/KURL.cpp: (WebCore::KURL::KURL): In debug builds, verify that the passed string is ASCII-only. The intention is to verify that it is already parsed and encoded by KURL or equivalent code, but since encoding is scheme-dependent, such a verification would be quite complicated. Don't encode the string as UTF-8, as it supposed to be ASCII-only. Removed a hack that made strings beginning with "/" turn into "file:" URLs. I didn't find any reason for it to exist, but I saw several cases where this code path was taken inadvertently (see examples in LayoutTests/ChangeLog). (WebCore::KURL::setProtocol): Using a user-provided string without validation or encoding is clearly wrong here (e.g., the "protocol" can be set to a full URL, effectively replacing the old one), and an already encoded string is expected by parse(). In debug builds, non-ASCII input will make an assertion in parse() fail. Added a FIXME. (WebCore::KURL::setHost): Ditto. (WebCore::KURL::setPort): Ditto. (WebCore::KURL::setHostAndPort): Ditto. (WebCore::KURL::setUser): Ditto. (WebCore::KURL::setPass): Ditto. (WebCore::KURL::setRef): Ditto. (WebCore::KURL::setQuery): Ditto. (WebCore::KURL::setPath): Ditto. Note that problems described in bug 23500 mask some of the problems in release builds currently, as the incorrectly parsed URL is ignored. (WebCore::KURL::parse): Verify that the passed string is already encoded.
  • html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::parseMappedAttribute): (WebCore::HTMLLinkElement::process):
  • html/HTMLLinkElement.h: Changed to avoid using invalid URLs (this was causing problems on DNS prefetch tests, see LayoutTests/ChangeLog).
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::init): Create an empty KURL without indirection for a small speedup. (WebCore::FrameLoader::requestFrame): Resolve and encode javascript URLs properly, now that String to KURL conversion requires the string to be already encoded.
  • page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): Resolve and encode the origin. HTML5 seems a little unclear on how this should work (it talks about "either parsing it as a URL, or resolving it", and then somehow compares unaltered targetOrigin string to a security origin object), so I just made the code as close to what we already had as possible.

LayoutTests:

  • http/tests/misc/dns-prefetch-control-expected.txt:
  • http/tests/misc/dns-prefetch-control.html: Google documentation for DNS Prefetch makes use of net-path relative URLs (server-name), explaining that scheme is not necessary. This is of course true, but this test uses data: subframes, and data: is a non-hierachical scheme, so resolving such URLs fails, resulting in a KURL object that is not valid. WebKit used to ignore this, and tried to create a URL from this string again, now with a single argument KURL constructor, which resulted in a valid file: URL, which was successfully used! Both issues have been corrected in WebCore, so I had to change the test to no longer use relative net-path URLs.
  • http/tests/security/postMessage/invalid-origin-throws-exception-expected.txt:
  • http/tests/security/postMessage/invalid-origin-throws-exception.html: URLs that start with "/" are no longer converted to "file:" ones, so the results now match Firefox.
  • http/tests/uri/resolve-encoding-relative-expected.txt: Added.
  • http/tests/uri/resolve-encoding-relative.html: Added. Added a test to cover some cases of relative URL resolving that were not covered before. Expected results are taken from Firefox 3, and WebKit doesn't match in how fragments are encoded (we use document encoding, while Firefox uses UTF-8). Since fragments are not sent in HTTP requests, this is not too dangerous, but the Firefox behavior looks more consistent.

01/24/09:

16:34 Changeset [40220] by treat@webkit.org

Oops, fix the Qt build.

14:41 Changeset [40219] by eric.carlson@apple.com

2009-01-24 Eric Carlson <eric.carlson@apple.com>

<video> controls visibility test needs to dump render tree as text because
the test does not always end at the same time, so the timeline slider thumb
is not always at the same position.

  • media/video-controls-visible-audio-only.html:
  • platform/mac/media/video-controls-visible-audio-only-expected.txt:
14:39 Changeset [40218] by treat@webkit.org

Add QWebFrame::renderContents() method which allows arbitary rendering
of any content region within the QWebFrame. It also does not draw any
scrollbars.

12:59 Changeset [40217] by darin@apple.com

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

Try to fix expected results for new video element test.

  • platform/mac/media/video-controls-visible-audio-only-expected.png: Landed new result generated on my machine.
  • platform/mac/media/video-controls-visible-audio-only-expected.txt: Ditto.
12:40 Changeset [40216] by darin@apple.com

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

Try to fix Qt build.

  • WebCore.pro: Added JSTextCustom.cpp.
07:10 Changeset [40215] by cmarrin@apple.com

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

Change styleAvailable functionality to be a linked list
rather than scanning every CompositeAnimation for
Animations that are waiting for styleAvailable. This has
potential for large performance improvement in cases where
there are many animations firing at once. But it will also
help in my next fix, which is to synchronize software and
accelerated animations.

I also changed slightly when the beginAnimationUpdate and
endAnimationUpdate calls are made. But this has no real
effect on performance or behavior.

01:55 Changeset [40214] by oliver@apple.com

Force inlining of Lexer::matchPunctuator

Reviewed by Maciej Stachowiak.

2.2% win when parsing jQuery, Mootools, Prototype, etc

01:39 Changeset [40213] by ap@webkit.org

Reviewed by Darin Adler.

<rdar://problem/6368059> REGRESSION: URL encoding problems on http://www.cineman.ch

Test: http/tests/xmlhttprequest/encode-request-url-2.html

  • platform/KURL.cpp: (WebCore::appendASCII): Added a helper function. (WebCore::KURL::KURL): Explicitly encode the URL to call two-argument parse() with better specified behavior. (WebCore::KURL::init): Ditto. This avoids trying to round-trip an URL encoded into a byte stream, but not yet transformed to ASCII-only using percent escapes. Since different parts of the byte stream can use different encodings, round-tripping is not possible. (WebCore::KURL::parse): Reverted an earlier change that made the single-argument version of this function convert the string to utf-8. I think that on the remanining code paths, it is correct to assume that the string is all ASCII, but I'm not yet confident enough to drop a FIXME warning.
00:05 Changeset [40212] by jmalonzo@webkit.org

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

Gtk build fix after r40170

  • GNUmakefile.am: Removed editing/RemoveNodeAttributeCommand.cpp and editing/RemoveNodeAttributeCommand.h

01/23/09:

22:19 Changeset [40211] by treat@webkit.org

Fix the Qt build after r40205.

21:47 Changeset [40210] by beidson@apple.com

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

Reviewed by Darin Adler

In CachedPage, break off per-Frame pieces of data into a CachedFrame object.

  • GNUmakefile.am:
  • WebCore.base.exp:
  • WebCore.pro:
  • WebCore.scons:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • history/CachedFrame.cpp: Added. (WebCore::cachedFrameCounter): (WebCore::CachedFrame::CachedFrame): (WebCore::CachedFrame::~CachedFrame): (WebCore::CachedFrame::restore): (WebCore::CachedFrame::clear): (WebCore::CachedFrame::setCachedFramePlatformData): (WebCore::CachedFrame::cachedFramePlatformData):
  • history/CachedFrame.h: Added. (WebCore::CachedFrame::document): (WebCore::CachedFrame::documentLoader): (WebCore::CachedFrame::view): (WebCore::CachedFrame::mousePressNode): (WebCore::CachedFrame::url): (WebCore::CachedFrame::domWindow):
  • history/CachedPage.cpp: (WebCore::CachedPage::CachedPage): (WebCore::CachedPage::restore): (WebCore::CachedPage::clear): (WebCore::CachedPage::setCachedFramePlatformData): (WebCore::CachedPage::cachedFramePlatformData):
  • history/CachedPage.h: (WebCore::CachedPage::document): (WebCore::CachedPage::documentLoader): (WebCore::CachedPage::view): (WebCore::CachedPage::mousePressNode): (WebCore::CachedPage::url): (WebCore::CachedPage::domWindow):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::cachePageForHistoryItem): Setting the DocumentLoader independently of creating a CachedPage was a historical relic. Take the opportunity to clean that up.
19:59 Changeset [40209] by hyatt@apple.com

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

Add ASSERTs to catch anyone trying to obtain the width/height of an inline flow. Fix up all the places
that triggered the ASSERT (since all of these places are effectively regressions from my landing that
devirtualized width()/height()).

Reviewed by Adele

  • dom/Position.cpp: (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
  • editing/DeleteButtonController.cpp: (WebCore::isDeletableElement):
  • html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::isKeyboardFocusable):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::clientWidth): (WebCore::RenderBox::clientHeight): (WebCore::RenderBox::scrollWidth): (WebCore::RenderBox::scrollHeight): (WebCore::RenderBox::absoluteOutlineBounds):
  • rendering/RenderBox.h: (WebCore::RenderBox::width): (WebCore::RenderBox::height): (WebCore::RenderBox::size): (WebCore::RenderBox::frameRect): (WebCore::RenderBox::borderBoundingBox):
  • rendering/RenderFlow.h: (WebCore::RenderFlow::borderBoundingBox):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPosition):
  • rendering/RenderScrollbarPart.cpp: (WebCore::RenderScrollbarPart::styleWillChange):
  • rendering/RenderScrollbarPart.h:
  • wml/WMLAElement.cpp: (WebCore::WMLAElement::isKeyboardFocusable):
19:03 Changeset [40208] by barraclough@apple.com

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

Reviewed by Geoff Garen.

Fix for <rdar://problem/6126212>
Ensure that callbacks out from the JSC interface are only allowed
to return in reverse-chronological order to that in which they were
made. If we allow earlier callbacks to return first, then this may
result in setions of the RegisterFile in use by another thread
being trampled.

See uber-comment in JSLock.h for details.

  • runtime/JSLock.cpp: (JSC::JSLock::DropAllLocks::DropAllLocks): (JSC::JSLock::DropAllLocks::~DropAllLocks):
18:39 Changeset [40207] by darin@apple.com

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

Reviewed by Anders Carlsson.

Bug 23352: Turn on more compiler warnings in the Mac build
https://bugs.webkit.org/show_bug.cgi?id=23352

Second patch: Slightly less simple cases of various warnings.

  • bridge/jni/jni_runtime.h: (JSC::Bindings::JavaString::_commonInit): Use reinterpret_cast here and avoid casting away const.
  • dom/XMLTokenizerLibxml2.cpp: (WebCore::PendingCallbacks::appendStartElementNSCallback): Use static_cast instead of reinterpret_cast; this is casting the result of malloc, and the idiom is to use static_cast, which works because we're casting from void*. (WebCore::PendingCallbacks::PendingStartElementNSCallback::call): Use const_cast instead C-style casts.
  • xml/XSLTUnicodeSort.cpp: (inlineXSLTTransformError): Tweak soft linking of xsltTransformError to use a macro instead of redefining the function.
18:23 Changeset [40206] by darin@apple.com

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

Reviewed by Anders Carlsson.

Bug 23475: fast/text/find-backwards.html fails with ICU disabled SearchBuffer
https://bugs.webkit.org/show_bug.cgi?id=23475

  • editing/TextIterator.cpp: (WebCore::SearchBuffer::search): Set the character start flag to false to ensure we won't ever return the same result twice. There are other ways we could accomplish this, mentioned in the comment, but this one was the smallest and cleanest I could think of.
18:22 Changeset [40205] by darin@apple.com

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

Reviewed by Anders Carlsson.

Bug 23510: REGRESSION (r40171): CDATASection objects not getting proper JavaScript wrappers
https://bugs.webkit.org/show_bug.cgi?id=23510

That patch fixed the optimization that's supposed to give a faster path for
allocating the wrappers for DOM Text objects. But CDATASection is the one
subclass of Text objects.

  • GNUmakefile.am: Added JSCDATASectionCustom.cpp.
  • WebCore.scons: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • WebCoreSources.bkl: Ditto.
  • bindings/js/JSCDATASectionCustom.cpp: Copied from bindings/js/JSTextCustom.cpp. (WebCore::toJSNewlyCreated): Changed to do CDATASection, not Text.
  • bindings/scripts/CodeGeneratorJS.pm: Added another toJSNewlyCreated function for CDATASection. We don't want to have to check when creating a wrapper for a Text object whether it's a CDATASection object or not, so we need to do this overload at compile time.
18:00 Changeset [40204] by zimmermann@webkit.org

Reviewed by Eric Seidel.

Add a base class for WML form control elements: WMLFormControlElement (as it's designed in HTML as well).
WMLFormControlElement inherits from WMLElement and FormControlElement (just like the HTMLFormControlElement equivalent).

WMLInputElement / WMLOptionElement / WMLOptGroupElement are supposed to inherit from the new WMLFormControlElement class.
Now WMLInputElement & WMLOptGroupElement only inherit from WMLElement and FormControlElement, but WMLOptionElement inherits
from WMLEventHandlingElement (which in turn inherits from WMLElement) and FormControlElement. In order to introduce a shared
base class, WMLEventHandlingElement is no longer allowed to inherit from WMLElement directly. Instead it should turn into
another base class, just like FormControlElement.

Add a base class for form control elements 'with state': FormControlElementWithState, serving as base class for
HTMLFormControlElementWithState and WMLFormControlElementWithState. -> Make Document operate on FormControlElementWithState
objects instead of HTMLFormControlElementWithState objects, to support save/restore control state for non HTMLFormControlElements.

Rename isGenericFormElement() to isFormControlElement(), and move it to Element.h
Add new virtual function isFormControlElementWithState() to Element.h.

17:23 Changeset [40203] by bfulgham@webkit.org

Bug 23492: Separating the WebKitSystemInterface Calls.

17:21 Changeset [40202] by cfleizach@apple.com

Bug 23509: Crash at -[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:]

Move null checking into makeRange

16:54 Changeset [40201] by treat@webkit.org

Fix the Gtk build too after removal of RenderBox::toConstRenderBox

16:52 Changeset [40200] by treat@webkit.org

Fix the Qt build after rename of RenderBox::toConstRenderBox -> toRenderBox

16:47 Changeset [40199] by treat@webkit.org

Fix the Qt build after r40168.

16:26 Changeset [40198] by beidson@apple.com

WebCore:

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

Rubberstamped by Darin Adler

Rename CachedPagePlatformData to CachedFramePlatformData to more accurately reflect its true role.

  • GNUmakefile.am:
  • WebCore.base.exp:
  • WebCore.order:
  • WebCore.xcodeproj/project.pbxproj:
  • history/CachedFramePlatformData.h: Copied from WebCore/history/CachedPagePlatformData.h. (WebCore::CachedFramePlatformData::~CachedFramePlatformData):
  • history/CachedPagePlatformData.h: Removed.
  • history/CachedPage.cpp: (WebCore::CachedPage::clear): (WebCore::CachedPage::setCachedFramePlatformData): (WebCore::CachedPage::cachedFramePlatformData):
  • history/CachedPage.h:

WebKit:

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

Rubberstamped by Darin Adler

Rename CachedPagePlatformData to CachedFramePlatformData to more accurately reflect its true role.

  • WebKit.xcodeproj/project.pbxproj:

WebKit/mac:

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

Rubberstamped by Darin Adler

Rename CachedPagePlatformData to CachedFramePlatformData to more accurately reflect its true role.

  • WebCoreSupport/WebCachedFramePlatformData.h: Copied from WebKit/mac/WebCoreSupport/WebCachedPagePlatformData.h. (WebCachedFramePlatformData::WebCachedFramePlatformData):
  • WebCoreSupport/WebCachedPagePlatformData.h: Removed.
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::savePlatformDataToCachedPage): (WebFrameLoaderClient::transitionToCommittedFromCachedPage):
  • WebKit.order:

WebKit/win:

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

Rubberstamped by Darin Adler

Rename CachedPagePlatformData to CachedFramePlatformData to more accurately reflect its true role.

  • WebCachedFramePlatformData.h: Copied from WebKit/win/WebCachedPagePlatformData.h. (WebCachedFramePlatformData::WebCachedFramePlatformData):
  • WebCachedPagePlatformData.h: Removed.
  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::savePlatformDataToCachedPage):
  • WebKit.vcproj/WebKit.vcproj:
16:23 Changeset [40197] by kevino@webkit.org

Reviewed by Kevin Ollivier.

Fix drawing in situations where sub-portions of the bitmap are to be drawn to the screen.

16:19 Changeset [40196] by kevino@webkit.org

Build fixes for recent changes.

15:33 Changeset [40195] by hyatt@apple.com

Fix Windows bustage.

15:33 Changeset [40194] by hyatt@apple.com

Fix Windows bustage.

15:33 Changeset [40193] by eric.carlson@apple.com

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

Reviewed by Adele Peterson


Fix for https://bugs.webkit.org/show_bug.cgi?id=23407

Implement QTMovieWin::hasVideo so the controller on an audio-only <video> element
is never hidden (as with an <audio> element).

Test: media/video-controls-visible-audio-only.html

  • platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::hasVideo):
  • platform/graphics/win/QTMovieWin.cpp: (QTMovieWin::hasVideo):
  • platform/graphics/win/QTMovieWin.h:

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

Reviewed by Adele Peterson

Test for behavior of <video> element controller when a media file has
only audio.
https://bugs.webkit.org/show_bug.cgi?id=23407

  • media/video-controls-visible-audio-only.html: Added.
  • platform/mac/media/video-controls-visible-audio-only-expected.checksum: Added.
  • platform/mac/media/video-controls-visible-audio-only-expected.png: Added.
  • platform/mac/media/video-controls-visible-audio-only-expected.txt: Added.
15:25 Changeset [40192] by hyatt@apple.com

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

Make toRenderBox a non-member function. Rename toConstRenderBox to just also be called toRenderBox.

Reviewed by Oliver Hunt

  • css/CSSComputedStyleDeclaration.cpp: (WebCore::sizingBox): (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  • dom/ContainerNode.cpp: (WebCore::ContainerNode::getUpperLeftCorner): (WebCore::ContainerNode::getLowerRightCorner):
  • dom/Element.cpp: (WebCore::Element::scrollByUnits):
  • dom/Position.cpp: (WebCore::endsOfNodeAreVisuallyDistinctPositions): (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight): (WebCore::Position::isCandidate):
  • editing/DeleteButtonController.cpp: (WebCore::isDeletableElement):
  • editing/EditorCommand.cpp: (WebCore::verticalScrollDistance):
  • editing/TextIterator.cpp: (WebCore::shouldEmitExtraNewlineForNode):
  • html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::isKeyboardFocusable):
  • html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::isFocusable):
  • html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::width): (WebCore::HTMLFrameElementBase::height):
  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
  • page/EventHandler.cpp: (WebCore::EventHandler::handleMouseDraggedEvent): (WebCore::EventHandler::autoscrollTimerFired): (WebCore::EventHandler::updateAutoscrollRenderer): (WebCore::EventHandler::stopAutoscrollTimer): (WebCore::EventHandler::scrollOverflow):
  • page/FrameView.cpp: (WebCore::FrameView::layout):
  • page/animation/AnimationBase.cpp: (WebCore::blendFunc):
  • rendering/InlineBox.cpp: (WebCore::InlineBox::adjustPosition):
  • rendering/InlineBox.h: (WebCore::InlineBox::renderBox):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::clearFloats):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::offsetFromContainer): (WebCore::RenderBox::computeAbsoluteRepaintRect): (WebCore::RenderBox::containingBlockWidthForPositioned): (WebCore::RenderBox::containingBlockHeightForPositioned): (WebCore::RenderBox::calcAbsoluteHorizontal): (WebCore::RenderBox::calcAbsoluteVertical): (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
  • rendering/RenderBox.h: (WebCore::toRenderBox): (WebCore::RenderBox::previousSiblingBox): (WebCore::RenderBox::nextSiblingBox): (WebCore::RenderBox::parentBox):
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::absoluteClippedOverflowRect):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPosition): (WebCore::RenderLayer::resize): (WebCore::RenderLayer::boundingBox):
  • rendering/RenderObject.cpp: (WebCore::addLayers): (WebCore::RenderObject::removeLayers): (WebCore::RenderObject::moveLayers): (WebCore::RenderObject::findNextLayer): (WebCore::RenderObject::enclosingLayer): (WebCore::RenderObject::setNeedsLayout): (WebCore::RenderObject::setNeedsPositionedMovementLayout): (WebCore::RenderObject::repaintAfterLayoutIfNeeded): (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline): (WebCore::RenderObject::computeAbsoluteRepaintRect): (WebCore::RenderObject::localToAbsolute): (WebCore::RenderObject::absoluteToLocal): (WebCore::RenderObject::localToAbsoluteQuad): (WebCore::RenderObject::offsetFromContainer): (WebCore::RenderObject::removeFromObjectLists): (WebCore::RenderObject::destroy): (WebCore::RenderObject::updateHitTestResult): (WebCore::RenderObject::addDashboardRegions):
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::layoutRows):
  • rendering/RenderTheme.cpp: (WebCore::RenderTheme::hitTestMediaControlPart): (WebCore::RenderTheme::baselinePosition):
  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::hitTestMediaControlPart):
  • rendering/RenderTreeAsText.cpp: (WebCore::externalRepresentation):
  • rendering/bidi.cpp: (WebCore::inlineWidth): (WebCore::RenderBlock::computeHorizontalPositionsForLine): (WebCore::requiresLineBox): (WebCore::RenderBlock::findNextLineBreak):
  • svg/SVGLength.cpp: (WebCore::SVGLength::PercentageOfViewport):
  • wml/WMLAElement.cpp: (WebCore::WMLAElement::isKeyboardFocusable):
  • wml/WMLInputElement.cpp: (WebCore::isInputFocusable):
15:03 Changeset [40191] by cfleizach@apple.com

2009-01-23 Chris Fleizach <cfleizach@apple.com>

Reviewed by Beth Dakin.

Bug 23509: Crash at -[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:]
https://bugs.webkit.org/show_bug.cgi?id=23509


Add null checking around next/previous sentence retrieval in AX code

  • page/AccessibilityObject.cpp: (WebCore::AccessibilityObject::nextSentenceEndPosition): (WebCore::AccessibilityObject::previousSentenceStartPosition):
14:50 Changeset [40190] by adele@apple.com

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

Build fix.

Use new linesBoundingBox method instead of
boundingBoxWidth and boundingBoxHeight for RenderText objects.

  • WebView/WebRenderNode.mm: (copyRenderNode):
14:41 Changeset [40189] by kevino@webkit.org

wx build fix, add missing include dir.

14:39 Changeset [40188] by ddkilzer@apple.com

2009-01-23 David Kilzer <ddkilzer@apple.com>

  • Scripts/do-webcore-rename: Removed 10 header guard renames that had already been fixed, and updated 4 renames whose original values had changed.
14:38 Changeset [40187] by ddkilzer@apple.com

Added missing comma to copyright.

14:20 Changeset [40186] by hyatt@apple.com

Land new results now that text runs at negative positions dump their widths correctly.

14:19 Changeset [40185] by hyatt@apple.com

Land new results now that text runs at negative positions dump their widths correctly.

14:19 Changeset [40184] by hyatt@apple.com

Update the test results for compacts and run-ins now that they dump accurate positions.

14:18 Changeset [40183] by hyatt@apple.com

Add new repaint test for hover regression.

14:17 Changeset [40182] by hyatt@apple.com

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

Fix for <rdar://problem/6518850> REGRESSION: hover feedback not showing on many sites

Inline flow repainting was broken because it relied on width() and height(). Give RenderFlow a linesBoundingBox
method for obtaining a reasonable bounding box to use for repainting. Eliminate the methods from RenderInline
since compacts/run-ins need them too, so putting them on RenderFlow is necessary.

For consistency, change RenderText's version of these methods into the single linesBoundingBox method as
well.

Reviewed by Oliver Hunt

  • WebCore.base.exp:
  • dom/ContainerNode.cpp: (WebCore::ContainerNode::getUpperLeftCorner): (WebCore::ContainerNode::getLowerRightCorner):
  • dom/Position.cpp: (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::containingBlockHeightForPositioned):
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::absoluteClippedOverflowRect): (WebCore::RenderFlow::linesBoundingBox):
  • rendering/RenderFlow.h:
  • rendering/RenderInline.cpp:
  • rendering/RenderInline.h: (WebCore::RenderInline::offsetWidth): (WebCore::RenderInline::offsetHeight):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPosition):
  • rendering/RenderText.cpp: (WebCore::RenderText::linesBoundingBox):
  • rendering/RenderText.h:
  • rendering/RenderTreeAsText.cpp: (WebCore::operator<<):
  • rendering/SVGRenderTreeAsText.cpp: (WebCore::write):
13:28 Changeset [40181] by hyatt@apple.com

Fix RenderFlow. Botched the application of my patch.

13:25 Changeset [40180] by hyatt@apple.com

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

Move layer() into RenderBox and make it non-virtual. Move all of the scrolling functions from RenderObject
to RenderBox and devirtualize as many as possible. Clean up styleWillChange to factor code specific to
RenderBox and RenderBlock into their appropriate subclasses. Stubbed out an empty styleWillChange on
RenderText, since none of the work done in styleWillChange was relevant to text nodes.

Reviewed by Sam Weinig

  • dom/Document.cpp: (WebCore::Document::elementFromPoint): (WebCore::Document::renderView): (WebCore::Document::prepareMouseEvent):
  • dom/Document.h:
  • dom/Element.cpp: (WebCore::Element::scrollByUnits):
  • editing/SelectionController.cpp: (WebCore::SelectionController::contains):
  • html/HTMLMarqueeElement.cpp: (WebCore::HTMLMarqueeElement::start): (WebCore::HTMLMarqueeElement::stop):
  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::topRenderer): (WebCore::AccessibilityRenderObject::visiblePositionForPoint): (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
  • page/AccessibilityRenderObject.h:
  • page/EventHandler.cpp: (WebCore::scrollAndAcceptEvent): (WebCore::EventHandler::handleMousePressEvent): (WebCore::EventHandler::handleMouseDraggedEvent): (WebCore::EventHandler::updateSelectionForMouseDrag): (WebCore::EventHandler::autoscrollTimerFired): (WebCore::EventHandler::updateAutoscrollRenderer): (WebCore::EventHandler::stopAutoscrollTimer): (WebCore::EventHandler::scrollOverflow): (WebCore::EventHandler::handleWheelEvent): (WebCore::EventHandler::hoverTimerFired):
  • page/Frame.cpp: (WebCore::Frame::clearTimers):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::styleWillChange):
  • rendering/RenderBlock.h:
  • rendering/RenderBox.cpp: (WebCore::RenderBox::styleWillChange): (WebCore::RenderBox::verticalScrollbarWidth): (WebCore::RenderBox::horizontalScrollbarHeight): (WebCore::RenderBox::scroll): (WebCore::RenderBox::canBeProgramaticallyScrolled): (WebCore::RenderBox::autoscroll): (WebCore::RenderBox::panScroll): (WebCore::RenderBox::offsetFromContainer): (WebCore::RenderBox::computeAbsoluteRepaintRect):
  • rendering/RenderBox.h: (WebCore::RenderBox::layer): (WebCore::RenderBox::requiresLayer): (WebCore::RenderBox::stopAutoscroll): (WebCore::RenderBox::hasAutoVerticalScrollbar): (WebCore::RenderBox::hasAutoHorizontalScrollbar): (WebCore::RenderBox::scrollsOverflow): (WebCore::RenderBox::scrollsOverflowX): (WebCore::RenderBox::scrollsOverflowY): (WebCore::RenderBox::includeVerticalScrollbarSize): (WebCore::RenderBox::includeHorizontalScrollbarSize):
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::absoluteClippedOverflowRect): (WebCore::RenderFlow::addFocusRingRects):
  • rendering/RenderForeignObject.cpp:
  • rendering/RenderForeignObject.h: (WebCore::RenderForeignObject::requiresLayer):
  • rendering/RenderInline.cpp:
  • rendering/RenderInline.h: (WebCore::RenderInline::requiresLayer):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::childrenClipRect): (WebCore::RenderLayer::selfClipRect):
  • rendering/RenderListBox.cpp:
  • rendering/RenderListBox.h:
  • rendering/RenderObject.cpp: (WebCore::addLayers): (WebCore::RenderObject::removeLayers): (WebCore::RenderObject::moveLayers): (WebCore::RenderObject::findNextLayer): (WebCore::RenderObject::enclosingLayer): (WebCore::RenderObject::setNeedsLayout): (WebCore::RenderObject::setNeedsPositionedMovementLayout): (WebCore::RenderObject::computeAbsoluteRepaintRect): (WebCore::RenderObject::styleWillChange): (WebCore::RenderObject::localToAbsolute): (WebCore::RenderObject::absoluteToLocal): (WebCore::RenderObject::localToAbsoluteQuad): (WebCore::RenderObject::offsetFromContainer): (WebCore::RenderObject::destroy):
  • rendering/RenderObject.h:
  • rendering/RenderPath.cpp:
  • rendering/RenderPath.h: (WebCore::RenderPath::requiresLayer):
  • rendering/RenderReplica.h: (WebCore::RenderReplica::requiresLayer):
  • rendering/RenderSVGContainer.cpp:
  • rendering/RenderSVGContainer.h: (WebCore::RenderSVGContainer::requiresLayer):
  • rendering/RenderSVGHiddenContainer.cpp:
  • rendering/RenderSVGHiddenContainer.h: (WebCore::RenderSVGHiddenContainer::requiresLayer):
  • rendering/RenderSVGImage.cpp:
  • rendering/RenderSVGImage.h: (WebCore::RenderSVGImage::requiresLayer):
  • rendering/RenderSVGInline.h: (WebCore::RenderSVGInline::requiresLayer):
  • rendering/RenderSVGInlineText.h: (WebCore::RenderSVGInlineText::requiresLayer):
  • rendering/RenderSVGText.cpp:
  • rendering/RenderSVGText.h: (WebCore::RenderSVGText::requiresLayer):
  • rendering/RenderScrollbarPart.h: (WebCore::RenderScrollbarPart::requiresLayer):
  • rendering/RenderSlider.cpp: (WebCore::RenderSlider::setCurrentPosition):
  • rendering/RenderTableCell.cpp:
  • rendering/RenderTableCell.h: (WebCore::RenderTableCell::requiresLayer):
  • rendering/RenderTableCol.h: (WebCore::RenderTableCol::requiresLayer):
  • rendering/RenderTableRow.h: (WebCore::RenderTableRow::requiresLayer):
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::layoutRows):
  • rendering/RenderText.h: (WebCore::RenderText::styleWillChange):
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::autoscroll): (WebCore::RenderTextControl::scroll):
  • rendering/RenderTextControl.h:
  • rendering/RenderTreeAsText.cpp: (WebCore::write): (WebCore::externalRepresentation):
13:18 Changeset [40179] by andersca@apple.com

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

Fix 64-bit build.


  • Plugins/Hosted/ProxyInstance.mm: (WebKit::proxyClass):
12:56 Changeset [40178] by andersca@apple.com

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

Fix GCC 4.0 build.


  • Configurations/Base.xcconfig:
12:53 Changeset [40177] by andersca@apple.com

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

Fix tyop.


  • editing/markup.cpp: (WebCore::joinMarkups):
12:51 Changeset [40176] by darin@apple.com

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

Try to fix WX build.

  • runtime/JSGlobalObjectFunctions.h: Include <wtf/unicode/Unicode.h> for the definition of UChar.
12:50 Changeset [40175] by andersca@apple.com

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

Reviewed by Darin Adler.

  • Configurations/Base.xcconfig: Fix GCC 4.0 build.


  • editing/markup.cpp: (WebCore::joinMarkups): Pass a const reference to the vector.


  • html/HTMLElement.cpp:
  • platform/text/String.cpp: Add comments indicating that these functions are for use in the debugger.
12:37 Changeset [40174] by andersca@apple.com

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

  • Configurations/Base.xcconfig: GCC 4.0 build fix.


  • runtime/JSNumberCell.h: 64-bit build fix.
12:35 Changeset [40173] by darin@chromium.org

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

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23506
Upstream Chromium's image decoders for use with PLATFORM(SKIA)

  • platform/image-decoders/skia/BMPImageDecoder.cpp: Added.
  • platform/image-decoders/skia/BMPImageDecoder.h: Added.
  • platform/image-decoders/skia/BMPImageReader.cpp: Added.
  • platform/image-decoders/skia/BMPImageReader.h: Added.
  • platform/image-decoders/skia/GIFImageDecoder.cpp: (WebCore::GIFImageDecoderPrivate::GIFImageDecoderPrivate): (WebCore::GIFImageDecoderPrivate::decode): (WebCore::GIFImageDecoderPrivate::getColorMap): (WebCore::GIFImageDecoder::GIFImageDecoder): (WebCore::GIFImageDecoder::isSizeAvailable): (WebCore::GIFImageDecoder::frameCount): (WebCore::GIFImageDecoder::frameBufferAtIndex): (WebCore::GIFImageDecoder::clearFrameBufferCache): (WebCore::GIFImageDecoder::decode): (WebCore::GIFImageDecoder::sizeNowAvailable): (WebCore::GIFImageDecoder::initFrameBuffer): (WebCore::GIFImageDecoder::prepEmptyFrameBuffer): (WebCore::GIFImageDecoder::haveDecodedRow): (WebCore::GIFImageDecoder::frameComplete):
  • platform/image-decoders/skia/GIFImageDecoder.h: (WebCore::GIFImageDecoder::filenameExtension): (WebCore::GIFImageDecoder::frameDurationAtIndex): (WebCore::GIFImageDecoder::):
  • platform/image-decoders/skia/GIFImageReader.cpp: (GIFImageReader::do_lzw): (GIFImageReader::read):
  • platform/image-decoders/skia/GIFImageReader.h:
  • platform/image-decoders/skia/ICOImageDecoder.cpp: Added.
  • platform/image-decoders/skia/ICOImageDecoder.h: Added.
  • platform/image-decoders/skia/ImageDecoder.h: (WebCore::RefCountedNativeImageSkia::create): (WebCore::RefCountedNativeImageSkia::bitmap): (WebCore::RefCountedNativeImageSkia::RefCountedNativeImageSkia): (WebCore::RGBA32Buffer::): (WebCore::RGBA32Buffer::RGBA32Buffer): (WebCore::RGBA32Buffer::~RGBA32Buffer): (WebCore::RGBA32Buffer::operator=): (WebCore::RGBA32Buffer::clear): (WebCore::RGBA32Buffer::copyBitmapData): (WebCore::RGBA32Buffer::bitmap): (WebCore::RGBA32Buffer::setSize): (WebCore::RGBA32Buffer::width): (WebCore::RGBA32Buffer::height): (WebCore::RGBA32Buffer::rect): (WebCore::RGBA32Buffer::status): (WebCore::RGBA32Buffer::duration): (WebCore::RGBA32Buffer::disposalMethod): (WebCore::RGBA32Buffer::hasAlpha): (WebCore::RGBA32Buffer::setRect): (WebCore::RGBA32Buffer::setStatus): (WebCore::RGBA32Buffer::setDuration): (WebCore::RGBA32Buffer::setDisposalMethod): (WebCore::RGBA32Buffer::setHasAlpha): (WebCore::RGBA32Buffer::setRGBA): (WebCore::ImageDecoder::ImageDecoder): (WebCore::ImageDecoder::~ImageDecoder): (WebCore::ImageDecoder::setData): (WebCore::ImageDecoder::isSizeAvailable): (WebCore::ImageDecoder::size): (WebCore::ImageDecoder::frameCount): (WebCore::ImageDecoder::repetitionCount): (WebCore::ImageDecoder::supportsAlpha): (WebCore::ImageDecoder::failed): (WebCore::ImageDecoder::setFailed): (WebCore::ImageDecoder::clearFrameBufferCache): (WebCore::ImageDecoder::setSize): (WebCore::ImageDecoder::isOverSize):
  • platform/image-decoders/skia/JPEGImageDecoder.cpp: (WebCore::JPEGImageReader::JPEGImageReader): (WebCore::JPEGImageReader::decode): (WebCore::JPEGImageDecoder::isSizeAvailable): (WebCore::JPEGImageDecoder::outputScanlines):
  • platform/image-decoders/skia/JPEGImageDecoder.h: (WebCore::JPEGImageDecoder::filenameExtension): (WebCore::JPEGImageDecoder::supportsAlpha): (WebCore::JPEGImageDecoder::reader):
  • platform/image-decoders/skia/PNGImageDecoder.cpp: (WebCore::PNGImageReader::close): (WebCore::PNGImageDecoder::PNGImageDecoder): (WebCore::PNGImageDecoder::isSizeAvailable): (WebCore::PNGImageDecoder::frameBufferAtIndex): (WebCore::PNGImageDecoder::decode): (WebCore::PNGImageDecoder::decodingFailed): (WebCore::PNGImageDecoder::headerAvailable): (WebCore::rowAvailable): (WebCore::PNGImageDecoder::rowAvailable): (WebCore::PNGImageDecoder::pngComplete):
  • platform/image-decoders/skia/PNGImageDecoder.h: (WebCore::PNGImageDecoder::filenameExtension): (WebCore::PNGImageDecoder::reader):
  • platform/image-decoders/skia/XBMImageDecoder.cpp: Added.
  • platform/image-decoders/skia/XBMImageDecoder.h: Added.
11:58 Changeset [40172] by andersca@apple.com

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

Reviewed by Sam Weinig.

Turn on -Wmissing-prototypes and fix the resulting warnings.

  • Configurations/Base.xcconfig:
  • History/WebHistory.mm: (timeIntervalForBeginningOfDay):
  • History/WebHistoryItem.mm: (historyItemWrappers):
  • Misc/WebNSPasteboardExtras.mm: (imageFromElement):
  • WebView/WebFrame.mm:
  • WebView/WebScriptDebugger.mm: (toNSString):
11:52 Changeset [40171] by andersca@apple.com

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

Reviewed by Sam Weinig.

Turn on -Wmissing-prototypes and fix the resulting warnings.


  • Configurations/Base.xcconfig:
  • bindings/js/JSHistoryCustom.cpp: (WebCore::nonCachingStaticBackFunctionGetter): (WebCore::nonCachingStaticForwardFunctionGetter): (WebCore::nonCachingStaticGoFunctionGetter):
  • bindings/js/JSLocationCustom.cpp: (WebCore::nonCachingStaticReplaceFunctionGetter): (WebCore::nonCachingStaticReloadFunctionGetter): (WebCore::nonCachingStaticAssignFunctionGetter): (WebCore::JSLocation::customGetOwnPropertySlot):
  • bindings/objc/DOMRGBColor.mm: (WebCore::getWrapperForRGB): (WebCore::setWrapperForRGB): (WebCore::removeWrapperForRGB):
  • bindings/scripts/CodeGeneratorJS.pm:
  • bridge/c/c_instance.cpp: (JSC::Bindings::globalExceptionString):
  • bridge/runtime_object.cpp: (JSC::callRuntimeConstructor):
  • css/CSSParser.cpp: (WebCore::parseGradientColorStop):
  • css/CSSPrimitiveValue.cpp: (WebCore::scaleFactorForConversion):
  • css/CSSStyleSelector.cpp: (WebCore::operator >): (WebCore::operator <=): (WebCore::getTransformOperationType):
  • dom/make_names.pl:
  • editing/DeleteSelectionCommand.cpp: (WebCore::updatePositionForTextRemoval):
  • editing/EditorCommand.cpp: (WebCore::valueBackColor): (WebCore::valueFontName): (WebCore::valueFontSize): (WebCore::valueFontSizeDelta): (WebCore::valueForeColor):
  • editing/VisiblePosition.cpp: (WebCore::canonicalizeCandidate):
  • editing/htmlediting.cpp:
  • editing/markup.cpp: (WebCore::joinMarkups):
  • html/HTMLElement.cpp: (WebCore::inlineTagList): (WebCore::blockTagList):
  • html/HTMLMediaElement.cpp: (WebCore::serializeTimeOffset): (WebCore::parseTimeOffset):
  • page/mac/FrameMac.mm: (WebCore::regExpForLabels):
  • platform/Arena.cpp:
  • platform/graphics/Color.cpp: (WebCore::colorFloatToRGBAByte):
  • platform/graphics/cg/ImageSourceCG.cpp: (WebCore::imageSourceOptions):
  • platform/graphics/cg/PathCG.cpp: (WebCore::CGPathApplierToPathApplier):
  • platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::initFontData):
  • platform/mac/PlatformMouseEventMac.mm:
  • platform/text/String.cpp:
  • rendering/RenderBlock.cpp: (WebCore::continuationOutlineTable): (WebCore::getHeightForLineCount):
  • rendering/RenderView.cpp: (WebCore::rendererAfterPosition):
  • rendering/RootInlineBox.cpp: (WebCore::isEditableLeaf):
  • rendering/SVGRenderTreeAsText.cpp: (WebCore::hasFractions):
  • rendering/style/RenderStyle.cpp: (WebCore::positionedObjectMoved):
  • svg/SVGFont.cpp: (WebCore::floatWidthUsingSVGFontCallback): (WebCore::floatWidthMissingGlyphCallback): (WebCore::drawTextUsingSVGFontCallback): (WebCore::drawTextMissingGlyphCallback):
  • svg/SVGTransformable.cpp: (WebCore::parseTransformParamList):
  • svg/graphics/SVGPaintServerGradient.cpp: (WebCore::operator<<):
  • xml/XPathGrammar.y:
  • xml/XSLTExtensions.cpp:
11:42 Changeset [40170] by eric@webkit.org

No review, removing an empty file.

Remove RemoveNodeAttributeCommand since it was empty.

  • WebCore.pro:
  • WebCore.scons:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • editing/RemoveNodeAttributeCommand.cpp: Removed.
  • editing/RemoveNodeAttributeCommand.h: Removed.
11:40 Changeset [40169] by andersca@apple.com

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

Reviewed by Sam Weinig.


Turn on -Wmissing-prototypes and fix the warnings.


  • API/JSClassRef.cpp: (clearReferenceToPrototype):
  • Configurations/Base.xcconfig:
  • runtime/Collector.cpp: (JSC::getPlatformThreadRegisters):
  • runtime/ExceptionHelpers.cpp: (JSC::createError):
  • runtime/JSGlobalObjectFunctions.h:
  • runtime/JSNumberCell.h:
  • runtime/UString.cpp: (JSC::initializeStaticBaseString): (JSC::createRep):
  • wtf/FastMalloc.cpp:
  • wtf/Threading.cpp:
11:16 Changeset [40168] by beidson@apple.com

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

Rubberstamped by Sam Weinig

Rework ScriptCachedPageData to ScriptCachedFrameData to more accurately reflect its true purpose

  • GNUmakefile.am:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • bindings/js/ScriptCachedFrameData.cpp: Copied from bindings/js/ScriptCachedPageData.cpp. (WebCore::ScriptCachedFrameData::ScriptCachedFrameData): (WebCore::ScriptCachedFrameData::domWindow): (WebCore::ScriptCachedFrameData::~ScriptCachedFrameData): (WebCore::ScriptCachedFrameData::restore): (WebCore::ScriptCachedFrameData::clear):
  • bindings/js/ScriptCachedFrameData.h: Copied from bindings/js/ScriptCachedPageData.h.
  • bindings/js/ScriptCachedPageData.cpp: Removed.
  • bindings/js/ScriptCachedPageData.h: Removed.
  • history/CachedPage.cpp: (WebCore::CachedPage::CachedPage): (WebCore::CachedPage::restore):
  • history/CachedPage.h:
11:03 Changeset [40167] by sfalken@apple.com

Fix build.

  • rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::baselinePosition):
10:56 Changeset [40166] by darin@chromium.org

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

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23506
Copy existing ImageDecoder.h in preparation for landing Skia changes on top.

  • platform/image-decoders/skia/ImageDecoder.h: Copied from platform/image-decoders/ImageDecoder.h.
10:53 Changeset [40165] by darin@chromium.org

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

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23506
Copy existing image-decoders in preparation for landing Skia changes on top.

  • platform/image-decoders/skia: Added.
  • platform/image-decoders/skia/GIFImageDecoder.cpp: Copied from platform/image-decoders/gif/GIFImageDecoder.cpp.
  • platform/image-decoders/skia/GIFImageDecoder.h: Copied from platform/image-decoders/gif/GIFImageDecoder.h.
  • platform/image-decoders/skia/GIFImageReader.cpp: Copied from platform/image-decoders/gif/GIFImageReader.cpp.
  • platform/image-decoders/skia/GIFImageReader.h: Copied from platform/image-decoders/gif/GIFImageReader.h.
  • platform/image-decoders/skia/JPEGImageDecoder.cpp: Copied from platform/image-decoders/jpeg/JPEGImageDecoder.cpp.
  • platform/image-decoders/skia/JPEGImageDecoder.h: Copied from platform/image-decoders/jpeg/JPEGImageDecoder.h.
  • platform/image-decoders/skia/PNGImageDecoder.cpp: Copied from platform/image-decoders/png/PNGImageDecoder.cpp.
  • platform/image-decoders/skia/PNGImageDecoder.h: Copied from platform/image-decoders/png/PNGImageDecoder.h.
09:19 BuildingQtOnLinux edited by kojot350@gmail.com
"Installing dependencies on OpenSUSE Linux" (diff)
08:57 Changeset [40164] by ap@webkit.org

Reviewed by Oliver Hunt.

https://bugs.webkit.org/show_bug.cgi?id=23478
Add a test for application test resource loading failure

  • http/tests/appcache/404-resource-expected.txt: Added.
  • http/tests/appcache/404-resource.html: Added.
  • http/tests/appcache/resources/404-resource.manifest: Added.
08:18 Changeset [40163] by zecke@webkit.org

Build fix in RenderThemeGtk for RenderBox usage.

08:07 Changeset [40162] by ap@webkit.org

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

Reviewed by Alexey Proskuryakov.

Bug 22720: Make XMLHttpRequest work in Workers
<https://bugs.webkit.org/show_bug.cgi?id=22720>

Add copy/adopt for ResourceResponse(Base)/ResourceRequest(Base) to allow the
data to be passed across threads.

No observable change in behavior, so no test.

  • platform/network/FormData.cpp: (WebCore::FormData::deepCopy):
  • platform/network/FormData.h:
  • platform/network/HTTPHeaderMap.cpp: (WebCore::HTTPHeaderMap::copyData): (WebCore::HTTPHeaderMap::adopt):
  • platform/network/HTTPHeaderMap.h:
  • platform/network/ResourceRequestBase.cpp: (WebCore::ResourceRequestBase::adopt): (WebCore::ResourceRequestBase::copyData):
  • platform/network/ResourceRequestBase.h:
  • platform/network/ResourceResponseBase.cpp: (WebCore::ResourceResponseBase::adopt): (WebCore::ResourceResponseBase::copyData):
  • platform/network/ResourceResponseBase.h:
07:53 Changeset [40161] by ap@webkit.org

2009-01-23 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=23374
Add WorkerRunLoop to encapsulate message queue and timer heap.
This is first half (timer heap is added as separate patch).

  • GNUmakefile.am: Added WorkerRunLoop.cpp to the build.
  • WebCore.vcproj/WebCore.vcproj: Same as above.
  • WebCore.xcodeproj/project.pbxproj: Same as above
  • dom/WorkerContext.cpp: (WebCore::WorkerContext::postTask):
  • dom/WorkerContext.h:
  • dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::postMessageToWorkerContext): (WebCore::WorkerMessagingProxy::workerThreadCreated):
  • dom/WorkerRunLoop.cpp: Added. (WebCore::WorkerRunLoop::run): Runs the loop until terminate() is called. (WebCore::WorkerRunLoop::terminate): Causes the loop to exit. (WebCore::WorkerRunLoop::postTask): Adds a task to the internal queue.
  • dom/WorkerRunLoop.h: Added. (WebCore::WorkerRunLoop::WorkerRunLoop):
  • dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread): (WebCore::WorkerThread::stop):
  • dom/WorkerThread.h: (WebCore::WorkerThread::runLoop):
07:02 Changeset [40160] by treat@webkit.org

Redo previous patch http://trac.webkit.org/changeset/34260 which fixes a
huge memory leak by ensuring that the timer is fired one last time on
application tear down thus triggering the GCController thereby freeing
JavaScript objects as well as triggering other timer based tear down methods.

06:50 Changeset [40159] by ap@webkit.org

Reviewed by Oliver Hunt.

https://bugs.webkit.org/show_bug.cgi?id=23459
Workers are not properly terminated if execution hasn't begun yet

Doesn't affect observable behavior, so test case is not possible.

  • dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread): Call forbidExecution() if it couldn't be called earlier.
05:29 Changeset [40158] by ariya@webkit.org

2009-01-23 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon Hausmann.

Make the test more robust by taking into account the platform-specific
cursor flashing time.

  • tests/qwebframe/tst_qwebframe.cpp:
04:39 Changeset [40157] by ariya@webkit.org

2009-01-23 Ariya Hidayat <ariya.hidayat@trolltech.com>

[Qt] Fix the build after RenderBox refactoring in r40153.

  • platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::baselinePosition):
04:39 Changeset [40156] by ariya@webkit.org

2009-01-23 Ariya Hidayat <ariya.hidayat@trolltech.com>

Rubber-stamped by Alexey Proskuryakov.

Fix the build after RenderBox refactoring in r40153.

  • plugins/PluginView.cpp: (WebCore::PluginView::invalidateWindowlessPluginRect):
04:38 Changeset [40155] by ariya@webkit.org

2009-01-23 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon Hausmann.

[Qt] Simplify the assertion.

  • platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::getWindowsContext): (WebCore::GraphicsContext::releaseWindowsContext):

01/22/09:

23:19 Changeset [40154] by hyatt@apple.com

Land updated layout tests (progressions) after border/padding move.

23:14 Changeset [40153] by hyatt@apple.com

2009-01-22 David Hyatt <hyatt@apple.com>

Move the border and padding methods from RenderObject to RenderBox.

Reviewed by Oliver Hunt

  • css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  • editing/DeleteButtonController.cpp: (WebCore::DeleteButtonController::createDeletionUI):
  • page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::placeBoxesVertically):
  • rendering/InlineFlowBox.h: (WebCore::InlineFlowBox::borderLeft): (WebCore::InlineFlowBox::borderRight): (WebCore::InlineFlowBox::paddingLeft): (WebCore::InlineFlowBox::paddingRight):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::clearFloats):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::paddingTop): (WebCore::RenderBox::paddingBottom): (WebCore::RenderBox::paddingLeft): (WebCore::RenderBox::paddingRight): (WebCore::RenderBox::calcHeight): (WebCore::RenderBox::containingBlockWidthForPositioned): (WebCore::RenderBox::containingBlockHeightForPositioned): (WebCore::RenderBox::calcAbsoluteHorizontal): (WebCore::RenderBox::calcAbsoluteHorizontalValues): (WebCore::RenderBox::calcAbsoluteVertical): (WebCore::RenderBox::calcAbsoluteVerticalValues): (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
  • rendering/RenderBox.h: (WebCore::RenderBox::borderTop): (WebCore::RenderBox::borderBottom): (WebCore::RenderBox::borderLeft): (WebCore::RenderBox::borderRight):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
  • rendering/RenderObject.h:
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::textBlockWidth): (WebCore::RenderTextControl::calcHeight): (WebCore::RenderTextControl::calcPrefWidths):
  • rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::preferredContentWidth):
  • rendering/RenderTreeAsText.cpp: (WebCore::operator<<):
  • rendering/RenderView.cpp: (WebCore::RenderView::repaintViewRectangle):
21:13 Changeset [40152] by hyatt@apple.com

2009-01-22 David Hyatt <hyatt@apple.com>

Devirtualize the marginTop/Right/Left/Bottom functions and move them to RenderBox (along with some of the
other margin functions that have to come along for the ride).

Reviewed by Oliver Hunt

  • css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  • editing/TextIterator.cpp: (WebCore::shouldEmitExtraNewlineForNode):
  • rendering/InlineBox.cpp:
  • rendering/InlineBox.h: (WebCore::InlineBox::renderBox):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::marginLeft): (WebCore::InlineFlowBox::marginRight): (WebCore::InlineFlowBox::placeBoxesHorizontally): (WebCore::InlineFlowBox::computeLogicalBoxHeights): (WebCore::InlineFlowBox::placeBoxesVertically): (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::isSelfCollapsingBlock): (WebCore::RenderBlock::adjustPositionedBlock): (WebCore::RenderBlock::handleCompactChild): (WebCore::RenderBlock::estimateVerticalPosition): (WebCore::getBorderPaddingMargin): (WebCore::RenderBlock::calcInlinePrefWidths):
  • rendering/RenderBlock.h:
  • rendering/RenderBox.cpp: (WebCore::RenderBox::calcHeight):
  • rendering/RenderBox.h: (WebCore::RenderBox::hasHorizontalBordersPaddingOrMargin): (WebCore::RenderBox::hasHorizontalBordersOrPadding): (WebCore::RenderBox::marginTop): (WebCore::RenderBox::marginBottom): (WebCore::RenderBox::marginLeft): (WebCore::RenderBox::marginRight): (WebCore::RenderBox::isSelfCollapsingBlock): (WebCore::RenderBox::collapsedMarginTop): (WebCore::RenderBox::collapsedMarginBottom): (WebCore::RenderBox::isTopMarginQuirk): (WebCore::RenderBox::isBottomMarginQuirk): (WebCore::RenderBox::maxTopMargin): (WebCore::RenderBox::maxBottomMargin):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline):
  • rendering/RenderObject.h:
  • rendering/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::lineHeight): (WebCore::RenderSVGContainer::baselinePosition):
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::calcHeight):
  • rendering/RenderTheme.cpp: (WebCore::RenderTheme::baselinePosition):
  • rendering/bidi.cpp: (WebCore::getBorderPaddingMargin): (WebCore::inlineWidth): (WebCore::RenderBlock::computeHorizontalPositionsForLine): (WebCore::inlineFlowRequiresLineBox): (WebCore::requiresLineBox): (WebCore::RenderBlock::findNextLineBreak):
20:57 Changeset [40151] by mrowe@apple.com

Disable GCC_WARN_ABOUT_MISSING_PROTOTYPES temporarily.

Rubber-stamped by Anders Carlsson.

Current versions of Xcode only respect it for C and Objective-C files,
and our code doesn't currently compile if it is applied to C++ and
Objective-C++ files.

20:30 Changeset [40150] by hyatt@apple.com

Fix build bustage on Gtk.

20:07 Changeset [40149] by hyatt@apple.com

2009-01-22 David Hyatt <hyatt@apple.com>

Move the m_widthChanged bit on RenderTableCell into RenderFlow's set of bits. Let intrinsicPaddingTop and
intrinsicPaddingBottom just be normal non-bitfield values.

Reviewed by Oliver Hunt

  • rendering/RenderFlow.h: (WebCore::RenderFlow::RenderFlow):
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::RenderTableCell): (WebCore::RenderTableCell::updateWidth): (WebCore::RenderTableCell::layout):
  • rendering/RenderTableCell.h:
20:06 Changeset [40148] by hyatt@apple.com

Update layout tests for table cell changes.

20:05 Changeset [40147] by hyatt@apple.com

Update layout tests for table cell changes.

20:04 Changeset [40146] by hyatt@apple.com

Update layout tests for table cell changes.

20:03 Changeset [40145] by hyatt@apple.com

Update layout tests for table cell changes.

20:03 Changeset [40144] by hyatt@apple.com

Update layout tests for table cell changes.

19:55 Changeset [40143] by hyatt@apple.com

2009-01-22 David Hyatt <hyatt@apple.com>

Properly encapsulate m_frameRect.y() behind the RenderBox::y() method now that they are the same thing.
Make m_frameRect private.

Reviewed by Oliver Hunt

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::paint): (WebCore::RenderBlock::clearFloats):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::offsetTop): (WebCore::RenderBox::nodeAtPoint): (WebCore::RenderBox::paint): (WebCore::RenderBox::paintCustomHighlight): (WebCore::RenderBox::containingBlockWidth): (WebCore::RenderBox::localToAbsolute): (WebCore::RenderBox::offsetFromContainer): (WebCore::RenderBox::computeAbsoluteRepaintRect): (WebCore::RenderBox::repaintDuringLayoutIfMoved):
  • rendering/RenderContainer.cpp: (WebCore::RenderContainer::layout):
  • rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutBlock):
  • rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::paint):
  • rendering/RenderImage.cpp: (WebCore::RenderImage::paintReplaced): (WebCore::RenderImage::nodeAtPoint):
  • rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::paint): (WebCore::RenderListMarker::getRelativeMarkerRect):
  • rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::paint): (WebCore::RenderReplaced::shouldPaint):
  • rendering/RenderReplica.cpp: (WebCore::RenderReplica::paint):
  • rendering/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::applyContentTransforms): (WebCore::RenderSVGRoot::paint): (WebCore::RenderSVGRoot::absoluteTransform): (WebCore::RenderSVGRoot::nodeAtPoint):
  • rendering/RenderTable.cpp: (WebCore::RenderTable::calcWidth): (WebCore::RenderTable::layout):
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::paint): (WebCore::RenderTableCell::paintBackgroundsBehindCell):
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::setCellWidths): (WebCore::RenderTableSection::calcRowHeight): (WebCore::RenderTableSection::layoutRows): (WebCore::RenderTableSection::paint): (WebCore::RenderTableSection::nodeAtPoint):
  • rendering/RenderWidget.cpp: (WebCore::RenderWidget::paint):
19:42 Changeset [40142] by hyatt@apple.com

2009-01-22 David Hyatt <hyatt@apple.com>

Fix for https://bugs.webkit.org/show_bug.cgi?id=23487.

This patch completely reworks vertical alignment of table cells. The current system uses methods called borderTopExtra() and borderBottomExtra() to
add extra space above and below the content of a cell. This system was not confined to the table code and spilled out into all the other RenderObjects.
The y-position of the table cell box was set to the outer edge of the cell, but the y() method of RenderBox lied and added in borderTopExtra(). height()
also excluded the extra space, so did not accurately reflect the true size of the cell.


With the new system, the table cell box is completely accurate. The extra space becomes part of the padding of the cell. Padding has been reworked so that
additional intrinsic padding can be added on to the specified padding from style. Only the table code has to deal with the extra cell padding.

localToAbsoluteForContent has now been removed, since there no longer has to be a special hacked content box.

A number of table layout tests progress with this change, since the new layout system actually fixes existing bugs in baseline alignment of cells.

Reviewed by Oliver Hunt

  • css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Make CSSComputedStyleDeclaration ask for padding values that exclude the built-in intrinsic padding. This ensures that getComputedStyle continues to give the right answer.


  • dom/ContainerNode.cpp: (WebCore::ContainerNode::getLowerRightCorner):
  • editing/visible_units.cpp: (WebCore::previousLinePosition): (WebCore::nextLinePosition):
  • rendering/LayoutState.cpp: (WebCore::LayoutState::LayoutState): Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.


  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::overflowRect): Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.


(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
The expandsToEncloseOverhangingFloats logic has been reworked. Table cells and fieldsets did not properly handle floats that spilled into the bottom padding. The
resulting box needed to not only expand to encompass the float, but also needed to place the full bottom padding after the float. The switch to make the extra table cell
space into padding exposed this issue. No extra layout test is required, since an existing table layout test exposes this issue and progresses to match Firefox with
this change.


(WebCore::RenderBlock::selectionGapRects):
(WebCore::RenderBlock::paintSelection):
(WebCore::RenderBlock::fillSelectionGaps):
(WebCore::RenderBlock::nodeAtPoint):
(WebCore::RenderBlock::positionForCoordinates):
(WebCore::RenderBlock::offsetForContents):
Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.


  • rendering/RenderBlock.h: Add the new simplified method for expanding to encompass overhanging floats. The method has been devirtualized and made to include all of the cases (and not just a subset).
  • rendering/RenderBox.cpp: (WebCore::RenderBox::absoluteRects): (WebCore::RenderBox::absoluteQuads): (WebCore::RenderBox::absoluteContentBox): (WebCore::RenderBox::paintBoxDecorations): (WebCore::RenderBox::paintMask): (WebCore::RenderBox::getOverflowClipRect): (WebCore::RenderBox::localToAbsolute): (WebCore::RenderBox::absoluteToLocal): (WebCore::RenderBox::localToAbsoluteQuad): Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.


  • rendering/RenderBox.h: (WebCore::RenderBox::y): (WebCore::RenderBox::location): (WebCore::RenderBox::borderBoxRect): (WebCore::RenderBox::offsetHeight): Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
  • rendering/RenderContainer.cpp: (WebCore::RenderContainer::addLineBoxRects):
  • rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::paintBoxDecorations): (WebCore::RenderFieldset::paintMask):
  • rendering/RenderFieldset.h: (WebCore::RenderFieldset::avoidsFloats):
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::localCaretRect):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPosition): (WebCore::RenderLayer::paintLayer): (WebCore::RenderLayer::hitTestLayer): (WebCore::RenderLayer::boundingBox):
  • rendering/RenderListBox.cpp: (WebCore::RenderListBox::isPointInOverflowControl):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::localToAbsolute): (WebCore::RenderObject::absoluteToLocal): (WebCore::RenderObject::localToAbsoluteQuad): (WebCore::RenderObject::offsetFromContainer): (WebCore::RenderObject::paddingTop): (WebCore::RenderObject::paddingBottom): (WebCore::RenderObject::paddingLeft): (WebCore::RenderObject::paddingRight):
  • rendering/RenderObject.h: (WebCore::RenderObject::hasOverhangingFloats):
  • rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::selectionRect): (WebCore::RenderReplaced::localSelectionRect): Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls. Also modifed paddingLeft/Top/Right/Bottom to take an argument indicating whether or not the intrinsic padding of an object should be included (by default it is). getComputedStyle needs to exclude it, which is why this argument is necessary.
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::RenderTableCell): (WebCore::RenderTableCell::paddingTop): (WebCore::RenderTableCell::paddingBottom): The new paddingTop() and paddingBottom() methods on table cells include the extra intrinsic padding.


(WebCore::RenderTableCell::setOverrideSize):
When a table's override size gets altered, the intrinsic padding needs to be cleared.


(WebCore::RenderTableCell::absoluteClippedOverflowRect):
(WebCore::RenderTableCell::computeAbsoluteRepaintRect):
(WebCore::RenderTableCell::baselinePosition):
(WebCore::RenderTableCell::paint):
(WebCore::RenderTableCell::paintBackgroundsBehindCell):
(WebCore::RenderTableCell::paintBoxDecorations):
(WebCore::RenderTableCell::paintMask):
Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.


  • rendering/RenderTableCell.h: (WebCore::RenderTableCell::setIntrinsicPaddingTop): (WebCore::RenderTableCell::setIntrinsicPaddingBottom): (WebCore::RenderTableCell::setIntrinsicPadding): (WebCore::RenderTableCell::clearIntrinsicPadding): (WebCore::RenderTableCell::intrinsicPaddingTop): (WebCore::RenderTableCell::intrinsicPaddingBottom): Add new helper methods for getting/setting a cell's intrinsic padding.


  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::calcRowHeight): calcRowHeight has been modified to exclude the intrinsic padding when calculating the base height of rows prior to flexing. Because a cell now includes that extra space, it has to be subtracted out in this method.


(WebCore::RenderTableSection::layoutRows):
Modify the code that sets up the intrinsic padding so that it does a relayout if the intrinsic padding changes. There was also an error where the baseline
position mismatched leading to negative intrinsic padding being added in (this error exists in ToT). The code now properly ignores cells that don't establish
a baseline. A number of tests progress with this change.


  • rendering/RenderText.cpp: (WebCore::RenderText::addLineBoxRects): Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.


  • rendering/RenderTreeAsText.cpp: (WebCore::operator<<): (WebCore::writeTextRun): Modify the render tree dumping code to continue to produce the same results as before. This is really a hack, since we're now capable of indicating the correct position for the descendants of cells with intrinsic padding (and also indicating what the correct cell box is). A future patch can remove these hacks so that the layout test results can all be regenerated.
18:30 Changeset [40141] by sfalken@apple.com

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


Return currentTime() in correct units for the two early return cases.

Reviewed by Mark Rowe.

  • wtf/CurrentTime.cpp: (WTF::currentTime):
17:01 Changeset [40140] by andersca@apple.com

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

Reviewed by Sam Weinig.

Add support for Invoke and InvokeDefault. Clean up code.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCBooleanReply):
  • Plugins/Hosted/NetscapePluginInstanceProxy.h: (WebKit::NetscapePluginInstanceProxy::Reply::): (WebKit::NetscapePluginInstanceProxy::BooleanReply::BooleanReply):
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
  • Plugins/Hosted/ProxyInstance.h:
  • Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::invoke): (WebKit::ProxyInstance::invokeMethod): (WebKit::ProxyInstance::supportsInvokeDefaultMethod): (WebKit::ProxyInstance::invokeDefaultMethod): (WebKit::ProxyInstance::methodsNamed): (WebKit::ProxyInstance::fieldNamed):
  • Plugins/Hosted/WebKitPluginClient.defs:
  • Plugins/Hosted/WebKitPluginHost.defs:
  • Plugins/Hosted/WebKitPluginHostTypes.h:
16:46 Changeset [40139] by eric@webkit.org

Reviewed by Justin Garcia.

Remove <span> turds left by editing commands
https://bugs.webkit.org/show_bug.cgi?id=23466

Tests:

  • editing/execCommand/empty-span-removal.html
  • editing/execCommand/toggle-styles.html
  • editing/ApplyStyleCommand.cpp: (WebCore::styleSpanClassString): (WebCore::isStyleSpan): (WebCore::isUnstyledStyleSpan): (WebCore::isSpanWithoutAttributesOrUnstyleStyleSpan): (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): (WebCore::ApplyStyleCommand::removeHTMLBidiEmbeddingStyle): (WebCore::ApplyStyleCommand::removeCSSStyle):
15:24 Changeset [40138] by andersca@apple.com

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

Fix Windows build.


  • DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h:
14:53 Changeset [40137] by zimmermann@webkit.org

Reviewed by Eric Seidel.

Rename some of the casting functions in dom/*Element.cpp:
formControlElementForElement -> toFormControlElement
inputElementForElement -> toInputElement
optionElementForElement -> toOptionElement
optionGroupElementForElement -> toOptionGroupElement

Suggested by Alexey, while refactoring the Element*->ScriptElement* code.
The Element*->ScriptElement* helper function is already named 'toScriptElement'.

14:48 Changeset [40136] by weinig@apple.com

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

Reviewed by Mark Rowe.

Fix for <rdar://problem/6439247>
FastMalloc allocating an extra 4MB of meta-data on 64-bit

Rely on the fact that on all known x86-64 platforms only use 48 bits of
address space to shrink the initial size of the PageMap from ~4MB to 120K.
For 64-bit we still use a 3-level radix tree, but now each level is only 12
bits wide.

No performance change.

  • wtf/FastMalloc.cpp: (WTF::MapSelector): Add specialization for 64 bit that takes into account the 16 bits of unused address space on x86-64.
14:24 Changeset [40135] by zimmermann@webkit.org

Rubber-stamped by George Staikos.
Forgot to include in my last commit: Activate code depending on WMLOptionElement/WMLOptGroupElement.

14:04 Changeset [40134] by zimmermann@webkit.org

Reviewed by George Staikos.

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

Add WML <option>/<optgroup> element support.
Currently the implementation is stubbed, all relevant parts can be enabled
once WMLSelectElement/SelectElement has been created.

13:51 Changeset [40133] by bdakin@apple.com

JavaScriptCore:

2009-01-22 Beth Dakin <bdakin@apple.com>

Reviewed by Sam Weinig.

Fix for https://bugs.webkit.org/show_bug.cgi?id=23461 LayoutTests/
fast/js/numeric-conversion.html is broken, and corresponding
<rdar://problem/6514842>

The basic problem here is that parseInt(Infinity) should be NaN,
but we were returning 0. NaN matches Safari 3.2.1 and Firefox.

  • runtime/JSGlobalObjectFunctions.cpp: (JSC::globalFuncParseInt):

LayoutTests:

2009-01-22 Beth Dakin <bdakin@apple.com>

Reviewed by Sam Weinig.

Fix for https://bugs.webkit.org/show_bug.cgi?id=23461 LayoutTests/
fast/js/numeric-conversion.html is broken, and corresponding
<rdar://problem/6514842>

The basic problem here is that parseInt(Infinity) should be NaN,
but we were returning 0. NaN matches Safari 3.2.1 and Firefox.

  • fast/js/numeric-conversion-expected.txt:
  • fast/js/resources/numeric-conversion.js:
13:16 Changeset [40132] by dglazkov@chromium.org

WebCore:

2009-01-22 Eric Roman <eroman@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=20806
Send referrer for history navigations.

Test: http/tests/navigation/back-send-referrer.html

Consolidates HistoryItem::rssFeedReferrer and HistoryItem::formReferrer into a single HistoryItem::referrer property.

  • history/HistoryItem.cpp: (WebCore::HistoryItem::HistoryItem): (WebCore::HistoryItem::referrer): (WebCore::HistoryItem::setReferrer): (WebCore::HistoryItem::formReferrer): (WebCore::HistoryItem::rssFeedReferrer): (WebCore::HistoryItem::setRSSFeedReferrer): (WebCore::HistoryItem::setFormInfoFromRequest):
  • history/HistoryItem.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::loadItem):

WebKit/win:

2009-01-22 Eric Roman <eroman@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=20806
Deprecate RSSFeedReferrer() and setRSSFeedReferrer().

  • WebHistoryItem.cpp: (WebHistoryItem::RSSFeedReferrer): (WebHistoryItem::setRSSFeedReferrer):

WebKit/mac:

2009-01-22 Eric Roman <eroman@chromium.og>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=20806
Deprecate RSSFeedReferrer() and setRSSFeedReferrer().

  • History/WebHistoryItem.mm: (-[WebHistoryItem RSSFeedReferrer]): (-[WebHistoryItem setRSSFeedReferrer:]):

LayoutTests:

2009-01-22 Eric Roman <eroman@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=20806
"Referer" header not sent for history navigation.

  • http/tests/navigation/back-send-referrer-expected.txt: Added.
  • http/tests/navigation/back-send-referrer.html: Added.
  • http/tests/navigation/resources/back-send-referrer-helper.php: Added.
13:07 Changeset [40131] by oliver@apple.com

<rdar://problem/6516853> (r39682-r39736) JSFunFuzz: crash on "(function(){({ x2: x }), })()"
<https://bugs.webkit.org/show_bug.cgi?id=23479>

Reviewed by Geoff Garen.

Automatic semicolon insertion was resulting in this being accepted in the initial
nodeless parsing, but subsequent reparsing for code generation would fail, leading
to a crash. The solution is to ensure that reparsing a function performs parsing
in the same state as the initial parse. We do this by modifying the saved source
ranges to include rather than exclude the opening and closing braces.

12:40 Changeset [40130] by zimmermann@webkit.org

Reviewed by Eric Seidel.

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

Further enhancments to share code between HTMLOptionElement and the upcoming WMLOptionElement.

Rename optionText() to textIndentedToRespectGroupLabel() in (HTML)OptionElement, as it fits better.
optionText() returns the options text prefixed with some spaces, in case it got an optgroup parent.

Add two more pure-virtual functions to OptionElement: setSelectedState(bool) & value().
These aren't used outside of html/ at the moment (unlike the other pure-virtual functions
used by RenderMenuList/RenderListBox) - but they will be used by SelectElement, once it exists.

12:30 Changeset [40129] by cfleizach@apple.com

2009-01-22 Chris Fleizach <cfleizach@apple.com>

Reviewed by Justin Garcia.

Bug 23464: Infinite recursion at SelectionController::setSelection
https://bugs.webkit.org/show_bug.cgi?id=23464

Check for conditions leading to infinite recursion.

  • editing/SelectionController.cpp: (WebCore::SelectionController::setSelection):
12:12 Changeset [40128] by andersca@apple.com

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

Reviewed by Sam Weinig.


Clean up the test plug-in code. We now always use the CG drawing model and the
Cocoa event model. It is however possible to revert to the old Carbon event model by
specifying forcecarbon=true in the embed/object tag.


  • DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h:
  • DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp: (NPP_New): (handleEventCarbon): (handleEventCocoa): (NPP_HandleEvent):
11:06 Changeset [40127] by andersca@apple.com

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

Reviewed by Kevin Decker.

Don't crash or hang when we fail to instantiate a plug-in.


  • Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::instantiatePlugin): Return 0 on failure.


  • Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView JSC::Bindings::createPluginBindingsInstance:JSC::Bindings::]): Null check for the proxy member.
10:55 Changeset [40126] by zimmermann@webkit.org

Not reviewed. Fix WML build problem in RenderBox.cpp, WMLNames is undefined.

07:29 Changeset [40125] by treat@webkit.org

Fix the Qt build after RenderBox changes.

01:41 Changeset [40124] by hyatt@apple.com

2009-01-22 David Hyatt <hyatt@apple.com>

Fix regressions in list box selection on Mac. The wrong color was being used for the list box
background, and list box colors actually weren't even being properly fetched because of a bug in
the RenderTheme base class. Existing pixel tests cover the bug fix.

Reviewed by Jon Honeycutt

  • rendering/RenderTheme.cpp: (WebCore::RenderTheme::activeListBoxSelectionBackgroundColor): (WebCore::RenderTheme::inactiveListBoxSelectionBackgroundColor): (WebCore::RenderTheme::activeListBoxSelectionForegroundColor): (WebCore::RenderTheme::inactiveListBoxSelectionForegroundColor):
  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor):
00:58 Changeset [40123] by ap@webkit.org

2009-01-22 David Levin <levin@chromium.org>

Reviewed by Alexey Proskuryakov.

Bug 22720: Make XMLHttpRequest work in Workers
<https://bugs.webkit.org/show_bug.cgi?id=22720>

Add copy/adopt for HTTPHeaderMap to allow the data to be passed across threads.

No observable change in behavior, so no test.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.scons:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • platform/network/HTTPHeaderMap.cpp: Added. (WebCore::HTTPHeaderMap::copyData): (WebCore::HTTPHeaderMap::adopt):
  • platform/network/HTTPHeaderMap.h:
00:32 Changeset [40122] by ap@webkit.org

2009-01-22 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov.

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

Implement ThreadCondition::timedWait().
Since we borrow the code for condition variables from other sources,
I did the same for timedWait(). See comments in ThreadingWin.cpp for
rationale and more info.

  • wtf/CONTRIBUTORS.pthreads-win32: Added. A list of Pthreads-win32 contributors mentioned in their license. The license itself is included into wtf/ThreadingWin32.cpp.
  • wtf/Threading.h:
  • wtf/ThreadingWin.cpp: Additional info and Pthreads-win32 license at the beginning. (WTF::PlatformCondition::timedWait): new method, derived from Pthreads-win32. (WTF::PlatformCondition::signal): same (WTF::ThreadCondition::ThreadCondition): (WTF::ThreadCondition::~ThreadCondition): (WTF::ThreadCondition::wait): this now calls PlatformCondition::timedWait. (WTF::ThreadCondition::timedWait): same (WTF::ThreadCondition::signal): this now calls PlatformCondition::signal. (WTF::ThreadCondition::broadcast): same
00:15 Changeset [40121] by hyatt@apple.com

Fix build bustage in WML from RenderBox changes.

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

Fix Gtk build bustage.

00:11 Changeset [40119] by hyatt@apple.com

Fix Qt build bustage.

Note: See TracTimeline for information about the timeline view.