Timeline



Apr 2, 2006:

12:55 AM Changeset in webkit [13635] by ggaren
  • 5 edits
    1 add in trunk/JavaScriptGlue

Reviewed by Darin.

  • Fixed <rdar://problem/4430836> JavaScript patch crashing Quartz Composer

JSValueWrappers used to hold on to the ExecState that pertained at
the time of their creation. Since ExecStates are transient, that
design was totally bogus, and it would crash once the ExecState had
been deallocated.

Unfortunately, there's no clean solution to this problem, since
the JSGlue API has no notion of state. The solution here is to use
a shared, global ExecState for the purpose of JSGlue calls. Given
the pre-existing limitations in the JSGlue API, this design
shouldn't actually introduce any new limitations (see comments in
JSValueWrapper.cpp).

I tested with Quartz Composer and PAC files, neither of which are
layout-testable.


  • JSUtils.cpp: (KJSValueToJSObject):
  • JSValueWrapper.cpp: (JSValueWrapper::JSValueWrapper): (JSValueWrapper::GetValue): (getProcessGlobalExecState): (JSValueWrapper::JSObjectCopyPropertyNames): (JSValueWrapper::JSObjectCopyProperty): (JSValueWrapper::JSObjectSetProperty): (JSValueWrapper::JSObjectCallFunction): (JSValueWrapper::JSObjectCopyCFValue):
  • JSValueWrapper.h:

Also added a test harness file. It was helpful while I was testing,
and may come in handy in the future:


  • JavaScriptGlue.xcodeproj/project.pbxproj: testjsglue.cpp: Added.

Apr 1, 2006:

6:52 PM Changeset in webkit [13647] by darin
  • 3 edits in trunk/LayoutTests
  • updated one more result for change in focus ring appearance
  • fast/forms/plaintext-mode-2-expected.checksum: Updated.
  • fast/forms/plaintext-mode-2-expected.png: Ditto.
6:39 PM Changeset in webkit [13646] by darin
  • 2 edits in trunk/WebCore
  • add a few stubs to get Windows closer to building
  • platform/win/TemporaryLinkStubs.cpp: (WebCore::focusRingColor): (WebCore::setFocusRingColorChangeFunction): (Frame::setNeedsReapplyStyles):
6:26 PM Changeset in webkit [13645] by darin
  • 2 edits in trunk/WebCore
  • fix the build
  • WebCore.xcodeproj/project.pbxproj: Removed a bunch of files that should not have been mentioned at all, and a bunch of others that should be in the project but not in the target.
6:17 PM Changeset in webkit [13644] by darin
  • 178 edits in trunk/LayoutTests
  • updated layout test results, mostly for the change in focus ring appearance
  • editing/input/range-for-empty-document-expected.txt:
  • editing/selection/3690703-2-expected.checksum:
  • editing/selection/3690703-2-expected.png:
  • editing/selection/3690703-2-expected.txt:
  • fast/overflow/scrollRevealButton-expected.checksum:
  • fast/overflow/scrollRevealButton-expected.png:
  • fast/overflow/scrollRevealButton-expected.txt:
  • editing/deleting/collapse-whitespace-3587601-fix-expected.checksum:
  • editing/deleting/collapse-whitespace-3587601-fix-expected.png:
  • editing/deleting/delete-3608430-fix-expected.checksum:
  • editing/deleting/delete-3608430-fix-expected.png:
  • editing/deleting/delete-3608445-fix-expected.checksum:
  • editing/deleting/delete-3608445-fix-expected.png:
  • editing/deleting/delete-3608462-fix-expected.checksum:
  • editing/deleting/delete-3608462-fix-expected.png:
  • editing/deleting/delete-3959464-fix-expected.checksum:
  • editing/deleting/delete-3959464-fix-expected.png:
  • editing/deleting/delete-4038408-fix-expected.checksum:
  • editing/deleting/delete-4038408-fix-expected.png:
  • editing/deleting/delete-4083333-fix-expected.checksum:
  • editing/deleting/delete-4083333-fix-expected.png:
  • editing/deleting/delete-after-span-ws-001-expected.checksum:
  • editing/deleting/delete-after-span-ws-001-expected.png:
  • editing/deleting/delete-after-span-ws-002-expected.checksum:
  • editing/deleting/delete-after-span-ws-002-expected.png:
  • editing/deleting/delete-after-span-ws-003-expected.checksum:
  • editing/deleting/delete-after-span-ws-003-expected.png:
  • editing/deleting/delete-and-undo-expected.checksum:
  • editing/deleting/delete-and-undo-expected.png:
  • editing/deleting/delete-at-paragraph-boundaries-001-expected.checksum:
  • editing/deleting/delete-at-paragraph-boundaries-001-expected.png:
  • editing/deleting/delete-at-paragraph-boundaries-002-expected.checksum:
  • editing/deleting/delete-at-paragraph-boundaries-002-expected.png:
  • editing/deleting/delete-at-paragraph-boundaries-003-expected.checksum:
  • editing/deleting/delete-at-paragraph-boundaries-003-expected.png:
  • editing/deleting/delete-at-paragraph-boundaries-004-expected.checksum:
  • editing/deleting/delete-at-paragraph-boundaries-004-expected.png:
  • editing/deleting/delete-at-paragraph-boundaries-005-expected.checksum:
  • editing/deleting/delete-at-paragraph-boundaries-005-expected.png:
  • editing/deleting/delete-at-paragraph-boundaries-006-expected.checksum:
  • editing/deleting/delete-at-paragraph-boundaries-006-expected.png:
  • editing/deleting/delete-at-paragraph-boundaries-007-expected.checksum:
  • editing/deleting/delete-at-paragraph-boundaries-007-expected.png:
  • editing/deleting/delete-at-paragraph-boundaries-008-expected.checksum:
  • editing/deleting/delete-at-paragraph-boundaries-008-expected.png:
  • editing/deleting/delete-at-paragraph-boundaries-009-expected.checksum:
  • editing/deleting/delete-at-paragraph-boundaries-009-expected.png:
  • editing/deleting/delete-at-paragraph-boundaries-010-expected.checksum:
  • editing/deleting/delete-at-paragraph-boundaries-010-expected.png:
  • editing/deleting/delete-at-paragraph-boundaries-011-expected.checksum:
  • editing/deleting/delete-at-paragraph-boundaries-011-expected.png:
  • editing/deleting/delete-block-contents-001-expected.checksum:
  • editing/deleting/delete-block-contents-001-expected.png:
  • editing/deleting/delete-block-contents-002-expected.checksum:
  • editing/deleting/delete-block-contents-002-expected.png:
  • editing/deleting/delete-block-contents-003-expected.checksum:
  • editing/deleting/delete-block-contents-003-expected.png:
  • editing/deleting/delete-block-merge-contents-001-expected.checksum:
  • editing/deleting/delete-block-merge-contents-001-expected.png:
  • editing/deleting/delete-block-merge-contents-002-expected.checksum:
  • editing/deleting/delete-block-merge-contents-002-expected.png:
  • editing/deleting/delete-block-merge-contents-003-expected.checksum:
  • editing/deleting/delete-block-merge-contents-003-expected.png:
  • editing/deleting/delete-block-merge-contents-004-expected.checksum:
  • editing/deleting/delete-block-merge-contents-004-expected.png:
  • editing/deleting/delete-block-merge-contents-005-expected.checksum:
  • editing/deleting/delete-block-merge-contents-005-expected.png:
  • editing/deleting/delete-block-merge-contents-006-expected.checksum:
  • editing/deleting/delete-block-merge-contents-006-expected.png:
  • editing/deleting/delete-block-merge-contents-007-expected.checksum:
  • editing/deleting/delete-block-merge-contents-007-expected.png:
  • editing/deleting/delete-block-merge-contents-008-expected.checksum:
  • editing/deleting/delete-block-merge-contents-008-expected.png:
  • editing/deleting/delete-block-merge-contents-009-expected.checksum:
  • editing/deleting/delete-block-merge-contents-009-expected.png:
  • editing/deleting/delete-block-merge-contents-010-expected.checksum:
  • editing/deleting/delete-block-merge-contents-010-expected.png:
  • editing/deleting/delete-block-merge-contents-011-expected.checksum:
  • editing/deleting/delete-block-merge-contents-011-expected.png:
  • editing/deleting/delete-block-merge-contents-012-expected.checksum:
  • editing/deleting/delete-block-merge-contents-012-expected.png:
  • editing/deleting/delete-block-merge-contents-013-expected.checksum:
  • editing/deleting/delete-block-merge-contents-013-expected.png:
  • editing/deleting/delete-block-merge-contents-014-expected.checksum:
  • editing/deleting/delete-block-merge-contents-014-expected.png:
  • editing/deleting/delete-block-merge-contents-015-expected.checksum:
  • editing/deleting/delete-block-merge-contents-015-expected.png:
  • editing/deleting/delete-block-merge-contents-016-expected.checksum:
  • editing/deleting/delete-block-merge-contents-016-expected.png:
  • editing/deleting/delete-block-merge-contents-017-expected.checksum:
  • editing/deleting/delete-block-merge-contents-017-expected.png:
  • editing/deleting/delete-br-001-expected.checksum:
  • editing/deleting/delete-br-001-expected.png:
  • editing/deleting/delete-br-002-expected.checksum:
  • editing/deleting/delete-br-002-expected.png:
  • editing/deleting/delete-br-003-expected.checksum:
  • editing/deleting/delete-br-003-expected.png:
  • editing/deleting/delete-br-004-expected.checksum:
  • editing/deleting/delete-br-004-expected.png:
  • editing/deleting/delete-br-005-expected.checksum:
  • editing/deleting/delete-br-005-expected.png:
  • editing/deleting/delete-br-006-expected.checksum:
  • editing/deleting/delete-br-006-expected.png:
  • editing/deleting/delete-br-007-expected.checksum:
  • editing/deleting/delete-br-007-expected.png:
  • editing/deleting/delete-character-001-expected.checksum:
  • editing/deleting/delete-character-001-expected.png:
  • editing/deleting/delete-contiguous-ws-001-expected.checksum:
  • editing/deleting/delete-contiguous-ws-001-expected.png:
  • editing/deleting/delete-image-001-expected.checksum:
  • editing/deleting/delete-image-001-expected.png:
  • editing/deleting/delete-image-002-expected.checksum:
  • editing/deleting/delete-image-002-expected.png:
  • editing/deleting/delete-image-003-expected.checksum:
  • editing/deleting/delete-image-003-expected.png:
  • editing/deleting/delete-image-004-expected.checksum:
  • editing/deleting/delete-image-004-expected.png:
  • editing/deleting/delete-leading-ws-001-expected.checksum:
  • editing/deleting/delete-leading-ws-001-expected.png:
  • editing/deleting/delete-line-015-expected.checksum:
  • editing/deleting/delete-line-015-expected.png:
  • editing/deleting/delete-line-016-expected.checksum:
  • editing/deleting/delete-line-016-expected.png:
  • editing/deleting/delete-line-017-expected.checksum:
  • editing/deleting/delete-line-017-expected.png:
  • editing/deleting/delete-line-end-ws-001-expected.checksum:
  • editing/deleting/delete-line-end-ws-001-expected.png:
  • editing/deleting/delete-line-end-ws-002-expected.checksum:
  • editing/deleting/delete-line-end-ws-002-expected.png:
  • editing/deleting/delete-listitem-001-expected.checksum:
  • editing/deleting/delete-listitem-001-expected.png:
  • editing/deleting/delete-listitem-002-expected.checksum:
  • editing/deleting/delete-listitem-002-expected.png:
  • editing/deleting/delete-select-all-001-expected.checksum:
  • editing/deleting/delete-select-all-001-expected.png:
  • editing/deleting/delete-select-all-002-expected.checksum:
  • editing/deleting/delete-select-all-002-expected.png:
  • editing/deleting/delete-select-all-003-expected.checksum:
  • editing/deleting/delete-select-all-003-expected.png:
  • editing/deleting/delete-selection-001-expected.checksum:
  • editing/deleting/delete-selection-001-expected.png:
  • editing/deleting/delete-tab-001-expected.checksum:
  • editing/deleting/delete-tab-001-expected.png:
  • editing/deleting/delete-tab-002-expected.checksum:
  • editing/deleting/delete-tab-002-expected.png:
  • editing/deleting/delete-tab-003-expected.checksum:
  • editing/deleting/delete-tab-003-expected.png:
  • editing/deleting/delete-tab-004-expected.checksum:
  • editing/deleting/delete-tab-004-expected.png:
  • editing/deleting/delete-trailing-ws-001-expected.checksum:
  • editing/deleting/delete-trailing-ws-001-expected.png:
  • editing/deleting/delete-trailing-ws-002-expected.checksum:
  • editing/deleting/delete-trailing-ws-002-expected.png:
  • editing/deleting/delete-ws-fixup-001-expected.checksum:
  • editing/deleting/delete-ws-fixup-001-expected.png:
  • editing/deleting/delete-ws-fixup-002-expected.checksum:
  • editing/deleting/delete-ws-fixup-002-expected.png:
  • editing/deleting/delete-ws-fixup-003-expected.checksum:
  • editing/deleting/delete-ws-fixup-003-expected.png:
  • editing/deleting/delete-ws-fixup-004-expected.checksum:
  • editing/deleting/delete-ws-fixup-004-expected.png:
  • editing/deleting/smart-delete-001-expected.checksum:
  • editing/deleting/smart-delete-001-expected.png:
  • editing/deleting/smart-delete-002-expected.checksum:
  • editing/deleting/smart-delete-002-expected.png:
  • editing/execCommand/boldSelection-expected.checksum:
  • editing/execCommand/boldSelection-expected.png:
  • editing/execCommand/insertHTML-expected.checksum:
  • editing/execCommand/insertHTML-expected.png:
  • editing/execCommand/insertImage-expected.checksum:
  • editing/execCommand/insertImage-expected.png:
  • editing/execCommand/italicizeByCharacter-expected.checksum:
  • editing/execCommand/italicizeByCharacter-expected.png:
  • editing/execCommand/modifyForeColorByCharacter-expected.checksum:
  • editing/execCommand/modifyForeColorByCharacter-expected.png:
  • editing/execCommand/print-expected.checksum:
  • editing/execCommand/print-expected.png:
  • editing/execCommand/selectAll-expected.checksum:
  • editing/execCommand/selectAll-expected.png:
  • editing/execCommand/strikethroughSelection-expected.checksum:
  • editing/execCommand/strikethroughSelection-expected.png:
  • editing/inserting/4278698-expected.checksum:
  • editing/inserting/4278698-expected.png:
  • editing/inserting/editing-empty-divs-expected.checksum:
  • editing/inserting/editing-empty-divs-expected.png:
  • editing/inserting/insert-3659587-fix-expected.checksum:
  • editing/inserting/insert-3659587-fix-expected.png:
  • editing/inserting/insert-3775316-fix-expected.checksum:
  • editing/inserting/insert-3775316-fix-expected.png:
  • editing/inserting/insert-3778059-fix-expected.checksum:
  • editing/inserting/insert-3778059-fix-expected.png:
  • editing/inserting/insert-3800346-fix-expected.checksum:
  • editing/inserting/insert-3800346-fix-expected.png:
  • editing/inserting/insert-after-delete-001-expected.checksum:
  • editing/inserting/insert-after-delete-001-expected.png:
  • editing/inserting/insert-at-end-01-expected.checksum:
  • editing/inserting/insert-at-end-01-expected.png:
  • editing/inserting/insert-at-end-02-expected.checksum:
  • editing/inserting/insert-at-end-02-expected.png:
  • editing/inserting/insert-br-001-expected.checksum:
  • editing/inserting/insert-br-001-expected.png:
  • editing/inserting/insert-br-002-expected.checksum:
  • editing/inserting/insert-br-002-expected.png:
  • editing/inserting/insert-br-003-expected.checksum:
  • editing/inserting/insert-br-003-expected.png:
  • editing/inserting/insert-br-004-expected.checksum:
  • editing/inserting/insert-br-004-expected.png:
  • editing/inserting/insert-br-005-expected.checksum:
  • editing/inserting/insert-br-005-expected.png:
  • editing/inserting/insert-br-006-expected.checksum:
  • editing/inserting/insert-br-006-expected.png:
  • editing/inserting/insert-br-007-expected.checksum:
  • editing/inserting/insert-br-007-expected.png:
  • editing/inserting/insert-br-008-expected.checksum:
  • editing/inserting/insert-br-008-expected.png:
  • editing/inserting/insert-br-at-tabspan-001-expected.checksum:
  • editing/inserting/insert-br-at-tabspan-001-expected.png:
  • editing/inserting/insert-br-at-tabspan-002-expected.checksum:
  • editing/inserting/insert-br-at-tabspan-002-expected.png:
  • editing/inserting/insert-br-at-tabspan-003-expected.checksum:
  • editing/inserting/insert-br-at-tabspan-003-expected.png:
  • editing/inserting/insert-br-quoted-001-expected.checksum:
  • editing/inserting/insert-br-quoted-001-expected.png:
  • editing/inserting/insert-br-quoted-002-expected.checksum:
  • editing/inserting/insert-br-quoted-002-expected.png:
  • editing/inserting/insert-br-quoted-003-expected.checksum:
  • editing/inserting/insert-br-quoted-003-expected.png:
  • editing/inserting/insert-br-quoted-004-expected.checksum:
  • editing/inserting/insert-br-quoted-004-expected.png:
  • editing/inserting/insert-br-quoted-005-expected.checksum:
  • editing/inserting/insert-br-quoted-005-expected.png:
  • editing/inserting/insert-br-quoted-006-expected.checksum:
  • editing/inserting/insert-br-quoted-006-expected.png:
  • editing/inserting/insert-div-025-expected.checksum:
  • editing/inserting/insert-div-025-expected.png:
  • editing/inserting/insert-div-026-expected.checksum:
  • editing/inserting/insert-div-026-expected.png:
  • editing/inserting/insert-space-in-empty-doc-expected.checksum:
  • editing/inserting/insert-space-in-empty-doc-expected.png:
  • editing/inserting/insert-tab-001-expected.checksum:
  • editing/inserting/insert-tab-001-expected.png:
  • editing/inserting/insert-tab-002-expected.checksum:
  • editing/inserting/insert-tab-002-expected.png:
  • editing/inserting/insert-tab-003-expected.checksum:
  • editing/inserting/insert-tab-003-expected.png:
  • editing/inserting/insert-tab-004-expected.checksum:
  • editing/inserting/insert-tab-004-expected.png:
  • editing/inserting/insert-text-at-tabspan-001-expected.checksum:
  • editing/inserting/insert-text-at-tabspan-001-expected.png:
  • editing/inserting/insert-text-at-tabspan-002-expected.checksum:
  • editing/inserting/insert-text-at-tabspan-002-expected.png:
  • editing/inserting/insert-text-at-tabspan-003-expected.checksum:
  • editing/inserting/insert-text-at-tabspan-003-expected.png:
  • editing/inserting/insert-text-with-newlines-expected.checksum:
  • editing/inserting/insert-text-with-newlines-expected.png:
  • editing/inserting/return-key-with-selection-001-expected.checksum:
  • editing/inserting/return-key-with-selection-001-expected.png:
  • editing/inserting/return-key-with-selection-002-expected.checksum:
  • editing/inserting/return-key-with-selection-002-expected.png:
  • editing/inserting/return-key-with-selection-003-expected.checksum:
  • editing/inserting/return-key-with-selection-003-expected.png:
  • editing/inserting/typing-001-expected.checksum:
  • editing/inserting/typing-001-expected.png:
  • editing/inserting/typing-002-expected.checksum:
  • editing/inserting/typing-002-expected.png:
  • editing/inserting/typing-003-expected.checksum:
  • editing/inserting/typing-003-expected.png:
  • editing/inserting/typing-around-br-001-expected.checksum:
  • editing/inserting/typing-around-br-001-expected.png:
  • editing/inserting/typing-around-image-001-expected.checksum:
  • editing/inserting/typing-around-image-001-expected.png:
  • editing/pasteboard/3976872-expected.checksum:
  • editing/pasteboard/3976872-expected.png:
  • editing/pasteboard/4076267-2-expected.checksum:
  • editing/pasteboard/4076267-2-expected.png:
  • editing/pasteboard/4076267-3-expected.checksum:
  • editing/pasteboard/4076267-3-expected.png:
  • editing/pasteboard/4076267-expected.checksum:
  • editing/pasteboard/4076267-expected.png:
  • editing/pasteboard/block-wrappers-necessary-expected.checksum:
  • editing/pasteboard/block-wrappers-necessary-expected.png:
  • editing/pasteboard/cut-text-001-expected.checksum:
  • editing/pasteboard/cut-text-001-expected.png:
  • editing/pasteboard/display-block-on-spans-expected.checksum:
  • editing/pasteboard/display-block-on-spans-expected.png:
  • editing/pasteboard/paste-4035648-fix-expected.checksum:
  • editing/pasteboard/paste-4035648-fix-expected.png:
  • editing/pasteboard/paste-4038267-fix-expected.checksum:
  • editing/pasteboard/paste-4038267-fix-expected.png:
  • editing/pasteboard/paste-4039777-fix-expected.checksum:
  • editing/pasteboard/paste-4039777-fix-expected.png:
  • editing/pasteboard/paste-line-endings-001-expected.checksum:
  • editing/pasteboard/paste-line-endings-001-expected.png:
  • editing/pasteboard/paste-line-endings-002-expected.checksum:
  • editing/pasteboard/paste-line-endings-002-expected.png:
  • editing/pasteboard/paste-line-endings-003-expected.checksum:
  • editing/pasteboard/paste-line-endings-003-expected.png:
  • editing/pasteboard/paste-line-endings-004-expected.checksum:
  • editing/pasteboard/paste-line-endings-004-expected.png:
  • editing/pasteboard/paste-line-endings-005-expected.checksum:
  • editing/pasteboard/paste-line-endings-005-expected.png:
  • editing/pasteboard/paste-line-endings-006-expected.checksum:
  • editing/pasteboard/paste-line-endings-006-expected.png:
  • editing/pasteboard/paste-line-endings-007-expected.checksum:
  • editing/pasteboard/paste-line-endings-007-expected.png:
  • editing/pasteboard/paste-line-endings-008-expected.checksum:
  • editing/pasteboard/paste-line-endings-008-expected.png:
  • editing/pasteboard/paste-line-endings-009-expected.checksum:
  • editing/pasteboard/paste-line-endings-009-expected.png:
  • editing/pasteboard/paste-line-endings-010-expected.checksum:
  • editing/pasteboard/paste-line-endings-010-expected.png:
  • editing/pasteboard/paste-list-001-expected.checksum:
  • editing/pasteboard/paste-list-001-expected.png:
  • editing/pasteboard/paste-match-style-001-expected.checksum:
  • editing/pasteboard/paste-match-style-001-expected.png:
  • editing/pasteboard/paste-match-style-002-expected.checksum:
  • editing/pasteboard/paste-match-style-002-expected.png:
  • editing/pasteboard/paste-pre-001-expected.checksum:
  • editing/pasteboard/paste-pre-001-expected.png:
  • editing/pasteboard/paste-pre-002-expected.checksum:
  • editing/pasteboard/paste-pre-002-expected.png:
  • editing/pasteboard/paste-table-001-expected.checksum:
  • editing/pasteboard/paste-table-001-expected.png:
  • editing/pasteboard/paste-text-001-expected.checksum:
  • editing/pasteboard/paste-text-001-expected.png:
  • editing/pasteboard/paste-text-017-expected.checksum:
  • editing/pasteboard/paste-text-017-expected.png:
  • editing/pasteboard/paste-text-018-expected.checksum:
  • editing/pasteboard/paste-text-018-expected.png:
  • editing/pasteboard/paste-text-019-expected.checksum:
  • editing/pasteboard/paste-text-019-expected.png:
  • editing/pasteboard/paste-text-at-tabspan-001-expected.checksum:
  • editing/pasteboard/paste-text-at-tabspan-001-expected.png:
  • editing/pasteboard/paste-text-at-tabspan-002-expected.checksum:
  • editing/pasteboard/paste-text-at-tabspan-002-expected.png:
  • editing/pasteboard/paste-text-at-tabspan-003-expected.checksum:
  • editing/pasteboard/paste-text-at-tabspan-003-expected.png:
  • editing/pasteboard/smart-paste-001-expected.checksum:
  • editing/pasteboard/smart-paste-001-expected.png:
  • editing/pasteboard/smart-paste-002-expected.checksum:
  • editing/pasteboard/smart-paste-002-expected.png:
  • editing/pasteboard/smart-paste-003-expected.checksum:
  • editing/pasteboard/smart-paste-003-expected.png:
  • editing/pasteboard/smart-paste-004-expected.checksum:
  • editing/pasteboard/smart-paste-004-expected.png:
  • editing/pasteboard/smart-paste-005-expected.checksum:
  • editing/pasteboard/smart-paste-005-expected.png:
  • editing/pasteboard/smart-paste-006-expected.checksum:
  • editing/pasteboard/smart-paste-006-expected.png:
  • editing/pasteboard/smart-paste-007-expected.checksum:
  • editing/pasteboard/smart-paste-007-expected.png:
  • editing/selection/3690703-expected.checksum:
  • editing/selection/3690703-expected.png:
  • editing/selection/3690719-expected.checksum:
  • editing/selection/3690719-expected.png:
  • editing/selection/6476-expected.checksum:
  • editing/selection/6476-expected.png:
  • editing/selection/after-line-wrap-expected.checksum:
  • editing/selection/after-line-wrap-expected.png:
  • editing/selection/end-of-document-expected.checksum:
  • editing/selection/end-of-document-expected.png:
  • editing/selection/expanding-selections-expected.checksum:
  • editing/selection/expanding-selections-expected.png:
  • editing/selection/expanding-selections2-expected.checksum:
  • editing/selection/expanding-selections2-expected.png:
  • editing/selection/extend-by-character-001-expected.checksum:
  • editing/selection/extend-by-character-001-expected.png:
  • editing/selection/extend-by-character-002-expected.checksum:
  • editing/selection/extend-by-character-002-expected.png:
  • editing/selection/extend-by-character-003-expected.checksum:
  • editing/selection/extend-by-character-003-expected.png:
  • editing/selection/extend-by-character-004-expected.checksum:
  • editing/selection/extend-by-character-004-expected.png:
  • editing/selection/extend-by-character-005-expected.checksum:
  • editing/selection/extend-by-character-005-expected.png:
  • editing/selection/extend-by-character-006-expected.checksum:
  • editing/selection/extend-by-character-006-expected.png:
  • editing/selection/extend-by-word-001-expected.checksum:
  • editing/selection/extend-by-word-001-expected.png:
  • editing/selection/extend-by-word-002-expected.checksum:
  • editing/selection/extend-by-word-002-expected.png:
  • editing/selection/fake-doubleclick-expected.checksum:
  • editing/selection/fake-doubleclick-expected.png:
  • editing/selection/fake-drag-expected.checksum:
  • editing/selection/fake-drag-expected.png:
  • editing/selection/iframe-expected.checksum:
  • editing/selection/iframe-expected.png:
  • editing/selection/image-before-linebreak-expected.checksum:
  • editing/selection/image-before-linebreak-expected.png:
  • editing/selection/inline-table-expected.checksum:
  • editing/selection/inline-table-expected.png:
  • editing/selection/leave-requested-block-expected.checksum:
  • editing/selection/leave-requested-block-expected.png:
  • editing/selection/move-backwords-by-word-001-expected.checksum:
  • editing/selection/move-backwords-by-word-001-expected.png:
  • editing/selection/move-between-blocks-no-001-expected.checksum:
  • editing/selection/move-between-blocks-no-001-expected.png:
  • editing/selection/move-by-character-001-expected.checksum:
  • editing/selection/move-by-character-001-expected.png:
  • editing/selection/move-by-character-002-expected.checksum:
  • editing/selection/move-by-character-002-expected.png:
  • editing/selection/move-by-character-003-expected.checksum:
  • editing/selection/move-by-character-003-expected.png:
  • editing/selection/move-by-character-004-expected.checksum:
  • editing/selection/move-by-character-004-expected.png:
  • editing/selection/move-by-character-005-expected.checksum:
  • editing/selection/move-by-character-005-expected.png:
  • editing/selection/move-by-character-6-expected.checksum:
  • editing/selection/move-by-character-6-expected.png:
  • editing/selection/move-by-line-001-expected.checksum:
  • editing/selection/move-by-line-001-expected.png:
  • editing/selection/move-by-line-002-expected.checksum:
  • editing/selection/move-by-line-002-expected.png:
  • editing/selection/move-by-word-001-expected.checksum:
  • editing/selection/move-by-word-001-expected.png:
  • editing/selection/previous-line-position-expected.checksum:
  • editing/selection/previous-line-position-expected.png:
  • editing/selection/replaced-boundaries-1-expected.checksum:
  • editing/selection/replaced-boundaries-1-expected.png:
  • editing/selection/replaced-boundaries-2-expected.checksum:
  • editing/selection/replaced-boundaries-2-expected.png:
  • editing/selection/replaced-boundaries-3-expected.checksum:
  • editing/selection/replaced-boundaries-3-expected.png:
  • editing/selection/select-all-001-expected.checksum:
  • editing/selection/select-all-001-expected.png:
  • editing/selection/select-all-002-expected.checksum:
  • editing/selection/select-all-002-expected.png:
  • editing/selection/select-box-expected.checksum:
  • editing/selection/select-box-expected.png:
  • editing/selection/selection-3748164-fix-expected.checksum:
  • editing/selection/selection-3748164-fix-expected.png:
  • editing/selection/triple-click-in-pre-expected.checksum:
  • editing/selection/triple-click-in-pre-expected.png:
  • editing/selection/unrendered-001-expected.checksum:
  • editing/selection/unrendered-001-expected.png:
  • editing/selection/unrendered-002-expected.checksum:
  • editing/selection/unrendered-002-expected.png:
  • editing/selection/unrendered-003-expected.checksum:
  • editing/selection/unrendered-003-expected.png:
  • editing/selection/unrendered-004-expected.checksum:
  • editing/selection/unrendered-004-expected.png:
  • editing/selection/unrendered-005-expected.checksum:
  • editing/selection/unrendered-005-expected.png:
  • editing/style/block-style-004-expected.checksum:
  • editing/style/block-style-004-expected.png:
  • editing/style/block-style-005-expected.checksum:
  • editing/style/block-style-005-expected.png:
  • editing/style/block-style-006-expected.checksum:
  • editing/style/block-style-006-expected.png:
  • editing/style/block-styles-007-expected.checksum:
  • editing/style/block-styles-007-expected.png:
  • editing/style/remove-underline-across-paragraph-expected.checksum:
  • editing/style/remove-underline-across-paragraph-expected.png:
  • editing/style/remove-underline-across-paragraph-in-bold-expected.checksum:
  • editing/style/remove-underline-across-paragraph-in-bold-expected.png:
  • editing/style/remove-underline-after-paragraph-expected.checksum:
  • editing/style/remove-underline-after-paragraph-expected.png:
  • editing/style/remove-underline-after-paragraph-in-bold-expected.checksum:
  • editing/style/remove-underline-after-paragraph-in-bold-expected.png:
  • editing/style/remove-underline-expected.checksum:
  • editing/style/remove-underline-expected.png:
  • editing/style/remove-underline-from-stylesheet-expected.checksum:
  • editing/style/remove-underline-from-stylesheet-expected.png:
  • editing/style/remove-underline-in-bold-expected.checksum:
  • editing/style/remove-underline-in-bold-expected.png:
  • editing/style/smoosh-styles-001-expected.checksum:
  • editing/style/smoosh-styles-001-expected.png:
  • editing/style/smoosh-styles-002-expected.checksum:
  • editing/style/smoosh-styles-002-expected.png:
  • editing/style/smoosh-styles-003-expected.checksum:
  • editing/style/smoosh-styles-003-expected.png:
  • editing/style/style-3681552-fix-001-expected.checksum:
  • editing/style/style-3681552-fix-001-expected.png:
  • editing/style/style-3681552-fix-002-expected.checksum:
  • editing/style/style-3681552-fix-002-expected.png:
  • editing/style/style-3690704-fix-expected.checksum:
  • editing/style/style-3690704-fix-expected.png:
  • editing/style/style-3998892-fix-expected.checksum:
  • editing/style/style-3998892-fix-expected.png:
  • editing/style/style-boundary-001-expected.checksum:
  • editing/style/style-boundary-001-expected.png:
  • editing/style/style-boundary-002-expected.checksum:
  • editing/style/style-boundary-002-expected.png:
  • editing/style/style-boundary-003-expected.checksum:
  • editing/style/style-boundary-003-expected.png:
  • editing/style/style-boundary-004-expected.checksum:
  • editing/style/style-boundary-004-expected.png:
  • editing/style/typing-style-001-expected.checksum:
  • editing/style/typing-style-001-expected.png:
  • editing/style/typing-style-002-expected.checksum:
  • editing/style/typing-style-002-expected.png:
  • editing/style/typing-style-003-expected.checksum:
  • editing/style/typing-style-003-expected.png:
  • editing/style/unbold-in-bold-expected.checksum:
  • editing/style/unbold-in-bold-expected.png:
  • editing/style/underline-expected.checksum:
  • editing/style/underline-expected.png:
  • editing/undo/4063751-expected.checksum:
  • editing/undo/4063751-expected.png:
  • editing/undo/redo-typing-001-expected.checksum:
  • editing/undo/redo-typing-001-expected.png:
  • editing/undo/undo-typing-001-expected.checksum:
  • editing/undo/undo-typing-001-expected.png:
  • editing/unsupported-content/list-delete-001-expected.checksum:
  • editing/unsupported-content/list-delete-001-expected.png:
  • editing/unsupported-content/list-delete-002-expected.checksum:
  • editing/unsupported-content/list-delete-002-expected.png:
  • editing/unsupported-content/list-delete-003-expected.checksum:
  • editing/unsupported-content/list-delete-003-expected.png:
  • editing/unsupported-content/list-type-after-expected.checksum:
  • editing/unsupported-content/list-type-after-expected.png:
  • editing/unsupported-content/list-type-before-expected.checksum:
  • editing/unsupported-content/list-type-before-expected.png:
  • editing/unsupported-content/table-delete-001-expected.checksum:
  • editing/unsupported-content/table-delete-001-expected.png:
  • editing/unsupported-content/table-delete-002-expected.checksum:
  • editing/unsupported-content/table-delete-002-expected.png:
  • editing/unsupported-content/table-delete-003-expected.checksum:
  • editing/unsupported-content/table-delete-003-expected.png:
  • editing/unsupported-content/table-type-after-expected.checksum:
  • editing/unsupported-content/table-type-after-expected.png:
  • editing/unsupported-content/table-type-before-expected.checksum:
  • editing/unsupported-content/table-type-before-expected.png:
  • fast/css/outline-auto-empty-rects-expected.checksum:
  • fast/css/outline-auto-empty-rects-expected.png:
  • fast/css/outline-auto-location-expected.checksum:
  • fast/css/outline-auto-location-expected.png:
  • fast/dom/focus-contenteditable-expected.checksum:
  • fast/dom/focus-contenteditable-expected.png:
  • fast/encoding/utf-16-big-endian-expected.checksum:
  • fast/encoding/utf-16-big-endian-expected.png:
  • fast/encoding/utf-16-little-endian-expected.checksum:
  • fast/encoding/utf-16-little-endian-expected.png:
  • fast/events/focusingUnloadedFrame-expected.checksum:
  • fast/events/focusingUnloadedFrame-expected.png:
  • fast/forms/input-appearance-focus-expected.checksum:
  • fast/forms/input-appearance-focus-expected.png:
  • fast/forms/input-appearance-readonly-expected.checksum: Added.
  • fast/forms/input-appearance-readonly-expected.png: Added.
  • fast/forms/input-appearance-selection-expected.checksum:
  • fast/forms/input-appearance-selection-expected.png:
  • fast/forms/input-paste-undo-expected.checksum: Added.
  • fast/forms/input-paste-undo-expected.png: Added.
  • fast/forms/input-text-double-click-expected.checksum:
  • fast/forms/input-text-double-click-expected.png:
  • fast/forms/input-text-option-delete-expected.checksum:
  • fast/forms/input-text-option-delete-expected.png:
  • fast/forms/input-text-scroll-left-on-blur-expected.checksum:
  • fast/forms/input-text-scroll-left-on-blur-expected.png:
  • fast/lists/drag-into-marker-expected.checksum:
  • fast/lists/drag-into-marker-expected.png:
  • fast/overflow/childFocusRingClip-expected.checksum:
  • fast/overflow/childFocusRingClip-expected.png:
  • fast/overflow/overflow-focus-ring-expected.checksum:
  • fast/overflow/overflow-focus-ring-expected.png:
  • fast/text/justified-text-rect-expected.checksum:
  • fast/text/justified-text-rect-expected.png:
6:16 PM Changeset in webkit [13643] by darin
  • 95 edits in trunk/LayoutTests/editing/selection
  • updated layout test results, mostly for the change in focus ring appearance
6:15 PM Changeset in webkit [13642] by darin
  • 90 edits in trunk/LayoutTests/editing/inserting
  • updated layout test results, mostly for the change in focus ring appearance
6:14 PM Changeset in webkit [13641] by darin
  • 158 edits in trunk/LayoutTests/editing/deleting
  • updated layout test results, mostly for the change in focus ring appearance
6:12 PM Changeset in webkit [13640] by darin
  • 33 edits
    4 adds in trunk/LayoutTests/fast
  • updated layout test results, mostly for the change in focus ring appearance
6:11 PM Changeset in webkit [13639] by darin
  • 23 edits in trunk/WebCore

Reviewed by Adele.

  • some cleanup to how we parse user agent style sheets
  • css/CSSValueKeywords.in: Added -webkit-focus-ring-color.
  • css/cssstyleselector.cpp: (WebCore::parseUASheet): Parse an array of chars instead of UTF-16. Cuts the size of the style sheet in half. (WebCore::CSSStyleSelector::applyProperty): Allow negative value for outline-offset. Changed shadow parsing to use getColorFromPrimitiveValue instead of repeating the same logic. (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Added a case for the focus ring color.
  • rendering/render_style.h: (WebCore::RenderStyle::setOutlineOffset): Changed to allow negative values.
  • css/html4.css: Removed a lot of excess spaces. Changed color of focus to -webkit-focus-ring-color. Changed width of focus to 5px. Added an outline-offset for <input type=text> of -2px.
  • css/cssparser.cpp: (WebCore::CSSParser::parseValue): Added focus ring color as an outline color all the time, and as any other color when not in strict mode. I'm confused about what's best for this whole strict mode policy, and I may need advice on Hyatt to perfect this one later. (WebCore::CSSParser::parseColorFromValue): Removed code to pin r, g, and b because the functions in platform already take care of that. Kept the pinning of a, though because that's done in floating point before converting to an integer. (WebCore::CSSParser::parseShadow): Allow focus ring color when not in strict mode.
  • bridge/mac/FrameMac.h: Eliminated the virtual detachFromView function.
  • bridge/mac/FrameMac.mm: (WebCore::FrameMac::FrameMac): Eliminated code to maintain the frame instances list. (WebCore::FrameMac::~FrameMac): Ditto. (WebCore::Frame::setNeedsReapplyStyles): Added.
  • bridge/mac/WebCoreSettings.mm: (-[WebCoreSettings _updateAllViews]):
  • platform/mac/WebCoreTextRendererFactory.mm: (-[WebCoreTextRendererFactory clearCaches]): Changed to call the new Page::setNeedsReapplyStylesForSettingsChange instead of using the obsolete Frame::instances.
  • page/Frame.h: Removed instances, mutableInstances, and detachFromView.
  • page/Frame.cpp: Ditto.
  • page/FrameTree.cpp: (WebCore::FrameTree::~FrameTree): Call setView(0) instead of detachFromView(). (WebCore::FrameTree::removeChild): Ditto.
  • page/Page.h:
  • page/Page.cpp: (WebCore::Page::init): Added a set of pages instead of a page count. Also register a function for when the focus ring color changes the first time this is called. (WebCore::Page::~Page): Call setView(0) instead of detachFromView. Also update to manager the set of pages. (WebCore::Page::setNeedsReapplyStyles): Call setNeedsReapplyStyles on all frames. (WebCore::Page::setNeedsReapplyStylesForSettingsChange): Call setNeedsReapplyStyles on all frames with the passed-in settings.
  • css/make-css-file-arrays.pl: Changed to run the C preprocessor on the input files and to generate an array of char instead of unsigned short.
  • platform/PlatformString.h: Added a constructor that takes a char* and a length.
  • platform/String.cpp: (WebCore::String::String): Ditto.
  • WebCore.xcodeproj/project.pbxproj: Just some tweaks; adding in a few files like the user agent style sheets.
  • platform/Color.h: Removed all use of DeprecatedString. Cleaned up a bit. Added focusRingColor and setFocusRingColorChangeFunction.
  • platform/Color.cpp: (WebCore::makeRGB): Rewrote using max and min. (WebCore::makeRGBA): Ditto. (WebCore::parseHexColor): Cleaned up a bit; changed partway to String instead of DeprecatedString. (WebCore::Color::Color): Changed to use String and to call setNamedColor to save code. (WebCore::Color::setNamedColor): Changed to use String in the interface.
  • platform/mac/ColorMac.mm: (WebCore::observeTheme): Added. Function used to start up the observer. (WebCore::setFocusRingColorChangeFunction): Added. Used to get a call back so we can update all the views when the color changes (including recomputing style to get the color change in). (WebCore::setFocusRingColorChangeFunction): Added. Returns one of the two focus ring colors. Both of these match what AppKit uses -- neither matches what we used to have in the html4.css file. (+[WebCoreControlTintObserver controlTintDidChange]): Added. Used to update when the appearance is changed from blue to graphite and back. We keep a global so we don't have to call over to AppKit every time; that's probably overkill but we need the obsever for the color change function anyway.
12:54 PM Changeset in webkit [13638] by adele
  • 3 edits
    4 adds in trunk

LayoutTests:

Reviewed by Darin.

  • fast/inline-block/overflow-clip-expected.checksum: Added.
  • fast/inline-block/overflow-clip-expected.png: Added.
  • fast/inline-block/overflow-clip-expected.txt: Added.
  • fast/inline-block/overflow-clip.html: Added.

WebCore:

Test: fast/inline-block/overflow-clip.html

Reviewed by Darin.

  • rendering/render_line.cpp: (WebCore::InlineFlowBox::placeBoxesVertically): Don't look at interior overflow when calculating the contribution to the inline's vertical overflows.
5:13 AM Changeset in webkit [13637] by eseidel
  • 11 edits in trunk/WebCore

2006-04-02 Eric Seidel <eseidel@apple.com>

Reviewed by andersca.

Make WebCore safe against KJS::Node in JavaScriptCore private headers.

  • editing/ReplaceSelectionCommand.h:
  • khtml/ecma/JSXMLSerializer.cpp: (KJS::XMLSerializerProtoFunc::callAsFunction):
  • khtml/ecma/JSXSLTProcessor.cpp: (KJS::XSLTProcessorProtoFunc::callAsFunction):
  • khtml/ecma/kjs_binding.cpp: (KJS::ScriptInterpreter::forgetDOMNodeForDocument): (KJS::ScriptInterpreter::putDOMNodeForDocument):
  • khtml/ecma/kjs_dom.cpp: (KJS::DOMNode::DOMNode): (KJS::DOMNode::mark): (KJS::DOMNode::getValueProperty): (KJS::DOMNode::putValueProperty): (KJS::DOMNodeProtoFunc::callAsFunction): (KJS::toNode): (KJS::DOMEventTargetNode::DOMEventTargetNode): (KJS::DOMDocumentProtoFunc::callAsFunction): (KJS::DOMElement::putValueProperty): (KJS::DOMElementProtoFunc::callAsFunction): (KJS::checkNodeSecurity): (KJS::toJS): (KJS::getRuntimeObject): (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection): (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
  • khtml/ecma/kjs_events.cpp: (KJS::JSLazyEventListener::JSLazyEventListener): (KJS::ClipboardProtoFunc::callAsFunction):
  • khtml/ecma/kjs_html.cpp: (KJS::JSHTMLDocument::namedItemGetter): (KJS::JSHTMLElement::framesetNameGetter): (KJS::JSHTMLElement::getOwnPropertySlot): (KJS::JSHTMLElement::pushEventHandlerScope): (KJS::JSHTMLCollection::callAsFunction): (KJS::JSHTMLCollection::getNamedItems): (KJS::JSHTMLSelectCollection::put):
  • khtml/ecma/kjs_traversal.cpp: (KJS::JSNodeFilterCondition::acceptNode):
  • khtml/ecma/kjs_window.cpp: (KJS::Window::put):
  • kwq/KWQPageState.mm: (-[KWQPageState WebCore::]):
4:41 AM Changeset in webkit [13636] by eseidel
  • 1 edit
    1 add in trunk/JavaScriptGlue

2006-04-02 Eric Seidel <eseidel@apple.com>

Reviewed by andersca.

Add missing forwarding header.

  • kxmlcore/Vector.h: Added.

Apr 1, 2006:

6:41 PM Changeset in webkit [13634] by darin
  • 75 edits
    6 deletes in trunk/WebCore

Reviewed by Eric.

  • removed a bunch of unneeded ForwardingHeaders and WebCore+SVG headers
  • ForwardingHeaders/kcanvas: Removed.
  • ForwardingHeaders/kcanvas/KCanvas.h: Removed.
  • ForwardingHeaders/kdom: Removed.
  • ForwardingHeaders/kdom/DOMString.h: Removed.
  • ForwardingHeaders/kdom/Helper.h: Removed.
  • ForwardingHeaders/kdom/KDOMSettings.h: Removed.
  • ForwardingHeaders/kdom/Namespace.h: Removed.
  • ForwardingHeaders/kdom/cache: Removed.
  • ForwardingHeaders/kdom/cache/KDOMCachedImage.h: Removed.
  • ForwardingHeaders/kdom/cache/KDOMCachedObject.h: Removed.
  • ForwardingHeaders/kdom/cache/KDOMCachedObjectClient.h: Removed.
  • ForwardingHeaders/kdom/cache/KDOMCachedScript.h: Removed.
  • ForwardingHeaders/kdom/cache/KDOMLoader.h: Removed.
  • ForwardingHeaders/kdom/core: Removed.
  • ForwardingHeaders/kdom/core/DOMConfiguration.h: Removed.
  • ForwardingHeaders/kdom/core/DOMException.h: Removed.
  • ForwardingHeaders/kdom/core/DOMList.h: Removed.
  • ForwardingHeaders/kdom/core/DOMString.h: Removed.
  • ForwardingHeaders/kdom/core/NamedAttrMap.h: Removed.
  • ForwardingHeaders/kdom/core/ProcessingInstruction.h: Removed.
  • ForwardingHeaders/kdom/core/domattrs.h: Removed.
  • ForwardingHeaders/kdom/ecma: Removed.
  • ForwardingHeaders/kdom/ecma/GlobalObject.h: Removed.
  • ForwardingHeaders/kdom/events: Removed.
  • ForwardingHeaders/kdom/events/Event.h: Removed.
  • ForwardingHeaders/kdom/events/EventListener.h: Removed.
  • ForwardingHeaders/kdom/events/EventTarget.h: Removed.
  • ForwardingHeaders/kdom/events/KeyboardEvent.h: Removed.
  • ForwardingHeaders/kdom/events/MouseEvent.h: Removed.
  • ForwardingHeaders/kdom/events/UIEvent.h: Removed.
  • ForwardingHeaders/kdom/events/kdomevents.h: Removed.
  • ForwardingHeaders/kdom/kdom.h: Removed.
  • ForwardingHeaders/kdom/parser: Removed.
  • ForwardingHeaders/kdom/parser/KDOMParser.h: Removed.
  • ForwardingHeaders/ksvg2: Removed.
  • ForwardingHeaders/ksvg2/KSVGPart.h: Removed.
  • ForwardingHeaders/ksvg2/KSVGView.h: Removed.
  • ForwardingHeaders/ksvg2/css: Removed.
  • ForwardingHeaders/ksvg2/css/CSSPropertyNames.h: Removed.
  • ForwardingHeaders/ksvg2/css/CSSValueKeywords.h: Removed.
  • WebCore+SVG/KDOMHeaders.h: Removed.
  • WebCore+SVG/Namespace.h: Removed.
  • WebCore+SVG/kdom.h: Removed.
  • WebCore.xcodeproj/project.pbxproj: Removed headers.
  • kcanvas/KCanvasCreator.cpp:
  • kcanvas/KCanvasResources.cpp:
  • kcanvas/KCanvasTreeDebug.cpp:
  • kcanvas/RenderPath.cpp:
  • kcanvas/RenderSVGImage.cpp:
  • kcanvas/device/quartz/KCanvasItemQuartz.mm:
  • kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
  • kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
  • kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
  • ksvg2/css/SVGCSSStyleSelector.cpp:
  • ksvg2/events/SVGZoomEvent.h:
  • ksvg2/misc/KCanvasRenderingStyle.cpp:
  • ksvg2/misc/KSVGTimeScheduler.cpp:
  • ksvg2/misc/SVGImageLoader.cpp:
  • ksvg2/svg/SVGAElement.cpp:
  • ksvg2/svg/SVGAnimationElement.cpp:
  • ksvg2/svg/SVGCircleElement.cpp:
  • ksvg2/svg/SVGClipPathElement.cpp:
  • ksvg2/svg/SVGCursorElement.cpp:
  • ksvg2/svg/SVGCursorElement.h:
  • ksvg2/svg/SVGDOMImplementation.cpp:
  • ksvg2/svg/SVGDocument.cpp:
  • ksvg2/svg/SVGDocument.h:
  • ksvg2/svg/SVGElement.cpp:
  • ksvg2/svg/SVGEllipseElement.cpp:
  • ksvg2/svg/SVGExternalResourcesRequired.cpp:
  • ksvg2/svg/SVGExternalResourcesRequired.h:
  • ksvg2/svg/SVGFEBlendElement.cpp:
  • ksvg2/svg/SVGFEColorMatrixElement.cpp:
  • ksvg2/svg/SVGFEComponentTransferElement.cpp:
  • ksvg2/svg/SVGFECompositeElement.cpp:
  • ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
  • ksvg2/svg/SVGFEDisplacementMapElement.cpp:
  • ksvg2/svg/SVGFEFloodElement.cpp:
  • ksvg2/svg/SVGFEGaussianBlurElement.cpp:
  • ksvg2/svg/SVGFEImageElement.cpp:
  • ksvg2/svg/SVGFEImageElement.h:
  • ksvg2/svg/SVGFELightElement.cpp:
  • ksvg2/svg/SVGFEMergeElement.cpp:
  • ksvg2/svg/SVGFEOffsetElement.cpp:
  • ksvg2/svg/SVGFESpecularLightingElement.cpp:
  • ksvg2/svg/SVGFETileElement.cpp:
  • ksvg2/svg/SVGFETurbulenceElement.cpp:
  • ksvg2/svg/SVGFilterElement.cpp:
  • ksvg2/svg/SVGGradientElement.cpp:
  • ksvg2/svg/SVGHelper.cpp:
  • ksvg2/svg/SVGImageElement.cpp:
  • ksvg2/svg/SVGLangSpace.cpp:
  • ksvg2/svg/SVGLength.cpp:
  • ksvg2/svg/SVGLineElement.cpp:
  • ksvg2/svg/SVGLinearGradientElement.cpp:
  • ksvg2/svg/SVGList.h:
  • ksvg2/svg/SVGLocatable.cpp:
  • ksvg2/svg/SVGMarkerElement.cpp:
  • ksvg2/svg/SVGMarkerElement.h:
  • ksvg2/svg/SVGMaskElement.cpp:
  • ksvg2/svg/SVGPathElement.cpp:
  • ksvg2/svg/SVGPatternElement.cpp:
  • ksvg2/svg/SVGPolyElement.cpp:
  • ksvg2/svg/SVGPolygonElement.cpp:
  • ksvg2/svg/SVGPolylineElement.cpp:
  • ksvg2/svg/SVGRadialGradientElement.cpp:
  • ksvg2/svg/SVGRectElement.cpp:
  • ksvg2/svg/SVGSVGElement.cpp:
  • ksvg2/svg/SVGStopElement.cpp:
  • ksvg2/svg/SVGStyleElement.cpp:
  • ksvg2/svg/SVGStyledElement.cpp:
  • ksvg2/svg/SVGStyledLocatableElement.cpp:
  • ksvg2/svg/SVGStyledTransformableElement.cpp:
  • ksvg2/svg/SVGTextElement.cpp:
  • ksvg2/svg/SVGTransformable.cpp:
  • ksvg2/svg/SVGUseElement.cpp:
  • ksvg2/svg/SVGViewElement.cpp: Updated includes.
5:57 PM Changeset in webkit [13633] by eseidel
  • 2 edits in trunk/WebKitLibraries

2006-04-01 Eric Seidel <eseidel@apple.com>

  • libWebKitSystemInterface.a: commit a universal binary.
4:14 PM Changeset in webkit [13632] by darin
  • 1 add in trunk/LayoutTests/fast/forms/input-text-scroll-left-on-blur-expected.png

Oops. File was in change log, but not in commit.

4:04 PM Changeset in webkit [13631] by darin
  • 3 edits in trunk/WebCore

Reviewed by Maciej.

Need a way to make a test for this. No obvious way at the moment.

  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::caretRect): Consider border, padding, and the width of the caret properly in the calculation of the caret's X position.
  • rendering/RenderBox.cpp: (WebCore::RenderBox::caretRect): Fixed some similar issues and rewrote this function for clarity. However, I suspect this function was and remains broken and is almost never called.
3:35 PM Changeset in webkit [13630] by darin
  • 9 edits
    3 adds in trunk

LayoutTests:

Reviewed by Justin.

  • fast/forms/input-text-scroll-left-on-blur-expected.png: Added.
  • fast/forms/input-text-scroll-left-on-blur-expected.txt: Added.
  • fast/forms/input-text-scroll-left-on-blur-expected.checksum: Added.
  • fast/forms/input-text-scroll-left-on-blur.html: Added.

WebCore:

Reviewed by Justin.

Test: fast/forms/input-text-scroll-left-on-blur.html

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): Pass blur events through to the RenderTextField, as well as mouse, drag, and wheel events.
  • rendering/RenderTextField.cpp: (WebCore::RenderTextField::forwardEvent): Scroll all the way to the left on a blur.
  • unrelated small changes
  • html/HTMLTextFieldInnerElement.cpp: Removed excess includes. (WebCore::HTMLTextFieldInnerElement::defaultEventHandler): Tweaked comments a bit.
  • dom/Element.cpp: (WebCore::Element::scrollIntoView): Removed unneeded this-> before function call. (WebCore::Element::scrollIntoViewIfNeeded): Ditto.
  • page/FrameView.cpp: (WebCore::FrameView::dispatchMouseEvent): Removed obsolete comment.

WebKitTools:

Reviewed by Justin.

  • DumpRenderTree/EventSendingController.m: (-[EventSendingController keyDown:withModifiers:]): Fixed keyDown function so that it will work if you don't pass an array of modifiers or if elements in that array are not strings.
2:27 PM Changeset in webkit [13629] by darin
  • 2 edits in trunk/WebKitLibraries

Reviewed by Beth.

  • libWebKitSystemInterface.a: Changed alpha in the focus-ring drawing code to use the system default alpha.
12:59 PM Changeset in webkit [13628] by mjs
  • 1 edit in trunk/WebCore/editing/ReplaceSelectionCommand.cpp

Ooops, actually land the fix with this ChangeLog entry:

2006-03-31 Maciej Stachowiak <mjs@apple.com>

Reviewed by Adele.


<rdar://problem/4497684> REGRESSION(NativeTextField): After undoing pasted text in a field, the field changes to only a few pixels in height (8096)

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): merge into start block when pasting into an empty editable subtree.
11:39 AM Changeset in webkit [13627] by darin
  • 62 edits in trunk/LayoutTests
  • re-updated many pixel results to try to create a new baseline
2:14 AM Changeset in webkit [13626] by mjs
  • 2 edits
    2 adds in trunk

LayoutTests:

Test cases for:


<rdar://problem/4497684> REGRESSION(NativeTextField): After undoing pasted text in a field, the field changes to only a few pixels in height (8096)

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

WebCore:

Reviewed by Adele.


<rdar://problem/4497684> REGRESSION(NativeTextField): After undoing pasted text in a field, the field changes to only a few pixels in height (8096)

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): merge into start block when pasting into an empty editable subtree.
1:40 AM Changeset in webkit [13625] by darin
  • 4 edits
    4 adds in trunk

LayoutTests:

  • fast/forms/input-text-double-click-expected.checksum: Added.
  • fast/forms/input-text-double-click-expected.png: Added.
  • fast/forms/input-text-double-click-expected.txt: Added.
  • fast/forms/input-text-double-click.html: Added.

WebCore:

Reviewed by Maciej.

Test: fast/forms/input-text-double-click.html

  • editing/visible_units.cpp: (WebCore::nextBoundary): Set the end of the range by calling selectNodeContents rather than by calling setEndAfter. The problem with setEndAfter is that it doesn't do anything when the parent of the node is 0, and also it's not really what we want, since the boundary node is one with editable contents -- we want to stay inside the boundary node.
  • editing/Selection.cpp: (WebCore::Selection::validate): Fix a tiny formatting glitch I noticed at the same time.
1:32 AM Changeset in webkit [13624] by darin
  • 3 edits
    4 adds in trunk

LayoutTests:

  • fast/forms/input-text-option-delete-expected.checksum: Added.
  • fast/forms/input-text-option-delete-expected.png: Added.
  • fast/forms/input-text-option-delete-expected.txt: Added.
  • fast/forms/input-text-option-delete.html: Added.

WebKit:

Reviewed by Maciej.

Test: fast/forms/input-text-option-delete.html

  • WebView/WebHTMLView.m: (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Pass NO for smartDeleteOK. Smart deletion only applies to deleting a word at a time, and none of the callers of this function that delete a word at a time want smart deletion. (-[WebHTMLView deleteToEndOfLine:]): Fixed tiny formatting glitch.

Mar 31, 2006:

4:40 PM Changeset in webkit [13623] by thatcher
  • 1 edit in trunk/WebKitTools/BuildSlaveSupport/run-performance-tests

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

4:12 PM Changeset in webkit [13622] by thatcher
  • 1 edit in trunk/WebKitTools/BuildSlaveSupport/run-performance-tests

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

3:14 PM Changeset in webkit [13621] by sullivan
  • 2 edits in trunk/WebCore

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.
2:39 PM Changeset in webkit [13620] by thatcher
  • 2 edits in trunk/WebKit

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
1:50 PM Changeset in webkit [13619] by bdakin
  • 3 edits
    4 adds in trunk

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

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 PM Changeset in webkit [13617] by tomernic
  • 3 edits
    2 adds in trunk

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

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 PM Changeset in webkit [13615] by ap
  • 3 edits
    2 copies
    7 adds in trunk

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

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

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 AM Changeset in webkit [13612] by hyatt
  • 4 edits in trunk/WebCore

FIx theme borders on win32.

10:51 AM Changeset in webkit [13611] by darin
  • 14 edits
    2 adds in trunk

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 AM Changeset in webkit [13610] by darin
  • 2 edits in trunk/JavaScriptCore

Reviewed by Geoff.

  • <rdar://problem/4395622> API: WebScriptObject.h incorrectly reports that -isSelectorExcludedFromWebScript returns NO by default
  • bindings/objc/WebScriptObject.h: Fixed comment.
9:40 AM Changeset in webkit [13609] by bdakin
  • 1 edit
    4 adds in trunk/LayoutTests

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

8:39 AM Changeset in webkit [13608] by darin
  • 1 edit in trunk/JavaScriptCore/ChangeLog

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

3:45 AM Changeset in webkit [13607] by hyatt
  • 1 edit in trunk/WebCore/rendering/RenderTheme.cpp

Fix my build bustage with themes.

3:32 AM Changeset in webkit [13606] by mjs
  • 4 edits in trunk/WebCore
  • 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):
3:24 AM Changeset in webkit [13605] by mjs
  • 22 edits in trunk/WebCore

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):
3:18 AM Changeset in webkit [13604] by mjs
  • 2 edits in trunk/WebCore
  • fixed windows build
  • platform/win/TemporaryLinkStubs.cpp: (Widget::unlockDrawingFocus):
1:15 AM Changeset in webkit [13603] by eseidel
  • 8 edits in trunk/JavaScriptCore

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):
1:14 AM Changeset in webkit [13602] by eseidel
  • 9 edits in trunk/WebCore

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):

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.