WebKit-https.git
14 years agoVersioning
thatcher [Sat, 8 Jul 2006 09:30:45 +0000 (09:30 +0000)]
Versioning

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15228 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago - build fix
ggaren [Sat, 8 Jul 2006 03:36:20 +0000 (03:36 +0000)]
    - build fix

        * JSUtils.cpp:
        (KJSValueToCFTypeInternal):
        * JSValueWrapper.cpp:
        (JSValueWrapper::JSObjectCopyPropertyNames):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15227 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
justing [Sat, 8 Jul 2006 02:32:13 +0000 (02:32 +0000)]
LayoutTests:

        Reviewed by levi

        * editing/selection/editable-non-editable-crash-expected.checksum: Added.
        * editing/selection/editable-non-editable-crash-expected.png: Added.
        * editing/selection/editable-non-editable-crash-expected.txt: Added.
        * editing/selection/editable-non-editable-crash.html: Added.
        * editing/selection/skip-non-editable-1-expected.txt:
        * editing/selection/skip-non-editable-1.html:

WebCore:

        Reviewed by levi

        Fix Mail ToDo crashers.

        * dom/Range.cpp:
        (WebCore::Range::compareBoundaryPoints): Added an ASSERT that both
        containers are non-null and an early return.
        * editing/Selection.cpp:
        (WebCore::Selection::validate): Fix a dangling start/end.
        (WebCore::Selection::adjustForEditableContent): Added an early return if
        m_start or m_end are null.
        (WebCore::Selection::isContentEditable): Use isRichlyEditablePosition.
        (WebCore::Selection::isContentRichlyEditable): Ditto.
        * editing/Selection.h:
        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::next): Use the new highestEditableRoot.
        (WebCore::VisiblePosition::previous): Ditto.
        * editing/htmlediting.cpp:
        (WebCore::highestEditableRoot): Takes in a position.
        (WebCore::isEditablePosition): Added.
        (WebCore::isRichlyEditablePosition): Added.
        (WebCore::rootEditableElement): Added.
        (WebCore::nextCandidate): Moved and split out from nextVisiblePosition.
        (WebCore::nextVisuallyDistinctCandidate): Ditto.
        (WebCore::previousCandidate): Moved and split out from previousVisiblePosition.
        (WebCore::previousVisuallyDistinctCandidate): Ditto.
        (WebCore::firstEditablePositionAfterPositionInRoot): Iterate over positions,
        using nextVisuallyDistinctCandidate, skipping atomic nodes that are non-editable.
        (WebCore::lastEditablePositionBeforePositionInRoot): Ditto.
        * editing/htmlediting.h:
        * editing/visible_units.cpp:
        (WebCore::startOfWord): Added a FIXME.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15226 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Maciej.
ggaren [Sat, 8 Jul 2006 02:25:55 +0000 (02:25 +0000)]
    Reviewed by Maciej.

        - Standardized which functions take a JSContext as an argument. The rule is:
        if you might execute JavaScript, you take a JSContext, otherwise you don't.

        The FIXME in JSObjectRef.h requires refactoring some parts of Interpreter,
        but not API changes, so I'm putting it off until later.

        * API/JSCallbackObject.cpp:
        (KJS::JSCallbackObject::JSCallbackObject):
        (KJS::JSCallbackObject::init):
        * API/JSCallbackObject.h:
        * API/JSContextRef.cpp:
        (JSContextCreate):
        * API/JSContextRef.h:
        * API/JSObjectRef.cpp:
        (JSObjectMake):
        (JSPropertyEnumeratorGetNext):
        * API/JSObjectRef.h:
        * API/testapi.c:
        (MyObject_initialize):
        (main):
        * JavaScriptCore.exp:
        * kjs/array_object.cpp:
        (ArrayInstance::setLength):
        (ArrayInstance::pushUndefinedObjectsToEnd):
        * kjs/nodes.cpp:
        (ForInNode::execute):
        * kjs/reference.cpp:
        (KJS::Reference::getPropertyName):
        (KJS::Reference::getValue):
        * kjs/reference.h:
        * kjs/scope_chain.cpp:
        (KJS::ScopeChain::print):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15225 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Maciej.
ggaren [Sat, 8 Jul 2006 02:02:47 +0000 (02:02 +0000)]
    Reviewed by Maciej.

        More API action.

        - Headerdoc finished

        Semantic Changes:
        - Added a JSContextRef argument to many functions, because you need a
        JSContextRef for doing virtually anything. I expect to add this argument
        to even more functions in a future patch.

        - Removed the globalObjectPrototype argument to JSContextCreate because
        you can't create an object until you have a context, so it's impossible
        to pass a prototype object to JSContextCreate. That's OK because (1) there's
        no reason to give the global object a prototype and (2) if you really want
        to, you can just use a separate call to JSObjectSetPrototype.

        - Removed the JSClassRef argument to JSClassCreate because it was unnecessary,
        and you need to be able to make the global object's class before you've
        created a JSContext.

        - Added an optional exception parameter to JSFunctionMakeWithBody because anything
        less would be uncivilized.

        - Made the return value parameter to JSObjectGetProperty optional to match
        all other return value parameters in the API.

        - Made JSObjectSetPrivate/JSObjectGetPrivate work on JSCallbackFunctions
        and JSCallbackConstructors. You could use an abstract base class or strategic
        placement of m_privateData in the class structure to implement this, but
        the former seemed like overkill, and the latter seemed too dangerous.

        - Fixed a bug where JSPropertyEnumeratorGetNext would skip the first property.

        Cosmetic Changes:
        - Reversed the logic of the JSChar #ifdef to avoid confusing headerdoc

        - Removed function names from @function declarations because headeroc
        can parse them automatically, and I wanted to rule out manual mismatch.

        - Changed Error::create to take a const UString& instead of a UString*
        because it was looking at me funny.

        - Renamed JSStringBufferCreateWithCFString to JSStringBufferCreateCF
        because the latter is more concise and it matches JSStringBufferCreateUTF8.

        * API/JSCallbackObject.cpp:
        (KJS::JSCallbackObject::getOwnPropertySlot):
        (KJS::JSCallbackObject::put):
        (KJS::JSCallbackObject::deleteProperty):
        (KJS::JSCallbackObject::getPropertyList):
        (KJS::JSCallbackObject::toBoolean):
        (KJS::JSCallbackObject::toNumber):
        (KJS::JSCallbackObject::toString):
        * API/JSClassRef.cpp:
        (JSClassCreate):
        * API/JSContextRef.cpp:
        (JSContextCreate):
        (JSContextSetException):
        * API/JSContextRef.h:
        * API/JSNode.c:
        (JSNodePrototype_class):
        (JSNode_class):
        * API/JSNodeList.c:
        (JSNodeListPrototype_class):
        (JSNodeList_class):
        * API/JSObjectRef.cpp:
        (JSObjectGetProperty):
        (JSObjectGetPrivate):
        (JSObjectSetPrivate):
        (JSObjectCallAsFunction):
        (JSObjectCallAsConstructor):
        (JSPropertyEnumeratorGetNext):
        * API/JSObjectRef.h:
        * API/JSStringBufferRef.cpp:
        (JSStringBufferCreateCF):
        * API/JSStringBufferRef.h:
        * API/JSValueRef.cpp:
        (JSValueIsInstanceOf):
        * API/JSValueRef.h:
        * API/minidom.c:
        (main):
        * API/minidom.js:
        * API/testapi.c:
        (MyObject_hasProperty):
        (MyObject_setProperty):
        (MyObject_deleteProperty):
        (MyObject_getPropertyList):
        (MyObject_convertToType):
        (MyObject_class):
        (main):
        * JavaScriptCore.exp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15224 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by NOBODY
lweintraub [Sat, 8 Jul 2006 01:45:10 +0000 (01:45 +0000)]
    Reviewed by NOBODY

        Missed a few in the last update...

        * fast/forms/input-delete-expected.txt:
        * fast/repaint/inline-outline-repaint-expected.txt:
        * fast/repaint/selection-after-delete-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15223 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
lweintraub [Sat, 8 Jul 2006 00:46:12 +0000 (00:46 +0000)]
LayoutTests:

        Reviewed by justin

        Deletion editing deligates now show up!

        * editing/deleting/collapse-whitespace-3587601-fix-expected.txt:
        * editing/deleting/delete-3608430-fix-expected.txt:
        * editing/deleting/delete-3608445-fix-expected.txt:
        * editing/deleting/delete-3608462-fix-expected.txt:
        * editing/deleting/delete-3775172-fix-expected.txt:
        * editing/deleting/delete-3800834-fix-expected.txt:
        * editing/deleting/delete-3857753-fix-expected.txt:
        * editing/deleting/delete-3865854-fix-expected.txt:
        * editing/deleting/delete-3928305-fix-expected.txt:
        * editing/deleting/delete-3959464-fix-expected.txt:
        * editing/deleting/delete-4038408-fix-expected.txt:
        * editing/deleting/delete-4083333-fix-expected.txt:
        * editing/deleting/delete-after-span-ws-001-expected.txt:
        * editing/deleting/delete-after-span-ws-002-expected.txt:
        * editing/deleting/delete-after-span-ws-003-expected.txt:
        * editing/deleting/delete-all-text-in-text-field-assertion-expected.txt:
        * editing/deleting/delete-and-undo-expected.txt:
        * editing/deleting/delete-at-paragraph-boundaries-001-expected.txt:
        * editing/deleting/delete-at-paragraph-boundaries-002-expected.txt:
        * editing/deleting/delete-at-paragraph-boundaries-003-expected.txt:
        * editing/deleting/delete-at-paragraph-boundaries-004-expected.txt:
        * editing/deleting/delete-at-paragraph-boundaries-005-expected.txt:
        * editing/deleting/delete-at-paragraph-boundaries-006-expected.txt:
        * editing/deleting/delete-at-paragraph-boundaries-007-expected.txt:
        * editing/deleting/delete-at-paragraph-boundaries-008-expected.txt:
        * editing/deleting/delete-at-paragraph-boundaries-009-expected.txt:
        * editing/deleting/delete-at-paragraph-boundaries-010-expected.txt:
        * editing/deleting/delete-at-paragraph-boundaries-011-expected.txt:
        * editing/deleting/delete-block-contents-001-expected.txt:
        * editing/deleting/delete-block-contents-002-expected.txt:
        * editing/deleting/delete-block-contents-003-expected.txt:
        * editing/deleting/delete-block-merge-contents-001-expected.txt:
        * editing/deleting/delete-block-merge-contents-002-expected.txt:
        * editing/deleting/delete-block-merge-contents-003-expected.txt:
        * editing/deleting/delete-block-merge-contents-004-expected.txt:
        * editing/deleting/delete-block-merge-contents-005-expected.txt:
        * editing/deleting/delete-block-merge-contents-006-expected.txt:
        * editing/deleting/delete-block-merge-contents-007-expected.txt:
        * editing/deleting/delete-block-merge-contents-008-expected.txt:
        * editing/deleting/delete-block-merge-contents-009-expected.txt:
        * editing/deleting/delete-block-merge-contents-010-expected.txt:
        * editing/deleting/delete-block-merge-contents-012-expected.txt:
        * editing/deleting/delete-block-merge-contents-013-expected.txt:
        * editing/deleting/delete-block-merge-contents-014-expected.txt:
        * editing/deleting/delete-block-merge-contents-015-expected.txt:
        * editing/deleting/delete-block-merge-contents-016-expected.txt:
        * editing/deleting/delete-block-merge-contents-017-expected.txt:
        * editing/deleting/delete-block-merge-contents-018-expected.txt:
        * editing/deleting/delete-block-merge-contents-019-expected.txt:
        * editing/deleting/delete-block-merge-contents-020-expected.txt:
        * editing/deleting/delete-block-merge-contents-021-expected.txt:
        * editing/deleting/delete-block-merge-contents-022-expected.txt:
        * editing/deleting/delete-block-merge-contents-023-expected.txt:
        * editing/deleting/delete-block-merge-contents-024-expected.txt:
        * editing/deleting/delete-br-001-expected.txt:
        * editing/deleting/delete-br-002-expected.txt:
        * editing/deleting/delete-br-003-expected.txt:
        * editing/deleting/delete-br-004-expected.txt:
        * editing/deleting/delete-br-005-expected.txt:
        * editing/deleting/delete-br-006-expected.txt:
        * editing/deleting/delete-br-007-expected.txt:
        * editing/deleting/delete-br-008-expected.txt:
        * editing/deleting/delete-br-009-expected.txt:
        * editing/deleting/delete-br-010-expected.txt:
        * editing/deleting/delete-br-011-expected.txt:
        * editing/deleting/delete-character-001-expected.txt:
        * editing/deleting/delete-contiguous-ws-001-expected.txt:
        * editing/deleting/delete-image-001-expected.txt:
        * editing/deleting/delete-image-002-expected.txt:
        * editing/deleting/delete-image-003-expected.txt:
        * editing/deleting/delete-image-004-expected.txt:
        * editing/deleting/delete-leading-ws-001-expected.txt:
        * editing/deleting/delete-line-001-expected.txt:
        * editing/deleting/delete-line-002-expected.txt:
        * editing/deleting/delete-line-003-expected.txt:
        * editing/deleting/delete-line-004-expected.txt:
        * editing/deleting/delete-line-005-expected.txt:
        * editing/deleting/delete-line-006-expected.txt:
        * editing/deleting/delete-line-007-expected.txt:
        * editing/deleting/delete-line-008-expected.txt:
        * editing/deleting/delete-line-009-expected.txt:
        * editing/deleting/delete-line-010-expected.txt:
        * editing/deleting/delete-line-011-expected.txt:
        * editing/deleting/delete-line-012-expected.txt:
        * editing/deleting/delete-line-013-expected.txt:
        * editing/deleting/delete-line-014-expected.txt:
        * editing/deleting/delete-line-015-expected.txt:
        * editing/deleting/delete-line-016-expected.txt:
        * editing/deleting/delete-line-017-expected.txt:
        * editing/deleting/delete-line-end-ws-001-expected.txt:
        * editing/deleting/delete-line-end-ws-002-expected.txt:
        * editing/deleting/delete-listitem-001-expected.txt:
        * editing/deleting/delete-listitem-002-expected.txt:
        * editing/deleting/delete-select-all-001-expected.txt:
        * editing/deleting/delete-select-all-002-expected.txt:
        * editing/deleting/delete-select-all-003-expected.txt:
        * editing/deleting/delete-selection-001-expected.txt:
        * editing/deleting/delete-tab-001-expected.txt:
        * editing/deleting/delete-tab-002-expected.txt:
        * editing/deleting/delete-tab-003-expected.txt:
        * editing/deleting/delete-tab-004-expected.txt:
        * editing/deleting/delete-trailing-ws-001-expected.txt:
        * editing/deleting/delete-trailing-ws-002-expected.txt:
        * editing/deleting/delete-ws-fixup-001-expected.txt:
        * editing/deleting/delete-ws-fixup-002-expected.txt:
        * editing/deleting/delete-ws-fixup-003-expected.txt:
        * editing/deleting/delete-ws-fixup-004-expected.txt:
        * editing/deleting/forward-delete-expected.txt:
        * editing/deleting/merge-different-styles-expected.txt:
        * editing/deleting/merge-endOfParagraph-expected.txt:
        * editing/deleting/merge-into-empty-block-1-expected.txt:
        * editing/deleting/merge-into-empty-block-2-expected.txt:
        * editing/deleting/merge-no-br-expected.txt:
        * editing/deleting/merge-unrendered-space-expected.txt:
        * editing/deleting/pruning-after-merge-1-expected.txt:
        * editing/deleting/pruning-after-merge-2-expected.txt:
        * editing/deleting/smart-delete-001-expected.txt:
        * editing/deleting/smart-delete-002-expected.txt:
        * editing/deleting/table-cells-expected.txt:
        * editing/execCommand/insertHTML-expected.txt:
        * editing/input/text-input-controller-expected.txt:
        * editing/inserting/insert-3775316-fix-expected.txt:
        * editing/inserting/insert-3851164-fix-expected.txt:
        * editing/inserting/insert-after-delete-001-expected.txt:
        * editing/inserting/insert-div-021-expected.txt:
        * editing/inserting/insert-div-026-expected.txt:
        * editing/pasteboard/4076267-2-expected.txt:
        * editing/pasteboard/4076267-3-expected.txt:
        * editing/pasteboard/4076267-expected.txt:
        * editing/pasteboard/paste-table-002-expected.txt:
        * editing/pasteboard/paste-text-015-expected.txt:
        * editing/selection/move-between-blocks-no-001-expected.txt:
        * editing/selection/select-all-iframe-expected.txt:
        * editing/style/block-style-005-expected.txt:
        * editing/style/smoosh-styles-001-expected.txt:
        * editing/style/smoosh-styles-002-expected.txt:
        * editing/style/style-3681552-fix-002-expected.txt:
        * editing/style/typing-style-001-expected.txt:
        * editing/style/typing-style-002-expected.txt:
        * editing/unsupported-content/list-delete-001-expected.txt:
        * editing/unsupported-content/list-delete-002-expected.txt:
        * editing/unsupported-content/list-delete-003-expected.txt:
        * editing/unsupported-content/table-delete-001-expected.txt:
        * editing/unsupported-content/table-delete-002-expected.txt:
        * editing/unsupported-content/table-delete-003-expected.txt:
        * fast/forms/input-text-option-delete-expected.checksum:
        * fast/forms/input-text-option-delete-expected.txt:

WebCore:

        Reviewed by justin

        Allowed deletion typing commands to take in a granularity

        * bridge/mac/WebCoreFrameBridge.h: Pass granularity across the bridge
        * bridge/mac/WebCoreFrameBridge.mm: Ditto
        (-[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:]):
        (-[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:]):
        * editing/TypingCommand.cpp: Constructors take in a granularity
        (WebCore::TypingCommand::TypingCommand):
        (WebCore::TypingCommand::deleteKeyPressed):
        (WebCore::TypingCommand::forwardDeleteKeyPressed):
        * editing/TypingCommand.h: ditto
        * page/Frame.h: Fixed bug that shouldDeleteSelection wasn't virtual

WebKit:

        Reviewed by justin

        Finished moving deletion selection expansion across the bridge... say that 3 times fast.

        * WebView/WebHTMLView.m:  Pass granularity to WebCore to handle expansion
        (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:granularity:]):
        (-[WebHTMLView _deleteSelection]):
        (-[NSArray _deleteWithDirection:granularity:killRing:isTypingAction:]):
        (-[NSArray deleteToMark:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15222 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Anders and Tim Hatcher
beidson [Sat, 8 Jul 2006 00:27:22 +0000 (00:27 +0000)]
    Reviewed by Anders and Tim Hatcher

        Added an accessor to a SQLite config option to change its disk-syncing behavior.
        Used this accessor to significantly speed up writes to the Icon DB.

        * icon/IconDatabase.cpp:
        (WebCore::IconDatabase::open):  Disable full syncing to the SQLite db to speed up writes to the icondb

        * icon/SQLDatabase.cpp:
        (SQLDatabase::setFullsync):
        (SQLDatabase::setSynchronous):
        * icon/SQLDatabase.h:
        (WebCore::SQLDatabase::):  Added accessor to the SQLite config pragma "synchronous"

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15221 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Maciej.
darin [Sat, 8 Jul 2006 00:21:40 +0000 (00:21 +0000)]
    Reviewed by Maciej.

        - fixed a storage leak noticed by the buildbot

        * dom/Document.cpp: (WebCore::Document::removedLastRef):
        Call delete on the markers before clearing the map containing them.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15220 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2006-07-08 Anders Carlsson <acarlsson@apple.com>
andersca [Fri, 7 Jul 2006 23:46:22 +0000 (23:46 +0000)]
2006-07-08  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Brady.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=9777
        Reproducible crash in Loading/Frames in ToT.

        The problem was that the renderpart destructor resets the frame's
        owner element. For iframes, this should only be done when the element is
        going to be removed from the document.

        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::~HTMLIFrameElement):
        (WebCore::HTMLIFrameElement::willRemove):
        (WebCore::HTMLIFrameElement::removedFromDocument):
        (WebCore::HTMLIFrameElement::detach):
        * html/HTMLIFrameElement.h:
        Remove the frame in willRemove instead.

        * rendering/RenderPart.cpp:
        (WebCore::RenderPart::RenderPart):
        (WebCore::RenderPart::~RenderPart):
        * rendering/RenderPart.h:
        Don't call setFrame(0) in the destructor when the element is an iframe element.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15219 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Anders.
darin [Fri, 7 Jul 2006 23:01:53 +0000 (23:01 +0000)]
    Reviewed by Anders.

        - fixed a storage leak noticed by the buildbot

        * page/FrameView.cpp: (WebCore::FrameViewPrivate::~FrameViewPrivate):
        Delete m_scheduledEvents.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15218 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Added a bug number to an existing entry.
sullivan [Fri, 7 Jul 2006 22:39:51 +0000 (22:39 +0000)]
Added a bug number to an existing entry.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15217 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Adele.
darin [Fri, 7 Jul 2006 22:33:50 +0000 (22:33 +0000)]
    Reviewed by Adele.

        - fixed a couple of storage leaks noticed by the buildbot

        * html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::attach):
        Call deref on the style after calling setRenderStyle, since styleForRenderer
        returns us a "ref'd" RenderStyle object.
        * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::attach): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15216 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Adele.
darin [Fri, 7 Jul 2006 22:18:51 +0000 (22:18 +0000)]
    Reviewed by Adele.

        - fix some license mistakes

        * LICENSE-APPLE: Added more years of publication to the copyright here.

        * html/CanvasGradient.idl: Corrected license on this file. It had the wrong one.
        * html/CanvasPattern.idl: Ditto.
        * html/CanvasRenderingContext2D.idl: Ditto.
        * html/HTMLCanvasElement.idl: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15215 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by John
beidson [Fri, 7 Jul 2006 21:13:12 +0000 (21:13 +0000)]
    Reviewed by John

        Changed an ASSERT to a LOG_ERROR for an error that could be handled gracefully, but
        whose assertion was reproducibly causing a build bot failure

        * Misc/WebIconDatabase.m:
        (-[WebIconDatabase _releaseIconForIconURLString:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15214 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by John.
ggaren [Fri, 7 Jul 2006 20:41:27 +0000 (20:41 +0000)]
    Reviewed by John.

        - Fixed a few crashes resulting from NULL parameters to JSClassCreate.

        * API/JSClassRef.cpp:
        (JSClassCreate):
        (JSClassRelease):
        * API/testapi.c: Added test for NULL parameters.
        (main):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15213 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by John, mocked by Darin.
ggaren [Fri, 7 Jul 2006 20:39:38 +0000 (20:39 +0000)]
    Reviewed by John, mocked by Darin.

        - Changed JSEvaluate to take a JSObjectRef instead of a JSValueRef as
        "this," since "this" must be an object.

        * API/JSContextRef.cpp:
        (JSEvaluate):
        * API/JSContextRef.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15212 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by John.
ggaren [Fri, 7 Jul 2006 20:38:16 +0000 (20:38 +0000)]
    Reviewed by John.

        - More headerdoc

        * API/JSBase.h:
        * JavaScriptCore.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15211 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
lweintraub [Fri, 7 Jul 2006 19:33:28 +0000 (19:33 +0000)]
LayoutTests:

        Reviewed by justin

        Improved table editing

        * editing/deleting/delete-to-select-table-expected.checksum: Added.
        * editing/deleting/delete-to-select-table-expected.png: Added.
        * editing/deleting/delete-to-select-table-expected.txt: Added.
        * editing/deleting/delete-to-select-table.html: Added.
        * editing/input/text-input-controller-expected.txt:

WebCore:

        Reviewed by justin

        Improved table editing: pressing delete directly before or after a table will now select
        the table first, then delete it, instead of just deleting it. Useful for when the table's
        existence is non-obvious.

        * bridge/mac/FrameMac.h: Added shouldDeleteSelection, which allows WebCore to trigger
        deletion editing deligates
        * bridge/mac/FrameMac.mm: ditto
        (WebCore::FrameMac::shouldDeleteSelection):
        * bridge/mac/WebCoreFrameBridge.h: ditto
        * editing/TypingCommand.cpp: Implemented check for a caret position next to a table, and
        subsequent selection (as opposed to removal)
        (WebCore::TypingCommand::deleteKeyPressed):
        (WebCore::TypingCommand::forwardDeleteKeyPressed):
        * page/Frame.cpp: shouldDeleteSelection added
        (WebCore::Frame::shouldDeleteSelection):
        * page/Frame.h: ditto

WebKit:

        Reviewed by justin

        Improved table editing

        * WebCoreSupport/WebFrameBridge.m: Added method to allow WebCore to trigger
        deletion editing delegate
        (-[WebFrameBridge shouldDeleteSelectedDOMRange:]):
        * WebView/WebHTMLView.m: Moved code that expanded a selection when the delete
        key is pressed over to WebCore so we can be more intelligent about how to handle it
        (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]):
        (-[NSArray _deleteWithDirection:granularity:killRing:isTypingAction:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15206 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Eric.
weinig [Fri, 7 Jul 2006 18:24:23 +0000 (18:24 +0000)]
    Reviewed by Eric.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9768
          Split XSLImportRule out of XSLStyleSheet.* into separate
          files (one class per file).

        * WebCore.xcodeproj/project.pbxproj:
        * xml/XSLImportRule.cpp: Added.
        (WebCore::XSLImportRule::XSLImportRule):
        (WebCore::XSLImportRule::parentStyleSheet):
        (WebCore::XSLImportRule::loadSheet):
        * xml/XSLImportRule.h: Added.
        * xml/XSLStyleSheet.cpp:
        * xml/XSLStyleSheet.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15201 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebCore:
andersca [Fri, 7 Jul 2006 17:22:37 +0000 (17:22 +0000)]
WebCore:

2006-07-07  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=8300
        REGRESSION: First mouse click is randomly ignored when clicking on checkbox and radio buttons

        * css/html4.css:
        Set "-webkit-user-select: ignore" on radio buttons and check boxes .

LayoutTests:

2006-07-07  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=8300
        REGRESSION: First mouse click is randomly ignored when clicking on checkbox and radio buttons

        * fast/forms/radio-check-click-and-drag-expected.txt: Added.
        * fast/forms/radio-check-click-and-drag.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15200 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Tim Hatcher
sullivan [Fri, 7 Jul 2006 17:09:31 +0000 (17:09 +0000)]
    Reviewed by Tim Hatcher

        * WebKit.exp:
        added surprisingly missing _WebPreferencesChangedNotification, defined in
        WebPreferences.h

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15199 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Tim Hatcher.
mjs [Fri, 7 Jul 2006 08:36:57 +0000 (08:36 +0000)]
    Reviewed by Tim Hatcher.

        - fix 20 Node leaks on fast/events tests - these should be the last ones

        * bindings/objc/DOMEvents.mm:
        (-[DOMEvent dealloc]): implement - deref the event!
        (-[DOMEvent finalize]): ditto

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15198 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Tim Hatcher.
mjs [Fri, 7 Jul 2006 04:48:40 +0000 (04:48 +0000)]
    Reviewed by Tim Hatcher.

        - fix 26 Node leaks on fast/dom tests

        * dom/Document.cpp:
        (WebCore::Document::removedLastRef): delete tokenizer - if we are still parsing at this point, we don't
        want nodes held by the parser to keep the document alive.
        * html/HTMLParser.cpp:
        (WebCore::RefNonDocNodePtr::RefNonDocNodePtr): Smart pointer that acts like RefPtr for Node,
        but avoids refing document nodes to avoid cycles.
        (WebCore::RefNonDocNodePtr::~RefNonDocNodePtr):
        (WebCore::RefNonDocNodePtr::get):
        (WebCore::RefNonDocNodePtr::operator*):
        (WebCore::RefNonDocNodePtr::operator->):
        (WebCore::RefNonDocNodePtr::operator!):
        (WebCore::RefNonDocNodePtr::operator UnspecifiedBoolType):
        (WebCore::RefNonDocNodePtr::operator=):
        (WebCore::operator==):
        (WebCore::operator!=):
        (WebCore::HTMLStackElem): Use a RefNonDocNodePtr instead of RefPtr<Node>
        (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Use a RefPtr here to avoid crashing

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15197 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Maciej.
adele [Fri, 7 Jul 2006 02:29:11 +0000 (02:29 +0000)]
    Reviewed by Maciej.

        Fixed new popup control to open up when the spacebar and the up and down arrows are pressed.

        - Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=9762
        [Native pop up] Highlighted item text is black instead of white

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::isKeyboardFocusable): Added.
        (WebCore::HTMLSelectElement::isMouseFocusable): Added.
        (WebCore::HTMLSelectElement::defaultEventHandler): Updated to showPopup for up and down arrow keys and spacebar.
        * html/HTMLSelectElement.h: (WebCore::HTMLSelectElement::shouldUseMenuList): Made this const.
        * rendering/RenderPopupMenu.cpp: (WebCore::RenderPopupMenu::populate): Added FIXME.
        * rendering/RenderPopupMenuMac.mm:
        (WebCore::RenderPopupMenuMac::showPopup): Updated to save the NSEvent that triggers the popup, so we can send
        fake mouseUp and keyUp events when the NSMenu returns.
        (WebCore::RenderPopupMenuMac::addGroupLabel): Only set the NSForegroundColorAttributeName attribute if the text isn't black.
        Follow-up bug about other colors: http://bugzilla.opendarwin.org/show_bug.cgi?id=9769
        (WebCore::RenderPopupMenuMac::addOption): ditto.
        * bridge/mac/FrameMac.h: (WebCore::FrameMac::currentEvent): Returns the current NSEvent.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15196 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
justing [Fri, 7 Jul 2006 02:13:04 +0000 (02:13 +0000)]
LayoutTests:

        Reviewed by levi

        <rdar://problem/4609184>
        Mail crashes at WebCore::Selection::adjustForEditableContent
        <rdar://problem/4609140>
        Crash at WebCore::Range::compareBoundaryPoints

        * editing/selection/mixed-editability-1-expected.checksum: Added.
        * editing/selection/mixed-editability-1-expected.png: Added.
        * editing/selection/mixed-editability-1-expected.txt: Added.
        * editing/selection/mixed-editability-1.html: Added.
        * editing/selection/mixed-editability-2-expected.checksum: Added.
        * editing/selection/mixed-editability-2-expected.png: Added.
        * editing/selection/mixed-editability-2-expected.txt: Added.
        * editing/selection/mixed-editability-2.html: Added.

WebCore:

        Reviewed by levi

        <rdar://problem/4609184>
        Mail crashes at WebCore::Selection::adjustForEditableContent
        <rdar://problem/4609140>
        Crash at WebCore::Range::compareBoundaryPoints

        * editing/Selection.cpp:
        (WebCore::Selection::adjustForEditableContent):
        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::next): Moved code into a helper function.
        (WebCore::VisiblePosition::previous): Ditto.
        * editing/htmlediting.cpp:
        (WebCore::comparePositions): Moved from Selection.cpp.
        (WebCore::lowestEditableAncestor): Added.  Returns rootEditableElement
        for a node in editable content and the rootEditableElement for the first
        ancestor that's editable for a node in non-editable content.
        (WebCore::firstEditablePositionAfterPositionInRoot):
        (WebCore::lastEditablePositionBeforePositionInRoot):
        * editing/htmlediting.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15195 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebCore:
andersca [Fri, 7 Jul 2006 01:00:32 +0000 (01:00 +0000)]
WebCore:

2006-07-06  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Adele.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=9528
        REGRESSION: arrow key skips '>' in Bugzilla replies due to '\n' in text nodes

        Patch by Darin, tweaked by Anders.

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::setInnerText):
        Convert newline characters to <br> elements. I've verified that what's done here is what WinIE does when setting innerText.

        (WebCore::HTMLElement::setOuterText):
        Fix comment.

        * rendering/RenderTextField.cpp:
        (WebCore::RenderTextField::textWithHardLineBreaks):
        Remove assert. m_div->firstChild() can be null now because setInnerText doesn't create
        text nodes for empty strings anymore.

LayoutTests:

2006-07-06  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Adele.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=9528
        REGRESSION: arrow key skips '>' in Bugzilla replies due to '\n' in text nodes

        * fast/dom/css-selectorText-expected.txt:
        * fast/dom/css-shortHands-expected.txt:
        Update tests.

        * fast/dom/set-inner-text-newlines-expected.txt: Added.
        * fast/dom/set-inner-text-newlines.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15194 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Tim Hatcher.
adele [Fri, 7 Jul 2006 00:22:46 +0000 (00:22 +0000)]
    Reviewed by Tim Hatcher.

        - Speculative fix for <rdar://problem/4605532> unrepro crash at cnn.com after upgrading to 10.4.7 (but happening with 10.4.6 too)

        * page/FrameView.cpp: (WebCore::FrameView::layout): Ref's the view during layout, since a recalcStyle could cause the view to be deleted.
        If we get back from recalcStyle, and there's only one ref, return early since the the view will be deleted when we exit layout.
        * page/FrameView.h: (WebCore::FrameView::hasOneRef): Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15193 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebCore:
andersca [Thu, 6 Jul 2006 23:11:58 +0000 (23:11 +0000)]
WebCore:

2006-07-06  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Maciej.

        <rdar://problem/4610891> Support overflow events

        * DerivedSources.make:
        Add generated sources.

        * WebCore.xcodeproj/project.pbxproj:
        Add new files.

        * bindings/js/kjs_events.cpp:
        (KJS::toJS):
        Support creating wrappers for overflow events..

        * bindings/objc/DOMEvents.h:
        * bindings/objc/DOMEvents.mm:
        (+[DOMEvent _eventWith:]):
        (-[DOMOverflowEvent _overflowEvent]):
        (-[DOMOverflowEvent orient]):
        (-[DOMOverflowEvent horizontalOverflow]):
        (-[DOMOverflowEvent verticalOverflow]):
        Add Objective-C wrapper for overflow events.

        * dom/Event.cpp:
        (WebCore::Event::isOverflowEvent):
        * dom/Event.h:
        * dom/EventNames.h:
        * dom/OverflowEvent.cpp: Added.
        (WebCore::OverflowEvent::OverflowEvent):
        (WebCore::OverflowEvent::isOverflowEvent):
        * dom/OverflowEvent.h: Added.
        (WebCore::OverflowEvent::):
        (WebCore::OverflowEvent::orient):
        (WebCore::OverflowEvent::horizontalOverflow):
        (WebCore::OverflowEvent::verticalOverflow):
        * dom/OverflowEvent.idl: Added.
        Add overflow events.

        * page/FrameView.cpp:
        (WebCore::FrameViewPrivate::FrameViewPrivate):
        (WebCore::FrameView::applyOverflowToViewport):
        (WebCore::FrameView::layout):
        Dispatch any scheduled events when layout is done.

        (WebCore::FrameView::scheduleEvent):
        New function which schedules an event.

        (WebCore::FrameView::updateOverflowStatus):
        Update overflow status for the viewport.

        (WebCore::FrameView::dispatchScheduledEvents):
        New function which dispatches all scheduled events.

        * page/FrameView.h:
        Add declarations.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer):
        (WebCore::RenderLayer::updateOverflowStatus):
        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
        * rendering/RenderLayer.h:
        Schedule overflow events when overflow status changes.

LayoutTests:

2006-07-06  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Maciej.

        <rdar://problem/4610891> Support overflow events

        * fast/events/overflow-events-expected.txt: Added.
        * fast/events/overflow-events.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15191 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Geoff.
thatcher [Thu, 6 Jul 2006 22:47:18 +0000 (22:47 +0000)]
    Reviewed by Geoff.

        <rdar://problem/4610881> Expose scroll-related JS properties to ObjC DOM interface
        <rdar://problem/4519675> offsetLeft, offsetTop, offsetHeight, and offsetWidth
        properties are not exposed to ObjC

        * bindings/objc/DOMPrivate.h:
        * bindings/objc/DOMHTML.mm:
        (-[DOMHTMLElement offsetLeft]):
        (-[DOMHTMLElement offsetTop]):
        (-[DOMHTMLElement offsetWidth]):
        (-[DOMHTMLElement offsetHeight]):
        (-[DOMHTMLElement offsetParent]):
        (-[DOMHTMLElement clientWidth]):
        (-[DOMHTMLElement clientHeight]):
        (-[DOMHTMLElement scrollLeft]):
        (-[DOMHTMLElement setScrollLeft:]):
        (-[DOMHTMLElement scrollTop]):
        (-[DOMHTMLElement setScrollTop:]):
        (-[DOMHTMLElement scrollWidth]):
        (-[DOMHTMLElement scrollHeight]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15190 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Adele.
mjs [Thu, 6 Jul 2006 21:41:29 +0000 (21:41 +0000)]
    Reviewed by Adele.

        - fix 435 more layout tests Node leaks

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraphs): fix more instances of leaked DOM ranges

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15187 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by John.
beidson [Thu, 6 Jul 2006 18:39:46 +0000 (18:39 +0000)]
    Reviewed by John.

        Small fix to my previous small fix that only lets the ASSERT off the hook if the DB
        is closing

        * Misc/WebIconDatabase.m:
        (-[WebIconDatabase _releaseIconForIconURLString:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15186 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
harrison [Thu, 6 Jul 2006 16:45:20 +0000 (16:45 +0000)]
LayoutTests:

        Reviewed by Geoff.

        <rdar://problem/4565031> innerHTML of XMP tag returns special characters like '&gt;' instead of '>'

        * fast/innerHTML/006-expected.checksum: Added.
        * fast/innerHTML/006-expected.png: Added.
        * fast/innerHTML/006-expected.txt: Added.
        * fast/innerHTML/006.html: Added.

WebCore:

        Reviewed by Geoff

        <rdar://problem/4565031> innerHTML of XMP tag returns special characters like '&gt;' instead of '>'

        Test: fast/innerHTML/006.html

        * editing/markup.cpp:
        (WebCore::startMarkup):
        (WebCore::createMarkup):
        Do not special quote content of XMP nodes.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15185 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Not reviewed - build fix.
mjs [Thu, 6 Jul 2006 11:37:12 +0000 (11:37 +0000)]
    Not reviewed - build fix.

        - back out earlier leak fix, as it caused a crash on one of the fast/invalid layout tests

        * dom/Document.cpp:
        (WebCore::Document::removedLastRef):
        * html/HTMLParser.cpp:
        (WebCore::HTMLStackElem::HTMLStackElem):
        (WebCore::HTMLParser::popNestedHeaderTag):
        (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
        (WebCore::HTMLParser::reopenResidualStyleTags):
        (WebCore::HTMLParser::popBlock):
        (WebCore::HTMLParser::popOneBlock):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15184 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Anders.
mjs [Thu, 6 Jul 2006 09:50:17 +0000 (09:50 +0000)]
    Reviewed by Anders.

        - fix ~3000 Node leaks on the editing tests

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraphs): put a newly created Range in a RefPtr
        to avoid leaking it, as this leaks the whole document.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15183 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Anders.
mjs [Thu, 6 Jul 2006 09:39:27 +0000 (09:39 +0000)]
    Reviewed by Anders.

        - fix 26 Node leaks on various fast/dom tests

        * dom/Document.cpp:
        (WebCore::Document::removedLastRef): Delete the tokenizer here, since if we are in mid-parse,
        the parser might hold refs on some of our children that have self-only refs.
        * html/HTMLParser.cpp:
        (WebCore::HTMLStackElem::HTMLStackElem): don't ref the node if it is a document to avoid ref cycles
        (WebCore::HTMLStackElem::~HTMLStackElem): ditto
        (WebCore::HTMLStackElem::node): changed interface a bit to support the above
        (WebCore::HTMLStackElem::setNode): ditto
        (WebCore::HTMLParser::popNestedHeaderTag): use new interface to HTMLStackElem
        (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): ditto
        (WebCore::HTMLParser::reopenResidualStyleTags): ditto
        (WebCore::HTMLParser::popBlock): ditto
        (WebCore::HTMLParser::popOneBlock): ditto

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15182 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Adele.
adele [Thu, 6 Jul 2006 06:39:15 +0000 (06:39 +0000)]
    Reviewed by Adele.

        * rendering/RenderMenuList.h:
        (WebCore::RenderMenuList::createsAnonymousWrapper): This method replaces
        allowsReusingAnonymousChild() and has the opposite meaning.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15181 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Maciej
beidson [Thu, 6 Jul 2006 06:35:05 +0000 (06:35 +0000)]
    Reviewed by Maciej

        Small fix that prevents an assertion from triggering if the DB is being cleaned up
        (ie, the app being shut down)

        * Misc/WebIconDatabase.h:
        * Misc/WebIconDatabase.m:
        (-[NSMutableDictionary init]):
        (-[WebIconDatabase _applicationWillTerminate:]):
        (-[WebIconDatabase _releaseIconForIconURLString:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15180 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Build fixes.
adele [Thu, 6 Jul 2006 06:19:16 +0000 (06:19 +0000)]
    Build fixes.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * platform/win/TemporaryLinkStubs.cpp:
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::calcMinMaxWidth):
        * rendering/RenderPopupMenuWin.h:
        (WebCore::RenderPopupMenuWin::RenderPopupMenuWin):
        * rendering/RenderThemeWin.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15179 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Adele.
mjs [Thu, 6 Jul 2006 05:55:15 +0000 (05:55 +0000)]
    Reviewed by Adele.

        - fix 308 Node leaks on the editing layout tests

        * dom/Document.cpp: (WebCore::Document::removedLastRef): Clear the markers once there
        are no real refs on the document, otherwise a self-only reference cycle w/ the document
        can occur.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15178 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebCore:
adele [Thu, 6 Jul 2006 05:47:30 +0000 (05:47 +0000)]
WebCore:

        Reviewed by Maciej and Hyatt.

        Initial implementation of popup menu control.  This can be turned on by setting -webkit-appearance: menulist on a select element.

        * WebCore.xcodeproj/project.pbxproj: Added RenderMenuList.h, RenderMenuList.cpp, RenderPopupMenu.h, RenderPopupMenu.cpp,
        RenderPopupMenuWin.h, RenderPopupMenuMac.h, RenderPopupMenuMac.mm,

        * dom/Node.cpp:
        (WebCore::Node::renderStyle): Added. Returns the renderer's style.  If there's no renderer, returns's a RenderStyle that's kept by the node.
        This is important for HTMLOptGroupElement and HTMLOptionElement, which don't have renderers.
        (WebCore::Node::setRenderStyle): Added.
        * dom/Node.h:
        * dom/Element.cpp: (WebCore::Element::recalcStyle): Updated to use renderStyle so recalcStyle will work for HTMLOptionElements and HTMLOptGroupElements.

        * css/cssstyleselector.cpp: Updated to call renderStyle method on the node, so resolving style works on elements w/o renderers that cache style.
        (WebCore::CSSStyleSelector::initForStyleResolve):
        (WebCore::CSSStyleSelector::locateCousinList):
        (WebCore::CSSStyleSelector::canShareStyleWithElement):
        (WebCore::CSSStyleSelector::locateSharedStyle):
        (WebCore::CSSStyleSelector::checkOneSelector):

        * css/html4.css: Removed display:none from options and optgroups, since we're now caching style for these elements.
        Added font-weight styles for option and optgroup.

        * html/HTMLOptGroupElement.h: Added m_style to keep track of a RenderStyle for the element, even though we aren't creating a renderer.
        This will allow us to honor style for optgroups and options for popup menus (and eventually list boxes too).
        (WebCore::HTMLOptGroupElement::rendererIsNeeded): Added.
        (WebCore::HTMLOptGroupElement::renderStyle): Added.
        * html/HTMLOptionElement.h: ditto.
        (WebCore::HTMLOptionElement::rendererIsNeeded): Added.
        (WebCore::HTMLOptionElement::renderStyle): Added.

        * html/HTMLOptGroupElement.cpp:
        (WebCore::HTMLOptGroupElement::HTMLOptGroupElement): Initialize m_style.
        (WebCore::HTMLOptGroupElement::attach): Set the renderStyle.
        (WebCore::HTMLOptGroupElement::detach): Clear m_style.
        (WebCore::HTMLOptGroupElement::setRenderStyle): Added.
        (WebCore::HTMLOptGroupElement::groupLabelText): Added.
        * html/HTMLOptionElement.cpp: ditto.
        (WebCore::HTMLOptionElement::HTMLOptionElement):
        (WebCore::HTMLOptionElement::attach):
        (WebCore::HTMLOptionElement::detach):
        (WebCore::HTMLOptionElement::setRenderStyle):
        (WebCore::HTMLOptionElement::optionText):

        * html/HTMLSelectElement.cpp: Added code to use the new RenderMenuList if the appearance is set to MenuListAppearance,
        and if we're not creating a list box renderer.
        (WebCore::HTMLSelectElement::recalcStyle):
        (WebCore::HTMLSelectElement::createRenderer):
        (WebCore::HTMLSelectElement::setRecalcListItems):
        (WebCore::HTMLSelectElement::reset):
        (WebCore::HTMLSelectElement::notifyOptionSelected):
        (WebCore::HTMLSelectElement::defaultEventHandler):
        * html/HTMLSelectElement.h:

        * WebCore.exp: Added _wkPopupMenu.
        * platform/mac/WebCoreSystemInterface.h: Added wkPopupMenu to get the NSMenu to pop up.
        * platform/mac/WebCoreSystemInterface.mm:

        * platform/win/TemporaryLinkStubs.cpp: Added stubs for RenderPopupMenuWin.
        (RenderPopupMenuWin::RenderPopupMenuWin):
        (RenderPopupMenuWin::~RenderPopupMenuWin):
        (RenderPopupMenuWin::clear):
        (RenderPopupMenuWin::populate):
        (RenderPopupMenuWin::showPopup):
        (RenderPopupMenuWin::addSeparator):
        (RenderPopupMenuWin::addGroupLabel):
        (RenderPopupMenuWin::addOption):
        * rendering/RenderPopupMenuWin.h: Added.

        * rendering/RenderPopupMenu.cpp: Added.
        (WebCore::RenderPopupMenu::RenderPopupMenu):
        (WebCore::RenderPopupMenu::~RenderPopupMenu):
        (WebCore::RenderPopupMenu::clear):
        (WebCore::RenderPopupMenu::populate): Walks the DOM tree, and adds separators, options, and group labels to the RenderPopupMenu.
        (WebCore::RenderPopupMenu::showPopup):
        (WebCore::RenderPopupMenu::addSeparator):
        (WebCore::RenderPopupMenu::addGroupLabel):
        (WebCore::RenderPopupMenu::addOption):
        * rendering/RenderPopupMenu.h: Added.
        (WebCore::RenderPopupMenu::renderName):
        (WebCore::RenderPopupMenu::getRenderMenuList):
        * rendering/RenderPopupMenuMac.h: Added.
        * rendering/RenderPopupMenuMac.mm: Added.
        (WebCore::RenderPopupMenuMac::RenderPopupMenuMac):
        (WebCore::RenderPopupMenuMac::~RenderPopupMenuMac):
        (WebCore::RenderPopupMenuMac::clear): Removes all items from the menu.
        (WebCore::RenderPopupMenuMac::populate): Disables menuChangedMessages before populating the menu.
        (WebCore::RenderPopupMenuMac::showPopup): Calculates the right position, and calls wkPopupMenu.
        (WebCore::RenderPopupMenuMac::addSeparator):
        (WebCore::RenderPopupMenuMac::addGroupLabel):
        (WebCore::RenderPopupMenuMac::addOption):

        * rendering/RenderMenuList.cpp: Added.
        (WebCore::RenderMenuList::RenderMenuList):
        (WebCore::RenderMenuList::addChild):
        (WebCore::RenderMenuList::removeChild):
        (WebCore::RenderMenuList::setStyle):
        (WebCore::RenderMenuList::updateFromElement): If the options have changed, iterate through the children to find the menu item with the widest text.
        Set the button text to the selected item's text.
        (WebCore::RenderMenuList::setText):
        (WebCore::RenderMenuList::paintObject):
        (WebCore::RenderMenuList::baselinePosition):
        (WebCore::RenderMenuList::calcMinMaxWidth):
        (WebCore::RenderMenuList::showPopup):
        (WebCore::RenderMenuList::layout):
        (WebCore::RenderMenuList::updateSelection):
        (WebCore::RenderMenuList::valueChanged):
        * rendering/RenderMenuList.h: Added.
        (WebCore::RenderMenuList::removeLeftoverAnonymousBoxes):
        (WebCore::RenderMenuList::allowsReusingAnonymousChild):
        (WebCore::RenderMenuList::canHaveChildren):
        (WebCore::RenderMenuList::renderName):
        (WebCore::RenderMenuList::setOptionsChanged):
        (WebCore::RenderMenuList::selectionChanged):
        (WebCore::RenderMenuList::setSelectionChanged):
        (WebCore::RenderMenuList::hasPopupMenu):

        * rendering/RenderTheme.cpp: Added cases for MenuListAppearance.
        (WebCore::RenderTheme::adjustStyle):
        (WebCore::RenderTheme::paint):
        (WebCore::RenderTheme::paintBorderOnly):
        (WebCore::RenderTheme::isControlStyled):
        (WebCore::RenderTheme::adjustMenuListStyle):
        (WebCore::RenderTheme::createPopupMenu): creates platform-specific RenderPopupMenu.
        * rendering/RenderTheme.h:
        (WebCore::RenderTheme::sizeOfArrowControl): Added.
        (WebCore::RenderTheme::paintMenuList): Added.
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::adjustRepaintRect):
        (WebCore::RenderThemeMac::paintMenuList):
        (WebCore::RenderThemeMac::adjustMenuListStyle):
        (WebCore::RenderThemeMac::setPopupButtonCellState):
        (WebCore::RenderThemeMac::createPopupMenu):
        (WebCore::RenderThemeMac::sizeOfArrowControl):
        * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::createPopupMenu):
        * rendering/RenderThemeWin.h:

WebKit:

        Reviewed by Maciej and Hyatt.

        WebKit part of initial popup menu implementation.

        * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
        Initialize WKPopupMenu.

WebKitLibraries:

        Reviewed by Maciej and Hyatt.

        * WebKitSystemInterface.h: Updated.
        * libWebKitSystemInterface.a: Updated.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15177 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Tim Omernick.
beidson [Wed, 5 Jul 2006 23:45:45 +0000 (23:45 +0000)]
    Reviewed by Tim Omernick.

        IconDatabase now respects private browsing via the use of in memory, temporary tables

        * bridge/mac/WebCoreIconDatabaseBridge.mm:
        (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]):
        (-[WebCoreIconDatabaseBridge iconURLForPageURL:]): Renamed WebCore::IconDatabase methods, changes reflected here

        * icon/IconDatabase.cpp:
        (WebCore::IconDatabase::clearDatabase):
        (WebCore::IconDatabase::deletePrivateTables):
        (WebCore::IconDatabase::imageDataForIconID):
        (WebCore::IconDatabase::imageDataForIconURL):
        (WebCore::IconDatabase::imageDataForPageURL):
        (WebCore::IconDatabase::setPrivateBrowsingEnabled):
        (WebCore::IconDatabase::iconForPageURL):
        (WebCore::IconDatabase::iconURLForPageURL):
        (WebCore::IconDatabase::setIconDataForIconURL):
        (WebCore::IconDatabase::performSetIconDataForIconID):
        (WebCore::IconDatabase::establishTemporaryIconIDForEscapedIconURL):
        (WebCore::IconDatabase::establishIconIDForEscapedIconURL):
        (WebCore::IconDatabase::setHaveNoIconForIconURL):
        (WebCore::IconDatabase::setIconURLForPageURL):
        (WebCore::IconDatabase::performSetIconURLForPageURL):
        (WebCore::IconDatabase::hasIconForIconURL):
        -Some style/comment cleanups, but mainly putting private browsing handling in place

        * icon/IconDatabase.h:  Some methods added, others renamed, some comments added

        * icon/SQLStatement.cpp:
        (WebCore::SQLStatement::getColumnName):
        (WebCore::SQLStatement::getColumnName16):
        (WebCore::SQLStatement::getColumnText):
        (WebCore::SQLStatement::getColumnText16):
        -The above 4 had changes to return String() for empty results instead of "" as it's less expensive;

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15175 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Adele.
sullivan [Wed, 5 Jul 2006 23:30:23 +0000 (23:30 +0000)]
    Reviewed by Adele.

        - layout test for <rdar://problem/4609162> REGRESSION: When tabbing between links on a page,
        the window doesn't scroll to link that's not in view

        The test verifies that focusing a link will scroll the link into view.

        * fast/events/reveal-link-when-focused-expected.checksum: Added.
        * fast/events/reveal-link-when-focused-expected.png: Added.
        * fast/events/reveal-link-when-focused-expected.txt: Added.
        * fast/events/reveal-link-when-focused.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15174 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Darin and Adele.
sullivan [Wed, 5 Jul 2006 23:27:20 +0000 (23:27 +0000)]
    Reviewed by Darin and Adele.

        - fixed <rdar://problem/4609162> REGRESSION: When tabbing between links on a page,
        the window doesn't scroll to link that's not in view

        * html/HTMLAnchorElement.cpp:
        * html/HTMLAnchorElement.h:
        removed HTMLAnchorElement::focus and HTMLAnchorElement::blur.

        HTMLAnchorElement::focus just called document()->setFocusNode(). The scroll-to-reveal
        code used to be inside document()->setFocusNode(), but now it's in Element::focus, and this override
        was preventing that code from running.

        HTMLAnchorElement::blur was exactly the same implementation as Element::blur (and there aren't any
        other implementations of ::blur in the class hierarchy in between). This change has no practical
        effect, other than removing duplicate code.

        Adele and I think that it was an oversight not to remove these two methods on 12/20/05
        these methods were removed from HTMLButtonElementImpl and HTMLInputElementImpl.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15173 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2006-07-05 Anders Carlsson <acarlsson@apple.com>
andersca [Wed, 5 Jul 2006 22:24:18 +0000 (22:24 +0000)]
2006-07-05  Anders Carlsson  <acarlsson@apple.com>

        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::FrameWin):
        * bridge/win/FrameWin.h:
        * platform/win/TemporaryLinkStubs.cpp:
        (FrameWin::createFrame):
        Fix Win32 build.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15172 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2006-07-05 Anders Carlsson <acarlsson@apple.com>
andersca [Wed, 5 Jul 2006 21:37:26 +0000 (21:37 +0000)]
2006-07-05  Anders Carlsson  <acarlsson@apple.com>

        * WebCore.xcodeproj/project.pbxproj:
        Revert accidental change of debug format to DWARF.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15171 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebCore:
andersca [Wed, 5 Jul 2006 21:29:41 +0000 (21:29 +0000)]
WebCore:

2006-07-05  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Maciej.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=3581
        iFrames set to display:none are Missing from frames array

        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::FrameMac):
        (WebCore::FrameMac::createFrame):
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge initSubframeWithOwnerElement:]):
        (-[WebCoreFrameBridge installInFrame:]):
        Modify to pass the owner element instead of the owner renderer.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::insertBefore):
        (WebCore::ContainerNode::replaceChild):
        (WebCore::ContainerNode::appendChild):
        Dispatch the node inserted events before attaching the nodes. This is what the
        tokenizer does.

        * html/HTMLFrameElement.cpp:
        (WebCore::HTMLFrameElement::openURL):
        (WebCore::HTMLFrameElement::attach):
        Pass the element to requestFrame.

        (WebCore::HTMLFrameElement::setLocation):
        Don't call attach/detach on an iframe.

        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::insertedIntoDocument):
        Load the frame here (using openURL).

        (WebCore::HTMLIFrameElement::removedFromDocument):
        Call frameDetached.

        (WebCore::HTMLIFrameElement::attach):
        If there's a renderer, attach the content frame to it.

        (WebCore::HTMLIFrameElement::detach):
        Reset the renderer's frame.

        (WebCore::HTMLIFrameElement::openURL):
        Modify to request the frame.

        * html/HTMLIFrameElement.h:
        Add detach.

        * page/Frame.cpp:
        (WebCore::parentFromOwnerElement):
        (WebCore::Frame::Frame):
        (WebCore::Frame::~Frame):
        (WebCore::Frame::requestFrame):
        (WebCore::Frame::requestObject):
        (WebCore::Frame::loadSubframe):
        (WebCore::Frame::ownerElement):
        (WebCore::Frame::ownerRenderer):
        (WebCore::Frame::disconnectOwnerElement):
        * page/Frame.h:
        * page/FramePrivate.h:
        (WebCore::FramePrivate::FramePrivate):
        * rendering/RenderPart.cpp:
        (WebCore::RenderPart::setFrame):
        Modify to keep an owner element around instead of the renderer.

        * rendering/RenderPartObject.cpp:
        (WebCore::RenderPartObject::updateWidget):
        Don't do anything for iframes.

WebKit:

2006-07-05  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Maciej.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=3581
        iFrames set to display:none are Missing from frames array

        * WebCoreSupport/WebFrameBridge.m:
        (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
        (-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]):
        Modify to pass the owner element instead of the owner renderer.

        * WebView/WebHTMLView.m:
        (-[WebHTMLView _topHTMLView]):
        Remove assertion, it's not valid anymore.

LayoutTests:

2006-07-05  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Maciej.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=3581
        iFrames set to display:none are Missing from frames array

        * fast/events/mouseover-mouseout2-expected.txt:
        * fast/events/mouseover-mouseout2.html:
        Update expected result. Since we now keep the frame around, the mouseout event is
        now dispatched to the element in the frame.

        * fast/events/onloadFrameCrash-expected.checksum:
        * fast/events/onloadFrameCrash-expected.png:
        * fast/events/onloadFrameCrash-expected.txt:
        This does hide the frame now.

        * fast/frames/iframe-display-none-expected.txt: Added.
        * fast/frames/iframe-display-none.html: Added.
        * fast/frames/resources/iframe-display-none-child.html: Added.
        New test that tests JS interaction with frames.

        * fast/frames/iframe-double-attach-expected.txt: Added.
        * fast/frames/iframe-double-attach.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15170 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Harrison.
thatcher [Wed, 5 Jul 2006 20:05:41 +0000 (20:05 +0000)]
    Reviewed by Harrison.

        <rdar://problem/4608423> HIViewAdapter used but not defined
        Adds a new export file to fix the build.

        * WebKit.LP64.exp: Added.
        * WebKit.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15169 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago RS by Beth.
ggaren [Wed, 5 Jul 2006 19:10:49 +0000 (19:10 +0000)]
    RS by Beth.

        Renamed JSCharBufferRef, which was universally unpopular, to JSStringBufferRef,
        which, hopefully, will be less unpopular.

        * API/APICast.h:
        (toJS):
        (toRef):
        * API/JSBase.h:
        * API/JSCallbackObject.cpp:
        (KJS::JSCallbackObject::getOwnPropertySlot):
        (KJS::JSCallbackObject::put):
        (KJS::JSCallbackObject::deleteProperty):
        (KJS::JSCallbackObject::staticValueGetter):
        (KJS::JSCallbackObject::callbackGetter):
        * API/JSCharBufferRef.cpp: Removed.
        * API/JSCharBufferRef.h: Removed.
        * API/JSContextRef.cpp:
        (JSEvaluate):
        (JSCheckSyntax):
        * API/JSContextRef.h:
        * API/JSNode.c:
        (JSNodePrototype_appendChild):
        (JSNode_getNodeType):
        (JSNode_getChildNodes):
        (JSNode_getFirstChild):
        * API/JSNodeList.c:
        (JSNodeList_length):
        (JSNodeList_getProperty):
        * API/JSObjectRef.cpp:
        (JSFunctionMakeWithBody):
        (JSObjectGetDescription):
        (JSObjectHasProperty):
        (JSObjectGetProperty):
        (JSObjectSetProperty):
        (JSObjectDeleteProperty):
        (JSPropertyEnumeratorGetNext):
        (JSPropertyListAdd):
        * API/JSObjectRef.h:
        * API/JSStringBufferRef.cpp: Added.
        (JSStringMake):
        (JSStringBufferCreate):
        (JSStringBufferCreateUTF8):
        (JSStringBufferRetain):
        (JSStringBufferRelease):
        (JSValueCopyStringValue):
        (JSStringBufferGetLength):
        (JSStringBufferGetCharactersPtr):
        (JSStringBufferGetCharacters):
        (JSStringBufferGetMaxLengthUTF8):
        (JSStringBufferGetCharactersUTF8):
        (JSStringBufferIsEqual):
        (JSStringBufferIsEqualUTF8):
        (JSStringBufferCreateWithCFString):
        (CFStringCreateWithJSStringBuffer):
        * API/JSStringBufferRef.h: Added.
        * API/JSValueRef.h:
        * API/JavaScriptCore.h:
        * API/minidom.c:
        (main):
        (print):
        * API/testapi.c:
        (assertEqualsAsUTF8String):
        (assertEqualsAsCharactersPtr):
        (assertEqualsAsCharacters):
        (MyObject_hasProperty):
        (MyObject_getProperty):
        (MyObject_setProperty):
        (MyObject_deleteProperty):
        (MyObject_getPropertyList):
        (print_callAsFunction):
        (myConstructor_callAsConstructor):
        (main):
        * JavaScriptCore.exp:
        * JavaScriptCore.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15168 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago RS by Beth.
ggaren [Wed, 5 Jul 2006 18:07:57 +0000 (18:07 +0000)]
    RS by Beth.

        Moved some code around for more logical file separation.

        * API/JSBase.h:
        * API/JSContextRef.h:
        * API/JSObjectRef.cpp:
        * API/JSValueRef.cpp:
        (JSValueToObject):
        * API/JSValueRef.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15165 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Maciej.
ggaren [Wed, 5 Jul 2006 17:46:00 +0000 (17:46 +0000)]
    Reviewed by Maciej.

        Implemented JSFunctionMakeWithBody, which parses a script as a function body
        in the global scope, and returns the resulting anonymous function.

        I also removed private data from JSCallbackFunction. It never worked,
        since JSCallbackFunction doesn't inherit from JSCallbackObject.

        * API/JSCallbackConstructor.cpp: Removed.
        * API/JSCallbackConstructor.h: Removed.
        * API/JSCallbackFunction.cpp:
        (KJS::JSCallbackFunction::JSCallbackFunction):
        (KJS::JSCallbackFunction::implementsConstruct):
        (KJS::JSCallbackFunction::construct):
        (KJS::JSCallbackFunction::implementsCall):
        (KJS::JSCallbackFunction::callAsFunction):
        * API/JSCallbackFunction.h:
        * API/JSCallbackObject.cpp:
        (KJS::JSCallbackObject::staticFunctionGetter):
        * API/JSObjectRef.cpp:
        (JSFunctionMake):
        (JSFunctionMakeWithCallbacks):
        * API/JSObjectRef.h:
        * API/JSValueRef.h:
        * API/minidom.c:
        (main):
        * API/testapi.c:
        (main):
        * JavaScriptCore.exp: Programmatically added all symbols exported by
        API object files, and sorted results
        * JavaScriptCore.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15164 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoJavaScriptCore:
ggaren [Wed, 5 Jul 2006 16:52:54 +0000 (16:52 +0000)]
JavaScriptCore:

        Reviewed by Maciej.

        - Return syntax error in JSCheckSyntax through a JSValueRef* exception
        argument

        * API/JSBase.h:
        * API/JSContextRef.cpp:
        (JSCheckSyntax):
        * API/testapi.c:
        (main):
        * JavaScriptCore.exp:
        * kjs/interpreter.cpp:
        (KJS::Interpreter::checkSyntax):
        * kjs/interpreter.h:

JavaScriptGlue:

        Reviewed by Maciej.

        * JSRun.cpp:
        (JSRun::CheckSyntax): Updated to use new checkSyntax syntax in JSC.
        * JavaScriptGlue.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15163 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoBuild fix.
thatcher [Wed, 5 Jul 2006 16:35:50 +0000 (16:35 +0000)]
Build fix.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15162 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoBuild fix to work with the new linker.
thatcher [Wed, 5 Jul 2006 16:35:07 +0000 (16:35 +0000)]
Build fix to work with the new linker.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15161 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoFixes backwards if statement logic.
thatcher [Wed, 5 Jul 2006 16:27:28 +0000 (16:27 +0000)]
Fixes backwards if statement logic.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15160 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Maciej.
thatcher [Wed, 5 Jul 2006 06:17:40 +0000 (06:17 +0000)]
    Reviewed by Maciej.

        Bug 9731: [Drosera] crash when trying to access the scope chain
        http://bugzilla.opendarwin.org/show_bug.cgi?id=9731

        Because of <rdar://problem/4608404> the WebScriptObject, _globalObj, that
        WebCoreScriptDebugger holds is unprotected each time the page changes.
        This causes Drosera to crash Safari when trying to access the scope chain.
        We simply need to detach and re-attach the debugger when the window script
        object is cleared until 4608404 is fixed. This change also attaches the
        debugger before we call the windowScriptObjectAvailable: delegate method,
        so the debugger is ready before anyone might use the window object.

        * WebCoreSupport/WebFrameBridge.m:
        (-[WebFrameBridge windowObjectCleared]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15159 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
mjs [Wed, 5 Jul 2006 04:52:54 +0000 (04:52 +0000)]
LayoutTests:

        Reviewed by Darin.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=9734
        - change SVG XPath DOM tests to dump as text, and update expected results

        This should stop the random failures in Attribute_Nodes.svg

        * dom/svg/level3/xpath/Attribute_Nodes-expected.txt:
        * dom/svg/level3/xpath/Attribute_Nodes_xmlns-expected.txt:
        * dom/svg/level3/xpath/Comment_Nodes-expected.txt:
        * dom/svg/level3/xpath/Conformance_Expressions-expected.txt:
        * dom/svg/level3/xpath/Conformance_hasFeature_3-expected.txt:
        * dom/svg/level3/xpath/Conformance_hasFeature_empty-expected.txt:
        * dom/svg/level3/xpath/Conformance_hasFeature_null-expected.txt:
        * dom/svg/level3/xpath/Conformance_isSupported_3-expected.txt:
        * dom/svg/level3/xpath/Conformance_isSupported_empty-expected.txt:
        * dom/svg/level3/xpath/Conformance_isSupported_null-expected.txt:
        * dom/svg/level3/xpath/Element_Nodes-expected.txt:
        * dom/svg/level3/xpath/Processing_Instruction_Nodes-expected.txt:
        * dom/svg/level3/xpath/Text_Nodes-expected.txt:
        * dom/svg/level3/xpath/XPathEvaluatorCast01-expected.txt:
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_INVALID_EXPRESSION_ERR-expected.txt:
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_NAMESPACE_ERR_01-expected.txt:
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_NAMESPACE_ERR_02-expected.txt:
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_NS-expected.txt:
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_no_NS-expected.txt:
        * dom/svg/level3/xpath/XPathEvaluator_createNSResolver_all-expected.txt:
        * dom/svg/level3/xpath/XPathEvaluator_createNSResolver_document-expected.txt:
        * dom/svg/level3/xpath/XPathEvaluator_createNSResolver_documentElement-expected.txt:
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_INVALID_EXPRESSION_ERR-expected.txt:
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_NAMESPACE_ERR-expected.txt:
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_NOT_SUPPORTED_ERR-expected.txt:
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_TYPE_ERR-expected.txt:
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_WRONG_DOCUMENT_ERR-expected.txt:
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_document-expected.txt:
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_documentElement-expected.txt:
        * dom/svg/level3/xpath/XPathExpression_evaluate_NOT_SUPPORTED_ERR-expected.txt:
        * dom/svg/level3/xpath/XPathExpression_evaluate_WRONG_DOCUMENT_ERR-expected.txt:
        * dom/svg/level3/xpath/XPathExpression_evaluate_document-expected.txt:
        * dom/svg/level3/xpath/XPathExpression_evaluate_documentElement-expected.txt:
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_nist_dmstc-expected.txt:
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_null-expected.txt:
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_prefix-expected.txt:
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_xml-expected.txt:
        * dom/svg/level3/xpath/XPathResult_TYPE_ERR-expected.txt:
        * dom/svg/level3/xpath/XPathResult_booleanValue_false-expected.txt:
        * dom/svg/level3/xpath/XPathResult_booleanValue_true-expected.txt:
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ANY_TYPE-expected.txt:
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ANY_UNORDERED_NODE_TYPE-expected.txt:
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_BOOLEAN_TYPE-expected.txt:
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_FIRST_ORDERED_NODE_TYPE-expected.txt:
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_NUMBER_TYPE-expected.txt:
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ORDERED_NODE_ITERATOR_TYPE-expected.txt:
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ORDERED_NODE_SNAPSHOT_TYPE-expected.txt:
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_STRING_TYPE-expected.txt:
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_UNORDERED_NODE_ITERATOR_TYPE-expected.txt:
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_UNORDERED_NODE_SNAPSHOT_TYPE-expected.txt:
        * dom/svg/level3/xpath/XPathResult_iterateNext_INVALID_STATE_ERR-expected.txt:
        * dom/svg/level3/xpath/XPathResult_iteratorNext_ORDERED_NODE_ITERATOR_TYPE-expected.txt:
        * dom/svg/level3/xpath/XPathResult_numberValue-expected.txt:
        * dom/svg/level3/xpath/XPathResult_resultType-expected.txt:
        * dom/svg/level3/xpath/XPathResult_singleNodeValue_ANY_UNORDERED_NODE_TYPE-expected.txt:
        * dom/svg/level3/xpath/XPathResult_singleNodeValue_FIRST_ORDERED_NODE_TYPE-expected.txt:
        * dom/svg/level3/xpath/XPathResult_snapshotItem_ORDERED_NODE_SNAPSHOT_TYPE_null-expected.txt:
        * dom/svg/level3/xpath/XPathResult_snapshotItem_ORDERED_NODE_SNAPSHOT_TYPE_order-expected.txt:
        * dom/svg/level3/xpath/XPathResult_snapshotItem_UNORDERED_NODE_SNAPSHOT_TYPE_count-expected.txt:
        * dom/svg/level3/xpath/XPathResult_snapshotItem_UNORDERED_NODE_SNAPSHOT_TYPE_null-expected.txt:
        * dom/svg/level3/xpath/XPathResult_snapshotLength_ORDERED_NODE_SNAPSHOT_TYPE-expected.txt:
        * dom/svg/level3/xpath/XPathResult_snapshotLength_UNORDERED_NODE_SNAPSHOT_TYPE-expected.txt:
        * dom/svg/level3/xpath/XPathResult_stringValue-expected.txt:
        * dom/svg/level3/xpath/svgunit.js:

WebKitTools:

        Reviewed by Darin.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=9734
        - add support for dumping non-HTML as text - in this case use textContent
        instead of innerText

        * DumpRenderTree/DumpRenderTree.m:
        (dump):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15158 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Darin.
thatcher [Wed, 5 Jul 2006 04:34:56 +0000 (04:34 +0000)]
    Reviewed by Darin.

        Bug 9732: [Drosera] calling removeListener to many times will cause
                  WebKit's listener count to underflow/wraparound
        http://bugzilla.opendarwin.org/show_bug.cgi?id=9732

        Adds a check to make sure the listener was in our listeners set before
        decrementing the global listener count. Also checks for nil in addListner
        to prevent a possible exception when adding the object to the set.

        * DefaultDelegates/WebScriptDebugServer.m:
        (-[WebScriptDebugServer addListener:]):
        (-[WebScriptDebugServer removeListener:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15157 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago - fixed build
darin [Wed, 5 Jul 2006 04:25:48 +0000 (04:25 +0000)]
    - fixed build

        * wtf/MathExtras.h: Oops. Added missing #endif.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15156 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Maciej.
darin [Wed, 5 Jul 2006 04:13:32 +0000 (04:13 +0000)]
    Reviewed by Maciej.
        Tweaked a bit by Darin.

        - http://bugzilla.opendarwin.org/show_bug.cgi?id=9678
          work around MSVCRT's fmod function returning NaN for fmod(x, infinity) instead of x

        * wtf/MathExtras.h: Added include of <float.h>.
        (isinf): Fix to return false for NAN.
        (wtf_fmod): Added. An inline that works around the bug.

        * kjs/nodes.cpp:
        * kjs/number_object.cpp:
        * kjs/operations.cpp:
        * kjs/value.cpp:
        Added includes of MathExtras.h to all files using fmod.

        * JavaScriptCore.xcodeproj/project.pbxproj: Let Xcode 2.3 have its way with
        the project.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15155 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Maciej, reworked a bit by Darin.
darin [Wed, 5 Jul 2006 04:04:11 +0000 (04:04 +0000)]
    Reviewed by Maciej, reworked a bit by Darin.

        Compile fixes for wx port / gcc 4.0.2

        * platform/PlatformString.h:
        * platform/StringImpl.h:
        Include CoreFoundation for CF-specific code.

        * dom/DocPtr.h:
        * doc/EventTargetNode.h:
        Silence warnings about 'extra tokens' after #endif on gcc 4.0.2.
        (Not an error but warnings appear frequently.)

        * WebCoreSources.bkl:
        * webcore-base.bkl:
        Synching ports sources file with TOT. Also, making sure SRCDIR variable
        overrides any previous values.

        * loader/ImageDocument.cpp:
        Use PLATFORM(MAC) for the parts that are specific to the Macintosh version,
        and move the Objective-C parts to another file.

        * loader/mac/ImageDocumentMac.h: Added.
        * loader/mac/ImageDocumentMac.mm: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15154 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago - updated test result to reflect window without scroll bars
darin [Wed, 5 Jul 2006 01:05:34 +0000 (01:05 +0000)]
    - updated test result to reflect window without scroll bars

        1) this test should not have scroll bars
        2) on the buildbot the result is the non-scroll-bar one

        * dom/svg/level3/xpath/Attribute_Nodes-expected.txt:
        Changed text node width to 800.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15153 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Build fix.
weinig [Tue, 4 Jul 2006 23:40:28 +0000 (23:40 +0000)]
    Build fix.

        * platform/Color.cpp:
        (WebCore::makeRGBAFromHSLA):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15152 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
weinig [Tue, 4 Jul 2006 22:14:49 +0000 (22:14 +0000)]
LayoutTests:

        Reviewed by Darin.

        - tests for http://bugzilla.opendarwin.org/show_bug.cgi?id=9506
        Tests using HSL rather than RGB for color values.

        * fast/css/hsl-color-expected.checksum: Added.
        * fast/css/hsl-color-expected.png: Added.
        * fast/css/hsl-color-expected.txt: Added.
        * fast/css/hsl-color.html: Added.
        * fast/css/hsla-color-expected.checksum: Added.
        * fast/css/hsla-color-expected.png: Added.
        * fast/css/hsla-color-expected.txt: Added.
        * fast/css/hsla-color.html: Added.

WebCore:

        Reviewed by Darin.

        - Added HSL color support as specified in CSS3 spec.
        http://bugzilla.opendarwin.org/show_bug.cgi?id=9506
        Added parsing support of hsl(h,s,l) and hsla(h,s,l,a)
        Added converting code to convert HSL to RGB

        * css/cssparser.cpp:
        (WebCore::CSSParser::parseColorParameters):
        Moved common code to parse RGB/RGBA values into it's
        own function. This code was duplicated in the parseColorFromValue()
        method.
        (WebCore::CSSParser::parseHSLParameters):
        Common code to parse HSL/HSLA values.
        (WebCore::CSSParser::parseColorFromValue):
        Moved RGB/RGBA parsing out to seperate function as the code was
        duplicated.
        Added parsing support for hsl( and hsla(
        * css/cssparser.h:
        Added two new functions parseColorParameters() and
        parseHSLParameters().
        * platform/Color.cpp:
        (WebCore::calcHue):
        Added Hue parameter to RGB color.
        (WebCore::makeRGBAFromHSLA):
        New function to convert HSLA to RGBA.
        * platform/Color.h:
        Added new functions makeRGBAFromHSLA() and calcHue().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15151 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Maciej.
ap [Tue, 4 Jul 2006 16:45:13 +0000 (16:45 +0000)]
    Reviewed by Maciej.

        - http://bugzilla.opendarwin.org/show_bug.cgi?id=8210
        Conditional XMLHttpRequest gets should pass 304 responses unchanged

        Test: http/tests/xmlhttprequest/cache-override.html

        * Misc/WebNSURLRequestExtras.h: Added _web_isConditionalRequest
        * Misc/WebNSURLRequestExtras.m:
        (-[NSURLRequest _web_isConditionalRequest]):
        * WebCoreSupport/WebFrameBridge.m:
        (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
        Bypass the cache for conditional requests.
        * WebCoreSupport/WebSubresourceLoader.m:
        (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15150 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Darin.
ggaren [Tue, 4 Jul 2006 02:35:09 +0000 (02:35 +0000)]
    Reviewed by Darin.

        - Refined value conversions in the API:
            - failed toNumber returns NaN
            - failed toObject returns NULL
            - failed toString returns empty string

        - Refined excpetion handling in the API:
            - failed value conversions do not throw exceptions
            - uncaught exceptions in JSEvaluate, JSObjectCallAsFunction, and
              JSObjectCallAsConstructor are returned through a JSValueRef* exception
              argument
            - removed JSContextHasException, because JSContextGetException does
              the same job

        * API/JSBase.h:
        * API/JSCharBufferRef.cpp:
        (JSValueCopyStringValue):
        * API/JSContextRef.cpp:
        (JSEvaluate):
        * API/JSContextRef.h:
        * API/JSNodeList.c: Added test code demonstrating how you would use
        toNumber, and why you probably don't need toUInt32, etc.
        (JSNodeListPrototype_item):
        (JSNodeList_getProperty):
        * API/JSObjectRef.cpp:
        (JSValueToObject):
        (JSObjectCallAsFunction):
        (JSObjectCallAsConstructor):
        * API/JSObjectRef.h:
        * API/JSValueRef.cpp:
        (JSValueToNumber):
        * API/JSValueRef.h:
        * API/minidom.c:
        (main):
        * API/testapi.c:
        (main): Added tests for new rules, and call to JSGCProtect to fix Intel
        crash
        * JavaScriptCore.exp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15149 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago - Rolled out HashMap implementation of NPRuntime, at least temporarily.
darin [Tue, 4 Jul 2006 01:42:14 +0000 (01:42 +0000)]
    - Rolled out HashMap implementation of NPRuntime, at least temporarily.

        Fixes hang in the bindings section of layout tests seen on the
        buildbot.

        This code was using HashMap<const char*, PrivateIdentifier*>.
        But that hashes based on pointer identity, not string value.
        The default hash for any pointer type is to hash based on the pointer.
        And WTF doesn't currently have a string hash for char*.
        We'll need to fix that before re-landing this patch.

        (Formatting was also incorrect -- extra spaces in parentheses.)

        * bindings/npruntime.cpp: Rolled out last change.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15148 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoBuild fix.
thatcher [Mon, 3 Jul 2006 18:46:31 +0000 (18:46 +0000)]
Build fix.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15147 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed, tweaked, landed by ggaren.
ggaren [Mon, 3 Jul 2006 17:36:31 +0000 (17:36 +0000)]
    Reviewed, tweaked, landed by ggaren.

        - Port NPRuntime from CFDictionary to HashMap.

        * bindings/npruntime.cpp:
        (getStringIdentifierDictionary):
        (getIntIdentifierDictionary):
        (_NPN_GetStringIdentifier):
        (_NPN_GetIntIdentifier):
        * bindings/npruntime.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15146 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoForgot the NIB file change for step over and step out.
thatcher [Mon, 3 Jul 2006 08:27:46 +0000 (08:27 +0000)]
Forgot the NIB file change for step over and step out.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15145 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Eric.
thatcher [Mon, 3 Jul 2006 08:20:46 +0000 (08:20 +0000)]
    Reviewed by Eric.

        Bug 9631: [Drosera] Add "Step Over" and "Step Out"
        http://bugzilla.opendarwin.org/show_bug.cgi?id=9631

        Adds step over and step out. Along with a little code cleanup
        that was minor enough to piggyback on this fix.

        * Drosera/DebuggerDocument.h:
        * Drosera/DebuggerDocument.m:
        (-[DebuggerDocument stepOver:]):
        (-[DebuggerDocument stepOut:]):
        (-[DebuggerDocument windowDidLoad]):
        (-[DebuggerDocument windowWillClose:]):
        (-[DebuggerDocument toolbar:itemForItemIdentifier:willBeInsertedIntoToolbar:]):
        (-[DebuggerDocument toolbarDefaultItemIdentifiers:]):
        (-[DebuggerDocument toolbarAllowedItemIdentifiers:]):
        (-[DebuggerDocument validateUserInterfaceItem:]):
        * Drosera/Drosera.xcodeproj/project.pbxproj:
        * Drosera/debugger.html:
        * Drosera/debugger.js:
        * Drosera/viewer.css:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15144 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Eric.
thatcher [Mon, 3 Jul 2006 08:03:57 +0000 (08:03 +0000)]
    Reviewed by Eric.

        Bug 9628: [Drosera] Split Views acting oddly
        http://bugzilla.opendarwin.org/show_bug.cgi?id=9628

        Only update the last X or Y coordinate if the new
        size was not constrained. Also adds the resize cursor to
        the body during the drag incase there is a constrained
        over drag off of the resizer element.

        * Drosera/debugger.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15143 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed and landed by ggaren.
ggaren [Sun, 2 Jul 2006 23:36:57 +0000 (23:36 +0000)]
    Reviewed and landed by ggaren.

        * platform/gdk/TransferJobManager.cpp
        Fixed broken dowload logic
        * platform/gdk/ScrollViewGdk.cpp
        Add comment that scrollbarSize is a temporary variable
        * Projects/gdk/webcore-gdk.bkl
        Defined NDEBUG build executable is miscompiled otherwise
        * WebCoreSources.bkl
        added icon/SiteIcon.cpp editing/IndentOutdentCommand.cpp
        html/HTMLViewSourceDocument.cpp

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15140 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Adele.
ggaren [Sun, 2 Jul 2006 18:17:08 +0000 (18:17 +0000)]
    Reviewed by Adele.

        - Fixed <rdar://problem/4611197> REGRESSION: Liveconnect with Java test
        fails at http://www-sor.inria.fr/~dedieu/notes/liveconnect/simple_example.html

        * JavaScriptCore.exp: Export symbols used by liveconnect

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15139 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebKitTools:
ddkilzer [Sun, 2 Jul 2006 13:05:27 +0000 (13:05 +0000)]
WebKitTools:

        Reviewed by Alexy Proskuryakov.  Patch by Mark Rowe.

        Bug 9692: Warning about Safari extensions on every launch is obnoxious
        http://bugzilla.opendarwin.org/show_bug.cgi?id=9692

        * WebKitLauncher/WebKitNightlyEnabler.m:
        (myApplicationWillTerminate): Note that we are exiting cleanly.
        (cleanUpAfterOurselves): Install bundle load tracking only if we failed
         to exit cleanly on our last invocation.  This doesn't play nicely with
         multiple concurrent instances of WebKit.app so it can be disabled via
         defaults write com.apple.Safari WKNEShouldMonitorShutdowns -bool NO.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15138 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebKitTools:
ddkilzer [Sun, 2 Jul 2006 12:23:36 +0000 (12:23 +0000)]
WebKitTools:

        Reviewed by Alexy Proskuryakov.  Patch by Mark Rowe.

        Bug 9654: Refresh Loop when accessing feed URLs
        http://bugzilla.opendarwin.org/show_bug.cgi?id=9654

        * WebKitLauncher/Info.plist: Don't claim to handle feed:// URLs.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15137 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebKitTools:
ddkilzer [Sun, 2 Jul 2006 12:02:38 +0000 (12:02 +0000)]
WebKitTools:

        Reviewed by Timothy Hatcher.  Patch by Mark Rowe.

        Bug 9689: Nightly builds should warn a user about potential problems when using
        "Safari extensions"
        http://bugzilla.opendarwin.org/show_bug.cgi?id=9689

        * WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj:
        * WebKitLauncher/WebKitNightlyEnabler.m:
        (myBundleDidLoad): Keep track of if any bundles that are loaded.
        (myApplicationWillFinishLaunching):  Notify user if any bundles are loaded.
        (cleanUpAfterOurselves): Register for NSBundleDidLoadNotification and
        NSApplicationWillFinishLaunchingNotification notifications so that we can
        track bundle loads and notify the user at launch completion.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15136 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebCore:
ddkilzer [Sun, 2 Jul 2006 11:59:06 +0000 (11:59 +0000)]
WebCore:

        Reviewed by Timothy Hatcher.  Build fix for Linux.  Patch by Shawn Stricker.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9684
          [GDK] multiple little fixes and a few new things for Templinkstubs

        * platform/gdk/ScrollViewGdk.cpp:
        (WebCore::ScrollView::setDrawable): Changed SCROLLBAR_SIZE to scrollbarSize.
        * platform/gdk/TemporaryLinkStubs.cpp:
        (Image::drawTiled): Added missing parameter to argument list.
        * platform/gdk/TransferJobManager.cpp:
        (WebCore::writeCallback): Added missing parenthesis to static_cast.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15135 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebCore:
ddkilzer [Sun, 2 Jul 2006 11:39:43 +0000 (11:39 +0000)]
WebCore:

        Reviewed by Darin.  Patch by Mitz.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9674
          REGRESSION (r15075): Blank or incomplete pages on digg.com

        Replaced the requestingScript state bit added in the fix for bug 9317
        with a m_requestingScript bool that is set before and restored
        after calling ref() on a CachedScript.

        Test: fast/tokenizer/nested-cached-scripts.html

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::HTMLTokenizer):
        (WebCore::HTMLTokenizer::begin):
        (WebCore::HTMLTokenizer::scriptHandler):
        (WebCore::HTMLTokenizer::notifyFinished):
        * html/HTMLTokenizer.h:
        (WebCore::HTMLTokenizer::State::):

LayoutTests:

        Reviewed by Darin.  Patch by Mitz.

        - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9674
          REGRESSION (r15075): Blank or incomplete pages on digg.com

        * fast/tokenizer/nested-cached-scripts-expected.txt: Added.
        * fast/tokenizer/nested-cached-scripts.html: Added.
        * fast/tokenizer/resources/nested-1.js: Added.
        * fast/tokenizer/resources/nested-2.js: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15134 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Maciej.
ggaren [Sun, 2 Jul 2006 04:06:07 +0000 (04:06 +0000)]
    Reviewed by Maciej.

        - Phase 2 in the JS API.

        - Added support for specifying static tables of values -- this should
        obviate the need for using complicated callbacks for most lookups.

        -  API objects are now created with classes (JSClassRef) -- in order to support
        static values, and in order to prevent API objects from storing their
        data inline, and thus falling into the oversized (read: slow and prone to
        giving Maciej the frowny face) heap.

        - Added two specialized JSObject subclasses -- JSCallbackFunction and JSCallbackConstructor --
        to allow JSFunctionMake and JSConstructorMake to continue to work with
        the new class model. Another solution to this problem would be to create
        a custom class object for each function and constructor you make. This
        solution is more code but also more efficient.

        - Substantially beefed up the minidom example to demonstrate and test a
        lot of these techniques. Its output is still pretty haphazard, though.

        - Gave the <kjs/ preface to some includes -- I'm told this matters to
        building on some versions of Linux.

        - Implemented JSValueIsInstanceOf and JSValueIsObjectOfClass

        - Removed GetDescription callback. Something in the class datastructure
        should take care of this.

        * API/JSBase.h:
        * API/JSCallbackConstructor.cpp: Added.
        (KJS::):
        (KJS::JSCallbackConstructor::JSCallbackConstructor):
        (KJS::JSCallbackConstructor::implementsConstruct):
        (KJS::JSCallbackConstructor::construct):
        (KJS::JSCallbackConstructor::setPrivate):
        (KJS::JSCallbackConstructor::getPrivate):
        * API/JSCallbackConstructor.h: Added.
        (KJS::JSCallbackConstructor::classInfo):
        * API/JSCallbackFunction.cpp: Added.
        (KJS::):
        (KJS::JSCallbackFunction::JSCallbackFunction):
        (KJS::JSCallbackFunction::implementsCall):
        (KJS::JSCallbackFunction::callAsFunction):
        (KJS::JSCallbackFunction::setPrivate):
        (KJS::JSCallbackFunction::getPrivate):
        * API/JSCallbackFunction.h: Added.
        (KJS::JSCallbackFunction::classInfo):
        * API/JSCallbackObject.cpp:
        (KJS::):
        (KJS::JSCallbackObject::JSCallbackObject):
        (KJS::JSCallbackObject::init):
        (KJS::JSCallbackObject::~JSCallbackObject):
        (KJS::JSCallbackObject::className):
        (KJS::JSCallbackObject::getOwnPropertySlot):
        (KJS::JSCallbackObject::put):
        (KJS::JSCallbackObject::deleteProperty):
        (KJS::JSCallbackObject::implementsConstruct):
        (KJS::JSCallbackObject::construct):
        (KJS::JSCallbackObject::implementsCall):
        (KJS::JSCallbackObject::callAsFunction):
        (KJS::JSCallbackObject::getPropertyList):
        (KJS::JSCallbackObject::toBoolean):
        (KJS::JSCallbackObject::toNumber):
        (KJS::JSCallbackObject::toString):
        (KJS::JSCallbackObject::inherits):
        (KJS::JSCallbackObject::staticValueGetter):
        (KJS::JSCallbackObject::staticFunctionGetter):
        (KJS::JSCallbackObject::callbackGetter):
        * API/JSCallbackObject.h:
        * API/JSCharBufferRef.cpp:
        * API/JSClassRef.cpp: Added.
        (JSClassCreate):
        (JSClassRetain):
        (JSClassRelease):
        * API/JSClassRef.h: Added.
        (StaticValueEntry::StaticValueEntry):
        (StaticFunctionEntry::StaticFunctionEntry):
        (__JSClass::__JSClass):
        * API/JSContextRef.cpp:
        (JSContextCreate):
        (JSEvaluate):
        * API/JSContextRef.h:
        * API/JSNode.c: Added.
        (JSNodePrototype_appendChild):
        (JSNodePrototype_removeChild):
        (JSNodePrototype_replaceChild):
        (JSNodePrototype_class):
        (JSNode_getNodeType):
        (JSNode_getChildNodes):
        (JSNode_getFirstChild):
        (JSNode_finalize):
        (JSNode_class):
        (JSNode_prototype):
        (JSNode_new):
        (JSNode_construct):
        * API/JSNode.h: Added.
        * API/JSNodeList.c: Added.
        (JSNodeListPrototype_item):
        (JSNodeListPrototype_class):
        (JSNodeList_length):
        (JSNodeList_getProperty):
        (JSNodeList_finalize):
        (JSNodeList_class):
        (JSNodeList_prototype):
        (JSNodeList_new):
        * API/JSNodeList.h: Added.
        * API/JSObjectRef.cpp:
        (JSObjectMake):
        (JSFunctionMake):
        (JSConstructorMake):
        (__JSPropertyEnumerator::__JSPropertyEnumerator):
        (JSObjectCreatePropertyEnumerator):
        (JSPropertyEnumeratorGetNext):
        (JSPropertyEnumeratorRetain):
        (JSPropertyEnumeratorRelease):
        * API/JSObjectRef.h:
        (__JSObjectCallbacks::):
        * API/JSValueRef.cpp:
        (JSValueIsObjectOfClass):
        (JSValueIsInstanceOf):
        * API/JSValueRef.h:
        * API/Node.c: Added.
        (Node_new):
        (Node_appendChild):
        (Node_removeChild):
        (Node_replaceChild):
        (Node_ref):
        (Node_deref):
        * API/Node.h: Added.
        * API/NodeList.c: Added.
        (NodeList_new):
        (NodeList_length):
        (NodeList_item):
        (NodeList_ref):
        (NodeList_deref):
        * API/NodeList.h: Added.
        * API/minidom.c:
        (main):
        (print):
        (createStringWithContentsOfFile):
        * API/minidom.js:
        * API/testapi.c:
        (assertEqualsAsCharacters):
        (MyObject_getProperty):
        (MyObject_class):
        (myConstructor_callAsConstructor):
        (main):
        * API/testapi.js:
        * JavaScriptCore.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15133 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebCore:
ddkilzer [Sun, 2 Jul 2006 03:20:02 +0000 (03:20 +0000)]
WebCore:

        Reviewed by NOBODY (build fix).

        * platform/gdk/TransferJobManager.cpp:
        (WebCore::writeCallback): Changed 'static_cat' to 'static_cast'.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15132 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebKit:
ddkilzer [Sun, 2 Jul 2006 02:50:01 +0000 (02:50 +0000)]
WebKit:

        Reviewed by NOBODY (fixed Tim's build fix).

        * WebView/WebView.m: Added back missing '/' at the beginning of the file.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15131 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by NOBODY (build fix)
tomernic [Sun, 2 Jul 2006 01:31:12 +0000 (01:31 +0000)]
    Reviewed by NOBODY (build fix)

        * WebView/WebView.m:
        (-[WebView _isMIMETypeRegisteredAsPlugin:]):
        Changed nil to NO (typo).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15130 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoBuild fix for case-sensitive filesystems.
thatcher [Sat, 1 Jul 2006 19:08:09 +0000 (19:08 +0000)]
Build fix for case-sensitive filesystems.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15126 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed and tweaked by Darin.
darin [Sat, 1 Jul 2006 05:02:23 +0000 (05:02 +0000)]
    Reviewed and tweaked by Darin.

        - Compile fixes for wx port / gcc 4.0.2

        * kjs/array_object.cpp:
        Added missing headers.

        * kjs/ExecState.h:
        gcc needs class prototypes before defining those classes as friend classes

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15125 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed and worked over a lot by Darin.
darin [Sat, 1 Jul 2006 04:39:50 +0000 (04:39 +0000)]
    Reviewed and worked over a lot by Darin.

        - check in first set of GDK-specific sources

        * platform/gdk/BrowserExtensionGdk.h: Added.
        * platform/gdk/CookieJarGdk.cpp: Added.
        * platform/gdk/CursorGdk.cpp: Added.
        * platform/gdk/FontCacheGdk.cpp: Added.
        * platform/gdk/FontDataGdk.cpp: Added.
        * platform/gdk/FontGdk.cpp: Added.
        * platform/gdk/FontPlatformData.h: Added.
        * platform/gdk/FontPlatformDataGdk.cpp: Added.
        * platform/gdk/FrameGdk.cpp: Added.
        * platform/gdk/FrameGdk.h: Added.
        * platform/gdk/GlyphMapGdk.cpp: Added.
        * platform/gdk/KeyEventGdk.cpp: Added.
        * platform/gdk/KeyboardCodes.h: Added.
        * platform/gdk/MouseEventGdk.cpp: Added.
        * platform/gdk/PageGdk.cpp: Added.
        * platform/gdk/RenderThemeGdk.cpp: Added.
        * platform/gdk/RenderThemeGdk.h: Added.
        * platform/gdk/ScreenGdk.cpp: Added.
        * platform/gdk/ScrollViewGdk.cpp: Added.
        * platform/gdk/SharedTimerLinux.cpp: Added.
        * platform/gdk/SystemTimeLinux.cpp: Added.
        * platform/gdk/TemporaryLinkStubs.cpp: Added.
        * platform/gdk/TransferJobCurl.cpp: Added.
        * platform/gdk/TransferJobManager.cpp: Added.
        * platform/gdk/TransferJobManager.h: Added.
        * platform/gdk/WheelEventGdk.cpp: Added.
        * platform/gdk/WidgetGdk.cpp: Added.
        * platform/gdk/gdk-encodings.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15124 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Darin.
darin [Sat, 1 Jul 2006 04:24:46 +0000 (04:24 +0000)]
    Reviewed by Darin.

        * WebCoreSources.bkl: Updated for recent file changes.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15123 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed and enhanced by Darin.
darin [Sat, 1 Jul 2006 04:23:22 +0000 (04:23 +0000)]
    Reviewed and enhanced by Darin.

        Compilation fixes for Linux/Gdk.

        * WebCore/platform/FontData.h: Added forward declaration of a class.
        * WebCore/platform/cairo/GraphicsContextCairo.cpp: Fixed case on include.
        * WebCore/bindings/js/kjs_html.cpp: Added <math.h> include.

        * WebCore/css/maketokenizer: Fixed incorrect check for Linux that was
        already true even on Mac OS X. Added some additional includes and
        defines to the Linux extra generated code.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15122 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebCore:
ddkilzer [Sat, 1 Jul 2006 02:51:32 +0000 (02:51 +0000)]
WebCore:

        Reviewed by Hyatt.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7204
          float inserted in fixed height block via DOM not repainted

        Test: fast/repaint/float-move-during-layout.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlockChildren):
        (WebCore::RenderBlock::repaintOverhangingFloats): Renamed repaintFloatingDescendants()
        to this and limited it to repainting overhanging floats. Added a boolean parameter that forces
        all descendant overhanging floats (that don't have their own layer) to paint.
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::repaintDuringLayoutIfMoved): Changed to paint all descendant
        floats.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintOverhangingFloats):
        * rendering/RenderObject.h:

LayoutTests:

        Reviewed by Hyatt.

        - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=7204
          float inserted in fixed height block via DOM not repainted

        * fast/repaint/float-move-during-layout-expected.checksum: Added.
        * fast/repaint/float-move-during-layout-expected.png: Added.
        * fast/repaint/float-move-during-layout-expected.txt: Added.
        * fast/repaint/float-move-during-layout.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15121 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoChanges by Mike Emmel.
darin [Sat, 1 Jul 2006 01:33:37 +0000 (01:33 +0000)]
Changes by Mike Emmel.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15120 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Darin.
darin [Sat, 1 Jul 2006 01:32:57 +0000 (01:32 +0000)]
    Reviewed by Darin.

        - first check-in of a Gdk shell for testing WebKit

        * GdkLauncher: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15119 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Darin.
darin [Sat, 1 Jul 2006 01:31:08 +0000 (01:31 +0000)]
    Reviewed by Darin.

        Compilation fixes for Linux/Gdk.

        * JavaScriptCore/kjs/interpreter.cpp: added include of signal.h
        * JavaScriptCore/kjs/ExecState.h: added missing class declaration
        * JavaScriptCore/kjs/ExecState.cpp: case wrong on include of context.h
        * JavaScriptCore/JavaScriptCoreSources.bkl: added Context.cpp and ExecState.cpp

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15118 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
lweintraub [Fri, 30 Jun 2006 23:47:09 +0000 (23:47 +0000)]
LayoutTests:

        Reviewed by justin

        * editing/execCommand/format-block-with-trailing-br-expected.checksum: Added.
        * editing/execCommand/format-block-with-trailing-br-expected.png: Added.
        * editing/execCommand/format-block-with-trailing-br-expected.txt: Added.
        * editing/execCommand/format-block-with-trailing-br.html: Added.

WebCore:

        Reviewed by justin

        * editing/VisiblePosition.cpp: Removed is[Not]EqualIgnoringAffinity and made operator== use the logic that ignores affinity.
        * editing/VisiblePosition.h: Ditto.
        (WebCore::operator==):
        * editing/visible_units.cpp:
        (WebCore::isStartOfParagraph): Changed to compare VisiblePositions using ==.
        (WebCore::isEndOfParagraph): Ditto.
        (WebCore::isStartOfBlock): Ditto.
        (WebCore::isEndOfBlock): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15117 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoVersioning
thatcher [Fri, 30 Jun 2006 23:35:16 +0000 (23:35 +0000)]
Versioning

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15115 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoFixed the test case that I just checked in.
justing [Fri, 30 Jun 2006 22:32:52 +0000 (22:32 +0000)]
Fixed the test case that I just checked in.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15114 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
justing [Fri, 30 Jun 2006 22:17:51 +0000 (22:17 +0000)]
LayoutTests:

        Reviewed by levi

        * editing/pasteboard/pasting-object-expected.checksum: Added.
        * editing/pasteboard/pasting-object-expected.png: Added.
        * editing/pasteboard/pasting-object-expected.txt: Added.
        * editing/pasteboard/pasting-object.html: Added.

WebCore:

        Reviewed by levi

        * editing/htmlediting.cpp:
        (WebCore::canHaveChildrenForEditing): Don't insert children into
        object tags while editing.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15113 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
justing [Fri, 30 Jun 2006 19:43:03 +0000 (19:43 +0000)]
LayoutTests:

        Reviewed by harrison

        Added:
        * editing/selection/skip-non-editable-1-expected.txt: Added.
        * editing/selection/skip-non-editable-1.html: Added.
        * editing/selection/skip-non-editable-2-expected.txt: Added.
        * editing/selection/skip-non-editable-2.html: Added.

        Equivalent render tree:
        * editing/execCommand/format-block-with-braces-expected.txt:

        Fixes:
        * editing/selection/iframe-expected.checksum:
        * editing/selection/iframe-expected.png:
        * editing/selection/iframe-expected.txt:
        * editing/selection/inline-table-expected.checksum:
        * editing/selection/inline-table-expected.png:
        * editing/selection/inline-table-expected.txt:
        * editing/selection/move-between-blocks-no-001-expected.checksum:
        * editing/selection/move-between-blocks-no-001-expected.png:
        * editing/selection/move-between-blocks-no-001-expected.txt:
        * editing/selection/select-box-expected.checksum:
        * editing/selection/select-box-expected.png:
        * editing/selection/select-box-expected.txt:

WebCore:

        Reviewed by harrison

        <rdar://problem/4598309
        Caret gets stuck when it hits non editable content within an editable body
        <http://bugzilla.opendarwin.org/show_bug.cgi?id=9510>
        Caret will jump out of an editable region

        * dom/Position.cpp:
        (WebCore::Position::upstream): Don't move into a new editable region so that
        candidates that that straddle an editable/non-editable boundary will
        correspond to different VisiblePositions.
        (WebCore::Position::downstream): Ditto.
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::modifyMovingRightForward): Use VisiblePosition::next(true)
        (WebCore::SelectionController::modifyMovingLeftBackward): Use VisiblePosition::previous(true)
        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::next): Added code to jump to the next editable region as long
        as it has the same highest editable root.
        (WebCore::VisiblePosition::previous): Ditto.
        * editing/VisiblePosition.h:
        * editing/htmlediting.cpp:
        (WebCore::highestEditableRoot): Added, returns the highest editable root of a node if that
        node is in editable content, otherwise 0.
        * editing/htmlediting.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15112 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebCore:
ddkilzer [Fri, 30 Jun 2006 19:09:54 +0000 (19:09 +0000)]
WebCore:

        Reviewed by Darin.

        - Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9358
          REGRESSION: Assertion failure in HTMLInputElement::setValueFromRenderer
          (value == constrainValue(value)) when deleting all text

        Test: editing/deleting/delete-all-text-in-text-field-assertion.html

        Bug 9661 filed to fix the follow-up issue:
        http://bugzilla.opendarwin.org/show_bug.cgi?id=9661
        textContent returns "\n" for a <br> even if it is collapsed

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setValueFromRenderer): Work around "\n" value
        when all characters are deleted from a text field.

LayoutTests:

        Reviewed by Darin.

        - Test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9358
          REGRESSION: Assertion failure in HTMLInputElement::setValueFromRenderer
          (value == constrainValue(value)) when deleting all text

        * editing/deleting/delete-all-text-in-text-field-assertion-expected.txt: Added.
        * editing/deleting/delete-all-text-in-text-field-assertion.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15111 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Darin.
thatcher [Fri, 30 Jun 2006 18:56:59 +0000 (18:56 +0000)]
    Reviewed by Darin.

        Only enable shouldCloseWithWindow when ObjC GC is enabled.
        This maintains backwards compatibility with applications
        that expect a WebView to be usable after the window closes.

        * WebView/WebView.m:
        (-[WebViewPrivate init]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15110 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Tim Omernick
harrison [Fri, 30 Jun 2006 17:53:21 +0000 (17:53 +0000)]
    Reviewed by Tim Omernick

        <rdar://problem/4609481> Crash calling -[WebScriptObject valueForKey:] when JS disabled

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::executionContextForDOM):
        Early return if JS is not enabled.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15109 268f45cc-cd09-0410-ab3c-d52691b4dbfc