Timeline


and

03/31/06:

16:40 Changeset [13623] by thatcher

Knocking the number of PLTs we run down to 3 to see if we come in under the BuildBot timeout.

16:12 Changeset [13622] by thatcher

Knocking the number of PLTs we run down to 4 to see if we come in under the BuildBot timeout.

15:14 Changeset [13621] by sullivan

Reviewed by Tim Hatcher.


  • fixed <rdar://problem/4372842> 10.4.4 Regression: control-clicking on a misspelled word doesn't select it or offer corrections (first click only)
  • bridge/mac/FrameMac.mm: (WebCore::FrameMac::sendContextMenuEvent): Rolled in this one-line change that Hyatt wrote ages ago.
14:39 Changeset [13620] by thatcher

Reviewed by Darin.

We need to set reachedTerminalState to YES before we release
the resources to prevent a double dealloc of WebView

Fixes <rdar://problem/4372628> crash deallocating a WebView in -[WebFrame stopLoading]

  • WebView/WebLoader.m: (-[NSURLProtocol releaseResources]): set reachedTerminalState earlier
13:50 Changeset [13619] by bdakin

Reviewed by John.

Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8108
REGRESSION (r13590-r13593): Floating table's cells don't paint
their background

This is a regression from my painting patch yesterday. Just a silly
error I didn't catch.

  • rendering/RenderTable.cpp: (WebCore::RenderTable::paint): Change the phase of our new PaintInfo, not our old one.
13:36 Changeset [13618] by sullivan

Reviewed by Tim Omernick.


Some cleanup in the WebIconDatabase code in a fruitless search for the cause
of the mysterious -[WebFileDatabase performSetObject:forKey] crash

  • Misc/WebIconDatabase.m: (-[WebIconDatabase _createFileDatabase]): removed obsolete comment (-[WebIconDatabase _loadIconDictionaries]): Added ERRORs for unexpected early returns. Made dictionaries be autoreleased until the end of the method where they are retained, so that the early returns don't leak; added ASSERTs that the _private->dictionary values aren't being leaked. (-[WebIconDatabase _updateFileDatabase]): Added an ERROR for an unexpected early return, and made a trivial style fix.
12:58 Changeset [13617] by tomernic

LayoutTests:

Reviewed by Adele.

Layout test for:
<http://bugzilla.opendarwin.org/show_bug.cgi?id=7858>
<rdar://problem/4483359> REGRESSION: New text field doesn't recognize the read only attribute

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

WebCore:

Reviewed by Adele.

<http://bugzilla.opendarwin.org/show_bug.cgi?id=7858>
<rdar://problem/4483359> REGRESSION: New text field doesn't recognize the read only attribute


  • rendering/RenderTextField.cpp: (WebCore::RenderTextField::createDivStyle): Set user modify based on the form element's readOnly(). (WebCore::RenderTextField::updateFromElement): ditto
12:44 Changeset [13616] by adele

Reviewed by Tim Omernick.

Updating shadowAncestorNode so it doesn't check for rootEditableElement. Now we just walk
up the tree to look for a shadowNode, and then we find the shadowParent.

  • dom/Node.cpp: (WebCore::Node::shadowAncestorNode):
  • rendering/RenderTextField.cpp: (WebCore::RenderTextField::setSelectionRange): Updated assertion to check for shadowAncestorNode instead of rootEditableElement.
12:30 Changeset [13615] by ap

Fix by Trey Matteson, reviewed by Maciej.

http://bugzilla.opendarwin.org/show_bug.cgi?id=7739
REGRESSION: Assertion failure loading acid2 test in -[WebCoreFrameBridge installInFrame:]

Tests: http/tests/misc/acid2.html, http/tests/misc/acid2-pixel.html

The gist of this change is that we must cancel the load from the Webkit side when we
realize we're switching to the fallback content. This is somewhat a temp workaround
since control of loading will be moving to WebCore.

  • WebView/WebMainResourceLoader.m: (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
12:12 Changeset [13614] by adele

Reviewed by John Sullivan.


  • rendering/render_line.cpp: (WebCore::InlineFlowBox::placeBoxesVertically): Change top and bottom positions only if childAffectsTopBottomPos is true.
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::paintLines): Redo a part of the patch for bug 7031 that wasn't committed with the rest of the patch.
11:16 Changeset [13613] by bdakin

Reviewed by Darin, landed by Beth.

Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8081
REGRESSION: Drop-down menu has gap at top

  • rendering/RenderBox.cpp: (WebCore::RenderBox::calcAbsoluteVerticalValues): When calculating the hypothetical vertical position in normal flow, skip table rows in the ancestor chain, since a table cell's Y position is relative to the table section, not the row.
11:03 Changeset [13612] by hyatt

FIx theme borders on win32.

10:51 Changeset [13611] by darin

LayoutTests:

  • updated results for tests that involve scrolling
  • editing/selection/focus_editable_html-expected.txt: Added expected scroll position.
  • fast/dom/focus-contenteditable-expected.txt: Ditto.
  • fast/overflow/scrollRevealButton.html: Ditto.
  • updated results for tests that involve new exception names
  • fast/dom/Element/attr-param-typechecking-expected.txt: Updated.
  • fast/dynamic/insertAdjacentElement-expected.txt: Updated.
  • fast/dynamic/insertAdjacentElement-expected.png: Added.
  • fast/dynamic/insertAdjacentElement-expected.checksum: Added.

WebCore:

Reviewed by John Sullivan.

  • khtml/ecma/kjs_binding.cpp: Added names for VALIDATION_ERR and TYPE_MISMATCH_ERR; new DOM Level 3 errors that need to be listed in the mapping from error code to error name.
  • dom/Element.idl: Removed comment from bad old days where we had to touch these files to make them rebuild.

WebKitTools:

Reviewed by John Sullivan.

  • added a "--reset-results" option to run-webkit-tests so you can reset the results without first deleting expected results
  • <rdar://problem/4185878> add scroll position to dumpRenderTree
  • Scripts/run-webkit-tests: Rearranged the code a bit to make the sequence more logical. Moved all the subroutines to the end of the file. Added a "--force" option.
  • DumpRenderTree/DumpRenderTree.m: (main): Added a new --dump-all-pixels option, used when forcing run-webkit-tests to generate new output for all tests it runs. (dump): Dump the scroll position if it's non-zero. Always dump the image when the --dump-all-pixels option is passed. Also tightened up the image dumping code and replaced the incorrect use of +[NSGraphicsContext saveGraphicsState] with code to save and restore the context.
  • DumpRenderTree/DumpRenderTree.h: Tweaked includes a bit and added (void).
  • DumpRenderTree/EventSendingController.m: Added now-needed include.
10:02 Changeset [13610] by darin

Reviewed by Geoff.

  • <rdar://problem/4395622> API: WebScriptObject.h incorrectly reports that -isSelectorExcludedFromWebScript returns NO by default
  • bindings/objc/WebScriptObject.h: Fixed comment.
09:40 Changeset [13609] by bdakin

Layout test for <rdar://problem/4472371> REGRESSION(417.9-TOT):
Focus ring around link in overflow:auto div isn't clipped to div

08:39 Changeset [13608] by darin

Removed all the tabs and cleared the "allow tabs" bit.

03:45 Changeset [13607] by hyatt

Fix my build bustage with themes.

03:32 Changeset [13606] by mjs
  • fixed Windows build breakage from previous change
  • platform/ScrollView.h:
  • platform/win/FontWin.cpp: (WebCore::Font::drawLineForText):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::scrollOffset): (WebCore::ScrollView::scrollBy):
03:24 Changeset [13605] by mjs

Reviewed by Eric.


  • various Point / Size related cleanup


First, I clarified the semantics of some operations to keep a
better distinction between IntPoint and IntSize:


  • platform/IntPoint.h: (WebCore::IntPoint::move): new convenience to move a point by separate x and y deltas. (WebCore::operator+=): You can't add a point to a point, you can only add a size to a point. (WebCore::operator+): ditto (WebCore::operator-): point - point = size; point - size = point (WebCore::operator-=): only allow subtracting a size for the mutating version
  • platform/IntRect.h: (WebCore::IntRect::move): tweaked to use IntPoint::move, also, move by an IntSize, not an IntPoint.
  • platform/IntSize.h: (WebCore::IntSize::shrunkTo): analog to expandedTo (WebCore::IntSize::clampNegativeToZero): a handy helper (WebCore::operator-): Added unary minus operator

Made the same changes for FloatPoint:


  • platform/FloatPoint.h: (WebCore::FloatPoint::move): (WebCore::operator+=): (WebCore::operator-=): (WebCore::operator+): (WebCore::operator-):
  • platform/FloatRect.h: (WebCore::FloatRect::move):
  • platform/FloatSize.h: (WebCore::operator-):

Then I changed a bunch of stuff to pass around IntPoint instead of separate x and y
coordinates. The main one was:


  • platform/ScrollView.h:
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::scrollOffset): new method, return an IntSize (WebCore::ScrollView::contentsToViewport): take and return an IntPoint (WebCore::ScrollView::viewportToContents): take and return an IntPoint
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::updateContents): handle things in terms of scrollOffset, not scrollPoint (WebCore::ScrollView::visibleContentRect): (WebCore::ScrollView::contentsX): (WebCore::ScrollView::contentsY): (WebCore::ScrollView::viewportToContents): (WebCore::ScrollView::contentsToViewport): (WebCore::scrollOffset): (WebCore::ScrollView::maximumScroll): (WebCore::ScrollView::scrollBy): (WebCore::ScrollView::updateScrollBars):

The rest is mainly updates for these changes.

  • bridge/mac/FrameMac.h:
  • bridge/mac/FrameMac.mm: (WebCore::FrameMac::eventMayStartDrag): (WebCore::FrameMac::dragHysteresisExceeded): (WebCore::FrameMac::handleMouseMoveEvent): (WebCore::FrameMac::mouseDown): (WebCore::FrameMac::shouldDragAutoNode): (WebCore::FrameMac::sendContextMenuEvent):
  • bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge isPointInsideSelection:]):
  • dom/EventTargetNode.cpp: (WebCore::EventTargetNode::dispatchMouseEvent): (WebCore::EventTargetNode::dispatchWheelEvent):
  • khtml/ecma/kjs_window.cpp: (KJS::WindowFunc::callAsFunction):
  • page/Frame.cpp: (WebCore::Frame::shouldDragAutoNode): (WebCore::Frame::isPointInsideSelection): (WebCore::Frame::selectClosestWordFromMouseEvent): (WebCore::Frame::handleMousePressEventDoubleClick): (WebCore::Frame::handleMousePressEventTripleClick): (WebCore::Frame::handleMousePressEventSingleClick): (WebCore::Frame::handleMouseMoveEventPart2): (WebCore::Frame::handleMouseReleaseEvent):
  • page/Frame.h:
  • page/FrameView.cpp: (WebCore::FrameView::dispatchDragEvent): (WebCore::FrameView::prepareMouseEvent): (WebCore::FrameView::handleWheelEvent):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollRectToVisible):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::draggableNode):
  • rendering/RenderObject.h: (WebCore::RenderObject::positionForPoint):
  • rendering/render_list.cpp: (WebCore::RenderListMarker::paint):
03:18 Changeset [13604] by mjs
  • fixed windows build
  • platform/win/TemporaryLinkStubs.cpp: (Widget::unlockDrawingFocus):
01:15 Changeset [13603] by eseidel

2006-03-31 Eric Seidel <eseidel@apple.com>

Reviewed by mjs.

A bit more code cleanup.

  • bindings/c/c_utility.cpp: (KJS::Bindings::convertValueToNPVariant):
  • bindings/objc/objc_runtime.mm: (convertValueToObjcObject):
  • bindings/objc/objc_utility.mm: (KJS::Bindings::convertValueToObjcValue):
  • kjs/function.cpp: (KJS::GlobalFuncImp::callAsFunction):
  • kjs/interpreter.cpp: (KJS::ExecState::lexicalInterpreter):
  • kjs/interpreter.h:
  • kjs/operations.cpp: (KJS::equal):
01:14 Changeset [13602] by eseidel

2006-03-31 Eric Seidel <eseidel@apple.com>

Reviewed by mjs.

A bit more code cleanup.

  • bridge/mac/WebCoreScriptDebugger.mm: (-[WebCoreScriptCallFrame evaluateWebScript:]):
  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::submit):
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setValue):
  • kwq/WebCoreTextField.mm: (-[KWQTextFieldController textView:shouldHandleEvent:]): (-[KWQSecureTextField selectText:]):
  • page/Frame.cpp: (WebCore::Frame::submitForm):
  • platform/Widget.h:
  • platform/mac/WidgetMac.mm:
  • rendering/render_frames.cpp: (WebCore::RenderFrameSet::userResize):

03/30/06:

23:39 Changeset [13601] by mjs

Reviewed by Eric.

  • bridge/mac/FrameMac.mm: (WebCore::FrameMac::wheelEvent): (WebCore::FrameMac::eventMayStartDrag): (WebCore::FrameMac::handleMouseMoveEvent): (WebCore::FrameMac::sendContextMenuEvent):
  • bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:allowShadowContent:]):
  • dom/Document.cpp: (WebCore::Document::elementFromPoint): (WebCore::Document::prepareMouseEvent):
  • dom/Document.h:
  • kwq/WebCoreAXObject.mm: (-[WebCoreAXObject doAXTextMarkerForPosition:]): (-[WebCoreAXObject accessibilityHitTest:]):
  • manual-tests/frame-hover.html: Added.
  • manual-tests/resources/hover-subframe-1.html: Added.
  • manual-tests/resources/hover-subframe-2.html: Added.
  • page/Frame.cpp: (WebCore::Frame::isPointInsideSelection):
  • page/FrameView.cpp: (WebCore::FrameView::prepareMouseEvent): (WebCore::FrameView::handleWheelEvent):
  • platform/IntRect.h: (WebCore::IntRect::contains):
  • rendering/RenderLayer.cpp: (WebCore::isSubframeCanvas): (WebCore::frameVisibleRect): (WebCore::RenderLayer::hitTest): (WebCore::shouldApplyImplicitCapture): (WebCore::RenderLayer::hitTestLayer):
  • rendering/RenderLayer.h:
23:37 Changeset [13600] by andersca

2006-03-31 Anders Carlsson <andersca@mac.com>

Reviewed by Maciej.

Add getter/setter GC tests.


  • fast/js/getter-setter-gc-expected.txt: Added.
  • fast/js/getter-setter-gc.html: Added.
  • fast/js/resources/getter-setter-gc.js: Added.
23:25 Changeset [13599] by darin

2006-03-30 Darin Adler <darin@apple.com>

  • updated pixel results to create a new baseline (on a 10.4.5 system)
22:52 Changeset [13598] by eseidel

2006-03-30 Eric Seidel <eseidel@apple.com>

Reviewed by anders.

Small code-style update.

  • kjs/operations.cpp: (KJS::isNaN): (KJS::isInf): (KJS::isPosInf): (KJS::isNegInf): (KJS::equal): (KJS::strictEqual): (KJS::relation): (KJS::maxInt): (KJS::minInt): (KJS::add): (KJS::mult):
22:48 Changeset [13597] by andersca

2006-03-31 Anders Carlsson <andersca@mac.com>

Reviewed by Maciej.

Make sure the GetterSetterImp objects are marked as well.


  • kjs/internal.cpp: (KJS::GetterSetterImp::mark): Call JSCell::mark().


21:49 Changeset [13596] by adele

LayoutTests:

Reviewed by Darin.

  • fast/repaint/flexible-box-overflow-expected.checksum: Added.
  • fast/repaint/flexible-box-overflow-expected.png: Added.
  • fast/repaint/flexible-box-overflow-expected.txt: Added.
  • fast/repaint/flexible-box-overflow-horizontal-expected.checksum: Added.
  • fast/repaint/flexible-box-overflow-horizontal-expected.png: Added.
  • fast/repaint/flexible-box-overflow-horizontal-expected.txt: Added.
  • fast/repaint/flexible-box-overflow-horizontal.html: Added.
  • fast/repaint/flexible-box-overflow.html: Added.

WebCore:

Tests: fast/repaint/flexible-box-overflow.html fast/repaint/flexible-box-overflow-horizontal.html

Reviewed by Darin.


  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlockChildren):
  • rendering/RenderFlexibleBox.cpp: (WebCore::FlexBoxIterator::next): (WebCore::RenderFlexibleBox::layoutHorizontalBox): Update top overflow when determining vertical positions. Update horizontal overflows after horizontal positions are determined. (WebCore::RenderFlexibleBox::layoutVerticalBox): Update left overflow when determining horizontal positions. Update vertical overflows after vertical positions are determined. (WebCore::RenderFlexibleBox::allowedChildFlex):
21:23 Changeset [13595] by adele

LayoutTests:

Reviewed by Darin.

  • fast/repaint: Added.
  • fast/repaint/inline-block-overflow-expected.checksum: Added.
  • fast/repaint/inline-block-overflow-expected.png: Added.
  • fast/repaint/inline-block-overflow-expected.txt: Added.
  • fast/repaint/inline-block-overflow.html: Added.
  • fast/repaint/text-shadow-expected.checksum: Added.
  • fast/repaint/text-shadow-expected.png: Added.
  • fast/repaint/text-shadow-expected.txt: Added.
  • fast/repaint/text-shadow-horizontal-expected.checksum: Added.
  • fast/repaint/text-shadow-horizontal-expected.png: Added.
  • fast/repaint/text-shadow-horizontal-expected.txt: Added.
  • fast/repaint/text-shadow-horizontal.html: Added.
  • fast/repaint/text-shadow.html: Added.

WebCore:

Tests: fast/repaint/text-shadow.html fast/repaint/text-shadow-horizontal.html

Reviewed by Darin.

  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint): Paint the text box if it is within the maximum possible horizontal shadow overflow of the damage rect.
  • rendering/InlineTextBox.h: Removed unused function checkVerticalPoint().
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::paintLines): Use the vertical overflows instead of the selection vertical bounds. (WebCore::RenderFlow::hitTestLines):
  • rendering/render_line.cpp: (WebCore::InlineFlowBox::placeBoxesHorizontally): Include overflow due to text shadow in leftPosition and rightPosition and keep track of the maximum horizontal shadow on the inline. (WebCore::InlineFlowBox::verticallyAlignBoxes): (WebCore::InlineFlowBox::placeBoxesVertically): Include overflow due to shadow and inline-blocks' overflow in topPosition and bottomPosition but not in the selection vertical bounds. (WebCore::RootInlineBox::selectionTop):
  • rendering/render_line.h: (WebCore::InlineFlowBox:::InlineRunBox): (WebCore::InlineFlowBox::setVerticalSelectionPositions): (WebCore::InlineFlowBox::maxHorizontalShadow): (WebCore::RootInlineBox::setVerticalSelectionPositions): (WebCore::RootInlineBox::selectionBottom): (WebCore::RootInlineBox::selectionHeight):
19:12 Changeset [13594] by hyatt

Land focus ring bug fix and win theme improvements.

17:21 Changeset [13593] by eseidel

2006-03-30 Eric Seidel <eseidel@apple.com>

Reviewed by ggaren.

  • kjs/nodes.h: Some various small style fixes.
17:19 Changeset [13592] by bdakin

Reviewed by Hyatt.

Fix for <rdar://problem/4472371> REGRESSION(417.9-TOT): Focus ring
around link in overflow:auto div isn't clipped to div

Focus rings around the children off overflow:auto divs were not
being appropriately clipped because they were being painted with
the div's outlineRect, when they should be painted separately. This
patch adds two new PaintPhases -- PaintPhaseSelfOutline and
PaintPhaseChildOutlines -- to address this problem.

This patch also changes the name of PaintAction back to PaintPhase.
Because Hyatt said so.

17:13 Changeset [13591] by eseidel

2006-03-30 Eric Seidel <eseidel@apple.com>

Reviewed by ggaren.

Clean-up style issues in node.h, remove redundant initializations.

  • kjs/nodes.h: (KJS::StatementNode::evaluate): (KJS::ArrayNode::ArrayNode): (KJS::ObjectLiteralNode::ObjectLiteralNode): (KJS::ArgumentsNode::ArgumentsNode): (KJS::NewExprNode::NewExprNode): (KJS::CaseClauseNode::CaseClauseNode): (KJS::FuncDeclNode::FuncDeclNode):
16:44 Changeset [13590] by tomernic

Manual test case for the Java aspect of <rdar://problem/4212626> REGRESSION: LIVECONNECT:
JavaScript type for Java Strings is function, not object

  • manual-tests/java-string-object-type.html: Added.
  • manual-tests/resources/StringTypeTest.class: Added.
  • manual-tests/resources/StringTypeTest.java: Added.
16:15 Changeset [13589] by tomernic

Reviewed by Geoff.

<rdar://problem/4212626> REGRESSION: LIVECONNECT: JavaScript type for Java Strings is function,
not object

  • bindings/runtime.h: (KJS::Bindings::Instance::implementsCall): New method. Returns false by default. Concrete subclasses can override this return true when the bound object may be called as a function. (KJS::Bindings::Instance::invokeDefaultMethod): Since bound objects are no longer treated as functions by default, we can return jsUndefined() here instead of in concrete subclasses that decide not to implement the default method functionality.
  • bindings/runtime_object.cpp: (RuntimeObjectImp::implementsCall): Don't assume that the bound object is a function; instead, let the object instance decide whether it is callable.
  • bindings/c/c_instance.h:
  • bindings/c/c_instance.cpp: (KJS::Bindings::CInstance::implementsCall): The object is callable if its class has an invokeDefault function.
  • bindings/objc/objc_instance.h:
  • bindings/objc/objc_instance.mm: (ObjcInstance::implementsCall): The object is callable if the ObjC instance responds to -invokeDefaultMethodWithArguments:.
  • bindings/jni/jni_instance.h:
  • bindings/jni/jni_instance.cpp: Moved bogus invokeDefaultMethod() to superclass.
16:13 Changeset [13588] by tomernic

Reviewed by Geoff.


Test case for issues surrounding <rdar://problem/4212626> REGRESSION: LIVECONNECT:
JavaScript type for Java Strings is function, not object

Unfortunately, I can only test C and ObjC instances; Java does not run correctly
in DumpRenderTree.

  • plugins/bindings-test/bindings-test.html: Added.
  • plugins/bindings-test/bindings-test-expected.txt: Added.
15:48 Changeset [13587] by tomernic

Reviewed by NOBODY (just fixing copyrights)

  • DumpRenderTree/ObjCPlugin.h: Fixed copyright.
  • DumpRenderTree/ObjCPlugin.m: ditto
  • DumpRenderTree/ObjCPluginFunction.h: ditto
  • DumpRenderTree/ObjCPluginFunction.m: ditto
15:30 Changeset [13586] by tomernic

Reviewed by Geoff.

  • DumpRenderTree/DumpRenderTree.m: (-[WaitUntilDoneDelegate webView:windowScriptObjectAvailable:]): Add "objCPlugin", "objCPluginFunction" properties to the window. objCPlugin simulates an Objective C object exposed to JS; objCPluginFunction simulates an Objective C method exposed to JS as a callable object.
  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Added ObjCPlugin.[hm], ObjCPluginFunction.[hm].
  • DumpRenderTree/ObjCPlugin.h: Added.
  • DumpRenderTree/ObjCPlugin.m: Added.
  • DumpRenderTree/ObjCPluginFunction.h: Added.
  • DumpRenderTree/ObjCPluginFunction.m: Added.
  • DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.c: Added a new method, "removeDefaultMethod", which removes the default method from the plugin object's class. The effect is that the plugin object is mutated from a callable function to a simple object. (pluginInvoke): Handle "removeDefaultMethod". (pluginInvokeDefault): Made the default method actually do something (return 1).
14:16 Changeset [13585] by eseidel

2006-03-30 Eric Seidel <eseidel@apple.com>

Reviewed by ggaren.

Remove WebFrame::viewImpl(), setMainFrame on page.

  • Spinneret/Spinneret/WebFrame.cpp: (WebKit::WebFrame::WebFrame):
  • Spinneret/Spinneret/WebFrame.h:
  • Spinneret/Spinneret/WebView.cpp: (WebKit::WebView::mouseMoved): (WebKit::WebView::mouseDown): (WebKit::WebView::mouseUp): (WebKit::WebView::mouseDoubleClick): (WebKit::WebViewWndProc):
13:55 Changeset [13584] by eseidel

2006-03-30 Eric Seidel <eseidel@apple.com>

Reviewed by hyatt.

Fix html editing input & basic form submission.

  • Spinneret/Spinneret/WebFrame.cpp: (WebKit::WebFrame::submitForm): (WebKit::WebFrame::loadURL):
  • Spinneret/Spinneret/WebFrame.h:
  • Spinneret/Spinneret/WebView.cpp: (WebKit::WebView::keyPress): (WebKit::WebViewWndProc):
13:44 Changeset [13583] by eseidel

2006-03-30 Eric Seidel <eseidel@apple.com>

Reviewed by hyatt.

Fix text form controls, and add basic submit support!

  • bridge/win/FrameWin.cpp: (WebCore::FrameWin::submitForm):
  • bridge/win/FrameWin.h:
  • platform/win/KeyEventWin.cpp: (WebCore::keyIdentifierForWindowsKeyCode): (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
  • platform/win/TemporaryLinkStubs.cpp: (FrameWin::incomingReferrer):
  • platform/win/TransferJobWin.cpp: (WebCore::TransferJob::start):
12:56 Changeset [13582] by adele

Reviewed by Justin.

  • editing/Selection.cpp: (WebCore::Selection::adjustForEditableContent): When searching for non-editable content, if the end of the selection is in a shadow tree, then we need to jump out of that first.
11:28 Changeset [13581] by justing

LayoutTests:

Reviewed by darin


http://bugzilla.opendarwin.org/show_bug.cgi?id=6989
REGRESSION: Plain-text mode needed for contenteditable area used in new text field

  • fast/forms/plaintext-mode-1-expected.txt: Added.
  • fast/forms/plaintext-mode-1.html: Added.
  • fast/forms/plaintext-mode-2-expected.checksum: Added.
  • fast/forms/plaintext-mode-2-expected.png: Added.
  • fast/forms/plaintext-mode-2-expected.txt: Added.
  • fast/forms/plaintext-mode-2.html: Added.

WebCore:

Reviewed by darin


http://bugzilla.opendarwin.org/show_bug.cgi?id=6989
REGRESSION: Plain-text mode needed for contenteditable area used in new text field

  • bridge/mac/WebCoreFrameBridge.h:
  • bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge isSelectionEditable]): (-[WebCoreFrameBridge isSelectionRichlyEditable]):
  • css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  • css/CSSValueKeywords.in:
  • css/cssparser.cpp: (WebCore::CSSParser::parseValue):
  • dom/Node.cpp: (WebCore::Node::isContentRichlyEditable):
  • dom/Node.h:
  • editing/EditCommand.cpp: (WebCore::EditCommand::apply):
  • editing/JSEditor.cpp:
  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment): (WebCore::ReplaceSelectionCommand::doApply):
  • editing/Selection.h: (WebCore::Selection::rootEditableElement): (WebCore::Selection::isContentEditable): (WebCore::Selection::isContentRichlyEditable):
  • editing/SelectionController.h: (WebCore::SelectionController::rootEditableElement): (WebCore::SelectionController::isContentEditable): (WebCore::SelectionController::isContentRichlyEditable):
  • html/HTMLElement.cpp: (WebCore::HTMLElement::isContentEditable): (WebCore::HTMLElement::contentEditable): (WebCore::HTMLElement::setContentEditable):
  • rendering/RenderTextField.cpp: (WebCore::RenderTextField::createDivStyle):
  • rendering/render_style.h: (WebCore::):

WebKit:

Reviewed by darin


http://bugzilla.opendarwin.org/show_bug.cgi?id=6989
REGRESSION: Plain-text mode needed for contenteditable area used in new text field

  • WebView/WebHTMLView.m: (-[WebHTMLView _canEditRichly]): Added. (-[WebHTMLView _canIncreaseSelectionListLevel]): Use _canEditRichly (-[WebHTMLView _canDecreaseSelectionListLevel]): Ditto. (-[WebHTMLView _increaseSelectionListLevel]): (-[WebHTMLView _decreaseSelectionListLevel]): (-[NSArray validateUserInterfaceItem:]): Split rich text editing actions off from ones that can be applied anywhere. (-[NSArray _applyStyleToSelection:withUndoAction:]): (-[NSArray _applyParagraphStyleToSelection:withUndoAction:]): (-[NSArray _alignSelectionUsingCSSValue:withUndoAction:]):
  • WebView/WebHTMLViewPrivate.h:
11:21 Changeset [13580] by harrison

Reviewed by Justin.

<rdar://problem/4444693> REGRESSION: Deleting empty lines causes quoted text to mistakenly get "unquoted"

  • editing/deleting/delete-block-merge-contents-022-expected.checksum: Added.
  • editing/deleting/delete-block-merge-contents-022-expected.png: Added.
  • editing/deleting/delete-block-merge-contents-022-expected.txt: Added.
  • editing/deleting/delete-block-merge-contents-022.html: Added.
  • editing/deleting/delete-block-merge-contents-023-expected.checksum: Added.
  • editing/deleting/delete-block-merge-contents-023-expected.png: Added.
  • editing/deleting/delete-block-merge-contents-023-expected.txt: Added.
  • editing/deleting/delete-block-merge-contents-023.html: Added.
  • editing/deleting/delete-block-merge-contents-024-expected.checksum: Added.
  • editing/deleting/delete-block-merge-contents-024-expected.png: Added.
  • editing/deleting/delete-block-merge-contents-024-expected.txt: Added.
  • editing/deleting/delete-block-merge-contents-024.html: Added.
11:20 Changeset [13579] by harrison

Reviewed by Justin.

<rdar://problem/4444693> REGRESSION: Deleting empty lines causes quoted text to mistakenly get "unquoted"

  • editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::handleGeneralDelete): Formatting. (WebCore::DeleteSelectionCommand::moveNodesAfterNode): Generalize check that preserves nesting when deleting to the beginning of an ancestor block.
  • editing/deleting/delete-block-merge-contents-022.html: Added.
  • editing/deleting/delete-block-merge-contents-023.html: Added.
  • editing/deleting/delete-block-merge-contents-024.html: Added.
10:40 Changeset [13578] by adele

LayoutTests:

Test: fast/forms/visual-hebrew-text-field.html

Reviewed by Darin.

  • css/html4.css: Set the -kthml-rtl-ordering property to "logical" for all input elements. This should help also with future conversions from AppKit to native.

WebCore:

Reviewed by Darin.

  • fast/forms/visual-hebrew-text-field-expected.checksum: Added.
  • fast/forms/visual-hebrew-text-field-expected.png: Added.
  • fast/forms/visual-hebrew-text-field-expected.txt: Added.
  • fast/forms/visual-hebrew-text-field.html: Added.
09:35 Changeset [13577] by ap

Reviewed by John Sullivan.

Test: fast/forms/empty-get.html

  • platform/KURL.cpp: (KURL::setQuery): Add a question mark for empty query strings, too.
02:55 Changeset [13576] by hyatt

Implement live scrolling on Win32.

02:53 Changeset [13575] by hyatt

Add some ifdefed out paint flashing code for Win32 to the scroll view's updateContents method.

02:11 Changeset [13574] by hyatt

Fix win32 sprintf method on string to not infinite loop. r=eric

02:02 Changeset [13573] by hyatt

Roll out the change to 7102.

01:23 Changeset [13572] by hyatt

Land support for JPEG image decoding on Win32.

03/29/06:

22:45 Changeset [13571] by justing

Fixed a bug number.

22:38 Changeset [13570] by justing

LayoutTests:

Reviewed by darin


<http://bugzilla.opendarwin.org/show_bug.cgi?id=8067>
REGRESSION: selectionRect includes next/previous replaced elements
<rdar://problems/4402375&4474871&4474871>


  • editing/selection/4402375-expected.checksum: Added.
  • editing/selection/4402375-expected.png: Added.
  • editing/selection/4402375-expected.txt: Added.
  • editing/selection/4402375.html: Added. Turned on dumpSelectionRect for these tests:
  • editing/selection/replaced-boundaries-1-expected.checksum:
  • editing/selection/replaced-boundaries-1-expected.png:
  • editing/selection/replaced-boundaries-1.html:
  • editing/selection/replaced-boundaries-2-expected.checksum:
  • editing/selection/replaced-boundaries-2-expected.png:
  • editing/selection/replaced-boundaries-2.html:
  • editing/selection/replaced-boundaries-3-expected.checksum:
  • editing/selection/replaced-boundaries-3-expected.png:
  • editing/selection/replaced-boundaries-3.html:
  • editing/selection/image-before-linebreak-expected.checksum: Added.
  • editing/selection/image-before-linebreak-expected.png: Added.
  • editing/selection/image-before-linebreak-expected.txt: Added.
  • editing/selection/image-before-linebreak.html: Added.

WebCore:

Reviewed by darin


<http://bugzilla.opendarwin.org/show_bug.cgi?id=8067>
REGRESSION: selectionRect includes next/previous replaced elements
Also fixes: <rdar://problems/4402375&4474871&4474871>


In the case where a selection starts at the end or ends at the start
of o, o->selectionState() != SelectionNone, but o isn't really selected.
Constraining the selection with upstream and downstream eliminates these
types of endpoints, but constraining endpoints that occur at the
start or end of a paragraph creates positions inside containers - some
of which the selection painting code isn't equipped to handle.

  • dom/Document.cpp: (WebCore::Document::updateSelection):
  • rendering/render_replaced.cpp: (WebCore::RenderReplaced::shouldPaint): (WebCore::RenderReplaced::selectionRect): (WebCore::RenderReplaced::setSelectionState): (WebCore::RenderWidget::setSelectionState):

WebKitTools:

Reviewed by darin

<rdar://problem/4402375>
REGRESSION (417.8-TOT): selectionRect sometimes includes adjacent images

Added an option to draw the selectionRect.

  • DumpRenderTree/DumpRenderTree.m: (dump): (+[LayoutTestController isSelectorExcludedFromWebScript:]): (-[LayoutTestController dumpSelectionRect]): (dumpRenderTree):
22:16 Changeset [13569] by adele

Justin pointed out that this test should use an old-style form element,
so I changed the test to use <input type="password">.

  • fast/events/event-sender-mouse-click-expected.txt:
  • fast/events/event-sender-mouse-click.html:
18:39 Changeset [13568] by ggaren

JavaScriptCore:

Reviewed by Darin.

  • JavaScriptCore side of fix for <rdar://problem/4308243> 8F36 Regression: crash in malloc_consolidate if you use a .PAC file

The crash was a result of threaded deallocation of thread-unsafe
objects. Pure JS objects are thread-safe because all JS execution
is synchronized through JSLock. However, JS objects that wrap WebCore
objects are thread-unsafe because JS and WebCore execution are not
synchronized. That unsafety comes into play when the collector
deallocates a JS object that wraps a WebCore object, thus causing the
WebCore object to be deallocated.

The solution here is to have each JSCell know whether it is safe to
collect on a non-main thread, and to avoid collecting unsafe cells
when on a non-main thread.

We don't have a way to test PAC files yet, so there's no test
attached to this patch.

  • kjs/collector.cpp: (KJS::Collector::collect):
(1) Added the test "currentThreadIsMainThread

imp->m_destructorIsThreadSafe".

  • kjs/protect.h: (KJS::gcProtectNullTolerant): (KJS::gcUnprotectNullTolerant):
  • kjs/value.h: (KJS::JSCell::JSCell): The bools here must be bitfields, otherwise m_destructorIsThreadSafe becomes another whole word, ruining the collector optimizations we've made based on the size of a JSObject.
  • kxmlcore/FastMalloc.cpp: (KXMLCore::currentThreadIsMainThread): (KXMLCore::fastMallocRegisterThread):
  • kxmlcore/FastMalloc.h:

WebCore:

Reviewed by Hyatt.

  • css/html4.css: Added default style info for new text fields.
  • rendering/RenderTextField.cpp: (WebCore::RenderTextField::createDivStyle): Added an extra 1px of padding on the left & right to match Win IE & the latest Mozilla. (WebCore::RenderTextField::updateFromElement): Removed some outdated comments. Cleaned up the way we add text nodes to the div. (WebCore::RenderTextField::setSelectionStart): Tweaked selection code to better match Mozilla behavior. (WebCore::RenderTextField::setSelectionEnd): ditto. (WebCore::RenderTextField::select): Cleaned this up by having it call setSelectionRange. (WebCore::RenderTextField::setSelectionRange): Calls updateLayout now in case this is called in an onload handler, and no other layout has occurred. (WebCore::RenderTextField::calcMinMaxWidth): Use floatWidth to calculate the width of the "0" character.
  • rendering/RenderTheme.cpp: (WebCore::RenderTheme::isControlStyled): If the text field's specified border is different from the default border, then treat the control as styled, so the engine knows to turn off the aqua appearance.
  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintTextField): return false so the engine knows not to try to draw the border. (WebCore::RenderThemeMac::adjustTextFieldStyle): text field style info has been moved to html4.css. We also add intrinsic margins here if the font size is large enough.
  • html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLTextFieldInnerElement::defaultEventHandler): No longer check for appearance. All text fields with m_type == TEXT will use the new implementation.
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::isKeyboardFocusable): ditto. (WebCore::HTMLInputElement::focus): ditto. (WebCore::HTMLInputElement::selectionStart): ditto. (WebCore::HTMLInputElement::selectionEnd): ditto. (WebCore::HTMLInputElement::setSelectionStart): ditto. (WebCore::HTMLInputElement::setSelectionEnd): ditto. (WebCore::HTMLInputElement::select): ditto. (WebCore::HTMLInputElement::setSelectionRange): ditto. (WebCore::HTMLInputElement::createRenderer): ditto. (WebCore::HTMLInputElement::defaultEventHandler): ditto. (WebCore::HTMLInputElement::isMouseFocusable): Added. Old text fields relied on the widget to provide a focus policy. A text field that is focusable should be mouse focusable, and shouldn't need to ask the base class.
  • html/HTMLInputElement.h: Added isMouseFocusable.
  • html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::isMouseFocusable): Removed specific text field code since that is now done in HTMLInputElement::isMouseFocusable.
  • dom/Document.cpp: (WebCore::Document::clearSelectionIfNeeded): Check that the new selection is does not have a shadowAncestorNode that is focused.
17:49 Changeset [13567] by adele

LayoutTests:

Reviewed by Hyatt.

Updated tests for: http://bugzilla.opendarwin.org/show_bug.cgi?id=6986
Switch to use new text field implementation for <input type="text">

The new text field implementation uses RenderTextFielda instead of RenderLineEdits,
and this accounts for many of the changes here.

Also, background color and border properties are now dumped as part of the RenderTextField.

There is also an outstanding bug that affects many tests that make a selection in a text field.
http://bugzilla.opendarwin.org/show_bug.cgi?id=8068
Editing delegate should not be notified when selection change involved new text field

Now that we support box-sizing, we count border and padding when calculating size, so some
of the tests that specify border size have different text field sizes.

  • editing/selection/3690703-2-expected.checksum:
  • editing/selection/3690703-2-expected.png:
  • editing/selection/3690703-2-expected.txt:
  • editing/selection/3690703-expected.checksum:
  • editing/selection/3690703-expected.png:
  • editing/selection/3690703-expected.txt:
  • editing/selection/3690719-expected.checksum:
  • editing/selection/3690719-expected.png:
  • editing/selection/3690719-expected.txt:
  • fast/block/float/032-expected.checksum:
  • fast/block/float/032-expected.png:
  • fast/block/float/032-expected.txt:
  • fast/block/margin-collapse/103-expected.txt:
  • fast/events/div-focus-expected.txt:
  • fast/events/event-sender-mouse-click-expected.txt:
  • fast/forms/access-key-expected.txt:
  • fast/forms/element-by-name-expected.txt:
  • fast/forms/focus-expected.txt:
  • fast/forms/form-element-geometry-expected.checksum:
  • fast/forms/form-element-geometry-expected.png:
  • fast/forms/form-element-geometry-expected.txt:
  • fast/forms/indeterminate-expected.checksum:
  • fast/forms/indeterminate-expected.png:
  • fast/forms/input-appearance-bkcolor-expected.checksum:
  • fast/forms/input-appearance-bkcolor-expected.png:
  • fast/forms/input-appearance-bkcolor-expected.txt:
  • fast/forms/input-appearance-default-bkcolor-expected.checksum:
  • fast/forms/input-appearance-default-bkcolor-expected.png:
  • fast/forms/input-appearance-default-bkcolor-expected.txt:
  • fast/forms/input-appearance-disabled-expected.checksum:
  • fast/forms/input-appearance-disabled-expected.png:
  • fast/forms/input-appearance-disabled-expected.txt:
  • fast/forms/input-appearance-focus-expected.checksum:
  • fast/forms/input-appearance-focus-expected.png:
  • fast/forms/input-appearance-focus-expected.txt:
  • fast/forms/input-appearance-maxlength-expected.txt:
  • fast/forms/input-appearance-maxlength.html:
  • fast/forms/input-appearance-minWidth-expected.checksum:
  • fast/forms/input-appearance-minWidth-expected.png:
  • fast/forms/input-appearance-minWidth-expected.txt:
  • fast/forms/input-appearance-preventDefault-expected.checksum:
  • fast/forms/input-appearance-preventDefault-expected.png:
  • fast/forms/input-appearance-preventDefault-expected.txt:
  • fast/forms/input-appearance-selection-expected.checksum:
  • fast/forms/input-appearance-selection-expected.png:
  • fast/forms/input-appearance-selection-expected.txt:
  • fast/forms/input-appearance-visibility-expected.checksum:
  • fast/forms/input-appearance-visibility-expected.png:
  • fast/forms/input-appearance-visibility-expected.txt:
  • fast/forms/input-appearance-width-expected.checksum:
  • fast/forms/input-appearance-width-expected.png:
  • fast/forms/input-appearance-width-expected.txt:
  • fast/forms/input-baseline-expected.checksum:
  • fast/forms/input-baseline-expected.png:
  • fast/forms/input-baseline-expected.txt:
  • fast/forms/input-changing-value-expected.txt:
  • fast/forms/input-value-expected.txt:
  • fast/forms/input-width-expected.txt:
  • fast/forms/legend-access-key-expected.txt:
  • fast/forms/selection-functions-expected.txt:
  • fast/forms/textfield-focus-out-expected.txt:
  • fast/replaced/width100percent-expected.checksum:
  • fast/replaced/width100percent-expected.png:
  • fast/replaced/width100percent-expected.txt:
  • fast/table/003-expected.txt:
  • fast/table/colspanMinWidth-expected.txt:
  • fast/table/spanOverlapRepaint-expected.txt:
  • tables/mozilla/bugs/45621-expected.txt:
  • tables/mozilla/bugs/bug1188-expected.checksum:
  • tables/mozilla/bugs/bug1188-expected.png:
  • tables/mozilla/bugs/bug1188-expected.txt:
  • tables/mozilla/bugs/bug12384-expected.checksum:
  • tables/mozilla/bugs/bug12384-expected.png:
  • tables/mozilla/bugs/bug12384-expected.txt:
  • tables/mozilla/bugs/bug18359-expected.checksum:
  • tables/mozilla/bugs/bug18359-expected.png:
  • tables/mozilla/bugs/bug18359-expected.txt:
  • tables/mozilla/bugs/bug24200-expected.txt:
  • tables/mozilla/bugs/bug2479-3-expected.txt:
  • tables/mozilla/bugs/bug2479-4-expected.txt:
  • tables/mozilla/bugs/bug28928-expected.txt:
  • tables/mozilla/bugs/bug4382-expected.txt:
  • tables/mozilla/bugs/bug4527-expected.txt:
  • tables/mozilla/bugs/bug46368-1-expected.txt:
  • tables/mozilla/bugs/bug46368-2-expected.txt:
  • tables/mozilla/bugs/bug51037-expected.txt:
  • tables/mozilla/bugs/bug55545-expected.checksum:
  • tables/mozilla/bugs/bug55545-expected.png:
  • tables/mozilla/bugs/bug55545-expected.txt:
  • tables/mozilla/bugs/bug59354-expected.txt:
  • tables/mozilla/bugs/bug7342-expected.checksum:
  • tables/mozilla/bugs/bug7342-expected.png:
  • tables/mozilla/bugs/bug7342-expected.txt:
  • tables/mozilla/bugs/bug96334-expected.checksum:
  • tables/mozilla/bugs/bug96334-expected.png:
  • tables/mozilla/bugs/bug96334-expected.txt:
  • tables/mozilla/bugs/bug99948-expected.txt:
  • tables/mozilla/dom/tableDom-expected.txt:
  • tables/mozilla/other/move_row-expected.txt:
  • tables/mozilla_expected_failures/bugs/bug2479-2-expected.checksum:
  • tables/mozilla_expected_failures/bugs/bug2479-2-expected.png:
  • tables/mozilla_expected_failures/bugs/bug2479-2-expected.txt:
  • tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
  • tables/mozilla_expected_failures/bugs/bug45621-expected.checksum:
  • tables/mozilla_expected_failures/bugs/bug45621-expected.png:
  • tables/mozilla_expected_failures/bugs/bug45621-expected.txt:
  • tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt:

WebCore:

Reviewed by Hyatt.

  • css/html4.css: Added default style info for new text fields.
  • rendering/RenderTextField.cpp: (WebCore::RenderTextField::createDivStyle): Added an extra 1px of padding on the left & right to match Win IE & the latest Mozilla. (WebCore::RenderTextField::updateFromElement): Removed some outdated comments. Cleaned up the way we add text nodes to the div. (WebCore::RenderTextField::setSelectionStart): Tweaked selection code to better match Mozilla behavior. (WebCore::RenderTextField::setSelectionEnd): ditto. (WebCore::RenderTextField::select): Cleaned this up by having it call setSelectionRange. (WebCore::RenderTextField::setSelectionRange): Calls updateLayout now in case this is called in an onload handler, and no other layout has occurred. (WebCore::RenderTextField::calcMinMaxWidth): Use floatWidth to calculate the width of the "0" character.
  • rendering/RenderTheme.cpp: (WebCore::RenderTheme::isControlStyled): If the text field's specified border is different from the default border, then treat the control as styled, so the engine knows to turn off the aqua appearance.
  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintTextField): return false so the engine knows not to try to draw the border. (WebCore::RenderThemeMac::adjustTextFieldStyle): text field style info has been moved to html4.css. We also add intrinsic margins here if the font size is large enough.
  • html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLTextFieldInnerElement::defaultEventHandler): No longer check for appearance. All text fields with m_type == TEXT will use the new implementation.
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::isKeyboardFocusable): ditto. (WebCore::HTMLInputElement::focus): ditto. (WebCore::HTMLInputElement::selectionStart): ditto. (WebCore::HTMLInputElement::selectionEnd): ditto. (WebCore::HTMLInputElement::setSelectionStart): ditto. (WebCore::HTMLInputElement::setSelectionEnd): ditto. (WebCore::HTMLInputElement::select): ditto. (WebCore::HTMLInputElement::setSelectionRange): ditto. (WebCore::HTMLInputElement::createRenderer): ditto. (WebCore::HTMLInputElement::defaultEventHandler): ditto. (WebCore::HTMLInputElement::isMouseFocusable): Added. Old text fields relied on the widget to provide a focus policy. A text field that is focusable should be mouse focusable, and shouldn't need to ask the base class.
  • html/HTMLInputElement.h: Added isMouseFocusable.
  • html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::isMouseFocusable): Removed specific text field code since that is now done in HTMLInputElement::isMouseFocusable.
  • dom/Document.cpp: (WebCore::Document::clearSelectionIfNeeded): Check that the new selection is does not have a shadowAncestorNode that is focused.
15:47 Changeset [13566] by darin

LayoutTests:

Reviewed by Eric.

  • svg/custom/empty-merge-expected.checksum: Added.
  • svg/custom/empty-merge-expected.png: Added.
  • svg/custom/empty-merge-expected.txt: Added.
  • svg/custom/empty-merge.svg: Added.

WebCore:

Reviewed by Eric.

  • fix some code that is not handling references correctly for GC

Test: svg/custom/empty-merge.svg

  • kcanvas/device/quartz/KCanvasFilterQuartz.mm: (WebCore::KCanvasFilterQuartz::KCanvasFilterQuartz): Use KWQRetainNSRelease to properly retain a reference to an Objective-C object in a C++ class. (WebCore::KCanvasFilterQuartz::~KCanvasFilterQuartz): Use KWQRelease instead of release. (WebCore::KCanvasFilterQuartz::prepareFilter): Use KWQRetain instead of retain. (WebCore::KCanvasFilterQuartz::applyFilter): Use KWQRelease instead of release. (WebCore::KCanvasFilterQuartz::imageForName): Use objectForKey: instead of valueForKey: on the dictionary to sidestep a bug in valueForKey: on empty strings and because what we're doing with a dictionary here has nothing to do with key value encoding.
  • kcanvas/device/quartz/KRenderingDeviceQuartz.mm: (WebCore::KRenderingDeviceContextQuartz::~KRenderingDeviceContextQuartz): Use KWQRelease instead of release. (WebCore::KRenderingDeviceContextQuartz::nsGraphicsContext): Use KWQRetain instead of retain to properly retain a reference to an Objective-C object in a C++ class.
  • platform/mac/ImageMac.mm: (WebCore::Image::invalidateNativeData): Use CFRelease instead of release. (WebCore::Image::getNSImage): Use KWQRetainNSRelease to properly retain a reference to an Objective-C object in a C++ class.
15:42 Changeset [13565] by darin

Reviewed by Tim Hatcher.

  • make the global initializer check work on Xcode 2.1 (although it's better on 2.2)
  • Scripts/check-for-global-initializers: Use NATIVE_ARCH if there is no CURRENT_ARCH.
14:13 Changeset [13564] by tomernic

Reviewed by John Sullivan.

<rdar://problem/4495316> REGRESSION (420+): After page has loaded, spinning progress indicator is displayed on
tab at versiontracker.com

  • WebView/WebFrame.m: (-[WebFrame _receivedMainResourceError:]): Call -_clientRedirectCancelledOrFinished: here so that the frame load delegate is notified that the redirect's status has changed, if there was a redirect. The frame load delegate may have saved some state about the redirect in its -webView:willPerformClientRedirectToURL:delay:fireDate:forFrame:. Since we are definitely not going to use this provisional resource, as it was cancelled, notify the frame load delegate that the redirect has ended. The fix for 4432562 was similar to this, but only took care of the case where the redirect load was actually committed to the frame. The new call to -_clientRedirectCancelledOrFinished: handles the case where the redirect load was successful, but was not committed. This happens with downloads.
14:11 Changeset [13563] by ggaren

LayoutTests:

  • Layout test for <rdar://problem/4477126> TOT REGRESSION: with release build, maps.google.com zoom slider always zooms fully out
  • fast/events/mouseclick-target-and-positioning-expected.txt: Added.
  • fast/events/mouseclick-target-and-positioning.html: Added.

WebCore:

Reviewed by Darin.

  • Fixed <rdar://problem/4477126> TOT REGRESSION: with release build, maps.google.com zoom slider always zooms fully out

There were 2 problems: (1) A syntax error in the UIEvent IDL file
prevented some things from showing up in the bindings; (2)
MouseEvent had a duplicate isSimulated property that shadowed
MouseRelatedEvent's isSimulated property, and MouseEvent failed to
initialize MouseRelatedEvent's isSimulated property.

  • dom/UIEvent.idl:
  • dom/dom2_eventsimpl.cpp: (WebCore::MouseRelatedEvent::MouseRelatedEvent): (WebCore::MouseEvent::MouseEvent):
  • dom/dom2_eventsimpl.h:
13:42 Changeset [13562] by tomernic

Reviewed by Darin.

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setInputType): If the input type is dynamically changed, reevaluate whether the element maintains its state (this decision is based on the input's type). Fixes an assertion error when leaving a page with a text field that had been dynamically changed to a password field.
13:41 Changeset [13561] by sullivan

Reviewed by Tim Omernick.


  • fixed these bugs: <rdar://problem/4483806> REGRESSION (417.8-TOT): PDFs don't scale correctly with auto-size (5356) <rdar://problem/3874856> Safari PDF display should be full width by default rather than sized to show the entire page
  • WebView/WebPDFRepresentation.m: (-[WebPDFRepresentation finishedLoadingWithDataSource:]): Let the WebPDFView handle setting the document, because that's the best time to apply the sizing-related preferences.


  • WebView/WebPDFView.h: eliminated firstLayoutDone ivar and -PDFSubview public method; added -setPDFDocument:


  • WebView/WebPDFView.m: (-[WebPDFView initWithFrame:]): eliminate use of obsolete firstLayoutDone ivar (-[WebPDFView _applyPDFDefaults]): renamed from _readPDFDefaults for clarity (-[WebPDFView layout]): removed code that applied the preferences here. This was too early to handle auto-sizing correctly, because -layout can be called before the document exists, and calling setAutoSize:YES at that point confuses PDFView into setting the scale factor to 20 (the maximum). (-[WebPDFView setPDFDocument:]): New method, does what WebPDFRepresentation used to do and also applies the preferences here. This is a good place to apply them because the document is guaranteed to now exist (of course). (-[WebPDFView PDFSubview]): Moved this into a new FileInternal category because it's still needed by another class in this file but no longer needs to be public.


  • WebView/WebPreferences.m: (+[WebPreferences initialize]): Change WebKitPDFScaleFactorPreferenceKey to 0, which represents auto-size. This fixes 3874856, but wasn't feasible until 4483806 was fixed.
09:37 Changeset [13560] by ap

Reviewed by Darin.

Gets the number of shift/reduce and reduce/reduce conflicts down from 37+4 to 7+0.

I have fixed the reduce/reduce conflicts, then noticed that two of the fixes
were already made in KDE tree (the other two are different because declaration
blocks are described in quite different ways). Shift/reduce fixes are just
merged from KDE, r332845 by Michael Matz.

  • css/CSSGrammar.y:
07:57 Changeset [13559] by ap

Reviewed by Darin.

Test: fast/css/error-in-last-decl.html

  • css/CSSGrammar.y: Added a rule for the case when the last CSS rule has a syntax error, and doesn't end with a semicolon.
07:09 Changeset [13558] by darin

2006-03-29 Darin Adler <darin@apple.com>

Reviewed by Anders.

  • another cut at fixing the buildbot
  • generate-derived-sources: Fix if statement that was always following the Windows case. I believe this is the main problem.
  • WebCore.xcodeproj/project.pbxproj: Added CharsetData.h and added CharsetData.cpp to the target.
  • WebCore.vcproj/WebCore/WebCore.vcproj: Similar changes.
  • platform/CharsetData.h: Added.
  • platform/CharsetNames.cpp: Moved the actual character set data out into a separate source file instead of include a .cpp file.
  • platform/make-charset-table.pl: Changed to generate a file that can stand alone.
06:29 Changeset [13557] by darin

2006-03-29 Darin Adler <darin@apple.com>

  • an attempt to fix the buildbot
  • platform/mac/mac-encodings.txt: Touched this file so the character encodings files will be regenerated.
03:22 Changeset [13556] by darin

2006-03-29 Darin Adler <darin@apple.com>

  • a quick cut at fixing the windows build
  • WebCore.vcproj/WebCore/WebCore.vcproj: Added a few recently-added files.
01:38 Changeset [13555] by mjs

LayoutTests:

Reviewed by Anders.


Test cases for Element.contains, including testing fix for
<rdar://problem/4405353> JavaScript flickers popups onmouseover

  • fast/dom/Element/contains-method-expected.txt: Added.
  • fast/dom/Element/contains-method.html: Added.
  • fast/dom/Element/resources/contains-method.js: Added.
  • fast/events/capture-on-target.html:

WebCore:

Reviewed by Anders.


  • fixed <rdar://problem/4454976> repro crash in -[NSTextView(NSSharing) setSelectedRanges:affinity:stillSelecting:] when navigating


Also fixed other issues with contains. The problem that caused the bug was:

  • contains should return true for the element itself, unlike isAncestor


Other problems I fixed:

  • contains shouldn't be present on non-Element nodes
  • contains should return false when passed a non-Element node
  • contains should return false when passed a non-Node
  • bindings/scripts/CodeGeneratorJS.pm: Handle Element as a parameter.
  • dom/Element.cpp: (WebCore::Element::contains): Added new implementation.
  • dom/Element.h: Added prototype for contains.
  • dom/Element.idl: Added IDL declaration for contains.
  • khtml/ecma/kjs_dom.cpp: (KJS::DOMNodeProtoFunc::callAsFunction): Added old wrong contains().

03/28/06:

21:11 Changeset [13554] by bdakin

Fixing typo from last commit.

21:07 Changeset [13553] by bdakin

Reviewed by Maciej

Fix for <rdar://problem/4493218> repro crash in
khtml::RenderBlock::repaintFloatingDescendants with giant
cellspacing value

Some callers of CSSPrimitiveValue::computeLength() expect an int,
and others a short. This patch splits computerLength() into
computeIntLength() and computeShortLength() so that the appropriate
bounds can be checked.

20:23 Changeset [13552] by ap

Reviewed by Maciej.

Test: fast/dom/space-to-text.html

  • dom/CharacterData.cpp: (WebCore::CharacterData::setData): Create a renderer if it's needed, but missing. (WebCore::CharacterData::appendData): Ditto. (WebCore::CharacterData::insertData): Ditto. (WebCore::CharacterData::replaceData): Ditto.
19:02 Changeset [13551] by tomernic

Reviewed by Maciej.

<rdar://problem/4454976> repro crash in -[NSTextView(NSSharing) setSelectedRanges:affinity:stillSelecting:] when navigating
to another page while selecting inside textarea inside iframe

  • kwq/WebCoreTextArea.mm: (-[WebCoreTextArea mouseDown:]): Guard super's -mouseDown: with calls to Widget::beforeMouseDown() and Widget::afterMouseDown(). Other widgets do this to protect against being removed from the page and deallocated while handling mouse down events. (-[WebCoreTextView mouseDown:]): ditto
  • manual-tests/textarea-iframe-navigation.html: Added.
  • manual-tests/textarea-iframe-navigation2.html: Added. Manual test case for this fix.
18:48 Changeset [13550] by eseidel

2006-03-28 Eric Seidel <eseidel@apple.com>

Reviewed by darin.

<rdar://problem/4402170> CrashTracer: 499 crashes in Safari at com.apple.WebCore: DOM::DocumentImpl::open + 16

  • dom/Document.cpp: (WebCore::Document::write): Fix unreproducible infinite recursion.
18:46 Changeset [13549] by eseidel

2006-03-28 Eric Seidel <eseidel@apple.com>

Reviewed by darin.

Remove global initializers.

  • kcanvas/device/quartz/KCanvasFilterQuartz.mm:
  • ksvg2/svg/SVGAngle.cpp:
  • ksvg2/svg/SVGColor.cpp:
  • ksvg2/svg/SVGLength.cpp:
18:35 Changeset [13548] by eseidel

2006-03-28 Eric Seidel <eseidel@apple.com>

Reviewed by darin.

Switch UIEvent, MouseEvent and KeyboardEvent over to
be new auto-generated bindings.
http://bugzilla.opendarwin.org/show_bug.cgi?id=7928

Updated test: fast/dom/prototype-chain.html

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/objc/DOMEvents.mm: (-[DOMEvent ::]): (-[DOMMouseEvent initMouseEvent:::::::::::::::]):
  • bindings/scripts/CodeGeneratorJS.pm:
  • dom/EventTargetNode.cpp: (WebCore::EventTargetNode::dispatchMouseEvent):
  • dom/KeyboardEvent.idl: Added.
  • dom/MouseEvent.idl: Added.
  • dom/UIEvent.idl: Added.
  • dom/WheelEvent.idl:
  • dom/dom2_eventsimpl.cpp: (WebCore::MouseEvent::MouseEvent): (WebCore::MouseEvent::initMouseEvent):
  • dom/dom2_eventsimpl.h: (WebCore::MouseEvent::relatedTarget): (WebCore::MouseEvent::clipboard):
  • generate-derived-sources:
  • khtml/ecma/kjs_dom.cpp: (KJS::toEventTargetNode):
  • khtml/ecma/kjs_dom.h:
  • khtml/ecma/kjs_events.cpp: (KJS::toJS):
  • khtml/ecma/kjs_events.h:
18:23 Changeset [13547] by darin

Reviewed by Eric.

  • replace getDocument with document in a few places that Geoff missed
  • WebCore.xcodeproj/project.pbxproj:
  • dom/Attr.cpp: (WebCore::Attr::createTextChild): (WebCore::Attr::setValue): (WebCore::Attr::cloneNode):
  • dom/Attribute.cpp: (WebCore::Attribute::createAttrIfNeeded):
  • dom/Element.cpp: (WebCore::Element::cloneNode): (WebCore::inHTMLDocument): (WebCore::Element::setAttribute): (WebCore::Element::setAttributeMap): (WebCore::Element::createStyleForRenderer): (WebCore::Element::createRenderer): (WebCore::Element::recalcStyle): (WebCore::Element::dispatchAttrRemovalEvent): (WebCore::Element::dispatchAttrAdditionEvent): (WebCore::Element::updateId): (WebCore::Element::removeAttributeNode): (WebCore::Element::focus): (WebCore::Element::blur):
  • dom/NamedAttrMap.cpp: (WebCore::inHTMLDocument): (WebCore::NamedAttrMap::setNamedItem):
  • dom/NamedMappedAttrMap.cpp: (WebCore::NamedMappedAttrMap::parseClassAttribute):
  • dom/StyledElement.cpp: (WebCore::StyledElement::createInlineStyleDecl): (WebCore::StyledElement::parseMappedAttribute): (WebCore::StyledElement::createMappedDecl):
  • added missing include that seems to be breaking the Windows build
  • platform/String.cpp: Include <stdarg.h>.
18:10 Changeset [13546] by eseidel

2006-03-25 Eric Seidel <eseidel@apple.com>

Reviewed by adele.

Make plug-ins test dump as test.

  • fast/dom/Window/Plug-ins-expected.txt:
  • fast/dom/Window/Plug-ins.html:
18:01 Changeset [13545] by thatcher

Reviewed by Darin.

Exit gracefully if $ENV{'CURRENT_ARCH'} is undefined. Rolling out my previous change.

  • Scripts/check-for-global-initializers:
17:50 Changeset [13544] by thatcher

Build fix. Turn off uninitialized warnings for the first block of code.

  • Scripts/check-for-global-initializers:
16:21 Changeset [13543] by ggaren

Reviewed by Beth.

  • Global replace of getDocument() with document(). Darin suggested this in his review of my EventTargetNode patch. It matches the style of methods like ownerDocument().
  • Changed getDocument() to document(); changed data member document to m_document; changed stack variable document to doc.
  • bindings/objc/DOM.mm: (-[DOMNode ownerDocument]): (-[DOMNode KJS::Bindings::]): (-[DOMElement _getURLAttribute:]):
  • bindings/objc/DOMHTML.mm: (-[DOMHTMLElement titleDisplayString]): (-[DOMHTMLInputElement altDisplayString]): (-[DOMHTMLAnchorElement blur]): (-[DOMHTMLAnchorElement focus]): (-[DOMHTMLImageElement altDisplayString]): (-[DOMHTMLAppletElement altDisplayString]): (-[DOMHTMLAreaElement altDisplayString]):
  • bindings/objc/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]):
  • bridge/mac/FrameMac.mm: (WebCore::FrameMac::attributedString):
  • bridge/mac/FrameViewMac.mm: (WebCore::FrameView::updateDashboardRegions):
  • bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge initSubframeWithRenderer:]): (-[WebCoreFrameBridge setSelectedDOMRange:affinity:closeTyping:]): (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]):
  • css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  • css/css_base.cpp: (WebCore::StyleBase::baseURL):
  • css/css_stylesheetimpl.cpp: (WebCore::CSSStyleSheet::CSSStyleSheet):
  • css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::initForStyleResolve): (WebCore::CSSStyleSelector::canShareStyleWithElement): (WebCore::CSSStyleSelector::locateSharedStyle): (WebCore::CSSStyleSelector::createStyleForElement): (WebCore::CSSStyleSelector::createPseudoStyleForElement): (WebCore::CSSStyleSelector::adjustRenderStyle): (WebCore::CSSStyleSelector::styleRulesForElement): (WebCore::CSSStyleSelector::checkOneSelector): (WebCore::CSSStyleSelector::applyProperty): (WebCore::CSSStyleSelector::mapBackgroundImage): (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
  • dom/AbstractView.cpp: (WebCore::AbstractView::AbstractView):
  • dom/CDATASection.cpp: (WebCore::CDATASection::cloneNode): (WebCore::CDATASection::createNew):
  • dom/CharacterData.cpp: (WebCore::CharacterData::setData): (WebCore::CharacterData::insertData): (WebCore::CharacterData::deleteData): (WebCore::CharacterData::replaceData): (WebCore::CharacterData::dispatchModifiedEvent):
  • dom/Comment.cpp: (WebCore::Comment::cloneNode):
  • dom/ContainerNode.cpp: (WebCore::ContainerNode::insertBefore): (WebCore::ContainerNode::replaceChild): (WebCore::ContainerNode::removeChild): (WebCore::ContainerNode::appendChild): (WebCore::ContainerNode::addChild): (WebCore::ContainerNode::getUpperLeftCorner): (WebCore::dispatchChildInsertionEvents): (WebCore::dispatchChildRemovalEvents):
  • dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument):
  • dom/Document.cpp: (WebCore::Document::Document): (WebCore::Document::~Document): (WebCore::Document::createDocumentFragment): (WebCore::Document::adoptNode): (WebCore::Document::createElementNS): (WebCore::Document::nodeAbsIndex): (WebCore::Document::setFocusNode): (WebCore::Document::topDocument):
  • dom/DocumentFragment.cpp: (WebCore::DocumentFragment::cloneNode):
  • dom/EventTargetNode.cpp: (WebCore::EventTargetNode::~EventTargetNode): (WebCore::EventTargetNode::insertedIntoDocument): (WebCore::EventTargetNode::removedFromDocument): (WebCore::EventTargetNode::addEventListener): (WebCore::EventTargetNode::removeEventListener): (WebCore::EventTargetNode::dispatchGenericEvent): (WebCore::EventTargetNode::dispatchEvent): (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent): (WebCore::EventTargetNode::dispatchWindowEvent): (WebCore::EventTargetNode::dispatchUIEvent): (WebCore::EventTargetNode::dispatchKeyEvent): (WebCore::EventTargetNode::dispatchMouseEvent): (WebCore::EventTargetNode::dispatchWheelEvent): (WebCore::EventTargetNode::removeHTMLEventListener):
  • dom/Node.cpp: (WebCore::Node::Node): (WebCore::Node::setDocument): (WebCore::Node::setChanged): (WebCore::Node::checkSetPrefix): (WebCore::Node::checkAddChild): (WebCore::Node::attach): (WebCore::Node::detach): (WebCore::Node::createRendererIfNeeded): (WebCore::Node::rendererIsNeeded): (WebCore::Node::getElementsByTagNameNS): (WebCore::Node::ownerDocument): (WebCore::Node::setTextContent):
  • dom/Node.h: (WebCore::Node::document): (WebCore::Node::inDocument):
  • dom/NodeList.cpp: (WebCore::NodeList::itemById):
  • dom/Position.cpp: (WebCore::Position::documentElement):
  • dom/Range.cpp: (WebCore::Range::commonAncestorContainer): (WebCore::Range::setStart): (WebCore::Range::setEnd): (WebCore::Range::compareBoundaryPoints): (WebCore::Range::insertNode): (WebCore::Range::text): (WebCore::Range::setStartAfter): (WebCore::Range::setEndBefore): (WebCore::Range::setEndAfter): (WebCore::Range::surroundContents): (WebCore::Range::setStartBefore): (WebCore::rangeOfContents):
  • dom/Text.cpp: (WebCore::Text::cloneNode): (WebCore::Text::createNew):
  • dom/dom2_eventsimpl.cpp: (WebCore::MouseRelatedEvent::receivedTarget):
  • dom/dom2_traversalimpl.cpp: (WebCore::NodeIterator::NodeIterator):
  • dom/dom_elementimpl.cpp: (WebCore::Attribute::createAttrIfNeeded): (WebCore::Attr::createTextChild): (WebCore::Attr::setValue): (WebCore::Attr::cloneNode): (WebCore::Element::cloneNode): (WebCore::inHTMLDocument): (WebCore::Element::setAttribute): (WebCore::Element::setAttributeMap): (WebCore::Element::createStyleForRenderer): (WebCore::Element::createRenderer): (WebCore::Element::recalcStyle): (WebCore::Element::dispatchAttrRemovalEvent): (WebCore::Element::dispatchAttrAdditionEvent): (WebCore::Element::updateId): (WebCore::Element::removeAttributeNode): (WebCore::Element::focus): (WebCore::Element::blur): (WebCore::NamedAttrMap::setNamedItem): (WebCore::NamedMappedAttrMap::parseClassAttribute): (WebCore::StyledElement::createInlineStyleDecl): (WebCore::StyledElement::parseMappedAttribute): (WebCore::StyledElement::createMappedDecl):
  • dom/dom_xmlimpl.cpp: (WebCore::EntityReference::cloneNode): (WebCore::ProcessingInstruction::cloneNode): (WebCore::ProcessingInstruction::checkStyleSheet): (WebCore::ProcessingInstruction::sheetLoaded): (WebCore::ProcessingInstruction::setStyleSheet):
  • dom/xml_tokenizer.cpp: (WebCore::XMLTokenizer::XMLTokenizer):
  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment): (WebCore::ReplaceSelectionCommand::fixupNodeStyles): (WebCore::styleForNode):
  • editing/Selection.cpp: (WebCore::Selection::toRange):
  • editing/SelectionController.cpp: (WebCore::SelectionController::~SelectionController): (WebCore::SelectionController::setSelection): (WebCore::SelectionController::xPosForVerticalArrowNavigation): (WebCore::SelectionController::frame): (WebCore::SelectionController::layout): (WebCore::SelectionController::needsCaretRepaint):
  • editing/TextIterator.cpp: (WebCore::TextIterator::range): (WebCore::SimplifiedBackwardsTextIterator::range):
  • editing/VisiblePosition.cpp: (WebCore::VisiblePosition::init): (WebCore::makeRange):
  • editing/markup.cpp: (WebCore::startMarkup): (WebCore::shouldSelfClose): (WebCore::markup): (WebCore::createMarkup):
  • editing/visible_units.cpp: (WebCore::previousBoundary): (WebCore::nextBoundary): (WebCore::previousLinePosition): (WebCore::nextLinePosition): (WebCore::inSameDocument):
  • html/HTMLCollection.cpp: (WebCore::HTMLCollection::HTMLCollection): (WebCore::HTMLCollection::resetCollectionInfo):
  • html/HTMLElement.cpp: (WebCore::HTMLElement::nodeName): (WebCore::HTMLElement::cloneNode): (WebCore::HTMLElement::innerText): (WebCore::HTMLElement::createContextualFragment): (WebCore::HTMLElement::setInnerText): (WebCore::HTMLElement::setOuterText): (WebCore::HTMLElement::isContentEditable): (WebCore::HTMLElement::contentEditable): (WebCore::HTMLElement::toString): (WebCore::HTMLElement::childAllowed): (WebCore::HTMLElement::setHTMLEventListener):
  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formWouldHaveSecureSubmission): (WebCore::HTMLFormElement::attach): (WebCore::HTMLFormElement::insertedIntoDocument): (WebCore::HTMLFormElement::removedFromDocument): (WebCore::HTMLFormElement::formData): (WebCore::HTMLFormElement::prepareSubmit): (WebCore::HTMLFormElement::submit): (WebCore::HTMLFormElement::reset): (WebCore::HTMLFormElement::parseMappedAttribute): (WebCore::HTMLFormElement::registerFormElement): (WebCore::HTMLFormElement::removeFormElement):
  • html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::attach): (WebCore::HTMLGenericFormElement::insertedIntoTree): (WebCore::HTMLGenericFormElement::isKeyboardFocusable):
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::~HTMLInputElement): (WebCore::HTMLInputElement::isKeyboardFocusable): (WebCore::HTMLInputElement::focus): (WebCore::HTMLInputElement::setInputType): (WebCore::HTMLInputElement::parseMappedAttribute): (WebCore::HTMLInputElement::attach): (WebCore::HTMLInputElement::setChecked): (WebCore::HTMLInputElement::preDispatchEventHandler): (WebCore::HTMLInputElement::defaultEventHandler): (WebCore::HTMLInputElement::src):
  • html/HTMLKeygenElement.cpp: (WebCore::HTMLKeygenElement::appendFormData):
  • html/HTMLLabelElement.cpp: (WebCore::HTMLLabelElement::formElement):
  • html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::text): (WebCore::HTMLOptionElement::setText):
  • html/HTMLParser.cpp: (WebCore::HTMLParser::HTMLParser):
  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::~HTMLSelectElement):
  • html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::~HTMLTextAreaElement): (WebCore::HTMLTextAreaElement::setDefaultValue):
  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::HTMLTokenizer):
  • html/html_baseimpl.cpp: (WebCore::HTMLBodyElement::createLinkDecl): (WebCore::HTMLBodyElement::mapToEntry): (WebCore::HTMLBodyElement::parseMappedAttribute): (WebCore::HTMLBodyElement::insertedIntoDocument): (WebCore::HTMLFrameElement::isURLAllowed): (WebCore::HTMLFrameElement::openURL): (WebCore::HTMLFrameElement::attach): (WebCore::HTMLFrameElement::close): (WebCore::HTMLFrameElement::contentFrame): (WebCore::HTMLFrameElement::frameWidth): (WebCore::HTMLFrameElement::frameHeight): (WebCore::HTMLFrameSetElement::parseMappedAttribute): (WebCore::HTMLIFrameElement::parseMappedAttribute): (WebCore::HTMLIFrameElement::insertedIntoDocument): (WebCore::HTMLIFrameElement::removedFromDocument): (WebCore::HTMLIFrameElement::attach): (WebCore::HTMLIFrameElement::src):
  • html/html_blockimpl.cpp: (WebCore::HTMLParagraphElement::checkDTD):
  • html/html_headimpl.cpp: (WebCore::HTMLBaseElement::removedFromDocument): (WebCore::HTMLBaseElement::process): (WebCore::HTMLLinkElement::setDisabledState): (WebCore::HTMLLinkElement::parseMappedAttribute): (WebCore::HTMLLinkElement::process): (WebCore::HTMLLinkElement::setStyleSheet): (WebCore::HTMLLinkElement::sheetLoaded): (WebCore::HTMLLinkElement::href): (WebCore::HTMLMetaElement::process): (WebCore::HTMLScriptElement::childrenChanged): (WebCore::HTMLScriptElement::parseMappedAttribute): (WebCore::HTMLScriptElement::insertedIntoDocument): (WebCore::HTMLScriptElement::evaluateScript): (WebCore::HTMLScriptElement::setText): (WebCore::HTMLScriptElement::src): (WebCore::HTMLStyleElement::insertedIntoDocument): (WebCore::HTMLStyleElement::removedFromDocument): (WebCore::HTMLStyleElement::childrenChanged): (WebCore::HTMLStyleElement::sheetLoaded): (WebCore::HTMLTitleElement::insertedIntoDocument): (WebCore::HTMLTitleElement::removedFromDocument): (WebCore::HTMLTitleElement::childrenChanged): (WebCore::HTMLTitleElement::setText):
  • html/html_imageimpl.cpp: (WebCore::HTMLImageLoader::~HTMLImageLoader): (WebCore::HTMLImageLoader::updateFromElement): (WebCore::HTMLImageLoader::notifyFinished): (WebCore::HTMLImageElement::parseMappedAttribute): (WebCore::HTMLImageElement::insertedIntoDocument): (WebCore::HTMLImageElement::removedFromDocument): (WebCore::HTMLImageElement::width): (WebCore::HTMLImageElement::height): (WebCore::HTMLImageElement::src): (WebCore::HTMLMapElement::~HTMLMapElement): (WebCore::HTMLMapElement::parseMappedAttribute): (WebCore::HTMLAreaElement::href):
  • html/html_inlineimpl.cpp: (WebCore::HTMLAnchorElement::isKeyboardFocusable): (WebCore::HTMLAnchorElement::defaultEventHandler): (WebCore::HTMLAnchorElement::href): (WebCore::HTMLAnchorElement::blur): (WebCore::HTMLAnchorElement::focus):
  • html/html_objectimpl.cpp: (WebCore::HTMLAppletElement::parseMappedAttribute): (WebCore::HTMLAppletElement::insertedIntoDocument): (WebCore::HTMLAppletElement::removedFromDocument): (WebCore::HTMLAppletElement::createRenderer): (WebCore::HTMLAppletElement::getAppletInstance): (WebCore::HTMLEmbedElement::getEmbedInstance): (WebCore::HTMLEmbedElement::parseMappedAttribute): (WebCore::HTMLEmbedElement::rendererIsNeeded): (WebCore::HTMLEmbedElement::insertedIntoDocument): (WebCore::HTMLEmbedElement::removedFromDocument): (WebCore::HTMLObjectElement::getObjectInstance): (WebCore::HTMLObjectElement::parseMappedAttribute): (WebCore::HTMLObjectElement::rendererIsNeeded): (WebCore::HTMLObjectElement::insertedIntoDocument): (WebCore::HTMLObjectElement::removedFromDocument): (WebCore::HTMLObjectElement::updateDocNamedItem): (WebCore::HTMLParamElement::parseMappedAttribute):
  • html/html_tableimpl.cpp: (WebCore::HTMLTableElement::createTHead): (WebCore::HTMLTableElement::createTFoot): (WebCore::HTMLTableElement::createCaption): (WebCore::HTMLTableElement::insertRow): (WebCore::HTMLTableElement::addChild): (WebCore::HTMLTableElement::mapToEntry): (WebCore::HTMLTableElement::parseMappedAttribute): (WebCore::HTMLTableElement::additionalAttributeStyleDecl): (WebCore::HTMLTableElement::getSharedCellDecl): (WebCore::HTMLTablePartElement::mapToEntry): (WebCore::HTMLTablePartElement::parseMappedAttribute): (WebCore::HTMLTableSectionElement::insertRow): (WebCore::HTMLTableRowElement::insertCell):
  • khtml/ecma/kjs_dom.cpp: (KJS::DOMNode::~DOMNode): (KJS::DOMNode::mark): (KJS::DOMElement::getValueProperty): (KJS::DOMElementProtoFunc::callAsFunction): (KJS::checkNodeSecurity): (KJS::toJS):
  • khtml/ecma/kjs_html.cpp: (KJS::JSHTMLElement::implementsCall): (KJS::JSHTMLElement::bodyGetter): (KJS::JSHTMLElement::anchorGetter): (KJS::JSHTMLElement::getValueProperty): (KJS::JSHTMLElement::bodySetter):
  • khtml/ecma/kjs_traversal.cpp: (KJS::JSNodeFilterCondition::acceptNode):
  • khtml/ecma/kjs_views.cpp: (KJS::DOMAbstractViewProtoFunc::callAsFunction):
  • khtml/xbl/xbl_binding.cpp: (XBL::XBLBindingChain::failed): (XBL::m_nextBinding): (XBL::XBLBinding::setXBLDocument):
  • khtml/xbl/xbl_protobinding.cpp: (XBL::XBLPrototypeBinding::document):
  • khtml/xsl/XSLStyleSheet.cpp: (WebCore::XSLStyleSheet::XSLStyleSheet):
  • khtml/xsl/XSLTProcessor.cpp: (WebCore::XSLTProcessor::createDocumentFromSource): (WebCore::xmlDocPtrFromNode): (WebCore::XSLTProcessor::transformToString):
  • ksvg2/svg/SVGAElement.cpp: (SVGAElement::defaultEventHandler):
  • ksvg2/svg/SVGAnimateColorElement.cpp: (SVGAnimateColorElement::handleTimerEvent):
  • ksvg2/svg/SVGAnimateElement.cpp: (SVGAnimateElement::handleTimerEvent):
  • ksvg2/svg/SVGAnimateTransformElement.cpp: (SVGAnimateTransformElement::handleTimerEvent):
  • ksvg2/svg/SVGAnimationElement.cpp: (SVGAnimationElement::closeRenderer):
  • ksvg2/svg/SVGClipPathElement.cpp: (SVGClipPathElement::canvasResource):
  • ksvg2/svg/SVGElement.cpp: (WebCore::SVGElement::addSVGEventListener):
  • ksvg2/svg/SVGGradientElement.cpp: (SVGGradientElement::rebuildStops):
  • ksvg2/svg/SVGHelper.cpp: (SVGHelper::PercentageOfViewport):
  • ksvg2/svg/SVGLinearGradientElement.cpp: (SVGLinearGradientElement::buildGradient):
  • ksvg2/svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
  • ksvg2/svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::buildGradient):
  • ksvg2/svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::setCurrentScale): (WebCore::SVGSVGElement::addSVGWindowEventListner):
  • ksvg2/svg/SVGSetElement.cpp: (SVGSetElement::handleTimerEvent):
  • ksvg2/svg/SVGStyleElement.cpp: (SVGStyleElement::childrenChanged):
  • ksvg2/svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::canvas):
  • ksvg2/svg/SVGTitleElement.cpp: (WebCore::SVGTitleElement::closeRenderer): (WebCore::SVGTitleElement::insertedIntoDocument): (WebCore::SVGTitleElement::removedFromDocument): (WebCore::SVGTitleElement::childrenChanged):
  • ksvg2/svg/SVGUseElement.cpp: (SVGUseElement::closeRenderer):
  • kwq/WebCoreAXObject.mm: (-[WebCoreAXObject accessibilityPerformAction:]): (-[WebCoreAXObject accessibilityAttributeValue:]):
  • page/Frame.cpp: (WebCore::parentFromOwnerRenderer): (WebCore::Frame::frameForNode): (WebCore::Frame::clearDocumentFocus):
  • page/FrameView.cpp: (WebCore::FrameView::dispatchMouseEvent):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::setStyle):
  • rendering/RenderCanvas.cpp: (WebCore::RenderCanvas::RenderCanvas): (WebCore::RenderCanvas::paintBoxDecorations): (WebCore::RenderCanvas::repaintViewRectangle):
  • rendering/RenderImage.cpp: (WebCore::RenderImage::imageMap):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::setHasHorizontalScrollbar): (WebCore::RenderLayer::setHasVerticalScrollbar):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::createObject): (WebCore::RenderObject::RenderObject): (WebCore::RenderObject::isRoot): (WebCore::RenderObject::backslashAsCurrencySymbol):
  • rendering/RenderObject.h: (WebCore::RenderObject::document):
  • rendering/RenderTheme.cpp: (WebCore::RenderTheme::isFocused):
  • rendering/render_applet.cpp: (WebCore::RenderApplet::createWidgetIfNecessary):
  • rendering/render_replaced.cpp: (WebCore::RenderWidget::RenderWidget): (WebCore::RenderWidget::focusIn): (WebCore::RenderWidget::focusOut):
16:11 Changeset [13542] by darin

JavaScriptGlue:

Reviewed by Geoff.

  • added a build step that checks for init routines
  • JavaScriptGlue.xcodeproj/project.pbxproj: Added a custom build phase that invokes the check-for-global-initializers script.

WebCore:

Reviewed by Geoff.

  • added a build step that checks for init routines
  • WebCore.xcodeproj/project.pbxproj: Deleted now-unused custom build rule that was replaced by the generate-derived-sources script a while back. Added a custom build phase that invokes the check-for-global-initializers script.

WebKit:

Reviewed by Geoff.

  • added a build step that checks for init routines
  • WebKit.xcodeproj/project.pbxproj: Added a custom build phase that invokes the check-for-global-initializers script.
16:09 Changeset [13541] by darin

Reviewed by Geoff.

  • change some code that resulted in init routines on Mac OS X -- if the framework has init routines it will use memory and slow down applications that link with WebKit even in cases where those applications don't use WebKit
  • kjs/date_object.cpp: Changed constants that were derived by multiplying other constants to use immediate numbers instead. Apparently, double constant expressions of the type we had here are evaluated at load time.
  • kjs/list.cpp: Can't use OwnArrayPtr in ListImp because of the global instances of ListImp, so go back to using a plain old pointer. (KJS::List::List): Set overflow to 0 when initializing ListImp. (KJS::List::release): Replace a clear call with a delete and explicit set to 0. (KJS::List::append): Use raw pointers, and do a delete [] instead of finessing it with a swap of OwnArrayPtr. (KJS::List::copyFrom): Remove now-unneeded get(). (KJS::List::copyTail): Ditto.
  • kjs/ustring.cpp: Changed UString::Rep::empty initializer a bit so that it doesn't get a static initializer routine. Had to get rid of one level of constant to get the compiler to understand it could initialize without any code.
  • added a build step that checks for init routines
  • JavaScriptCore.xcodeproj/project.pbxproj: Deleted now-unused custom build rule that was replaced by the generate-derived-sources script a while back. Added a custom build phase that invokes the check-for-global-initializers script.
16:03 Changeset [13540] by thatcher

New tag.

15:59 Changeset [13539] by darin

Reviewed by Geoff.

  • Scripts/check-for-global-initializers: Added.
15:58 Changeset [13538] by thatcher

Old tag that was never used. Will replace

15:52 Changeset [13537] by thatcher

Reviewed by Eric.

fixes <rdar://problem/4458539> Unable to include Security(public) and WebKit(private) headers

  • bindings/npapi.h: added #defines after the #ifndefs
15:37 Changeset [13536] by thatcher

Reviewed by Maciej.

Moved the derived sources script to an agregate target. Fixes internal builds.

  • WebCore.xcodeproj/project.pbxproj:
  • generate-derived-sources: was missing a use of $CREATE_HASH_TABLE
13:36 Changeset [13535] by eseidel

2006-03-28 Eric Seidel <eseidel@apple.com>

Reviewed by hyatt.


Build fix.

  • dom/xml_tokenizer.cpp: (WebCore::XMLTokenizer::error):
13:07 Changeset [13534] by tomernic

Reviewed by Darin.

<rdar://problem/3694090> -[WebBaseNetscapePluginView finalize] is incorrect; design change needed

  • Plugins/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView initWithFrame:]): Don't observe preferences changes here -- we only want to observe preferences while the view is installed in the view hierarchy. Plugins will appropriately start and stop themselves when added to or removed from a window. (-[WebBaseNetscapePluginView dealloc]): Don't remove observers here -- they should have been removed when the view was removed from its window. (-[WebBaseNetscapePluginView finalize]): ditto (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): Stop observing preferences when the view is removed from its window. (-[WebBaseNetscapePluginView viewDidMoveToWindow]): Start observing preferences when the view is added to a window.
11:07 Changeset [13533] by darin

Reviewed, tweaked, landed by Darin.

  • dom/Attribute.h: Add declarations for classes so that the friend declaration is not the only one. There's an issue with either an earlier or later version of gcc, which is why we see this only on certain platforms.
  • dom/Attr.cpp: (WebCore::Attr::Attr): (WebCore::Attr::~Attr):
  • dom/NamedAttrMap.cpp: (WebCore::NamedAttrMap::clearAttributes): (WebCore::NamedAttrMap::addAttribute): (WebCore::NamedAttrMap::removeAttribute): Change places where practical to use attr() instead of m_impl in the vain hope of removing the need for the friend declarations.
10:34 Changeset [13532] by eseidel

2006-03-27 Eric Seidel <eseidel@apple.com>

Reviewed by darin.

Replace more DeprecatedString with String.
Add String::sprintf() and String::number()
http://bugzilla.opendarwin.org/show_bug.cgi?id=8009

  • bindings/objc/DOMHTML.mm: (-[DOMHTMLTextAreaElement setCols:]): (-[DOMHTMLTextAreaElement setRows:]): (-[DOMHTMLOListElement setStart:]): (-[DOMHTMLPreElement setWidth:]): (-[DOMHTMLImageElement setHeight:]): (-[DOMHTMLImageElement setHspace:]): (-[DOMHTMLImageElement setVspace:]): (-[DOMHTMLImageElement setWidth:]): (-[DOMHTMLObjectElement setHspace:]): (-[DOMHTMLObjectElement setTabIndex:]): (-[DOMHTMLObjectElement setVspace:]): (-[DOMHTMLAppletElement setHspace:]): (-[DOMHTMLAppletElement setVspace:]): (-[DOMHTMLAreaElement setTabIndex:]): (-[DOMHTMLTableColElement setSpan:]): (-[DOMHTMLTableCellElement setColSpan:]): (-[DOMHTMLTableCellElement setRowSpan:]): (-[DOMHTMLEmbedElement setHeight:]): (-[DOMHTMLEmbedElement setWidth:]):
  • bindings/objc/DOMInternal.mm: (String::String):
  • css/CSSComputedStyleDeclaration.cpp: (WebCore::numberAsString): (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  • css/css_valueimpl.cpp: (WebCore::CSSMutableStyleDeclaration::getPropertyValue): (WebCore::CSSPrimitiveValue::cssText):
  • dom/Position.cpp: (WebCore::Position::formatForDebugger):
  • dom/Range.cpp: (WebCore::Range::formatForDebugger):
  • dom/StyledElement.cpp: (WebCore::StyledElement::addCSSColor):
  • dom/xml_tokenizer.cpp: (WebCore::XMLTokenizer::error):
  • editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
  • html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::findMatchingState): (WebCore::HTMLGenericFormElement::setTabIndex):
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setMaxLength): (WebCore::HTMLInputElement::setSize):
  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::setSize):
  • html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::setCols): (WebCore::HTMLTextAreaElement::setRows):
  • html/html_baseimpl.cpp: (WebCore::HTMLBodyElement::insertedIntoDocument):
  • html/html_blockimpl.cpp: (WebCore::HTMLHRElement::parseMappedAttribute): (WebCore::HTMLPreElement::setWidth):
  • html/html_imageimpl.cpp: (WebCore::HTMLImageElement::width): (WebCore::HTMLImageElement::height): (WebCore::HTMLImageElement::setBorder): (WebCore::HTMLImageElement::setHeight): (WebCore::HTMLImageElement::setHspace): (WebCore::HTMLImageElement::setVspace): (WebCore::HTMLImageElement::setWidth): (WebCore::HTMLAreaElement::setTabIndex):
  • html/html_inlineimpl.cpp: (WebCore::HTMLAnchorElement::setTabIndex):
  • html/html_listimpl.cpp: (WebCore::HTMLOListElement::setStart): (WebCore::HTMLLIElement::setValue):
  • html/html_objectimpl.cpp: (WebCore::HTMLObjectElement::setTabIndex):
  • html/html_tableimpl.cpp: (WebCore::HTMLTableElement::parseMappedAttribute): (WebCore::HTMLTableCellElement::setColSpan): (WebCore::HTMLTableCellElement::setRowSpan): (WebCore::HTMLTableColElement::setSpan):
  • khtml/ecma/kjs_window.cpp: (KJS::Window::isSafeScript): (KJS::Location::getValueProperty):
  • ksvg2/css/SVGCSSParser.cpp: (WebCore::CSSParser::parseSVGPaint): (WebCore::CSSParser::parseSVGColor):
  • ksvg2/svg/SVGAngle.cpp: (SVGAngle::setValueAsString): (SVGAngle::valueAsString):
  • ksvg2/svg/SVGAngle.h:
  • ksvg2/svg/SVGLength.cpp: (SVGLength::setValueAsString): (SVGLength::valueAsString):
  • ksvg2/svg/SVGLength.h:
  • ksvg2/svg/SVGPathSeg.h: (WebCore::SVGPathSeg::pathSegTypeAsLetter): (WebCore::SVGPathSeg::toString):
  • ksvg2/svg/SVGPathSegArc.h: (WebCore::SVGPathSegArcAbs::pathSegTypeAsLetter): (WebCore::SVGPathSegArcAbs::toString): (WebCore::SVGPathSegArcRel::pathSegTypeAsLetter): (WebCore::SVGPathSegArcRel::toString):
  • ksvg2/svg/SVGPathSegClosePath.h: (WebCore::SVGPathSegClosePath::pathSegTypeAsLetter): (WebCore::SVGPathSegClosePath::toString):
  • ksvg2/svg/SVGPathSegCurvetoCubic.h: (WebCore::SVGPathSegCurvetoCubicAbs::pathSegTypeAsLetter): (WebCore::SVGPathSegCurvetoCubicAbs::toString): (WebCore::SVGPathSegCurvetoCubicRel::pathSegTypeAsLetter): (WebCore::SVGPathSegCurvetoCubicRel::toString):
  • ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h: (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegTypeAsLetter): (WebCore::SVGPathSegCurvetoCubicSmoothAbs::toString): (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegTypeAsLetter): (WebCore::SVGPathSegCurvetoCubicSmoothRel::toString):
  • ksvg2/svg/SVGPathSegCurvetoQuadratic.h: (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegTypeAsLetter): (WebCore::SVGPathSegCurvetoQuadraticAbs::toString): (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegTypeAsLetter): (WebCore::SVGPathSegCurvetoQuadraticRel::toString):
  • ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h: (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegTypeAsLetter): (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::toString): (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegTypeAsLetter): (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::toString):
  • ksvg2/svg/SVGPathSegLineto.h: (WebCore::SVGPathSegLinetoAbs::pathSegTypeAsLetter): (WebCore::SVGPathSegLinetoAbs::toString): (WebCore::SVGPathSegLinetoRel::pathSegTypeAsLetter): (WebCore::SVGPathSegLinetoRel::toString):
  • ksvg2/svg/SVGPathSegLinetoHorizontal.h: (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegTypeAsLetter): (WebCore::SVGPathSegLinetoHorizontalAbs::toString): (WebCore::SVGPathSegLinetoHorizontalRel::pathSegTypeAsLetter): (WebCore::SVGPathSegLinetoHorizontalRel::toString):
  • ksvg2/svg/SVGPathSegLinetoVertical.h: (WebCore::SVGPathSegLinetoVerticalAbs::pathSegTypeAsLetter): (WebCore::SVGPathSegLinetoVerticalAbs::toString): (WebCore::SVGPathSegLinetoVerticalRel::pathSegTypeAsLetter): (WebCore::SVGPathSegLinetoVerticalRel::toString):
  • ksvg2/svg/SVGPathSegMoveto.h: (WebCore::SVGPathSegMovetoAbs::pathSegTypeAsLetter): (WebCore::SVGPathSegMovetoAbs::toString): (WebCore::SVGPathSegMovetoRel::pathSegTypeAsLetter): (WebCore::SVGPathSegMovetoRel::toString):
  • ksvg2/svg/SVGPolyElement.cpp: (SVGPolyElement::notifyAttributeChange):
  • ksvg2/svg/SVGStopElement.cpp: (SVGStopElement::parseMappedAttribute):
  • ksvg2/svg/SVGUseElement.cpp: (SVGUseElement::closeRenderer):
  • platform/AtomicString.h: (WebCore::AtomicString::toInt):
  • platform/Color.cpp: (WebCore::Color::name):
  • platform/Color.h:
  • platform/PlatformString.h:
  • platform/String.cpp: (WebCore::String::sprintf): (WebCore::String::number):
  • platform/StringImpl.cpp: (WebCore::StringImpl::StringImpl): (WebCore::StringImpl::initWithChar): (WebCore::StringImpl::initWithQChar): (WebCore::StringImpl::containsOnlyWhitespace):
  • platform/mac/KeyEventMac.mm: (WebCore::keyIdentifierForKeyEvent):
  • rendering/render_form.cpp: (WebCore::RenderSlider::updateFromElement): (WebCore::RenderSlider::valueChanged):
03:30 Changeset [13531] by justing

LayoutTests:

Reviewed by mjs


<http://bugzilla.opendarwin.org/show_bug.cgi?id=7152>
REGRESSION: Select All does not highlight table if it's last in the document

  • editing/selection/7152-1-expected.checksum: Added.
  • editing/selection/7152-1-expected.png: Added.
  • editing/selection/7152-1-expected.txt: Added.
  • editing/selection/7152-1.html: Added.
  • editing/selection/7152-2-expected.checksum: Added.
  • editing/selection/7152-2-expected.png: Added.
  • editing/selection/7152-2-expected.txt: Added.
  • editing/selection/7152-2.html: Added.

WebCore:

Reviewed by mjs


<http://bugzilla.opendarwin.org/attachment.cgi?id=7322>
REGRESSION: Select All does not highlight table if it's last in the document


  • rendering/RenderCanvas.cpp: (WebCore::rendererAfterPosition): Added, returns the render object that a pre-order traversal over a range of render objects ending at the input position should stop at. (WebCore::RenderCanvas::selectionRect): Stop at rendererAfterPosition(m_selectionEnd, m_selectionEndPos), moved code for traversal to nextInPreOrder. Also, the travesal doesn't need to fetch the next object before doing work, since the work it does will never change what the next object in the traversal will be. (WebCore::RenderCanvas::setSelection): Ditto.
  • rendering/RenderObject.cpp: (WebCore::RenderObject::nextInPreOrder): Renamed from nextRenderer, cleaned up the logic a little. (WebCore::RenderObject::nextInPreOrderAfterChildren): Added. (WebCore::RenderObject::previousInPreOrder): Renamed from previousRenderer. (WebCore::RenderObject::childAt): Added.
  • rendering/RenderObject.h:
  • rendering/RenderText.cpp: (WebCore::RenderText::setText):
02:37 Changeset [13530] by mjs

Reviewed by Justin.


  • fixed <rdar://problem/4483851> REGRESSION: parse mode gets set to strict after going back from non-HTML content (7102)

Reshuffled things to arrange for m_doc to be cleared somewhat earlier than before.


  • page/Frame.cpp: (WebCore::Frame::didOpenURL): (WebCore::Frame::receivedFirstData): (WebCore::Frame::begin): (WebCore::Frame::endIfNotLoading):
  • manual-tests/accidental-strict-mode.html: Added. I don't think an automated test is possible.
01:33 Changeset [13529] by justing

Forgot to check in these results earlier today.

01:02 Changeset [13528] by eseidel

2006-03-28 Eric Seidel <eseidel@apple.com>

Reviewed by mjs.

Convert a couple DeprecatedPtrList<T> to Vector<T*> and HashSet<T*>

  • bridge/mac/FrameMac.h:
  • bridge/mac/FrameMac.mm: (WebCore::regExpForLabels): (WebCore::FrameMac::addPluginRootObject): (WebCore::FrameMac::cleanupPluginRootObjects):
  • loader/Cache.cpp: (WebCore::Cache::init): (WebCore::Cache::clear): (WebCore::Cache::remove):
  • loader/Cache.h:
  • loader/DocLoader.cpp: (WebCore::DocLoader::DocLoader): (WebCore::DocLoader::~DocLoader):

03/27/06:

22:32 Changeset [13527] by eseidel

2006-03-27 Eric Seidel <eseidel@apple.com>

Reviewed by mjs.

Give StringImpl a little privacy.
http://bugzilla.opendarwin.org/show_bug.cgi?id=8022

  • dom/CharacterData.cpp: (WebCore::CharacterData::length): (WebCore::CharacterData::appendData): (WebCore::CharacterData::replaceData): (WebCore::CharacterData::checkCharDataOperation): (WebCore::CharacterData::rendererIsNeeded):
  • dom/Range.cpp: (WebCore::Range::compareBoundaryPoints):
  • dom/Text.cpp: (WebCore::Text::splitText):
  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::processToken):
  • platform/AtomicString.cpp: (WebCore::operator==):
  • platform/String.cpp: (WebCore::String::operator[]): (WebCore::String::length): (WebCore::String::percentage): (WebCore::String::unicode): (WebCore::String::deprecatedString): (WebCore::String::isEmpty):
  • platform/StringImpl.cpp: (WebCore::equal): (WebCore::equalIgnoringCase):
  • platform/StringImpl.h:
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::selectionRect): (WebCore::InlineTextBox::paint): (WebCore::InlineTextBox::paintSelection): (WebCore::InlineTextBox::paintMarkedTextBackground): (WebCore::InlineTextBox::paintTextMatchMarker): (WebCore::InlineTextBox::offsetForPosition): (WebCore::InlineTextBox::positionForOffset):
  • rendering/RenderText.cpp: (WebCore::RenderText::widthFromCache): (WebCore::RenderText::calcMinMaxWidth): (WebCore::RenderText::width):
22:30 Changeset [13526] by mjs

LayoutTests:

Reviewed by Beth.


  • test cases for <rdar://problem/4279765> REGRESSION: "More..." links on flickr groups pages have hover issues (flickr.com)
  • fast/block/float/float-in-float-hit-testing-expected.checksum: Added.
  • fast/block/float/float-in-float-hit-testing-expected.png: Added.
  • fast/block/float/float-in-float-hit-testing-expected.txt: Added.
  • fast/block/float/float-in-float-hit-testing.html: Added.
  • fast/block/float/float-in-float-painting-expected.checksum: Added.
  • fast/block/float/float-in-float-painting-expected.png: Added.
  • fast/block/float/float-in-float-painting-expected.txt: Added.
  • fast/block/float/float-in-float-painting.html: Added.
  • fast/events/capture-on-target.html:

WebCore:

Reviewed by Beth.

  • fixed <rdar://problem/4279765> REGRESSION: "More..." links on flickr groups pages have hover issues (flickr.com)
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::floatRect): Rewrote in terms of rects, and made it consider child floatRects as well as their overflowRects.
  • platform/IntRect.h: (WebCore::unionRect): useful helper
  • platform/FloatRect.h: (WebCore::unionRect): added same for FloatRect just because
20:26 Changeset [13525] by tomernic

Reviewed by Eric.

<rdar://problem/3694090> -[WebBaseNetscapePluginView finalize] is incorrect; design change needed

  • ChangeLog:
  • Plugins/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView dealloc]): Instead of calling -stop, assert that the plugin is not running. A plugin view cannot be deallocated until it is removed from its window. When a plugin view is removed from its window, it calls -stop on itself. Therefore I believe that this call to -stop is unnecessary; if I'm wrong, then the assertion will help catch any edge cases. (-[WebBaseNetscapePluginView finalize]): ditto
20:15 Changeset [13524] by tomernic

Reviewed by Eric.

<rdar://problem/3694086> -[WebBaseNetscapePluginStream finalize] is incorrect; design change needed

  • Plugins/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream dealloc]): Assert that the stream file path either never existed, or was deleted and NULL-ed out. The stream file is now deleted immediately after calling NPP_StreamAsFile(). (-[WebBaseNetscapePluginStream finalize]): ditto (-[WebBaseNetscapePluginStream _destroyStream]): Delete the file after calling NPP_StreamAsFile(), instead of in -dealloc/-finalize. It should be OK to delete the file here -- NPP_StreamAsFile() is always called immediately before NPP_DestroyStream() (the stream destruction function), so there can be no expectation that a plugin will read the stream file asynchronously after NPP_StreamAsFile() is called.
20:13 Changeset [13523] by tomernic

Reviewed by Eric.

<rdar://problem/3694093> -[WebBasePluginPackage finalize] is incorrect; design change needed

Call -unload on plug-in packages instead of relying on -dealloc/-finalize to do it. Currently
the only place plug-in packages are deallocated is when refreshing the set of plugins, as when
handling JavaScript's navigator.plugins.refresh().

  • Plugins/WebBasePluginPackage.m: (-[WebBasePluginPackage dealloc]): Assert that the plug-in has been unloaded by the time -dealloc is called. (-[WebBasePluginPackage finalize]): ditto
  • Plugins/WebPluginDatabase.m: (-[WebPluginDatabase refresh]): Call -unload on the plug-in packages before releasing them.
17:07 Changeset [13522] by darin

Based on a patch by Michael Emmel <mike.emmel@gmail.com>.

  • platform/TransferJob.cpp: Remove unneeded include of "String.h".
16:57 Changeset [13521] by harrison

Reviewed by Darin.

<rdar://problem/4427002> REGRESSION: VoiceOver doesn't read heading level text in Safari (Range selectNodeContents broken)

  • editing/deleting/delete-block-merge-contents-022.html: Added.
  • editing/deleting/delete-block-merge-contents-023.html: Added.
  • editing/selection/selectNode-expected.checksum: Added.
  • editing/selection/selectNode-expected.png: Added.
  • editing/selection/selectNode-expected.txt: Added.
  • editing/selection/selectNode.html: Added.
  • editing/selection/selectNodeContents-expected.checksum: Added.
  • editing/selection/selectNodeContents-expected.png: Added.
  • editing/selection/selectNodeContents-expected.txt: Added.
  • editing/selection/selectNodeContents.html: Added.
16:54 Changeset [13520] by harrison

Reviewed by Darin.

<rdar://problem/4427002> REGRESSION: VoiceOver doesn't read heading level text in Safari (Range selectNodeContents broken)

Better fix than previous checkin, since maxDeepOffset is really an editing hack.

  • editing/selection/selectNodeContents-textNode.html: Added.
  • dom/Range.cpp: (WebCore::Range::selectNodeContents): Use maxOffset if offsetInCharacters, otherwise use childNodeCount.
16:07 Changeset [13519] by thatcher

Release tag for Mac OS X Update 10.4.3.

16:07 Changeset [13518] by thatcher

Release tag for Mac OS X Update 10.4.3.

16:05 Changeset [13517] by thatcher

Release tag for Mac OS X Update 10.4.3.

15:34 Changeset [13516] by thatcher

Release tag for Mac OS X Update 10.4.4.

15:33 Changeset [13515] by thatcher

Release tag for Mac OS X Update 10.4.4.

15:33 Changeset [13514] by thatcher

Release tag for Mac OS X Update 10.4.4.

15:33 Changeset [13513] by thatcher

Release tag for Mac OS X Update 10.4.4.

15:33 Changeset [13512] by thatcher

New release directories.

15:29 Changeset [13511] by thatcher

Release tag for Mac OS X Update 10.4.5.

15:29 Changeset [13510] by thatcher

Release tag for Mac OS X Update 10.4.5.

15:29 Changeset [13509] by thatcher

Release tag for Mac OS X Update 10.4.5.

15:28 Changeset [13508] by thatcher

Release tag for Mac OS X Update 10.4.5.

15:24 Changeset [13507] by thatcher

Release tag for Security Update 2006-001.

15:24 Changeset [13506] by thatcher

Release tag for Security Update 2006-001.

15:24 Changeset [13505] by thatcher

Release tag for Security Update 2006-001.

15:24 Changeset [13504] by thatcher

Release tag for Security Update 2006-001.

15:15 Changeset [13503] by thatcher

Release tag for Security Update 2006-002.

15:15 Changeset [13502] by thatcher

Release tag for Security Update 2006-002.

15:15 Changeset [13501] by thatcher

Release tag for Security Update 2006-002.

15:14 Changeset [13500] by thatcher

Release tag for Security Update 2006-002.

15:01 Changeset [13499] by thatcher

New release directories. Will do server copies for the actual files.

14:21 Changeset [13498] by darin

At the request of Michael Emmel <mike.emmel@gmail.com>.

  • rendering/render_style.h: Add declaration of CSSStyleSelector. Also tweaked
formatting a bit and removed some extraneous WebCore
prefixes.
14:09 Changeset [13497] by thatcher

New releases folder to hold tags of all WebKit versions released to the public. Reviewed by Darin.

14:07 Changeset [13496] by tomernic

Reviewed by Tim Hatcher.

Part of <rdar://problem/4448350> Deprecated ObjC language API used in JavaScriptCore, WebCore,
WebKit and WebBrowser

  • Carbon/HIViewAdapter.h: HIViewAdapter is no longer an NSView subclass, since we no longer pose it as NSView.
  • Carbon/HIViewAdapter.m: (+[NSView bindHIViewToNSView:nsView:]): Replace individual NSView methods instead of posing as NSView. (_webkit_NSView_setNeedsDisplay): Replacement implementation of -[NSView setNeedsDisplay:]. (_webkit_NSView_setNeedsDisplayInRect): Replacement implementation of -[NSView setNeedsDisplayInRect:] (_webkit_NSView_nextValidKeyView): Replacement implementation of -[NSView nextValidKeyView]
13:44 Changeset [13495] by sullivan

Reviewed by Darin Adler and Tim Omernick


  • fixed <rdar://problem/4406505> REGRESSION: (japanese text) Clauses is unexpectedly confirmed while typing on Safari.
  • bindings/objc/DOMHTML.mm: (-[DOMHTMLInputElement _displayedValue]): Avoid calling stringValue on the focused NSTextField. This will soon be obsolete, but for now it fixes this regression.
13:33 Changeset [13494] by sullivan

Reviewed by Darin Adler.


Removed two overzealous assertions that the steps to reproduce 4451831 were running into.
Improved comments to match.

  • WebCoreSupport/WebFrameBridge.m: (-[WebFrameBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]): Remove assertion that _inNextKeyViewOutsideWebFrameViews should always be false here.


  • WebView/WebHTMLView.m: (-[NSArray nextValidKeyView]): Removed assertion that the frame should never be the main frame here.
13:20 Changeset [13493] by tomernic

Reviewed by Tim Hatcher.

Removed tabs & reformatted code.


  • Carbon/HIViewAdapter.m: (+[NSView bindHIViewToNSView:nsView:]): (+[NSView getHIViewForNSView:]): (+[NSView unbindNSView:]): (-[NSView setNeedsDisplay:]): (-[NSView setNeedsDisplayInRect:]): (-[NSView nextValidKeyView]): (SetViewNeedsDisplay):
13:10 Changeset [13492] by lypanov

2006-03-27 Alexander Kellett <lypanov@kde.org>

Reviewed by darin

  • fast/dynamic/insertAdjacentElement.html: Added.

2006-03-27 Alexander Kellett <lypanov@kde.org>

Reviewed by darin

Implement the IE extension insertAdjacentElement
http://bugzilla.opendarwin.org/show_bug.cgi?id=6520

  • bindings/scripts/CodeGeneratorJS.pm:
  • dom/Element.cpp: (WebCore::ElementImpl::insertAdjacentElement):
  • dom/Element.h:
  • dom/Element.idl:
09:34 Changeset [13491] by justing

Reviewed by beth and geoff

  • editing/selection/6476-expected.checksum: Added.
  • editing/selection/6476-expected.png: Added.
  • editing/selection/6476-expected.txt: Added.
  • editing/selection/6476.html: Added.
08:23 Changeset [13490] by harrison

Reviewed by Tim Hatcher.

<rdar://problem/4427002> REGRESSION: VoiceOver doesn't read heading level text in Safari (Range selectNodeContents broken)

Range::selectNodeContents() was erroneously using childNodeCount, which is always 0 for text
nodes. Turns out that [WebCoreAXObject textUnderElement] is the only code that ends up calling
selectNodeContents on a text node.

Test cases added: None. Manual AX testing is way too awkward, and automated testing
is not possible. See following bug...

<rdar://problem/4256882> Need automated testing support for accessibility APIs

  • dom/Range.cpp: (WebCore::Range::selectNodeContents): Use maxDeepOffset instead of childNodeCount, so that text node content is selected.
05:17 Changeset [13489] by justing

LayoutTests:

Reviewed by darin


<http://bugzilla.opendarwin.org/show_bug.cgi?id=7868>
REGRESSION: Extraneous focus ring drawn at the end of the page


  • fast/css/outline-auto-empty-rects-expected.checksum: Added.
  • fast/css/outline-auto-empty-rects-expected.png: Added.
  • fast/css/outline-auto-empty-rects-expected.txt: Added.
  • fast/css/outline-auto-empty-rects.html: Added.

WebCore:

Reviewed by darin


<http://bugzilla.opendarwin.org/show_bug.cgi?id=7868>
REGRESSION: Extraneous focus ring drawn at the end of the page


  • platform/GraphicsContext.cpp: (WebCore::GraphicsContext::addFocusRingRect): Don't add a focus ring for an empty rect.
03:29 Changeset [13488] by mjs

JavaScriptCore:

Reviewed by Anders.


  • kjs/nodes.cpp: (Node::deref): take into account the case where the extra refcount table was never created

WebCore:

Reviewed by Anders.


  • manual-tests/empty-script-crash.html: Added.
01:32 Changeset [13487] by mjs

Build fix:


  • reverted fix for <rdar://problem/4362396> capturing listeners do not fire on the target node It turns out that the behavior we had was standards-compliant and Moz will be changing to match.


Also added a note so this doesn't get reverted again.

  • dom/EventTargetNode.cpp: (WebCore::EventTargetNode::dispatchGenericEvent):
00:34 Changeset [13486] by justing

WebCore:

Reviewed by darn


<http://bugzilla.opendarwin.org/show_bug.cgi?id=7974>
Add EditActions and WebUndoActions for CreateLink and Unlink

  • bridge/mac/WebCoreFrameBridge.h:
  • editing/CreateLinkCommand.h: (WebCore::CreateLinkCommand::editingAction):
  • editing/EditAction.h:
  • editing/UnlinkCommand.h: (WebCore::UnlinkCommand::editingAction):

WebKit:

Reviewed by darin


<http://bugzilla.opendarwin.org/show_bug.cgi?id=7974>
Add EditActions and WebUndoActions for CreateLink and Unlink

  • English.lproj/Localizable.strings:
  • WebCoreSupport/WebFrameBridge.m: (-[WebFrameBridge nameForUndoAction:]):
Note: See TracTimeline for information about the timeline view.