Timeline



Jun 23, 2008:

10:34 PM Changeset in webkit [34756] by mrowe@apple.com
  • 4 edits in trunk/JavaScriptCore

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:
10:34 PM Changeset in webkit [34755] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

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.

10:23 PM Changeset in webkit [34754] by Darin Adler
  • 120 edits in trunk

JavaScriptCore:

2008-06-23 Darin Adler <Darin Adler>

Reviewed by Geoff.

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 Adler>

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 Adler>

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:
8:00 PM Changeset in webkit [34753] by abarth@webkit.org
  • 7 edits in trunk/WebCore

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):
5:23 PM Changeset in webkit [34752] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Fix Windows build.

5:19 PM Changeset in webkit [34751] by cwzwarich@webkit.org
  • 3 edits
    3 adds in trunk

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.
5:00 PM Changeset in webkit [34750] by sfalken@apple.com
  • 2 edits in trunk/WebCore

Fix a math error in my last change.


Reviewed by Ada Chan.

  • platform/win/FileSystemWin.cpp: (WebCore::openTemporaryFile):
4:48 PM Changeset in webkit [34749] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

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

-Build fix.

  • WebCore.vcproj/WebCore.vcproj:
4:20 PM Changeset in webkit [34748] by Chris Fleizach
  • 2 edits in trunk/WebCore

<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

2:41 PM Changeset in webkit [34747] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

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.

1:58 PM Changeset in webkit [34746] by sfalken@apple.com
  • 2 edits in trunk/WebCore

Added our own mechanism for generating temporary file names.


Reviewed by Ada Chan, Darin Adler.

  • platform/win/FileSystemWin.cpp: (WebCore::openTemporaryFile):
1:57 PM Changeset in webkit [34745] by ddkilzer@apple.com
  • 3 edits in trunk/LayoutTests

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.
1:33 PM Changeset in webkit [34744] by weinig@apple.com
  • 4 edits in trunk/WebCore

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

Remove XMLHttpRequestProgressEvent.cpp from project files.

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
1:30 PM Changeset in webkit [34743] by weinig@apple.com
  • 1 edit
    1 delete in trunk/WebCore

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

Reviewed by Dave Hyatt.

Remove empty file.

  • xml/XMLHttpRequestProgressEvent.cpp: Removed.
1:28 PM Changeset in webkit [34742] by weinig@apple.com
  • 3 edits in trunk/WebCore

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:
1:07 PM Changeset in webkit [34741] by weinig@apple.com
  • 5 edits in trunk/WebCore

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.
10:33 AM Changeset in webkit [34740] by timothy@apple.com
  • 5 edits
    2 adds in trunk/WebCore

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.
9:24 AM Changeset in webkit [34739] by andersca@apple.com
  • 2 edits in trunk/WebCore

2008-06-23 Anders Carlsson <andersca@apple.com>

Reviewed by Geoff.

Make changedDocuments a HashSet.

  • dom/Document.cpp: (WebCore::Document::setDocumentChanged): (WebCore::Document::updateDocumentsRendering):
8:19 AM Changeset in webkit [34738] by Simon Hausmann
  • 3 edits in trunk/WebKit/qt

2008-06-23 Benjamin C Meyer <ben@meyerhome.net>

Reviewed by Simon.

Add function to retrieve the standard context menu

1:10 AM Changeset in webkit [34737] by ap@webkit.org
  • 2 edits in trunk/WebCore

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

Jun 22, 2008:

6:30 PM Changeset in webkit [34736] by mrowe@apple.com
  • 3 edits in trunk/WebKitSite

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:
6:25 PM Changeset in webkit [34735] by mrowe@apple.com
  • 3 edits
    2 adds in trunk

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.
6:20 PM Changeset in webkit [34734] by mrowe@apple.com
  • 3 edits
    2 adds in trunk

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):
6:06 PM Changeset in webkit [34733] by mrowe@apple.com
  • 2 edits in trunk/WebCore

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):
6:02 PM Changeset in webkit [34732] by mrowe@apple.com
  • 6 edits
    2 adds in trunk

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):
5:58 PM Changeset in webkit [34731] by mrowe@apple.com
  • 2 edits in trunk/WebCore

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.
5:55 PM Changeset in webkit [34730] by mrowe@apple.com
  • 2 edits in trunk/WebCore

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.
5:52 PM Changeset in webkit [34729] by mrowe@apple.com
  • 2 edits in trunk/WebCore

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

Jun 21, 2008:

6:35 PM Changeset in webkit [34728] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

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

6:35 PM Changeset in webkit [34727] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Tweak the paths of the items in the "tests" group to clean things up a little.

Rubber-stamped by Sam Weinig.

6:35 PM Changeset in webkit [34726] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Fix jsc to link against libedit.dylib rather than libedit.2.dylib.

Rubber-stamped by Sam Weinig.

6:35 PM Changeset in webkit [34725] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

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.

6:24 PM Changeset in webkit [34724] by weinig@apple.com
  • 3 edits in trunk/WebCore

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

Fix Windows build.

  • bindings/scripts/CodeGeneratorCOM.pm:
  • html/HTMLInputElement.idl:
5:35 PM Changeset in webkit [34723] by timothy@apple.com
  • 2 edits in trunk/WebCore

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".
4:49 PM Changeset in webkit [34722] by ddkilzer@apple.com
  • 3 edits
    12 adds in trunk

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.
2:42 PM Changeset in webkit [34721] by weinig@apple.com
  • 3 edits
    2 adds in trunk

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.
1:33 PM Changeset in webkit [34720] by abarth@webkit.org
  • 5 edits in trunk/WebCore

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):
1:33 PM Changeset in webkit [34719] by abarth@webkit.org
  • 3 edits
    4 adds in trunk

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.
12:16 PM Changeset in webkit [34718] by mitz@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

Adding bug title and URLs

12:13 PM Changeset in webkit [34717] by mitz@apple.com
  • 2 edits in trunk/WebCore

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):
10:55 AM Changeset in webkit [34716] by mitz@apple.com
  • 2 edits in trunk/LayoutTests

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:
10:49 AM Changeset in webkit [34715] by mitz@apple.com
  • 3 edits
    4 adds in trunk

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.
10:36 AM Changeset in webkit [34714] by kevino@webkit.org
  • 2 edits in trunk/WebCore

wx build fix. Adding CSSVariable* API sources to the Bakefiles.

1:28 AM Changeset in webkit [34713] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

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:
12:04 AM Changeset in webkit [34712] by timothy@apple.com
  • 5 edits in trunk/JavaScriptCore

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.

Jun 20, 2008:

11:32 PM Changeset in webkit [34711] by cwzwarich@webkit.org
  • 3 edits in trunk/JavaScriptCore

2008-06-20 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver.

Remove unused destructors.

  • kjs/nodes.cpp:
  • kjs/nodes.h:
9:39 PM Changeset in webkit [34710] by timothy@apple.com
  • 3 edits in trunk/JavaScriptCore

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.
6:22 PM Changeset in webkit [34709] by weinig@apple.com
  • 2 edits in trunk/WebCore

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

Fix Windows build.

  • bindings/scripts/CodeGeneratorCOM.pm:
3:59 PM Changeset in webkit [34708] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

2008-06-20 Jan Michael Alonzo <jmalonzo@webkit.org>

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

  • GNUmakefile.am:
3:29 PM Changeset in webkit [34707] by mitz@apple.com
  • 2 edits in trunk/WebCore

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.
3:27 PM Changeset in webkit [34706] by pewtermoose@webkit.org
  • 3 edits in trunk/WebKitTools

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.
3:23 PM Changeset in webkit [34705] by jmalonzo@webkit.org
  • 7 edits in trunk/WebCore

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:
3:14 PM Changeset in webkit [34704] by kevino@webkit.org
  • 3 edits in trunk/JavaScriptCore

!USE(MULTIPLE_THREADS) on Darwin build fix

2:51 PM Changeset in webkit [34703] by kmccullough@apple.com
  • 2 edits in trunk/JavaScriptCore

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

-Leopard Build Fix.

  • profiler/Profile.cpp: (KJS::Profile::removeProfileStart): (KJS::Profile::removeProfileEnd):
2:43 PM Changeset in webkit [34702] by weinig@apple.com
  • 14 edits
    6 adds in trunk/WebCore

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:

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:
2:19 PM Changeset in webkit [34701] by hyatt@apple.com
  • 3 edits
    4 adds in trunk

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.
1:47 PM Changeset in webkit [34700] by hyatt@apple.com
  • 13 edits
    14 adds in trunk

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.
1:47 PM Changeset in webkit [34699] by kmccullough@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

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

Just giving credit.

  • ChangeLog:
12:47 PM Changeset in webkit [34698] by kmccullough@apple.com
  • 2 edits in trunk/JavaScriptCore

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):
12:38 PM Changeset in webkit [34697] by kmccullough@apple.com
  • 1 edit
    1 add in trunk/WebCore

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

Rubber stamped by Adele.

  • manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html: Added.
12:36 PM Changeset in webkit [34696] by kmccullough@apple.com
  • 13 edits
    1 add in trunk

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.
12:26 PM Changeset in webkit [34695] by timothy@apple.com
  • 2 edits in trunk/WebCore

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.
12:26 PM Changeset in webkit [34694] by timothy@apple.com
  • 3 edits in trunk/WebCore

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.
12:26 PM Changeset in webkit [34693] by timothy@apple.com
  • 41 edits
    2 adds in trunk

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.
12:19 PM Changeset in webkit [34692] by mitz@apple.com
  • 4 edits
    4 adds in trunk

WebCore:

Reviewed by Darin Adler.

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.

  • 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.
11:36 AM Changeset in webkit [34691] by hyatt@apple.com
  • 8 edits
    4 adds
    4 deletes in trunk

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.
10:17 AM Changeset in webkit [34690] by Darin Adler
  • 4 edits in trunk/LayoutTests

2008-06-20 Darin Adler <Darin Adler>

  • 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.
8:22 AM Changeset in webkit [34689] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

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):
3:03 AM Changeset in webkit [34688] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

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

3:03 AM Changeset in webkit [34687] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

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

2:06 AM Changeset in webkit [34686] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

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:

Jun 19, 2008:

10:43 PM Changeset in webkit [34685] by mitz@apple.com
  • 3 edits in trunk/LayoutTests

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:
8:30 PM Changeset in webkit [34684] by ap@webkit.org
  • 15 edits in trunk

Reviewed by Geoff.

7:53 PM Changeset in webkit [34683] by mitz@apple.com
  • 9 edits
    3 moves
    9 adds
    9 deletes in trunk

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.
6:19 PM Changeset in webkit [34682] by justin.garcia@apple.com
  • 3 edits
    2 adds in trunk

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.
5:24 PM Changeset in webkit [34681] by justin.garcia@apple.com
  • 21 edits
    8 adds in trunk

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:
5:09 PM Changeset in webkit [34680] by mitz@apple.com
  • 2 edits in trunk/WebCore

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.
5:06 PM Changeset in webkit [34679] by hyatt@apple.com
  • 3 edits in trunk/WebCore

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:
4:42 PM Changeset in webkit [34678] by sullivan@apple.com
  • 2 edits in trunk/WebCore

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
4:20 PM Changeset in webkit [34677] by alp@webkit.org
  • 2 edits in trunk/JavaScriptCore

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:
4:15 PM Changeset in webkit [34676] by sullivan@apple.com
  • 2 edits in trunk/WebCore

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
3:39 PM Changeset in webkit [34675] by hyatt@apple.com
  • 5 edits in trunk/WebCore

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):
3:34 PM Changeset in webkit [34674] by sullivan@apple.com
  • 2 edits in trunk/WebCore

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):
3:23 PM Changeset in webkit [34673] by ap@webkit.org
  • 4 edits in trunk/JavaScriptCore

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):
3:13 PM Changeset in webkit [34672] by ap@webkit.org
  • 2 edits in trunk/WebKit/win

Windows build fix.

  • WebJavaScriptCollector.cpp: Added a missing include.
3:08 PM Changeset in webkit [34671] by hyatt@apple.com
  • 1 edit in trunk/WebCore/WebCoreSources.bkl

Add CSS variables files for wx port.

3:06 PM Changeset in webkit [34670] by hyatt@apple.com
  • 1 edit in trunk/WebCore/GNUmakefile.am

Add CSS variables files to .am makefile.

3:05 PM Changeset in webkit [34669] by hyatt@apple.com
  • 1 edit in trunk/WebCore/WebCore.pro

Add CSS variables files to .pro makefile.

2:59 PM Changeset in webkit [34668] by hyatt@apple.com
  • 1 edit in trunk/WebCore/WebCore.vcproj/WebCore.vcproj

Add CSS Variables files to visual studio project.

2:53 PM Changeset in webkit [34667] by hyatt@apple.com
  • 37 adds in trunk/LayoutTests/platform/mac/fast/css/variables

Add layout test results for new variables test cases.

2:49 PM Changeset in webkit [34666] by hyatt@apple.com
  • 23 edits
    27 adds in trunk

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.
2:28 PM Changeset in webkit [34665] by jchaffraix@webkit.org
  • 3 edits
    1 move in trunk/WebCore

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.
2:13 PM Changeset in webkit [34664] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

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).
1:42 PM Changeset in webkit [34663] by mitz@apple.com
  • 6 edits
    2 adds in trunk

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.
11:32 AM Changeset in webkit [34662] by ap@webkit.org
  • 2 edits in trunk/WebCore

Qt build fix.

  • bridge/qt/qt_runtime.h: Include completion.h.
11:18 AM Changeset in webkit [34661] by ap@webkit.org
  • 3 edits in trunk/JavaScriptCore

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.
11:03 AM Changeset in webkit [34660] by ap@webkit.org
  • 3 edits in trunk/JavaScriptCore

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.
10:29 AM Changeset in webkit [34659] by ap@webkit.org
  • 153 edits
    2 adds in trunk

Reviewed by Darin.

Prepare JavaScript heap for being per-thread.

10:24 AM Changeset in webkit [34658] by timothy@apple.com
  • 2 edits in trunk/WebCore

Update the JavaScript syntax highlight colors to match Xcode.
This matches the other Xcode colors we are using for HTML.

Reviewed by Dan Bernstein.

  • page/inspector/SourceFrame.js:
10:01 AM Changeset in webkit [34657] by timothy@apple.com
  • 4 edits in trunk/WebCore

Added JavaScript syntax highlighting to the Web Inspector.

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

Reviewed by Tim Hatcher and Adam Roben.

  • page/inspector/ScriptView.js: Added a call to syntaxHighlightJavascript.
  • page/inspector/SourceFrame.js: (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine): Added. Modifies a line content element. (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Added. Syntax highlights the entire script.
  • page/inspector/SourceView.js: Added a call to syntaxHighlightJavascript.
2:57 AM Changeset in webkit [34656] by oliver@apple.com
  • 61 edits
    1 copy in trunk/WebCore

Starting to clean up the SVG Filter code. Mostly adding 'create' wrapper
functions and changing raw pointer fields to RefPtrs.

Patch by Alex Mathews

Reviewed by Oliver

Note: See TracTimeline for information about the timeline view.