Timeline



Apr 24, 2007:

11:49 PM Changeset in webkit [21082] by darin
  • 20 edits in trunk/WebCore

Reviewed by Maciej.

These are small changes that are either safe to do first, or unrelated to the main
change in Hyatt's patch.

  • Preallocate 4 entries each in m_layoutStruct and m_spanCells to save allocation in AutoTableLayout.
  • Add an early exit to RenderFlow::dirtyLinesFromChangedChild.
  • Change InlineBox::hasTextChildren() to use a bit directly and never a virtual function.
  • Save a virtual function call by using a local bool variable for isTableCell().
  • Fix containingBlock() so it returns 0 for table cells with no parent.
  • Change all callers who are getting at layer() as a boolean to use hasLayer().
  • Change if statements to max() function calls (only the ones Hyatt had in his patch).
  • Remove some old kdDebug calls.
  • Tweak formatting of some code.
  • Add const in one place.
  • bindings/js/kjs_html.cpp: (KJS::HTMLElementFunction::callAsFunction):
  • page/EventHandler.cpp: (WebCore::EventHandler::eventMayStartDrag):
  • page/Frame.cpp: (WebCore::Frame::clearTimers):
  • rendering/AutoTableLayout.cpp: (WebCore::AutoTableLayout::recalcColumn):
  • rendering/AutoTableLayout.h:
  • rendering/InlineBox.h: (WebCore::InlineBox::InlineBox): (WebCore::InlineBox::hasTextChildren):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::nodeAtPoint):
  • rendering/InlineFlowBox.h: (WebCore::InlineFlowBox::InlineFlowBox):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): (WebCore::RenderBlock::repaintOverhangingFloats): (WebCore::RenderBlock::paintChildren): (WebCore::RenderBlock::paintFloats): (WebCore::RenderBlock::fillBlockSelectionGaps): (WebCore::RenderBlock::insertFloatingObject): (WebCore::RenderBlock::floatRect): (WebCore::RenderBlock::lowestPosition): (WebCore::RenderBlock::rightmostPosition): (WebCore::RenderBlock::leftmostPosition): (WebCore::RenderBlock::addOverhangingFloats): (WebCore::RenderBlock::nodeAtPoint): (WebCore::RenderBlock::hitTestContents): (WebCore::RenderBlock::calcPrefWidths): (WebCore::InlineMinMaxIterator::next): (WebCore::getBorderPaddingMargin): (WebCore::RenderBlock::calcInlinePrefWidths): (WebCore::RenderBlock::calcBlockPrefWidths):
  • rendering/RenderContainer.cpp: (WebCore::RenderContainer::appendChildNode): (WebCore::RenderContainer::insertChildNode):
  • rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::calcHorizontalPrefWidths): (WebCore::RenderFlexibleBox::calcVerticalPrefWidths):
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::dirtyLinesFromChangedChild):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateVisibilityStatus): (WebCore::RenderLayer::updateLayerPosition):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::containingBlock):
  • rendering/RenderTable.cpp: (WebCore::RenderTable::paint):
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::paintBackgroundsBehindCell):
  • rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::nodeAtPoint): (WebCore::RenderTableRow::paint):
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::nodeAtPoint):
  • rendering/RenderTreeAsText.cpp: (WebCore::write):
9:35 PM Changeset in webkit [23333] by sfalken
  • 18 edits in branches/WindowsMerge

2007-04-24 Steve Falkenburg <sfalken@apple.com>

Reviewed by Darin, Oliver.


Checkpoint:
<rdar://problem/4602372> Spelling
<rdar://problem/4769763> Spell checking engine support

  • WebEditorClient.cpp: (WebEditorClient::isContinuousSpellCheckingEnabled): (WebEditorClient::toggleContinuousSpellChecking): (WebEditorClient::isGrammarCheckingEnabled): (WebEditorClient::toggleGrammarChecking): (initViewSpecificSpelling): (WebEditorClient::spellCheckerDocumentTag): (WebEditorClient::ignoreWordInSpellDocument): (WebEditorClient::learnWord): (WebEditorClient::checkSpellingOfString): (WebEditorClient::checkGrammarOfString): (WebEditorClient::udpateSpellingUIWithGrammarString): (WebEditorClient::updateSpellingUIWithMisspelledWord): (WebEditorClient::showSpellingUI): (WebEditorClient::spellingUIIsShowing): (WebEditorClient::getGuessesForWord):
  • WebPreferences.h:

2007-04-24 Steve Falkenburg <sfalken@apple.com>

Reviewed by Darin, Oliver.

Checkpoint:
<rdar://problem/4602372> Spelling
<rdar://problem/4769763> Spell checking engine support


Ported code from EditorMac.mm into EditorWin.cpp.
Once this works, I'll move this code into Editor.cpp and remove it
form EditorMac.mm.

  • platform/win/EditorWin.cpp: (WebCore::Editor::ignoreSpelling): (WebCore::Editor::learnSpelling): (WebCore::findFirstMisspellingInRange): (WebCore::paragraphAlignedRangeForRange): (WebCore::findFirstGrammarDetailInRange): (WebCore::findFirstBadGrammarInRange): (WebCore::Editor::advanceToNextMisspelling): (WebCore::Editor::isSelectionMisspelled): (WebCore::isRangeUngrammatical): (WebCore::Editor::isSelectionUngrammatical): (WebCore::Editor::guessesForUngrammaticalSelection): (WebCore::Editor::guessesForMisspelledSelection): (WebCore::Editor::showSpellingGuessPanel): (WebCore::Editor::spellingPanelIsShowing): (WebCore::Editor::markMisspellingsAfterTypingToPosition): (WebCore::markAllMisspellingsInRange): (WebCore::markAllBadGrammarInRange): (WebCore::markMisspellingsOrBadGrammar): (WebCore::Editor::markMisspellings): (WebCore::Editor::markBadGrammar):
  • platform/win/TemporaryLinkStubs.cpp:

2007-04-24 Steve Falkenburg <sfalken@apple.com>

Reviewed by Darin, Oliver.

Add spelling related delegate methods to EditingDelegate.
They are all unimplemented. Necesarry to match the new interfaces.

  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/EditingDelegate.h: (EditingDelegate::ignoreWordInSpellDocument): (EditingDelegate::learnWord): (EditingDelegate::checkSpellingOfString): (EditingDelegate::checkGrammarOfString): (EditingDelegate::udpateSpellingUIWithGrammarString): (EditingDelegate::updateSpellingUIWithMisspelledWord): (EditingDelegate::showSpellingUI): (EditingDelegate::spellingUIIsShowing): (EditingDelegate::guessesForWord): (EditingDelegate::closeSpellDocument): (EditingDelegate::sharedSpellCheckerExists): (EditingDelegate::preflightChosenSpellServer): (EditingDelegate::updateGrammar):
9:22 PM Changeset in webkit [21081] by sfalken
  • 9 edits in trunk

2007-04-24 Steve Falkenburg <sfalken@apple.com>

Reviewed by Darin, Oliver.

Refactor spelling codepaths

  • bridge/EditorClient.h:
  • page/ContextMenuController.cpp: (WebCore::ContextMenuController::contextMenuItemSelected):
  • platform/ContextMenu.cpp: (WebCore::ContextMenu::populate): (WebCore::ContextMenu::checkOrEnableIfNeeded):
  • platform/gdk/EditorClientGdk.cpp: (WebCore::EditorClientGdk::ignoreWordInSpellDocument): (WebCore::EditorClientGdk::learnWord): (WebCore::EditorClientGdk::checkSpellingOfString): (WebCore::EditorClientGdk::checkGrammarOfString): (WebCore::EditorClientGdk::udpateSpellingUIWithGrammarString): (WebCore::EditorClientGdk::updateSpellingUIWithMisspelledWord): (WebCore::EditorClientGdk::showSpellingUI): (WebCore::EditorClientGdk::spellingUIIsShowing): (WebCore::EditorClientGdk::getGuessesForWord):
  • platform/gdk/EditorClientGdk.h:

2007-04-24 Steve Falkenburg <sfalken@apple.com>

Reviewed by Oliver.


Spelling and grammar stubs

  • WebCoreSupport/EditorClientQt.cpp: (WebCore::EditorClientQt::ignoreWordInSpellDocument): (WebCore::EditorClientQt::learnWord): (WebCore::EditorClientQt::checkSpellingOfString): (WebCore::EditorClientQt::checkGrammarOfString): (WebCore::EditorClientQt::udpateSpellingUIWithGrammarString): (WebCore::EditorClientQt::updateSpellingUIWithMisspelledWord): (WebCore::EditorClientQt::showSpellingUI): (WebCore::EditorClientQt::spellingUIIsShowing): (WebCore::EditorClientQt::getGuessesForWord):
  • WebCoreSupport/EditorClientQt.h:
7:11 PM Changeset in webkit [21080] by mjs
  • 3 edits in trunk/JavaScriptCore

Reviewed by Oliver.


  • use custom calling convention for everything in nodes.cpp on intel gcc for 1.5% speed boost

Nearly all functions in nodes.cpp were marked up to use the
regparm(3) calling convention under GCC for x86, since this is
faster and they are all guaranteed to be called only internally to
kjs.


The only exception is destructors, since delete doesn't know how to use a custom calling convention.


  • kjs/nodes.cpp: (dotExprDoesNotAllowCallsString):
  • kjs/nodes.h: (KJS::Node::): (KJS::StatementNode::): (KJS::NullNode::): (KJS::BooleanNode::): (KJS::NumberNode::): (KJS::StringNode::): (KJS::RegExpNode::): (KJS::ThisNode::): (KJS::ResolveNode::): (KJS::GroupNode::): (KJS::ElementNode::): (KJS::ArrayNode::): (KJS::PropertyNameNode::): (KJS::PropertyNode::): (KJS::PropertyListNode::): (KJS::ObjectLiteralNode::): (KJS::BracketAccessorNode::): (KJS::DotAccessorNode::): (KJS::ArgumentListNode::): (KJS::ArgumentsNode::): (KJS::NewExprNode::): (KJS::FunctionCallValueNode::): (KJS::FunctionCallResolveNode::): (KJS::FunctionCallBracketNode::): (KJS::FunctionCallParenBracketNode::): (KJS::FunctionCallDotNode::): (KJS::FunctionCallParenDotNode::): (KJS::PostfixResolveNode::): (KJS::PostfixBracketNode::): (KJS::PostfixDotNode::): (KJS::PostfixErrorNode::): (KJS::DeleteResolveNode::): (KJS::DeleteBracketNode::): (KJS::DeleteDotNode::): (KJS::DeleteValueNode::): (KJS::VoidNode::): (KJS::TypeOfResolveNode::): (KJS::TypeOfValueNode::): (KJS::PrefixResolveNode::): (KJS::PrefixBracketNode::): (KJS::PrefixDotNode::): (KJS::PrefixErrorNode::): (KJS::UnaryPlusNode::): (KJS::NegateNode::): (KJS::BitwiseNotNode::): (KJS::LogicalNotNode::): (KJS::MultNode::): (KJS::AddNode::): (KJS::ShiftNode::): (KJS::RelationalNode::): (KJS::EqualNode::): (KJS::BitOperNode::): (KJS::BinaryLogicalNode::): (KJS::ConditionalNode::): (KJS::AssignResolveNode::): (KJS::AssignBracketNode::): (KJS::AssignDotNode::): (KJS::AssignErrorNode::): (KJS::CommaNode::): (KJS::AssignExprNode::): (KJS::VarDeclListNode::): (KJS::VarStatementNode::): (KJS::EmptyStatementNode::): (KJS::ExprStatementNode::): (KJS::IfNode::): (KJS::DoWhileNode::): (KJS::WhileNode::): (KJS::ForNode::): (KJS::ContinueNode::): (KJS::BreakNode::): (KJS::ReturnNode::): (KJS::WithNode::): (KJS::LabelNode::): (KJS::ThrowNode::): (KJS::TryNode::): (KJS::ParameterNode::): (KJS::Parameter::): (KJS::FunctionBodyNode::): (KJS::FuncExprNode::): (KJS::FuncDeclNode::): (KJS::SourceElementsNode::): (KJS::CaseClauseNode::): (KJS::ClauseListNode::): (KJS::SwitchNode::):
6:14 PM Changeset in webkit [21079] by darin
  • 71 edits in trunk/WebCore

Reviewed by Adele.

This patch limits itself to renaming and making other super-simple
changes so that the above change will be smaller and easier to review
and understand.

Rename:

calcHorizontalMinMaxWidth -> calcHorizontalPrefWidths
calcMinMaxWidth -> calcPrefWidths
calcMinMaxWidthInternal -> calcPrefWidthsInternal
calcVerticalMinMaxWidth -> calcVerticalPrefWidths
setNeedsLayoutAndMinMaxRecalc -> setNeedsLayoutAndPrefWidthsRecalc
trimmedMinMaxWidth -> trimmedPrefWidths

RenderObject::m_maxWidth -> RenderObject::m_maxPrefWidth
RenderObject::m_minWidth -> RenderObject::m_minPrefWidth
RenderObject::maxWidth() -> RenderObject::maxPrefWidth()
RenderObject::minWidth() -> RenderObject::minPrefWidth()

Replace m_minMaxKnown, minMaxKnown(), and setMinMaxKnown() with
m_prefWidthsDirty, prefWidthsDirty(), and setPrefWidthsDirty(),
a boolean with the opposite sense.

Convert some uses of if statements into "max".

Change many uses of layer() to hasLayer(). For now it's just a boolean
version of layer(), but Hyatt's patch makes it faster by using a bit.

Added a guard to use of axObjectCache() to make RenderObject destruction
a little faster for the normal case.

Removed some assertions that will be removed in Hyatt's patch.

Made some functions const that will be const in Hyatt's patch.

Put in some revised comments from Hyatt's patch.

Removed an unneeded nil check from RenderListMarker::setStyle.

Moved RootInlineBox::setHorizontalOverflowPositions and
RootInlineBox::setVerticalSelectionPositions to the RootInlineBox.h
header and marked them inline.

  • dom/Document.cpp: (WebCore::Document::updateStyleSelector):
  • html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::parseMappedAttribute):
  • page/Frame.cpp: (WebCore::Frame::forceLayoutWithPageWidthRange):
  • rendering/AutoTableLayout.cpp: (WebCore::AutoTableLayout::recalcColumn): (WebCore::AutoTableLayout::calcPrefWidths): (WebCore::AutoTableLayout::calcEffectiveWidth):
  • rendering/AutoTableLayout.h:
  • rendering/CounterNode.cpp: (WebCore::CounterNode::recount):
  • rendering/FixedTableLayout.cpp: (WebCore::FixedTableLayout::calcPrefWidths):
  • rendering/FixedTableLayout.h:
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paint):
  • rendering/RenderApplet.cpp: (WebCore::RenderApplet::layout):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::removeChild): (WebCore::RenderBlock::layoutBlock): (WebCore::RenderBlock::handleCompactChild): (WebCore::RenderBlock::getClearDelta): (WebCore::RenderBlock::calcPrefWidths): (WebCore::RenderBlock::calcInlinePrefWidths): (WebCore::RenderBlock::calcBlockPrefWidths):
  • rendering/RenderBlock.h:
  • rendering/RenderBox.cpp: (WebCore::RenderBox::RenderBox): (WebCore::RenderBox::nodeAtPoint): (WebCore::RenderBox::calcWidth): (WebCore::RenderBox::calcWidthUsing): (WebCore::RenderBox::calcAbsoluteHorizontal): (WebCore::RenderBox::calcAbsoluteHorizontalValues):
  • rendering/RenderBox.h: (WebCore::RenderBox::minPrefWidth): (WebCore::RenderBox::maxPrefWidth):
  • rendering/RenderContainer.cpp: (WebCore::RenderContainer::removeChildNode): (WebCore::RenderContainer::appendChildNode): (WebCore::RenderContainer::insertChildNode): (WebCore::RenderContainer::layout):
  • rendering/RenderContainer.h: (WebCore::RenderContainer::calcPrefWidths):
  • rendering/RenderCounter.cpp: (WebCore::RenderCounter::calcPrefWidths):
  • rendering/RenderCounter.h:
  • rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::calcPrefWidths):
  • rendering/RenderFieldset.h:
  • rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::calcPrefWidths):
  • rendering/RenderFileUploadControl.h:
  • rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::calcHorizontalPrefWidths): (WebCore::RenderFlexibleBox::calcVerticalPrefWidths): (WebCore::RenderFlexibleBox::calcPrefWidths): (WebCore::RenderFlexibleBox::layoutBlock): (WebCore::RenderFlexibleBox::allowedChildFlex):
  • rendering/RenderFlexibleBox.h: (WebCore::RenderFlexibleBox::hasMultipleLines): (WebCore::RenderFlexibleBox::isVertical): (WebCore::RenderFlexibleBox::isHorizontal):
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::absoluteClippedOverflowRect):
  • rendering/RenderForeignObject.cpp: (WebCore::RenderForeignObject::layout):
  • rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::layout):
  • rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::layout):
  • rendering/RenderImage.cpp: (WebCore::RenderImage::imageChanged): (WebCore::RenderImage::layout): (WebCore::RenderImage::calcPrefWidths):
  • rendering/RenderImage.h:
  • rendering/RenderInline.cpp: (WebCore::RenderInline::addChildToFlow): (WebCore::RenderInline::splitInlines): (WebCore::RenderInline::splitFlow): (WebCore::RenderInline::calcPrefWidths):
  • rendering/RenderInline.h:
  • rendering/RenderListBox.cpp: (WebCore::RenderListBox::updateFromElement): (WebCore::RenderListBox::calcPrefWidths):
  • rendering/RenderListBox.h:
  • rendering/RenderListItem.cpp: (WebCore::RenderListItem::updateValue): (WebCore::RenderListItem::updateMarkerLocation): (WebCore::RenderListItem::calcPrefWidths): (WebCore::RenderListItem::layout): (WebCore::RenderListItem::explicitValueChanged):
  • rendering/RenderListItem.h:
  • rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::setStyle): (WebCore::RenderListMarker::layout): (WebCore::RenderListMarker::imageChanged): (WebCore::RenderListMarker::calcPrefWidths): (WebCore::RenderListMarker::calcWidth):
  • rendering/RenderListMarker.h:
  • rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::updateOptionsWidth): (WebCore::RenderMenuList::calcPrefWidths):
  • rendering/RenderMenuList.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::RenderObject): (WebCore::addLayers): (WebCore::RenderObject::removeLayers): (WebCore::RenderObject::moveLayers): (WebCore::RenderObject::addAbsoluteRectForLayer): (WebCore::RenderObject::checkForRepaintDuringLayout): (WebCore::RenderObject::dump): (WebCore::RenderObject::setStyle): (WebCore::RenderObject::destroy): (WebCore::RenderObject::recalcMinMaxWidths):
  • rendering/RenderObject.h: (WebCore::RenderObject::hasLayer): (WebCore::RenderObject::prefWidthsDirty): (WebCore::RenderObject::setPrefWidthsDirty): (WebCore::RenderObject::setNeedsLayoutAndPrefWidthsRecalc): (WebCore::RenderObject::calcPrefWidths): (WebCore::RenderObject::minPrefWidth): (WebCore::RenderObject::maxPrefWidth):
  • rendering/RenderPart.cpp: (WebCore::RenderPart::setWidget):
  • rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget): (WebCore::RenderPartObject::layout):
  • rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::calcPrefWidths):
  • rendering/RenderReplaced.h:
  • rendering/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::calcPrefWidths): (WebCore::RenderSVGContainer::layout):
  • rendering/RenderSVGContainer.h:
  • rendering/RenderSVGHiddenContainer.cpp: (WebCore::RenderSVGHiddenContainer::calcPrefWidths):
  • rendering/RenderSVGHiddenContainer.h:
  • rendering/RenderSVGText.cpp: (WebCore::RenderSVGText::layout):
  • rendering/RenderSlider.cpp: (WebCore::RenderSlider::calcPrefWidths):
  • rendering/RenderSlider.h:
  • rendering/RenderTable.cpp: (WebCore::RenderTable::calcWidth): (WebCore::RenderTable::layout): (WebCore::RenderTable::calcPrefWidths): (WebCore::RenderTable::splitColumn): (WebCore::RenderTable::appendColumn):
  • rendering/RenderTable.h:
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::updateFromElement): (WebCore::RenderTableCell::styleOrColWidth): (WebCore::RenderTableCell::calcPrefWidths):
  • rendering/RenderTableCell.h:
  • rendering/RenderTableCol.cpp: (WebCore::RenderTableCol::updateFromElement):
  • rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::layout):
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::paint):
  • rendering/RenderText.cpp: (WebCore::RenderText::trimmedPrefWidths): (WebCore::RenderText::calcPrefWidths): (WebCore::RenderText::calcPrefWidthsInternal): (WebCore::RenderText::setText):
  • rendering/RenderText.h: (WebCore::RenderText::minPrefWidth): (WebCore::RenderText::maxPrefWidth):
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::calcPrefWidths):
  • rendering/RenderTextControl.h:
  • rendering/RenderView.cpp: (WebCore::RenderView::RenderView): (WebCore::RenderView::calcPrefWidths): (WebCore::RenderView::layout):
  • rendering/RenderView.h:
  • rendering/RenderWidget.cpp: (WebCore::RenderWidget::layout):
  • rendering/RootInlineBox.cpp:
  • rendering/RootInlineBox.h: (WebCore::RootInlineBox::setHorizontalOverflowPositions): (WebCore::RootInlineBox::setVerticalSelectionPositions):
  • rendering/TableLayout.h:
5:51 PM Changeset in webkit [23332] by aroben
  • 2 edits in branches/WindowsMerge/WebCore

Reviewed by Ada.

<rdar://problem/5061022>
REGRESSION: Acrobat 8 plug-in fails to scroll with trackpad two-finger scroll or mouse wheel (12995)


  • page/win/EventHandlerWin.cpp: (WebCore::EventHandler::passWheelEventToWidget): Get rid of passWheelEventToSubframe and pass wheel events to all widgets.
4:50 PM Changeset in webkit [21078] by justing
  • 4 edits
    8 adds in trunk

LayoutTests:

Reviewed by oliver


<rdar://problem/5156401>
Crash when dragging text into a link inside a table cell

Test for the crash:

  • editing/pasteboard/5156401-1-expected.checksum: Added.
  • editing/pasteboard/5156401-1-expected.png: Added.
  • editing/pasteboard/5156401-1-expected.txt: Added.
  • editing/pasteboard/5156401-1.html: Added.


Test inserting at the end of a link where we would previously
insert in the wrong paragraph:

  • editing/inserting/5156401-2-expected.checksum: Added.
  • editing/inserting/5156401-2-expected.png: Added.
  • editing/inserting/5156401-2-expected.txt: Added.
  • editing/inserting/5156401-2.html: Added.

WebCore:

Reviewed by oliver


<rdar://problem/5156401>
Crash when dragging text into a link inside a table cell

  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary): Don't avoid the anchor if doing so would skip over a line break, that would put content in the wrong paragraph, which can throw ReplaceSelectionCommand, which relies on moveParagraphs into infinite recursion. Renamed the input position. Don't need to re-fetch the enclosing anchor when preparing to push it down, since it hasn't changed since the top of the function.
3:59 PM Changeset in webkit [21077] by thatcher
  • 3 edits in trunk/WebCore

Reviewed by Adam.

<rdar://problem/5133011> 64-bit: Attempting to paste copied text in a input field results in a crash at WebCore::Range::startPosition()

Change a couple incorrect uses of LONG_MAX to INT_MAX to match the variable type they are used in.
The LONG_MAX on 64-bit was overflowing the int variables, causing this crash on paste.

  • bridge/mac/WebCoreAXObject.mm: (-[WebCoreAXObject value]):
  • editing/TextIterator.cpp: (WebCore::TextIterator::handleTextNode): (WebCore::TextIterator::handleTextBox):
2:06 PM Changeset in webkit [21076] by oliver
  • 2 edits in trunk/JavaScriptCore

GTK Build fix, ::findEntry->KJS::findEntry

  • kjs/lookup.cpp: (KJS::Lookup::findEntry): (KJS::Lookup::find):
1:37 PM Changeset in webkit [21075] by spadma
  • 6 edits in S60/trunk/WebKit

yadavall, reviewed by <sachin.padma@nokia.com>

DESC: Windowless plugin support
http://bugs.webkit.org/show_bug.cgi?id=13451

  • BrowserView/src/PluginContentPlayer.cpp: (CPluginContentPlayer::CPluginContentPlayer): (CPluginContentPlayer::CountComponentControls): (CPluginContentPlayer::Start):
  • Plugin/inc/PluginWin.h: (CPluginWin::IsPluginWindowed): (CPluginWin::SetWindowedPlugin):
  • Plugin/src/NpnImplementation.cpp: (NpnGetValue): (NpnSetValue): (NpnInvalidateRect): (NpnForceRedraw):
  • Plugin/src/PluginSkin.cpp: (CPluginSkin::Draw):
  • Plugin/src/PluginWin.cpp: (CPluginWin::CPluginWin): (CPluginWin::ConstructL): (CPluginWin::~CPluginWin): (CPluginWin::NewL): (CPluginWin::SizeChanged): (CPluginWin::OfferKeyEventL): (CPluginWin::CreateStreamL): (CPluginWin::WriteStreamToFileL): (CPluginWin::ProcessEventL): (CPluginWin::RefreshPlugin): (CPluginWin::MakeVisible): (CPluginWin::HandleControlEventL): (CPluginWin::HandleGainingForeground): (CPluginWin::HandleLosingForeground): (CPluginWin::PluginScriptableObject): (CPluginWin::ForceRedraw): (CPluginWin::IsContentInteractive):
1:28 PM Changeset in webkit [21074] by thatcher
  • 2 edits in trunk/WebCore

Reviewed by Adam.

<rdar://problem/4966982> 64-bit: In a unordered list, TYPE=DISC and TYPE=CIRCLE attribute values are ignored

We need to draw our full-circle arcs counter-clockwise, since a clockwise arc from 0 to 2π is no arc at all!
This only worked on 32-bit due to a rounding error in CoreGraphics, causing it to draw a full circle anyway.

  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawEllipse):
1:21 PM Changeset in webkit [21073] by beidson
  • 8 edits in trunk

WebCore:

Reviewed by Beth, Hyatt, Ada, and Darin

<rdar://problem/5011477> and <rdar://problem/5011514>
Provide support for the icon.db to be moved to a different directory from the old WebKit-style
icons, and remove the old directory if that is the case

Support for this starts in WebCore, where we can use the metadata table in the icon.db to track
whether or not we've ever done the import

  • WebCore.exp:
  • loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::defaultDatabaseFilename): Changed to "Icons.db" (WebCore::IconDatabase::IconDatabase): (WebCore::IconDatabase::deleteAllPreparedStatements): Delete the new statements added (WebCore::IconDatabase::imported): Grab this flag from the DB or return the cached flag (WebCore::IconDatabase::setImported): Store this flag into the DB (WebCore::IconDatabase::importedQuery): Actually do the DB query for this save (WebCore::IconDatabase::setImportedQuery): Actually do the DB query for this retrieval
  • loader/icon/IconDatabase.h:

WebKit:

Reviewed by Beth, Hyatt, Ada, and Darin

<rdar://problem/5011477> and <rdar://problem/5011514>
Provide support for the icon.db to be moved to a different directory from the old WebKit-style
icons, and remove the old directory if that is the case

  • Misc/WebIconDatabase.mm: (-[WebIconDatabase init]): (-[WebIconDatabase _importToWebCoreFormat]): Check "imported()" to determine if a conversion is needed
    • Look for WebIconDatabaseImportDirectoryDefaultsKey for the source location for the conversion
    • Set "imported" to true in the Icons.db
    • If the new Icons.db isn't in the same patch as the old icons, delete the entire directory when finished
    • Move old icon.db to Icons.db to reflect rename
  • Misc/WebIconDatabasePrivate.h: Add WebIconDatabaseImportDirectoryDefaultsKey so a WebKit client can tell WebKit where to look for the old icons if their location is different from the icon.db
  • WebKit.exp:
11:12 AM Changeset in webkit [21072] by thatcher
  • 3 edits in trunk/WebKitTools

Setting the valid architectures to 32-bit only, so these projects
will ignore requests to build them 64-bit. Once they can be built 64-bit,
the valid architectures can be updated.

  • Drosera/Drosera.xcodeproj/project.pbxproj:
  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
10:37 AM Changeset in webkit [21071] by darin
  • 7 edits
    24 adds in trunk

LayoutTests:

Reviewed by Justin.

  • test for <rdar://problem/4356361> Selection after multiple delete keypresses and undo selects only the last deleted character
  • editing/undo/undo-combined-delete-boundary-expected.checksum: Added.
  • editing/undo/undo-combined-delete-boundary-expected.png: Added.
  • editing/undo/undo-combined-delete-boundary-expected.txt: Added.
  • editing/undo/undo-combined-delete-boundary.html: Added.
  • editing/undo/undo-combined-delete-expected.checksum: Added.
  • editing/undo/undo-combined-delete-expected.png: Added.
  • editing/undo/undo-combined-delete-expected.txt: Added.
  • editing/undo/undo-combined-delete.html: Added.
  • editing/undo/undo-delete-boundary-expected.checksum: Added.
  • editing/undo/undo-delete-boundary-expected.png: Added.
  • editing/undo/undo-delete-boundary-expected.txt: Added.
  • editing/undo/undo-delete-boundary.html: Added.
  • editing/undo/undo-delete-expected.checksum: Added.
  • editing/undo/undo-delete-expected.png: Added.
  • editing/undo/undo-delete-expected.txt: Added.
  • editing/undo/undo-delete.html: Added.
  • editing/undo/undo-forward-delete-boundary-expected.checksum: Added.
  • editing/undo/undo-forward-delete-boundary-expected.png: Added.
  • editing/undo/undo-forward-delete-boundary-expected.txt: Added.
  • editing/undo/undo-forward-delete-boundary.html: Added.
  • editing/undo/undo-forward-delete-expected.checksum: Added.
  • editing/undo/undo-forward-delete-expected.png: Added.
  • editing/undo/undo-forward-delete-expected.txt: Added.
  • editing/undo/undo-forward-delete.html: Added.
  • editing/deleting/delete-and-undo-expected.txt: One of the delegate callbacks has changed in this test's result, because it reflects the selection after undoing a sequence of deletions.

WebCore:

Reviewed by Justin.

  • fix <rdar://problem/4356361> Selection after multiple delete keypresses and undo selects only the last deleted character

Test: editing/undo/undo-combined-delete-boundary.html
Test: editing/undo/undo-combined-delete.html
Test: editing/undo/undo-delete-boundary.html
Test: editing/undo/undo-delete.html
Test: editing/undo/undo-forward-delete-boundary.html
Test: editing/undo/undo-forward-delete.html

  • editing/TypingCommand.cpp: (WebCore::TypingCommand::insertText): Fix obviously-wrong code where there were missing braces. I couldn't find any real symptom of this, but I think the fix should go in anyway. All layout tests still pass. (WebCore::TypingCommand::deleteKeyPressed): Added code to compute a selection that goes back to the beginning of the composite editing operation. (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
  • editing/Selection.h:
  • editing/Selection.cpp: (WebCore::Selection::setWithoutValidation): Added. Back door to allow setting the ends of a selection without revalidating, because we need to use it on a selection where the endpoints may no longer be valid due to mutations done by earlier pieces of the editing operation.
  • editing/EditCommand.h: (WebCore::EditCommand::startingSelection): Return a const& for speed. (WebCore::EditCommand::endingSelection): Ditto.
8:06 AM Changeset in webkit [21070] by weinig
  • 3 edits
    2 adds in trunk

LayoutTests:

Reviewed by Mitz.

  • fast/forms/input-null-expected.txt: Added.
  • fast/forms/input-null.html: Added.

WebCore:

Reviewed by Mitz.

Test: fast/forms/input-null.html

  • html/HTMLInputElement.idl: Convert JS null to the empty string on setting DOMString attributes.
5:29 AM Changeset in webkit [21069] by bdash
  • 4 edits
    4 adds in trunk

2007-04-24 Mitz Pettel <mitz@webkit.org>

Reviewed by Dave Hyatt.

Test: fast/forms/control-clip.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::paint): Apply the clip in all phases that paint children. Split PaintPhaseOutline and PaintPhaseChildBlockBackground into two phases each, applying the clip only to the children.
  • rendering/RenderListBox.cpp: (WebCore::RenderListBox::paintObject): Treat the scrollbar as part of the background rather than as a child's background, now that children are clipped out.

2007-04-24 Mitz Pettel <mitz@webkit.org>

Reviewed by Dave Hyatt.

  • fast/forms/control-clip-expected.checksum: Added.
  • fast/forms/control-clip-expected.png: Added.
  • fast/forms/control-clip-expected.txt: Added.
  • fast/forms/control-clip.html: Added.
5:27 AM Changeset in webkit [21068] by bdash
  • 2 edits in trunk/WebKit

2007-04-24 Mitz Pettel <mitz@webkit.org>

Reviewed by Oliver Hunt.

Changed an apostrophe (') into a right single quotation mark (U+2019).

5:25 AM Changeset in webkit [21067] by bdash
  • 2 edits in trunk/WebKit

2007-04-24 Mitz Pettel <mitz@webkit.org>

Reviewed by Timothy Hatcher.

  • WebInspector/webInspector/inspector.js: Added a check that the rule is mapped from an attribute.
4:51 AM Changeset in webkit [21066] by bdash
  • 2 edits in trunk/WebCore

2007-04-24 Benjamin Otte <otte@gnome.org>

Reviewed by Mark Rowe.

Gdk build system improvements.

  • make-generated-sources.sh: Exit with failure status if make fails.
4:49 AM Changeset in webkit [21065] by bdash
  • 2 edits in trunk/WebCore

2007-04-24 Benjamin Otte <otte@gnome.org>

Reviewed by Mark Rowe.

Gdk build system improvements.

  • Projects/gdk/webcore-gdk.bkl: fail if running any of the commands failed. In particular make-generated-sources.sh
1:44 AM Changeset in webkit [21064] by mjs
  • 4 edits
    1 add in trunk/JavaScriptCore

Reviewed by Geoff.


  • compile most of JavaScriptCore as one file for 4% JS iBench speed improvement
  • JavaScriptCore.xcodeproj/project.pbxproj: Add AllInOneFile.cpp, and remove files it includes from the build.
  • kjs/AllInOneFile.cpp: Added.
  • kjs/dtoa.cpp: Renamed CONST to CONST_ to avoid conflict. (Bigint::): (Bigint::nrv_alloc):
  • kjs/lookup.cpp: Use "namspace KJS { ... }" instead of "using namespace KJS;"

Apr 23, 2007:

11:37 PM Changeset in webkit [21063] by ggaren
  • 1 edit
    1 move in trunk/LayoutTests

Rubber Stamped by Mark Rowe.


Disabling this test because it hangs all the time.
(http://bugs.webkit.org/show_bug.cgi?id=13370)

  • http/tests/plugins/npapi-response-headers.html: Removed.
11:13 PM Changeset in webkit [21062] by bdakin
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Adam.

Fix for <rdar://problem/5155507> REGRESSION: Crash in
RenderLayer::setHasVisibleContent()

  • rendering/RenderContainer.cpp: (WebCore::RenderContainer::appendChildNode): Must null-check enclosingLayer() (WebCore::RenderContainer::insertChildNode): Same.

LayoutTests:

Reviewed by Adam.

Test for <rdar://problem/5155507> REGRESSION: Crash in
RenderLayer::setHasVisibleContent()

  • fast/css-generated-content/visibleContentHiddenParent-expected.checksum: Added.
  • fast/css-generated-content/visibleContentHiddenParent-expected.png: Added.
  • fast/css-generated-content/visibleContentHiddenParent-expected.txt: Added.
  • fast/css-generated-content/visibleContentHiddenParent.html: Added.
9:55 PM Changeset in webkit [21061] by hyatt
  • 7 edits in trunk/WebCore

Fix for bug 13337, deep tag nesting is slow. This patch fixes a number of O(n2) issues as well as making
a few performance optimizations based off profiling. Details next to each change below.

Note that calcMinMaxWidth being slow is a critical separate piece of this puzzle. Until bug 13430 is fixed,
render tree construction will be O(n2) (because of the minmaxrecalc bit setting being stupid enough to
always crawl to the root of the tree) and calcMinMaxWidth will waste tons of unnecessary time.

When these fixes are combined with the calcMinMaxWidth fix in 13430, the penguin page specified in 13337
loads in < 2 seconds (down from an infinite hang before).

Reviewed by aroben, ollie

  • css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::locateCousinList): (WebCore::CSSStyleSelector::locateSharedStyle):
  • css/csstyleselector.h Cap the depth of cousin searching on the shared style optimization. We will be willing to (at most) crawl up the tree the same distance that we were willing to crawl backwards through sibling lists. Leaving it uncapped resulted in pathological style resolution for the case of an infinitely nested chain of singletons.
  • html/HTMLParser.cpp: (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): (WebCore::HTMLParser::popBlock): Cap the number of residual style tags that we are willing to reopen. We will reopen at most 200 residual style tags, since the assumption is that once that many tags are on the stack, you're probably already every kind of bold, italic, and color of the rainbow.
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::absoluteClippedOverflowRect): absoluteClippedOverflowRect can just return the empty rect when the inline flow has no line boxes instead of doing a bunch of work (and calling containingBlock()) for no reason.
  • rendering/RenderInline.cpp: (WebCore::RenderInline::addChildToFlow): Remove the useless containingBlock() check from addChildToFlow. Obviously every inline's containing block is a block flow.
  • rendering/bidi.cpp: (WebCore::inlineWidth): (WebCore::RenderBlock::createLineBoxes): Cap the depth of individual line trees to 200. Again the assumption is that once that many open inlines exist all on one line that there's no way this would be intentional.
7:47 PM Changeset in webkit [21060] by aroben
  • 2 edits in trunk/WebKitTools

Reviewed by Mark Rowe and David Kilzer.

  • Scripts/build-webkit: Print the path to the run-safari script when finished building so that users can copy-and-paste the command to execute it.
6:27 PM Changeset in webkit [21059] by hyatt
  • 2 edits in trunk/WebCore

Fix for bug 13430, cap inline splitting for continuations to a maximum depth of 200.

Reviewed by olliej, antti

  • rendering/RenderInline.cpp: (WebCore::RenderInline::splitInlines):
5:59 PM Changeset in webkit [21058] by bdash
  • 2 edits in trunk/WebCore

2007-04-23 Alp Toker <alp@atoker.com>

Gdk build fix. Track EventHandler change made in r21042.

  • page/gdk/EventHandlerGdk.cpp: (WebCore::EventHandler::passWheelEventToWidget): (WebCore::EventHandler::passMousePressEventToScrollbar):
5:37 PM Changeset in webkit [21057] by thatcher
  • 2 edits in trunk/WebCore

Reviewed by Darin.

<rdar://problem/5024945> -[DOMRange lineBoxRects] doesn't include start and end nodes that have offsets

  • rendering/RenderText.cpp: (WebCore::RenderText::addLineBoxRects): Use min(box->len(), end) instead of special-casing UINT_MAX.
5:31 PM Changeset in webkit [21056] by adele
  • 2 edits in trunk/WebCore

Fix by Darin, reviewed by me.

Fix for REGRESSION: Can't upload attachments to bugzilla since the file upload control is reset immediately
http://bugs.webkit.org/show_bug.cgi?id=13461

  • rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::updateFromElement): Only clear the FileChooser if the value is empty *and* (not or) the filename is empty.
4:48 PM Changeset in webkit [21055] by adele
  • 2 edits in trunk/WebCore

Reviewed by Adam.

Updated fix for <rdar://problem/4887426> Set a reasonable maximum number of recent searches for search menu

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::parseMappedAttribute): Use a const int maxSavedResults instead of magic number 256.
4:45 PM Changeset in webkit [21054] by thatcher
  • 1 edit in trunk/WebCore/ChangeLog

Fix the bug number for my last commit.

4:42 PM Changeset in webkit [21053] by thatcher
  • 2 edits in trunk/WebCore

Reviewed by Hyatt.

<rdar://problem/5084400> [DOMRange lineBoxRects] returns an empty array when the DOM nodes have just been created

Don't call selectionRect with a -1 end position, instead use the text length.

  • rendering/RenderText.cpp: (WebCore::RenderText::addLineBoxRects):
4:27 PM Changeset in webkit [21052] by adele
  • 4 edits in trunk

WebCore:

Fixed and reviewed by Darin, Adele, and Oliver.

WebCore part of fix for <rdar://problem/5107538> REGRESSION: Page scroll when selecting characters from inline input candidate window by arrow buttons
http://bugs.webkit.org/show_bug.cgi?id=13263

  • dom/KeyboardEvent.h: (WebCore::KeypressCommand::isEmpty): Added helper method.

WebKit:

Fixed and reviewed by Darin, Adele, and Oliver.

WebKit part of fix for <rdar://problem/5107538> REGRESSION: Page scroll when selecting characters from inline input candidate window by arrow buttons
http://bugs.webkit.org/show_bug.cgi?id=13263

  • WebView/WebHTMLView.mm: (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): If we have no command after calling interpretKeyEvents, we assume the input method handled the key. (-[WebHTMLView doCommandBySelector:]): Add noop: to the command vector, but then when actually performing actions, ignore it.
3:56 PM Changeset in webkit [23331] by aroben
  • 2 edits in branches/WindowsMerge/WebCore

Build fix.

  • page/win/EventHandlerWin.cpp: Removed passWheelEventToSubframe.
3:51 PM Changeset in webkit [21051] by pyeh
  • 2 edits in trunk/WebCore

<rdar://problem/4938364> Attachment button has different string length between attributeStringForRange and stringForRange

<rdar://problem/4939536> AXLengthForTextMarkerRange returns zero length for the range of an attachment


Reviewed by Darin.

  • bridge/mac/WebCoreAXObject.mm: (nsStringForReplacedNode): Added helper routine to check if the replaced node should be exposed as an attachment character in string representation. Added an additional check to make sure that text node is not considered a replaced node. Removed helper routine AXAttributedStringAppendReplaced since half of the functions are now taken care by nsStringForReplacedNode. The other half is directly used in the doAXAttributedStringForTextMarkerRange method. (-[WebCoreAXObject doAXStringForTextMarkerRange:]): (-[WebCoreAXObject doAXAttributedStringForTextMarkerRange:]): Both string and AttrbributedString methods will now utilize the helper routine nsStringForReplacedNode to return replacement characters for range occupied by attachment.
3:14 PM Changeset in webkit [21050] by mjs
  • 2 edits in trunk/JavaScriptCore

Build fix, not reviewed.

  • kjs/collector.h: Fix struct/class mismatch.
3:10 PM Changeset in webkit [21049] by adele
  • 2 edits in trunk/WebCore

Reviewed by Oliver.

Fix for <rdar://problem/4887426> Set a reasonable maximum number of recent searches for search menu

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::parseMappedAttribute): Enforce a maximum of 256 saved results for the search field.
3:08 PM Changeset in webkit [21048] by mjs
  • 2 edits in trunk/JavaScriptCore

Reviewed by Darin.

  • raise ALLOCATIONS_PER_COLLECTION to 4000, for 3.7% iBench speed improvement


Now that the cell size is smaller and the block size is bigger, we can fit 4000 objects in
the two spare cells the collector is willing to keep around, so collect a bit less often.


  • kjs/collector.cpp:
2:54 PM Changeset in webkit [21047] by mjs
  • 4 edits in trunk/JavaScriptCore

Reviewed by Darin and Geoff.


  • move mark and collectOnMainThreadOnly bits into separate bitmaps


This saves 4 bytes per cell, allowing shrink of cell size to 32,
which leads to a .8% speed improvement on iBench.


This is only feasible because of all the previous changes on the branch.

  • kjs/collector.cpp: (KJS::allocateBlock): Adjust for some renames of constants. (KJS::Collector::markStackObjectsConservatively): Now that cells are 32 bytes (64 bytes on 64-bit) the cell alignment check can be made much more strict, and also obsoletes the need for a % sizeof(CollectorCell) check. Also, we can mask off the low bits of the pointer to have a potential block pointer to look for. (KJS::Collector::collectOnMainThreadOnly): Use bitmap. (KJS::Collector::markMainThreadOnlyObjects): Use bitmap. (KJS::Collector::collect): When sweeping, use bitmaps directly to find mark bits.
  • kjs/collector.h: (KJS::): Move needed constants and type declarations here. (KJS::CollectorBitmap::get): Bit twiddling to get a bitmap value. (KJS::CollectorBitmap::set): Bit twiddling to set a bitmap bit to true. (KJS::CollectorBitmap::clear): Bit twiddling to set a bitmap bit to false. (KJS::CollectorBitmap::clearAll): Clear whole bitmap at one go. (KJS::Collector::cellBlock): New operation, compute the block pointer for a cell by masking off low bits. (KJS::Collector::cellOffset): New operation, compute the cell offset for a cell by masking off high bits and dividing (actually a shift). (KJS::Collector::isCellMarked): Check mark bit in bitmap (KJS::Collector::markCell): Set mark bit in bitmap.
  • kjs/value.h: (KJS::JSCell::JSCell): No more bits. (KJS::JSCell::marked): Let collector handle it. (KJS::JSCell::mark): Let collector handle it.
2:24 PM Changeset in webkit [21046] by adele
  • 3 edits in trunk/LayoutTests

Reviewed by Adam.

Updating test from last checkin to include test case for select with and without a form element.

  • fast/events/onchange-select-popup-expected.txt:
  • fast/events/onchange-select-popup.html:
2:15 PM Changeset in webkit [21045] by adele
  • 11 edits
    2 adds in trunk

LayoutTests:

Reviewed by Hyatt & Adam.

Tests for <rdar://problem/4807799> REGRESSION: calling select() in onSearch handler doesn't work if you hit enter to trigger the event

  • fast/events/onchange-passwordfield-expected.txt:
  • fast/events/onchange-passwordfield.html:
  • fast/events/onchange-searchfield-expected.txt:
  • fast/events/onchange-searchfield.html:
  • fast/events/onchange-select-popup-expected.txt: Added.
  • fast/events/onchange-select-popup.html: Added.
  • fast/events/onchange-textfield-expected.txt:
  • fast/events/onchange-textfield.html:
  • fast/forms/onchange-enter-submit-expected.txt:

WebCore:

Reviewed by Hyatt & Adam.

Fix for <rdar://problem/4807799> REGRESSION: calling select() in onSearch handler doesn't work if you hit enter to trigger the event
Fix for <rdar://problem/5153970> onChange doesn't fire when focusing a popup, using type-ahead to select, and leaving

This previous behavior to blur controls when hitting enter was added to achieve the result of firing the change event. Firefox does not
fire blur- just the change event, so this fix will match Firefox behavior.

This also fixes a bug where we didn't fire the change event when using type-ahead selection with the popup menu.

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): Fire change event instead of blur event when hitting enter.
  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::dispatchFocusEvent): Now that we have type-ahead selection for popups that can be opened with the arrow keys, we should always save the last selection when a popup gets focus, so it can be compared to the current selection when it loses focus. (WebCore::HTMLSelectElement::dispatchBlurEvent): For the same reasons as above, we should fire onChange for all popups on blur.

(WebCore::HTMLSelectElement::menuListDefaultEventHandler): Fire change event instead of blur event when hitting enter. Removed an unnecessary

check for form() before calling menuListOnChange(). Removed an unnecessary check for renderer() and usesMenuList().

(WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Remove call to blur. Since list boxes fire the change event immediately after an

action is taken, we don't need to fire anything after hitting enter.

(WebCore::HTMLSelectElement::menuListOnChange): Reset m_lastOnChangeIndex after firing the change event.

2:07 PM Changeset in webkit [21044] by thatcher
  • 2 edits in trunk/WebKit

Reviewed by Darin.

<rdar://problem/5124364> IB3 crashes when loading a nib containing a WebView that has a WebHTMLView encoded inside

Since WebView's initWithCoder throws away all the decoded subviews, the WebHTMLView gets dealoced while it has a nil _private pointer.
Checking for a nil _private in WehHTMLView's close fixes this crash. No need to implement a full initWithCoder for WebHTMLView since
it will be thrown away by the WebView anyway.

  • WebView/WebHTMLView.mm: (-[WebHTMLView close]): Return earily if _priviate is nil. (-[WebHTMLView initWithFrame:]): Unrelated change that removes an AppKit version check that predates Tiger.
12:19 PM Changeset in webkit [21043] by zbujtas
  • 2 edits in S60/trunk/WebKit

yadavall, reviewed by <zbujtas@gmail.com>

DESC: Fix ROM image iby file
http://bugs.webkit.org/show_bug.cgi?id=13419

  • rom/webkit.iby:
10:07 AM Changeset in webkit [21042] by andersca
  • 4 edits in trunk/WebCore

Reviewed by Ada.

<rdar://problem/5061022>
REGRESSION: Acrobat 8 plug-in fails to scroll with trackpad two-finger scroll or mouse wheel (12995)


Pass wheel events to all widgets.


  • page/EventHandler.cpp: (WebCore::EventHandler::handleWheelEvent):
  • page/EventHandler.h:
  • page/mac/EventHandlerMac.mm: (WebCore::EventHandler::passWheelEventToWidget):
8:32 AM Changeset in webkit [21041] by bdash
  • 2 edits in trunk/WebCore

2007-04-23 Alp Toker <alp@atoker.com>

Reviewed by Mark.

Save and restore the context state when beginning and ending a transparency layer.

  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::beginTransparencyLayer): (WebCore::GraphicsContext::endTransparencyLayer):
8:01 AM Changeset in webkit [21040] by thatcher
  • 2 edits in trunk/WebKit

Reviewed by Mark Rowe.

Remove the "No Selection" message after leaving search mode.
This was a regression caused by the inspector refresh.

7:45 AM Changeset in webkit [21039] by bdash
  • 1 copy in tags/Safari-4522.6.2/JavaScriptGlue

New tag (part 2).

7:45 AM Changeset in webkit [21038] by bdash
  • 1 add in tags/Safari-4522.6.2

New tag (part 1).

7:43 AM Changeset in webkit [21037] by bdash
  • 1 edit in branches/Safari-522/JavaScriptGlue/Configurations/Version.xcconfig

Versioning.

7:42 AM Changeset in webkit [21036] by bdash
  • 2 edits in branches/Safari-522/JavaScriptGlue

Merge r20462.

7:16 AM Changeset in webkit [21035] by bdash
  • 2 edits in trunk/WebCore

2007-04-23 Alp Toker <alp@atoker.com>

Reviewed by Mark.

Further implementation and checks. The opacity layer code is not so beautiful
but gets the job done with fewer complications than maintaining our own stack.

  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::translate): (WebCore::GraphicsContext::setPlatformStrokeThickness): (WebCore::GraphicsContext::beginTransparencyLayer): (WebCore::GraphicsContext::endTransparencyLayer): (WebCore::GraphicsContext::setCompositeOperation): (WebCore::GraphicsContext::rotate): (WebCore::GraphicsContext::scale):
7:14 AM Changeset in webkit [21034] by andersca
  • 2 edits in trunk/JavaScriptCore

Build fix.


  • kjs/regexp_object.h: RegExpObjectImpPrivate is a struct, not a class.
6:33 AM Changeset in webkit [21033] by yongjzha
  • 12 edits in S60/trunk/WebKit

winship, reviewed by Yongjun

DESC: move DialogMimeFileSelectLC from DialogProvider API to MWidgetCallBack
http://bugs.webkit.org/show_bug.cgi?id=13406

  • BrowserControl/inc/BrCtl.h:
  • BrowserControl/inc/BrCtlDefs.h: (TBrCtlDefs::):
  • BrowserControl/inc/BrCtlDialogsProvider.h: (TBrCtlSelectOptionData::TBrCtlSelectOptionData): (TBrCtlImageCarrier::TBrCtlImageCarrier):
  • BrowserControl/inc/BrCtlInterface.h:
  • BrowserControl/src/BrCtl.cpp: (CBrCtl::~CBrCtl): (CBrCtl::HandleCommandL): (CBrCtl::CreateWidgetExtensionL):
  • BrowserCore/Formcontrols/inc/FControlFileInputSkin.h:
  • BrowserCore/Formcontrols/src/FControlFileInputSkin.cpp: (TFileDialogWrapper::DialogMimeFileSelectLC): (CFormFileInputSkin::SetAcceptedMimeType): (CFormFileInputSkin::ActivateL):
  • BrowserView/inc/WidgetExtension.h:
  • group/BWINSCW/WebKit_30U.def:
  • group/EABI/browserengineU.def:
  • group/formcontrols.mmpi:
3:28 AM Changeset in webkit [21032] by mjs
  • 7 edits in trunk/JavaScriptCore

Reviewed by Darin.


  • shrink FunctionImp / DeclaredFunctionImp by 4 bytes, by moving parameter list to function body


I reconciled this with a similar change in KDE kjs by Maks Orlovich <maksim@kde.org>.

  • kjs/function.cpp: (KJS::FunctionImp::callAsFunction): (KJS::FunctionImp::passInParameters): (KJS::FunctionImp::lengthGetter): (KJS::FunctionImp::getParameterName):
  • kjs/function.h:
  • kjs/function_object.cpp: (FunctionProtoFunc::callAsFunction): (FunctionObjectImp::construct):
  • kjs/nodes.cpp: (FunctionBodyNode::addParam): (FunctionBodyNode::paramString): (FuncDeclNode::addParams): (FuncDeclNode::processFuncDecl): (FuncExprNode::addParams): (FuncExprNode::evaluate):
  • kjs/nodes.h: (KJS::Parameter::Parameter): (KJS::FunctionBodyNode::numParams): (KJS::FunctionBodyNode::paramName): (KJS::FunctionBodyNode::parameters): (KJS::FuncExprNode::FuncExprNode): (KJS::FuncDeclNode::FuncDeclNode):
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Disable 64-bit warnings because they handle size_t badly.
2:45 AM Changeset in webkit [21031] by mjs
  • 3 edits in trunk/JavaScriptCore

Reviewed by Darin.

  • shrink RegexpObjectImp by 4 bytes


Somewhat inexplicably, this seems to be a .33% speedup on JS iBench.


  • kjs/regexp_object.cpp: (KJS::RegExpObjectImpPrivate::RegExpObjectImpPrivate): (RegExpObjectImp::RegExpObjectImp): (RegExpObjectImp::performMatch): (RegExpObjectImp::arrayOfMatches): (RegExpObjectImp::getBackref): (RegExpObjectImp::getLastMatch): (RegExpObjectImp::getLastParen): (RegExpObjectImp::getLeftContext): (RegExpObjectImp::getRightContext): (RegExpObjectImp::getValueProperty): (RegExpObjectImp::putValueProperty):
  • kjs/regexp_object.h:
2:27 AM Changeset in webkit [21030] by mjs
  • 2 edits in trunk/JavaScriptCore

Reviewed by Oliver.


  • change to 1-bit bitfields instead of 8-bit, this turns out to lead to a .51% speedup on JS iBench


The 1-bit bitfields are actually faster than just plain bools, at least on Intel (go figure).

  • kjs/property_map.h:
1:53 AM Changeset in webkit [21029] by mjs
  • 3 edits in trunk/JavaScriptCore

Reviewed by Darin.



I did this by storing the capacity before the beginning of the storage array. It turns out
it is rarely needed and is by definition 0 when the storage array is null.


  • kjs/array_instance.h: (KJS::ArrayInstance::capacity): Get it from the secret stash
  • kjs/array_object.cpp: (allocateStorage): New function to encapsulate allocating the storage with extra space ahead for the capacity. (reallocateStorage): ditto for realloc (ArrayInstance::ArrayInstance): (ArrayInstance::~ArrayInstance): (ArrayInstance::resizeStorage):
1:47 AM Changeset in webkit [21028] by thatcher
  • 5 edits in trunk/WebKit

Reviewed by Darin.

Bug 6658: World leak when closing inspected window
http://bugs.webkit.org/show_bug.cgi?id=6658 and <rdar://problem/4411863>

Removes over-retains of the inspector WebView, WebInspector and WebInspectorPanel.

  • WebInspector/WebInspector.m: (+sharedWebInspector): Return the global sharedWebInspector variable. (-window): Release the window after calling setWindow:. (-windowWillClose:): Set the JavaScript Inspector variable to null and expire the current highlight. Also clear the global sharedWebInspector variable and release it if self equals sharedWebInspector. (-showWindow:): Set the JavaScript Inspector variable back to self.
  • WebInspector/WebInspectorInternal.h: Remove the isSharedInspector member variable.
  • WebView/WebView.mm: (-[WebView windowScriptObject]): Return nil if core([self mainFrame]) is NULL.
1:38 AM Changeset in webkit [21027] by darin
  • 9 edits
    3 adds in trunk

JavaScriptCore:

Reviewed by Maciej.

  • fix <rdar://problem/4840688> REGRESSION (r10588, r10621): JavaScript won't parse modifications of non-references (breaks 300themovie.warnerbros.com, fedex.com)

Despite the ECMAScript specification's claim that you can treat these as syntax
errors, doing so creates some website incompatibilities. So this patch turns them back
into evaluation errors instead.

Test: fast/js/modify-non-references.html

  • kjs/grammar.y: Change makeAssignNode, makePrefixNode, and makePostfixNode so that they never fail to parse. Update rules that use them. Fix a little bit of indenting. Use new PostfixErrorNode, PrefixErrorNode, and AssignErrorNode classes.
  • kjs/nodes.h: Added an overload of throwError that takes a char* argument. Replaced setExceptionDetailsIfNeeded and debugExceptionIfNeeded with handleException, which does both. Added PostfixErrorNode, PrefixErrorNode, and AssignErrorNode classes.
  • kjs/nodes.cpp: Changed exception macros to use handleException; simpler and smaller code size than the two functions that we used before. (Node::throwError): Added the overload mentioned above. (Node::handleException): Added. Contains the code from both setExceptionDetailsIfNeeded and debugExceptionIfNeeded. (PostfixErrorNode::evaluate): Added. Throws an exception. (PrefixErrorNode::evaluate): Ditto. (AssignErrorNode::evaluate): Ditto. (ThrowNode::execute): Call handleException instead of debugExceptionIfNeeded; this effectively adds a call to setExceptionDetailsIfNeeded, which may help with getting the correct file and line number for these exceptions.
  • kjs/nodes2string.cpp: (PostfixErrorNode::streamTo): Added. (PrefixErrorNode::streamTo): Added. (AssignErrorNode::streamTo): Added.

LayoutTests:

Reviewed by Maciej.

  • test for <rdar://problem/4840688> REGRESSION (r10588, r10621): JavaScript won't parse modifications of non-references (breaks 300themovie.warnerbros.com, fedex.com)
  • fast/js/modify-non-references-expected.txt: Added.
  • fast/js/modify-non-references.html: Added.
  • fast/js/resources/modify-non-references.js: Added.
  • fast/js/assign-expected.txt: Updated for different exception text.
  • fast/js/postfix-syntax-expected.txt: Ditto.
  • fast/js/prefix-syntax-expected.txt: Ditto.
1:27 AM Changeset in webkit [21026] by darin
  • 22 edits in trunk

LayoutTests:

Reviewed by Hyatt.

  • test changes for rename of box-sizing to -webkit-box-sizing
  • fast/borders/border-fit.html: Rename.
  • fast/box-sizing/box-sizing.html: Ditto.
  • fast/box-sizing/panels-one.html: Added -webkit-box-sizing.
  • fast/box-sizing/panels-two.html: Ditto.
  • fast/box-sizing/percentage-height.html: Renamed -khtml-box-sizing to -webkit-box-sizing.
  • fast/css/computed-style-expected.txt: Updated for different name and place in sorting order.
  • tables/mozilla/core/box_sizing.html: Rename.

WebCore:

Reviewed by Hyatt.

  • rename box-sizing to -webkit-box-sizing because of <rdar://problem/4667227> REGRESSION: Shifted table on page at https://us.etrade.com/e/t/home (due to box-sizing)
  • css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Rename.
  • css/CSSPropertyNames.in: Ditto.
  • css/cssparser.cpp: (WebCore::CSSParser::parseValue): Rename and take out comment explaining why we aren't prefacing with -webkit.
  • css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): Rename.
  • css/html4.css: Rename.
  • css/quirks.css: Rename.

WebKit:

Reviewed by Hyatt.

  • rename box-sizing to -webkit-box-sizing
  • WebInspector/webInspector/inspector.css: Here.
  • WebInspector/webInspector/inspector.js: And here, in the expected default CSS values list.

WebKitTools:

Reviewed by Hyatt.

  • rename box-sizing to -webkit-box-sizing
  • Drosera/console.css: Here.
  • Drosera/debugger.css: And here.
  • Drosera/viewer.css: And here.
12:54 AM Changeset in webkit [21025] by mjs
  • 2 edits in trunk/JavaScriptCore

Reviewed by Darin.


  • fix test failures / crashes on PPC
  • kjs/property_map.h: Make the bool fields explicitly 8-bit bitfields, since bool is a full word there otherwise :-(
12:44 AM Changeset in webkit [21024] by mjs
  • 3 edits in trunk/JavaScriptCore

Reviewed by Darin.


  • fix more test case failures
  • bindings/runtime_array.cpp: (RuntimeArray::RuntimeArray): inherit from JSObject instead of ArrayInstance; it turns out that this class only needs the prototype and classInfo from ArrayInstance, not the actual class itself, and it was too big otherwise. (RuntimeArray::getOwnPropertySlot):
  • bindings/runtime_array.h:
12:15 AM Changeset in webkit [21023] by mjs
  • 3 edits in trunk/JavaScriptCore

Reviewed by Darin.


  • fix some test failures
  • bindings/runtime_method.cpp: (RuntimeMethod::RuntimeMethod): inherit from InternalFunctionImp instead of FunctionImpl, otherwise this is too big (RuntimeMethod::getOwnPropertySlot):
  • bindings/runtime_method.h:
12:13 AM Changeset in webkit [21022] by bdash
  • 4 edits in trunk/WebCore

2007-04-23 Alp Toker <alp@atoker.com>

Reviewed by Hyatt.

  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawEllipse): (WebCore::GraphicsContext::drawConvexPolygon): Fix stroking and filling of ellipses and polygons.
  • platform/graphics/cairo/ImageCairo.cpp: (WebCore::BitmapImage::draw): Make use of a new GraphicsContext function to simplify the code. (WebCore::Image::drawPattern): Now implemented. This makes content with tiled patterns (eg. CSS repeat) render correctly.
  • platform/graphics/gdk/ImageGdk.cpp: (WebCore::Image::drawPattern): Remove old stub.

Apr 22, 2007:

11:46 PM Changeset in webkit [21021] by bdash
  • 3 edits in trunk/WebCore

2007-04-22 Lars Naesbye Christensen <lars@naesbye.dk>

Reviewed by Tim Hatcher.

Prettier, more modern 'cell' cursor
http://bugs.webkit.org/show_bug.cgi?id=13441
Also updates past ChangeLog entries to new email address

  • ChangeLog:
  • ChangeLog-2006-12-31:
  • Resources/cellCursor.png:
11:17 PM Changeset in webkit [21020] by bdash
  • 2 edits in trunk/WebCore

2007-04-23 Mark Rowe <mrowe@apple.com>

Rubber-stamped by Hyatt.

Rename cMaxPenderingSourceLengthInLowBandwidthDisplay to cMaxPendingSourceLengthInLowBandwidthDisplay.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
9:16 PM Changeset in webkit [21019] by mjs
  • 6 edits in trunk/JavaScriptCore

Reviewed by Darin.


Based an idea by Christopher E. Hyde <C.Hyde@parableuk.force9.co.uk>. His patch to do
this also had many other List changes and I found this much simpler subset of the changes
was actually a hair faster.


This optimization is valid because the arguments list is only kept around to
lazily make the arguments object. If it's not made by the time the function
exits, it never will be, since any function that captures the continuation will
have its own local arguments variable in scope.


Besides the 1.7% speed improvement, it shrinks List by 4 bytes
(which in turn shrinks ActivationImp by 4 bytes).


  • kjs/Context.cpp: (KJS::Context::~Context): Clear the activation's arguments list.
  • kjs/function.cpp: (KJS::ActivationImp::ActivationImp): Adjusted for list changes. (KJS::ActivationImp::mark): No need to mark, lists are always protected (this doesn't cause a ref-cycle for reasons stated above). (KJS::ActivationImp::createArgumentsObject): Clear arguments list.
  • kjs/function.h:
  • kjs/list.cpp: (KJS::List::List): No more needsMarking boolean (KJS::List::operator=): ditto
  • kjs/list.h: (KJS::List::List): ditto (KJS::List::reset): ditto (KJS::List::deref): ditto
9:10 PM Changeset in webkit [21018] by mjs
  • 4 edits in trunk/JavaScriptCore

Reviewed by Darin.


Inspired by similar changes by Christopher E. Hyde <C.Hyde@parableuk.force9.co.uk>
done in the kjs-tweaks branch of KDE's kjs. However, this version is somewhat
cleaner style-wise and avoids some of the negative speed impact (at least on gcc/x86)
of his version.


This is nearly a wash performance-wise, maybe a slight slowdown, but worth doing
to eventually reach cell size 32.


  • kjs/collector.cpp: (KJS::):
  • kjs/property_map.cpp: (KJS::PropertyMap::~PropertyMap): (KJS::PropertyMap::clear): (KJS::PropertyMap::get): (KJS::PropertyMap::getLocation): (KJS::PropertyMap::put): (KJS::PropertyMap::insert): (KJS::PropertyMap::expand): (KJS::PropertyMap::rehash): (KJS::PropertyMap::remove): (KJS::PropertyMap::mark): (KJS::PropertyMap::containsGettersOrSetters): (KJS::PropertyMap::getEnumerablePropertyNames): (KJS::PropertyMap::getSparseArrayPropertyNames): (KJS::PropertyMap::save): (KJS::PropertyMap::checkConsistency):
  • kjs/property_map.h: (KJS::PropertyMap::hasGetterSetterProperties): (KJS::PropertyMap::setHasGetterSetterProperties): (KJS::PropertyMap::): (KJS::PropertyMap::PropertyMap):
9:01 PM Changeset in webkit [21017] by mjs
  • 2 edits in trunk/JavaScriptCore

Reviewed by Darin.



  • kjs/collector.cpp: (KJS::allocateBlock): New function to allocate 64k of 64k-aligned memory (KJS::freeBlock): Corresponding free (KJS::Collector::allocate): (KJS::Collector::collect):
8:29 PM Changeset in webkit [21016] by mjs
  • 1 edit in trunk/WebCore/ChangeLog

Added bugzilla URL to earlier commit.

8:28 PM Changeset in webkit [21015] by mjs
  • 2 edits in trunk/JavaScriptCore

Reviewed by Darin and Geoff.


This change is a .66% speedup on JS iBench for 32-bit platforms, probably much more
for 64-bit since it finally gives a reasonable cell size, but I did not test that.


  • kjs/collector.cpp: (KJS::): Use different cell size for 32-bit and 64-bit, now that there is no oversize allocation. (KJS::Collector::allocate): Remove oversize allocator. (KJS::Collector::markStackObjectsConservatively): Don't check oversize objects. (KJS::Collector::markMainThreadOnlyObjects): Ditto. (KJS::Collector::collect): Ditto.
8:09 PM Changeset in webkit [21014] by mjs
  • 4 edits in trunk/WebCore

Reviewed by Darin and Geoff.

  • move most of Window's data members into a separate private object, to avoid needing to use the oversize allocator for it


It was the only remaining JSObject subclass to use the oversize
allocator on 32-bit platforms, and having oversize objects around
makes garbage collection slower so this would hurt performance
with many tabs/windows open.


No significant effect on JS iBench.

  • bindings/js/kjs_events.cpp: (KJS::JSUnprotectedEventListener::JSUnprotectedEventListener): (KJS::JSUnprotectedEventListener::~JSUnprotectedEventListener): (KJS::JSEventListener::JSEventListener): (KJS::JSEventListener::~JSEventListener): (KJS::JSLazyEventListener::parseCode):
  • bindings/js/kjs_window.cpp: (KJS::WindowPrivate::WindowPrivate): (KJS::Window::Window): (KJS::Window::~Window): (KJS::Window::location): (KJS::Window::selection): (KJS::Window::locationbar): (KJS::Window::menubar): (KJS::Window::personalbar): (KJS::Window::statusbar): (KJS::Window::toolbar): (KJS::Window::scrollbars): (KJS::Window::mark): (KJS::Window::getValueProperty): (KJS::Window::findJSEventListener): (KJS::Window::findJSUnprotectedEventListener): (KJS::Window::clearHelperObjectProperties): (KJS::Window::clear): (KJS::Window::setCurrentEvent): (KJS::Window::setReturnValueSlot): (KJS::Window::clearAllTimeouts): (KJS::Window::installTimeout): (KJS::Window::pauseTimeouts): (KJS::Window::resumeTimeouts): (KJS::Window::clearTimeout): (KJS::Window::timerFired): (KJS::Window::disconnectFrame): (KJS::Window::jsEventListeners): (KJS::Window::jsHTMLEventListeners): (KJS::Window::jsUnprotectedEventListeners): (KJS::Window::jsUnprotectedHTMLEventListeners):
  • bindings/js/kjs_window.h:
8:08 PM Changeset in webkit [21013] by hyatt
  • 2 edits in trunk/WebCore

Fix 1% regression on the PLT. Make sure roundToDevicePixels does no
work when no scale is in effect.

Reviewed by mjs

5:44 PM Changeset in webkit [21012] by darin
  • 3 edits in trunk/WebCore

Reviewed by Oliver.

  • fix small things noticed while looking into a font subsitution bug
  • platform/Font.h: (WebCore::Font::operator==): Corrected a misleading comment.
  • platform/Font.cpp: (WebCore::Font::Font): Initialize m_pageZero to 0 in the empty constructor instead of leaving it uninitialized. Initialize m_fontList for tighter code. Remove unneeded initialization of RefPtr members to 0. Changed the copy constructor to use initialization for tighter code. (WebCore::Font::operator=): Sorted to match the order from the header and the copy constructor, and removed the uneeded self-assignment check.
5:38 PM Changeset in webkit [21011] by thatcher
  • 2 edits in trunk/WebKit

Reviewed by Darin.

The fix for <rdar://problem/4976681> ASSERTION failure on quit @ talkcrunch.com in _NPN_ReleaseObject
was #ifdefed out in Production builds.

  • WebView/WebView.mm: (+[WebView initialize]): Move the #ifdef REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM inside initialize around the specific code (+[WebView _applicationWillTerminate]): Moved outside the #ifdef REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM block
4:14 PM Changeset in webkit [21010] by darin
  • 5 edits
    1 add in trunk/WebCore

Reviewed by Maciej.

  • manual-tests/clear-input-file.html: Added.
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::appendFormData): Remove check that prevents submission of form data when there is no renderer or the renderer is invisible. While well-intentioned, the rule does not match the behavior of other web browsers. (WebCore::HTMLInputElement::setValue): Instead of disallowing all value changes for file type, allow changes to the empty string. (WebCore::HTMLInputElement::storesValueSeparateFromAttribute): Made file type return true for this. 1) The file type does store its value separate from the value attribute. 2) The code in setInputType() should do the right thing given this new value, according to my inspection of the code. 3) The code in both reset() and setValue() will work properly if this is true, which was the motivation for changing it.
  • platform/FileChooser.h: Added a clear function.
  • platform/FileChooser.cpp: (WebCore::FileChooser::clear): Clear the filename and the icon.
  • rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::valueChanged): Used a local variable to make the code a little bit more readable (and match the change below). (WebCore::RenderFileUploadControl::updateFromElement): Used local variables a bit more in the old code. Added code that will call clear on the FileChooser and repaint if the DOM element has an empty value and the FileChooser does not.
4:12 PM Changeset in webkit [21009] by darin
  • 9 edits in trunk/WebCore

Reviewed by Hyatt.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=12279
Implemented two pass loading. Enabled by WTF_USE_LOW_BANDWIDTH_DISPLAY flag.

  • dom/Document.cpp: (WebCore::Document::Document): initialize member variable m_inLowBandwidthDisplay
  • dom/Document.h: (WebCore::Document::haveStylesheetsLoaded): while in low bandwidth display mode, ignore pending style sheets (WebCore::Document::setDocLoader): (WebCore::Document::inLowBandwidthDisplay): (WebCore::Document::setLowBandwidthDisplay):
  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::scriptHandler): while in low bandwidth display mode, don't execute JavaScript
  • loader/Cache.cpp: (WebCore::Cache::requestResource): while in low bandwidth display mode, don't let style sheet and JavaScript block
  • loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::checkNotify): add notifyFinished() as client may need "this" pointer
  • loader/DocLoader.h: (WebCore::DocLoader::replaceDocument):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::FrameLoader): (WebCore::FrameLoader::requestFrame): while in low bandwidth display mode, don't load sub-frame (WebCore::FrameLoader::stopLoading): (WebCore::FrameLoader::begin): set to low bandwidth display mode if the top frame is HTML document (WebCore::FrameLoader::write): (WebCore::FrameLoader::endIfNotLoading): (WebCore::FrameLoader::checkCompleted): while in low bandwidth display mode, don't set complete (WebCore::FrameLoader::requestObject): while in low bandwidth display mode, don't care Object (WebCore::FrameLoader::addLowBandwidthDisplayRequest): (WebCore::FrameLoader::removeAllLowbandwidthDisplayRequests): (WebCore::FrameLoader::notifyFinished): (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
  • loader/FrameLoader.h: (WebCore::FrameLoader::FrameLoader::needToSwitchOutLowBandwidthDisplay): (WebCore::FrameLoader::FrameLoader::setUseLowBandwidthDisplay): (WebCore::FrameLoader::FrameLoader::useLowBandwidthDisplay):
3:57 PM Changeset in webkit [21008] by darin
  • 6 edits
    2 adds in trunk

LayoutTests:

Reviewed by Tim Hatcher.

  • fast/css/dashboard-region-parser.html: Added.
  • fast/css/dashboard-region-parser-expected.txt: Added.
  • fast/css/dashboard-regions-attr-crash.html: Updated bug URL to point to bugs.webkit.org instead of bugzilla.opendarwin.org. At some point we should do this for the roughly 100 other tests that have the old URL.
  • fast/css/dashboard-regions-attr-crash-expected.txt: Ditto.

WebCore:

Reviewed by Tim Hatcher.

Test: fast/css/dashboard-region-parser.html

  • css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cssText): Fix code that overwrote each additional region with the previous one to instead build a space-separated list. Check for the case of an identifier that's invalid, since that's (accidentally) how we represent a region value that doesn't have explicit top/right/bottom/left values. The old code would end up writing out four spaces after the region type.
  • css/cssparser.cpp: (WebCore::CSSParser::parseDashboardRegions): Fail to parse if there is something after the "none" identifier or after the arguments inside the dashboard-region "function". Also replaced code that produced a identifier with CSS_VAL_INVALID in a roundabout way with code that does it explicitly.
3:12 PM Changeset in webkit [21007] by thatcher
  • 2 edits in trunk/WebKit

Reviewed by Mitz.

Bug 13436: Make Option-clicking a disclosure triangle expand the entire subtree
http://bugs.webkit.org/show_bug.cgi?id=13436

Makes option-click recursively expand and collapse the sub-tree. Pressing option-left
and -right also recursively expands and collapses the sub-tree.

3:05 PM Changeset in webkit [21006] by thatcher
  • 2 edits in trunk/WebKit

Reviewed by Mitz.

Bug 13437: Inspector does not update when navigating to a different page
http://bugs.webkit.org/show_bug.cgi?id=13437

  • WebInspector/webInspector/inspector.js: Correctly update to a new root node if the new focus node and the old focus node don't have a common ancestor.
1:28 PM Changeset in webkit [21005] by kevino
  • 4 edits
    1 add in branches/wx-port-alpha/trunk

Get JavaScriptCore tests running on the wxWebKit branch. (use run-wxwebkit-tests to run them)

10:24 AM Changeset in webkit [23330] by darin
  • 2 edits in branches/WindowsMerge/LayoutTests
  • win/Skipped: Added a new test that requires emacs key bindings that we don't have implemented in Boomer.
10:17 AM Changeset in webkit [21004] by darin
  • 5 edits
    4 adds in trunk

LayoutTests:

Reviewed by Adele.

  • test for <rdar://problem/5100240> REGRESSION: Control-O broken
  • editing/input/emacs-ctrl-o-expected.checksum: Added.
  • editing/input/emacs-ctrl-o-expected.png: Added.
  • editing/input/emacs-ctrl-o-expected.txt: Added.
  • editing/input/emacs-ctrl-o.html: Added.

WebCore:

Reviewed by Adele.

  • support for fix for <rdar://problem/5100240> REGRESSION: Control-O broken
  • dom/KeyboardEvent.h: Include a vector of command names in the KeypressCommand object instead of a single command name.

WebKit:

Reviewed by Adele.

  • fix for <rdar://problem/5100240> REGRESSION: Control-O broken
  • WebView/WebHTMLView.mm: (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Update to handle a vector of command names instead of a single command. (-[WebHTMLView doCommandBySelector:]): Change logic so that we add the command to a vector and also so that the interpretKeyEvents parameters are still intact for a second call to doCommandBySelector:, since the key bindings mechanism can do more than one. (-[WebHTMLView insertText:]): Added comment.
1:23 AM Changeset in webkit [21003] by ap
  • 7 edits in trunk/WebCore

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=13115
REGRESSION: 1000% performance regression in DOM access by index, which was already slow

  • dom/NodeList.h: Move cached data into a separate class, so it can be shared.
  • dom/Node.h: Replace the set of registered NodeLists with a struct that also contains a shared NodeList::Caches (so the size of Node doesn't change).
  • dom/NodeList.cpp: (WebCore::NodeList::NodeList): (WebCore::NodeList::~NodeList): (WebCore::NodeList::recursiveLength): (WebCore::NodeList::itemForwardsFromCurrent): (WebCore::NodeList::itemBackwardsFromCurrent): (WebCore::NodeList::recursiveItem): (WebCore::NodeList::itemWithName): (WebCore::NodeList::rootNodeChildrenChanged): (WebCore::NodeList::NodeListInfo::NodeListInfo): (WebCore::NodeList::NodeListInfo::reset):
  • dom/ChildNodeList.cpp: (WebCore::ChildNodeList::ChildNodeList): (WebCore::ChildNodeList::length): (WebCore::ChildNodeList::item): (WebCore::ChildNodeList::nodeMatches):
  • dom/ChildNodeList.h:
  • dom/Node.cpp: (WebCore::Node::childNodes): (WebCore::Node::registerNodeList): (WebCore::Node::unregisterNodeList): (WebCore::Node::notifyLocalNodeListsAttributeChanged): (WebCore::Node::notifyLocalNodeListsChildrenChanged): Adjust for the above changes.

Apr 21, 2007:

8:15 PM Changeset in webkit [21002] by andrew
  • 3 edits
    4 adds in trunk

LayoutTests:
2007-04-21 Mitz Pettel <mitz@webkit.org>

Reviewed by Darin.

  • fast/repaint/control-clip-expected.checksum: Added.
  • fast/repaint/control-clip-expected.png: Added.
  • fast/repaint/control-clip-expected.txt: Added.
  • fast/repaint/control-clip.html: Added.

WebCore:
2007-04-21 Mitz Pettel <mitz@webkit.org>

Reviewed by Darin.

Test: fast/repaint/control-clip.html

Ignore controls' lightweight clip in repaint rect computation for now.

  • rendering/RenderBox.cpp: (WebCore::RenderBox::computeAbsoluteRepaintRect):
6:41 PM Changeset in webkit [21001] by darin
  • 2 edits in trunk/WebCore

Reviewed by Adam.

  • fix <rdar://problem/4816343> :-khtml-drag CSS pseudo-class changed to :-webkit-drag, need alias
  • css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Since Apple documentation claims "-khtml-drag" works, we need to keep it working, so add it back as an alias.
4:46 PM Changeset in webkit [21000] by darin
  • 3 edits in trunk/WebKit

Reviewed by Oliver.

  • fix some problems I ran into using the inspector
  • WebInspector/webInspector/inspector.js: Add some null checks.
4:46 PM Changeset in webkit [20999] by darin
  • 2 edits in trunk/WebCore

Reviewed by Oliver.

  • fix <rdar://problem/4782422> REGRESSION: -[stringByEvaluatingJavaScriptFromString] returns an empty string instead of nil for non-string results
  • page/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]): Added a call to nsStringNilIfEmpty to restore the old behavior. It might be nice to distinguish the empty string from a non-string result, but there's no obvious way to do that, and for compatibility it's probably best to just restore the old behavior instead.
3:31 PM Changeset in webkit [20998] by hyatt
  • 3 edits in trunk/WebCore

Fix for bug 13432, determineFlowSpacing is O(n2).

Reviewed by aroben

  • rendering/InlineBox.cpp: (WebCore::InlineBox::nextOnLineExists): (WebCore::InlineBox::prevOnLineExists):
  • rendering/InlineBox.h: (WebCore::InlineBox::InlineBox):
2:38 AM Changeset in webkit [20997] by ap
  • 8 edits
    2 adds in trunk

2007-04-21 Lamar Goddard <lamargoddard@gmail.com>

Reviewed by Darin.

Fix for http://bugs.webkit.org/show_bug.cgi?id=5262
<rdar://problem/5018778>
XMLSerializer drops Namespace information

WebCore:

Updated WebCore::markup to output namespace information for elements/attributes whose namespace information
doesn't appear in its scope in the output.

  • WebCore/editing/markup.cpp: (WebCore::createMarkup(const Node*, ...)): Changed call to WebCore::markup to match parameters (WebCore::markup): Changed recursive call to match tree structure, removed ASSERT and no longer needed includeSiblings parameter. (WebCore::startMarkup): Added optional parameter to track namespaces in the current scope. (WebCore::addNamespace): Function to add namespace information to markup. (WebCore::shouldAddNamespaceAttr): (WebCore::shouldAddNamespaceElem): Functions that test whether namespace information should be added for a given node.
  • WebCore/dom/Document.idl: (createElementNS): (createAttributeNS): (getElementsByTagNameNS): Added [ConvertNullToNullString] to namespaceURI parameter.
  • WebCore/dom/Node.cpp: (Node::getElementsByTagNameNS): removed test for namespaceURI being null as null can be a valid namespace.

LayoutTests:

  • fast/dom/serialize-nodes-expected.txt: Added.
  • fast/dom/serialize-nodes.xhtml: Added.
  • dom/xhtml/level3/core/nodeisequalnode14-expected.txt: This test fails because createAttribute is supposed to create an Attr with localName of null.
  • dom/xhtml/level3/core/nodeisequalnode15-expected.txt: Now succeeds.
  • fast/innerHTML/004-expected.txt: Added namespace information to head and body nodes as xhtml nodes now serialize with namespace information.
1:50 AM Changeset in webkit [20996] by ap
  • 4 edits
    4 adds in trunk

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=13300
Reproducible crash opening anekdot.ru

WebCore:

  • html/HTMLParser.cpp: (WebCore::HTMLParser::HTMLParser): (WebCore::HTMLParser::getNode): (WebCore::HTMLParser::handleIsindex):
  • html/HTMLParser.h: Made HTMLParser::form a RefPtr, and renamed it to m_currentFormElement. Made m_currentMapElement a RefPtr.

LayoutTests:

  • fast/parser/rewrite-form-expected.txt: Added.
  • fast/parser/rewrite-form.html: Added.
  • fast/parser/rewrite-map-expected.txt: Added.
  • fast/parser/rewrite-map.html: Added.
1:20 AM Changeset in webkit [20995] by bdash
  • 9 edits
    4 adds in trunk

2007-04-21 Mitz Pettel <mitz@webkit.org>

Reviewed by Darin.

Test: fast/overflow/hit-test-overflow-controls.html

  • page/EventHandler.cpp: (WebCore::EventHandler::handleMouseMoveEvent): Avoid activating scrollbars during layer resize.
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::isPointInOverflowControl): Renamed isPointInScrollbar to this, to reflect that it returns true for points in the resize corner as well. Changed it to call the layer to do the actual work. (WebCore::RenderBlock::nodeAtPoint): Updated for the above rename.
  • rendering/RenderBlock.h:
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::horizontalScrollbarWidget): Fixed typo in this function's name (it was horizontaScrollbarWidget). (WebCore::RenderLayer::hitTestOverflowControls): Added. Returns whether the hit point is in one of the scrollbars or the resize corner, and updates the platform scrollbar in the hit test result if a scrollbar was hit.
  • rendering/RenderLayer.h:
  • rendering/RenderListBox.cpp: (WebCore::RenderListBox::isPointInOverflowControl): Rename.
  • rendering/RenderListBox.h:

2007-04-21 Mitz Pettel <mitz@webkit.org>

Reviewed by Darin.

  • fast/overflow/hit-test-overflow-controls-expected.checksum: Added.
  • fast/overflow/hit-test-overflow-controls-expected.png: Added.
  • fast/overflow/hit-test-overflow-controls-expected.txt: Added.
  • fast/overflow/hit-test-overflow-controls.html: Added.
1:17 AM Changeset in webkit [20994] by bdash
  • 6 edits in trunk

2007-04-21 Mitz Pettel <mitz@webkit.org>

Reviewed by Darin.

  • DumpRenderTree/DumpRenderTree.m: (activateAhemFont): Added. Activates the copy of Ahem included in the DumpRenderTree binary. (dumpRenderTree): Replaced the check that Ahem is available with a call to activateAhemFont().
  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Added linker options to include Ahem in the data section of the DumpRenderTree binary.

2007-04-21 Mitz Pettel <mitz@webkit.org>

Reviewed by Darin.

  • quality/testing.html: Removed the requirement to download and install Ahem for running the tests.
  • quality/testwriting.html: Added information about Ahem.
1:14 AM Changeset in webkit [20993] by bdash
  • 3 edits
    2 adds in trunk

2007-04-21 Mitz Pettel <mitz@webkit.org>

Reviewed by Darin.

Test: fast/dom/Window/getMatchedCSSRules-null-crash.html

  • css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::styleRulesForElement): Added null check.

2007-04-21 Mitz Pettel <mitz@webkit.org>

Reviewed by Darin.

  • fast/dom/Window/getMatchedCSSRules-null-crash-expected.txt: Added.
  • fast/dom/Window/getMatchedCSSRules-null-crash.html: Added.
1:12 AM Changeset in webkit [20992] by bdash
  • 3 edits in trunk/WebCore

2007-04-21 Mitz Pettel <mitz@webkit.org>

Reviewed by Darin.

No test included because DumpRenderTree does not support setting the user stylesheet.

  • css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::CSSStyleSelector): (WebCore::CSSStyleSelector::~CSSStyleSelector):
  • css/cssstyleselector.h: Made m_userSheet a RefPtr.
1:09 AM Changeset in webkit [20991] by bdash
  • 2 edits in trunk/JavaScriptCore

2007-04-21 Mitz Pettel <mitz@webkit.org>

Reviewed by Adam.

  • kjs/array_object.cpp: (ArrayInstance::sort): Free the old storage, not the new one.
1:08 AM Changeset in webkit [20990] by bdash
  • 2 edits in trunk/WebCore

2007-04-21 MorganL <morganl.webkit@yahoo.com>

Reviewed by Adam.

NPObject should be forward declared using 'struct' instead of 'class'

  • page/Frame.h:
12:51 AM Changeset in webkit [20989] by bdash
  • 2 edits in trunk/WebCore

2007-04-21 Alp Toker <alp@atoker.com>

Gdk build fix.

  • platform/gdk/FontPlatformDataGdk.cpp: (WebCore::FontPlatformData::FontPlatformData): Use the correct casts.

Apr 20, 2007:

11:43 PM Changeset in webkit [20988] by thatcher
  • 1 edit in trunk/WebKit/WebInspector/WebInspector.m

Fixes the build.

11:19 PM Changeset in webkit [20987] by thatcher
  • 1 delete in branches/WebInspectorRefresh

Remove the branch now that the changes were merged over to source:trunk in r20986.

11:14 PM Changeset in webkit [20986] by thatcher
  • 2 edits
    11 copies
    2 deletes in trunk/WebKit

Reviewed by Darin.

Merge over the WebInspectorRefresh branch. This change removes the NSOutlineView and
is replaced with a HTML/JavaScript tree. Most of the inspector logic is now in the JavaScript.

A few bugs are fixed by these changes:

Bug 6615: Parent node drop-down list is upside-down
http://bugs.webkit.org/show_bug.cgi?id=6615

Bug 6643: REGRESSION: Tree view repaints lines without erasing them first
http://bugs.webkit.org/show_bug.cgi?id=6643

Bug 6650: Web Inspector HTML Hierarchy can't be scrolled with scrollwheel
http://bugs.webkit.org/show_bug.cgi?id=6650

Bug 6677: Can't drag inspector when tree view has focus
http://bugs.webkit.org/show_bug.cgi?id=6677

Bug 7326: Web Inspector tree scrollbar always shows up when resizing the top pane down
http://bugs.webkit.org/show_bug.cgi?id=7326

  • WebInspector/WebInspector.h: Removed the searchQuery methods.
  • WebInspector/WebInspector.m: Removed the DOMNode category and code for the old outline view.
  • WebInspector/WebInspectorOutlineView.h: Removed.
  • WebInspector/WebInspectorOutlineView.m: Removed.
  • WebInspector/WebInspectorInternal.h: Remove some methods and instance variables.
  • WebInspector/webInspector/Images/resize.png: Added.
  • WebInspector/webInspector/inspector.css:
  • WebInspector/webInspector/inspector.html: Include the new classes and remove the plugin.
  • WebInspector/webInspector/inspector.js: Changes to use the new tree outline and other fixes.
  • WebInspector/webInspector/scrollarea.js: Copied from the Dashboard widget resources.
  • WebInspector/webInspector/scrollbar.js: Ditto.
  • WebInspector/webInspector/treeoutline.js: New tree outline class.
  • WebInspector/webInspector/utilities.js: DOM and String prototype additions.
  • WebKit.xcodeproj/project.pbxproj: Remove WebInspectorOutlineView.
7:00 PM Changeset in webkit [20985] by bdash
  • 1 copy in tags/Safari-4522.6.1

New tag.

6:49 PM Changeset in webkit [20984] by bdash
  • 4 edits in branches/Safari-522

Versioning.

6:46 PM Changeset in webkit [20983] by bdash
  • 8 edits in branches/Safari-522

Merge r20445.

6:00 PM Changeset in webkit [20982] by bdakin
  • 1 edit
    2 adds in trunk/LayoutTests

Reviewed by Adam.

Test I meant to check in a while ago.

  • fast/events/fire-scroll-event-expected.txt: Added.
  • fast/events/fire-scroll-event.html: Added.
5:58 PM Changeset in webkit [23329] by adachan
  • 11 edits in branches/WindowsMerge
5:55 PM Changeset in webkit [23328] by bdakin
  • 2 edits in branches/WindowsMerge/WebCore

Reviewed by Adam.

Fix for <rdar://problem/5089822> Boomer does not send scroll events

  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
5:26 PM Changeset in webkit [20981] by beidson
  • 6 edits in trunk

WebCore:

Reviewed by Oliver (Black Sheep)

<rdar://problem/3559794>
[WebView setMaintainsBackForwardList:] doesn't actually flush out the current page caches

  • WebCore.exp:
  • history/BackForwardList.cpp: (WebCore::BackForwardList::BackForwardList): Set the flag to true by default (WebCore::BackForwardList::addItem): Check the flag and bail if its false (WebCore::BackForwardList::setCapacity): More correct if it set the m_current to NoCurrentItemIndex if we're setting capacity to 0 (WebCore::BackForwardList::enabled): (WebCore::BackForwardList::setEnabled): If we're disabling, cycle capacity to 0 and back to flush things out
  • history/BackForwardList.h: Add enabled(), setEnabled(bool), and m_enabled

WebKit:

Reviewed by Oliver (Black Sheep)

<rdar://problem/3559794>
[WebView setMaintainsBackForwardList:] doesn't actually flush out the current page caches

  • WebView/WebView.mm: Remove _private->useBackForwardList (-[WebView _setInitiatedDrag:]): Use _private->page instead of [self page] (-[WebView initWithCoder:]): Manipulate the flag that is now in WebCore::BackForwardList (-[WebView encodeWithCoder:]): Ditto (-[WebView backForwardList]): Use _private->page instead of [self page] (-[WebView setMaintainsBackForwardList:]): Manipulate the flag that is now in WebCore::BackForwardList
5:24 PM Changeset in webkit [20980] by hyatt
  • 5 edits in trunk/WebCore

Bug 13424, firstLineStyle and verticalPositionHint together take
33% of the time on the new tag nesting PLT. Don't waste time even
looking for first-line styles if no stylesheet used them.

Reviewed by beth

  • css/CSSGrammar.y:
  • dom/Document.cpp: (WebCore::Document::Document):
  • dom/Document.h: (WebCore::Document::usesFirstLineRules): (WebCore::Document::setUsesFirstLineRules):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::verticalPositionHint): (WebCore::RenderObject::firstLineStyle):
5:14 PM Changeset in webkit [20979] by thatcher
  • 1 copy in tags/Safari-4522.6

New tag.

5:13 PM Changeset in webkit [20978] by thatcher
  • 4 edits in branches/Safari-522

Versioning

3:50 PM Changeset in webkit [20977] by mjs
  • 2 edits in trunk/JavaScriptCore

Not reviewed, build fix.

  • fix build problem with last change - -O3 complains more about uninitialized variables


  • pcre/pcre_compile.c: (compile_branch): (pcre_compile2):
3:33 PM Changeset in webkit [20976] by aroben
  • 2 edits in trunk/WebKitTools

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=13421
Bug 13421: prepare-ChangeLog should use svn-create-patch when spewing diffs

  • Scripts/prepare-ChangeLog: Use svn-create-patch instead of svn diff.
3:26 PM Changeset in webkit [20975] by oliver
  • 2 edits in trunk/WebCore

2007-04-20 Peter Kasting <pkasting@google.com>

Reviewed by Oliver.

  • platform/TextEncodingRegistry.cpp: (WebCore::addToTextEncodingNameMap): Change a pointer comparison to a strcmp(), since the strings here are not necessarily pointer-equivalent.
3:20 PM Changeset in webkit [23327] by aroben
  • 2 edits in branches/WindowsMerge/WebKitTools
  • DumpRenderTree/DumpRenderTree.vcproj/TestNetscapePlugin/TestNetscapePlugin.vcproj: Use WebKitConfigSuffix instead of ConfigSuffix.
3:20 PM Changeset in webkit [20974] by mjs
  • 3 edits in trunk/JavaScriptCore

Reviewed by Darin.


  • <rdar://problem/5149915> use mergesort when possible, since it leads to fewer compares (2% JS iBench speedup)
  • kjs/array_object.cpp: (ArrayInstance::sort): Use mergesort(3) on platforms that have it, since it tends to do fewer compares than qsort; but avoid it very on large arrays since it uses extra memory. Also added comments identifying possibly even better sorting algorithms for sort by string value and sort by compare function.
  • kjs/config.h:
3:00 PM Changeset in webkit [20973] by mjs
  • 2 edits in trunk/JavaScriptCore

Reviewed by Darin.


  • bump optimization flags up to -O3 for 1% JS iBench speed improvement
  • Configurations/Base.xcconfig:
2:52 PM Changeset in webkit [20972] by darin
  • 7 edits
    2 adds in trunk

LayoutTests:

Reviewed by Geoff Garen and John Sullivan.

  • test changes for <rdar://problem/4671964> document property on <iframe> elements causes problems for SAP application
  • fast/dom/iframe-document-expected.txt: Added.
  • fast/dom/iframe-document.html: Added.
  • fast/dom/attr_dead_doc.html: Changed to use contentDocument instead of relying on the document property on HTMLIFrameElement.
  • fast/events/mouseover-mouseout.html: Ditto.
  • fast/frames/repaint-display-none-crash.html: Ditto.

WebCore:

Reviewed by Geoff Garen and John Sullivan.

  • fix <rdar://problem/4671964> document property on <iframe> elements causes problems for SAP application

Test: fast/dom/iframe-document.html

  • bindings/js/kjs_html.h: Removed IFrameDocument.
  • bindings/js/kjs_html.cpp: (KJS::JSHTMLElement::iFrameGetter): Ditto.
12:49 PM GtkAPIProposal edited by Kimmo Kinnunen
(diff)
12:47 PM GtkAPIProposal edited by Kimmo Kinnunen
(diff)
2:25 AM BuildingGdk edited by alp@atoker.com
Updated roadmap (diff)
2:01 AM Changeset in webkit [23326] by aroben
  • 2 edits in branches/WindowsMerge/WebKitTools

Explicitly link DRT against some Win32 libs because VC++ Express
doesn't link against them by default.

  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.vcproj:
1:47 AM Changeset in webkit [20971] by bdash
  • 2 edits in trunk/JavaScriptCore

2007-04-20 Mark Rowe <mrowe@apple.com>

Reviewed by Maciej.

Fix bogus optimisation in the generic pthread code path.

  • kjs/collector.cpp: (KJS::currentThreadStackBase):
12:50 AM Changeset in webkit [20970] by bdash
  • 2 edits in trunk/JavaScriptCore

2007-04-20 Mark Rowe <mrowe@apple.com>

Reviewed by Anders.

Improve FreeBSD compatibility, as suggested by Alexander Botero-Lowry.

  • kjs/collector.cpp: (KJS::currentThreadStackBase): FreeBSD requires that pthread_attr_t's are initialized via pthread_attr_init before being used in any context.
12:13 AM Changeset in webkit [20969] by andersca
  • 2 edits in trunk/WebKit

Reviewed by Maciej.

<rdar://problem/5085897> REGRESSION: Some Flash links at www.jumpskyhigh.com just reload the page


Get rid of the check that would prevent plugin requests from being loaded if a new page load was underway.
www.jumpskyhigh.com had a flash movie that was embedded inside an <a> tag and clicking on the plug-in would cause the
URL pointed to by the <a> tag to start loading and thus preventing the plug-in from loading the real URL.


This check was added by Maciej and we should be able to remove it with the loader changes that have happened now,
(mainly the fact that resource loaders are handled by the document loader instead of the frame loader).


  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
Note: See TracTimeline for information about the timeline view.