WebKit-https.git
14 years ago2008-06-24 Cameron Zwarich <cwzwarich@uwaterloo.ca>
cwzwarich@webkit.org [Tue, 24 Jun 2008 09:38:40 +0000 (09:38 +0000)]
2008-06-24  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Oliver.

        Bug 19730: REGRESSION (r34497): Text in alerts in "Leisure suit Larry" is not wrapped
        <https://bugs.webkit.org/show_bug.cgi?id=19730>

        Do not convert the pair (less, jtrue) to jless when jtrue is a jump
        target. An example of this is when the condition of a while loop is a
        LogicalOrNode.

        JavaScriptCore:

        * VM/CodeGenerator.cpp:
        (KJS::CodeGenerator::emitLabel):

        LayoutTests:

        * fast/js/codegen-loops-logical-nodes-expected.txt: Added.
        * fast/js/codegen-loops-logical-nodes.html: Added.
        * fast/js/resources/codegen-loops-logical-nodes.js: Added.

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

14 years ago2008-06-20 Ariya Hidayat <ariya.hidayat@trolltech.com>
hausmann@webkit.org [Tue, 24 Jun 2008 09:06:07 +0000 (09:06 +0000)]
2008-06-20  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Reviewed by Adam Roben.

        Fix compile with MinGW.

        * kjs/Shell.cpp:
        * wtf/Threading.h:
        (WTF::atomicIncrement):
        (WTF::atomicDecrement):

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

14 years agoPrepration for returning memory to the OS on Windows. Track whether a portion of...
mrowe@apple.com [Tue, 24 Jun 2008 05:34:24 +0000 (05:34 +0000)]
Prepration for returning memory to the OS on Windows.  Track whether a portion of a span of memory was returned to the OS.
If it was, ask that it be recommitted before returning it to the application as an allocated region.

Reviewed by Oliver Hunt.

* wtf/FastMalloc.cpp:
(WTF::TCMalloc_PageHeap::New):  If the span was decommitted, ask that it be recommitted before returning it.
(WTF::TCMalloc_PageHeap::AllocLarge):  Ditto.
(WTF::TCMalloc_PageHeap::Carve):  When splitting a span, ensure that the decommitted state propogates to the two new spans.
(WTF::TCMalloc_PageHeap::Delete):  When merging a span, ensure that the resulting span is marked as decommitted if any of the
spans being merged were marked as decommitted.
(WTF::TCMalloc_PageHeap::IncrementalScavenge):  Mark as decommitted after releasing the span.
(WTF::TCMalloc_Central_FreeList::FetchFromSpans): Add an assertion to catch a decommitted span being returned to the application
without first being recommitted.
(WTF::TCMalloc_Central_FreeList::Populate): Ditto.
* wtf/TCSystemAlloc.cpp: Stub out TCMalloc_SystemCommit.
* wtf/TCSystemAlloc.h:

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

14 years agoRemove the sample member of Span when NO_TCMALLOC_SAMPLES is defined.
mrowe@apple.com [Tue, 24 Jun 2008 05:34:21 +0000 (05:34 +0000)]
Remove the sample member of Span when NO_TCMALLOC_SAMPLES is defined.

Reviewed by Sam Weinig.

* wtf/FastMalloc.cpp:
(WTF::TCMalloc_PageHeap::Delete): Only update Span::sample if NO_TCMALLOC_SAMPLES is not defined.
(WTF::TCMallocStats::do_free):  Ditto.

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

14 years agoJavaScriptCore:
darin@apple.com [Tue, 24 Jun 2008 05:23:17 +0000 (05:23 +0000)]
JavaScriptCore:

2008-06-23  Darin Adler  <darin@apple.com>

        Reviewed by Geoff.

        - work toward https://bugs.webkit.org/show_bug.cgi?id=19721

        More preparation toward making functions work on primitive types without
        creating wrapper objects. No speedup this time, but prepares for a future
        speedup without slowing things down.

        SunSpider reports no change.

        - Eliminated the implementsCall, callAsFunction and construct virtual
          functions from JSObject. Instead, the CallData and ConstructData for
          a native function includes a function pointer that the caller can use
          directly. Changed all call sites to use CallData and ConstructData.

        - Changed the "this" argument to native functions to be a JSValue rather
          than a JSObject. This prepares us for passing primitives into these
          functions. The conversion to an object now must be done inside the
          function. Critically, if it's a function that can be called on a DOM
          window object, then we have to be sure to call toThisObject on the
          argument before we use it for anything even if it's already an object.

        - Eliminated the practice of using constructor objects in the global
          object to make objects of the various basic types. Since these
          constructors can't be replaced by script, there's no reason to involve
          a constructor object at all. Added functions to do the construction
          directly.

        - Made some more class members private and protected, including virtual
          function overrides. This can catch code using unnecessarily slow virtual
          function code paths when the type of an object is known statically. If we
          later find a new reason use the members outside the class it's easy to
          make them public again.

        - Moved the declarations of the native implementations for functions out
          of header files. These can have internal linkage and be declared inside
          the source file.

        - Changed PrototypeFunction to take function pointers with the right
          arguments to be put directly into CallData. This eliminates the
          need to have a separate PrototypeReflexiveFunction, and reveals that the
          real purpose of that class included something else specific to eval --
          storage of a cached global object. So renamed PrototypeReflexiveFunction
          to GlobalEvalFunction.

        * API/JSCallbackConstructor.cpp:
        (KJS::constructJSCallback):
        (KJS::JSCallbackConstructor::getConstructData):
        * API/JSCallbackConstructor.h:
        * API/JSCallbackFunction.cpp:
        (KJS::JSCallbackFunction::implementsHasInstance):
        (KJS::JSCallbackFunction::call):
        (KJS::JSCallbackFunction::getCallData):
        * API/JSCallbackFunction.h:
        (KJS::JSCallbackFunction::classInfo):
        * API/JSCallbackObject.h:
        (KJS::JSCallbackObject::classRef):
        (KJS::JSCallbackObject::classInfo):
        * API/JSCallbackObjectFunctions.h:
        (KJS::::getConstructData):
        (KJS::::construct):
        (KJS::::getCallData):
        (KJS::::call):
        * API/JSObjectRef.cpp:
        (JSObjectMakeFunction):
        (JSObjectIsFunction):
        (JSObjectCallAsFunction):
        (JSObjectCallAsConstructor):
        * JavaScriptCore.exp:
        * VM/Machine.cpp:
        (KJS::jsTypeStringForValue):
        (KJS::Machine::privateExecute):
        * kjs/ArrayPrototype.cpp:
        (KJS::arrayProtoFuncToString):
        (KJS::arrayProtoFuncToLocaleString):
        (KJS::arrayProtoFuncJoin):
        (KJS::arrayProtoFuncConcat):
        (KJS::arrayProtoFuncPop):
        (KJS::arrayProtoFuncPush):
        (KJS::arrayProtoFuncReverse):
        (KJS::arrayProtoFuncShift):
        (KJS::arrayProtoFuncSlice):
        (KJS::arrayProtoFuncSort):
        (KJS::arrayProtoFuncSplice):
        (KJS::arrayProtoFuncUnShift):
        (KJS::arrayProtoFuncFilter):
        (KJS::arrayProtoFuncMap):
        (KJS::arrayProtoFuncEvery):
        (KJS::arrayProtoFuncForEach):
        (KJS::arrayProtoFuncSome):
        (KJS::arrayProtoFuncIndexOf):
        (KJS::arrayProtoFuncLastIndexOf):
        (KJS::ArrayConstructor::ArrayConstructor):
        (KJS::constructArrayWithSizeQuirk):
        (KJS::constructWithArrayConstructor):
        (KJS::ArrayConstructor::getConstructData):
        (KJS::callArrayConstructor):
        (KJS::ArrayConstructor::getCallData):
        * kjs/ArrayPrototype.h:
        * kjs/BooleanObject.cpp:
        (KJS::booleanProtoFuncToString):
        (KJS::booleanProtoFuncValueOf):
        (KJS::constructBoolean):
        (KJS::constructWithBooleanConstructor):
        (KJS::BooleanConstructor::getConstructData):
        (KJS::callBooleanConstructor):
        (KJS::BooleanConstructor::getCallData):
        (KJS::constructBooleanFromImmediateBoolean):
        * kjs/BooleanObject.h:
        * kjs/CallData.h:
        (KJS::):
        * kjs/ConstructData.h:
        (KJS::):
        * kjs/FunctionPrototype.cpp:
        (KJS::callFunctionPrototype):
        (KJS::FunctionPrototype::getCallData):
        (KJS::functionProtoFuncToString):
        (KJS::functionProtoFuncApply):
        (KJS::functionProtoFuncCall):
        (KJS::constructWithFunctionConstructor):
        (KJS::FunctionConstructor::getConstructData):
        (KJS::callFunctionConstructor):
        (KJS::FunctionConstructor::getCallData):
        (KJS::constructFunction):
        * kjs/FunctionPrototype.h:
        * kjs/JSArray.cpp:
        (KJS::AVLTreeAbstractorForArrayCompare::compare_key_key):
        (KJS::JSArray::sort):
        (KJS::constructEmptyArray):
        (KJS::constructArray):
        * kjs/JSArray.h:
        (KJS::JSArray::classInfo):
        * kjs/JSFunction.cpp:
        (KJS::JSFunction::call):
        (KJS::globalFuncEval):
        (KJS::globalFuncParseInt):
        (KJS::globalFuncParseFloat):
        (KJS::globalFuncIsNaN):
        (KJS::globalFuncIsFinite):
        (KJS::globalFuncDecodeURI):
        (KJS::globalFuncDecodeURIComponent):
        (KJS::globalFuncEncodeURI):
        (KJS::globalFuncEncodeURIComponent):
        (KJS::globalFuncEscape):
        (KJS::globalFuncUnescape):
        (KJS::globalFuncKJSPrint):
        (KJS::PrototypeFunction::PrototypeFunction):
        (KJS::PrototypeFunction::getCallData):
        (KJS::GlobalEvalFunction::GlobalEvalFunction):
        (KJS::GlobalEvalFunction::mark):
        * kjs/JSFunction.h:
        (KJS::InternalFunction::classInfo):
        (KJS::InternalFunction::functionName):
        (KJS::JSFunction::classInfo):
        (KJS::GlobalEvalFunction::cachedGlobalObject):
        * kjs/JSGlobalObject.cpp:
        (KJS::JSGlobalObject::reset):
        (KJS::JSGlobalObject::mark):
        * kjs/JSGlobalObject.h:
        (KJS::JSGlobalObject::JSGlobalObject):
        (KJS::JSGlobalObject::evalFunction):
        * kjs/JSImmediate.cpp:
        (KJS::JSImmediate::toObject):
        * kjs/JSNotAnObject.cpp:
        * kjs/JSNotAnObject.h:
        * kjs/JSObject.cpp:
        (KJS::JSObject::put):
        (KJS::callDefaultValueFunction):
        (KJS::JSObject::defaultValue):
        (KJS::JSObject::lookupGetter):
        (KJS::JSObject::lookupSetter):
        (KJS::JSObject::hasInstance):
        (KJS::JSObject::fillGetterPropertySlot):
        (KJS::Error::create):
        (KJS::constructEmptyObject):
        * kjs/JSObject.h:
        (KJS::GetterSetter::GetterSetter):
        (KJS::GetterSetter::getter):
        (KJS::GetterSetter::setGetter):
        (KJS::GetterSetter::setter):
        (KJS::GetterSetter::setSetter):
        * kjs/JSValue.cpp:
        (KJS::JSCell::deleteProperty):
        (KJS::call):
        (KJS::construct):
        * kjs/JSValue.h:
        * kjs/MathObject.cpp:
        (KJS::mathProtoFuncAbs):
        (KJS::mathProtoFuncACos):
        (KJS::mathProtoFuncASin):
        (KJS::mathProtoFuncATan):
        (KJS::mathProtoFuncATan2):
        (KJS::mathProtoFuncCeil):
        (KJS::mathProtoFuncCos):
        (KJS::mathProtoFuncExp):
        (KJS::mathProtoFuncFloor):
        (KJS::mathProtoFuncLog):
        (KJS::mathProtoFuncMax):
        (KJS::mathProtoFuncMin):
        (KJS::mathProtoFuncPow):
        (KJS::mathProtoFuncRandom):
        (KJS::mathProtoFuncRound):
        (KJS::mathProtoFuncSin):
        (KJS::mathProtoFuncSqrt):
        (KJS::mathProtoFuncTan):
        * kjs/MathObject.h:
        * kjs/NumberObject.cpp:
        (KJS::numberProtoFuncToString):
        (KJS::numberProtoFuncToLocaleString):
        (KJS::numberProtoFuncValueOf):
        (KJS::numberProtoFuncToFixed):
        (KJS::numberProtoFuncToExponential):
        (KJS::numberProtoFuncToPrecision):
        (KJS::NumberConstructor::NumberConstructor):
        (KJS::constructWithNumberConstructor):
        (KJS::NumberConstructor::getConstructData):
        (KJS::callNumberConstructor):
        (KJS::NumberConstructor::getCallData):
        (KJS::constructNumber):
        (KJS::constructNumberFromImmediateNumber):
        * kjs/NumberObject.h:
        (KJS::NumberObject::classInfo):
        (KJS::NumberConstructor::classInfo):
        * kjs/PropertySlot.cpp:
        (KJS::PropertySlot::functionGetter):
        * kjs/RegExpObject.cpp:
        (KJS::regExpProtoFuncTest):
        (KJS::regExpProtoFuncExec):
        (KJS::regExpProtoFuncCompile):
        (KJS::regExpProtoFuncToString):
        (KJS::callRegExpObject):
        (KJS::RegExpObject::getCallData):
        (KJS::constructRegExp):
        (KJS::constructWithRegExpConstructor):
        (KJS::RegExpConstructor::getConstructData):
        (KJS::callRegExpConstructor):
        (KJS::RegExpConstructor::getCallData):
        * kjs/RegExpObject.h:
        (KJS::RegExpConstructor::classInfo):
        * kjs/Shell.cpp:
        (GlobalObject::GlobalObject):
        (functionPrint):
        (functionDebug):
        (functionGC):
        (functionVersion):
        (functionRun):
        (functionLoad):
        (functionReadline):
        (functionQuit):
        * kjs/date_object.cpp:
        (KJS::gmtoffset):
        (KJS::formatLocaleDate):
        (KJS::fillStructuresUsingDateArgs):
        (KJS::DateInstance::getTime):
        (KJS::DateInstance::getUTCTime):
        (KJS::DateConstructor::DateConstructor):
        (KJS::constructDate):
        (KJS::DateConstructor::getConstructData):
        (KJS::callDate):
        (KJS::DateConstructor::getCallData):
        (KJS::dateParse):
        (KJS::dateNow):
        (KJS::dateUTC):
        (KJS::dateProtoFuncToString):
        (KJS::dateProtoFuncToUTCString):
        (KJS::dateProtoFuncToDateString):
        (KJS::dateProtoFuncToTimeString):
        (KJS::dateProtoFuncToLocaleString):
        (KJS::dateProtoFuncToLocaleDateString):
        (KJS::dateProtoFuncToLocaleTimeString):
        (KJS::dateProtoFuncValueOf):
        (KJS::dateProtoFuncGetTime):
        (KJS::dateProtoFuncGetFullYear):
        (KJS::dateProtoFuncGetUTCFullYear):
        (KJS::dateProtoFuncToGMTString):
        (KJS::dateProtoFuncGetMonth):
        (KJS::dateProtoFuncGetUTCMonth):
        (KJS::dateProtoFuncGetDate):
        (KJS::dateProtoFuncGetUTCDate):
        (KJS::dateProtoFuncGetDay):
        (KJS::dateProtoFuncGetUTCDay):
        (KJS::dateProtoFuncGetHours):
        (KJS::dateProtoFuncGetUTCHours):
        (KJS::dateProtoFuncGetMinutes):
        (KJS::dateProtoFuncGetUTCMinutes):
        (KJS::dateProtoFuncGetSeconds):
        (KJS::dateProtoFuncGetUTCSeconds):
        (KJS::dateProtoFuncGetMilliSeconds):
        (KJS::dateProtoFuncGetUTCMilliseconds):
        (KJS::dateProtoFuncGetTimezoneOffset):
        (KJS::dateProtoFuncSetTime):
        (KJS::setNewValueFromTimeArgs):
        (KJS::setNewValueFromDateArgs):
        (KJS::dateProtoFuncSetMilliSeconds):
        (KJS::dateProtoFuncSetUTCMilliseconds):
        (KJS::dateProtoFuncSetSeconds):
        (KJS::dateProtoFuncSetUTCSeconds):
        (KJS::dateProtoFuncSetMinutes):
        (KJS::dateProtoFuncSetUTCMinutes):
        (KJS::dateProtoFuncSetHours):
        (KJS::dateProtoFuncSetUTCHours):
        (KJS::dateProtoFuncSetDate):
        (KJS::dateProtoFuncSetUTCDate):
        (KJS::dateProtoFuncSetMonth):
        (KJS::dateProtoFuncSetUTCMonth):
        (KJS::dateProtoFuncSetFullYear):
        (KJS::dateProtoFuncSetUTCFullYear):
        (KJS::dateProtoFuncSetYear):
        (KJS::dateProtoFuncGetYear):
        * kjs/date_object.h:
        (KJS::DateInstance::internalNumber):
        (KJS::DateInstance::classInfo):
        * kjs/error_object.cpp:
        (KJS::errorProtoFuncToString):
        (KJS::constructError):
        (KJS::constructWithErrorConstructor):
        (KJS::ErrorConstructor::getConstructData):
        (KJS::callErrorConstructor):
        (KJS::ErrorConstructor::getCallData):
        (KJS::NativeErrorConstructor::construct):
        (KJS::constructWithNativeErrorConstructor):
        (KJS::NativeErrorConstructor::getConstructData):
        (KJS::callNativeErrorConstructor):
        (KJS::NativeErrorConstructor::getCallData):
        * kjs/error_object.h:
        (KJS::NativeErrorConstructor::classInfo):
        * kjs/internal.cpp:
        (KJS::JSNumberCell::toObject):
        (KJS::JSNumberCell::toThisObject):
        (KJS::GetterSetter::mark):
        (KJS::GetterSetter::toPrimitive):
        (KJS::GetterSetter::toBoolean):
        (KJS::GetterSetter::toNumber):
        (KJS::GetterSetter::toString):
        (KJS::GetterSetter::toObject):
        (KJS::InternalFunction::InternalFunction):
        (KJS::InternalFunction::implementsHasInstance):
        * kjs/lookup.h:
        (KJS::HashEntry::):
        * kjs/nodes.cpp:
        (KJS::FuncDeclNode::makeFunction):
        (KJS::FuncExprNode::makeFunction):
        * kjs/object_object.cpp:
        (KJS::objectProtoFuncValueOf):
        (KJS::objectProtoFuncHasOwnProperty):
        (KJS::objectProtoFuncIsPrototypeOf):
        (KJS::objectProtoFuncDefineGetter):
        (KJS::objectProtoFuncDefineSetter):
        (KJS::objectProtoFuncLookupGetter):
        (KJS::objectProtoFuncLookupSetter):
        (KJS::objectProtoFuncPropertyIsEnumerable):
        (KJS::objectProtoFuncToLocaleString):
        (KJS::objectProtoFuncToString):
        (KJS::ObjectConstructor::ObjectConstructor):
        (KJS::constructObject):
        (KJS::constructWithObjectConstructor):
        (KJS::ObjectConstructor::getConstructData):
        (KJS::callObjectConstructor):
        (KJS::ObjectConstructor::getCallData):
        * kjs/object_object.h:
        * kjs/string_object.cpp:
        (KJS::replace):
        (KJS::stringProtoFuncToString):
        (KJS::stringProtoFuncValueOf):
        (KJS::stringProtoFuncCharAt):
        (KJS::stringProtoFuncCharCodeAt):
        (KJS::stringProtoFuncConcat):
        (KJS::stringProtoFuncIndexOf):
        (KJS::stringProtoFuncLastIndexOf):
        (KJS::stringProtoFuncMatch):
        (KJS::stringProtoFuncSearch):
        (KJS::stringProtoFuncReplace):
        (KJS::stringProtoFuncSlice):
        (KJS::stringProtoFuncSplit):
        (KJS::stringProtoFuncSubstr):
        (KJS::stringProtoFuncSubstring):
        (KJS::stringProtoFuncToLowerCase):
        (KJS::stringProtoFuncToUpperCase):
        (KJS::stringProtoFuncToLocaleLowerCase):
        (KJS::stringProtoFuncToLocaleUpperCase):
        (KJS::stringProtoFuncLocaleCompare):
        (KJS::stringProtoFuncBig):
        (KJS::stringProtoFuncSmall):
        (KJS::stringProtoFuncBlink):
        (KJS::stringProtoFuncBold):
        (KJS::stringProtoFuncFixed):
        (KJS::stringProtoFuncItalics):
        (KJS::stringProtoFuncStrike):
        (KJS::stringProtoFuncSub):
        (KJS::stringProtoFuncSup):
        (KJS::stringProtoFuncFontcolor):
        (KJS::stringProtoFuncFontsize):
        (KJS::stringProtoFuncAnchor):
        (KJS::stringProtoFuncLink):
        (KJS::stringFromCharCode):
        (KJS::StringConstructor::StringConstructor):
        (KJS::constructWithStringConstructor):
        (KJS::StringConstructor::getConstructData):
        (KJS::callStringConstructor):
        (KJS::StringConstructor::getCallData):
        * kjs/string_object.h:

JavaScriptGlue:

2008-06-23  Darin Adler  <darin@apple.com>

        Reviewed by Geoff.

        * JSValueWrapper.cpp:
        (JSValueWrapper::JSObjectCallFunction): Updated to use getCallData and call instead
        of the old callAsFunction.

WebCore:

2008-06-23  Darin Adler  <darin@apple.com>

        Reviewed by Geoff.

        Update for JavaScript changes.

        - Use CallData and ConstructData instead of the obsolete implementsCall,
          callAsFunction, and construct functions.

        - Updated native function arguments, specifically to allow a JSValue
          rather than a JSObject for the this argument, and to call toThisObject
          as needed when treating it as an object.

        - Made some more class members private and protected, including virtual
          function overrides.

        - Eliminated the use of getCallData in the JavaScript bridging code as
          a way to check if an instance supports invokeDefaultMethod.

        - Eliminated unnecessary polymorphism in the NodeIterator and TreeWalker
          classes. They were using virtual functions simply to share an instance
          of the RefCounted template, which was not helpful.

        * bindings/js/JSAudioConstructor.cpp:
        (WebCore::constructAudio):
        (WebCore::JSAudioConstructor::getConstructData):
        * bindings/js/JSAudioConstructor.h:
        (WebCore::JSAudioConstructor::document):
        (WebCore::JSAudioConstructor::classInfo):
        * bindings/js/JSClipboardCustom.cpp:
        (WebCore::JSClipboard::types):
        * bindings/js/JSCustomSQLStatementCallback.cpp:
        (WebCore::JSCustomSQLStatementCallback::handleEvent):
        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
        * bindings/js/JSCustomSQLTransactionCallback.cpp:
        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
        * bindings/js/JSCustomVoidCallback.cpp:
        (WebCore::JSCustomVoidCallback::handleEvent):
        * bindings/js/JSCustomXPathNSResolver.cpp:
        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
        * bindings/js/JSDOMBinding.h:
        (WebCore::DOMObject::DOMObject):
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::windowProtoFuncAToB):
        (WebCore::windowProtoFuncBToA):
        (WebCore::windowProtoFuncOpen):
        (WebCore::windowProtoFuncSetTimeout):
        (WebCore::windowProtoFuncClearTimeout):
        (WebCore::windowProtoFuncSetInterval):
        (WebCore::windowProtoFuncAddEventListener):
        (WebCore::windowProtoFuncRemoveEventListener):
        (WebCore::windowProtoFuncShowModalDialog):
        (WebCore::windowProtoFuncNotImplemented):
        (WebCore::toJSDOMWindow):
        * bindings/js/JSDOMWindowBase.h:
        * bindings/js/JSDOMWindowShell.h:
        (WebCore::JSDOMWindowShell::classInfo):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSAbstractEventListener::handleEvent):
        (WebCore::JSLazyEventListener::parseCode):
        * bindings/js/JSEventTargetBase.cpp:
        (WebCore::retrieveEventTargetAndCorrespondingNode):
        (WebCore::jsEventTargetAddEventListener):
        (WebCore::jsEventTargetRemoveEventListener):
        (WebCore::jsEventTargetDispatchEvent):
        * bindings/js/JSEventTargetBase.h:
        * bindings/js/JSHTMLAppletElementCustom.cpp:
        (WebCore::JSHTMLAppletElement::customGetOwnPropertySlot):
        (WebCore::JSHTMLAppletElement::customPut):
        (WebCore::JSHTMLAppletElement::getCallData):
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::callHTMLCollection):
        (WebCore::JSHTMLCollection::getCallData):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::open):
        * bindings/js/JSHTMLEmbedElementCustom.cpp:
        (WebCore::JSHTMLEmbedElement::customGetOwnPropertySlot):
        (WebCore::JSHTMLEmbedElement::customPut):
        (WebCore::JSHTMLEmbedElement::getCallData):
        * bindings/js/JSHTMLInputElementBase.cpp:
        (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange):
        * bindings/js/JSHTMLInputElementBase.h:
        * bindings/js/JSHTMLObjectElementCustom.cpp:
        (WebCore::JSHTMLObjectElement::customGetOwnPropertySlot):
        (WebCore::JSHTMLObjectElement::customPut):
        (WebCore::JSHTMLObjectElement::getCallData):
        * bindings/js/JSHTMLOptionElementConstructor.cpp:
        (WebCore::constructHTMLOptionElement):
        (WebCore::JSHTMLOptionElementConstructor::getConstructData):
        * bindings/js/JSHTMLOptionElementConstructor.h:
        (WebCore::JSHTMLOptionElementConstructor::document):
        (WebCore::JSHTMLOptionElementConstructor::classInfo):
        * bindings/js/JSImageConstructor.cpp:
        (WebCore::constructImage):
        (WebCore::JSImageConstructor::getConstructData):
        * bindings/js/JSImageConstructor.h:
        (WebCore::JSImageConstructor::document):
        (WebCore::JSImageConstructor::classInfo):
        * bindings/js/JSInspectedObjectWrapper.h:
        (WebCore::JSInspectedObjectWrapper::classInfo):
        * bindings/js/JSInspectorCallbackWrapper.cpp:
        (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue):
        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
        (WebCore::JSJavaScriptCallFrame::scopeChain):
        * bindings/js/JSNodeFilterCondition.cpp:
        (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
        (WebCore::JSNodeFilterCondition::mark):
        (WebCore::JSNodeFilterCondition::acceptNode):
        * bindings/js/JSNodeFilterCondition.h:
        (WebCore::JSNodeFilterCondition::create):
        * bindings/js/JSNodeFilterCustom.cpp:
        (WebCore::toNodeFilter):
        * bindings/js/JSNodeListCustom.cpp:
        (WebCore::callNodeList):
        (WebCore::JSNodeList::getCallData):
        (WebCore::JSNodeList::canGetItemsForName):
        (WebCore::JSNodeList::nameGetter):
        * bindings/js/JSPluginElementFunctions.cpp:
        (WebCore::runtimeObjectGetter):
        (WebCore::runtimeObjectPropertyGetter):
        (WebCore::runtimeObjectCustomGetOwnPropertySlot):
        (WebCore::runtimeObjectCustomPut):
        (WebCore::runtimeObjectGetCallData):
        (WebCore::pluginInstance):
        (WebCore::getRuntimeObject):
        (WebCore::callPlugin):
        * bindings/js/JSPluginElementFunctions.h:
        * bindings/js/JSQuarantinedObjectWrapper.cpp:
        (WebCore::JSQuarantinedObjectWrapper::put):
        (WebCore::JSQuarantinedObjectWrapper::construct):
        (WebCore::JSQuarantinedObjectWrapper::getConstructData):
        (WebCore::JSQuarantinedObjectWrapper::hasInstance):
        (WebCore::JSQuarantinedObjectWrapper::call):
        (WebCore::JSQuarantinedObjectWrapper::getCallData):
        * bindings/js/JSQuarantinedObjectWrapper.h:
        (WebCore::JSQuarantinedObjectWrapper::className):
        * bindings/js/JSRGBColor.cpp:
        * bindings/js/JSXMLHttpRequestConstructor.cpp:
        (WebCore::constructXMLHttpRequest):
        (WebCore::JSXMLHttpRequestConstructor::getConstructData):
        * bindings/js/JSXMLHttpRequestConstructor.h:
        (WebCore::JSXMLHttpRequestConstructor::document):
        (WebCore::JSXMLHttpRequestConstructor::classInfo):
        * bindings/js/JSXSLTProcessorConstructor.cpp:
        (WebCore::constructXSLTProcessor):
        (WebCore::JSXSLTProcessorConstructor::getConstructData):
        * bindings/js/JSXSLTProcessorConstructor.h:
        (WebCore::JSXSLTProcessorConstructor::classInfo):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::ScheduledAction):
        (WebCore::ScheduledAction::execute):
        * bindings/js/ScheduledAction.h:
        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject callWebScriptMethod:withArguments:]):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/NP_jsobject.cpp:
        (_NPN_InvokeDefault):
        (_NPN_Invoke):
        * bridge/c/c_instance.cpp:
        (KJS::Bindings::CInstance::supportsInvokeDefaultMethod):
        * bridge/c/c_instance.h:
        * bridge/jni/jni_jsobject.mm:
        (JavaJSObject::call):
        * bridge/objc/objc_instance.h:
        * bridge/objc/objc_instance.mm:
        (ObjcInstance::supportsInvokeDefaultMethod):
        * bridge/objc/objc_runtime.h:
        (KJS::Bindings::ObjcFallbackObjectImp::propertyName):
        (KJS::Bindings::ObjcFallbackObjectImp::classInfo):
        * bridge/objc/objc_runtime.mm:
        (Bindings::webScriptObjectClass):
        (Bindings::webUndefinedClass):
        (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
        (callObjCFallbackObject):
        (ObjcFallbackObjectImp::getCallData):
        * bridge/qt/qt_instance.h:
        * bridge/runtime.cpp:
        (KJS::Bindings::Instance::createRuntimeObject):
        (KJS::Bindings::Instance::getInstance):
        * bridge/runtime.h:
        (KJS::Bindings::Field::~Field):
        (KJS::Bindings::Method::~Method):
        (KJS::Bindings::Class::~Class):
        (KJS::Bindings::Instance::supportsInvokeDefaultMethod):
        * bridge/runtime_method.cpp:
        (KJS::callRuntimeMethod):
        (KJS::RuntimeMethod::getCallData):
        * bridge/runtime_method.h:
        (KJS::RuntimeMethod::methods):
        * bridge/runtime_object.cpp:
        (RuntimeObjectImp::defaultValue):
        (callRuntimeObject):
        (RuntimeObjectImp::getCallData):
        * bridge/runtime_object.h:
        (KJS::RuntimeObjectImp::getInternalInstance):
        (KJS::RuntimeObjectImp::classInfo):
        * dom/NodeIterator.h:
        * dom/Traversal.cpp:
        * dom/Traversal.h:
        * dom/TreeWalker.h:

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

14 years ago2008-06-23 Adam Barth <abarth@webkit.org>
abarth@webkit.org [Tue, 24 Jun 2008 03:00:21 +0000 (03:00 +0000)]
2008-06-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=16756

        Move isAllowedToLoadLocalResources into SecurityOrigin.

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::setURL):
        (WebCore::Document::initSecurityContext):
        * dom/Document.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::canLoad):
        * platform/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::SecurityOrigin):
        (WebCore::SecurityOrigin::isLocal):
        * platform/SecurityOrigin.h:
        (WebCore::SecurityOrigin::protocol):
        (WebCore::SecurityOrigin::host):
        (WebCore::SecurityOrigin::domain):
        (WebCore::SecurityOrigin::port):
        (WebCore::SecurityOrigin::canLoadLocalResources):
        (WebCore::SecurityOrigin::grantLoadLocalResources):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::setRequestHeader):

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

14 years agoFix Windows build.
mrowe@apple.com [Tue, 24 Jun 2008 00:23:20 +0000 (00:23 +0000)]
Fix Windows build.

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

14 years ago2008-06-23 Cameron Zwarich <cwzwarich@uwaterloo.ca>
cwzwarich@webkit.org [Tue, 24 Jun 2008 00:19:25 +0000 (00:19 +0000)]
2008-06-23  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Oliver.

        Bug 19716: REGRESSION (SquirrelFish): Reproducible crash after entering a username at mint.com
        <https://bugs.webkit.org/show_bug.cgi?id=19716>

        When unwinding callframes for exceptions, check whether the callframe
        was created by a reentrant native call to JavaScript after tearing off
        the local variables instead of before.

        JavaScriptCore:

        * VM/Machine.cpp:
        (KJS::Machine::unwindCallFrame):

        LayoutTests:

        * fast/js/reentrant-call-unwind-expected.txt: Added.
        * fast/js/reentrant-call-unwind.html: Added.
        * fast/js/resources/reentrant-call-unwind.js: Added.

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

14 years ago Fix a math error in my last change.
sfalken@apple.com [Tue, 24 Jun 2008 00:00:32 +0000 (00:00 +0000)]
    Fix a math error in my last change.

        Reviewed by Ada Chan.

        * platform/win/FileSystemWin.cpp:
        (WebCore::openTemporaryFile):

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

14 years ago2008-06-23 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Mon, 23 Jun 2008 23:48:23 +0000 (23:48 +0000)]
2008-06-23  Kevin McCullough  <kmccullough@apple.com>

        -Build fix.

        * WebCore.vcproj/WebCore.vcproj:

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

14 years ago<rdar://problem/6024267> VO unable to read massive emails because AccessibilityObject...
cfleizach@apple.com [Mon, 23 Jun 2008 23:20:50 +0000 (23:20 +0000)]
<rdar://problem/6024267> VO unable to read massive emails because AccessibilityObject::lengthForVisiblePositionRange makes the string

Improves performance of asking for the length/string of text marker ranges

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

14 years agoGet testapi passing again in a debug build.
mrowe@apple.com [Mon, 23 Jun 2008 21:41:55 +0000 (21:41 +0000)]
Get testapi passing again in a debug build.

Reviewed by Oliver Hunt.

* API/testapi.c:
(main): Update the expected output of calling JSValueMakeString on a function object.

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

14 years ago Added our own mechanism for generating temporary file names.
sfalken@apple.com [Mon, 23 Jun 2008 20:58:37 +0000 (20:58 +0000)]
    Added our own mechanism for generating temporary file names.

        Reviewed by Ada Chan, Darin Adler.

        * platform/win/FileSystemWin.cpp:
        (WebCore::openTemporaryFile):

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

14 years ago2008-06-23 David Kilzer <ddkilzer@apple.com>
ddkilzer@apple.com [Mon, 23 Jun 2008 20:57:21 +0000 (20:57 +0000)]
2008-06-23  David Kilzer  <ddkilzer@apple.com>

        Updated test for Bug 15823: getPropertyValue for border returns null, should compute the shorthand value

        <https://bugs.webkit.org/show_bug.cgi?id=15823>

        Rubber-stamped by Darin.

        * fast/css/getPropertyValue-border-expected.txt: Updated results.
        * fast/css/getPropertyValue-border.html: Test all combinations of
        (mismatched) border values.

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

14 years ago2008-06-23 Sam Weinig <sam@webkit.org>
weinig@apple.com [Mon, 23 Jun 2008 20:33:17 +0000 (20:33 +0000)]
2008-06-23  Sam Weinig  <sam@webkit.org>

        Remove XMLHttpRequestProgressEvent.cpp from project files.

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:

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

14 years ago2008-06-23 Sam Weinig <sam@webkit.org>
weinig@apple.com [Mon, 23 Jun 2008 20:30:42 +0000 (20:30 +0000)]
2008-06-23  Sam Weinig  <sam@webkit.org>

        Reviewed by Dave Hyatt.

        Remove empty file.

        * xml/XMLHttpRequestProgressEvent.cpp: Removed.

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

14 years ago2008-06-23 Sam Weinig <sam@webkit.org>
weinig@apple.com [Mon, 23 Jun 2008 20:28:49 +0000 (20:28 +0000)]
2008-06-23  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Tim Hatcher.

        Rename XMLHttpRequest::sameOriginRequest to XMLHttpRequest::makeSameOriginRequest
        and XMLHttpRequest::crossSiteAccessRequest to XMLHttpRequest::makeCrossSiteAccessRequest.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::createRequest):
        (WebCore::XMLHttpRequest::makeSameOriginRequest):
        (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest):
        * xml/XMLHttpRequest.h:

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

14 years ago2008-06-23 Sam Weinig <sam@webkit.org>
weinig@apple.com [Mon, 23 Jun 2008 20:07:52 +0000 (20:07 +0000)]
2008-06-23  Sam Weinig  <sam@webkit.org>

        Reviewed by Alexey Proskuryakov.

        Some XMLHttpRequest re-organization to aid further enhancements coming soon.

        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::send): Explicitly call overloaded versions of send,
        instead of always calling though send(DOMString).
        * dom/Document.idl: Adds native converter.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::open):
        (WebCore::XMLHttpRequest::initSend):
        (WebCore::XMLHttpRequest::send):
        (WebCore::XMLHttpRequest::createRequest):
        (WebCore::XMLHttpRequest::sameOriginRequest):
        (WebCore::XMLHttpRequest::crossSiteAccessRequest):
        (WebCore::XMLHttpRequest::abort):
        (WebCore::XMLHttpRequest::clearResponse):
        (WebCore::XMLHttpRequest::clearRequest):
        (WebCore::XMLHttpRequest::genericError):
        (WebCore::XMLHttpRequest::dispatchProgressEvent):
        * xml/XMLHttpRequest.h:
        (WebCore::XMLHttpRequest::setOnReadyStateChangeListener): Inline.
        (WebCore::XMLHttpRequest::onReadyStateChangeListener): Ditto.
        (WebCore::XMLHttpRequest::setOnLoadListener): Ditto.
        (WebCore::XMLHttpRequest::onLoadListener): Ditto.
        (WebCore::XMLHttpRequest::setOnProgressListener): Ditto.
        (WebCore::XMLHttpRequest::onProgressListener): Ditto.
        Makes the request entity body a member variable so that the send method
        can be more easily broken up.

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

14 years ago Make profiles of the same name in the Inspector group in the
timothy@apple.com [Mon, 23 Jun 2008 17:33:49 +0000 (17:33 +0000)]
    Make profiles of the same name in the Inspector group in the
        sidebar under a collapsable item that contains all the runs.

        https://bugs.webkit.org/show_bug.cgi?id=19713

        Reviewed by Darin Adler.

        * English.lproj/localizedStrings.js: New strings.
        * page/inspector/Images/profileGroupIcon.png: Added.
        * page/inspector/Images/profileSmallIcon.png: Added.
        * page/inspector/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.reset): Clear _profileGroups.
        Remove the "some-expandable" class from the sidebarTree.
        (WebInspector.ProfilesPanel.prototype.addProfile): Append new profiles
        that have the same name as a previous profile into a group. When a
        group has 2 profiles a ProfileGroupSidebarTreeElement is made and the
        ProfileSidebarTreeElements are appended to the group's element.
        (WebInspector.ProfileSidebarTreeElement.prototype.get mainTitle):
        Return _mainTitle is it is set.
        (WebInspector.ProfileSidebarTreeElement.prototype.set mainTitle):
        Set _mainTitle which is an override title.
        (WebInspector.ProfileGroupSidebarTreeElement): Inherit SidebarTreeElement.
        (WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):
        Show the last profile in the group when selected.
        * page/inspector/SidebarTreeElement.js:
        (WebInspector.SidebarTreeElement.prototype.get small): Return _small.
        (WebInspector.SidebarTreeElement.prototype.set small): Set _small and
        update the style to match.
        (WebInspector.SidebarTreeElement.prototype.onattach): Set the small
        class if the small property is true.
        * page/inspector/inspector.css: New styles for profiles groups
        and for the small profiles.

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

14 years ago2008-06-23 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Mon, 23 Jun 2008 16:24:24 +0000 (16:24 +0000)]
2008-06-23  Anders Carlsson  <andersca@apple.com>

        Reviewed by Geoff.

        Make changedDocuments a HashSet.

        * dom/Document.cpp:
        (WebCore::Document::setDocumentChanged):
        (WebCore::Document::updateDocumentsRendering):

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

14 years ago2008-06-23 Benjamin C Meyer <ben@meyerhome.net>
hausmann@webkit.org [Mon, 23 Jun 2008 15:19:44 +0000 (15:19 +0000)]
2008-06-23  Benjamin C Meyer  <ben@meyerhome.net>

        Reviewed by Simon.

        Add function to retrieve the standard context menu

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

14 years ago Reviewed by Mark Rowe.
ap@webkit.org [Mon, 23 Jun 2008 08:10:50 +0000 (08:10 +0000)]
    Reviewed by Mark Rowe.

        Restore a collectOnMainThreadOnly call that was accidentally removed in r34659. It will not
        be needed when heaps are actually per-thread, but this isn't the case yet, and collecting
        on a different thread causes crashes.

        * bindings/js/JSDOMBinding.h:
        (WebCore::DOMObject::DOMObject):

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

14 years ago2008-06-22 Aaron Digulla <digulla@hepe.com>
mrowe@apple.com [Mon, 23 Jun 2008 01:30:47 +0000 (01:30 +0000)]
2008-06-22  Aaron Digulla  <digulla@hepe.com>

        Reviewed by Darin Adler.

        Fix https://bugs.webkit.org/show_bug.cgi?id=18993
        Bug 18993: Update of buttons in editing toolbar demo lags behind

        * demos/editingToolbar/FancyToolbar.js:
        * demos/editingToolbar/index.html:

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

14 years ago2008-06-22 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
mrowe@apple.com [Mon, 23 Jun 2008 01:25:50 +0000 (01:25 +0000)]
2008-06-22  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>

        Reviewed by Darin Adler.

        Fix https://bugs.webkit.org/show_bug.cgi?id=19465
        Bug 19465: Cursor sometimes gets 'stuck' in textareas when trying to navigate with arrow keys

        Test: editing/input/textarea-arrow-navigation.html

        * rendering/RenderText.cpp:
        (WebCore::RenderText::positionForCoordinates): In the case when the next position is to the right
        of the last text box but the text offset is 0, set the affinity to DOWNSTREAM instead of UPSTREAM so
        that the cursor doesn't remain on the previous line.

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

14 years ago2008-06-22 Robert Blaut <webkit@blaut.biz>
mrowe@apple.com [Mon, 23 Jun 2008 01:20:07 +0000 (01:20 +0000)]
2008-06-22  Robert Blaut  <webkit@blaut.biz>

        Reviewed by Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=17421
        Bug 17421: Lack of end tag for SELECT element causes the rest of page to not be rendered

        Test: fast/parser/input-textarea-inside-select-element.html

        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::handleError):

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

14 years ago2008-06-22 David Krause <david.krause@gmail.com>
mrowe@apple.com [Mon, 23 Jun 2008 01:06:39 +0000 (01:06 +0000)]
2008-06-22  David Krause  <david.krause@gmail.com>

        Reviewed by Darin Adler.

        Fix https://bugs.webkit.org/show_bug.cgi?id=19426
        Bug 19426: LOW_BANDWIDTH_DISPLAY build broken

        Change ref to addClient and deref to removeClient in code wrapped
        by USE(LOW_BANDWIDTH_DISPLAY) to match changes in r31834.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::addLowBandwidthDisplayRequest):
        (WebCore::FrameLoader::removeAllLowBandwidthDisplayRequests):
        (WebCore::FrameLoader::notifyFinished):

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

14 years ago2008-06-22 Robert Blaut <webkit@blaut.biz>
mrowe@apple.com [Mon, 23 Jun 2008 01:02:39 +0000 (01:02 +0000)]
2008-06-22  Robert Blaut  <webkit@blaut.biz>

        Reviewed by Darin Adler.

        Fix https://bugs.webkit.org/show_bug.cgi?id=19520
        Bug 19520: WebKit incorrectly accepts hidden as the value of outline-style

        Test: fast/css/outline-hidden-illegal-value.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::paintOutline):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::paintOutline):
        * rendering/style/RenderStyle.h:
        (WebCore::RenderStyle::outlineWidth):
        (WebCore::RenderStyle::outlineOffset):

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

14 years ago2008-06-22 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
mrowe@apple.com [Mon, 23 Jun 2008 00:58:21 +0000 (00:58 +0000)]
2008-06-22  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>

        Reviewed by Dan Bernstein.

        Fix https://bugs.webkit.org/show_bug.cgi?id=19675
        Bug 19675: [GTK] negative text-shadows are not rendered

        * platform/graphics/cairo/FontCairo.cpp:
        (WebCore::Font::drawGlyphs): The IntSize::isEmpty() call checks that the
        sizes are > 0, while we need to check for != 0.

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

14 years ago2008-06-22 kuchhal <kuchhal@yahoo.com>
mrowe@apple.com [Mon, 23 Jun 2008 00:55:33 +0000 (00:55 +0000)]
2008-06-22  kuchhal  <kuchhal@yahoo.com>

        Reviewed by Darin Adler.

        Fix https://bugs.webkit.org/show_bug.cgi?id=19696
        Bug 19696: Memory leak in WebCore/editing/DeleteButtonController.cpp

        * editing/DeleteButtonController.cpp:
        (WebCore::DeleteButtonController::createDeletionUI): Delete the Image instance
        if the platform resource could not be loaded.

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

14 years ago2008-06-22 kuchhal <kuchhal@yahoo.com>
mrowe@apple.com [Mon, 23 Jun 2008 00:52:31 +0000 (00:52 +0000)]
2008-06-22  kuchhal  <kuchhal@yahoo.com>

        Reviewed by Darin Adler.

        Fix https://bugs.webkit.org/show_bug.cgi?id=19697
        Bug 19697: Redundant releaseRef causing memory leak

        * platform/win/ClipboardUtilitiesWin.cpp:
        (WebCore::fragmentFromCF_HTML):

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

14 years agoPrint a blank line when exiting the jsc interactive mode to ensure that the shell
mrowe@apple.com [Sun, 22 Jun 2008 01:35:58 +0000 (01:35 +0000)]
Print a blank line when exiting the jsc interactive mode to ensure that the shell
prompt will start on a new line.

Reviewed by Sam Weinig.

* kjs/Shell.cpp:
(runInteractive):

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

14 years agoTweak the paths of the items in the "tests" group to clean things up a little.
mrowe@apple.com [Sun, 22 Jun 2008 01:35:56 +0000 (01:35 +0000)]
Tweak the paths of the items in the "tests" group to clean things up a little.

Rubber-stamped by Sam Weinig.

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

14 years agoFix jsc to link against libedit.dylib rather than libedit.2.dylib.
mrowe@apple.com [Sun, 22 Jun 2008 01:35:53 +0000 (01:35 +0000)]
Fix jsc to link against libedit.dylib rather than libedit.2.dylib.

Rubber-stamped by Sam Weinig.

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

14 years agoCopy the JavaScriptCore shell (jsc) into JavaScriptCore.framework so that it will...
mrowe@apple.com [Sun, 22 Jun 2008 01:35:50 +0000 (01:35 +0000)]
Copy the JavaScriptCore shell (jsc) into JavaScriptCore.framework so that it will be included in nightly builds.
https://bugs.webkit.org/show_bug.cgi?id=19691

Reviewed by Sam Weinig.

* JavaScriptCore.xcodeproj/project.pbxproj:

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

14 years ago2008-06-21 Sam Weinig <sam@webkit.org>
weinig@apple.com [Sun, 22 Jun 2008 01:24:32 +0000 (01:24 +0000)]
2008-06-21  Sam Weinig  <sam@webkit.org>

        Fix Windows build.

        * bindings/scripts/CodeGeneratorCOM.pm:
        * html/HTMLInputElement.idl:

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

14 years ago Fix a typo "new" in the keywords list for hte JavaScript
timothy@apple.com [Sun, 22 Jun 2008 00:35:51 +0000 (00:35 +0000)]
    Fix a typo "new" in the keywords list for hte JavaScript
        syntax highlighter. And adds "get" and "set" to the keyword list.

        Reviewed by Sam Weinig.

        * page/inspector/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
        Fixes the "new" typo and adds "get" and "set".

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

14 years agoWebCore:
ddkilzer@apple.com [Sat, 21 Jun 2008 23:49:34 +0000 (23:49 +0000)]
WebCore:

        Bug 7931: Escaped elements within a textarea block can cause the textarea box to be closed prematurely

        <https://bugs.webkit.org/show_bug.cgi?id=7931>

        Reviewed by Darin.

        Tests: fast/parser/entity-end-iframe-tag.html
               fast/parser/entity-end-script-tag.html
               fast/parser/entity-end-style-tag.html
               fast/parser/entity-end-textarea-tag.html
               fast/parser/entity-end-title-tag.html
               fast/parser/entity-end-xmp-tag.html

        Previously the parser accepted end tags for textarea, title and
        iframe elements that contained entity-escaped characters such as
        '&lt;'.  The fix is to save the position of the last entity-escaped
        character converted and to use that to make sure the end tag does
        not contain an escaped character.

        Note that this was not an issue for script, style and xmp elements
        since they already ignored entity-escaped characters.

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseSpecial): When looking for a closing
        tag, ignore any text with entity-escaped characters by making sure
        lastDecodedEntityPosition is less than the first character of the
        end tag.

LayoutTests:

        Bug 7931: Escaped elements within a textarea block can cause the textarea box to be closed prematurely

        <https://bugs.webkit.org/show_bug.cgi?id=7931>

        Reviewed by Darin.

        The entity-end-textarea-tag.html contains 11 test cases:  one
        for each character in '</textarea>'.  The rest of the tests
        only test one encoding:  '<' as '&lt;'.

        * fast/parser/entity-end-iframe-tag-expected.txt: Added.
        * fast/parser/entity-end-iframe-tag.html: Added.
        * fast/parser/entity-end-script-tag-expected.txt: Added.
        * fast/parser/entity-end-script-tag.html: Added.
        * fast/parser/entity-end-style-tag-expected.txt: Added.
        * fast/parser/entity-end-style-tag.html: Added.
        * fast/parser/entity-end-textarea-tag-expected.txt: Added.
        * fast/parser/entity-end-textarea-tag.html: Added.
        * fast/parser/entity-end-title-tag-expected.txt: Added.
        * fast/parser/entity-end-title-tag.html: Added.
        * fast/parser/entity-end-xmp-tag-expected.txt: Added.
        * fast/parser/entity-end-xmp-tag.html: Added.

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

14 years agoWebCore:
weinig@apple.com [Sat, 21 Jun 2008 21:42:09 +0000 (21:42 +0000)]
WebCore:

2008-06-21  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=19647
        REGRESSION: Problem with extjs (insertAdjacentHTML)

        Test: fast/dynamic/insertAdjacentHTML-allowed-parents.html

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::insertAdjacentHTML): Don't use innerHTML logic for creating
        the DocumentFragment from the html string.

LayoutTests:

2008-06-21  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Test for https://bugs.webkit.org/show_bug.cgi?id=19647
        REGRESSION: Problem with extjs (insertAdjacentHTML)

        * fast/dynamic/insertAdjacentHTML-allowed-parents-expected.txt: Added.
        * fast/dynamic/insertAdjacentHTML-allowed-parents.html: Added.

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

14 years ago2008-06-21 Adam Barth <abarth@webkit.org>
abarth@webkit.org [Sat, 21 Jun 2008 20:33:53 +0000 (20:33 +0000)]
2008-06-21  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        Log error messages to the console when we deny a request for a URL.
        These error messages do not appear in LayoutTests, but they do
        appear in the WebInspector.

        * dom/XMLTokenizer.cpp:
        (WebCore::shouldAllowExternalLoad):
        * loader/DocLoader.cpp:
        (WebCore::DocLoader::requestResource):
        (WebCore::DocLoader::printAccessDeniedMessage):
        * loader/DocLoader.h:
        * xml/XSLTProcessor.cpp:
        (WebCore::docLoaderFunc):

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

14 years agoWebCore:
abarth@webkit.org [Sat, 21 Jun 2008 20:33:42 +0000 (20:33 +0000)]
WebCore:

2008-06-21  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        Fix <https://bugs.webkit.org/show_bug.cgi?id=19649>:
          XSL style sheets allowed across origins

        Block cross-orgin loads of XSL style sheets, matching Internet
        Explorer, Firefox, and Opera.  Also, we now block loading of XBL
        across origins, matching Firefox.  The XBL behavior does not appear
        testable because XBL seems to not be enabled.

        Test: http/tests/security/cross-origin-xsl-BLOCKED.html

        * loader/DocLoader.cpp:
        (WebCore::DocLoader::requestResource):

LayoutTests:

2008-06-21  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=19649

        Test that we block cross-orign loads of XSL style sheets.

        * http/tests/security/cross-origin-xsl-BLOCKED-expected.txt: Added.
        * http/tests/security/cross-origin-xsl-BLOCKED.html: Added.
        * http/tests/security/resources/cross-origin-xsl.xml: Added.
        * http/tests/security/resources/forbidden-stylesheet.xsl: Added.

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

14 years agoAdding bug title and URLs
mitz@apple.com [Sat, 21 Jun 2008 19:16:21 +0000 (19:16 +0000)]
Adding bug title and URLs

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

14 years ago2008-06-21 Marvin Decker <marv.decker@gmail.com>
mitz@apple.com [Sat, 21 Jun 2008 19:13:23 +0000 (19:13 +0000)]
2008-06-21  Marvin Decker  <marv.decker@gmail.com>

        Reviewed by Dave Hyatt.

        Adds a NULL check for getting the small caps page of glyph data. The
        page() function can explicitly return null in some cases, and every
        other usage in this function does the check.

        * platform/graphics/Font.cpp:
        (WebCore::Font::glyphDataForCharacter):

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

14 years ago Rubber-stamped by Alexey Proskuryakov.
mitz@apple.com [Sat, 21 Jun 2008 17:55:41 +0000 (17:55 +0000)]
    Rubber-stamped by Alexey Proskuryakov.

        - update results for newly-added CSS variables, file and file list
          global constructors

        * fast/dom/Window/window-properties-expected.txt:

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

14 years agoWebCore:
mitz@apple.com [Sat, 21 Jun 2008 17:49:07 +0000 (17:49 +0000)]
WebCore:

2008-06-21  Alex Taylor  <darwin@milliamp.org>

        Reviewed by Dan Bernstein.

        Fixes <https://bugs.webkit.org/show_bug.cgi?id=12425>

        Adds support for border-radius on legend elements.
        Fieldsets with a legend and rounded borders now have a clipping region set
        around the legend.

        Test: fast/borders/fieldsetBorderRadius.html

        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::paintBoxDecorations):
        (WebCore::RenderFieldset::paintBorderMinusLegend): Removed a FIXME.

LayoutTests:

2008-06-21  Alex Taylor  <darwin@milliamp.org>

        Reviewed by Dan Bernstein.

        <https://bugs.webkit.org/show_bug.cgi?id=12425>
        Test support for border-radius on fieldset elements.

        * fast/borders/fieldsetBorderRadius.html: Added.
        * platform/mac/fast/borders/fieldsetBorderRadius-expected.checksum: Added.
        * platform/mac/fast/borders/fieldsetBorderRadius-expected.png: Added.
        * platform/mac/fast/borders/fieldsetBorderRadius-expected.txt: Added.

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

14 years agowx build fix. Adding CSSVariable* API sources to the Bakefiles.
kevino@webkit.org [Sat, 21 Jun 2008 17:36:18 +0000 (17:36 +0000)]
wx build fix. Adding CSSVariable* API sources to the Bakefiles.

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

14 years ago2008-06-21 Cameron Zwarich <cwzwarich@uwaterloo.ca>
cwzwarich@webkit.org [Sat, 21 Jun 2008 08:28:19 +0000 (08:28 +0000)]
2008-06-21  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Mark Rowe.

        Fix the build for non-Mac Darwin platforms by disabling their support
        for readline in the JavaScript shell.

        * kjs/config.h:

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

14 years ago Use member function pointers for the Profile::forEach function.
timothy@apple.com [Sat, 21 Jun 2008 07:04:22 +0000 (07:04 +0000)]
    Use member function pointers for the Profile::forEach function.
        Eliminating a few static functions and simplified things a little.

        Reviewed by Alexey Proskuryakov.

        * JavaScriptCore.exp: Change the symbol for forEach.
        * profiler/Profile.cpp:
        (KJS::Profile::forEach): Use a member function pointer.
        * profiler/Profile.h:
        (KJS::Profile::sortTotalTimeDescending): Pass a function pointer.
        (KJS::Profile::sortTotalTimeAscending): Ditto.
        (KJS::Profile::sortSelfTimeDescending): Ditto.
        (KJS::Profile::sortSelfTimeAscending): Ditto.
        (KJS::Profile::sortCallsDescending): Ditto.
        * profiler/ProfileNode.h:
        (KJS::ProfileNode::sortTotalTimeDescending): No longer static.
        (KJS::ProfileNode::sortTotalTimeAscending): Ditto.
        (KJS::ProfileNode::sortSelfTimeDescending): Ditto.
        (KJS::ProfileNode::sortSelfTimeAscending): Ditto.
        (KJS::ProfileNode::sortCallsDescending): Ditto.

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

14 years ago2008-06-20 Cameron Zwarich <cwzwarich@uwaterloo.ca>
cwzwarich@webkit.org [Sat, 21 Jun 2008 06:32:25 +0000 (06:32 +0000)]
2008-06-20  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Oliver.

        Remove unused destructors.

        * kjs/nodes.cpp:
        * kjs/nodes.h:

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

14 years ago Fixed an ASSERT(m_actualSelfTime <= m_actualTotalTime) when starting
timothy@apple.com [Sat, 21 Jun 2008 04:39:23 +0000 (04:39 +0000)]
    Fixed an ASSERT(m_actualSelfTime <= m_actualTotalTime) when starting
        and stopping a profile from the Develop menu. Also prevents
        inserting an incorrect parent node as the new head after profiling
        is stopped from the Develop menu.

        Reviewed by Dan Bernstein.

        * profiler/Profile.cpp:
        (KJS::Profile::stopProfiling): If the current node is already the head
        then there is no more need to record future nodes in didExecute.
        (KJS::Profile::didExecute): Move the code of setupCurrentNodeAsStopped
        into here since this was the only caller. When setting the total time
        keep any current total time while adding the self time of the head.
        (KJS::Profile::setupCurrentNodeAsStopped): Removed.
        * profiler/Profile.h: Removed setupCurrentNodeAsStopped.

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

14 years ago2008-06-20 Sam Weinig <sam@webkit.org>
weinig@apple.com [Sat, 21 Jun 2008 01:22:37 +0000 (01:22 +0000)]
2008-06-20  Sam Weinig  <sam@webkit.org>

        Fix Windows build.

        * bindings/scripts/CodeGeneratorCOM.pm:

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

14 years ago2008-06-20 Jan Michael Alonzo <jmalonzo@webkit.org>
jmalonzo@webkit.org [Fri, 20 Jun 2008 22:59:15 +0000 (22:59 +0000)]
2008-06-20  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Gtk build fix: Add files missing in the previous fix (r34705)

        * GNUmakefile.am:

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

14 years ago Reviewed by Sam Weinig.
mitz@apple.com [Fri, 20 Jun 2008 22:29:20 +0000 (22:29 +0000)]
    Reviewed by Sam Weinig.

        - fix leak of mask images

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::arenaDelete): Added a call to removeClient() on
        the mask box image.

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

14 years ago2008-06-20 Brent Fulgham <bfulgham@gmail.com>
pewtermoose@webkit.org [Fri, 20 Jun 2008 22:27:26 +0000 (22:27 +0000)]
2008-06-20  Brent Fulgham  <bfulgham@gmail.com>

        Reviewed by Darin.

        Extend the build-webkit (and set-webkit-configuration) script to
        support Cairo-based webkit builds.  (see http://bugs.webkit.org/show_bug.cgi?17952)

        * Scripts/build-webkit:  Add --cairo-win32 to the help message
        * Scripts/webkitdirs.pm:  Extend the 'determinePassedConfiguration
          subroutine to recognize the --cairo-win32 flag.  When present,
          the build configuration is changed from Debug/Release to
          Debug_Cairo/Release_Cairo.  This flag is only active when the
          isCygwin() test is true.

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

14 years ago2008-06-20 Jan Michael Alonzo <jmalonzo@webkit.org>
jmalonzo@webkit.org [Fri, 20 Jun 2008 22:23:39 +0000 (22:23 +0000)]
2008-06-20  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Gtk build fix for r34702, r34700 and r34693
        Qt build fix for r34700 and r34693

        * GNUmakefile.am:
        * WebCore.pro:
        * platform/gtk/RenderThemeGtk.cpp:
        * platform/gtk/RenderThemeGtk.h:
        * platform/qt/RenderThemeQt.cpp:
        * platform/qt/RenderThemeQt.h:

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

14 years ago!USE(MULTIPLE_THREADS) on Darwin build fix
kevino@webkit.org [Fri, 20 Jun 2008 22:14:12 +0000 (22:14 +0000)]
!USE(MULTIPLE_THREADS) on Darwin build fix

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

14 years ago2008-06-20 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Fri, 20 Jun 2008 21:51:31 +0000 (21:51 +0000)]
2008-06-20  Kevin McCullough  <kmccullough@apple.com>

        -Leopard Build Fix.

        * profiler/Profile.cpp:
        (KJS::Profile::removeProfileStart):
        (KJS::Profile::removeProfileEnd):

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

14 years ago2008-06-20 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 20 Jun 2008 21:43:11 +0000 (21:43 +0000)]
2008-06-20  Sam Weinig  <sam@webkit.org>

        Reviewed by Adele Peterson.

        Add 'files' property to the HTMLInputElement, which returns a FileList object
        (when type=file, null otherwise) containing a list of all the files selected.
        It currently always contains only 0 or 1 files as multifile input is not supported
        yet.  The list contains File objects which contains the name and size of the file.
        The inspiration for these interfaces is from:
            - http://developer.mozilla.org/en/docs/nsIDOMFileList
            - http://developer.mozilla.org/en/docs/nsIDOMFile

        Also fixes <rdar://problem/6022802>

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bindings/objc/DOMInternal.h:
        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/IDLStructure.pm:
        * html/File.cpp: Added.
        (WebCore::File::File):
        (WebCore::File::fileSize):
        * html/File.h: Added.
        (WebCore::File::create):
        (WebCore::File::fileName):
        (WebCore::File::path):
        * html/File.idl: Added.
        * html/FileList.cpp: Added.
        (WebCore::FileList::FileList):
        (WebCore::FileList::item):
        * html/FileList.h: Added.
        (WebCore::FileList::create):
        (WebCore::FileList::length):
        (WebCore::FileList::isEmpty):
        (WebCore::FileList::clear):
        (WebCore::FileList::append):
        * html/FileList.idl: Added.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setInputType):
        (WebCore::HTMLInputElement::appendFormData):
        (WebCore::HTMLInputElement::value):
        (WebCore::HTMLInputElement::setValue):
        (WebCore::HTMLInputElement::setValueFromRenderer):
        (WebCore::HTMLInputElement::files):
        * html/HTMLInputElement.h:
        * html/HTMLInputElement.idl:
        * page/DOMWindow.idl:

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

14 years agoWebCore:
hyatt@apple.com [Fri, 20 Jun 2008 21:19:46 +0000 (21:19 +0000)]
WebCore:

2008-06-20  David Hyatt  <hyatt@apple.com>

        Make sure CSS variables work inside the inline style attribute.

        Reviewed by Beth

        Added fast/css/variables/inline-style-test.html

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::removeProperty):
        (WebCore::CSSMutableStyleDeclaration::addParsedProperties):

LayoutTests:

2008-06-20  David Hyatt  <hyatt@apple.com>

        Make sure CSS variables work inside the inline style attribute.

        Reviewed by Beth

        * fast/css/variables/inline-style-test.html: Added.
        * platform/mac/fast/css/variables/inline-style-test-expected.checksum: Added.
        * platform/mac/fast/css/variables/inline-style-test-expected.png: Added.
        * platform/mac/fast/css/variables/inline-style-test-expected.txt: Added.

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

14 years agoWebCore:
hyatt@apple.com [Fri, 20 Jun 2008 20:47:33 +0000 (20:47 +0000)]
WebCore:

2008-06-20  David Hyatt  <hyatt@apple.com>

        Add support for the CSSVariablesRule and CSSVariablesDeclaration DOM APIs.  These allow querying of
        variables names and values, as well as iteration, setting and removal.

        Reviewed by Sam

        Added multiple new tests to fast/css/variables/

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSCSSRuleCustom.cpp:
        (WebCore::toJS):
        * bindings/objc/DOMInternal.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::parserValue):
        * css/CSSVariablesDeclaration.cpp:
        (WebCore::CSSVariablesDeclaration::removeVariable):
        (WebCore::CSSVariablesDeclaration::setVariable):
        (WebCore::CSSVariablesDeclaration::setCssText):
        (WebCore::CSSVariablesDeclaration::setChanged):
        * css/CSSVariablesDeclaration.h:
        * css/CSSVariablesDeclaration.idl: Added.
        * css/CSSVariablesRule.h:
        * css/CSSVariablesRule.idl: Added.

LayoutTests:

2008-06-20  David Hyatt  <hyatt@apple.com>

        Add tests of the DOM APIs for addition, removal and iteration.

        Reviewed by Sam

        * fast/css/variables/remove-variable-test.html: Added.
        * fast/css/variables/set-variable-test.html: Added.
        * fast/css/variables/variable-iteration-test.html: Added.
        * platform/mac/fast/css/variables/remove-variable-test-expected.checksum: Added.
        * platform/mac/fast/css/variables/remove-variable-test-expected.png: Added.
        * platform/mac/fast/css/variables/remove-variable-test-expected.txt: Added.
        * platform/mac/fast/css/variables/set-variable-test-expected.checksum: Added.
        * platform/mac/fast/css/variables/set-variable-test-expected.png: Added.
        * platform/mac/fast/css/variables/set-variable-test-expected.txt: Added.
        * platform/mac/fast/css/variables/variable-iteration-test-expected.checksum: Added.
        * platform/mac/fast/css/variables/variable-iteration-test-expected.png: Added.
        * platform/mac/fast/css/variables/variable-iteration-test-expected.txt: Added.

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

14 years ago2008-06-20 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Fri, 20 Jun 2008 20:47:02 +0000 (20:47 +0000)]
2008-06-20  Kevin McCullough  <kmccullough@apple.com>

        Just giving credit.

        * ChangeLog:

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

14 years ago2008-06-20 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Fri, 20 Jun 2008 19:47:27 +0000 (19:47 +0000)]
2008-06-20  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim.

        <rdar://problem/6024846> JSProfiler: ASSERT hit in Profiler.
        - Because InspectorController can call startProfiling() and
        stopProfiling() we cannot assert that console.profile() and
        console.profileEnd() will be in the profile tree.

        * profiler/Profile.cpp:
        (KJS::Profile::removeProfileStart):
        (KJS::Profile::removeProfileEnd):

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

14 years ago2008-06-20 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Fri, 20 Jun 2008 19:38:15 +0000 (19:38 +0000)]
2008-06-20  Kevin McCullough  <kmccullough@apple.com>

        Rubber stamped by Adele.

        * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html: Added.

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

14 years agoJavaScriptCore:
kmccullough@apple.com [Fri, 20 Jun 2008 19:36:10 +0000 (19:36 +0000)]
JavaScriptCore:

2008-06-20  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim.

        <rdar://problem/5958770> JSProfiler: Time incorrectly given to (idle)
        if profiling is started and finished within the same function. (19230)
        - Now we profile one more stack frame up from the last frame to allocate
        the time spent in it, if it exists.

        * JavaScriptCore.exp:
        * VM/Machine.cpp: We need to let the profiler know when the JS program
        has finished since that is what will actually stop the profiler instead
        of just calling stopProfiling().
        (KJS::Machine::execute):
        * profiler/Profile.cpp:
        (KJS::Profile::create): Moved from Profile.h since it was getting pretty
        long.
        (KJS::Profile::Profile): We now have a client, which is a listener who
        we will return this profile to, once it has actually finished.
        (KJS::Profile::stopProfiling): Instead of fully stopping the profiler
        here, we set the flag and keep it profiling in the background.
        (KJS::Profile::didFinishAllExecution): This is where the profiler
        actually finishes and creates the (idle) node if one should be made.
        (KJS::Profile::removeProfileStart): Don't use m_currentNode since it is
        needed by the profiler as it runs silently in the background.
        (KJS::Profile::removeProfileEnd): Ditto.
        (KJS::Profile::willExecute): Don't profile new functions if we have
        stopped profiling.
        (KJS::Profile::didExecute): Only record one more return as all the
        remaining time will be attributed to that function.
        (KJS::Profile::setupCurrentNodeAsStopped): Sets the current node's time.
        * profiler/Profile.h: Added functions and variables for the above
        changes.
        (KJS::Profile::client):
        * profiler/ProfileNode.h:
        (KJS::CallIdentifier::toString): Debug method.
        * profiler/Profiler.cpp: Added support for the ProfilerClient.
        (KJS::Profiler::startProfiling):
        (KJS::Profiler::stopProfiling): No longer return sthe profile.
        (KJS::Profiler::didFinishAllExecution): Now returns the profile to the
        client instead of stopProfiling.
        * profiler/Profiler.h:
        (KJS::ProfilerClient::~ProfilerClient): Clients will implement this
        interface.

WebCore:

2008-06-20  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim.

        <rdar://problem/5958770> JSProfiler: Time incorrectly given to (idle)
        if profiling is started and finished within the same function. (19230)
        - Now we profile one more stack frame up from the last frame to allocate
        the time spent in it, if it exists.

        * page/Console.cpp:
        * manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html: Added.
        (WebCore::Console::profile): When stating the profiler give a client for
        the callback of when the profile actually finishes.
        (WebCore::Console::profileEnd): No longer needs to handle the return of
        the profile object since it will be retruned in the client's callback.
        (WebCore::Console::finishedProfiling): Implemenet the ProfileClient
        callback method.
        * page/Console.h: Inherit from the ProfileClient.
        * page/InspectorController.cpp:
        (WebCore::InspectorController::startUserInitiatedProfiling): Use the
        client callback.
        (WebCore::InspectorController::stopUserInitiatedProfiling): Does not
        need to handle the profile being returned as it is now handled by the
        client callback.
        (WebCore::InspectorController::finishedProfiling): Implement the
        ProfileClient callback method.
        * page/InspectorController.h: Inherit from the ProfileClient.

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

14 years ago Makes the JavaScript syntax highlighter process lines in chunks
timothy@apple.com [Fri, 20 Jun 2008 19:26:52 +0000 (19:26 +0000)]
    Makes the JavaScript syntax highlighter process lines in chunks
        so the user interface isn't blocked for large script files.

        https://bugs.webkit.org/show_bug.cgi?id=19677

        Reviewed by Adam Roben.

        * page/inspector/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._addMessageToSource): Use the cells
        property on the row instead of getElementsByTagName.
        (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Use the
        cells property on the row instead of getElementsByTagName. Added
        a nested processChunk function that highlights 10 lines at a time
        This processChunk function is called at an interval of 25ms. The
        code is still highlighted quickly, and the user can't tell it wasn't
        highlighted all at once.

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

14 years ago Fixes a bug where the source view in the Resources panel had a
timothy@apple.com [Fri, 20 Jun 2008 19:26:42 +0000 (19:26 +0000)]
    Fixes a bug where the source view in the Resources panel had a
        couple of extra pixels at the bottom when fully scrolled.

        Reviewed by Adam Roben.

        * page/inspector/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.set autoSizesToFitContentHeight):
        Call removeStyleClass instead of addStyleClass for "webkit-height-sized-to-fit"
        when sizing to fit is being disabled.
        * page/inspector/inspector.css:
        (.resource-view.headers-visible .source-view-frame): Added the
        vertical-align: top property to prevent line alignment from adding extra
        pixels on the bottom.

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

14 years agoFixes: Bug 19679: iframes with a height of 32,768px or greater do not layout correctly
timothy@apple.com [Fri, 20 Jun 2008 19:26:31 +0000 (19:26 +0000)]
Fixes: Bug 19679: iframes with a height of 32,768px or greater do not layout correctly
WebCore:

2008-06-19  Timothy Hatcher  <timothy@apple.com>

        Changed all lineHeight, baselinePosition and verticalPositionHint
        calls to return int instead of short. The short was overflowing
        when a value greater than 32,767 was encountered.

Fixes: iframes with a height of 32,768px or greater do not layout correctly
        https://bugs.webkit.org/show_bug.cgi?id=19679

        Reviewed by Dave Hyatt.

        Test: fast/css/line-height-overflow.html

        * rendering/RenderBR.cpp:
        (WebCore::RenderBR::baselinePosition):
        * rendering/RenderBR.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::lineHeight):
        * rendering/RenderBlock.h:
        * rendering/RenderFlow.cpp:
        * rendering/RenderFlow.h:
        * rendering/RenderListBox.cpp:
        * rendering/RenderListBox.h:
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::lineHeight):
        * rendering/RenderListMarker.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::verticalPositionHint):
        * rendering/RenderObject.h:
        (WebCore::):
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::lineHeight):
        * rendering/RenderPath.h:
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::lineHeight):
        * rendering/RenderReplaced.h:
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::lineHeight):
        * rendering/RenderSVGContainer.h:
        * rendering/RenderSVGHiddenContainer.cpp:
        (WebCore::RenderSVGHiddenContainer::lineHeight):
        * rendering/RenderSVGHiddenContainer.h:
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::lineHeight):
        * rendering/RenderSVGRoot.h:
        * rendering/RenderSlider.cpp:
        * rendering/RenderSlider.h:
        * rendering/RenderTableCell.cpp:
        * rendering/RenderTableCell.h:
        * rendering/RenderTableCol.h:
        * rendering/RenderTableRow.h:
        * rendering/RenderTableSection.h:
        * rendering/RenderText.cpp:
        * rendering/RenderText.h:
        * rendering/RenderTextControl.cpp:
        * rendering/RenderTextControl.h:
        * rendering/RenderTheme.cpp:
        * rendering/RenderTheme.h:
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        * rendering/RenderThemeSafari.cpp:
        * rendering/RenderThemeSafari.h:

LayoutTests:

2008-06-19  Timothy Hatcher  <timothy@apple.com>

        Test for: iframes with a height of 32,768px or greater do not layout correctly
        https://bugs.webkit.org/show_bug.cgi?id=19679

        Reviewed by Dave Hyatt.

        * fast/css/line-height-overflow.html: Added.
        * platform/mac/fast/css/line-height-overflow-expected.txt: Added.

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

14 years agoWebCore:
mitz@apple.com [Fri, 20 Jun 2008 19:19:18 +0000 (19:19 +0000)]
WebCore:

        Reviewed by Darin Adler.

        - fix https://bugs.webkit.org/show_bug.cgi?id=19519
          <rdar://problem/6007345> DOM modification causes stack exhaustion (BUTTON OBJECT COLGROUP)

        Test: fast/table/prepend-in-anonymous-table.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addChildToFlow): Added code to handle the case
        of inserting before a child that has been wrapped by an anonymous table,
        in which case if the new child is the type that needs to be in a table,
        it is inserted into the table, and otherwise it is inserted before the
        table.
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::addChild): Added table-column-group alongside
        table-caption as content that can exist inside an anonymous table
        without being wrapped in a table section.

LayoutTests:

        Reviewed by Darin Adler.

        - test for https://bugs.webkit.org/show_bug.cgi?id=19519
          <rdar://problem/6007345> DOM modification causes stack exhaustion (BUTTON OBJECT COLGROUP)

        * fast/table/prepend-in-anonymous-table.html: Added.
        * platform/mac/fast/table/prepend-in-anonymous-table-expected.checksum: Added.
        * platform/mac/fast/table/prepend-in-anonymous-table-expected.png: Added.
        * platform/mac/fast/table/prepend-in-anonymous-table-expected.txt: Added.

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

14 years agoWebCore:
hyatt@apple.com [Fri, 20 Jun 2008 18:36:19 +0000 (18:36 +0000)]
WebCore:

2008-06-20  David Hyatt  <hyatt@apple.com>

        Allow CSS variables to support arbitrary expressions as values instead of just a single term.

        Reviewed by Sam

        Removed fast/css/variables/single-term-test.html and replaced with multiple-term-test.html

        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::addVariable):
        * css/CSSParser.h:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::addMatchedDeclaration):
        * css/CSSVariablesDeclaration.cpp:
        (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
        (WebCore::CSSVariablesDeclaration::getVariableValue):
        (WebCore::CSSVariablesDeclaration::addParsedVariable):
        (WebCore::CSSVariablesDeclaration::getParsedVariable):
        * css/CSSVariablesDeclaration.h:
        (WebCore::CSSVariablesDeclaration::create):

LayoutTests:

2008-06-20  David Hyatt  <hyatt@apple.com>

        Allow CSS variables to support arbitrary expressions as values instead of just a single term.

        Reviewed by Sam

        * fast/css/variables/single-term-test.html: Removed.
        * fast/css/variables/multiple-term-test.html: Added.
        * platform/mac/fast/css/variables/multiple-term-test-expected.checksum: Added.
        * platform/mac/fast/css/variables/multiple-term-test-expected.png: Added.
        * platform/mac/fast/css/variables/multiple-term-test-expected.txt: Added.
        * platform/mac/fast/css/variables/single-term-test-expected.checksum: Removed.
        * platform/mac/fast/css/variables/single-term-test-expected.png: Removed.
        * platform/mac/fast/css/variables/single-term-test-expected.txt: Removed.

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

14 years ago2008-06-20 Darin Adler <darin@apple.com>
darin@apple.com [Fri, 20 Jun 2008 17:17:06 +0000 (17:17 +0000)]
2008-06-20  Darin Adler  <darin@apple.com>

        - updated results for some recent changes

        * fast/dom/Window/window-properties-expected.txt: Updated results to reflect the
        new rule type, VARIABLES_RULE (Hyatt's CSS variables patch).

        * fast/forms/plaintext-mode-1-expected.txt: Updated test and results to expect
        ForeColor to be disabled when the region is plain-text-only. Justin's execCommand
        patch for https://bugs.webkit.org/show_bug.cgi?id=16049.
        * fast/forms/plaintext-mode-1.html: Ditto.

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

14 years ago2008-06-19 Ariya Hidayat <ariya.hidayat@trolltech.com>
hausmann@webkit.org [Fri, 20 Jun 2008 15:22:15 +0000 (15:22 +0000)]
2008-06-19  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Reviewed by Simon.

        Surpress compiler warning (int vs unsigned comparison).

        * wtf/unicode/qt4/UnicodeQt4.h:
        (WTF::Unicode::toLower):

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

14 years ago2008-06-20 Marc Ordinas i Llopis <marc.ordinasillopis@collabora.co.uk>
hausmann@webkit.org [Fri, 20 Jun 2008 10:03:44 +0000 (10:03 +0000)]
2008-06-20  Marc Ordinas i Llopis  <marc.ordinasillopis@collabora.co.uk>

        Reviewed by Simon.

        https://bugs.webkit.org/show_bug.cgi?id=19082
        [Qt] Full-page plugins not activated

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

14 years ago2008-06-20 Marco Barisione <marco.barisione@collabora.co.uk>
hausmann@webkit.org [Fri, 20 Jun 2008 10:03:30 +0000 (10:03 +0000)]
2008-06-20  Marco Barisione  <marco.barisione@collabora.co.uk>

        Reviewed by Simon.

        https://bugs.webkit.org/show_bug.cgi?id=19082
        [Qt] Full-page plugins not activated

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

14 years ago2008-06-19 Ariya Hidayat <ariya.hidayat@trolltech.com>
hausmann@webkit.org [Fri, 20 Jun 2008 09:06:11 +0000 (09:06 +0000)]
2008-06-19  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Reviewed by Timothy Hatcher.

        Introduce compiler define for MinGW, to have COMPILER(MINGW).

        * wtf/Platform.h:

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

14 years ago Reviewed by Sam Weinig.
mitz@apple.com [Fri, 20 Jun 2008 05:43:16 +0000 (05:43 +0000)]
    Reviewed by Sam Weinig.

        - two more updated results for the last patch

        * platform/mac/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
        * platform/mac/fast/invalid/020-expected.txt:

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

14 years ago Reviewed by Geoff.
ap@webkit.org [Fri, 20 Jun 2008 03:30:09 +0000 (03:30 +0000)]
    Reviewed by Geoff.

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

14 years agoWebCore:
mitz@apple.com [Fri, 20 Jun 2008 02:53:12 +0000 (02:53 +0000)]
WebCore:

        Reviewed by John Sullivan.

        - fix a bug where anonymous tables were inserted in the wrong place

        Tests: tables/mozilla/bugs/bug2479-2.html
               tables/mozilla/bugs/bug278266.html
               tables/mozilla/bugs/bug8411.xml

        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::addChild): Changed to create an anonymous
        table and insert it before beforeChild unless the insertion point is
        right after an existing anonymous table, in which case the existing
        table is used.

LayoutTests:

        Reviewed by John Sullivan.

        - updated tests and results after fixing a bug where anonymous tables were inserted in the wrong place

        * fast/forms/form-hides-table.html: Wrapped every case in a block in
        order to prevent cross-talk.
        * platform/mac/fast/forms/form-hides-table-expected.checksum:
        * platform/mac/fast/forms/form-hides-table-expected.png:
        * platform/mac/fast/forms/form-hides-table-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug2479-2-expected.checksum: Added.
        * platform/mac/tables/mozilla/bugs/bug2479-2-expected.png: Added.
        * platform/mac/tables/mozilla/bugs/bug2479-2-expected.txt: Added.
        * platform/mac/tables/mozilla/bugs/bug2479-4-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug278266-expected.checksum: Added.
        * platform/mac/tables/mozilla/bugs/bug278266-expected.png: Added.
        * platform/mac/tables/mozilla/bugs/bug278266-expected.txt: Added.
        * platform/mac/tables/mozilla/bugs/bug8411-expected.checksum: Added.
        * platform/mac/tables/mozilla/bugs/bug8411-expected.png: Added.
        * platform/mac/tables/mozilla/bugs/bug8411-expected.txt: Added.
        * platform/mac/tables/mozilla_expected_failures/bugs/bug2479-2-expected.checksum: Removed.
        * platform/mac/tables/mozilla_expected_failures/bugs/bug2479-2-expected.png: Removed.
        * platform/mac/tables/mozilla_expected_failures/bugs/bug2479-2-expected.txt: Removed.
        * platform/mac/tables/mozilla_expected_failures/bugs/bug278266-expected.checksum: Removed.
        * platform/mac/tables/mozilla_expected_failures/bugs/bug278266-expected.png: Removed.
        * platform/mac/tables/mozilla_expected_failures/bugs/bug278266-expected.txt: Removed.
        * platform/mac/tables/mozilla_expected_failures/bugs/bug8411-expected.checksum: Removed.
        * platform/mac/tables/mozilla_expected_failures/bugs/bug8411-expected.png: Removed.
        * platform/mac/tables/mozilla_expected_failures/bugs/bug8411-expected.txt: Removed.
        * platform/mac/tables/mozilla_expected_failures/other/test4-expected.txt:
        * tables/mozilla/bugs/bug2479-2.html: Copied from LayoutTests/tables/mozilla_expected_failures/bugs/bug2479-2.html.
        * tables/mozilla/bugs/bug278266.html: Copied from LayoutTests/tables/mozilla_expected_failures/bugs/bug278266.html.
        * tables/mozilla/bugs/bug8411.xml: Copied from LayoutTests/tables/mozilla_expected_failures/bugs/bug8411.xml.
        * tables/mozilla_expected_failures/bugs/bug2479-2.html: Removed.
        * tables/mozilla_expected_failures/bugs/bug278266.html: Removed.
        * tables/mozilla_expected_failures/bugs/bug8411.xml: Removed.

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

14 years agoWebCore:
justin.garcia@apple.com [Fri, 20 Jun 2008 01:19:23 +0000 (01:19 +0000)]
WebCore:

2008-06-19  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Oliver.

        <https://bugs.webkit.org/show_bug.cgi?id=16049>
        execCommand('backColor') fails on collapsed selections

        * editing/EditorCommand.cpp:
        (WebCore::CommandEntry::): Enable BackColor for caret selections, and
        disable ForeColor in plaintext-only regions.

LayoutTests:

2008-06-19  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Oliver.

        <https://bugs.webkit.org/show_bug.cgi?id=16049>
        execCommand('backColor') fails on collapsed selections

        * editing/execCommand/16049-expected.txt: Added.
        * editing/execCommand/16049.html: Added.

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

14 years agoWebCore:
justin.garcia@apple.com [Fri, 20 Jun 2008 00:24:13 +0000 (00:24 +0000)]
WebCore:

2008-06-19  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by John.

        <https://bugs.webkit.org/show_bug.cgi?id=19653>
        Typing style lost when creating list from, indenting or outdenting an empty paragraph

        There were two problems.  First, moveParagraphs didn't preserve the style of empty paragraphs.
        Second, indent, outdent and list creation returned false from preservesTypingStyle.
        The second problem couldn't be fixed by just adding preservesTypingStyle() { return true; }
        to those commands, though, because of other bugs.

        Cleaned up the implementation of typing style enough to remove FIXMEs for:

        <rdar://problem/3769899> Implementation of typing style needs improvement

        which has actually been closed for some time now anyway.

        * dom/Document.cpp: Removed an unused header.
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraphs): Preserve the style of an empty paragraph, too.
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::saveTypingStyleState): Removed FIXME.
        (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
        Removed FIXME.
        If there is a typing style to apply after a delete, apply it to any line break that acts as a paragraph
        placeholder, not only one that was inserted by deletion.  This fixes a bug where deleting
        <div><b>Bold</b><br></div>, changing the selection and then coming back and typing wouldn't
        produce bold text.
        Don't set the EditCommand's typingStyle, it has been removed (more on that later).
        (WebCore::DeleteSelectionCommand::doApply): We don't need to pass calculateTypingStyleAfterDelete
        the inserted placeholder because it will find it.
        (WebCore::DeleteSelectionCommand::preservesTypingStyle): Normally deletion doesn't preserve the
        typing style that was present before it.  For example, type a character, Bold, then delete the
        character and start typing.  The Bold typing style shouldn't stick around.  We got this right before
        purely by chance. Deletion should preserve a typing style that *it* sets, however.
        * editing/DeleteSelectionCommand.h: No longer need to pass calculateTypingStyleAfterDelete
        the inserted placeholder.
        * editing/EditCommand.cpp:
        (WebCore::EditCommand::apply):
        Clearing or not clearing a removed anchor should not be determined by whether or not a command
        preservesTypingStyle().  For example, the deletion that removed an anchor (and stored it), may
        not preserve the typing style, but that doesn't mean that it should then go and clear the removed
        anchor.  All high level commands, and all commands that a TypingCommand spawns, except for
        text insertions, which should restore a removed anchor, should clear it.
        There is no longer a typing style on EditCommand, removed code that cleared it.  Code that clears the
        *actual* typing style is now in Editor::appliedEditing, just like before.
        There is no longer a typing style on EditCommand, removed code to set one.
        (WebCore::EditCommand::styleAtPosition): Removed FIXME.
        * editing/EditCommand.h:
        Removed code assosiated with m_typingStyle.
        Made preservesTypingStyle() public, so that we can call it from Editor::appliedEditing().
        * editing/Editor.cpp:
        (WebCore::Editor::appliedEditing):
        Removed code to preserve the removedAnchor during the call to setSelection, because we no longer
        request to clear the typing style with that call.  Also removed the FIXME about this.
        Before, a command would set the Frame's typing style by setting its own typingStyle, and then
        letting code here, in appliedEditing pick that up and set it on the Frame.  Now, the command
        itself sets the Frame's typing style.  Deletion is the only command that does this right now.
        * editing/IndentOutdentCommand.h:
        (WebCore::IndentOutdentCommand::preservesTypingStyle): Added, returns true.
        * editing/InsertLineBreakCommand.cpp:
        (WebCore::InsertLineBreakCommand::doApply): Removed FIXME.
        * editing/InsertListCommand.h:
        (WebCore::InsertListCommand::preservesTypingStyle): Added.
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Removed FIXME.
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::input): Removed FIXME.
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply): Removed FIXME and also added one about clearing
        the typing style here.  It seems like it's something that could wait until after the command
        has been performed, since there is no code between this point and the end of the operation
        that queries or uses the typing style.

LayoutTests:

2008-06-19  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by John.

        https://bugs.webkit.org/show_bug.cgi?id=19653
        Typing style lost when creating list from, indenting or outdenting an empty paragraph

        These demonstrate fixes:
        * editing/execCommand/19653-1-expected.txt: Added.
        * editing/execCommand/19653-1.html: Added.
        * editing/execCommand/19653-2-expected.txt: Added.
        * editing/execCommand/19653-2.html: Added.
        * editing/execCommand/19653-3-expected.txt: Added.
        * editing/execCommand/19653-3.html: Added.
        * editing/execCommand/19653-4-expected.txt: Added.
        * editing/execCommand/19653-4.html: Added.
        Changed to an equivalent but more bloated DOM because of a pre-existing bug in ApplyStyleCommand:
        * platform/mac/editing/deleting/delete-br-011-expected.txt:
        Fixed a bug where the typing style wasn't applied to the placeholder in an empty paragraph,
        so typing would create text with the right style, but if you were to change the selection
        and then come back and start typing, the style would be wrong.  The size of the caret was
        also wrong as a result:
        * platform/mac/editing/deleting/delete-br-012-expected.txt:
        * platform/mac/editing/deleting/delete-br-012-expected.png:
        * platform/mac/editing/deleting/delete-br-012-expected.checksum:

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

14 years ago2008-06-19 Dan Bernstein <mitz@apple.com>
mitz@apple.com [Fri, 20 Jun 2008 00:09:19 +0000 (00:09 +0000)]
2008-06-19  Dan Bernstein  <mitz@apple.com>

        Reviewed by Alexey Proskuryakov.

        - fix crash in CSSStyleDeclaration::copyPropertiesInSet()

        Covered by many editing tests

        * css/CSSStyleDeclaration.cpp:
        (WebCore::CSSStyleDeclaration::copyPropertiesInSet): Re-ordered to avoid
        null pointer deref.

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

14 years ago2008-06-19 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Fri, 20 Jun 2008 00:06:28 +0000 (00:06 +0000)]
2008-06-19  David Hyatt  <hyatt@apple.com>

        Fix out of bounds bug in CSSVariablesDeclaration's item() method.

        Reviewed by Sam, Darin

        * css/CSSVariablesDeclaration.cpp:
        (WebCore::CSSVariablesDeclaration::item):
        * css/CSSVariablesDeclaration.h:

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

14 years ago2008-06-19 John Sullivan <sullivan@apple.com>
sullivan@apple.com [Thu, 19 Jun 2008 23:42:26 +0000 (23:42 +0000)]
2008-06-19  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin

        Tweak to previous checkin

        * page/FrameView.cpp:
        (WebCore::FrameView::performPostLayoutTasks):
        clear m_firstLayoutCallbackPending before performing callback, to avoid recursion

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

14 years ago2008-06-19 Alp Toker <alp@nuanti.com>
alp@webkit.org [Thu, 19 Jun 2008 23:20:52 +0000 (23:20 +0000)]
2008-06-19  Alp Toker  <alp@nuanti.com>

        GTK+/autotools build fix. JSGlobalObject.cpp in now in
        AllInOneFile.cpp and shouldn't be built separately.

        * GNUmakefile.am:

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

14 years ago2008-06-19 John Sullivan <sullivan@apple.com>
sullivan@apple.com [Thu, 19 Jun 2008 23:15:47 +0000 (23:15 +0000)]
2008-06-19  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin

        - fixed <rdar://problem/6021353> Assertion failure (!root->needsLayout()) after certain steps

        The didFirstLayout callback was called in a place where trouble would ensue if the client
        did any work that would cause the layout to be dirtied. Fixed by delaying the callback
        until performPostLayoutTasks.

        * page/FrameView.cpp:
        new m_firstLayoutCallbackPending instance member variable in FrameViewPrivate
        (WebCore::FrameViewPrivate::reset):
        set m_firstLayoutCallbackPending to false
        (WebCore::FrameView::layout):
        set m_firstLayoutCallbackPending instead of a local variable; don't do didFirstLayout callback here
        (WebCore::FrameView::performPostLayoutTasks):
        if m_firstLayoutCallbackPending is set, do didFirstLayout callback here, then clear m_firstLayoutCallbackPending

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

14 years ago2008-06-19 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Thu, 19 Jun 2008 22:39:23 +0000 (22:39 +0000)]
2008-06-19  David Hyatt  <hyatt@apple.com>

        Implement some cleanup of CSS variables based off Darin's review comments.

        Reviewed by darin

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseVariable):
        (WebCore::CSSParser::checkForVariables):
        (WebCore::CSSParser::addUnresolvedProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::addMatchedDeclaration):
        * css/CSSVariableDependentValue.h:
        * css/CSSVariablesRule.cpp:
        (WebCore::CSSVariablesRule::CSSVariablesRule):

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

14 years ago2008-06-19 John Sullivan <sullivan@apple.com>
sullivan@apple.com [Thu, 19 Jun 2008 22:34:57 +0000 (22:34 +0000)]
2008-06-19  John Sullivan  <sullivan@apple.com>

        Rubber-stamped by Dan

        Prepended all FrameViewPrivate instance member variables with "m_" (in preparation
        for adding a new one in a future patch)

        * page/FrameView.cpp:
        (WebCore::FrameViewPrivate::FrameViewPrivate):
        (WebCore::FrameViewPrivate::reset):
        (WebCore::FrameView::~FrameView):
        (WebCore::FrameView::resetScrollbars):
        (WebCore::FrameView::didFirstLayout):
        (WebCore::FrameView::initScrollbars):
        (WebCore::FrameView::layoutCount):
        (WebCore::FrameView::needsFullRepaint):
        (WebCore::FrameView::layoutRoot):
        (WebCore::FrameView::layout):
        (WebCore::FrameView::scrollTo):
        (WebCore::FrameView::useSlowRepaints):
        (WebCore::FrameView::setUseSlowRepaints):
        (WebCore::FrameView::removeSlowRepaintObject):
        (WebCore::FrameView::setScrollbarsMode):
        (WebCore::FrameView::setVScrollbarMode):
        (WebCore::FrameView::setHScrollbarMode):
        (WebCore::FrameView::scheduleRelayout):
        (WebCore::FrameView::scheduleRelayoutOfSubtree):
        (WebCore::FrameView::layoutPending):
        (WebCore::FrameView::needsLayout):
        (WebCore::FrameView::unscheduleRelayout):
        (WebCore::FrameView::isTransparent):
        (WebCore::FrameView::setTransparent):
        (WebCore::FrameView::baseBackgroundColor):
        (WebCore::FrameView::setBaseBackgroundColor):
        (WebCore::FrameView::performPostLayoutTasks):
        (WebCore::FrameView::updateOverflowStatus):

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

14 years ago Reviewed by Darin.
ap@webkit.org [Thu, 19 Jun 2008 22:23:11 +0000 (22:23 +0000)]
    Reviewed by Darin.

        Get rid of some threadInstance calls.

        * kjs/JSGlobalObject.cpp:
        (KJS::JSGlobalObject::init):
        * kjs/Parser.cpp:
        (KJS::Parser::parse):
        * kjs/Shell.cpp:
        (jscmain):

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

14 years ago Windows build fix.
ap@webkit.org [Thu, 19 Jun 2008 22:13:59 +0000 (22:13 +0000)]
    Windows build fix.

        * WebJavaScriptCollector.cpp: Added a missing include.

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

14 years agoAdd CSS variables files for wx port.
hyatt@apple.com [Thu, 19 Jun 2008 22:08:29 +0000 (22:08 +0000)]
Add CSS variables files for wx port.

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

14 years agoAdd CSS variables files to .am makefile.
hyatt@apple.com [Thu, 19 Jun 2008 22:06:43 +0000 (22:06 +0000)]
Add CSS variables files to .am makefile.

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

14 years agoAdd CSS variables files to .pro makefile.
hyatt@apple.com [Thu, 19 Jun 2008 22:05:04 +0000 (22:05 +0000)]
Add CSS variables files to .pro makefile.

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

14 years agoAdd CSS Variables files to visual studio project.
hyatt@apple.com [Thu, 19 Jun 2008 21:59:56 +0000 (21:59 +0000)]
Add CSS Variables files to visual studio project.

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

14 years agoAdd layout test results for new variables test cases.
hyatt@apple.com [Thu, 19 Jun 2008 21:53:52 +0000 (21:53 +0000)]
Add layout test results for new variables test cases.

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

14 years agoWebCore:
hyatt@apple.com [Thu, 19 Jun 2008 21:49:52 +0000 (21:49 +0000)]
WebCore:

2008-06-19  David Hyatt  <hyatt@apple.com>

        Add initial support for CSS variables.  Non-dynamic cases should (hopefully) all work.  Things will get
        confused if you use the CSS OM to remove variables/inject variables, etc.  In addition no DOM APIs are
        exposed yet for the new variable interfaces.

        Reviewed by Beth

        Added many tests to fast/css/variables/

        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSFunctionValue.cpp: Added.
        (WebCore::CSSFunctionValue::CSSFunctionValue):
        (WebCore::CSSFunctionValue::~CSSFunctionValue):
        (WebCore::CSSFunctionValue::cssText):
        (WebCore::CSSFunctionValue::parserValue):
        * css/CSSFunctionValue.h: Added.
        (WebCore::CSSFunctionValue::create):
        * css/CSSGrammar.y:
        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
        (WebCore::CSSMutableStyleDeclaration::copy):
        * css/CSSMutableStyleDeclaration.h:
        (WebCore::CSSMutableStyleDeclaration::create):
        (WebCore::CSSMutableStyleDeclaration::hasVariableDependentValue):
        * css/CSSParser.cpp:
        (WebCore::equal):
        (WebCore::equalIgnoringCase):
        (WebCore::CSSParser::~CSSParser):
        (WebCore::CSSParserString::lower):
        (WebCore::CSSParser::document):
        (WebCore::CSSParser::validUnit):
        (WebCore::unitFromString):
        (WebCore::CSSParser::checkForOrphanedUnits):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseFillShorthand):
        (WebCore::CSSParser::parseTransitionShorthand):
        (WebCore::CSSParser::parseContent):
        (WebCore::CSSParser::parseFillImage):
        (WebCore::CSSParser::parseFillPosition):
        (WebCore::CSSParser::parseFillSize):
        (WebCore::CSSParser::parseFillProperty):
        (WebCore::CSSParser::parseTransitionDuration):
        (WebCore::CSSParser::parseTransitionRepeatCount):
        (WebCore::CSSParser::parseTimingFunctionValue):
        (WebCore::CSSParser::parseTransitionTimingFunction):
        (WebCore::CSSParser::parseTransitionProperty):
        (WebCore::skipCommaInDashboardRegion):
        (WebCore::CSSParser::parseDashboardRegions):
        (WebCore::CSSParser::parseCounterContent):
        (WebCore::CSSParser::parseShape):
        (WebCore::CSSParser::parseFont):
        (WebCore::CSSParser::parseFontFamily):
        (WebCore::CSSParser::parseFontFaceSrc):
        (WebCore::CSSParser::parseFontFaceUnicodeRange):
        (WebCore::CSSParser::parseColorParameters):
        (WebCore::CSSParser::parseHSLParameters):
        (WebCore::CSSParser::parseColor):
        (WebCore::CSSParser::parseColorFromValue):
        (WebCore::ShadowParseContext::commitLength):
        (WebCore::CSSParser::parseShadow):
        (WebCore::CSSParser::parseReflect):
        (WebCore::BorderImageParseContext::commitNumber):
        (WebCore::BorderImageParseContext::commitWidth):
        (WebCore::BorderImageParseContext::commitBorderImage):
        (WebCore::CSSParser::parseBorderImage):
        (WebCore::CSSParser::parseCounter):
        (WebCore::parseGradientPoint):
        (WebCore::parseGradientColorStop):
        (WebCore::CSSParser::parseGradient):
        (WebCore::CSSParser::parseCanvas):
        (WebCore::TransformOperationInfo::TransformOperationInfo):
        (WebCore::CSSParser::parseTransform):
        (WebCore::CSSParser::lex):
        (WebCore::CSSParser::text):
        (WebCore::CSSParser::createFloatingValueList):
        (WebCore::CSSParser::sinkFloatingValueList):
        (WebCore::CSSParser::createFloatingFunction):
        (WebCore::CSSParser::sinkFloatingFunction):
        (WebCore::CSSParser::sinkFloatingValue):
        (WebCore::CSSParser::createFloatingMediaQueryExp):
        (WebCore::CSSParser::createCharsetRule):
        (WebCore::CSSParser::createImportRule):
        (WebCore::CSSParser::createVariablesRule):
        (WebCore::CSSParser::addVariable):
        (WebCore::CSSParser::clearVariables):
        (WebCore::CSSParser::parseVariable):
        (WebCore::CSSParser::parsePropertyWithResolvedVariables):
        (WebCore::CSSParser::checkForVariables):
        (WebCore::CSSParser::addUnresolvedProperty):
        (WebCore::cssPropertyID):
        (WebCore::cssValueKeywordID):
        * css/CSSParser.h:
        * css/CSSParserValues.cpp: Added.
        (WebCore::CSSParserValueList::~CSSParserValueList):
        (WebCore::CSSParserValueList::addValue):
        (WebCore::CSSParserValueList::deleteValueAt):
        (WebCore::CSSParserValue::createCSSValue):
        * css/CSSParserValues.h: Added.
        (WebCore::CSSParserString::operator String):
        (WebCore::CSSParserString::operator AtomicString):
        (WebCore::CSSParserValue::):
        (WebCore::CSSParserValueList::CSSParserValueList):
        (WebCore::CSSParserValueList::size):
        (WebCore::CSSParserValueList::current):
        (WebCore::CSSParserValueList::next):
        (WebCore::CSSParserValueList::valueAt):
        (WebCore::CSSParserValueList::clear):
        (WebCore::CSSParserValueList::containsVariables):
        (WebCore::CSSParserFunction::~CSSParserFunction):
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::getStringValue):
        (WebCore::CSSPrimitiveValue::cssText):
        (WebCore::CSSPrimitiveValue::parserValue):
        * css/CSSPrimitiveValue.h:
        (WebCore::CSSPrimitiveValue::):
        (WebCore::CSSPrimitiveValue::setPrimitiveType):
        * css/CSSRule.h:
        (WebCore::CSSRule::):
        * css/CSSRule.idl:
        * css/CSSStyleDeclaration.cpp:
        (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::addMatchedDeclaration):
        (WebCore::CSSStyleSelector::addVariables):
        (WebCore::CSSStyleSelector::resolveVariableDependentValue):
        (WebCore::CSSRuleSet::addRulesFromSheet):
        (WebCore::CSSStyleSelector::applyDeclarations):
        * css/CSSStyleSelector.h:
        * css/CSSValue.h:
        (WebCore::CSSValue::isVariableDependentValue):
        (WebCore::CSSValue::parserValue):
        * css/CSSValueList.cpp:
        (WebCore::CSSValueList::CSSValueList):
        (WebCore::CSSValueList::createParserValueList):
        * css/CSSValueList.h:
        (WebCore::CSSValueList::createFromParserValueList):
        * css/CSSVariableDependentValue.cpp: Added.
        (WebCore::CSSVariableDependentValue::CSSVariableDependentValue):
        (WebCore::CSSVariableDependentValue::~CSSVariableDependentValue):
        (WebCore::CSSVariableDependentValue::cssText):
        * css/CSSVariableDependentValue.h: Added.
        (WebCore::CSSVariableDependentValue::create):
        (WebCore::CSSVariableDependentValue::isVariableDependentValue):
        (WebCore::CSSVariableDependentValue::valueList):
        * css/CSSVariablesDeclaration.cpp: Added.
        (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
        (WebCore::CSSVariablesDeclaration::~CSSVariablesDeclaration):
        (WebCore::CSSVariablesDeclaration::getVariableValue):
        (WebCore::CSSVariablesDeclaration::removeVariable):
        (WebCore::CSSVariablesDeclaration::setVariable):
        (WebCore::CSSVariablesDeclaration::addParsedVariable):
        (WebCore::CSSVariablesDeclaration::getParsedVariable):
        (WebCore::CSSVariablesDeclaration::length):
        (WebCore::CSSVariablesDeclaration::item):
        (WebCore::CSSVariablesDeclaration::parentRule):
        (WebCore::CSSVariablesDeclaration::cssText):
        * css/CSSVariablesDeclaration.h: Added.
        (WebCore::CSSVariablesDeclaration::create):
        * css/CSSVariablesRule.cpp: Added.
        (WebCore::CSSVariablesRule::CSSVariablesRule):
        (WebCore::CSSVariablesRule::~CSSVariablesRule):
        (WebCore::CSSVariablesRule::cssText):
        * css/CSSVariablesRule.h: Added.
        (WebCore::CSSVariablesRule::media):
        (WebCore::CSSVariablesRule::variables):
        (WebCore::CSSVariablesRule::type):
        (WebCore::CSSVariablesRule::isVariablesRule):
        (WebCore::CSSVariablesRule::setDeclaration):
        * css/MediaQueryExp.cpp:
        (WebCore::MediaQueryExp::MediaQueryExp):
        * css/MediaQueryExp.h:
        * css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
        (WebCore::CSSParser::parseSVGStrokeDasharray):
        * css/StyleBase.h:
        (WebCore::StyleBase::isVariablesRule):
        * css/tokenizer.flex:

LayoutTests:

2008-06-19  David Hyatt  <hyatt@apple.com>

        Add layout tests for CSS variables.

        Reviewed by Beth

        * fast/css/variables: Added.
        * fast/css/variables/colors-test.html: Added.
        * fast/css/variables/font-test.html: Added.
        * fast/css/variables/image-test.html: Added.
        * fast/css/variables/import-test.html: Added.
        * fast/css/variables/invalid-variable-test.html: Added.
        * fast/css/variables/margin-test.html: Added.
        * fast/css/variables/misplaced-import-test.html: Added.
        * fast/css/variables/misplaced-variables-test.html: Added.
        * fast/css/variables/override-test.html: Added.
        * fast/css/variables/print-test.html: Added.
        * fast/css/variables/resources: Added.
        * fast/css/variables/resources/bad.css: Added.
        * fast/css/variables/resources/good.css: Added.
        * fast/css/variables/resources/listmark.gif: Added.
        * fast/css/variables/shorthand-test.html: Added.
        * fast/css/variables/single-term-test.html: Added.

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

14 years agoWebCore:
jchaffraix@webkit.org [Thu, 19 Jun 2008 21:28:35 +0000 (21:28 +0000)]
WebCore:

2008-06-19  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Darin.

        Bug 19529 : Empty clients need to be refactored
        https://bugs.webkit.org/show_bug.cgi?id=19529

        - SVGImageEmptyClients' refactoring in order to be able to use them for other
        elements.

        - Trimmed empty spaces that were pointed out by git.

        * WebCore.xcodeproj/project.pbxproj:
        * loader/EmptyClients.h: Copied from WebCore/svg/graphics/SVGImageEmptyClients.h.

        (WebCore::EmptyChromeClient::~EmptyChromeClient):
        (WebCore::EmptyFrameLoaderClient::~EmptyFrameLoaderClient):
        (WebCore::EmptyEditorClient::~EmptyEditorClient):
        (WebCore::EmptyEditorClient::smartInsertDeleteEnabled):
        (WebCore::EmptyContextMenuClient::~EmptyContextMenuClient):
        (WebCore::EmptyDragClient::~EmptyDragClient):
        (WebCore::EmptyDragClient::createDragImageForLink):
        (WebCore::EmptyInspectorClient::~EmptyInspectorClient):
        Renamed SVGImageEmpty*Client classes to Empty*Client.

        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged):
        * svg/graphics/SVGImageEmptyClients.h: Removed.

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

14 years ago Reviewed by Sam.
ap@webkit.org [Thu, 19 Jun 2008 21:13:41 +0000 (21:13 +0000)]
    Reviewed by Sam.

        Fix an assertion failure at startup.

        * kjs/JSObject.h: (KJS::JSObject::JSObject): Allow jsNull prototype in an assertion (I had
        it fixed in a wrong copy of the file, so I wasn't getting the failure).

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

14 years agoWebCore:
mitz@apple.com [Thu, 19 Jun 2008 20:42:09 +0000 (20:42 +0000)]
WebCore:

        Reviewed by Darin Adler.

        - fix <rdar://problem/6008098> REGRESSION: Crash at FontFallbackList::fontDataAt()

        Test: fast/css/font-face-multiple-families.html

        Made changes to reflect the fact that the relationship between
        CSSFontFace and CSSSegmentedFontFace is in fact many-to-many.

        * css/CSSFontFace.cpp:
        (WebCore::CSSFontFace::addedToSegmentedFontFace): Added.
        (WebCore::CSSFontFace::removedFromSegmentedFontFace): Added.
        (WebCore::CSSFontFace::fontLoaded): Changed to notify all segmented font
        faces that include this font face.
        (WebCore::CSSFontFace::getFontData): Updated to get the font selector
        from one of the segmented font faces.
        * css/CSSFontFace.h:
        (WebCore::CSSFontFace::CSSFontFace):
        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::addFontFaceRule): Fixed the direct cause of
        the crash, namely releasing the font face when adding it to the first
        family that uses it, making it impossible to add it to the second and
        onwards families.
        * css/CSSSegmentedFontFace.cpp:
        (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace): Added code to
        call CSSFontFace::removedFromSegmentedFontFace().
        (WebCore::CSSSegmentedFontFace::overlayRange): Added code to call
        CSSFontFace::{addedTo, removedFrom}SegmentedFontFace().

LayoutTests:

        Reviewed by Darin Adler.

        - test for <rdar://problem/6008098> REGRESSION: Crash at FontFallbackList::fontDataAt()

        * fast/css/font-face-multiple-families-expected.txt: Added.
        * fast/css/font-face-multiple-families.html: Added.

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

14 years ago Qt build fix.
ap@webkit.org [Thu, 19 Jun 2008 18:32:55 +0000 (18:32 +0000)]
    Qt build fix.

        * bridge/qt/qt_runtime.h: Include completion.h.

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

14 years ago Build fix.
ap@webkit.org [Thu, 19 Jun 2008 18:18:30 +0000 (18:18 +0000)]
    Build fix.

        * kjs/collector.cpp:
        (KJS::Heap::Heap):
        (KJS::allocateBlock):
        * kjs/collector.h:
        No, #if PLATFORM(UNIX) was not right. I've just moved the unsafe initialization back for now,
        as the platforms that use that code path do not use multiple threads yet.

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

14 years ago Windows and Qt build fixes.
ap@webkit.org [Thu, 19 Jun 2008 18:03:23 +0000 (18:03 +0000)]
    Windows and Qt build fixes.

        * kjs/collector.h:
        * kjs/collector.cpp:
        (KJS::Heap::Heap):
        Wrapped m_pagesize in #if PLATFORM(UNIX), which should better match the sequence of #elifs
        in allocateBlock(). Changed MIN_ARRAY_SIZE to be explicitly size_t, as this type is different
        on different platforms.

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

14 years ago Reviewed by Darin.
ap@webkit.org [Thu, 19 Jun 2008 17:29:29 +0000 (17:29 +0000)]
    Reviewed by Darin.

        Prepare JavaScript heap for being per-thread.

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