WebKit-https.git
14 years ago2006-07-17 Anders Carlsson <acarlsson@apple.com>
andersca [Mon, 17 Jul 2006 22:29:47 +0000 (22:29 +0000)]
2006-07-17  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        Add Apache 2 config file.

        * http/conf/apache2-httpd.conf: Added.

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

14 years ago Back out the fix for 5564, since it turns out font:x-small; is a pretty
hyatt [Mon, 17 Jul 2006 22:18:27 +0000 (22:18 +0000)]
    Back out the fix for 5564, since it turns out font:x-small; is a pretty
        prominent IE-specific CSS hack.  Because Web sites rely on IE's incorrect
        font parsing as a means of also correcting IE's incorrect font size rules.

        This fixes Yahoo.com.

        Reviewed by darin

        * css/cssparser.cpp:
        (WebCore::CSSParser::parseFont):

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

14 years ago Reviewed by Tim Omernick.
sullivan [Mon, 17 Jul 2006 22:05:21 +0000 (22:05 +0000)]
    Reviewed by Tim Omernick.

        - fixed <rdar://problem/4604366> Orange Find highlight displays text in wrong size on PDF pages
        if they're not at "actual size"

        To match WebHTMLView, I made the methods that return attributed strings take the view's scale
        factor into account.

        * WebView/WebPDFView.m:
        (-[WebPDFView _scaledAttributedString:]):
        new helper method, takes an attributed string and returns one that's scaled by the view's
        current scale factor
        (-[WebPDFView attributedString]):
        pass result through _scaledAttributedString:
        (-[WebPDFView selectedAttributedString]):
        ditto

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

14 years agoLayoutTests:
justing [Mon, 17 Jul 2006 21:54:32 +0000 (21:54 +0000)]
LayoutTests:

        Reviewed by levi

        <rdar://problem/4618389> REGRESSION: After applying a link to the last word of a sentence, a new selection is created at the start of the sentence

        * editing/selection/replace-selection-1-expected.checksum: Added.
        * editing/selection/replace-selection-1-expected.png: Added.
        * editing/selection/replace-selection-1-expected.txt: Added.
        * editing/selection/replace-selection-1.html: Added.

WebCore:

        Reviewed by levi

        <rdar://problem/4618389> REGRESSION: After applying a link to the last word of a sentence, a new selection is created at the start of the sentence

        * dom/Document.cpp:
        (WebCore::Document::updateSelection):

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

14 years agoLayoutTests:
justing [Mon, 17 Jul 2006 19:38:48 +0000 (19:38 +0000)]
LayoutTests:

        Reviewed by levi

        * editing/selection/drag-to-contenteditable-iframe-expected.txt:
        * editing/selection/subframe-with-selection-expected.txt:

WebKit:

        Reviewed by levi

        Rolled the first fix for:
        <http://bugzilla.opendarwin.org/show_bug.cgi?id=9642>
        GMail Editor: Operations that use drop down menus blow away the selection
        back in and removed the call to _clearSelectionInOtherFrames from
        -[WebHTMLView becomeFirstResponder] to fix the bug.

        * WebView/WebHTMLView.m:
        (-[NSArray maintainsInactiveSelection]):
        (-[NSArray becomeFirstResponder]):
        * WebView/WebView.m:
        (-[WebView maintainsInactiveSelection]):

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

14 years ago * API/JSBase.h: Fix comment formatting where things used to be lined up but
darin [Mon, 17 Jul 2006 15:19:46 +0000 (15:19 +0000)]
    * API/JSBase.h: Fix comment formatting where things used to be lined up but
        are now ragged. Got rid of spaces that attempted to line things up.
        * API/JSObjectRef.h: Ditto. Also add missing periods for a couple of comments.

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

14 years agoLayoutTests:
mjs [Mon, 17 Jul 2006 11:50:02 +0000 (11:50 +0000)]
LayoutTests:

        Reviewed by Beth.

        <rdar://problem/4604946> REGRESSION: 'checkboxRef.checked = true' fires onchange event in Leopard

        * fast/events/programmatic-check-no-change-event-expected.txt: Added.
        * fast/events/programmatic-check-no-change-event.html: Added.

WebCore:

        Reviewed by Beth.

        <rdar://problem/4604946> REGRESSION: 'checkboxRef.checked = true' fires onchange event in Leopard

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setChecked):
        (WebCore::HTMLInputElement::preDispatchEventHandler):
        * html/HTMLInputElement.h:

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

14 years ago Reviewed by Maciej.
ggaren [Mon, 17 Jul 2006 10:49:28 +0000 (10:49 +0000)]
    Reviewed by Maciej.

        - Removed the exception parameter from the initialize callback and, by extension,
        JSObjectMake. We have never had a need for exceptions when iniitializing,
        so the parameter seemed likely to "get in the way."

        Also, an exception in JavaScript is thrown in response to input --
        "invalid URL", "index not a number", etc., so it's the job of the
        constructor function, not the initialize method, to throw.

        If initialize *really* wants to throw, it can communicate the throw to
        the constructor through the constructed object's private data (e.g., set
        it to NULL, signaling to the consntructor that initialization failed.)

        - Added JSObjectMakeWithData, which enables a constructor to set private
        data on an object *before* it has been initialized. That way, the initialize
        methods can properly operate on the data.

        * API/JSNode.c: Moved ref into the initialize method, for better encapsulation,
        now that it's possible.
        * API/JSNodeList.c: ditto
        * API/minidom.c:
        (main): Do more aggressive garbage collection to test ref/deref and
        initialize/finalize.
        * API/minidom.js: store childNodes in a temporary so it doesn't get re-created
        like a thousand times. This makes debugging ref/deref easier

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

14 years ago Reviewed by Maciej.
ggaren [Mon, 17 Jul 2006 09:06:57 +0000 (09:06 +0000)]
    Reviewed by Maciej.

        - Changed the initialize callback to run from least derived class (parent
        class) to most derived class. This enables C++ style initialization,
        and derived class overriding of member data.

        - Added excpetion propopgation to JSObjectMake, to support initialize
        exceptions, and generally round out our policy of making function
        signatures as long as possible.

        * API/JSCallbackObject.h: Use ExecState instead of ContextRef, cuz we're
        in C++ land now.

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

14 years ago Reviewed by Maciej.
ggaren [Mon, 17 Jul 2006 08:20:28 +0000 (08:20 +0000)]
    Reviewed by Maciej.

        - Changed JSObjectMakeConstructor to JSObjectMakeConstructorWithCallback,
        to match JSObjectMakeFunctionWithCallback.

        - Added prototype parameter, so the generated constructor
        automatically works with hasInstance / instanceof

        - Moved hasInstance implementation from InternalFunctionImp to JSObject
        so that subclasses can inherit it without inheriting function-related baggage.
        More refactoring here would be good, but this seems like a good short-term
        solution.

        (KJS::JSCallbackFunction::implementsHasInstance): override and return false,
        because callback functions aren't constructors.

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

14 years ago Reviewed by Geoff.
mjs [Mon, 17 Jul 2006 08:14:39 +0000 (08:14 +0000)]
    Reviewed by Geoff.

        - add a JSContextRef parameter to all JSValueRef, JSObjectRef, and JSContextRef operations;
        except JSObject{Get,Set}PrivateData which can be assumed to be simple pure accessors.

        Also renamed the parameter "context" to "ctx" because it makes the code read better with this pervasive
        but usually uninteresting parameter.

        * API/JSBase.cpp:
        (JSEvaluateScript):
        (JSCheckScriptSyntax):
        (JSGarbageCollect):
        * API/JSBase.h:
        * API/JSCallbackObject.cpp:
        (KJS::JSCallbackObject::JSCallbackObject):
        (KJS::JSCallbackObject::init):
        (KJS::JSCallbackObject::getOwnPropertySlot):
        (KJS::JSCallbackObject::put):
        (KJS::JSCallbackObject::deleteProperty):
        (KJS::JSCallbackObject::toNumber):
        (KJS::JSCallbackObject::toString):
        * API/JSContextRef.cpp:
        (JSGlobalContextCreate):
        (JSGlobalContextRetain):
        (JSGlobalContextRelease):
        (JSContextGetGlobalObject):
        * API/JSContextRef.h:
        * API/JSNode.c:
        (JSNodePrototype_appendChild):
        (JSNodePrototype_removeChild):
        (JSNodePrototype_replaceChild):
        (JSNode_getNodeType):
        (JSNode_getFirstChild):
        (JSNode_prototype):
        * API/JSNodeList.c:
        (JSNodeListPrototype_item):
        (JSNodeList_length):
        (JSNodeList_getProperty):
        (JSNodeList_prototype):
        * API/JSObjectRef.cpp:
        (JSObjectMake):
        (JSObjectMakeFunctionWithCallback):
        (JSObjectMakeConstructor):
        (JSObjectMakeFunction):
        (JSObjectGetPrototype):
        (JSObjectSetPrototype):
        (JSObjectHasProperty):
        (JSObjectGetProperty):
        (JSObjectSetProperty):
        (JSObjectGetPropertyAtIndex):
        (JSObjectSetPropertyAtIndex):
        (JSObjectDeleteProperty):
        (JSObjectIsFunction):
        (JSObjectCallAsFunction):
        (JSObjectIsConstructor):
        (JSObjectCallAsConstructor):
        (JSObjectCopyPropertyNames):
        * API/JSObjectRef.h:
        * API/JSStringRef.cpp:
        * API/JSValueRef.cpp:
        (JSValueGetType):
        (JSValueIsUndefined):
        (JSValueIsNull):
        (JSValueIsBoolean):
        (JSValueIsNumber):
        (JSValueIsString):
        (JSValueIsObject):
        (JSValueIsObjectOfClass):
        (JSValueIsEqual):
        (JSValueIsStrictEqual):
        (JSValueIsInstanceOfConstructor):
        (JSValueMakeUndefined):
        (JSValueMakeNull):
        (JSValueMakeBoolean):
        (JSValueMakeNumber):
        (JSValueMakeString):
        (JSValueToBoolean):
        (JSValueToNumber):
        (JSValueToStringCopy):
        (JSValueToObject):
        (JSValueProtect):
        (JSValueUnprotect):
        * API/JSValueRef.h:
        * API/minidom.c:
        (print):
        * API/testapi.c:
        (MyObject_getProperty):
        (MyObject_deleteProperty):
        (MyObject_callAsFunction):
        (MyObject_callAsConstructor):
        (MyObject_convertToType):
        (print_callAsFunction):
        (main):

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

14 years ago Approved by Maciej, RS by Beth.
ggaren [Mon, 17 Jul 2006 04:41:01 +0000 (04:41 +0000)]
    Approved by Maciej, RS by Beth.

        JSObjectMakeFunction -> JSObjectMakeFunctionWithCallback
        JSObjectMakeFunctionWithBody -> JSObjectMakeFunction

        because the latter is more common, and more fundamental, than the former.

        * API/APICast.h:
        (toJS):
        * API/JSBase.h:
        * API/JSCallbackObject.cpp:
        (KJS::JSCallbackObject::getOwnPropertySlot):
        (KJS::JSCallbackObject::put):
        (KJS::JSCallbackObject::deleteProperty):
        (KJS::JSCallbackObject::getPropertyNames):
        (KJS::JSCallbackObject::staticValueGetter):
        (KJS::JSCallbackObject::staticFunctionGetter):
        * API/JSClassRef.cpp:
        (OpaqueJSClass::OpaqueJSClass):
        (OpaqueJSClass::~OpaqueJSClass):
        * API/JSClassRef.h:
        * API/JSObjectRef.cpp:
        (JSClassCreate):
        (JSObjectMakeFunctionWithCallback):
        (JSObjectMakeFunction):
        (OpaqueJSPropertyNameArray::OpaqueJSPropertyNameArray):
        (JSObjectCopyPropertyNames):
        * API/JSObjectRef.h:
        * API/minidom.c:
        (main):
        * API/testapi.c:
        (main):
        * ChangeLog:
        * JavaScriptCore.exp:

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

14 years agoLayoutTests:
ddkilzer [Mon, 17 Jul 2006 04:21:09 +0000 (04:21 +0000)]
LayoutTests:

        Reviewed by Darin.

        - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9954
          REGRESSION: document.dir should return empty string in <head>

        * fast/dom/document-dir-property-expected.txt: Added.
        * fast/dom/document-dir-property.html: Added.

WebCore:

        Reviewed by Darin.

        - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9954
          REGRESSION: document.dir should return empty string in <head>

        Test: fast/dom/document-dir-property.html

        * bindings/js/kjs_html.cpp:
        (KJS::JSHTMLDocument::getValueProperty): Return an empty string instead of an
        undefined value for an unset document.dir property.

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

14 years agoLayoutTests:
ddkilzer [Mon, 17 Jul 2006 04:15:53 +0000 (04:15 +0000)]
LayoutTests:

        Reviewed by Darin.

        * fast/dynamic/move-node-with-selection-expected.checksum:
        Removed "No newline at end of file" that snuck in as part of the "apply patch" process.

WebCore:

        Reviewed by Darin.

        * dom/NodeFilter.idl:
        Removed "No newline at end of file" that snuck in as part of the "apply patch" process.
        * manual-tests/input-empty-on-focus.html:
        Removed "Property changes" that snuck in as part of the "apply patch" process.

WebKitTools:

        Reviewed by Darin.

        * BuildSlaveSupport/build.webkit.org-config/buildbot.css:
        Removed "No newline at end of file" that snuck in as part of the "apply patch" process.
        * GdkLauncher/mk:
        Removed "Property changes" that snuck in as part of the "apply patch" process.

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

14 years agoWebKitTools:
ddkilzer [Mon, 17 Jul 2006 03:59:42 +0000 (03:59 +0000)]
WebKitTools:

        Reviewed by Darin.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9875
          Teach svn-apply and svn-unapply to use patch(1) for additions and deletions

        * Scripts/svn-apply:
        (addDirectoriesIfNeeded): Don't try to add a directory that's already in svn.
        (checksum): Added.
        (patch): Use patch(1) for non-binary additions and deletions.
        * Scripts/svn-unapply:
        (checksum): Added.
        (patch): Use patch(1) for reverting non-binary additions and deletions.
        (revertDirectories): Don't try to revert a directory that hasn't changed in svn.

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

14 years ago - try to fix Windows build
darin [Mon, 17 Jul 2006 03:59:27 +0000 (03:59 +0000)]
    - try to fix Windows build

        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
        Added some recently added files, removed some recently removed.

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

14 years ago - fixed a couple of files I checked in wrong
darin [Mon, 17 Jul 2006 02:51:26 +0000 (02:51 +0000)]
    - fixed a couple of files I checked in wrong

        * fast/html/body-offset-properties-expected.txt: Removed property cruft.
        * fast/html/body-offset-properties.html: Ditto.

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

14 years ago Reviewed by Maciej.
ggaren [Mon, 17 Jul 2006 02:00:40 +0000 (02:00 +0000)]
    Reviewed by Maciej.

        - Change getProperty* to return undefined, rather than NULL, for missing
        properties, since that's what the spec says. Also added exception out
        parameters to the *Index functions, because they can call through to the
        regular functions, which can throw for custom objects.

        * API/JSObjectRef.cpp:
        (JSObjectGetProperty):
        (JSObjectGetPropertyAtIndex):
        (JSObjectSetPropertyAtIndex):
        * API/JSObjectRef.h:
        * API/testapi.c:
        (main):

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

14 years ago Reviewed by Maciej.
ggaren [Mon, 17 Jul 2006 01:48:27 +0000 (01:48 +0000)]
    Reviewed by Maciej.

        - Properly document and handle NULL callbacks for static properties. We
        throw an exception in any case other than a ReadOnly property with a NULL
        setProperty callback, because a NULL callback almost certainly indicates
        a programming error. Also throw an exception if hasProperty returns true
        for a property that getProperty can't get.

        - If a static setProperty callback returns 'false', to indicate that the
        property was not set, we no longer forward the set request up the class
        chain, because that's almost certainly not what the programmer expected.

        * API/JSCallbackObject.cpp:
        (KJS::JSCallbackObject::getOwnPropertySlot):
        (KJS::JSCallbackObject::put):
        (KJS::JSCallbackObject::staticValueGetter):
        (KJS::JSCallbackObject::staticFunctionGetter):
        (KJS::JSCallbackObject::callbackGetter):
        * API/JSObjectRef.h:
        * API/minidom.js:
        * API/testapi.c:
        (MyObject_hasProperty):
        * API/testapi.js:

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

14 years ago - fixed typo in expected results
mjs [Mon, 17 Jul 2006 01:47:13 +0000 (01:47 +0000)]
    - fixed typo in expected results

        * fast/js/for-in-avoid-duplicates-expected.txt:

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

14 years agoLayoutTests:
darin [Mon, 17 Jul 2006 00:37:55 +0000 (00:37 +0000)]
LayoutTests:

        Reviewed by John Sullivan (new test, not the changes to existing ones).

        - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9943
          <rdar://problem/4590613>
          REGRESSION (Tiger-TOT): menus are offset to the right at http://movies.aol.com/movie-photo-bts/superman-returns

        * fast/html/body-offset-properties-expected.txt: Added.
        * fast/html/body-offset-properties.html: Added.

        * editing/execCommand/findString-2.html: Update to not depend on the buggy body.offseLeft/Top.
        Instead hardcode the default body margin of 8.
        * editing/pasteboard/drop-text-without-selection.html: Ditto.
        * editing/selection/click-before-and-after-table.html: Ditto.
        * editing/selection/mixed-editability-1.html: Ditto.
        * fast/table/click-near-anonymous-table.html: Ditto.

        * editing/selection/drag-to-contenteditable-iframe.html: Remove unnecessary use of body.offsetLeft/Top
        that are always 0.

WebCore:

        Reviewed by John Sullivan.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9943
          <rdar://problem/4590613>
          REGRESSION (Tiger-TOT): menus are offset to the right at http://movies.aol.com/movie-photo-bts/superman-returns

        The problem turns out to be the fact that body.offsetLeft is returning a non-zero value.
        I have no idea why the menus worked in Tiger Safari, because body.offsetLeft behavior has not changed.
        Presumably some other bug that we fixed had been compensating.

        Test: fast/html/body-offset-properties.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::offsetLeft): Always return 0 for any object without an offsetParent.
        (WebCore::RenderObject::offsetTop): Ditto.
        (WebCore::RenderObject::offsetParent): Return 0 for the body (treat as a special case).

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

14 years ago Reviewed by Maciej.
bdakin [Mon, 17 Jul 2006 00:25:56 +0000 (00:25 +0000)]
    Reviewed by Maciej.

        Fix for <rdar://problem/4616595> REGRESSION: Problems with world
        clock widget clock hand motion on 9A211 + 4604574

        The second hand on the widget was jiggling because the rotation was
        messing up the use of the affine transformation matrix while
        rounding to pixel boundaries in device space. We are mainly
        concerned with rounding to pixel boundaries with the scale in mind,
        so this patch extracts the scale to device space from the matrix,
        and rounds to pixel boundaries using only the scale. This doesn't
        seem like it is a perfect solution, but it definitely solves the
        immediate problem. We will probably need to re-address what should
        happen to avoid pixel cracks with rotations at non-integral scale
        factors.

        * platform/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::roundToDevicePixels):

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

14 years ago Reviewed by Maciej.
ggaren [Sun, 16 Jul 2006 22:17:04 +0000 (22:17 +0000)]
    Reviewed by Maciej.

        - Added names to functions.

        - Removed GetPrivate/SetPrivate from callbackFunctions and callbackConstructors.
        The private data idiom is that a JS object stores its native implementation
        as private data. For functions and constructors, the native implementation is nothing
        more than the callback they already store, so supporting private data, too,
        confuses the idiom. If you *really* want, you can still create a custom
        function with private data.

        * API/JSCallbackConstructor.cpp:
        * API/JSCallbackConstructor.h:
        * API/JSCallbackFunction.cpp:
        (KJS::JSCallbackFunction::JSCallbackFunction):
        * API/JSCallbackFunction.h:
        * API/JSCallbackObject.cpp:
        (KJS::JSCallbackObject::staticFunctionGetter):
        * API/JSObjectRef.cpp:
        (JSObjectMakeFunction):
        (JSObjectMakeFunctionWithBody):
        (JSObjectGetPrivate):
        (JSObjectSetPrivate):
        * API/JSObjectRef.h:
        * API/minidom.c:
        (main):
        * API/testapi.c:
        (main):

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

14 years agoJavaScriptCore:
mjs [Sun, 16 Jul 2006 21:06:28 +0000 (21:06 +0000)]
JavaScriptCore:

        Reviewed by Darin.

        - switch property lists to be vector+set of Identifiers instead of list of References

        This has the following benefits:

        - no duplicates in property lists
        - simplifies API calls
        - probably more efficient, since linked list is gone
        - entirely removed Reference, ReferenceList and ProtectedReference types from the API

        * kjs/PropertyNameArray.cpp: Added.
        (KJS::PropertyNameArray::add): Check set, if not already there, add to
        vector.
        * kjs/PropertyNameArray.h: Added.
        (KJS::PropertyNameArray::PropertyNameArray): Newly added type, combines
        a set and a vector to make a unique but ordered list of identifiers.
        (KJS::PropertyNameArray::begin): ditto
        (KJS::PropertyNameArray::end): ditto
        (KJS::PropertyNameArray::size): ditto
        (KJS::PropertyNameArray::operator[]): ditto
        * kjs/array_instance.h:
        * kjs/array_object.cpp:
        (ArrayInstance::getPropertyNames): renamed from getPropertyList, updated
        for PropertyNameArray
        (ArrayInstance::setLength): updated for PropertyNameArray
        (ArrayInstance::pushUndefinedObjectsToEnd): ditto
        * kjs/nodes.cpp:
        (ForInNode::execute): updated for PropertyNameArray
        * kjs/nodes.h:
        * kjs/object.cpp:
        (KJS::JSObject::getPropertyNames): renamed from getPropertyList, updated
        for PropertyNameArray
        * kjs/object.h:
        * kjs/property_map.cpp:
        (KJS::PropertyMap::getEnumerablePropertyNames): updated for PropertyNameArray
        (KJS::PropertyMap::getSparseArrayPropertyNames): ditto
        * kjs/property_map.h:
        * kjs/protected_reference.h: Removed.
        * kjs/reference.cpp: Removed.
        * kjs/reference.h: Removed.
        * kjs/reference_list.cpp: Removed.
        * kjs/reference_list.h: Removed.
        * kjs/scope_chain.cpp:
        (KJS::ScopeChain::print): Use PropertyNamesArray instead of ReferenceList.
        * kjs/string_object.cpp:
        (StringInstance::getPropertyNames): Updated for new approach.
        * kjs/string_object.h:
        * kjs/ustring.h:
        * API/APICast.h:
        (toJS): Added overload for PropertyNameAccumulatorRef / PropertyNameArray*
        (toRef): ditto
        * API/JSBase.h:
        * API/JSCallbackObject.cpp:
        (KJS::JSCallbackObject::getPropertyNames): Fixed for new API.
        * API/JSCallbackObject.h:
        * API/JSObjectRef.cpp:
        (__JSPropertyNameArray::__JSPropertyNameArray): Type used for a publicly vended
        JSPropertyNameArrayRef.
        (JSObjectCopyPropertyNames): New API call - renamed / refactored from
        JSObjectCreatePropertyList
        (JSPropertyNameArrayRetain): new retain call for JSPropertyNameArray.
        (JSPropertyNameArrayRelease): new release call for - " -.
        (JSPropertyNameArrayGetCount): Instead of having to use a stateful enumerator you
        can now get the count and items in any order.
        (JSPropertyNameArrayGetNameAtIndex): See above.
        (JSPropertyNameAccumulatorAddName): What you add properties to is now an opaque
        accumulator object.
        * API/JSObjectRef.h: Prototyped new functions, removed old ones
        * JavaScriptCore.exp: Updated exported symbols.
        * JavaScriptCore.xcodeproj/project.pbxproj: Added new files, removed old.
        * API/testapi.c:
        (MyObject_getPropertyNames): Renamed / fixed callback to fit new paradigm.
        (main): Updated for new API.

JavaScriptGlue:

        Reviewed by Darin.

        - switch property lists to be vector+set of Identifiers instead of list of References

        * JSUtils.cpp:
        (KJSValueToCFTypeInternal): updated for JSC SPI changes
        * JSValueWrapper.cpp:
        (JSValueWrapper::JSObjectCopyPropertyNames): ditto
        * UserObjectImp.cpp:
        (UserObjectImp::getPropertyNames): ditto
        * UserObjectImp.h:

LayoutTests:

        Reviewed by Darin.

        - new test case and updated results for property list changes

        * fast/js/for-in-avoid-duplicates-expected.txt: Added.
        * fast/js/for-in-avoid-duplicates.html: Added.
        * fast/js/kde/Array-expected.txt:
        * fast/js/resources/for-in-avoid-duplicates.js: Added.

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

14 years agoJavaScriptGlue has no need to look for frameworks in WebKit's umbrella framework...
thatcher [Sun, 16 Jul 2006 05:45:36 +0000 (05:45 +0000)]
JavaScriptGlue has no need to look for frameworks in WebKit's umbrella framework path anymore.

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

14 years agoWebCore has no need to look for frameworks in WebKit's umbrella framework path anymore.
thatcher [Sun, 16 Jul 2006 05:22:12 +0000 (05:22 +0000)]
WebCore has no need to look for frameworks in WebKit's umbrella framework path anymore.

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

14 years ago - oops, missed a few more arrays that had to be const
darin [Sun, 16 Jul 2006 02:26:40 +0000 (02:26 +0000)]
    - oops, missed a few more arrays that had to be const

        * API/JSNode.c:
        (JSNodePrototype_appendChild): Added const.
        (JSNodePrototype_removeChild): Ditto.
        (JSNodePrototype_replaceChild): Ditto.
        (JSNode_construct): Ditto.
        * API/JSNodeList.c:
        (JSNodeListPrototype_item): Ditto.
        * API/JSObjectRef.cpp:
        (JSObjectMakeFunctionWithBody): Ditto.
        (JSObjectCallAsFunction): Ditto.
        (JSObjectCallAsConstructor): Ditto.
        * API/minidom.c:
        (print): Ditto.
        * API/testapi.c:
        (MyObject_callAsFunction): Ditto.
        (MyObject_callAsConstructor): Ditto.
        (print_callAsFunction): Ditto.
        (myConstructor_callAsConstructor): Ditto.

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

14 years ago Reviewed by Maciej.
darin [Sun, 16 Jul 2006 02:18:37 +0000 (02:18 +0000)]
    Reviewed by Maciej.

        * API/JSNode.h: Made an array parameter const.
        * API/JSObjectRef.h: Made array parameters const. Fixed a comment.

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

14 years ago Reviewed by Maciej.
ggaren [Sun, 16 Jul 2006 01:40:07 +0000 (01:40 +0000)]
    Reviewed by Maciej.

        - JSObjectMakeFunctionWithBody includes a function name and named parameters now.

        * API/JSObjectRef.cpp:
        (JSObjectMakeFunctionWithBody):
        * API/JSObjectRef.h:
        * API/testapi.c:
        (assertEqualsAsUTF8String): More informative failure reporting.
        (main): Test more function cases.

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

14 years ago Reviewed by Maciej.
ggaren [Sun, 16 Jul 2006 01:28:25 +0000 (01:28 +0000)]
    Reviewed by Maciej.

        - Moved the arguments passed to JSClassCreate into a single structure,
        called JSClassDefinition. This will enable easier structure
        migration/versioning in the future, if necessary.

        - Added support for class names.

        - kJSClassDefinitionNull replaces kJSObjectCallbacksNone.

        - JSClass is becoming a fairly complex struct, so I migrated all of its
        implementation other than reference counting to the sruct.

        - Also moved JSClass* functions in the API to JSObjectRef.cpp, since they're
        declared in JSObjectRef.h

        - Also added some more informative explanation to the class structure doc.

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

14 years ago - fix mistake from fix for 8952 that was breaking layout tests
darin [Sat, 15 Jul 2006 21:03:57 +0000 (21:03 +0000)]
    - fix mistake from fix for 8952 that was breaking layout tests

        * editing/SelectionController.cpp: (WebCore::SelectionController::nodeWillBeRemoved):
        Justin was right! I changed the behavior of the function by accident. Changed it
        back so that it doesn't blow away the selection on the DOM side in the case where
        it didn't before.

        I will write 100 times on the blackboard: "When Justin says something about editing,
        assume he is right."

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

14 years ago - try to fix Windows build
darin [Sat, 15 Jul 2006 20:00:37 +0000 (20:00 +0000)]
    - try to fix Windows build

        * WebCore.vcproj/WebCore/WebCore.vcproj: Added StreamingTextDecoderICU.cpp/h.

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

14 years agoLayoutTests:
darin [Sat, 15 Jul 2006 19:41:49 +0000 (19:41 +0000)]
LayoutTests:

        Reviewed by John Sullivan.

        - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=8952
          <rdar://problem/4575185>
          REGRESSION: crash on drag of highlighted Google custom home page modules

        * fast/dynamic/move-node-with-selection-expected.checksum: Added.
        * fast/dynamic/move-node-with-selection-expected.png: Added.
        * fast/dynamic/move-node-with-selection-expected.txt: Added.
        * fast/dynamic/move-node-with-selection.html: Added.

WebCore:

        Reviewed by John Sullivan.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8952
          <rdar://problem/4575185>
          REGRESSION: crash on drag of highlighted Google custom home page modules

        Test: fast/dynamic/move-node-with-selection.html

        * editing/SelectionController.cpp: (WebCore::SelectionController::nodeWillBeRemoved):
        Call updateRendering before calling clearSelection(), since it's important to do any
        work beforehand, and there are calls inside clearSelection that will indirectly do an
        updateRendering. Also change code to make fewer assumptions about object lifetime.

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

14 years agoLayoutTests:
darin [Sat, 15 Jul 2006 19:27:34 +0000 (19:27 +0000)]
LayoutTests:

        Reviewed by John Sullivan.

        - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=8587
          <rdar://problem/4631844>
          REGRESSION: {display:list-item} on items outside an ol or ul element no longer causes incremental numbering

        * fast/lists/numeric-markers-outside-list-expected.checksum: Added.
        * fast/lists/numeric-markers-outside-list-expected.png: Added.
        * fast/lists/numeric-markers-outside-list-expected.txt: Added.
        * fast/lists/numeric-markers-outside-list.html: Added.

WebCore:

        Reviewed by John Sullivan.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8587
          <rdar://problem/4631844>
          REGRESSION: {display:list-item} on items outside an ol or ul element no longer causes incremental numbering

        Test: fast/lists/numeric-markers-outside-list.html

        * rendering/RenderListItem.cpp: (WebCore::previousListItem):
        Look for list items, even when we're outside any list.

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

14 years ago Reviewed by John.
adele [Sat, 15 Jul 2006 17:22:50 +0000 (17:22 +0000)]
    Reviewed by John.

        - Fix for <rdar://problem/4593970> REGRESSION (NativeTextField): autofill menu disappears after typing a 2nd character

        This was caused by composite editing commands, (like typing or pasting) that include a DeleteCommand, being
        interpreted by the form delegate as an actual delete.  This fix doesn't notify the form delegate if the deletion is
        part of an editing command to replace the selected text.

        * editing/DeleteSelectionCommand.h: Added m_replace to keep track of whether this deletion is
          part of a composite command to replace the text being deleted.
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): Initialize m_replace.
        (WebCore::DeleteSelectionCommand::doApply): Only notify the form delegate of the deletion if the text is not being replaced.
        * editing/CompositeEditCommand.h:
        * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::deleteSelection):
          Added replace argument to construct DeleteSelectionCommand.

        * editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::input): Call deleteSelection with replace argument.
        * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): ditto.

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

14 years agoLayoutTests:
ggaren [Sat, 15 Jul 2006 16:31:30 +0000 (16:31 +0000)]
LayoutTests:

        Reviewed by Maciej.

        Layout test for crash when setting the dir property on a document with no body.

        * fast/dom/dir-no-body-expected.txt: Added.
        * fast/dom/dir-no-body.html: Added.

WebCore:

        Reviewed by Maciej, tweaked to match Darin's patch.

        - Fixed <rdar://problem/4631837> REGRESSION: Reproducible crash on
        FCKeditor demo (9911)

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/kjs_html.cpp:
        (KJS::JSHTMLDocument::putValueProperty): Check for a null body element before
        forwarding the put request to it. I confirmed that no other parts of the
        file use 'body' or 'bodyElement' without checking for null.

        Also, use 'body' rather than 'bodyElement' because dir can bet set on
        any element, not just HTMLBodyElement.

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

14 years agoJavaScriptCore:
darin [Sat, 15 Jul 2006 15:30:03 +0000 (15:30 +0000)]
JavaScriptCore:

        Reviewed by Geoff.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8395
          <rdar://problem/4613467>
          REGRESSION: RegEx seems broken for hex escaped non breaking space

        Test: fast/js/regexp-extended-characters-more.html

        * pcre/pcre_exec.c:
        (match): Got rid of utf16Length local variable to guarantee there's no
        extra stack usage in recursive calls. Fixed two places in the PCRE_UTF16
        code that were using the length variable, which is the UTF-8 length of
        a character in the pattern, to move in the UTF-16 subject string. Instead
        they hardcode lengths of 1 and 2 since the code already handles BMP
        characters and surrogate pairs separately. Also fixed some DPRINTF so
        I could compile with DEBUG on.
        (pcre_exec): Changed a place that was checking for multibyte characters
        in the subject string to use ISMIDCHAR. Instead it was using hardcoded
        logic that was right for UTF-8 but wrong for UTF-16.

        * pcre/pcre_compile.c: (pcre_compile2): Fixed a DPRINTF so I could compile
        with DEBUG on.

LayoutTests:

        Reviewed by Geoff.

        - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=8395
          <rdar://problem/4613467>
          REGRESSION: RegEx seems broken for hex escaped non breaking space

        * fast/js/regexp-extended-characters-more-expected.txt: Added.
        * fast/js/regexp-extended-characters-more.html: Added.
        * fast/js/resources/regexp-extended-characters-more.js: Added.

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

14 years agoLayoutTests:
darin [Sat, 15 Jul 2006 15:21:28 +0000 (15:21 +0000)]
LayoutTests:

        Reviewed by Adele.

        - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=8871
          <rdar://problem/4575417>
          REGRESSION: Pressing Enter/Return in a text input removes the selected text
          and http://bugzilla.opendarwin.org/show_bug.cgi?id=9743
          <rdar://problem/4614228>
          REGRESSION: crash dispatching JavaScript-created keyboard event to input element

        * fast/forms/input-text-enter-expected.txt: Added.
        * fast/forms/input-text-enter.html: Added.

WebCore:

        Reviewed by Adele.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8871
          <rdar://problem/4575417>
          REGRESSION: Pressing Enter/Return in a text input removes the selected text

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9743
          <rdar://problem/4614228>
          REGRESSION: crash dispatching JavaScript-created keyboard event to input element

        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::doTextFieldCommandFromEvent):
        Add a null check to fix the crash, and a FIXME explaining why this is not necessarily
        enough for the future.

        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
        Consume Enter key keypress events even if the element is not in a form.

        * platform/mac/KeyEventMac.mm: (WebCore::keyIdentifierForKeyEvent): Added \n to the
        characters that turn into "Enter". Actual keyboard events always are \r or \003 on
        the Macintosh, but in layout tests we can use \n, and everything other than the
        code path here works, so worth fixing.

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

14 years agoLayoutTests:
darin [Sat, 15 Jul 2006 15:14:15 +0000 (15:14 +0000)]
LayoutTests:

        Reviewed by John Sullivan.

        - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9883
          <rdar://problem/4631821>
          REGRESSION: NativePopups don't work correctly in some forum software

        * fast/forms/select-selected-expected.checksum: Added.
        * fast/forms/select-selected-expected.png: Added.
        * fast/forms/select-selected-expected.txt: Added.
        * fast/forms/select-selected.html: Added.

WebCore:

        Reviewed by John Sullivan.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9883
          <rdar://problem/4631821>
          REGRESSION: NativePopups don't work correctly in some forum software

        Test: fast/forms/select-selected.html

        * rendering/RenderMenuList.h:
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::updateFromElement): Added code to map the selected option
        index to a list index before using it to index into the list.
        (WebCore::RenderMenuList::showPopup): Added code to map the selection option index
        to a list index before passing it to the menu renderer.
        (WebCore::RenderMenuList::valueChanged): Added code to map the list index back to a
        option index before calling setSelectedIndex (that function takes an option index).

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

14 years agoWebCore:
darin [Sat, 15 Jul 2006 15:09:19 +0000 (15:09 +0000)]
WebCore:

        Reviewed by John Sullivan.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9928
          REGRESSION: Text Encoding menu inoperative (after gcc protocol build fix)

        * bindings/objc/DOM.mm:
        (-[DOMNode addEventListener:::]): Moved into DOMEventTarget category.
        (-[DOMNode removeEventListener:::]): Ditto.
        (-[DOMNode dispatchEvent:]): Ditto.

        * WebCore.xcodeproj/project.pbxproj: Allow Xcode to do its thing.

WebKit:

        Reviewed by John Sullivan.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9928
          REGRESSION: Text Encoding menu inoperative (after gcc protocol build fix)

        * WebView/WebHTMLView.m:
        (-[WebHTMLView _documentRange]): Moved into WebHTMLViewFileInternal category.
        (-[WebHTMLView selectionRect]): Moved into WebDocumentPrivateProtocols category.
        (-[WebHTMLView selectionView]): Ditto.
        (-[WebHTMLView selectionImageForcingWhiteText:]): Ditto.
        (-[WebHTMLView selectionImageRect]): Ditto.
        (-[WebHTMLView pasteboardTypesForSelection]): Ditto.
        (-[WebHTMLView selectAll]): Ditto.
        (-[WebHTMLView deselectAll]): Ditto.
        (-[WebHTMLView string]): Ditto.
        (-[WebHTMLView _attributeStringFromDOMRange:]): Ditto.
        (-[WebHTMLView attributedString]): Ditto.
        (-[WebHTMLView selectedString]): Ditto.
        (-[WebHTMLView selectedAttributedString]): Ditto.
        (-[WebHTMLView supportsTextEncoding]): Ditto.
        (-[WebHTMLView _canProcessDragWithDraggingInfo:]): Moved into WebDocumentInternalProtocols.
        (-[WebHTMLView _isMoveDrag]): Ditto.
        (-[WebHTMLView _isNSColorDrag:]): Ditto.
        (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): Ditto.
        (-[WebHTMLView draggingCancelledWithDraggingInfo:]): Ditto.
        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Ditto.
        (-[WebHTMLView elementAtPoint:]): Ditto.
        (-[WebHTMLView elementAtPoint:allowShadowContent:]): Ditto.

        * WebKit.xcodeproj/project.pbxproj: Let Xcode 2.3 do its thing.

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

14 years ago Reviewed by Anders.
mjs [Sat, 15 Jul 2006 09:36:24 +0000 (09:36 +0000)]
    Reviewed by Anders.

        <rdar://problem/4632144> REGRESSION: table column tests failing as a result of very recent fix

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::addChild): columns and colgroups are valid children of a table too, not
        just table sections!

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

14 years agoWebCore:
andersca [Sat, 15 Jul 2006 09:04:43 +0000 (09:04 +0000)]
WebCore:

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

        Reviewed by Darin.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=9866
        <rdar://problem/4631561>
        REGRESSION: Repro crash from mangleme using iframe, only from server.

        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::attach):
        Add null check for contentFrame() since content frames won't be created for invalid URLs.

LayoutTests:

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

        Reviewed by Darin.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=9866
        <rdar://problem/4631561>
        REGRESSION: Repro crash from mangleme using iframe, only from server.

        * http/tests/misc/iframe-invalid-source-crash-expected.txt: Added.
        * http/tests/misc/iframe-invalid-source-crash.html: Added.

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

14 years ago Reviewed by Darin.
ap [Sat, 15 Jul 2006 06:53:11 +0000 (06:53 +0000)]
    Reviewed by Darin.

        Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4195
        REGRESSION: KOI8-U encoding no longer supported.

        Tests:
        * http/tests/misc/BOM-override.pl
        * http/tests/misc/BOM-override-script.html
        * fast/encoding/charset-koi8-u.html
        * fast/encoding/charset-x-nextstep.html

        Restored a TEC code path for encodings that are not supported by ICU (but which currently
        passes all layout tests even by itself with ICU disabled). A lot of refactoring is
        still needed - most importantly, round-tripping encoding names via CFStringEncoding
        makes little sense now.

        * WebCore.exp:
        * bridge/mac/WebCoreTextDecoder.h: Removed.
        * bridge/mac/WebCoreTextDecoder.mm: Removed.
        WebCoreTextDecoder was not used anywhere since WebTextView was moved into WebCore.

        * loader/Decoder.cpp:
        (Decoder::Decoder):
        (Decoder::setEncodingName):
        (Decoder::decode):
        Use StreamingTextDecoder::create().

        * platform/StreamingTextDecoder.cpp:
        (WebCore::StreamingTextDecoder::create):
        (WebCore::StreamingTextDecoder::~StreamingTextDecoder):
        * platform/StreamingTextDecoder.h:
        StreamingTextDecoder is just an abstract interface to implementations now.

        * platform/StreamingTextDecoderICU.cpp: Added.
        (WebCore::StreamingTextDecoderICU::StreamingTextDecoderICU):
        (WebCore::StreamingTextDecoderICU::~StreamingTextDecoderICU):
        (WebCore::StreamingTextDecoderICU::releaseICUConverter):
        (WebCore::StreamingTextDecoderICU::textEncodingSupported):
        (WebCore::StreamingTextDecoderICU::convertUTF16):
        (WebCore::StreamingTextDecoderICU::convertIfASCII):
        (WebCore::StreamingTextDecoderICU::createICUConverter):
        (WebCore::StreamingTextDecoderICU::appendOmittingBOM):
        (WebCore::StreamingTextDecoderICU::convertUsingICU):
        (WebCore::StreamingTextDecoderICU::convert):
        (WebCore::StreamingTextDecoderICU::toUnicode):
        (WebCore::StreamingTextDecoderICU::fromUnicode):
        * platform/StreamingTextDecoderICU.h: Added.
        Renamed from StreamingTextDecoder; added a way to tell whether the encoding is actually
        supported by the decoder; minor cleanup.

        * platform/TextEncoding.cpp:
        (WebCore::TextEncoding::effectiveEncoding): Moved from StreamingTextDecoder.
        (WebCore::TextEncoding::toUnicode): Use StreamingTextDecoder::create().
        (WebCore::TextEncoding::fromUnicode): Moved to StreamingTextDecoderICU.

        * platform/TextEncoding.h: Changed __APPLE__ to PLATFORM(MAC); added effectiveEncoding().

        * platform/mac/StreamingTextDecoderMac.cpp: Added.
        (WebCore::StreamingTextDecoderMac::StreamingTextDecoderMac):
        (WebCore::StreamingTextDecoderMac::~StreamingTextDecoderMac):
        (WebCore::StreamingTextDecoderMac::releaseTECConverter):
        (WebCore::StreamingTextDecoderMac::textEncodingSupported):
        (WebCore::StreamingTextDecoderMac::convertUTF16):
        (WebCore::StreamingTextDecoderMac::convertIfASCII):
        (WebCore::StreamingTextDecoderMac::createTECConverter):
        (WebCore::StreamingTextDecoderMac::appendOmittingBOM):
        (WebCore::StreamingTextDecoderMac::convertOneChunkUsingTEC):
        (WebCore::StreamingTextDecoderMac::convertUsingTEC):
        (WebCore::StreamingTextDecoderMac::convert):
        (WebCore::StreamingTextDecoderMac::toUnicode):
        (WebCore::StreamingTextDecoderMac::fromUnicode):
        * platform/mac/StreamingTextDecoderMac.h: Added.
        (WebCore::StreamingTextDecoderMac::convert):
        This is a TEC+CFString code path for decoding, basically restored from a year-old revision.

        * platform/mac/TextEncodingMac.cpp: Removed. Code moved to StreamingTextDecoderMac.

        * WebCore.xcodeproj/project.pbxproj:

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

14 years agoBuild fix for case-sensitive file systems.
thatcher [Sat, 15 Jul 2006 06:32:53 +0000 (06:32 +0000)]
Build fix for case-sensitive file systems.

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

14 years ago RS by Maciej.
ggaren [Sat, 15 Jul 2006 04:16:30 +0000 (04:16 +0000)]
    RS by Maciej.

        Global replace in the API of argc/argv with argumentCount/arguments.

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

14 years ago Reviewed by Maciej.
ggaren [Sat, 15 Jul 2006 04:10:31 +0000 (04:10 +0000)]
    Reviewed by Maciej.

        - Finalized exception handling in the API.

        setProperty can throw because it throws for built-in arrays. getProperty
        and deleteProperty can throw because setProperty can throw and we want
        to be consistent, and also because they seem like "actions." callAsFunction,
        callAsConstructor, and hasInstance can throw, because they caan throw for
        all built-ins.

        toBoolean can't throw because it's defined that way in the spec.

        - Documented that toBoolean and toObject can't be overridden by custom
        objects because they're defined that way in the spec.

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

14 years agoLayoutTests:
thatcher [Sat, 15 Jul 2006 02:25:38 +0000 (02:25 +0000)]
LayoutTests:

        Rolling out this fix from r15358 since it isn't resolved.

    2006-07-11  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by levi & thatcher

        <http://bugzilla.opendarwin.org/show_bug.cgi?id=9642>
        GMail Editor: Operations that use drop down menus blow away the selection

        * editing/selection/drag-to-contenteditable-iframe-expected.txt:
        * editing/selection/subframe-with-selection-expected.checksum: Added.
        * editing/selection/subframe-with-selection-expected.png: Added.
        * editing/selection/subframe-with-selection-expected.txt: Added.
        * editing/selection/subframe-with-selection.html: Added.

WebKit:

        Rolling out this fix from r15358 since it isn't resolved.

    2006-07-11  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by levi & thatcher

        <http://bugzilla.opendarwin.org/show_bug.cgi?id=9642>
        GMail Editor: Operations that use drop down menus blow away the selection

        * WebView/WebHTMLView.m:
        (-[NSArray maintainsInactiveSelection]): Maintain an inactive selection
        when resigning as first responder if the selection is editable
        or if the WebView tells us to.
        * WebView/WebView.m:
        (-[WebView maintainsInactiveSelection]): Just because a WebView is
        editable doesn't mean selections inside subframes will be.  Return
        NO by default.

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

14 years agoVersioning
thatcher [Sat, 15 Jul 2006 02:14:21 +0000 (02:14 +0000)]
Versioning

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

14 years ago <rdar://problem/4623957> SWB: gcc-5412 (new?) objc warning causes WebCore...
thatcher [Sat, 15 Jul 2006 00:53:47 +0000 (00:53 +0000)]
    <rdar://problem/4623957> SWB: gcc-5412 (new?) objc warning causes WebCore project failure

        Build fix with the new GCC. Removes forward declarations of protocols.

        * Misc/WebSearchableTextView.h:
        * WebCoreSupport/WebSubresourceLoader.h:
        * WebKit.xcodeproj/project.pbxproj:
        * WebView/WebDocumentInternal.h:
        * WebView/WebDocumentPrivate.h:
        * WebView/WebHTMLView.h:
        * WebView/WebPDFView.h:
        * WebView/WebScriptDebugDelegatePrivate.h:

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

14 years ago <rdar://problem/4623957> SWB: gcc-5412 (new?) objc warning causes WebCore...
thatcher [Sat, 15 Jul 2006 00:24:03 +0000 (00:24 +0000)]
    <rdar://problem/4623957> SWB: gcc-5412 (new?) objc warning causes WebCore project failure

        Made a DOMNode category in DOMEvents.h that lets DOMNode conform to the
        DOMEventTarget protocol that works with GCC 5412.

        Removed forward declarations of WebCoreWidgetHolder and imported WebCoreWidgetHolder.h.

        Removed all <Cocoa/Cocoa.h> and <Foundation/Foundation.h> imports in other headers,
        we import <Cocoa/Cocoa.h> in the prefix header for ObjC.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOMCore.h:
        * bindings/objc/DOMEvents.h:
        * bridge/mac/FormDataMac.h:
        * bridge/mac/WebCoreAXObject.h:
        * bridge/mac/WebCoreCache.h:
        * bridge/mac/WebCoreEncodings.h:
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameNamespaces.h:
        * bridge/mac/WebCoreJavaScript.h:
        * bridge/mac/WebCorePageBridge.h:
        * bridge/mac/WebCorePageState.h:
        * bridge/mac/WebCoreResourceLoader.h:
        * bridge/mac/WebCoreScriptDebugger.h:
        * bridge/mac/WebCoreSettings.h:
        * bridge/mac/WebCoreStringTruncator.h:
        * bridge/mac/WebCoreStringTruncator.mm:
        * bridge/mac/WebCoreTextDecoder.h:
        * bridge/mac/WebDashboardRegion.h:
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        * platform/mac/CookieJar.mm:
        * platform/mac/DeprecatedStringMac.mm:
        * platform/mac/FontDataMac.mm:
        * platform/mac/FoundationExtras.h:
        * platform/mac/TextBoundaries.mm:
        * platform/mac/WebCoreHistory.h:
        * platform/mac/WebCoreHistory.m:
        * platform/mac/WebCoreKeyGenerator.h:
        * platform/mac/WebCoreTextArea.h:
        * platform/mac/WebCoreTextField.h:
        * platform/mac/WebCoreTextRenderer.h:
        * platform/mac/WebCoreView.h:
        * platform/mac/WebCoreWidgetHolder.h:

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

14 years agoJavaScriptCore:
ggaren [Fri, 14 Jul 2006 22:39:58 +0000 (22:39 +0000)]
JavaScriptCore:

        Reviewed by Maciej.

        - Implemented ref-counting of JSContexts by splitting into two datatypes:
        JSGlobalContext, which you can create/retain/release, and JSContext, which
        you can't.

        Internally, you retain a JSGlobalContext/ExecState by retaining its
        interpreter, which, in the case of a global ExecState, owns it.

        - Also made ~Interpreter() protected to catch places where Interpreter
        is manually deleted. (Can't make it private because some crazy fool
        decided it would be a good idea to subclass Interpreter in other frameworks.
        I pity da fool.)

        * API/APICast.h:
        (toJS): Added cast for new JSGlobalContext
        * API/JSStringRef.h: Changed vague "you must" language to more specific
        (but, ultimately, equally vague) "behavior is undefined if you don't"
        language.
        (KJS::Interpreter::Interpreter): Factored more common initialization into
        init()
        * kjs/interpreter.h:
        (KJS::Interpreter::ref): new
        (KJS::Interpreter::deref): new
        (KJS::Interpreter::refCount): new
        * kjs/testkjs.cpp:
        (doIt): Ref-count the interpreter.

JavaScriptGlue:

        Reviewed by Maciej.

        - Updated JSInterpreter to work with Interpreter ref-counting in JavaScriptCore.

        (JSInterpreter::JSInterpreter::~JSInterpreter): Now protected to catch
        manual delete.

WebCore:

        Reviewed by Maciej.

        - Updated ScriptInterpreter to work with Interpreter ref-counting in
        JavaScriptCore.

        (KJS::ScriptInterpreter::~ScriptInterpreter): Now protected to catch
        manual delete.

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

14 years ago2006-07-14 Anders Carlsson <acarlsson@apple.com>
andersca [Fri, 14 Jul 2006 20:54:09 +0000 (20:54 +0000)]
2006-07-14  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Adele and Justin.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=9658
        <rdar://problem/4613948>
        REGRESSION: Check Spelling does not work in textarea elements

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::advanceToNextMisspelling):
        Don't use setStartBefore or setEndAfter on the search range because for shadow trees, there
        is no notion of before and after. Instead, use setStart and setEnd and pass in the start and end
        indices respectively.

        * dom/Range.cpp:
        (WebCore::Range::checkNodeBA):
        Allow range operations on shadow trees.

        * manual-tests/form-element-spelling.html: Added.

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

14 years ago Reviewed by Geoff.
mjs [Fri, 14 Jul 2006 20:53:38 +0000 (20:53 +0000)]
    Reviewed by Geoff.

        - removed bool return value from JSObjectSetProperty, since it is inefficient and
        also doesn't work quite right
        - added JSObjectGetPropertyAtIndex and JSObjectSetPropertyAtIndex

        * API/JSObjectRef.cpp:
        (JSObjectSetProperty): Removed return value and canPut stuff.
        (JSObjectGetPropertyAtIndex): Added.
        (JSObjectSetPropertyAtIndex): Added.
        * API/JSObjectRef.h: Prototyped and documented new functions.

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

14 years ago Reviewed by Hyatt.
bdakin [Fri, 14 Jul 2006 20:35:03 +0000 (20:35 +0000)]
    Reviewed by Hyatt.

        Fix for <rdar://problem/4621660> REGRESSION: Safari crashing in
        WebCore::FrameView::updateOverflowStatus

        m_viewportRenderer is never initialized for framesets, and it
        shouldn't be. So we just need to nil-check for it in
        updateOverflowStatus() and return early.

        * page/FrameView.cpp:
        (WebCore::FrameView::updateOverflowStatus): Nil check.

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

14 years agoWebCore:
adele [Fri, 14 Jul 2006 19:09:50 +0000 (19:09 +0000)]
WebCore:

        RS by Darin.

        Backing out fix for <rdar://problem/4604703>
        REGRESSION (NativeTextField): Focus is not removed from password field after I ctrl-click into a different field

        Darin had a better fix in WebKit for this.

        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::sendContextMenuEvent):

WebKit:

        Reviewed by Adele.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9625
          <rdar://problem/4604703>
          REGRESSION: Focus not removed from password field after ctrl-click in text field

        * WebView/WebHTMLView.m: (-[NSArray menuForEvent:]): Set handlingMouseDownEvent to
        YES while calling sendContextMenuEvent: on the bridge.

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

14 years ago Reviewed by Darin.
adele [Fri, 14 Jul 2006 18:53:03 +0000 (18:53 +0000)]
    Reviewed by Darin.

        - Fix for <rdar://problem/4614054> REGRESSION: Safari submits forms when the Return key is hit to complete inline inputs

        * page/Frame.h: (WebCore::Frame::inputManagerHasMarkedText): Added.
        * bridge/mac/FrameMac.h: ditto.
        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::inputManagerHasMarkedText): Added. Asks the input manager if there's marked text.
        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): For text fields, don't submit the form on Enter
        if the input manager says there's marked text.  I added this code for all text field paths.  For widgets, WebCoreTextField.mm
        has code to deal with this case.  But as we convert search, password, and isindex, they will need to do this check too.

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

14 years ago Reviewed by Beth.
ggaren [Fri, 14 Jul 2006 17:41:10 +0000 (17:41 +0000)]
    Reviewed by Beth.

        Moved JSCheckScriptSyntax, JSEvaluateScript, and JSGarbageCollect into
        JSBase.h/.cpp. They don't belong in the value-specific or context-specific
        files because they're not part of the value or context implementations.

        * API/JSBase.h:
        * API/JSContextRef.cpp:
        (JSContextGetGlobalObject):
        * API/JSContextRef.h:
        * API/JSValueRef.cpp:
        (JSValueUnprotect):
        * API/JSValueRef.h:
        * JavaScriptCore.xcodeproj/project.pbxproj:

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

14 years agoWebCore:
ddkilzer [Fri, 14 Jul 2006 13:18:28 +0000 (13:18 +0000)]
WebCore:

        Reviewed by Darin.  Patch by Mitz.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9907
          REGRESSION (r15418): editing/pasteboard/paste-table-001 fails in pixel  mode

        * rendering/RenderText.cpp:
        (WebCore::RenderText::caretRect): Fixed the calculation of the max/min allowed caret
        position.

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

14 years agoLayoutTests:
ddkilzer [Fri, 14 Jul 2006 13:14:17 +0000 (13:14 +0000)]
LayoutTests:

        Reviewed by Darin.

        - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9905
          REGRESSION (r15404-r15415): Repro crash when pressing delete in an empty editable div

        * editing/deleting/delete-at-start-or-end-expected.checksum: Added.
        * editing/deleting/delete-at-start-or-end-expected.png: Added.
        * editing/deleting/delete-at-start-or-end-expected.txt: Added.
        * editing/deleting/delete-at-start-or-end.html: Added.

WebCore:

        Reviewed by Darin.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9905
          REGRESSION (r15404-r15415): Repro crash when pressing delete in an empty editable div

        Test: editing/deleting/delete-at-start-or-end.html

        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteKeyPressed): Added null check.
        (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.

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

14 years agoLayoutTests:
ddkilzer [Fri, 14 Jul 2006 12:33:04 +0000 (12:33 +0000)]
LayoutTests:

        Reviewed by Darin.

        - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9879
          REGRESSION: Repro crash when clicking to the side of an anonymous table
        - see also <rdar://problem/4628129> REGRESSION: Repro crash when clicking
          to the side of an anonymous table

        NOTE: Only the layout test part of this patch was landed since an alternate
        fix was committed in r15401:  <rdar://problem/4509393> selected DOM range
        starts with <object>, 0 offset but selection should include the <object>

        * fast/table/click-near-anonymous-table-expected.checksum: Added.
        * fast/table/click-near-anonymous-table-expected.png: Added.
        * fast/table/click-near-anonymous-table-expected.txt: Added.
        * fast/table/click-near-anonymous-table.html: Added.

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

14 years agoWebCore:
ddkilzer [Fri, 14 Jul 2006 12:05:38 +0000 (12:05 +0000)]
WebCore:

        Reviewed by Geoffrey.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9903
          Simplify logic in JSHTMLOptionsCollection::setLength() by using no-arg getNumber()

        No test cases since there is no change in functionality.

        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
        (WebCore::JSHTMLOptionsCollection::setLength):  Simplified logic by using the
        no-argument getNumber() method.

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

14 years ago Reviewed by Adele.
ggaren [Fri, 14 Jul 2006 08:07:05 +0000 (08:07 +0000)]
    Reviewed by Adele.

        - Build fix: don't need BLOCK_OBJC_EXCEPTIONS because we already have
        one surrounding this function, and the nested one makes the compiler
        think our local variable is volatile (seems like a compiler bug to me).

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::sendContextMenuEvent):

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

14 years ago Reviewed by Maciej.
thatcher [Fri, 14 Jul 2006 07:46:47 +0000 (07:46 +0000)]
    Reviewed by Maciej.

        Make JavaScriptCore a public framework. Adjusted the paths.

        * WebCore.xcodeproj/project.pbxproj:

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

14 years agoLayoutTests:
mjs [Fri, 14 Jul 2006 07:45:13 +0000 (07:45 +0000)]
LayoutTests:

        Reviewed by Hyatt.

        Test cases for <rdar://problem/4567031> REGRESSION: Crash at WebCore::RenderBlock::createLineBoxes (seems to be a security hole?)

        I included the test case from the bug plus variants for other broken cases that
        were similar but needed separate fixes.

        * fast/table/cell-in-row-before-misnested-text-crash-expected.txt: Added.
        * fast/table/cell-in-row-before-misnested-text-crash.xhtml: Added.
        * fast/table/form-in-row-before-misnested-text-crash-expected.txt: Added.
        * fast/table/form-in-row-before-misnested-text-crash.xhtml: Added.
        * fast/table/form-in-table-before-misnested-text-crash-expected.txt: Added.
        * fast/table/form-in-table-before-misnested-text-crash.xhtml: Added.
        * fast/table/form-in-tbody-before-misnested-text-crash-expected.txt: Added.
        * fast/table/form-in-tbody-before-misnested-text-crash.xhtml: Added.
        * fast/table/row-in-tbody-before-misnested-text-crash-expected.txt: Added.
        * fast/table/row-in-tbody-before-misnested-text-crash.xhtml: Added.
        * fast/table/section-in-table-before-misnested-text-crash-expected.txt: Added.
        * fast/table/section-in-table-before-misnested-text-crash.xhtml: Added.

WebCore:

        Reviewed by Hyatt.

        - fixed <rdar://problem/4567031> REGRESSION: Crash at WebCore::RenderBlock::createLineBoxes (seems to be a security hole?)

        I also fixed all the similar crash / assertion failure cases I could think of.

        * dom/Node.cpp:
        (WebCore::Node::nextRendererWithSameParent): Helper function for some of the above.
        * dom/Node.h:
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::addChild): Don't allow inserting forms when not in
        an HTML document, since we don't need that quirk and because parsing won't
        do certain render tree fixups. Also watch out for case when inserting before
        the renderer of a misnested child.
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::addChild): ditto
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::addChild): ditto

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

14 years agoJavaScriptCore:
thatcher [Fri, 14 Jul 2006 07:15:56 +0000 (07:15 +0000)]
JavaScriptCore:

        Reviewed by Maciej.

        Moved JavaScriptCore to be a public framework.

        * JavaScriptCore.xcodeproj/project.pbxproj:

WebKit:

        Reviewed by Maciej.

        Moved JavaScriptCore to be a public framework.

        * WebKit.xcodeproj/project.pbxproj:

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

14 years ago Reviewed by Maciej.
adele [Fri, 14 Jul 2006 06:48:17 +0000 (06:48 +0000)]
    Reviewed by Maciej.

        - Fix for <rdar://problem/4604703>
        REGRESSION (NativeTextField): Focus is not removed from password field after I ctrl-click into a different field

        Test:
        * manual-tests/password-ctrl-click-lose-focus.html: Added.

        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::sendContextMenuEvent):
        If we're about to set a selection in the current view, make sure its the first responder.
        In this case, this will cause the password field to resign first responder at the right time.

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

14 years agoLayoutTests:
ddkilzer [Fri, 14 Jul 2006 04:42:01 +0000 (04:42 +0000)]
LayoutTests:

        Reviewed by Hyatt.  Patch by Mitz.

        - test and updated results for http://bugzilla.opendarwin.org/show_bug.cgi?id=9670
          REGRESSION: RTL white-space:pre-wrap text is offset to the right

        * editing/deleting/delete-to-select-table-expected.txt:
        * editing/execCommand/boldSelection-expected.txt:
        * editing/execCommand/italicizeByCharacter-expected.txt:
        * editing/execCommand/modifyForeColorByCharacter-expected.txt:
        * editing/execCommand/print-expected.txt:
        * editing/execCommand/selectAll-expected.txt:
        * editing/execCommand/strikethroughSelection-expected.txt:
        * editing/inserting/insert-div-027-expected.txt:
        * editing/selection/after-line-wrap-expected.txt:
        * editing/selection/mixed-editability-1-expected.txt:
        * editing/selection/select-all-001-expected.txt:
        * editing/selection/select-all-002-expected.txt:
        * editing/selection/select-all-003-expected.txt:
        * fast/clip/outline-overflowClip-expected.txt:
        * fast/text/international/rtl-white-space-pre-wrap-expected.checksum: Added.
        * fast/text/international/rtl-white-space-pre-wrap-expected.png: Added.
        * fast/text/international/rtl-white-space-pre-wrap-expected.txt: Added.
        * fast/text/international/rtl-white-space-pre-wrap.html: Added.
        * fast/text/whitespace/pre-wrap-overflow-selection-expected.txt:
        * fast/text/whitespace/pre-wrap-spaces-after-newline-expected.txt:

WebCore:

        Reviewed by Hyatt.  Patch by Mitz.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9670
          REGRESSION: RTL white-space:pre-wrap text is offset to the right

        Test: fast/text/international/rtl-white-space-pre-wrap.html

        * rendering/RenderText.cpp:
        (WebCore::RenderText::caretRect): Fixed LTR case and added the RTL case
        of clipping the caret position to the text box when the caret is after
        the trailing space of an autowrapped line.
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::computeHorizontalPositionsForLine): Changed to truncate-
        to-fit the logically last text box if it contains the trailing spaces of an
        autowrapped line.
        (WebCore::RenderBlock::bidiReorderLine): Remember the logically last text run.
        In the case of autowrapped text with white space that overflows beyond the line,
        the last text run is the one containing the overflowing white space.
        (WebCore::RenderBlock::findNextLineBreak): Split overflowing white space on a
        line that autowraps only after white space into a separate text run.

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

14 years agoJavaScriptCore:
ddkilzer [Fri, 14 Jul 2006 03:29:38 +0000 (03:29 +0000)]
JavaScriptCore:

        Reviewed by Geoffrey.  Patch by Mark Rowe.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=9742
        Bug 9742: REGRESSION: WebKit hangs when loading <http://www.vtbook.com>

        * kjs/value.h:
        (KJS::JSValue::getUInt32): Only types tagged as numeric can be converted to UInt32.

LayoutTests:

        Reviewed by Geoffrey.  Patch by Mark Rowe.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=9742
        Bug 9742: REGRESSION: WebKit hangs when loading <http://www.vtbook.com>

        This includes tests for indexing an array with immediate types, and for
        setting selectField.options.length to immediate types.

        * fast/dom/select-selectedIndex-expected.txt:
        * fast/dom/select-selectedIndex-multiple-expected.txt:
        * fast/dom/select-selectedIndex-multiple.html: Update to test setting length to true and false.
        * fast/dom/select-selectedIndex.html: Ditto.
        * fast/js/array-index-immediate-types-expected.txt: Added.
        * fast/js/array-index-immediate-types.html: Added.
        * fast/js/resources/array-index-immediate-types.js: Added.

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

14 years ago Reviewed by Darin.
bdakin [Fri, 14 Jul 2006 02:37:07 +0000 (02:37 +0000)]
    Reviewed by Darin.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9795
          REGRESSION: Crash in [WebHTMLView(WebPrivate)
          _updateMouseoverWithEvent:]
          and http://bugzilla.opendarwin.org/show_bug.cgi?id=9850
          REGRESSION: Assertion failure (SHOULD NEVER BE REACHED) in -
          [WebHTMLView(WebPrivate) removeTrackingRect:]

        * WebView/WebHTMLView.m:
        (-[WebHTMLView _updateMouseoverWithEvent:]): Return immediately if
        the view has already been closed.

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

14 years ago Reviewed by Dave Hyatt.
harrison [Thu, 13 Jul 2006 23:17:08 +0000 (23:17 +0000)]
    Reviewed by Dave Hyatt.

        <rdar://problem/4624203> -webkit-highlight should be behind images

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paint):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::paint):
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint):
        Call custom highlighter before painting the image, marker, or widget.

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

14 years agoLayoutTests:
harrison [Thu, 13 Jul 2006 21:08:56 +0000 (21:08 +0000)]
LayoutTests:

        Reviewed by Justin and Levi.

        <rdar://problem/4620743> REGRESSION: Option-Delete doesn't delete words during typing

        * editing/deleting/delete-by-word-001-expected.checksum: Added.
        * editing/deleting/delete-by-word-001-expected.png: Added.
        * editing/deleting/delete-by-word-001-expected.txt: Added.
        * editing/deleting/delete-by-word-001.html: Added.
        * editing/deleting/delete-by-word-002-expected.checksum: Added.
        * editing/deleting/delete-by-word-002-expected.png: Added.
        * editing/deleting/delete-by-word-002-expected.txt: Added.
        * editing/deleting/delete-by-word-002.html: Added.

WebCore:

        Reviewed by Justin and Levi.

        <rdar://problem/4620743> REGRESSION: Option-Delete doesn't delete words during typing

        * Tests:
        editing/deleting/delete-by-word-001.html
        editing/deleting/delete-by-word-002.html

        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteKeyPressed):
        (WebCore::TypingCommand::forwardDeleteKeyPressed):
        (WebCore::TypingCommand::doApply):
        * editing/TypingCommand.h:
        Delete and forward delete to use specified granularity.
        Undo of delete and forward delete to select what had been deleted (non-char granularity only).

        * page/Frame.cpp:
        (WebCore::Frame::setSelection):
        Close typing and end style even if selection is not changing.
        * page/Frame.h:
        Remove unused setSelection parameter keepTypingStyle.

WebKit:

        Reviewed by Justin and Levi.

        <rdar://problem/4620743> REGRESSION: Option-Delete doesn't delete words during typing

        * Tests:
        editing/deleting/delete-by-word-001.html
        editing/deleting/delete-by-word-002.html

        * WebView/WebHTMLView.m:
        (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:granularity:]):

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

14 years agoLayoutTests:
lweintraub [Thu, 13 Jul 2006 18:28:28 +0000 (18:28 +0000)]
LayoutTests:

        Reviewed by justin

        <rdar://problem/4622763> Deleting from beginning of paragraph following a table deletes rather than selects the table

        * editing/deleting/delete-block-table-expected.checksum: Added.
        * editing/deleting/delete-block-table-expected.png: Added.
        * editing/deleting/delete-block-table-expected.txt: Added.
        * editing/deleting/delete-block-table.html: Added.
        * editing/deleting/delete-hr-expected.checksum: Added.
        * editing/deleting/delete-hr-expected.png: Added.
        * editing/deleting/delete-hr-expected.txt: Added.
        * editing/deleting/delete-hr.html: Added.
        * editing/deleting/delete-to-select-table-expected.png:
        * editing/execCommand/insertHorizontalRule-expected.txt:
        * fast/lists/markers-in-selection-expected.txt:

WebCore:

        Reviewed by justin

        <rdar://problem/4622763> Deleting from beginning of paragraph following a table deletes rather than selects the table

        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::initializeStartEnd): Added selection expansion for HRs.
        (WebCore::DeleteSelectionCommand::initializePositionData): Now uses enclosingBlockFlowOrTableElement
        instead of enclosingBlockFlowElement.
        (WebCore::DeleteSelectionCommand::removeNode): Use to identify that we need a placeholder
        when the start or end block is removed.
        (WebCore::DeleteSelectionCommand::handleGeneralDelete): Added check for canHaveChildrenForEditing
        to keep things like HRs from being given children.
        (WebCore::DeleteSelectionCommand::doApply): Switched to use member variable for needPlaceholder.
        * editing/DeleteSelectionCommand.h: Made needPlaceholder a member variable.
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteKeyPressed): Fixed selection bug for tables and open typing commands.
        (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
        * editing/htmlediting.cpp:
        (WebCore::editingIgnoresContent): Added check for HRs, since it's not considered a widget.
        * editing/visible_units.cpp:
        (WebCore::startOfParagraph): Fix for HRs and tables.
        (WebCore::endOfParagraph): Ditto.

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

14 years ago Rolling out this earlier change (r15378) now that it is fixed on AGL's end.
thatcher [Thu, 13 Jul 2006 18:27:07 +0000 (18:27 +0000)]
    Rolling out this earlier change (r15378) now that it is fixed on AGL's end.
        Fixes <rdar://problem/4624865> Restore 64-bit OpenGL plug-in support once AGL is 64-bit

        <rdar://problem/4624858> AGL isn't 64-bit yet; temporarily remove it from WebKit 64-bit build

        * Plugins/WebBaseNetscapePluginView.h:
        * Plugins/WebBaseNetscapePluginView.m:

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

14 years ago Reviewed by Darin.
thatcher [Thu, 13 Jul 2006 18:06:15 +0000 (18:06 +0000)]
    Reviewed by Darin.

        <rdar://problem/4616920> REGRESSION: tabbing in mail moves focus
        to next control instead of inserting a tab space.

        Change editible WebView's tabKeyCyclesThroughElements to NO only
        if the setTabKeyCyclesThroughElements SPI wasn't called.

        * WebView/WebView.m:
        (-[WebView setEditable:]):

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

14 years ago Reviewed by Darin.
ap [Thu, 13 Jul 2006 15:54:37 +0000 (15:54 +0000)]
    Reviewed by Darin.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9880
          Memory leaks running DOM-Hanoi

        No change in behavior, thus no test included.

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::setStatusBarText): Use a local autorelease pool to release the temporaries -
        the test runs non-stop, and the enclosing pool doesn't get a chance to be drained.

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

14 years ago Pleasing to Maciej.
ggaren [Thu, 13 Jul 2006 08:56:52 +0000 (08:56 +0000)]
    Pleasing to Maciej.

        - Renamed JSEvaluate -> JSEvaluateScript, JSCheckSyntax -> JSCheckScriptSyntax
        - Added exception out parameters to JSValueTo* and JSValueIsEqual because
        they can throw
        - Removed JSObjectGetDescription because it's useless and vague, and
        JSValueToString/JSValueIsObjectOfClass do a better job, anyway
        - Clarified comments about "IsFunction/Constructor" to indicate that they
        are true of all functions/constructors, not just those created by JSObjectMake*

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

14 years ago Reviewed by Timothy.
thatcher [Thu, 13 Jul 2006 07:11:23 +0000 (07:11 +0000)]
    Reviewed by Timothy.

        Bug 9889: [Drosera] Stepping out when paused after last statement in function skips a frame
        http://bugzilla.opendarwin.org/show_bug.cgi?id=9889

        * Drosera/debugger.js:  Track whether we paused during the execution of willLeaveFrame.  If
        so, have stepOut pause on the next call to willExecuteStatement rather than second.

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

14 years agoWebCore:
ddkilzer [Thu, 13 Jul 2006 04:52:03 +0000 (04:52 +0000)]
WebCore:

        Reviewed by Adele.  Patch by Mitz.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9862
          REGRESSION: GMail: Crash in RenderView::repaintViewRectangle when spoofing as FF
        - see also <rdar://problem/4622407>

        Test: fast/frames/repaint-display-none-crash.html

        * rendering/RenderView.cpp:
        (WebCore::RenderView::repaintViewRectangle): Added null checking of the owner element's
        renderer, which can be null if the iframe is set to display:none.

LayoutTests:

        Reviewed by Adele.  Patch by Mitz.

        - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9862
          REGRESSION: GMail: Crash in RenderView::repaintViewRectangle when spoofing as FF
        - see also <rdar://problem/4622407>

        * fast/frames/repaint-display-none-crash-expected.txt: Added.
        * fast/frames/repaint-display-none-crash.html: Added.

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

14 years agoLayoutTests:
justing [Thu, 13 Jul 2006 02:31:39 +0000 (02:31 +0000)]
LayoutTests:

        Reviewed by levi

        <rdar://problem/4509393>
        selected DOM range starts with <object>, 0 offset but selection should include the <object>

        * editing/selection/legal-positions-expected.txt: Added.
        * editing/selection/legal-positions.html: Added.

        * editing/deleting/delete-3608430-fix-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/selection/drag-to-contenteditable-iframe-expected.txt:
        * editing/selection/replaced-boundaries-3-expected.txt:
        * editing/selection/select-box-expected.txt:

WebCore:

        Reviewed by levi

        <rdar://problem/4509393>
        selected DOM range starts with <object>, 0 offset but selection should include the <object>

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::shouldMergeStart):
        Don't pull content out of a table cell.
        * editing/htmlediting.cpp:
        (WebCore::editingIgnoresContent): Added <select> nodes.
        (WebCore::rangeCompliantEquivalent): Convert [node, 0] positions to positionBeforeNode(node)
        for more types of nodes.
        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::positionForCoordinates):
        Fix a crasher when right clicking on an anonymous table.

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

14 years ago RS by Beth.
ggaren [Thu, 13 Jul 2006 02:15:28 +0000 (02:15 +0000)]
    RS by Beth.

        Finished previously approved JSInternalString -> JSString conversion
        by renaming the files.

        * API/JSCallbackObject.cpp:
        * API/JSInternalStringRef.cpp: Removed.
        * API/JSInternalStringRef.h: Removed.
        * API/JSStringRef.cpp: Added.
        * API/JSStringRef.h: Added.
        * API/JavaScriptCore.h:
        * JavaScriptCore.xcodeproj/project.pbxproj:

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

14 years ago Reviewed by Brady Eidson (and written by Justin Garcia)
sullivan [Thu, 13 Jul 2006 00:36:58 +0000 (00:36 +0000)]
    Reviewed by Brady Eidson (and written by Justin Garcia)

        - layout test corresponding to <rdar://problem/4611164>

        * editing/undo/undo-misspellings-expected.checksum: Added.
        * editing/undo/undo-misspellings-expected.png: Added.
        * editing/undo/undo-misspellings-expected.txt: Added.
        * editing/undo/undo-misspellings.html: Added.

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

14 years ago Reviewed by Brady Eidson
sullivan [Thu, 13 Jul 2006 00:29:36 +0000 (00:29 +0000)]
    Reviewed by Brady Eidson

        - fixed <rdar://problem/4611164> REGRESSION: Crash occurs when undoing a series of
        misspelled words (WebCore::RenderObject::repaint(bool)

        * dom/Document.cpp:
        (WebCore::Document::removeMarkers):
        put (it - markers.begin()) in a local variable before altering markers, in every case where this was
        happening. One of the cases like this was fixed a while back, but other cases were
        either missed at that time or crept in since.

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

14 years agoWebCore:
andersca [Thu, 13 Jul 2006 00:20:57 +0000 (00:20 +0000)]
WebCore:

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

        Reviewed by Justin.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=9663
        REGRESSION (r14948-r14956): Selection in text field remains highlighted when the text field loses focus

        * dom/Document.cpp:
        (WebCore::Document::updateSelection):
        Don't return early if the selection is empty.

LayoutTests:

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

        Reviewed by Justin.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=9663
        REGRESSION (r14948-r14956): Selection in text field remains highlighted when the text field loses focus

        * editing/selection/clear-selection-expected.checksum: Added.
        * editing/selection/clear-selection-expected.png: Added.
        * editing/selection/clear-selection-expected.txt: Added.
        * editing/selection/clear-selection.html: Added.

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

14 years ago2006-07-12 Anders Carlsson <acarlsson@apple.com>
andersca [Wed, 12 Jul 2006 21:47:13 +0000 (21:47 +0000)]
2006-07-12  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=9624
        REGRESSION: After ctrl-clicking in a EMPTY input or textarea field, the contextual menu shows "Search in Google" and "Search in Spotlight" as active menu items

        * DefaultDelegates/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
        Don't create Dictionary, Spotlight or Google lookup items if there's no selection.

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

14 years ago2006-07-12 Anders Carlsson <acarlsson@apple.com>
andersca [Wed, 12 Jul 2006 17:31:37 +0000 (17:31 +0000)]
2006-07-12  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Adele.

        <rdar://problem/4614656> REGRESSION: onpaste() handlers don't run for textarea elements

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::dispatchCPPEvent):
        If the element is a shadow node, dispatch the event to its real parent.

        * manual-tests/textarea-onpaste.html: Added.

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

14 years ago Reviewed by Anders.
bdakin [Wed, 12 Jul 2006 17:00:40 +0000 (17:00 +0000)]
    Reviewed by Anders.

        Fix for layout test regressions after my check-in last night. Just
        a silly mistake where I should have asked if we were NOT printing
        instead of if we were in the listbox code.

        * WebCore.xcodeproj/project.pbxproj: Project file wars. Back to
        XCode 2.3
        * platform/mac/ListBoxMac.mm:
        (itemTextRenderer): Inverted check.
        (groupLabelTextRenderer): Inverted check.

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

14 years agoWebKitTools:
ddkilzer [Wed, 12 Jul 2006 16:15:02 +0000 (16:15 +0000)]
WebKitTools:

        Reviewed by Darin.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9848
          Teach svn-create-patch and friends to fix ChangeLog patches

        * Scripts/svn-apply: Added fixChangeLogPatch() and invoked it in the proper place.
        * Scripts/svn-create-patch: Ditto.
        * Scripts/svn-unapply: Ditto.

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

14 years agoLayoutTests:
ddkilzer [Wed, 12 Jul 2006 16:09:47 +0000 (16:09 +0000)]
LayoutTests:

        Reviewed by NOBODY (layout test fix).

        Remove property information left in files from svn-apply.

        * fast/table/large-rowspan-crash-expected.txt:
        * fast/table/large-rowspan-crash.html:

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

14 years agoFix date.
darin [Wed, 12 Jul 2006 15:52:54 +0000 (15:52 +0000)]
Fix date.

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

14 years agoLayoutTests:
darin [Wed, 12 Jul 2006 15:30:53 +0000 (15:30 +0000)]
LayoutTests:

        Reviewed by Maciej.

        - another large rowspan test case

        * fast/table/large-rowspan-crash-expected.txt: Added.
        * fast/table/large-rowspan-crash.html: Added.

WebCore:

        Reviewed by Maciej.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9806
          <rdar://problem/4622622>
          REGRESSION: Large rowspan causes WebKit to call abort()

        Test: fast/table/large-rowspan-crash.html

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::ensureRows):
        Use sizeof(RowStruct) instead of sizeof(int).
        Clearly we'll need something better to solve this completely.
        I expect another smaller, but still huge, value will still cause a problem.

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

14 years agoWebKitTools:
ddkilzer [Wed, 12 Jul 2006 13:32:37 +0000 (13:32 +0000)]
WebKitTools:

        Reviewed by ggaren.

        Bug 9869: [Drosera] JS Console fails to evaluate input when paused in global scope
        http://bugzilla.opendarwin.org/show_bug.cgi?id=9869

        * Drosera/DebuggerDocument.m:
        (-[WebScriptObject currentFunctionStack]): Include the global frame in the stack.

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

14 years agoWebKitTools:
ddkilzer [Wed, 12 Jul 2006 11:28:35 +0000 (11:28 +0000)]
WebKitTools:

        Reviewed by ggaren.

        Bug 9863: Drosera needs to show something at launch
        http://bugzilla.opendarwin.org/show_bug.cgi?id=9863

        * Drosera/DebuggerApplication.m:
        (-[DebuggerApplication applicationDidFinishLaunching:]): Show the attach window on launch.

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

14 years agoWebCore:
andersca [Wed, 12 Jul 2006 10:33:17 +0000 (10:33 +0000)]
WebCore:

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

        Reviewed by Maciej.

        <rdar://problem/4586665> REGRESSION: autorestore.apple.com: Crashes Safari in WebCore::Widget::client() const

        * bridge/mac/FrameMac.h:
        Add focusCallResultedInViewBeingCreated argument.

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::nextKeyViewInFrame):
        If the call to focus() caused the node to get a native widget, set focusCallResultedInViewBeingCreated to true.

        (WebCore::FrameMac::nextKeyViewInFrameHierarchy):
        Don't reset the focus node if focusCallResultedInViewBeingCreated is true. Also, add magic to prevent setting
        a text field as the first responder if its field editor already is the current first responder.

        * page/FrameView.cpp:
        (WebCore::FrameView::handleMousePressEvent):
        In some cases, get the event target node again after dispatching the mouse event.

LayoutTests:

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

        Reviewed by Maciej.

        <rdar://problem/4586665> REGRESSION: autorestore.apple.com: Crashes Safari in WebCore::Widget::client() const

        * fast/forms/input-type-change-in-onfocus-keyboard-expected.txt: Added.
        * fast/forms/input-type-change-in-onfocus-keyboard.html: Added.
        * fast/forms/input-type-change-in-onfocus-mouse-expected.txt: Added.
        * fast/forms/input-type-change-in-onfocus-mouse.html: Added.

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

14 years ago2006-07-12 Anders Carlsson <acarlsson@apple.com>
andersca [Wed, 12 Jul 2006 10:18:20 +0000 (10:18 +0000)]
2006-07-12  Anders Carlsson  <acarlsson@apple.com>

        Build fix

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

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

14 years ago Reviewed by Maciej.
ggaren [Wed, 12 Jul 2006 10:01:06 +0000 (10:01 +0000)]
    Reviewed by Maciej.

        - Removed context and exception parameters from JSObjectGetPropertyEnumerator,
        removing the spurious use of ExecState inside JavaScriptCore that made
        us think this was necessary in the first place.

        (StringInstance::getPropertyList): Use getString instead of toString because
        we know we're dealing with a string -- we put it there in the first place.
        While we're at it, store the string's size instead of retrieving it each time
        through the loop, to avoid the unnecessary killing of puppies.
        * kjs/string_object.h:

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

14 years ago 4eviewed by Geoff.
mjs [Wed, 12 Jul 2006 09:55:55 +0000 (09:55 +0000)]
    4eviewed by Geoff.

        - add handling of hasInstance callback for API objects

        * API/JSCallbackObject.cpp:
        (KJS::JSCallbackObject::implementsHasInstance): Check if callback is present.
        (KJS::JSCallbackObject::hasInstance): Invoke appropriate callback.
        * API/JSCallbackObject.h:
        * API/JSClassRef.cpp:
        * API/JSObjectRef.h:
        * API/testapi.c:
        (MyObject_hasInstance): Test case; should match what construct would do.
        * API/testapi.js:

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

14 years ago--This Reviewed by Adele.
bdakin [Wed, 12 Jul 2006 09:52:36 +0000 (09:52 +0000)]
--This Reviewed by Adele.

        Fix for <rdar://problem/4615765> Input[type='search' fields
        initially render too large in Widgets

        Fundamentally, the problem here is that we were miscalculating
        things because [NSGraphicsContext currentContextDrawingToScreen]
        was evaluating to false when widgets first load. We only ever used
        this check, however, to determine if we were printing or not, so it
        should not have evaluated to false for loading in Dashbaord.
        Instead, if we query the RenderView about whether or not we are
        printing, we will get the right answer.

        No test case added since this appears only to affect Dashboard.

        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge drawRect:]): Ask the RenderView if we are
        printing instead. This is not part of the actual bug fix, but it
        seems wise to get rid of all calls to [NSGraphicsContext
        currentContextDrawingToScreen] when we are just trying to determine
        if we are printing or not.
        * platform/mac/ListBoxMac.mm:
        (itemTextRenderer):This function now takes a boolean, isPrinting.
        (groupLabelTextRenderer): Same as above.
        (ListBox::sizeForNumberOfLines): Ask the RenderView if we are
        printing.
        (-[WebCoreTableView drawRow:clipRect:]): Same as above.
        * platform/mac/PopUpButtonMac.mm:
        (PopUpButton::sizeHint): Same as above.
        * platform/mac/TextFieldMac.mm:
        (-[NSSearchFieldCell _addStringToRecentSearches:]):
        * rendering/RenderLineEdit.cpp: Same as above.

M    WebCore/platform/mac/TextFieldMac.mm
M    WebCore/platform/mac/PopUpButtonMac.mm
M    WebCore/platform/mac/ListBoxMac.mm
M    WebCore/rendering/RenderLineEdit.cpp
M    WebCore/ChangeLog
M    WebCore/bridge/mac/WebCoreFrameBridge.mm

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

14 years ago Reviewed by Timothy.
thatcher [Wed, 12 Jul 2006 09:32:00 +0000 (09:32 +0000)]
    Reviewed by Timothy.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=9868
        Applications shown in Drosera's "Attach" window remain after exit

        * DefaultDelegates/WebScriptDebugServer.m:
        (-[WebScriptDebugServer init]): Register for NSApplicationWillTerminateNotification so we will
        know when the application is being exited.
        (-[WebScriptDebugServer dealloc]): Unregister notification before we are deallocated.
        (-[WebScriptDebugServer applicationTerminating:]): Inform anyone listening that we are going away.

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

14 years ago Reviewed by Timothy.
thatcher [Wed, 12 Jul 2006 08:55:24 +0000 (08:55 +0000)]
    Reviewed by Timothy.

        Lets Drosera build universal for the nightlies. Right now it is not
        possible to build a universal binary on a PPC machine because of a
        conflict with the universal SDK.

        * BuildSlaveSupport/build-launcher-app:
        * WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj:

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

14 years ago Reviewed by Tim Hatcher.
tomernic [Wed, 12 Jul 2006 08:25:29 +0000 (08:25 +0000)]
    Reviewed by Tim Hatcher.

        <rdar://problem/4624858> AGL isn't 64-bit yet; temporarily remove it from WebKit 64-bit build

        Also, fixed a LOG_ERROR() so that it uses the CGL error instead of the AGL error; Tim H missed this in his build fix
        from earlier.

        * Plugins/WebBaseNetscapePluginView.h:
        * Plugins/WebBaseNetscapePluginView.m:

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