⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Mar 30, 2006:

11:39 PM Changeset in webkit [13601] by mjs
  • 11 edits
    3 adds in trunk/WebCore

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:
11:37 PM Changeset in webkit [13600] by andersca
  • 1 edit
    3 adds in trunk/LayoutTests

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.
11:25 PM Changeset in webkit [13599] by darin
  • 185 edits in trunk/LayoutTests

2006-03-30 Darin Adler <Darin Adler>

  • updated pixel results to create a new baseline (on a 10.4.5 system)
10:52 PM Changeset in webkit [13598] by eseidel
  • 2 edits in trunk/JavaScriptCore

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):
10:48 PM Changeset in webkit [13597] by andersca
  • 2 edits in trunk/JavaScriptCore

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().


9:49 PM Changeset in webkit [13596] by adele
  • 4 edits
    8 adds in trunk

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):
9:23 PM Changeset in webkit [13595] by adele
  • 7 edits
    13 adds in trunk

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):
7:12 PM Changeset in webkit [13594] by hyatt
  • 6 edits in trunk/WebCore

Land focus ring bug fix and win theme improvements.

5:21 PM Changeset in webkit [13593] by eseidel
  • 2 edits in trunk/JavaScriptCore

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

Reviewed by ggaren.

  • kjs/nodes.h: Some various small style fixes.
5:19 PM Changeset in webkit [13592] by bdakin
  • 25 edits in trunk/WebCore

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.

5:13 PM Changeset in webkit [13591] by eseidel
  • 2 edits in trunk/JavaScriptCore

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):
4:44 PM Changeset in webkit [13590] by tomernic
  • 1 edit
    3 adds in trunk/WebCore

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.
4:15 PM Changeset in webkit [13589] by tomernic
  • 9 edits in trunk/JavaScriptCore

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.
4:13 PM Changeset in webkit [13588] by tomernic
  • 1 edit
    2 adds in trunk/LayoutTests

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.
3:48 PM Changeset in webkit [13587] by tomernic
  • 5 edits in trunk/WebKitTools

Reviewed by NOBODY (just fixing copyrights)

  • DumpRenderTree/ObjCPlugin.h: Fixed copyright.
  • DumpRenderTree/ObjCPlugin.m: ditto
  • DumpRenderTree/ObjCPluginFunction.h: ditto
  • DumpRenderTree/ObjCPluginFunction.m: ditto
3:30 PM Changeset in webkit [13586] by tomernic
  • 4 edits
    4 adds in trunk/WebKitTools

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).
2:16 PM Changeset in webkit [13585] by eseidel
  • 4 edits in trunk/WebKitTools

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):
1:55 PM Changeset in webkit [13584] by eseidel
  • 4 edits in trunk/WebKitTools

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):
1:44 PM Changeset in webkit [13583] by eseidel
  • 6 edits in trunk/WebCore

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 PM Changeset in webkit [13582] by adele
  • 2 edits in trunk/WebCore

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 AM Changeset in webkit [13581] by justing
  • 20 edits
    6 adds in trunk

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 AM Changeset in webkit [13580] by harrison
  • 1 edit
    12 adds in trunk/LayoutTests

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 AM Changeset in webkit [13579] by harrison
  • 2 edits in trunk/WebCore

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 AM Changeset in webkit [13578] by adele
  • 3 edits
    4 adds in trunk

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.
9:35 AM Changeset in webkit [13577] by ap
  • 3 edits
    2 adds in trunk

Reviewed by John Sullivan.

Test: fast/forms/empty-get.html

  • platform/KURL.cpp: (KURL::setQuery): Add a question mark for empty query strings, too.
2:55 AM Changeset in webkit [13576] by hyatt
  • 1 edit in trunk/WebKitTools/Spinneret/Spinneret/WebView.cpp

Implement live scrolling on Win32.

2:53 AM Changeset in webkit [13575] by hyatt
  • 1 edit in trunk/WebCore/platform/win/ScrollViewWin.cpp

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

2:11 AM Changeset in webkit [13574] by hyatt
  • 1 edit in trunk/WebCore/platform/String.cpp

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

2:02 AM Changeset in webkit [13573] by hyatt
  • 2 edits in trunk/WebCore

Roll out the change to 7102.

1:23 AM Changeset in webkit [13572] by hyatt
  • 8 edits in trunk/WebCore

Land support for JPEG image decoding on Win32.

Mar 29, 2006:

10:45 PM Changeset in webkit [13571] by justing
  • 1 edit in trunk/WebCore/ChangeLog

Fixed a bug number.

10:38 PM Changeset in webkit [13570] by justing
  • 15 edits
    8 adds in trunk

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):
10:16 PM Changeset in webkit [13569] by adele
  • 3 edits in trunk/LayoutTests

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:
6:39 PM Changeset in webkit [13568] by ggaren
  • 20 edits in trunk

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.
5:49 PM Changeset in webkit [13567] by adele
  • 118 edits in trunk

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.
3:47 PM Changeset in webkit [13566] by darin
  • 5 edits
    4 adds in trunk

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.
3:42 PM Changeset in webkit [13565] by darin
  • 2 edits in trunk/WebKitTools

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.
2:13 PM Changeset in webkit [13564] by tomernic
  • 2 edits in trunk/WebKit

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.
2:11 PM Changeset in webkit [13563] by ggaren
  • 5 edits
    2 adds in trunk

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:
1:42 PM Changeset in webkit [13562] by tomernic
  • 2 edits in trunk/WebCore

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.
1:41 PM Changeset in webkit [13561] by sullivan
  • 5 edits in trunk/WebKit

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.
9:37 AM Changeset in webkit [13560] by ap
  • 2 edits in trunk/WebCore

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:
7:57 AM Changeset in webkit [13559] by ap
  • 3 edits
    4 adds in trunk

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.
7:09 AM Changeset in webkit [13558] by darin
  • 6 edits
    1 add in trunk/WebCore

2006-03-29 Darin Adler <Darin Adler>

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.
6:29 AM Changeset in webkit [13557] by darin
  • 2 edits in trunk/WebCore

2006-03-29 Darin Adler <Darin Adler>

  • an attempt to fix the buildbot
  • platform/mac/mac-encodings.txt: Touched this file so the character encodings files will be regenerated.
3:22 AM Changeset in webkit [13556] by darin
  • 2 edits in trunk/WebCore

2006-03-29 Darin Adler <Darin Adler>

  • a quick cut at fixing the windows build
  • WebCore.vcproj/WebCore/WebCore.vcproj: Added a few recently-added files.
1:38 AM Changeset in webkit [13555] by mjs
  • 7 edits
    3 adds in trunk

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().
Note: See TracTimeline for information about the timeline view.