⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



May 28, 2010:

11:59 PM Changeset in webkit [60395] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

Windows build fix: Updated exported symbols.

11:53 PM Changeset in webkit [60394] by ggaren@apple.com
  • 4 edits in trunk/JavaScriptCore

Qt build fix: disable a little more stuff when JIT_OPTIMIZE_NATIVE_CALL
is disabled.

  • runtime/Lookup.cpp:

(JSC::setUpStaticFunctionSlot):

  • runtime/Lookup.h:
  • wtf/Platform.h:
11:43 PM Changeset in webkit [60393] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

Windows build fix: Updated exported symbols.

11:33 PM Changeset in webkit [60392] by ggaren@apple.com
  • 132 edits in trunk

JavaScriptCore: Simplified the host calling convention.

Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.

22.5% speedup on 32-bit host function calls. 9.5% speedup on 64-bit host
function calls.

No change on SunSpider.

All JS calls (but not constructs, yet) now go through the normal JS
calling convention via the RegisterFile. As a result, the host calling
convention, which used to be this

JSValue (JSC_HOST_CALL *NativeFunction)(ExecState*, JSObject*, JSValue thisValue, const ArgList&)


is now this

JSValue (JSC_HOST_CALL *NativeFunction)(ExecState*)


Callee, 'this', and argument access all hapen relative to the ExecState*,
which is a pointer into the RegisterFile.

This patch comes in two parts.

PART ONE: Functional code changes.

  • wtf/Platform.h: Disabled optimized calls on platforms I didn't test.

We can re-enable once we verify that host calls on these platforms are
correct.

  • debugger/DebuggerCallFrame.cpp:

(JSC::DebuggerCallFrame::functionName):
(JSC::DebuggerCallFrame::calculatedFunctionName): Updated for change to
ExecState::callee().

(JSC::DebuggerCallFrame::thisObject): Updated for removal of ExecState::thisValue().

  • interpreter/CallFrame.cpp:
  • interpreter/CallFrame.h:

(JSC::ExecState::callee):
(JSC::ExecState::scopeChain):
(JSC::ExecState::init): Changed callee() to be JSObject* instead of
JSFunction* -- now, it might be some other callable host object.

(JSC::ExecState::hostThisRegister):
(JSC::ExecState::hostThisValue):
(JSC::ExecState::argumentCount):
(JSC::ExecState::argumentCountIncludingThis):
(JSC::ExecState::argument):
(JSC::ExecState::setArgumentCountIncludingThis):
(JSC::ExecState::setCallee): Added convenient accessors for arguments
from within a host function. Removed thisValue() because it was too
tempting to use incorrectly, and it only had one or two clients, anyway.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::callEval): Updated for removal of ExecState::thisValue().

(JSC::Interpreter::throwException): Be sure to shrink the register file
before invoking the exception handler, to reduce the chances that the
handler will re-throw in the case of stack overflow. (Re-throwing is now
more likely than it used to be, since standardizing the calling convention
implicitly added stack overflow checks to some places where they used to be missing.)

(JSC::Interpreter::execute): Clarified the scope of DynamicGlobalObjectScope.
Updated for CallFrame::init API change.

(JSC::Interpreter::executeCall): Clarified scope of DynamicGlobalObjectScope.
Updated for CallFrame::init API change. Added support for calling a host
function.

(JSC::Interpreter::executeConstruct): Clarified scope of DynamicGlobalObjectScope.
Updated for CallFrame::init API change.

(JSC::Interpreter::prepareForRepeatCall): Updated for CallFrame::init API change.

(JSC::Interpreter::privateExecute): Updated for CallFrame::init API change.
Added some explicit JSValue(JSObject*) initialization, since relaxing
the JSFunction* restriction on callee has made register types more ambiguous.
Removed toThisObject() conversion, since all callees do it themselves now.
Updated host function call for new host function signature. Updated for
change to ExecState::argumentCount() API.

  • interpreter/Register.h:

(JSC::Register::):
(JSC::Register::operator=):
(JSC::Register::function): Changed callee() to be JSObject* instead of
JSFunction* -- now, it might be some other callable host object.

  • jit/JITOpcodes.cpp:

(JSC::JIT::privateCompileCTINativeCall):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::privateCompileCTINativeCall): Deleted a bunch of code that
set up the arguments to host functions -- all but one of the arguments
are gone now. This is the actual optimization.

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION): Updated for ExecState and Register API
changes noted above. Removed toThisObject() conversion, since all callees
do it themselves now.

  • runtime/ArgList.h:

(JSC::ArgList::ArgList): ArgList is getting close to unused. Added a
temporary shim for converting from ExecState* to ArgList where it's still
necessary.

  • runtime/Arguments.h:

(JSC::Arguments::getArgumentsData):
(JSC::Arguments::Arguments): Updated for ExecState and Register API
changes noted above.

  • runtime/CallData.cpp:

(JSC::call): Changed call always to call Interpreter::executeCall, even
for host functions. This ensures that the normal calling convention is
set up in the RegsiterFile when calling from C++ to host function.

  • runtime/CallData.h: Changed host function signature as described above.
  • runtime/ConstructData.cpp:

(JSC::construct): Moved JSFunction::construct code here so I could nix
JSFunction::call and JSFunction::call. We want a JSFunction-agnostic
way to call and construct, so that everything works naturally for non-
JSFunction objects.

  • runtime/JSFunction.cpp:

(JSC::callHostFunctionAsConstructor):

  • runtime/JSFunction.h: Updated for ExecState and Register API changes

noted above. Nixed JSFunction::call and JSFunction::construct, noted above.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init): Ditto.

PART TWO: Global search and replace.

In the areas below, I used global search-and-replace to change

(ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
args.size() => exec->argumentCount()
args.at(i) => exec->argument(i)

  • API/JSCallbackFunction.cpp:

(JSC::JSCallbackFunction::call):

  • API/JSCallbackFunction.h:
  • API/JSCallbackObject.h:
  • API/JSCallbackObjectFunctions.h:

(JSC::::call):

(functionPrint):
(functionDebug):
(functionGC):
(functionVersion):
(functionRun):
(functionLoad):
(functionCheckSyntax):
(functionSetSamplingFlags):
(functionClearSamplingFlags):
(functionReadline):
(functionQuit):

  • runtime/ArrayConstructor.cpp:

(JSC::callArrayConstructor):
(JSC::arrayConstructorIsArray):

  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncToString):
(JSC::arrayProtoFuncToLocaleString):
(JSC::arrayProtoFuncJoin):
(JSC::arrayProtoFuncConcat):
(JSC::arrayProtoFuncPop):
(JSC::arrayProtoFuncPush):
(JSC::arrayProtoFuncReverse):
(JSC::arrayProtoFuncShift):
(JSC::arrayProtoFuncSlice):
(JSC::arrayProtoFuncSort):
(JSC::arrayProtoFuncSplice):
(JSC::arrayProtoFuncUnShift):
(JSC::arrayProtoFuncFilter):
(JSC::arrayProtoFuncMap):
(JSC::arrayProtoFuncEvery):
(JSC::arrayProtoFuncForEach):
(JSC::arrayProtoFuncSome):
(JSC::arrayProtoFuncReduce):
(JSC::arrayProtoFuncReduceRight):
(JSC::arrayProtoFuncIndexOf):
(JSC::arrayProtoFuncLastIndexOf):

  • runtime/BooleanConstructor.cpp:

(JSC::callBooleanConstructor):

  • runtime/BooleanPrototype.cpp:

(JSC::booleanProtoFuncToString):
(JSC::booleanProtoFuncValueOf):

  • runtime/DateConstructor.cpp:

(JSC::callDate):
(JSC::dateParse):
(JSC::dateNow):
(JSC::dateUTC):

  • runtime/DatePrototype.cpp:

(JSC::formatLocaleDate):
(JSC::fillStructuresUsingTimeArgs):
(JSC::fillStructuresUsingDateArgs):
(JSC::dateProtoFuncToString):
(JSC::dateProtoFuncToUTCString):
(JSC::dateProtoFuncToISOString):
(JSC::dateProtoFuncToDateString):
(JSC::dateProtoFuncToTimeString):
(JSC::dateProtoFuncToLocaleString):
(JSC::dateProtoFuncToLocaleDateString):
(JSC::dateProtoFuncToLocaleTimeString):
(JSC::dateProtoFuncGetTime):
(JSC::dateProtoFuncGetFullYear):
(JSC::dateProtoFuncGetUTCFullYear):
(JSC::dateProtoFuncToGMTString):
(JSC::dateProtoFuncGetMonth):
(JSC::dateProtoFuncGetUTCMonth):
(JSC::dateProtoFuncGetDate):
(JSC::dateProtoFuncGetUTCDate):
(JSC::dateProtoFuncGetDay):
(JSC::dateProtoFuncGetUTCDay):
(JSC::dateProtoFuncGetHours):
(JSC::dateProtoFuncGetUTCHours):
(JSC::dateProtoFuncGetMinutes):
(JSC::dateProtoFuncGetUTCMinutes):
(JSC::dateProtoFuncGetSeconds):
(JSC::dateProtoFuncGetUTCSeconds):
(JSC::dateProtoFuncGetMilliSeconds):
(JSC::dateProtoFuncGetUTCMilliseconds):
(JSC::dateProtoFuncGetTimezoneOffset):
(JSC::dateProtoFuncSetTime):
(JSC::setNewValueFromTimeArgs):
(JSC::setNewValueFromDateArgs):
(JSC::dateProtoFuncSetMilliSeconds):
(JSC::dateProtoFuncSetUTCMilliseconds):
(JSC::dateProtoFuncSetSeconds):
(JSC::dateProtoFuncSetUTCSeconds):
(JSC::dateProtoFuncSetMinutes):
(JSC::dateProtoFuncSetUTCMinutes):
(JSC::dateProtoFuncSetHours):
(JSC::dateProtoFuncSetUTCHours):
(JSC::dateProtoFuncSetDate):
(JSC::dateProtoFuncSetUTCDate):
(JSC::dateProtoFuncSetMonth):
(JSC::dateProtoFuncSetUTCMonth):
(JSC::dateProtoFuncSetFullYear):
(JSC::dateProtoFuncSetUTCFullYear):
(JSC::dateProtoFuncSetYear):
(JSC::dateProtoFuncGetYear):
(JSC::dateProtoFuncToJSON):

  • runtime/ErrorConstructor.cpp:

(JSC::callErrorConstructor):

  • runtime/ErrorPrototype.cpp:

(JSC::errorProtoFuncToString):

  • runtime/FunctionConstructor.cpp:

(JSC::callFunctionConstructor):

  • runtime/FunctionPrototype.cpp:

(JSC::callFunctionPrototype):
(JSC::functionProtoFuncToString):
(JSC::functionProtoFuncApply):
(JSC::functionProtoFuncCall):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::encode):
(JSC::decode):
(JSC::globalFuncEval):
(JSC::globalFuncParseInt):
(JSC::globalFuncParseFloat):
(JSC::globalFuncIsNaN):
(JSC::globalFuncIsFinite):
(JSC::globalFuncDecodeURI):
(JSC::globalFuncDecodeURIComponent):
(JSC::globalFuncEncodeURI):
(JSC::globalFuncEncodeURIComponent):
(JSC::globalFuncEscape):
(JSC::globalFuncUnescape):
(JSC::globalFuncJSCPrint):

  • runtime/JSGlobalObjectFunctions.h:
  • runtime/JSONObject.cpp:

(JSC::JSONProtoFuncParse):
(JSC::JSONProtoFuncStringify):

  • runtime/JSString.h:
  • runtime/MathObject.cpp:

(JSC::mathProtoFuncAbs):
(JSC::mathProtoFuncACos):
(JSC::mathProtoFuncASin):
(JSC::mathProtoFuncATan):
(JSC::mathProtoFuncATan2):
(JSC::mathProtoFuncCeil):
(JSC::mathProtoFuncCos):
(JSC::mathProtoFuncExp):
(JSC::mathProtoFuncFloor):
(JSC::mathProtoFuncLog):
(JSC::mathProtoFuncMax):
(JSC::mathProtoFuncMin):
(JSC::mathProtoFuncPow):
(JSC::mathProtoFuncRandom):
(JSC::mathProtoFuncRound):
(JSC::mathProtoFuncSin):
(JSC::mathProtoFuncSqrt):
(JSC::mathProtoFuncTan):

  • runtime/NativeErrorConstructor.cpp:

(JSC::callNativeErrorConstructor):

  • runtime/NumberConstructor.cpp:

(JSC::callNumberConstructor):

  • runtime/NumberPrototype.cpp:

(JSC::numberProtoFuncToString):
(JSC::numberProtoFuncToLocaleString):
(JSC::numberProtoFuncValueOf):
(JSC::numberProtoFuncToFixed):
(JSC::numberProtoFuncToExponential):
(JSC::numberProtoFuncToPrecision):

  • runtime/ObjectConstructor.cpp:

(JSC::callObjectConstructor):
(JSC::objectConstructorGetPrototypeOf):
(JSC::objectConstructorGetOwnPropertyDescriptor):
(JSC::objectConstructorGetOwnPropertyNames):
(JSC::objectConstructorKeys):
(JSC::objectConstructorDefineProperty):
(JSC::objectConstructorDefineProperties):
(JSC::objectConstructorCreate):

  • runtime/ObjectPrototype.cpp:

(JSC::objectProtoFuncValueOf):
(JSC::objectProtoFuncHasOwnProperty):
(JSC::objectProtoFuncIsPrototypeOf):
(JSC::objectProtoFuncDefineGetter):
(JSC::objectProtoFuncDefineSetter):
(JSC::objectProtoFuncLookupGetter):
(JSC::objectProtoFuncLookupSetter):
(JSC::objectProtoFuncPropertyIsEnumerable):
(JSC::objectProtoFuncToLocaleString):
(JSC::objectProtoFuncToString):

  • runtime/ObjectPrototype.h:
  • runtime/Operations.h:

(JSC::jsString):

  • runtime/RegExpConstructor.cpp:

(JSC::callRegExpConstructor):

  • runtime/RegExpObject.cpp:

(JSC::RegExpObject::test):
(JSC::RegExpObject::exec):
(JSC::callRegExpObject):
(JSC::RegExpObject::match):

  • runtime/RegExpObject.h:
  • runtime/RegExpPrototype.cpp:

(JSC::regExpProtoFuncTest):
(JSC::regExpProtoFuncExec):
(JSC::regExpProtoFuncCompile):
(JSC::regExpProtoFuncToString):

  • runtime/StringConstructor.cpp:

(JSC::stringFromCharCodeSlowCase):
(JSC::stringFromCharCode):
(JSC::callStringConstructor):

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncReplace):
(JSC::stringProtoFuncToString):
(JSC::stringProtoFuncCharAt):
(JSC::stringProtoFuncCharCodeAt):
(JSC::stringProtoFuncConcat):
(JSC::stringProtoFuncIndexOf):
(JSC::stringProtoFuncLastIndexOf):
(JSC::stringProtoFuncMatch):
(JSC::stringProtoFuncSearch):
(JSC::stringProtoFuncSlice):
(JSC::stringProtoFuncSplit):
(JSC::stringProtoFuncSubstr):
(JSC::stringProtoFuncSubstring):
(JSC::stringProtoFuncToLowerCase):
(JSC::stringProtoFuncToUpperCase):
(JSC::stringProtoFuncLocaleCompare):
(JSC::stringProtoFuncBig):
(JSC::stringProtoFuncSmall):
(JSC::stringProtoFuncBlink):
(JSC::stringProtoFuncBold):
(JSC::stringProtoFuncFixed):
(JSC::stringProtoFuncItalics):
(JSC::stringProtoFuncStrike):
(JSC::stringProtoFuncSub):
(JSC::stringProtoFuncSup):
(JSC::stringProtoFuncFontcolor):
(JSC::stringProtoFuncFontsize):
(JSC::stringProtoFuncAnchor):
(JSC::stringProtoFuncLink):
(JSC::stringProtoFuncTrim):
(JSC::stringProtoFuncTrimLeft):
(JSC::stringProtoFuncTrimRight):

JavaScriptGlue: Simplified the host calling convention.

Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.

PART ONE: Functional code changes.

[ None in JavaScriptGlue ]

PART TWO: Global search and replace.

In the areas below, I used global search-and-replace to change

(ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
args.size() => exec->argumentCount()
args.at(i) => exec->argument(i)

  • JSObject.cpp:

(nativeCallFunction):

  • UserObjectImp.cpp:

(UserObjectImp::callAsFunction):

  • UserObjectImp.h:

WebCore: Simplified the host calling convention.

Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.

PART ONE: Functional code changes.

[ None in WebCore ]

PART TWO: Global search and replace.

In the areas below, I used global search-and-replace to change

(ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
args.size() => exec->argumentCount()
args.at(i) => exec->argument(i)

  • bindings/js/JSArrayBufferViewCustom.cpp:

(WebCore::JSArrayBufferView::slice):

  • bindings/js/JSArrayBufferViewHelper.h:

(WebCore::setWebGLArrayHelper):

  • bindings/js/JSCanvasRenderingContext2DCustom.cpp:

(WebCore::JSCanvasRenderingContext2D::setFillColor):
(WebCore::JSCanvasRenderingContext2D::setStrokeColor):
(WebCore::JSCanvasRenderingContext2D::strokeRect):
(WebCore::JSCanvasRenderingContext2D::drawImage):
(WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
(WebCore::JSCanvasRenderingContext2D::setShadow):
(WebCore::JSCanvasRenderingContext2D::createPattern):
(WebCore::JSCanvasRenderingContext2D::createImageData):
(WebCore::JSCanvasRenderingContext2D::putImageData):
(WebCore::JSCanvasRenderingContext2D::fillText):
(WebCore::JSCanvasRenderingContext2D::strokeText):

  • bindings/js/JSClipboardCustom.cpp:

(WebCore::JSClipboard::clearData):
(WebCore::JSClipboard::getData):
(WebCore::JSClipboard::setDragImage):

  • bindings/js/JSDOMApplicationCacheCustom.cpp:

(WebCore::JSDOMApplicationCache::hasItem):
(WebCore::JSDOMApplicationCache::add):
(WebCore::JSDOMApplicationCache::remove):

  • bindings/js/JSDOMFormDataCustom.cpp:

(WebCore::JSDOMFormData::append):

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::open):
(WebCore::JSDOMWindow::showModalDialog):
(WebCore::JSDOMWindow::postMessage):
(WebCore::JSDOMWindow::setTimeout):
(WebCore::JSDOMWindow::setInterval):
(WebCore::JSDOMWindow::addEventListener):
(WebCore::JSDOMWindow::removeEventListener):
(WebCore::JSDOMWindow::openDatabase):

  • bindings/js/JSDatabaseCustom.cpp:

(WebCore::JSDatabase::changeVersion):
(WebCore::createTransaction):
(WebCore::JSDatabase::transaction):
(WebCore::JSDatabase::readTransaction):

  • bindings/js/JSDatabaseSyncCustom.cpp:

(WebCore::JSDatabaseSync::changeVersion):
(WebCore::createTransaction):
(WebCore::JSDatabaseSync::transaction):
(WebCore::JSDatabaseSync::readTransaction):

  • bindings/js/JSDedicatedWorkerContextCustom.cpp:

(WebCore::JSDedicatedWorkerContext::postMessage):

  • bindings/js/JSDesktopNotificationsCustom.cpp:

(WebCore::JSNotificationCenter::requestPermission):

  • bindings/js/JSFloatArrayCustom.cpp:

(WebCore::JSFloatArray::set):

  • bindings/js/JSGeolocationCustom.cpp:

(WebCore::JSGeolocation::getCurrentPosition):
(WebCore::JSGeolocation::watchPosition):

  • bindings/js/JSHTMLAllCollectionCustom.cpp:

(WebCore::callHTMLAllCollection):
(WebCore::JSHTMLAllCollection::item):
(WebCore::JSHTMLAllCollection::namedItem):

  • bindings/js/JSHTMLCanvasElementCustom.cpp:

(WebCore::JSHTMLCanvasElement::getContext):

  • bindings/js/JSHTMLCollectionCustom.cpp:

(WebCore::callHTMLCollection):
(WebCore::JSHTMLCollection::item):
(WebCore::JSHTMLCollection::namedItem):

  • bindings/js/JSHTMLDocumentCustom.cpp:

(WebCore::JSHTMLDocument::open):
(WebCore::documentWrite):
(WebCore::JSHTMLDocument::write):
(WebCore::JSHTMLDocument::writeln):

  • bindings/js/JSHTMLInputElementCustom.cpp:

(WebCore::JSHTMLInputElement::setSelectionRange):

  • bindings/js/JSHTMLOptionsCollectionCustom.cpp:

(WebCore::JSHTMLOptionsCollection::add):
(WebCore::JSHTMLOptionsCollection::remove):

  • bindings/js/JSHTMLSelectElementCustom.cpp:

(WebCore::JSHTMLSelectElement::remove):

  • bindings/js/JSHistoryCustom.cpp:

(WebCore::JSHistory::pushState):
(WebCore::JSHistory::replaceState):

  • bindings/js/JSInjectedScriptHostCustom.cpp:

(WebCore::JSInjectedScriptHost::databaseForId):
(WebCore::JSInjectedScriptHost::currentCallFrame):
(WebCore::JSInjectedScriptHost::nodeForId):
(WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
(WebCore::JSInjectedScriptHost::selectDatabase):
(WebCore::JSInjectedScriptHost::selectDOMStorage):
(WebCore::JSInjectedScriptHost::reportDidDispatchOnInjectedScript):

  • bindings/js/JSInspectorFrontendHostCustom.cpp:

(WebCore::JSInspectorFrontendHost::platform):
(WebCore::JSInspectorFrontendHost::port):
(WebCore::JSInspectorFrontendHost::showContextMenu):

  • bindings/js/JSInt16ArrayCustom.cpp:

(WebCore::JSInt16Array::set):

  • bindings/js/JSInt32ArrayCustom.cpp:

(WebCore::JSInt32Array::set):

  • bindings/js/JSInt8ArrayCustom.cpp:

(WebCore::JSInt8Array::set):

  • bindings/js/JSJavaScriptCallFrameCustom.cpp:

(WebCore::JSJavaScriptCallFrame::evaluate):
(WebCore::JSJavaScriptCallFrame::scopeType):

  • bindings/js/JSLocationCustom.cpp:

(WebCore::JSLocation::replace):
(WebCore::JSLocation::reload):
(WebCore::JSLocation::assign):
(WebCore::JSLocation::toString):

  • bindings/js/JSMessageEventCustom.cpp:

(WebCore::JSMessageEvent::initMessageEvent):

  • bindings/js/JSMessagePortCustom.cpp:

(WebCore::JSMessagePort::postMessage):

  • bindings/js/JSMessagePortCustom.h:

(WebCore::handlePostMessage):

  • bindings/js/JSNodeCustom.cpp:

(WebCore::JSNode::insertBefore):
(WebCore::JSNode::replaceChild):
(WebCore::JSNode::removeChild):
(WebCore::JSNode::appendChild):

  • bindings/js/JSNodeListCustom.cpp:

(WebCore::callNodeList):

  • bindings/js/JSPluginElementFunctions.cpp:

(WebCore::callPlugin):

  • bindings/js/JSSQLResultSetRowListCustom.cpp:

(WebCore::JSSQLResultSetRowList::item):

  • bindings/js/JSSQLTransactionCustom.cpp:

(WebCore::JSSQLTransaction::executeSql):

  • bindings/js/JSSQLTransactionSyncCustom.cpp:

(WebCore::JSSQLTransactionSync::executeSql):

  • bindings/js/JSSVGLengthCustom.cpp:

(WebCore::JSSVGLength::convertToSpecifiedUnits):

  • bindings/js/JSSVGMatrixCustom.cpp:

(WebCore::JSSVGMatrix::multiply):
(WebCore::JSSVGMatrix::inverse):
(WebCore::JSSVGMatrix::rotateFromVector):

  • bindings/js/JSSVGPODListCustom.h:

(WebCore::JSSVGPODListCustom::clear):
(WebCore::JSSVGPODListCustom::initialize):
(WebCore::JSSVGPODListCustom::getItem):
(WebCore::JSSVGPODListCustom::insertItemBefore):
(WebCore::JSSVGPODListCustom::replaceItem):
(WebCore::JSSVGPODListCustom::removeItem):
(WebCore::JSSVGPODListCustom::appendItem):

  • bindings/js/JSSVGPathSegListCustom.cpp:

(WebCore::JSSVGPathSegList::clear):
(WebCore::JSSVGPathSegList::initialize):
(WebCore::JSSVGPathSegList::getItem):
(WebCore::JSSVGPathSegList::insertItemBefore):
(WebCore::JSSVGPathSegList::replaceItem):
(WebCore::JSSVGPathSegList::removeItem):
(WebCore::JSSVGPathSegList::appendItem):

  • bindings/js/JSUint16ArrayCustom.cpp:

(WebCore::JSUint16Array::set):

  • bindings/js/JSUint32ArrayCustom.cpp:

(WebCore::JSUint32Array::set):

  • bindings/js/JSUint8ArrayCustom.cpp:

(WebCore::JSUint8Array::set):

  • bindings/js/JSWebGLRenderingContextCustom.cpp:

(WebCore::JSWebGLRenderingContext::bufferData):
(WebCore::JSWebGLRenderingContext::bufferSubData):
(WebCore::getObjectParameter):
(WebCore::JSWebGLRenderingContext::getBufferParameter):
(WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
(WebCore::JSWebGLRenderingContext::getParameter):
(WebCore::JSWebGLRenderingContext::getProgramParameter):
(WebCore::JSWebGLRenderingContext::getRenderbufferParameter):
(WebCore::JSWebGLRenderingContext::getShaderParameter):
(WebCore::JSWebGLRenderingContext::getTexParameter):
(WebCore::JSWebGLRenderingContext::getUniform):
(WebCore::JSWebGLRenderingContext::getVertexAttrib):
(WebCore::JSWebGLRenderingContext::texImage2D):
(WebCore::JSWebGLRenderingContext::texSubImage2D):
(WebCore::dataFunctionf):
(WebCore::dataFunctioni):
(WebCore::dataFunctionMatrix):
(WebCore::JSWebGLRenderingContext::uniform1fv):
(WebCore::JSWebGLRenderingContext::uniform1iv):
(WebCore::JSWebGLRenderingContext::uniform2fv):
(WebCore::JSWebGLRenderingContext::uniform2iv):
(WebCore::JSWebGLRenderingContext::uniform3fv):
(WebCore::JSWebGLRenderingContext::uniform3iv):
(WebCore::JSWebGLRenderingContext::uniform4fv):
(WebCore::JSWebGLRenderingContext::uniform4iv):
(WebCore::JSWebGLRenderingContext::uniformMatrix2fv):
(WebCore::JSWebGLRenderingContext::uniformMatrix3fv):
(WebCore::JSWebGLRenderingContext::uniformMatrix4fv):
(WebCore::JSWebGLRenderingContext::vertexAttrib1fv):
(WebCore::JSWebGLRenderingContext::vertexAttrib2fv):
(WebCore::JSWebGLRenderingContext::vertexAttrib3fv):
(WebCore::JSWebGLRenderingContext::vertexAttrib4fv):

  • bindings/js/JSWebSocketCustom.cpp:

(WebCore::JSWebSocket::send):

  • bindings/js/JSWorkerContextCustom.cpp:

(WebCore::JSWorkerContext::importScripts):
(WebCore::JSWorkerContext::setTimeout):
(WebCore::JSWorkerContext::setInterval):
(WebCore::JSWorkerContext::openDatabase):
(WebCore::JSWorkerContext::openDatabaseSync):

  • bindings/js/JSWorkerCustom.cpp:

(WebCore::JSWorker::postMessage):

  • bindings/js/JSXMLHttpRequestCustom.cpp:

(WebCore::JSXMLHttpRequest::open):
(WebCore::JSXMLHttpRequest::send):

  • bindings/js/JSXSLTProcessorCustom.cpp:

(WebCore::JSXSLTProcessor::importStylesheet):
(WebCore::JSXSLTProcessor::transformToFragment):
(WebCore::JSXSLTProcessor::transformToDocument):
(WebCore::JSXSLTProcessor::setParameter):
(WebCore::JSXSLTProcessor::getParameter):
(WebCore::JSXSLTProcessor::removeParameter):

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::create):
(WebCore::ScheduledAction::ScheduledAction):

  • bindings/js/ScheduledAction.h:
  • bindings/js/ScriptCallFrame.cpp:

(WebCore::ScriptCallFrame::ScriptCallFrame):

  • bindings/js/ScriptCallFrame.h:
  • bindings/js/ScriptCallStack.cpp:

(WebCore::ScriptCallStack::ScriptCallStack):
(WebCore::ScriptCallStack::initialize):

  • bindings/js/ScriptCallStack.h:
  • bindings/scripts/CodeGeneratorJS.pm:
  • bridge/c/c_instance.cpp:

(JSC::Bindings::CInstance::invokeMethod):
(JSC::Bindings::CInstance::invokeDefaultMethod):

  • bridge/c/c_instance.h:
  • bridge/jni/jsc/JavaInstanceJSC.cpp:

(JavaInstance::invokeMethod):

  • bridge/jni/jsc/JavaInstanceJSC.h:
  • bridge/jsc/BridgeJSC.h:

(JSC::Bindings::Instance::invokeDefaultMethod):

  • bridge/objc/objc_instance.h:
  • bridge/objc/objc_instance.mm:

(ObjcInstance::invokeMethod):
(ObjcInstance::invokeObjcMethod):
(ObjcInstance::invokeDefaultMethod):

  • bridge/objc/objc_runtime.mm:

(JSC::Bindings::callObjCFallbackObject):

  • bridge/runtime_method.cpp:

(JSC::callRuntimeMethod):

  • bridge/runtime_object.cpp:

(JSC::Bindings::callRuntimeObject):

WebKit/mac: Simplified the host calling convention.

Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.

PART ONE: Functional code changes.

[ None in WebKit ]

PART TWO: Global search and replace.

In the areas below, I used global search-and-replace to change

(ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
args.size() => exec->argumentCount()
args.at(i) => exec->argument(i)

  • Plugins/Hosted/ProxyInstance.h:
  • Plugins/Hosted/ProxyInstance.mm:

(WebKit::ProxyInstance::invoke):
(WebKit::ProxyInstance::invokeMethod):
(WebKit::ProxyInstance::invokeDefaultMethod):

LayoutTests: Simplified the host calling convention.

Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.

Changed these results to expect to fail to stringify their exception
objects in the case of stack overflow. (Standardizing the calling
convention has implicitly added stack overflow checks to some places
where they used to be missing.)

In a future patch, I plan to implement a more reliable way to stringify
exceptions without invoking a JS function. For now, though, it seems best
to match other test results, instead of silently overflowing the stack.

  • fast/js/global-recursion-on-full-stack-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-recursive-sync-event-expected.txt:
11:27 PM Changeset in webkit [60391] by eric@webkit.org
  • 7 edits in trunk

2010-05-28 Stephen White <senorblanco@chromium.org>

Reviewed by Darin Fisher.

[CHROMIUM] Chromium port should support image interpolation quality
https://bugs.webkit.org/show_bug.cgi?id=38686

  • platform/chromium/test_expectations.txt: Add failure expectations for resizing-based tests, so they can be rebaselined by the bots.

2010-05-28 Stephen White <senorblanco@chromium.org>

Reviewed by Darin Fisher.

Implement GraphicsContext::setImageInterpolation() for the Chromium
port. This is preparatory work for bug 38233. A number of
background-resize tests will need a rebaseline, since the images are
taken during the initial "low quality" phase (<800ms).

[CHROMIUM] Chromium port should support image interpolation quality
https://bugs.webkit.org/show_bug.cgi?id=38686

Covered by fast/backgrounds/size/backgroundSize15.html, and others.

  • platform/graphics/skia/GraphicsContextSkia.cpp: Implement WebCore::GraphicsContext::setImageInterpolationQuality.
  • platform/graphics/skia/ImageSkia.cpp: (WebCore::computeResamplingMode): Only enable high quality interpolation if it has been requested in the GraphicsContext. (WebCore::drawResampledBitmap): Enable cacheing of resampled images even if the size is not full (fix from Brett Wilson). (WebCore::paintSkBitmap): Pass in the PlatformContextSkia to computeResamplingMode, so it can query it for interpolation quality. (WebCore::Image::drawPattern): Ibid.
  • platform/graphics/skia/PlatformContextSkia.cpp: (PlatformContextSkia::State::State): (PlatformContextSkia::interpolationQuality): (PlatformContextSkia::setInterpolationQuality):
  • platform/graphics/skia/PlatformContextSkia.h: Add a member fn and accessors to retain the image interpolation quality in the platform context, and to save/restore it with the state.
11:16 PM Changeset in webkit [60390] by eric@webkit.org
  • 5 edits in trunk/JavaScriptCore

2010-05-28 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>

Reviewed by Geoffrey Garen.

Fix the JSObjectSetPrototype function.

A cycle in a prototype chain can cause an application hang or
even crash.
A check for a prototype chain cycles was added to
the JSObjectSetPrototype.

JSObjectSetPrototype doesn't check for cycle in prototype chain.
https://bugs.webkit.org/show_bug.cgi?id=39360

  • API/JSObjectRef.cpp: (JSObjectSetPrototype):
  • API/tests/testapi.c: (assertTrue): (checkForCycleInPrototypeChain): (main):
  • runtime/JSObject.cpp: (JSC::JSObject::put):
  • runtime/JSObject.h: (JSC::JSObject::setPrototypeWithCycleCheck):
10:54 PM Changeset in webkit [60389] by eric@webkit.org
  • 4 edits in trunk

2010-05-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>

Reviewed by Kenneth Rohde Christiansen.

[EFL] Remove compiler warnings about uninitialized variable.
https://bugs.webkit.org/show_bug.cgi?id=39871

No new tests, just cosmetic changes.

  • platform/efl/WidgetEfl.cpp: (WebCore::Widget::applyCursor):

2010-05-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>

Reviewed by Kenneth Rohde Christiansen.

[EF] Remove compiler warnings and add test for switching page
encoding.
https://bugs.webkit.org/show_bug.cgi?id=39871

  • efl/EWebLauncher/main.c: (print_history): (on_key_down): (main):
10:30 PM Changeset in webkit [60388] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Skip new test introduced in r60386, because of
missing layoutTestController.evaluateScriptInIsolatedWorld()

  • platform/qt/Skipped: storage/transaction-success-callback-isolated-world.html skipped.
9:02 PM BuildingQtOnLinux edited by morrita@google.com
(diff)
8:45 PM Changeset in webkit [60387] by eric@webkit.org
  • 17 edits
    6 copies
    14 adds in trunk/LayoutTests

2010-05-28 Eric Uhrhane <ericu@chromium.org>

Reviewed by Dmitry Titov.

Refactor DB layout tests so that they work in Web Workers as well as Pages.
This is a big set of ports, but there are still more to come.
In general, this is all just trivial changes. For each test file, I pull out the meat into a .js file [with no functional changes]. Then I include that from both the DOM test and a new worker test; in both cases, the .html files are trivial wrappers. All boilerplate code is pulled out into the resource files.

In a couple of these tests, there were try/catch wrappers that suppressed errors. I don't see why you'd want to do that in a test; let's let those errors cause test failures, then fix them. I took out the wrappers and saw no difference in behavior.

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

  • fast/workers/storage/multiple-databases-garbage-collection-expected.txt: Added.
  • fast/workers/storage/multiple-databases-garbage-collection.html: Added.
  • fast/workers/storage/multiple-transactions-expected.txt: Added.
  • fast/workers/storage/multiple-transactions.html: Added.
  • fast/workers/storage/multiple-transactions-on-different-handles-expected.txt: Added.
  • fast/workers/storage/multiple-transactions-on-different-handles.html: Added.
  • fast/workers/storage/change-version-handle-reuse-worker.html: Pulled out even more boilerplate.
  • fast/workers/storage/execute-sql-args-worker.html: Pulled out even more boilerplate.
  • fast/workers/storage/resources/database-worker-controller: Here's where the boilerplate went.
  • fast/workers/storage/resources/database-worker.js:
  • storage/multiple-databases-garbage-collection.html:
  • storage/multiple-databases-garbage-collection.js: Added.
  • storage/multiple-transactions-on-different-handles.html:
  • storage/multiple-transactions-on-different-handles.js: Added.
  • storage/multiple-transactions.html:
  • storage/multiple-transactions.js: Added.
  • storage/hash-change-with-xhr-expected.txt: Trivial whitespace change.
  • storage/hash-change-with-xhr.html:
  • storage/hash-change-with-xhr.js: Added.
  • storage/open-database-while-transaction-in-progress.html:
  • storage/open-database-while-transaction-in-progress.js: Added.
  • storage/read-and-write-transactions-dont-run-together.html:
  • storage/read-and-write-transactions-dont-run-together.js: Added.
  • storage/test-authorizer.html:
  • storage/test-authorizer.js: Added. I made a small common include for all the non-worker tests to remove a little boilerplate.
  • storage/resources/database-common.js: Added. These two tests had already been ported to workers; I updated them to use the common include file.
  • storage/change-version-handle-reuse.html:
  • storage/execute-sql-args.html:
  • fast/workers/storage/open-database-while-transaction-in-progress-expected.txt: Added.
  • fast/workers/storage/open-database-while-transaction-in-progress.html: Added.
  • fast/workers/storage/read-and-write-transactions-dont-run-together-expected.txt: Added.
  • fast/workers/storage/read-and-write-transactions-dont-run-together.html: Added.
  • fast/workers/storage/test-authorizer-expected.txt: Added.
  • fast/workers/storage/test-authorizer.html: Added.
8:33 PM Changeset in webkit [60386] by eric@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

2010-05-28 Eric Uhrhane <ericu@chromium.org>

Reviewed by Dmitry Titov.

We don't test the async DB success callback in an isolated world.
https://bugs.webkit.org/show_bug.cgi?id=39849

This pretty much a copy of transaction-error-callback-isolated-world.html.

  • storage/transaction-success-callback-isolated-world-expected.txt: Added.
  • storage/transaction-success-callback-isolated-world.html: Added.
8:21 PM Changeset in webkit [60385] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-05-28 Vangelis Kokkevis <vangelis@chromium.org>

Reviewed by Dimitri Glazkov.

Prevent chromium composited layers from rendering on top of the scrollbars.
https://bugs.webkit.org/show_bug.cgi?id=39851

  • platform/graphics/chromium/LayerRendererChromium.cpp: (WebCore::LayerRendererChromium::drawLayers):
8:06 PM Changeset in webkit [60384] by eric@webkit.org
  • 4 edits in trunk/WebKitTools

2010-05-28 Adam Barth <abarth@webkit.org>

Reviewed by David Levin.

webkit-patch should support CHANGE_LOG_EDIT_APPLICATION
https://bugs.webkit.org/show_bug.cgi?id=39546

One sublty is that we want to wait for the user to finish editing the
ChangeLog before moving on to the next step. That means we want to pass
-W to open. However, if the user is using Xcode to edit the ChangeLog,
we don't want them to have to exit the Xcode application. For this reason,
we create a new instance of the application with -n.

Overall, xed seems like a better solution, so we recommend that too.

  • Scripts/webkitpy/common/system/user.py:
  • Scripts/webkitpy/tool/mocktool.py:
  • Scripts/webkitpy/tool/steps/editchangelog.py:
7:54 PM Changeset in webkit [60383] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

2010-05-28 Chao-ying Fu <fu@mips.com>

Reviewed by Eric Seidel.

Fix MIPS JIT DoubleGreaterThanOrEqual Operands
https://bugs.webkit.org/show_bug.cgi?id=39504

Swapped two operands of left and right for DoubleGreaterThanOrEqual.
This patch fixed two layout tests as follows.
fast/js/comparison-operators-greater.html
fast/js/comparison-operators-less.html

  • assembler/MacroAssemblerMIPS.h: (JSC::MacroAssemblerMIPS::branchDouble):
5:40 PM Changeset in webkit [60382] by sullivan@apple.com
  • 2 edits in trunk/WebKit2

Add a using declaration for AdoptWK to match the one just added for WKRetainPtr.

Rubber-stamped by Dan Bernstein.

  • UIProcess/API/cpp/WKRetainPtr.h:
5:24 PM UsingGitWithWebKit edited by ojan@chromium.org
(diff)
5:14 PM Changeset in webkit [60381] by dpranke@chromium.org
  • 6 edits in trunk/WebKitTools

2010-05-21 Dirk Pranke <dpranke@chromium.org>

Reviewed by Ojan Vafai.

new-run-webkit-tests: fix handling of Ctrl-C to exit even if some
threads are wedged. Also, the script will print the results of the
tests completed when the interrupt occurs.

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

  • Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
  • Scripts/webkitpy/layout_tests/layout_package/printing.py:
  • Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py:
  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:
4:52 PM Changeset in webkit [60380] by Darin Adler
  • 6 edits in trunk/WebKitTools

Ignore more Python messiness.

  • Scripts/webkitpy/layout_tests/data/platform/test: Added property svn:ignore.
  • Scripts/webkitpy/layout_tests/layout_package: Added property svn:ignore.
  • Scripts/webkitpy/layout_tests/test_types: Added property svn:ignore.
  • Scripts/webkitpy/test: Added property svn:ignore.
  • Scripts/webkitpy/thirdparty/simplejson: Added property svn:ignore.
4:02 PM Changeset in webkit [60379] by weinig@apple.com
  • 2 edits in trunk/WebKit2

Add a using declaration for WKRetainPtr matching what we do for our
other smart pointers and fix the destructor.

Reviewed by Anders Carlsson.

  • UIProcess/API/cpp/WKRetainPtr.h:

(WebKit::WKRetainPtr::~WKRetainPtr):

3:51 PM Changeset in webkit [60378] by barraclough@apple.com
  • 4 edits in trunk/JavaScriptCore

Move jit compilation from linking thunks into cti_vm_lazyLink methods.

Reviewed by Geoff Garen.

  • jit/JITOpcodes.cpp:

(JSC::JIT::privateCompileCTIMachineTrampolines):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::privateCompileCTIMachineTrampolines):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

3:42 PM Changeset in webkit [60377] by aa@chromium.org
  • 5 edits in trunk

2010-05-28 Aaron Boodman <aa@chromium.org>

Reviewed by Darin Fisher.

Added isXHTMLDocument() to WebCore::Document.

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

  • dom/Document.h: Add isXHTMLDocument(). (WebCore::Document::isXHTMLDocument): Ditto.

2010-05-28 Aaron Boodman <aa@chromium.org>

Reviewed by Darin Fisher.

Add isXHTMLDocument() to WebDocument.

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

  • public/WebDocument.h: Add isXHTMLDocument().
  • src/WebDocument.cpp: ditto. (WebKit::WebDocument::isXHTMLDocument): dittorama.
2:18 PM Changeset in webkit [60376] by barraclough@apple.com
  • 9 edits in trunk/JavaScriptCore

Bug 39898 - Move arity check into callee.

Reviewed by Sam Weinig.

We can reduce the size of the virtual call trampolines by moving the arity check
into the callee functions. As a following step we will be able to remove the
check for native function / codeblocks by performing translation in a lazy stub.

  • interpreter/CallFrame.h:

(JSC::ExecState::init):
(JSC::ExecState::setReturnPC):

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):
(JSC::JIT::linkCall):
(JSC::JIT::linkConstruct):

  • jit/JIT.h:

(JSC::JIT::compile):

  • jit/JITOpcodes.cpp:

(JSC::JIT::privateCompileCTIMachineTrampolines):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::privateCompileCTIMachineTrampolines):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • runtime/Executable.cpp:

(JSC::FunctionExecutable::generateJITCodeForCall):
(JSC::FunctionExecutable::generateJITCodeForConstruct):
(JSC::FunctionExecutable::reparseExceptionInfo):

  • runtime/Executable.h:

(JSC::NativeExecutable::NativeExecutable):
(JSC::FunctionExecutable::generatedJITCodeForCallWithArityCheck):
(JSC::FunctionExecutable::generatedJITCodeForConstructWithArityCheck):

2:15 PM Changeset in webkit [60375] by pkasting@chromium.org
  • 7 edits
    4 moves in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=39857
Make GIFs loop the correct number of times. Previously, everyone looped
one time too few for non-infinitely-looping GIFs.

Reviewed by Darin Adler.

Modified a Qt manual test to be correct and moved it to the general
manual test directory.

  • manual-tests/animated-gif-looping.html: Copied from WebCore/manual-tests/qt/qt-gif-test.html.
  • manual-tests/qt/qt-10loop-anim.gif: Removed.
  • manual-tests/qt/qt-anim.gif: Removed.
  • manual-tests/qt/qt-gif-test.html: Removed.
  • manual-tests/qt/qt-noanim.gif: Removed.
  • manual-tests/resources/animated-10x.gif: Copied from WebCore/manual-tests/qt/qt-10loop-anim.gif and modified.
  • manual-tests/resources/animated-infinite.gif: Copied from WebCore/manual-tests/qt/qt-anim.gif.
  • manual-tests/resources/non-animated.gif: Copied from WebCore/manual-tests/qt/qt-noanim.gif.
  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::internalAdvanceAnimation): For a loop count of n, show a total of n + 1 animation cycles.

  • platform/graphics/ImageSource.h:
  • platform/graphics/cg/ImageSourceCG.cpp:

(WebCore::ImageSource::repetitionCount):

  • platform/graphics/qt/ImageDecoderQt.cpp:

(WebCore::ImageDecoderQt::repetitionCount): Remove translation code now that WebCore matches Qt's internal handling of the loop count. Qt itself may still have a bug here.

  • platform/image-decoders/gif/GIFImageDecoder.cpp:

(WebCore::GIFImageDecoder::repetitionCount):

  • platform/image-decoders/gif/GIFImageReader.cpp:

(GIFImageReader::read): Translate loop count 0 to "loop infinitely" (by restoring one piece of the Mozilla code we'd removed).

1:07 PM Changeset in webkit [60374] by benm@google.com
  • 2 edits in trunk/WebCore

openFile(...) in FIleSystemPOSIX does not call fileSystemRepresentation
https://bugs.webkit.org/show_bug.cgi?id=39882

Reviewed by Darin Adler.

No new tests. Existing tests in fast/files should suffice.

  • platform/posix/FileSystemPOSIX.cpp:

(WebCore::openFile): pass the path parameter through fileSystemRepresentation before using it.

12:17 PM Changeset in webkit [60373] by Chris Fleizach
  • 2 edits in trunk/WebKitTools

Adding myself as a reviewer.

Reviewed by Beth Dakin.

  • Scripts/webkitpy/common/config/committers.py:
12:11 PM WebKit Team edited by Chris Fleizach
(diff)
12:10 PM WebKit Team edited by Chris Fleizach
(diff)
11:45 AM Changeset in webkit [60372] by Chris Fleizach
  • 2 edits in trunk/WebKitTools

Build fix. No review.

AX: need to catch NSAccessibilityExceptions in DRT
https://bugs.webkit.org/show_bug.cgi?id=39881

It looks like Tiger doesn't like seeing a NSMakeRange inside a @try.

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::rowIndexRange):
(AccessibilityUIElement::columnIndexRange):
(AccessibilityUIElement::selectedTextRange):

11:43 AM Changeset in webkit [60371] by chang.shu@nokia.com
  • 2 edits in trunk/LayoutTests

2010-05-28 Chang Shu <Chang.Shu@nokia.com>

Reviewed by Kenneth Rohde Christiansen.

[Qt] Enable Philip's canvas tests on Qt and skip
the failed ones.

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

  • platform/qt/Skipped:
11:21 AM Changeset in webkit [60370] by abarth@webkit.org
  • 6 edits
    1 add in trunk

2010-05-28 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Named entities in attributes aren't parsed correctly by HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=39873

I misplaced this if statement when writing this code originally. Now
that we have test coverage for this paragraph in the spec, we can see
and fix the bug.

  • html/HTML5Lexer.cpp: (WebCore::HTML5Lexer::consumeEntity):

2010-05-28 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Named entities in attributes aren't parsed correctly by HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=39873

Add a test suite for parsing entities in attributes and update expected results.

  • html5lib/resources/entities02.dat: Added.
  • html5lib/runner-expected-html5.txt:
  • html5lib/runner-expected.txt:
  • html5lib/runner.html:
11:17 AM Changeset in webkit [60369] by abarth@webkit.org
  • 6 edits in trunk

2010-05-28 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Handle edge cases in HTML5 entity parsing
https://bugs.webkit.org/show_bug.cgi?id=39823

The HTML5 specification tells us to handle HTML entities in a somewhat
complicated way. This patch attempts to correctly handle numeric
entities. Some of this code is duplicated from HTMLTokenizer.

  • html/HTML5Lexer.cpp: (WebCore::HTMLNames::): (WebCore::HTMLNames::adjustEntity): (WebCore::HTMLNames::legalEntityFor): (WebCore::HTML5Lexer::consumeEntity): (WebCore::HTML5Lexer::processEntity): (WebCore::HTML5Lexer::nextToken): (WebCore::HTML5Lexer::emitCodePoint):
  • html/HTML5Lexer.h:

2010-05-28 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Handle edge cases in HTML5 entity parsing
https://bugs.webkit.org/show_bug.cgi?id=39823

Tests a bunch of the edge cases of entity handling in the HTML5
specification.

  • html5lib/resources/entities01.dat:
  • html5lib/runner-expected.txt:
11:11 AM Changeset in webkit [60368] by Chris Fleizach
  • 2 edits in trunk/WebCore

AX: stop prepping value conversion in accessibilityAttributeValueForParameter
https://bugs.webkit.org/show_bug.cgi?id=39880

Reviewed by Beth Dakin.

Cleaning up a FIXME so that all values are not converted before they're needed in accessibilityAttributeValue:forParameter:

  • accessibility/mac/AccessibilityObjectWrapper.mm:

(visiblePositionForTextMarker):
(-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
(-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

10:55 AM Changeset in webkit [60367] by treat@webkit.org
  • 2 edits in trunk/WebCore

RIM Bug #293 and https://bugs.webkit.org/show_bug.cgi?id=39859

Patch by Adam Treat <atreat@rim.com> on 2010-05-28
Reviewed by Daniel Bates.

Layout is not dependent upon ScrollView::frameRect when useFixedLayout
is true. No reason to set the needs layout flag in this case.

  • platform/ScrollView.cpp:

(WebCore::ScrollView::setFrameRect):

10:44 AM Changeset in webkit [60366] by Chris Fleizach
  • 3 edits
    2 adds in trunk

AX: need to catch NSAccessibilityExceptions in DRT
https://bugs.webkit.org/show_bug.cgi?id=39881

Reviewed by Darin Adler.

WebKitTools:

Normally, accessibility exceptions are caught in the AX Runtime on the Mac, but
because DRT is its own AX client, no one is there to catch these otherwise innocuous exceptions.

So DRT should wrap exception handlers around its AX related calls.

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(attributesOfElement):
(AccessibilityUIElement::getLinkedUIElements):
(AccessibilityUIElement::getDocumentLinks):
(AccessibilityUIElement::getChildren):
(AccessibilityUIElement::getChildrenWithRange):
(AccessibilityUIElement::ariaOwnsElementAtIndex):
(AccessibilityUIElement::ariaFlowToElementAtIndex):
(AccessibilityUIElement::disclosedRowAtIndex):
(AccessibilityUIElement::selectedRowAtIndex):
(AccessibilityUIElement::titleUIElement):
(AccessibilityUIElement::parentElement):
(AccessibilityUIElement::disclosedByRow):
(AccessibilityUIElement::stringAttributeValue):
(AccessibilityUIElement::boolAttributeValue):
(AccessibilityUIElement::isAttributeSettable):
(AccessibilityUIElement::isAttributeSupported):
(AccessibilityUIElement::role):
(AccessibilityUIElement::subrole):
(AccessibilityUIElement::roleDescription):
(AccessibilityUIElement::title):
(AccessibilityUIElement::description):
(AccessibilityUIElement::orientation):
(AccessibilityUIElement::stringValue):
(AccessibilityUIElement::language):
(AccessibilityUIElement::helpText):
(AccessibilityUIElement::x):
(AccessibilityUIElement::y):
(AccessibilityUIElement::width):
(AccessibilityUIElement::height):
(AccessibilityUIElement::clickPointX):
(AccessibilityUIElement::clickPointY):
(AccessibilityUIElement::intValue):
(AccessibilityUIElement::minValue):
(AccessibilityUIElement::maxValue):
(AccessibilityUIElement::valueDescription):
(AccessibilityUIElement::insertionPointLineNumber):
(AccessibilityUIElement::isActionSupported):
(AccessibilityUIElement::isEnabled):
(AccessibilityUIElement::isRequired):
(AccessibilityUIElement::isSelected):
(AccessibilityUIElement::isExpanded):
(AccessibilityUIElement::hierarchicalLevel):
(AccessibilityUIElement::ariaIsGrabbed):
(AccessibilityUIElement::ariaDropEffects):
(AccessibilityUIElement::lineForIndex):
(AccessibilityUIElement::boundsForRange):
(AccessibilityUIElement::stringForRange):
(AccessibilityUIElement::attributesOfColumnHeaders):
(AccessibilityUIElement::attributesOfRowHeaders):
(AccessibilityUIElement::attributesOfColumns):
(AccessibilityUIElement::attributesOfRows):
(AccessibilityUIElement::attributesOfVisibleCells):
(AccessibilityUIElement::attributesOfHeader):
(AccessibilityUIElement::rowCount):
(AccessibilityUIElement::columnCount):
(AccessibilityUIElement::indexInTable):
(AccessibilityUIElement::rowIndexRange):
(AccessibilityUIElement::columnIndexRange):
(AccessibilityUIElement::cellForColumnAndRow):
(AccessibilityUIElement::selectedTextRange):
(AccessibilityUIElement::setSelectedTextRange):
(AccessibilityUIElement::increment):
(AccessibilityUIElement::decrement):
(AccessibilityUIElement::showMenu):
(AccessibilityUIElement::press):
(AccessibilityUIElement::url):
(AccessibilityUIElement::hasPopup):

LayoutTests:

  • platform/mac/accessibility/unsupported-attribute-does-not-crash-expected.txt: Added.
  • platform/mac/accessibility/unsupported-attribute-does-not-crash.html: Added.
10:31 AM Changeset in webkit [60365] by mnaganov@chromium.org
  • 10 edits in trunk

2010-05-28 Mikhail Naganov <mnaganov@chromium.org>

Unreviewed. Revert 60353 -- immature.

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

  • bindings/js/JSConsoleCustom.cpp:
  • bindings/v8/custom/V8ConsoleCustom.cpp:
  • page/Console.cpp:
  • page/Console.h:
  • page/Console.idl:
  • fast/dom/Window/window-properties-expected.txt:
  • platform/gtk/fast/dom/Window/window-properties-expected.txt:
  • platform/qt/fast/dom/Window/window-properties-expected.txt:
9:17 AM Changeset in webkit [60364] by eric@webkit.org
  • 5 edits in trunk/WebKit

2010-05-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>

Reviewed by Kenneth Rohde Christiansen.

[EFL] Allow client to override default database quota. We increase the
default database quota to 1MB (it was incorrectly set to 1KB, which is
too low) and add methods to allow client to iteratively database quota
when it becomes greater than the allowed value.
https://bugs.webkit.org/show_bug.cgi?id=39867

  • efl/WebCoreSupport/ChromeClientEfl.cpp: (WebCore::ChromeClientEfl::exceededDatabaseQuota): reimplement method to allow client to increase database quota iteratively.
  • efl/ewk/ewk_private.h:
  • efl/ewk/ewk_settings.cpp:
  • efl/ewk/ewk_view.h:
9:03 AM Changeset in webkit [60363] by eric@webkit.org
  • 5 edits in trunk/WebKit

2010-05-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>

Reviewed by Kenneth Rohde Christiansen.

[EFL] Add default path to web database and methods to set it.
If a default path is not set, it will default to "/", in which a
normal user usually does not have write permission.

  • efl/EWebLauncher/main.c: overwrite default directory with another one. (main):
  • efl/ewk/ewk_main.cpp: (ewk_init): add default path
  • efl/ewk/ewk_settings.cpp: add methods to set and get database path (ewk_settings_web_database_path_set): (ewk_settings_web_database_path_get):
  • efl/ewk/ewk_settings.h:
8:40 AM Changeset in webkit [60362] by eric@webkit.org
  • 2 edits in trunk/WebKit

2010-05-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>

Reviewed by Kenneth Rohde Christiansen.

[EFL] Fix wrongly set clipper. Now the scrollbars from main
frame are shown even on a zoom level lower than 1.0.

  • efl/ewk/ewk_view_single.c: (_ewk_view_single_smart_add): (_ewk_view_single_smart_backing_store_add): (ewk_view_single_smart_set):
8:38 AM Changeset in webkit [60361] by Darin Adler
  • 56 edits in trunk/WebCore

2010-05-27 Darin Adler <Darin Adler>

Reviewed by David Levin.

Make more HTML DOM members private, especially constructors, batch 2
https://bugs.webkit.org/show_bug.cgi?id=39706

Refactoring so no new tests.

Worked my way up from the bottom of HTMLTagNames.in.

  • html/HTMLTagNames.in: Removed createWithNew from keygen, listing, map, marquee, menu, meta, ol, optgroup, option, p, param, pre, script, select, source, style, table, tbody, td, textarea, tfoot, th, thead, title, tr, ul, video, xmp, and noscript.
  • editing/htmlediting.cpp: (WebCore::createOrderedListElement): Use create function instead of new. (WebCore::createUnorderedListElement): Ditto.
  • html/HTMLParser.cpp: (WebCore::HTMLParser::handleError): Ditto. (WebCore::HTMLParser::mapCreateErrorCheck): Ditto.
  • html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::createContainingTable): Ditto. (WebCore::HTMLViewSourceDocument::addLine): Ditto.
  • html/HTMLKeygenElement.cpp: (WebCore::HTMLKeygenElement::HTMLKeygenElement): Use create function instead of new. (WebCore::HTMLKeygenElement::create): Added.
  • html/HTMLKeygenElement.h: Made constructor and virtual function overrides private, added create function.
  • html/HTMLMapElement.cpp: (WebCore::HTMLMapElement::HTMLMapElement): (WebCore::HTMLMapElement::create):
  • html/HTMLMapElement.h:
  • html/HTMLMarqueeElement.cpp: (WebCore::HTMLMarqueeElement::HTMLMarqueeElement): (WebCore::HTMLMarqueeElement::create):
  • html/HTMLMarqueeElement.h:
  • html/HTMLMenuElement.cpp: (WebCore::HTMLMenuElement::HTMLMenuElement): (WebCore::HTMLMenuElement::create):
  • html/HTMLMenuElement.h:
  • html/HTMLMetaElement.cpp: (WebCore::HTMLMetaElement::HTMLMetaElement): (WebCore::HTMLMetaElement::create):
  • html/HTMLMetaElement.h:
  • html/HTMLNoScriptElement.cpp: (WebCore::HTMLNoScriptElement::HTMLNoScriptElement): (WebCore::HTMLNoScriptElement::create): (WebCore::HTMLNoScriptElement::childShouldCreateRenderer):
  • html/HTMLNoScriptElement.h:
  • html/HTMLOListElement.cpp: (WebCore::HTMLOListElement::HTMLOListElement): (WebCore::HTMLOListElement::create):
  • html/HTMLOListElement.h:
  • html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::HTMLOptGroupElement): (WebCore::HTMLOptGroupElement::create):
  • html/HTMLOptGroupElement.h:
  • html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::HTMLOptionElement): (WebCore::HTMLOptionElement::create):
  • html/HTMLOptionElement.h:
  • html/HTMLParagraphElement.cpp: (WebCore::HTMLParagraphElement::HTMLParagraphElement): (WebCore::HTMLParagraphElement::create):
  • html/HTMLParagraphElement.h:
  • html/HTMLParamElement.cpp: (WebCore::HTMLParamElement::HTMLParamElement): (WebCore::HTMLParamElement::create):
  • html/HTMLParamElement.h:
  • html/HTMLPreElement.cpp: (WebCore::HTMLPreElement::HTMLPreElement): (WebCore::HTMLPreElement::create):
  • html/HTMLPreElement.h:
  • html/HTMLQuoteElement.cpp: (WebCore::HTMLQuoteElement::HTMLQuoteElement): (WebCore::HTMLQuoteElement::create):
  • html/HTMLQuoteElement.h:
  • html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::HTMLScriptElement): (WebCore::HTMLScriptElement::create):
  • html/HTMLScriptElement.h:
  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::create):
  • html/HTMLSelectElement.h:
  • html/HTMLSourceElement.cpp: (WebCore::HTMLSourceElement::HTMLSourceElement): (WebCore::HTMLSourceElement::create):
  • html/HTMLSourceElement.h:
  • html/HTMLStyleElement.cpp: (WebCore::HTMLStyleElement::HTMLStyleElement): (WebCore::HTMLStyleElement::create):
  • html/HTMLStyleElement.h:
  • html/HTMLTableRowElement.cpp: (WebCore::HTMLTableRowElement::HTMLTableRowElement): (WebCore::HTMLTableRowElement::create): (WebCore::HTMLTableRowElement::insertCell):
  • html/HTMLTableRowElement.h:
  • html/HTMLTableSectionElement.cpp: (WebCore::HTMLTableSectionElement::HTMLTableSectionElement): (WebCore::HTMLTableSectionElement::create): (WebCore::HTMLTableSectionElement::insertRow):
  • html/HTMLTableSectionElement.h:
  • html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::create):
  • html/HTMLTextAreaElement.h:
  • html/HTMLTitleElement.cpp: (WebCore::HTMLTitleElement::HTMLTitleElement): (WebCore::HTMLTitleElement::create):
  • html/HTMLTitleElement.h:
  • html/HTMLUListElement.cpp: (WebCore::HTMLUListElement::HTMLUListElement): (WebCore::HTMLUListElement::create):
  • html/HTMLUListElement.h:
  • html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::HTMLVideoElement): (WebCore::HTMLVideoElement::create):
  • html/HTMLVideoElement.h: Made constructors and virtual function overrides private, added create function.
  • html/HTMLTableCellElement.cpp: (WebCore::HTMLTableCellElement::HTMLTableCellElement): Updated names of data members. Renamed _row to m_row, _col to m_col, rSpan to m_rowSpan, cSpan to m_colSpan, and removed unused rowHeight and m_solid. (WebCore::HTMLTableCellElement::create): Added. (WebCore::HTMLTableCellElement::parseMappedAttribute): Updated names.
  • html/HTMLTableCellElement.h: Ditto.
  • html/HTMLTableElement.cpp: (WebCore::HTMLTableElement::create): Added. (WebCore::HTMLTableElement::createTHead): Used create instead of new. (WebCore::HTMLTableElement::createTFoot): Ditto. (WebCore::HTMLTableElement::insertRow): Ditto.
  • html/HTMLTableElement.h:
  • html/HTMLTablePartElement.h: Made members protected instead of public.
8:23 AM Changeset in webkit [60360] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-05-28 Andreas Kling <andreas.kling@nokia.com>

Reviewed by Kenneth Rohde Christiansen.

[Qt] REGRESSION(r59837): Incorrect clipping of TransparencyLayers
https://bugs.webkit.org/show_bug.cgi?id=39784

Move coordinate transformation from TransparencyLayer to clipToImageBuffer()

  • platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::TransparencyLayer::TransparencyLayer): (WebCore::GraphicsContext::clipToImageBuffer):
8:11 AM Changeset in webkit [60359] by eric@webkit.org
  • 7 edits in trunk

2010-05-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>

Reviewed by Kenneth Rohde Christiansen.

[EF] Implement methods for supporting PopupMenu
https://bugs.webkit.org/show_bug.cgi?id=39629

  • platform/PopupMenu.h: add needed attribute
  • platform/efl/PopupMenuEfl.cpp: implement methods to show/hide popup menu (WebCore::PopupMenu::PopupMenu): initialize new attribute (WebCore::PopupMenu::show): ditto. (WebCore::PopupMenu::hide): ditto.

2010-05-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>

Reviewed by Kenneth Rohde Christiansen.

[EFL] Add support for Popup menus
https://bugs.webkit.org/show_bug.cgi?id=39629

  • efl/WebCoreSupport/ChromeClientEfl.cpp: implement methods to create and destroy popup menu. (WebCore::ChromeClientEfl::createSelectPopup): ditto. (WebCore::ChromeClientEfl::destroySelectPopup): ditto.
  • efl/WebCoreSupport/ChromeClientEfl.h: ditto.
  • efl/ewk/ewk_private.h: add function to call browser when a popup is created/deleted
7:56 AM Changeset in webkit [60358] by eric@webkit.org
  • 4 edits in trunk/WebCore

2010-05-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>

Reviewed by Kenneth Rohde Christiansen.

Reorder class initializers to remove compiler warnings.
https://bugs.webkit.org/show_bug.cgi?id=39596

  • platform/efl/PlatformKeyboardEventEfl.cpp: ditto. (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): ditto.
  • platform/efl/PlatformMouseEventEfl.cpp: ditto. (WebCore::PlatformMouseEvent::PlatformMouseEvent): ditto.
  • platform/efl/PlatformWheelEventEfl.cpp: ditto (WebCore::PlatformWheelEvent::PlatformWheelEvent): ditto.
7:55 AM BuildingGtk edited by morrita@google.com
(diff)
7:30 AM Changeset in webkit [60357] by jorlow@chromium.org
  • 49 edits
    11 copies in trunk

2010-05-27 Jeremy Orlow <jorlow@chromium.org>

Reviewed by Steve Block.

Add IndexedDB's IDBIndex
https://bugs.webkit.org/show_bug.cgi?id=39850

Flesh out IDBIndex as much as possible until Andrei finishes
his patch to get around passing Frame*'s all around. I also
cleaned up a bunch of existing files as I noticed style
violations (while basing my new files off of the old).

Not hooked up enough to test. Will add tests soon.

  • Android.derived.jscbindings.mk
  • Android.derived.v8bindings.mk
  • Android.mk
  • CMakeLists.txt
  • DerivedSources.cpp
  • DerivedSources.make
  • GNUmakefile.am
  • WebCore.pri
  • WebCore.pro
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj
  • WebCore.xcodeproj/project.pbxproj
  • bindings/js/JSIDBAnyCustom.cpp: (WebCore::toJS):
  • bindings/v8/custom/V8IDBAnyCustom.cpp: (WebCore::toV8):
  • storage/IDBAny.cpp: (WebCore::IDBAny::idbIndexRequest): (WebCore::IDBAny::set):
  • storage/IDBAny.h: (WebCore::IDBAny::):
  • storage/IDBCallbacks.h:
  • storage/IDBDatabase.h:
  • storage/IDBDatabaseError.h: (WebCore::IDBDatabaseError::):
  • storage/IDBDatabaseError.idl:
  • storage/IDBDatabaseException.h:
  • storage/IDBDatabaseException.idl:
  • storage/IDBDatabaseImpl.cpp:
  • storage/IDBDatabaseImpl.h:
  • storage/IDBDatabaseRequest.cpp:
  • storage/IDBDatabaseRequest.h:
  • storage/IDBDatabaseRequest.idl:
  • storage/IDBIndex.h: Added. (WebCore::IDBIndex::~IDBIndex):
  • storage/IDBIndexImpl.cpp: Added. (WebCore::IDBIndexImpl::IDBIndexImpl): (WebCore::IDBIndexImpl::~IDBIndexImpl):
  • storage/IDBIndexImpl.h: Added. (WebCore::IDBIndexImpl::create): (WebCore::IDBIndexImpl::name): (WebCore::IDBIndexImpl::keyPath): (WebCore::IDBIndexImpl::unique):
  • storage/IDBIndexRequest.cpp: Added. (WebCore::IDBIndexRequest::IDBIndexRequest): (WebCore::IDBIndexRequest::~IDBIndexRequest):
  • storage/IDBIndexRequest.h: Added. (WebCore::IDBIndexRequest::create): (WebCore::IDBIndexRequest::name): (WebCore::IDBIndexRequest::keyPath): (WebCore::IDBIndexRequest::unique):
  • storage/IDBIndexRequest.idl: Added.
  • storage/IDBObjectStore.cpp: (WebCore::IDBObjectStore::IDBObjectStore): (WebCore::IDBObjectStore::~IDBObjectStore): (WebCore::IDBObjectStore::indexNames): (WebCore::IDBObjectStore::createIndex): (WebCore::IDBObjectStore::index): (WebCore::IDBObjectStore::removeIndex):
  • storage/IDBObjectStore.h:
  • storage/IDBObjectStoreRequest.cpp: (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest): (WebCore::IDBObjectStoreRequest::name): (WebCore::IDBObjectStoreRequest::keyPath): (WebCore::IDBObjectStoreRequest::indexNames): (WebCore::IDBObjectStoreRequest::createIndex): (WebCore::IDBObjectStoreRequest::index): (WebCore::IDBObjectStoreRequest::removeIndex):
  • storage/IDBObjectStoreRequest.h:
  • storage/IDBObjectStoreRequest.idl:
  • storage/IDBRequest.cpp: (WebCore::IDBRequest::onSuccess):
  • storage/IDBRequest.h:
  • storage/IndexedDatabaseRequest.idl:

2010-05-27 Jeremy Orlow <jorlow@chromium.org>

Reviewed by Steve Block.

Add IndexedDB's IDBIndex
https://bugs.webkit.org/show_bug.cgi?id=39850

Add WebKit layer for IDBIndex.

  • WebKit.gyp:
  • public/WebCommon.h:
  • public/WebIDBCallbacks.h: (WebKit::WebIDBCallbacks::onError): (WebKit::WebIDBCallbacks::onSuccess):
  • public/WebIDBDatabase.h:
  • public/WebIDBIndex.h: Added. (WebKit::WebIDBIndex::~WebIDBIndex): (WebKit::WebIDBIndex::name): (WebKit::WebIDBIndex::keyPath): (WebKit::WebIDBIndex::unique):
  • src/IDBCallbacksProxy.cpp: (WebCore::IDBCallbacksProxy::onSuccess):
  • src/IDBCallbacksProxy.h:
  • src/IDBDatabaseProxy.cpp:
  • src/IDBDatabaseProxy.h:
  • src/IDBIndexProxy.cpp: Added. (WebCore::IDBIndexProxy::create): (WebCore::IDBIndexProxy::IDBIndexProxy): (WebCore::IDBIndexProxy::~IDBIndexProxy): (WebCore::IDBIndexProxy::name): (WebCore::IDBIndexProxy::keyPath): (WebCore::IDBIndexProxy::unique):
  • src/IDBIndexProxy.h: Added.
  • src/WebIDBCallbacksImpl.cpp: (WebCore::WebIDBCallbacksImpl::onSuccess):
  • src/WebIDBCallbacksImpl.h:
  • src/WebIDBDatabaseImpl.cpp:
  • src/WebIDBDatabaseImpl.h:
  • src/WebIDBIndexImpl.cpp: Added. (WebKit::WebIDBIndexImpl::WebIDBIndexImpl): (WebKit::WebIDBIndexImpl::~WebIDBIndexImpl): (WebKit::WebIDBIndexImpl::name): (WebKit::WebIDBIndexImpl::keyPath): (WebKit::WebIDBIndexImpl::unique):
  • src/WebIDBIndexImpl.h: Added.
7:10 AM Changeset in webkit [60356] by yurys@chromium.org
  • 2 edits in trunk/WebKit/chromium

2010-05-28 Yury Semikhatsky <yurys@chromium.org>

Reviewed by Pavel Feldman.

Web Inspector: check that ClientMessageLoopAdapter is not 0 before
accessing its fileds from inspectedViewClosed method. It may be 0
if inspector frontend has not been open.
https://bugs.webkit.org/show_bug.cgi?id=39876

  • src/WebDevToolsAgentImpl.cpp: (WebKit::):
7:08 AM Changeset in webkit [60355] by chang.shu@nokia.com
  • 1 edit
    2 deletes in trunk/LayoutTests

2010-05-28 Shu Chang <chang.shu@nokia.com>

Unreviewed.

Remove two junk files not supposed to be in.

  • canvas/philip/tests/.reportgen.html.swp: Removed.
  • canvas/philip/tests/.reportgen.js.swp: Removed.
7:07 AM Changeset in webkit [60354] by yurys@chromium.org
  • 2 edits in trunk/WebCore

2010-05-28 Yury Semikhatsky <yurys@chromium.org>

Reviewed by Pavel Feldman.

Web Inspector: hide node highlight when inspected page closes.
https://bugs.webkit.org/show_bug.cgi?id=39872

  • inspector/InspectorController.cpp: (WebCore::InspectorController::~InspectorController): (WebCore::InspectorController::inspectedPageDestroyed):
7:01 AM Changeset in webkit [60353] by mnaganov@chromium.org
  • 10 edits in trunk

2010-05-28 Mikhail Naganov <mnaganov@chromium.org>

Reviewed by Yury Semikhatsky.

Web Inspector: add Console API for retrieving memory stats

Add 'console.memory' property which returns an object. Currently
it has two fields: totalHeapSize and usedHeapSize. Later, it can be
extended for reporting total browser's memory consumption.

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

  • bindings/js/JSConsoleCustom.cpp: (WebCore::JSConsole::memory):
  • bindings/v8/custom/V8ConsoleCustom.cpp: (WebCore::V8Console::memoryAccessorGetter):
  • page/Console.cpp: (WebCore::Console::memory):
  • page/Console.h:
  • page/Console.idl:
  • fast/dom/Window/window-properties-expected.txt:
  • platform/gtk/fast/dom/Window/window-properties-expected.txt:
  • platform/qt/fast/dom/Window/window-properties-expected.txt:
6:57 AM Changeset in webkit [60352] by antti.j.koivisto@nokia.com
  • 2 edits in trunk/WebKit/qt

Add a missing #if ENABLE(), some null checking.

Reviewed by Kenneth Rohde Christiansen.

  • Api/qwebpage.cpp:

(QWebPagePrivate::dynamicPropertyChangeEvent):

6:37 AM Changeset in webkit [60351] by xan@webkit.org
  • 2 edits in trunk/WebCore

2010-05-28 Xan Lopez <xlopez@igalia.com>

Add new file to the build system.

  • GNUmakefile.am:
6:28 AM Changeset in webkit [60350] by antti.j.koivisto@nokia.com
  • 5 edits in trunk

https://bugs.webkit.org/show_bug.cgi?id=39874
[Qt] Make tiled backing store more configurable

Reviewed by Kenneth Rohde Christiansen.

Make tile size, tile creation delay and tiling area dynamically configurable.

WebCore:

  • platform/graphics/TiledBackingStore.cpp:

(WebCore::TiledBackingStore::TiledBackingStore):
(WebCore::TiledBackingStore::setTileSize):
(WebCore::TiledBackingStore::setTileCreationDelay):
(WebCore::TiledBackingStore::setKeepAndCoverAreaMultipliers):
(WebCore::TiledBackingStore::createTiles):

  • platform/graphics/TiledBackingStore.h:

(WebCore::TiledBackingStore::tileSize):
(WebCore::TiledBackingStore::tileCreationDelay):
(WebCore::TiledBackingStore::getKeepAndCoverAreaMultipliers):

WebKit/qt:

  • Api/qwebpage.cpp:

(QWebPagePrivate::dynamicPropertyChangeEvent):

6:12 AM Changeset in webkit [60349] by yael.aharon@nokia.com
  • 2 edits in trunk/WebKit/qt

Unreviewed build fix after r60348.

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::setNotificationsReceiver):

5:59 AM Changeset in webkit [60348] by eric@webkit.org
  • 14 edits in trunk

2010-05-28 Yael Aharon <yael.aharon@nokia.com>

Reviewed by Laszlo Gombos.

[Qt] Pass all web notification layout tests
https://bugs.webkit.org/show_bug.cgi?id=39146

  • platform/qt/Skipped:

2010-05-28 Yael Aharon <yael.aharon@nokia.com>

Reviewed by Laszlo Gombos.

[Qt] Pass all web notification layout tests
https://bugs.webkit.org/show_bug.cgi?id=39146

Add support for multiple simultaneous notifications.
Add a private callback mechanism to the client for security checks.
Notifications are disabled if the client does not set the callbacks.
Support replaceId and cancel.
Send close and display events when needed.

  • Api/qwebpage.cpp: (QWebPagePrivate::QWebPagePrivate):
  • WebCoreSupport/DumpRenderTreeSupportQt.cpp: (DumpRenderTreeSupportQt::setNotificationsReceiver): (DumpRenderTreeSupportQt::allowNotificationForOrigin): (DumpRenderTreeSupportQt::setCheckPermissionFunction): (DumpRenderTreeSupportQt::setRequestPermissionFunction):
  • WebCoreSupport/DumpRenderTreeSupportQt.h:
  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::dispatchDidClearWindowObjectInWorld):
  • WebCoreSupport/NotificationPresenterClientQt.cpp: (NotificationIconWrapper::NotificationIconWrapper): (NotificationIconWrapper::~NotificationIconWrapper): (NotificationPresenterClientQt::NotificationPresenterClientQt): (NotificationPresenterClientQt::show): (NotificationPresenterClientQt::cancel): (NotificationPresenterClientQt::notificationObjectDestroyed): (NotificationPresenterClientQt::requestPermission): (NotificationPresenterClientQt::checkPermission): (NotificationPresenterClientQt::allowNotificationForOrigin): (NotificationPresenterClientQt::clearNotificationsList): (NotificationPresenterClientQt::sendEvent):
  • WebCoreSupport/NotificationPresenterClientQt.h: (WebCore::NotificationPresenterClientQt::~NotificationPresenterClientQt): (WebCore::NotificationPresenterClientQt::setReceiver):

2010-05-28 Yael Aharon <yael.aharon@nokia.com>

Reviewed by Laszlo Gombos.

[Qt] Pass all web notification layout tests
https://bugs.webkit.org/show_bug.cgi?id=39146

Mimic Chromium's test_shell security model in Qt's DRT.
It makes a list of origins which were granted permission to display
notifications, and only those origins can display notifications.

  • DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore::checkPermissionCallback): (WebCore::requestPermissionCallback): (WebCore::WebPage::WebPage): (WebCore::DumpRenderTree::checkPermission): (WebCore::DumpRenderTree::requestPermission):
  • DumpRenderTree/qt/DumpRenderTreeQt.h:
  • DumpRenderTree/qt/LayoutTestControllerQt.cpp: (LayoutTestController::reset): (LayoutTestController::grantDesktopNotificationPermission): (LayoutTestController::checkDesktopNotificationPermission):
  • DumpRenderTree/qt/LayoutTestControllerQt.h:
3:11 AM Changeset in webkit [60347] by eric@webkit.org
  • 9 edits
    1 copy in trunk

2010-05-28 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

document.write does not work correctly in the HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=39828

Add two tests for document.write behavior and update
our expected results to remove two parse errors now that
document.write is functioning correctly.

  • html5lib/resources/webkit01.dat:
  • html5lib/runner-expected-html5.txt:

2010-05-28 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

document.write does not work correctly in the HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=39828

Added a new HTML5ScriptRunnerHost interface which
HTML5Tokenizer implements. This allows HTML5ScriptController
to delegate the actual ScriptController::executeScript back to
HTML5Tokenizer. HTML5Tokenizer saves off the current m_source
before calling ScriptController::executeScript to allow safe
reentrancy through document.write().

  • WebCore.xcodeproj/project.pbxproj:
    • Added HTML5ScriptRunnerHost.h
  • html/HTML5ScriptRunner.cpp: (WebCore::HTML5ScriptRunner::HTML5ScriptRunner): (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
    • Unregister m_parsingBlockingScript if stopped before load completion. This was probably causing some of the crashes on page navigation we saw during LayoutTest runs.

(WebCore::documentURLForScriptExecution):

  • Unify our documentURL handling so all callsites get it right.

(WebCore::HTML5ScriptRunner::sourceFromPendingScript):

  • Use documentURLForScriptExecution

(WebCore::HTML5ScriptRunner::executePendingScript):

  • Call stopWatchingForLoad instead of removeClient()
  • Call executeScript instead of ScriptController directly.

(WebCore::HTML5ScriptRunner::executeScript):

  • Wraps calls to HTML5ScriptRunnerHost::executeScript

(WebCore::HTML5ScriptRunner::watchForLoad):

  • Wraps calls to HTML5ScriptRunnerHost::watchForLoad

(WebCore::HTML5ScriptRunner::stopWatchingForLoad):

  • Wraps calls to HTML5ScriptRunnerHost::stopWatchingForLoad

(WebCore::HTML5ScriptRunner::requestScript):

  • Only watch for load if the CachedScript isn't already loaded. This gets rid of rentrancy due to addClient calls, and as a result also stops us from hitting ASSERT(m_scriptNestingLevel) in executePendingScript.

(WebCore::HTML5ScriptRunner::runScript):

  • Use the new fancy documentURLForScriptExecution and executeScript.
  • html/HTML5ScriptRunner.h: (WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
    • Add a watchingForLoad bool so we know if we ever called watchForLoad with this CachedScript*.
  • html/HTML5ScriptRunnerHost.h: Added. (WebCore::HTML5ScriptRunnerHost::~HTML5ScriptRunnerHost):
  • html/HTML5Tokenizer.cpp: (WebCore::HTML5Tokenizer::HTML5Tokenizer):
    • Store an m_document pointer since we need to access m_document->frame()->script() for script execution.

(WebCore::HTML5Tokenizer::pumpLexer):

  • Always pause or unpause the TreeBuilder after script execution. Previously nested script execution would leave the TreeBuilder paused even though the top-level loop wanted to resume parsing. Now whenever m_scriptRunner->execute returns "continue parsing" parsing will actually continue. This fixed cases where we would ignore the rest of the document after document.write() of a script tag.

(WebCore::HTML5Tokenizer::write):

  • Explain how document.write() reentrancy is safe in the new world.

(WebCore::HTML5Tokenizer::watchForLoad):

  • HTML5ScriptRunnerHost implementation. We assert that this call will never cause script execution since that's our current design.

(WebCore::HTML5Tokenizer::stopWatchingForLoad):

  • HTML5ScriptRunnerHost implementation.

(WebCore::HTML5Tokenizer::executeScript):

  • HTML5ScriptRunnerHost implementation. Save off the current source before executing scripts in case document.write is called during script execution.
  • html/HTML5Tokenizer.h:
    • Implement HTML5ScriptRunnerHost.
2:01 AM Changeset in webkit [60346] by jorlow@chromium.org
  • 2 edits in trunk/WebKitSite

2010-05-25 Jeremy Orlow <jorlow@chromium.org>

Reviewed by Darin Adler.

Update the style guide re: static member variables and structs
https://bugs.webkit.org/show_bug.cgi?id=39663

Per Darin Adler's proposal on webkit-dev.

All static member variables should be prefixed with s_.
m_ should not be used for public data members in structs.
Only structs should have public data members.

  • coding/coding-style.html:
1:38 AM QtWebKitJournal edited by Simon Hausmann
(diff)
12:58 AM Changeset in webkit [60345] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-05-28 Nathan Lawrence <nlawrence@apple.com>

Reviewed by Geoffrey Garen.

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

Because not just <img> and <image> elements can preload images, we
dont want to restrict the element associated with the loader.

No new tests. Should share the same tests as the last patch.

  • html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::notifyFinished):
12:00 AM Changeset in webkit [60344] by morrita@google.com
  • 6 edits
    4 adds in trunk

2010-05-27 MORITA Hajime <morrita@google.com>

Reviewed by Ojan Vafai.

Cursor movement and text selection does not work well if a block is followed by an inline.
https://bugs.webkit.org/show_bug.cgi?id=32123

RenderInline::setSelectionState() missed selection state
propagation for ancestors. This fix pulled
RenderBlock::setSelectionState() up to RenderBoxModelObject, to
share it with RenderInline.

  • editing/selection/range-between-block-and-inline.html: Added.
  • platform/mac/editing/selection/range-between-block-and-inline-expected.checksum: Added.
  • platform/mac/editing/selection/range-between-block-and-inline-expected.png: Added.
  • platform/mac/editing/selection/range-between-block-and-inline-expected.txt: Added.

2010-05-27 MORITA Hajime <morrita@google.com>

Reviewed by Ojan Vafai.

Cursor movement and text selection does not work well if a block is followed by an inline.
https://bugs.webkit.org/show_bug.cgi?id=32123

RenderInline::setSelectionState() missed selection state
propagation for ancestors. This fix pulled
RenderBlock::setSelectionState() up to RenderBoxModelObject, to
share it with RenderInline.

Test: editing/selection/range-between-block-and-inline.html: Added.

  • rendering/RenderBlock.cpp:
  • rendering/RenderBlock.h:
  • rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::setSelectionState):
  • rendering/RenderBoxModelObject.h: Moved setSelectionState() from RenderBlock to RenderBoxModelObject.

May 27, 2010:

10:09 PM Changeset in webkit [60343] by morrita@google.com
  • 2 edits in trunk/WebCore

2010-05-27 MORITA Hajime <morrita@google.com>

Not reviewed. Fixed typo

  • rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustStyle):
9:21 PM Changeset in webkit [60342] by Darin Adler
  • 47 edits in trunk/WebCore

2010-05-27 Darin Adler <Darin Adler>

Reviewed by David Levin.

Make more HTML DOM members private, especially constructors
https://bugs.webkit.org/show_bug.cgi?id=39697

Refactoring, so no new tests needed.

Working my way through HTMLTagNames.in from top to bottom, skipping any
that are non-trivial for some reason.

  • html/HTMLTagNames.in: Removed createWithNew from audio, base, basefont, blockquote, body, br, button, canvas, caption, col, colgroup, datagrid, datalist, dcell, dcol, drow, del, dir, dl, and fieldset.
  • mathml/mathtags.in: Removed createWithNew from msub, and msup.
  • dom/Document.cpp: (WebCore::Document::implicitClose): Use create function instead of new. (WebCore::Document::getCSSCanvasElement): Ditto.
  • editing/IndentOutdentCommand.cpp: (WebCore::createIndentBlockquoteElement): Ditto.
  • editing/htmlediting.cpp: (WebCore::createBreakElement): Ditto.
  • html/HTMLTableElement.cpp: (WebCore::HTMLTableElement::createCaption): Ditto.
  • html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::createContainingTable): Ditto.
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setInnerTextValue): Ditto.
  • html/HTMLParser.cpp: (WebCore::HTMLParser::handleError): Use create function instead of new. Required reordering the code slightly, but the new order works fine.
  • html/HTMLAudioElement.cpp: (WebCore::HTMLAudioElement::create):
  • html/HTMLAudioElement.h:
  • html/HTMLBRElement.cpp: (WebCore::HTMLBRElement::create):
  • html/HTMLBRElement.h:
  • html/HTMLBaseElement.cpp: (WebCore::HTMLBaseElement::create):
  • html/HTMLBaseElement.h:
  • html/HTMLBaseFontElement.cpp: (WebCore::HTMLBaseFontElement::create):
  • html/HTMLBaseFontElement.h:
  • html/HTMLBlockquoteElement.cpp: (WebCore::HTMLBlockquoteElement::create):
  • html/HTMLBlockquoteElement.h:
  • html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::create):
  • html/HTMLBodyElement.h:
  • html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::create):
  • html/HTMLButtonElement.h:
  • html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::create):
  • html/HTMLCanvasElement.h:
  • html/HTMLDListElement.cpp: (WebCore::HTMLDListElement::create):
  • html/HTMLDListElement.h:
  • html/HTMLDataGridCellElement.cpp: (WebCore::HTMLDataGridCellElement::create):
  • html/HTMLDataGridCellElement.h:
  • html/HTMLDataGridColElement.cpp: (WebCore::HTMLDataGridColElement::create):
  • html/HTMLDataGridColElement.h:
  • html/HTMLDataGridElement.cpp: (WebCore::HTMLDataGridElement::create):
  • html/HTMLDataGridElement.h:
  • html/HTMLDataGridRowElement.cpp: (WebCore::HTMLDataGridRowElement::create):
  • html/HTMLDataGridRowElement.h:
  • html/HTMLDataListElement.cpp: (WebCore::HTMLDataListElement::create):
  • html/HTMLDataListElement.h:
  • html/HTMLElement.cpp: (WebCore::HTMLElement::setInnerText):
  • html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::create):
  • html/HTMLFieldSetElement.h:
  • html/HTMLModElement.cpp: (WebCore::HTMLModElement::HTMLModElement): (WebCore::HTMLModElement::create):
  • html/HTMLModElement.h:
  • html/HTMLTableCaptionElement.cpp: (WebCore::HTMLTableCaptionElement::create):
  • html/HTMLTableCaptionElement.h: Made constructors and virtual function overrides private, added create functions. Made constructors inline in cases where they were called in only one place.
  • html/HTMLTableColElement.cpp: (WebCore::HTMLTableColElement::HTMLTableColElement): Changed data member name from _span to m_span. (WebCore::HTMLTableColElement::create): Added. (WebCore::HTMLTableColElement::parseMappedAttribute): Updated to use m_span.
  • html/HTMLTableColElement.h: Made constructor and virtual function overrides private, added create function. Renamed _span to m_span.
8:21 PM Changeset in webkit [60341] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-05-27 Kwang Yul Seo <skyul@company100.net>

Reviewed by Darin Adler.

wx port: build fix for Linux
https://bugs.webkit.org/show_bug.cgi?id=39860

Use uint16_t instead of uint16.

  • plugins/PluginPackageNone.cpp: (WebCore::PluginPackage::NPVersion):
7:35 PM Changeset in webkit [60340] by rolandsteiner@chromium.org
  • 3 edits in trunk/LayoutTests

2010-05-27 Roland Steiner <rolandsteiner@chromium.org>

Reviewed by Tamura Kent.

[Chromium] Update chromium test expectations for parseFloat & toNumber tests
https://bugs.webkit.org/show_bug.cgi?id=39861

Update expectation files.

  • platform/chromium/fast/js/ToNumber-expected.txt:
  • platform/chromium/fast/js/parseFloat-expected.txt:
6:37 PM Changeset in webkit [60339] by mrowe@apple.com
  • 5 edits in branches/safari-533-branch

Versioning.

6:35 PM Changeset in webkit [60338] by mrowe@apple.com
  • 1 copy in tags/Safari-533.13

New tag.

5:44 PM Changeset in webkit [60337] by eric@webkit.org
  • 2 edits
    1 add in trunk/WebCore

2010-05-27 Nathan Lawrence <nlawrence@apple.com>

Reviewed by Geoffrey Garen.

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

Fixes the issue where images prefetched by JavaScript do not report
their memory usage to the GC.

There is a new test manual-tests/image-prefetch-stress.html that loads
a new 4MB image every half a second.

  • html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::notifyFinished):
  • manual-tests/image-prefetch-stress.html: Added.
5:39 PM Changeset in webkit [60336] by mrowe@apple.com
  • 4 edits in branches/safari-533-branch/WebCore

Merge r60317.

5:39 PM Changeset in webkit [60335] by mrowe@apple.com
  • 4 edits in branches/safari-533-branch/WebCore

Merge r60272.

5:38 PM Changeset in webkit [60334] by mrowe@apple.com
  • 2 edits in branches/safari-533-branch/WebCore

Merge r60252.

5:38 PM Changeset in webkit [60333] by mrowe@apple.com
  • 4 edits
    2 adds in branches/safari-533-branch

Merge r60247.

4:43 PM Changeset in webkit [60332] by eric@webkit.org
  • 8 edits in trunk/JavaScriptCore

2010-05-27 Luiz Agostini <luiz.agostini@openbossa.org>

Reviewed by Darin Adler.

UTF-16 code points compare() for String objects
https://bugs.webkit.org/show_bug.cgi?id=39701

Moving compare() implementation from UString to StringImpl for it to be shared
with String. Adding overloaded free functions codePointCompare() in StringImpl
and WTFString. Renaming function compare in UString to codePointCompare to be
consistent.

  • runtime/JSArray.cpp: (JSC::compareByStringPairForQSort):
  • runtime/UString.cpp:
  • runtime/UString.h: (JSC::codePointCompare):
  • wtf/text/StringImpl.cpp: (WebCore::codePointCompare):
  • wtf/text/StringImpl.h:
  • wtf/text/WTFString.cpp: (WebCore::codePointCompare):
  • wtf/text/WTFString.h:
4:40 PM Changeset in webkit [60331] by Beth Dakin
  • 2 edits in trunk/WebKit/mac

Change z-component to 1.

Reviewed by Simon Fraser.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView viewDidMoveToWindow]):
(-[WebHTMLView attachRootLayer:]):

4:21 PM Changeset in webkit [60330] by eric@webkit.org
  • 17 edits in trunk

2010-05-27 Eric Uhrhane <ericu@chromium.org>

Reviewed by Adam Barth.

Add v8 bindings for async DB API in workers
https://bugs.webkit.org/show_bug.cgi?id=39145

No new tests. This should share layout tests with JSC.

Tweak the callback generation to switch lots of Frame* to ScriptExecutionContext*, and use the context passed in to handleEvent where possible.

  • bindings/scripts/CodeGeneratorV8.pm:

As with CodeGeneratorV8; these are pretty much all tiny tweaks.
We do have to use a slightly different patch for callback invocation in invokeCallback, as V8Proxy::retrieve() doesn't work in the worker context.

  • bindings/v8/custom/V8CustomPositionCallback.cpp: (WebCore::V8CustomPositionCallback::handleEvent):
  • bindings/v8/custom/V8CustomPositionErrorCallback.cpp: (WebCore::V8CustomPositionErrorCallback::handleEvent):
  • bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: (WebCore::V8SQLStatementErrorCallback::handleEvent):
  • bindings/v8/custom/V8CustomVoidCallback.cpp: (WebCore::V8CustomVoidCallback::V8CustomVoidCallback): (WebCore::V8CustomVoidCallback::handleEvent): (WebCore::invokeCallback):
  • bindings/v8/custom/V8CustomVoidCallback.h: (WebCore::V8CustomVoidCallback::create):
  • bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::V8DOMWindow::openDatabaseCallback):
  • bindings/v8/custom/V8DatabaseCustom.cpp: (WebCore::V8Database::changeVersionCallback): (WebCore::createTransaction):
  • bindings/v8/custom/V8DatabaseSyncCustom.cpp: (WebCore::V8DatabaseSync::changeVersionCallback): (WebCore::createTransaction):
  • bindings/v8/custom/V8NotificationCenterCustom.cpp: (WebCore::V8NotificationCenter::requestPermissionCallback):
  • bindings/v8/custom/V8SQLTransactionCustom.cpp: (WebCore::V8SQLTransaction::executeSqlCallback):

Add openDatabaseCallback.

  • bindings/v8/custom/V8WorkerContextCustom.cpp: (WebCore::V8WorkerContext::openDatabaseCallback): Remove an obsolete parameter. (WebCore::V8WorkerContext::openDatabaseSyncCallback):

2010-05-27 Eric Uhrhane <ericu@chromium.org>

Reviewed by Adam Barth.

Add v8 bindings for async DB API in workers
https://bugs.webkit.org/show_bug.cgi?id=39145

  • src/DatabaseObserver.cpp: We should check that we're on the context thread now, not the main thread. (WebCore::DatabaseObserver::databaseOpened): (WebCore::DatabaseObserver::databaseModified): (WebCore::DatabaseObserver::databaseClosed):
4:12 PM Changeset in webkit [60329] by crogers@google.com
  • 12 edits in branches/audio/WebCore

preliminary changes to build on Windows

4:09 PM Changeset in webkit [60328] by Darin Adler
  • 8 edits in trunk

2010-05-26 Darin Adler <Darin Adler>

Reviewed by Kent Tamura.

Null characters handled incorrectly in ToNumber conversion
https://bugs.webkit.org/show_bug.cgi?id=38088

  • runtime/JSGlobalObjectFunctions.cpp: (JSC::parseInt): Changed code to use UTF8String().data() instead of ascii() to fix the thread safety issue. Code path is covered by existing tests in run-javascriptcore-tests. (JSC::parseFloat): Moved comment to UString::toDouble since the issue affects all clients, not just parseFloat. Specifically, this also affects standard JavaScript numeric conversion, ToNumber.
  • runtime/UString.cpp: (JSC::UString::toDouble): Added a comment about incorrect space skipping. Changed trailing junk check to use the length of the CString instead of checking for a null character. Also got rid of a little unneeded logic in the case where we tolerate trailing junk.

2010-05-26 Darin Adler <Darin Adler>

Reviewed by Kent Tamura.

Null characters handled incorrectly in ToNumber conversion
https://bugs.webkit.org/show_bug.cgi?id=38088

  • fast/js/ToNumber-expected.txt: Updated for new tests and to expect PASS for two null character tests.
  • fast/js/ToNumber.js: Added more test cases.
  • fast/js/parseFloat-expected.txt: Updated for new test case.
  • fast/js/script-tests/parseFloat.js: Added a test case.
3:52 PM Changeset in webkit [60327] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-05-27 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Yury Semikhatsky.

Web Inspector: [REGRESSION] Query parameters are not displayed in the resources headers section.

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

  • inspector/front-end/ResourceView.js: (WebInspector.ResourceView): (WebInspector.ResourceView.prototype._refreshRequestPayload):
3:41 PM Changeset in webkit [60326] by eric@webkit.org
  • 11 edits
    1 copy
    2 adds in trunk/WebCore

2010-05-27 Nico Weber <thakis@chromium.org>

Reviewed by Eric Seidel

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

Add Yank support to chromium mac. Do this by moving WebKit Mac's
implementation of Editor::yankFromKillRing() into its own class and
then using that.

  • editing/Editor.cpp: Use new KillRing class.
  • editing/Editor.h: (WebCore::Editor::killRing): Use new KillRing class.
  • editing/EditorCommand.cpp: (WebCore::executeYankAndSelect): Use new KillRing class.
  • platform/KillRing.h: Add new KillRing class, which acts as null object. (WebCore::KillRing::~KillRing):
  • platform/mac/KillRingMac.h: Add new KillRingMac class, which writes to the mac's kill ring.
  • platform/mac/KillRingMac.mm: Add new KillRingMac class, which writes to the mac's kill ring.
3:26 PM Changeset in webkit [60325] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-05-27 Ben Murdoch <benm@google.com>

Reviewed by Jian Li.

Build break in FileStream.cpp
https://bugs.webkit.org/show_bug.cgi?id=39841

When ENABLE_BLOB_SLICE is not defined, an undefined variable is used
in FileStream.cpp:114. Fix by using the correct variable.

Build fix so no new tests.

  • html/FileStream.cpp: (WebCore::FileStream::openForRead): Replace undefined variable with a defined one.
2:57 PM Changeset in webkit [60324] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-05-27 Hans Wennborg <hans@chromium.org>

Reviewed by Jeremy Orlow.

[Chromium] Default popup window size should not depend on zoom level
https://bugs.webkit.org/show_bug.cgi?id=39835

V8DOMWindow::openCallback should not set width and height of new
window unless specified in the function's arguments.

There is already code to reset the new window's origin coordinates,
but the same thing should be done to its dimensions as well. Otherwise,
a new popup with unspecified size will have its size depending on the
parent's zoom level, which is not desirable.

This is the same as what is done in
bindings/js/JSDOMWindowCustom.cpp:826.

  • bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::V8DOMWindow::openCallback):
2:45 PM Changeset in webkit [60323] by eric@webkit.org
  • 3 edits in trunk/JavaScriptCore

2010-05-27 Nathan Lawrence <nlawrence@apple.com>

Reviewed by Geoffrey Garen.

Search for the new allocation one word at a time. Improves
performance on SunSpider by approximately 1%.
http://bugs.webkit.org/show_bug.cgi?id=39758

  • runtime/Collector.cpp: (JSC::Heap::allocate):
  • runtime/Collector.h: (JSC::CollectorBitmap::advanceToNextPossibleFreeCell):
1:26 PM Changeset in webkit [60322] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-05-27 Anders Bakken <agbakken@gmail.com>

Reviewed by David Levin.

qt_instance.cpp has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39744

Fix webkit coding style issues in qt_instance.cpp

  • bridge/qt/qt_instance.cpp: (JSC::Bindings::QtInstance::getQtInstance): (JSC::Bindings::QtInstance::removeCachedMethod): (JSC::Bindings::QtInstance::markAggregate): (JSC::Bindings::QtInstance::getPropertyNames): (JSC::Bindings::QtInstance::stringValue): (JSC::Bindings::QtField::name): (JSC::Bindings::QtField::valueFromInstance):
1:14 PM Changeset in webkit [60321] by jparent@chromium.org
  • 3 edits in trunk/LayoutTests

Unreviewed.

Update Chromium expectations for runner.html after r60278.

  • platform/chromium-mac/html5lib/runner-expected.txt:
  • platform/chromium-win/html5lib/runner-expected.txt:
1:14 PM Changeset in webkit [60320] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-05-27 Anders Bakken <agbakken@gmail.com>

Reviewed by David Levin.

qt_instance.h has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39743

Fix webkit coding style issues in qt_instance.h

  • bridge/qt/qt_instance.h:
1:01 PM Changeset in webkit [60319] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-05-27 Anders Bakken <agbakken@gmail.com>

Reviewed by David Levin.

qt_class.h has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39742

Fix webkit coding style issues in qt_class.h

  • bridge/qt/qt_class.h:
12:50 PM Changeset in webkit [60318] by kov@webkit.org
  • 1 copy in releases/WebKitGTK/webkit-1.3.1

Tagging 1.3.1.

12:22 PM Changeset in webkit [60317] by eric.carlson@apple.com
  • 4 edits in trunk/WebCore

2010-05-27 Eric Carlson <eric.carlson@apple.com>

Reviewed by Darin Adler.

<rdar://problem/8016158> Crash in CVPixelBufferCreateResolvedAttributesDictionary with RLE
compressed movie.

Configure the visual context to generate Direct3D compatible pixel buffers when we are able to
use a CAImageQueue so there will be less conversion required before display. This change also
works around the issue that causes the RLE compressed movie to crash.

  • platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load): Pass enum to QTMovieVisualContext constructor instead of CFDictionary.
  • platform/graphics/win/QTMovieVisualContext.cpp: (SetNumberValue): (getPixelBufferCreationOptions): New, create options dictionary appropriate for the visual context type. (pixelBufferCreationOptions): New, return options dictionary appropriate for the visual context type. (QTMovieVisualContextPriv::QTMovieVisualContextPriv): Get the options dictionary from getPixelBufferCreationOptions insteaad of taking it as a parameter. (QTMovieVisualContext::QTMovieVisualContext): Take enum instead of CFDictionary for visual context configuration type.
  • platform/graphics/win/QTMovieVisualContext.h:
12:07 PM Changeset in webkit [60316] by andersca@apple.com
  • 4 edits in trunk

2010-05-27 Anders Carlsson <andersca@apple.com>

Reviewed by Adam Roben.

[Qt] REGRESSION(r60258): It broke 10 tests.
https://bugs.webkit.org/show_bug.cgi?id=39819

  • plugins/qt/PluginDataQt.cpp: (WebCore::PluginData::initPlugins): Append the MimeClassInfo object after it's been initialized.

2010-05-27 Anders Carlsson <andersca@apple.com>

Reviewed by Adam Roben.

[Qt] REGRESSION(r60258): It broke 10 tests.
https://bugs.webkit.org/show_bug.cgi?id=39819

Remove tests from the skipped list.

  • platform/qt/Skipped:
12:02 PM Changeset in webkit [60315] by kevino@webkit.org
  • 8 edits in trunk

[wx] Build fixes for Windows after recent changes.

11:37 AM Changeset in webkit [60314] by ap@apple.com
  • 2 edits in trunk/LayoutTests

https://bugs.webkit.org/show_bug.cgi?id=39852
[Qt] fast/encoding/yentest.html fails

  • platform/Qt/Skipped: Disabling the new tests for backslash transcoding.
11:34 AM Changeset in webkit [60313] by kov@webkit.org
  • 5 edits in trunk/WebKit/gtk

2010-05-27 Gustavo Noronha Silva <Gustavo Noronha Silva>

Update documentation control files, and fix Since tags for 1.3.1.

  • docs/webkitgtk-docs.sgml:
  • docs/webkitgtk-sections.txt:
  • webkit/webkitwebbackforwardlist.cpp:
  • webkit/webkitwebview.cpp:
11:19 AM Changeset in webkit [60312] by kov@webkit.org
  • 2 edits in trunk

2010-05-27 Gustavo Noronha Silva <Gustavo Noronha Silva>

Final make distcheck fix - clean up generated GDOM files on distclean.

  • GNUmakefile.am:
10:27 AM Changeset in webkit [60311] by ap@apple.com
  • 1 edit
    6 adds in trunk/LayoutTests

Reviewed by Shinichiro Hamaji.

https://bugs.webkit.org/show_bug.cgi?id=39606
Land tests for <rdar://problem/3277733>: \ in JavaScript mishandled when encoding is Japanese

  • fast/encoding/resources/yentestexternal.js: Added.
  • fast/encoding/resources/yentestexternal2.js: Added.
  • fast/encoding/yentest-expected.txt: Added.
  • fast/encoding/yentest.html: Added.
  • fast/encoding/yentest2-expected.txt: Added.
  • fast/encoding/yentest2.html: Added.
10:26 AM Changeset in webkit [60310] by Chris Fleizach
  • 2 edits in trunk/WebCore

Bug 39324 - AX: WebKit doesn't call [super -accessibilityAttributeValue:attribute forParameter:] when it encounters a parameter$
https://bugs.webkit.org/show_bug.cgi?id=39324

No review, build fixage.

Rolling out change from r60307 until a better fix is ready.

  • accessibility/mac/AccessibilityObjectWrapper.mm:

(-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

10:12 AM Changeset in webkit [60309] by yurys@chromium.org
  • 2 edits in trunk/WebCore

2010-05-27 Yury Semikhatsky <yurys@chromium.org>

Reviewed by Pavel Feldman.

[v8] Web Inspector: check that ScriptDebugListener was not removed
while messages were dispatched in the nested loop.
https://bugs.webkit.org/show_bug.cgi?id=39838

  • bindings/v8/ScriptDebugServer.cpp: (WebCore::ScriptDebugServer::handleV8DebugEvent):
9:26 AM Changeset in webkit [60308] by yurys@chromium.org
  • 2 edits in trunk/WebCore

2010-05-27 Yury Semikhatsky <yurys@chromium.org>

Reviewed by Pavel Feldman.

[v8] Web Inspector: undefined script URL value should be converted to an emtpy
WebCore::String instead of "undefined" string. Otherwise it's shown
in the Scripts panel with "undefined:<line no>" URL.
https://bugs.webkit.org/show_bug.cgi?id=39845

  • bindings/v8/ScriptDebugServer.cpp: (WebCore::ScriptDebugServer::dispatchDidParseSource):
9:20 AM Changeset in webkit [60307] by Chris Fleizach
  • 2 edits in trunk/WebCore

AX: WebKit doesn't call [super -accessibilityAttributeValue:attribute forParameter:] when it encounters a parameterized attribute that it doesn't handle.
https://bugs.webkit.org/show_bug.cgi?id=39324

Reviewed by Darin Adler.

Make sure that accessibilityAttributeValue:forParameter: will default to its super's implementation. This is how AppKit expects objects to behave.

  • accessibility/mac/AccessibilityObjectWrapper.mm:

(-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

9:18 AM Changeset in webkit [60306] by xan@webkit.org
  • 4 edits in trunk

2010-05-27 Xan Lopez <xlopez@igalia.com>

More GTK+ distcheck fixes.

  • GNUmakefile.am:
9:16 AM Changeset in webkit [60305] by xan@webkit.org
  • 4 edits in trunk

2010-05-27 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

Bump for 1.3.1 release.

  • configure.ac:

WebKit/gtk:

2010-05-27 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

Update for 1.3.1 release.

  • NEWS:
8:55 AM Changeset in webkit [60304] by kov@webkit.org
  • 2 edits in trunk/JavaScriptCore

2010-05-27 Gustavo Noronha Silva <Gustavo Noronha Silva>

More build fixage for make dist.

  • GNUmakefile.am:
8:48 AM Changeset in webkit [60303] by yurys@chromium.org
  • 2 edits in trunk/WebKit/chromium

2010-05-27 Yury Semikhatsky <yurys@chromium.org>

Reviewed by Pavel Feldman.

Resume script execution if user tries to navigate to another URL
https://bugs.webkit.org/show_bug.cgi?id=39842

  • src/WebDevToolsAgentImpl.cpp: (WebKit::): (WebKit::WebDevToolsAgentImpl::didNavigate):
8:16 AM Changeset in webkit [60302] by yurys@chromium.org
  • 2 edits in trunk/WebCore

2010-05-27 Yury Semikhatsky <yurys@chromium.org>

Reviewed by Pavel Feldman.

[v8] Web Inspector: notify ScriptDebugListener when execution is resumed
https://bugs.webkit.org/show_bug.cgi?id=39838

  • bindings/v8/ScriptDebugServer.cpp: (WebCore::ScriptDebugServer::handleV8DebugEvent):
8:05 AM Changeset in webkit [60301] by eric@webkit.org
  • 2 edits in trunk/LayoutTests

2010-05-27 Tony Gentilcore <tonyg@chromium.org>

Reviewed by Ojan Vafai.

Mark some SVG tests as flaky on Windows
https://bugs.webkit.org/show_bug.cgi?id=39790

The following SVG tests have been failing intermittently on the
chromium console for the past 2+ days.

  • svg/clip-path/clip-path-childs-clipped.svg
  • svg/clip-path/clip-path-evenodd-nonzero.svg
  • svg/clip-path/clip-path-text-and-shape.svg
  • svg/text/text-text-04-t.svg
  • svg/text/text-text-05-t.svg
  • platform/chromium/test_expectations.txt:
7:36 AM Changeset in webkit [60300] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-05-27 Anders Bakken <agbakken@gmail.com>

Reviewed by David Levin.

qt_pixmapruntime.cpp has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39745

Fix webkit coding style issues in qt_pixmapruntime.cpp

  • bridge/qt/qt_pixmapruntime.cpp:
6:42 AM Changeset in webkit [60299] by jorlow@chromium.org
  • 4 edits
    2 copies
    2 moves
    4 adds
    1 delete in trunk

2010-05-26 Jeremy Orlow <jorlow@chromium.org>

Reviewed by Steve Block.

Clean up IndexedDB layout tests
https://bugs.webkit.org/show_bug.cgi?id=39748

Split basics.js into a common library plus 2 other tests. This
will make it easier to ensure good test coverage as we go forward
without too much cut and paste coding. For the most part, each
IndexedDB idl file should have its own test in the future (at a
minimum).

Also switching the 'description' portion of the test expectation
to reflect the build fix from last night (which breaks the feature).

  • storage/indexeddb/basics-expected.txt: Removed.
  • storage/indexeddb/basics.html: Removed.
  • storage/indexeddb/idb-database-request-expected.txt: Added.
  • storage/indexeddb/idb-database-request.html: Added.
  • storage/indexeddb/indexed-database-request-expected.txt: Added.
  • storage/indexeddb/indexed-database-request.html: Added.
  • storage/indexeddb/resources/shared.js: Added. (init): (done): (verifyEventCommon): (verifyErrorEvent): (verifySuccessEvent): (verifyResult): (unexpectedErrorCallback):
  • storage/indexeddb/script-tests/TEMPLATE.html:
  • storage/indexeddb/script-tests/basics.js: Removed.
  • storage/indexeddb/script-tests/idb-database-request.js: Added. (openSuccess): (test):
  • storage/indexeddb/script-tests/indexed-database-request.js: Added. (openCallback): (test):

2010-05-26 Jeremy Orlow <jorlow@chromium.org>

Reviewed by Steve Block.

Clean up IndexedDB layout tests
https://bugs.webkit.org/show_bug.cgi?id=39748

Remove an assert that always fires.

Tests: storage/indexeddb/idb-database-request.html

storage/indexeddb/indexed-database-request.html

  • storage/IDBDatabaseImpl.cpp: (WebCore::IDBDatabaseImpl::objectStores):
6:35 AM Changeset in webkit [60298] by kov@webkit.org
  • 2 edits in trunk

2010-05-27 Gustavo Noronha Silva <Gustavo Noronha Silva>

Reviewed by Xan Lopez.

Build fix for introspection support - make sure DOM headers are
included by the GI scanner.

  • GNUmakefile.am:
6:12 AM Changeset in webkit [60297] by pfeldman@chromium.org
  • 3 edits
    2 deletes in trunk

2010-05-27 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Yury Semikhatsky.

Web Inspector: Get CSS rule offsets lazily.

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

  • inspector/InspectorCSSStore.cpp: (WebCore::InspectorCSSStore::getStartEndOffsets):
  • inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::buildObjectForRule):
6:02 AM Changeset in webkit [60296] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-05-27 Anders Bakken <agbakken@gmail.com>

Reviewed by David Levin.

qt_class.cpp has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39741

Fix webkit coding style issues in qt_class.cpp

  • bridge/qt/qt_class.cpp: (JSC::Bindings::QtClass::fieldNamed):
5:48 AM Changeset in webkit [60295] by eric@webkit.org
  • 1 edit
    3 adds in trunk/LayoutTests

2010-05-27 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>

Reviewed by Brady Eidson.

New Layout test for the history.pushState function.

The test checks if history.length property is correct after
a few pushState calls.

history.pushState doesn't work for the first page in a window.
https://bugs.webkit.org/show_bug.cgi?id=39418

  • fast/loader/stateobjects/pushstate-without-history-expected.txt: Added.
  • fast/loader/stateobjects/pushstate-without-history.html: Added.
5:36 AM Changeset in webkit [60294] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

2010-05-27 Kwang Yul Seo <skyul@company100.net>

Reviewed by Darin Adler.

RVCT does not have strnstr.
https://bugs.webkit.org/show_bug.cgi?id=39719

Add COMPILER(RVCT) guard to strnstr in StringExtras.h as RVCT does not provide strnstr.

  • wtf/StringExtras.h:
5:14 AM Changeset in webkit [60293] by Philippe Normand
  • 3 edits in trunk/WebKitTools

2010-05-27 Philippe Normand <pnormand@igalia.com>

Reviewed by Shinichiro Hamaji.

check-webkit-style complains about use of NULL in GTK function calls that require sentinels
https://bugs.webkit.org/show_bug.cgi?id=39372

Don't warn about NULL in g_*() calls. Zero can't be used instead
for calls like g_build_filename and g_object_get/set.

  • Scripts/webkitpy/style/checkers/cpp.py:
  • Scripts/webkitpy/style/checkers/cpp_unittest.py:
5:12 AM Changeset in webkit [60292] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-05-27 Eric Seidel <eric@webkit.org>

Reviewed by Darin Adler.

Remove bit-rotten INSTRUMENT_LAYOUT_SCHEDULING code from HTMLTokenizer
https://bugs.webkit.org/show_bug.cgi?id=39714

This came from a discussion on #webkit with Hyatt about this code
being old and no longer used to either of our knowledge.

No functional changes, thus no tests.

I also removed a bogus FIXME I had added in an earlier patch
before I understood what the HTMLTokenizer was trying to do.

  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::scriptHandler): (WebCore::HTMLTokenizer::scriptExecution): (WebCore::HTMLTokenizer::continueProcessing): (WebCore::HTMLTokenizer::willWriteHTML): (WebCore::HTMLTokenizer::didWriteHTML): (WebCore::HTMLTokenizer::timerFired): (WebCore::HTMLTokenizer::executeExternalScriptsIfReady):
5:01 AM Changeset in webkit [60291] by eric@webkit.org
  • 6 edits in trunk/WebCore

2010-05-27 Anton Muhin <antonm@chromium.org>

Reviewed by Adam Barth.

Add callbacks to ScriptController to allow notifications on named items additions and removals
https://bugs.webkit.org/show_bug.cgi?id=39679

  • bindings/js/ScriptController.h: Callbacks with empty implementation added. (WebCore::ScriptController::namedItemAdded): (WebCore::ScriptController::namedItemRemoved):
  • bindings/v8/ScriptController.cpp: Empty implementation of callbacks. (WebCore::ScriptController::namedItemAdded): (WebCore::ScriptController::namedItemRemoved):
  • bindings/v8/ScriptController.h: Callbacks added.
  • html/HTMLDocument.cpp: Hooking in callbacks. (WebCore::HTMLDocument::addItemToMap): (WebCore::HTMLDocument::removeItemFromMap):
  • html/HTMLDocument.h:
4:43 AM Changeset in webkit [60290] by eric@webkit.org
  • 10 edits
    2 adds in trunk

2010-05-27 Zhenyao Mo <zmo@google.com>

Reviewed by Dimitri Glazkov.

Implement lazy clearing of renderbuffers
https://bugs.webkit.org/show_bug.cgi?id=36248

  • fast/canvas/webgl/renderbuffer-initialization-expected.txt: Added.
  • fast/canvas/webgl/renderbuffer-initialization.html: Added.

2010-05-27 Zhenyao Mo <zmo@google.com>

Reviewed by Dimitri Glazkov.

Implement lazy clearing of renderbuffers
https://bugs.webkit.org/show_bug.cgi?id=36248

Test: fast/canvas/webgl/renderbuffer-initialization.html

  • html/canvas/WebGLFramebuffer.cpp: (WebCore::WebGLFramebuffer::WebGLFramebuffer): Init added members. (WebCore::WebGLFramebuffer::setAttachment): Set attachment object. (WebCore::WebGLFramebuffer::onBind): Perform buffer clearing if needed. (WebCore::WebGLFramebuffer::onAttachedObjectChange): Ditto. (WebCore::WebGLFramebuffer::isUninitialized): Check whether an attached object is uninitialized renderbuffer. (WebCore::WebGLFramebuffer::setInitialized): After initialize a renderbuffer, set the flag. (WebCore::WebGLFramebuffer::initializeRenderbuffers): Clear un-initialized renderbuffers if framebuffer is complete.
  • html/canvas/WebGLFramebuffer.h: (WebCore::WebGLFramebuffer::isDepthAttached): Changed to check object. (WebCore::WebGLFramebuffer::isStencilAttached): Ditto. (WebCore::WebGLFramebuffer::isDepthStencilAttached): Ditto.
  • html/canvas/WebGLRenderbuffer.cpp: (WebCore::WebGLRenderbuffer::WebGLRenderbuffer): Init added members.
  • html/canvas/WebGLRenderbuffer.h: (WebCore::WebGLRenderbuffer::isInitialized): As the function name. (WebCore::WebGLRenderbuffer::setInitialized): Ditto.
  • html/canvas/WebGLRenderingContext.cpp: (WebCore::WebGLRenderingContext::bindFramebuffer): Call onBind(). (WebCore::WebGLRenderingContext::copyTexImage2D): Call onAttachedObjectChange(). (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto. (WebCore::WebGLRenderingContext::deleteTexture): Ditto. (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Call setAttachment. (WebCore::WebGLRenderingContext::framebufferTexture2D): Call onAttachedObjectChange(). (WebCore::WebGLRenderingContext::renderbufferStorage): Ditto. (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
  • platform/graphics/mac/GraphicsContext3DMac.cpp: (WebCore::GraphicsContext3D::reshape): Initialize internal buffers.

2010-05-27 Zhenyao Mo <zmo@google.com>

Reviewed by Dimitri Glazkov.

Implement lazy clearing of renderbuffers
https://bugs.webkit.org/show_bug.cgi?id=36248

  • src/WebGraphicsContext3DDefaultImpl.cpp: (WebKit::WebGraphicsContext3DDefaultImpl::reshape): Clear WebGL internal buffers.
3:51 AM Changeset in webkit [60289] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-05-27 Kristian Monsen <kristianm@google.com>

Reviewed by Darin Adler.

Compile fix for Android, added include for Refcounted.h, this did not get
included through Threading.h in Android.
https://bugs.webkit.org/show_bug.cgi?id=39678

Build fix only, no new tests.

  • storage/SQLTransactionSyncCallback.h:
3:39 AM Changeset in webkit [60288] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-05-27 Joone Hur <joone@kldp.org>

Reviewed by Xan Lopez.

Add GtkVersioning.h in ScrollbackGtk.cpp for maintaining compatibility with the previous GTK+

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

  • platform/gtk/ScrollbarGtk.cpp:
3:28 AM Changeset in webkit [60287] by eric@webkit.org
  • 6 edits
    4 adds in trunk

2010-05-27 Hans Wennborg <hans@chromium.org>

Reviewed by Alexey Proskuryakov.

Increase limit on number of (i)frames from 200 to 1000.
https://bugs.webkit.org/show_bug.cgi?id=39427

Add layout tests that test the possibility of generating 1000 iframes.

  • compositing/iframes/lots-of-iframes-expected.txt: Added.
  • compositing/iframes/lots-of-iframes.html: Added.
  • compositing/iframes/lots-of-objects-expected.txt: Added.
  • compositing/iframes/lots-of-objects.html: Added.

2010-05-27 Hans Wennborg <hans@chromium.org>

Reviewed by Alexey Proskuryakov.

Increase limit on number of (i)frames from 200 to 1000.
https://bugs.webkit.org/show_bug.cgi?id=39427

The limit on number of iframes was introduced in r3707 back in 2003.
An example of a page that is broken because of this is:
http://vimcolorschemetest.googlecode.com/svn/html/index-c.html
Neither Firefox nor IE has such a limit.

It seems that WebKit can handle a significantly higher number of frames, and
the original reasons for imposing the limit are believed to be gone.

Tests: compositing/iframes/lots-of-iframes.html

compositing/iframes/lots-of-objects.html

  • html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::isURLAllowed):
  • page/FrameTree.cpp: (WebCore::FrameTree::uniqueChildName):
  • page/Page.h:
  • rendering/RenderEmbeddedObject.cpp: (WebCore::isURLAllowed):
2:51 AM Changeset in webkit [60286] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-05-27 Kwang Yul Seo <skyul@company100.net>

Reviewed by Xan Lopez.

[GTK] writeToFile fails when length is large
https://bugs.webkit.org/show_bug.cgi?id=39666

writeToFile forgot to increment data pointer.

  • platform/gtk/FileSystemGtk.cpp: (WebCore::writeToFile):
2:37 AM Changeset in webkit [60285] by eric@webkit.org
  • 3 edits
    7 adds in trunk

2010-05-27 Luiz Agostini <luiz.agostini@openbossa.org>

Reviewed by Kenneth Rohde Christiansen.

[Qt] Platform plugin example
https://bugs.webkit.org/show_bug.cgi?id=39489

Adding a Qt platform plugin example to repository.

  • examples/platformplugin/README: Added.
  • examples/platformplugin/WebPlugin.cpp: Added. (Popup::populateList): (Popup::onItemSelected): (WebPopup::WebPopup): (WebPopup::~WebPopup): (WebPopup::createSingleSelectionPopup): (WebPopup::createMultipleSelectionPopup): (WebPopup::createPopup): (WebPopup::show): (WebPopup::hide): (WebPopup::popupClosed): (WebPopup::itemClicked): (SingleSelectionPopup::SingleSelectionPopup): (MultipleItemListDelegate::MultipleItemListDelegate): (MultipleItemListDelegate::paint): (MultipleSelectionPopup::MultipleSelectionPopup): (WebPlugin::supportsExtension):
  • examples/platformplugin/WebPlugin.h: Added. (Popup::Popup): (WebPlugin::createSelectInputMethod):
  • examples/platformplugin/platformplugin.pro: Added.
  • examples/platformplugin/qwebkitplatformplugin.h: Copied from WebKit/qt/Api/qwebkitplatformplugin.h. (QWebSelectData::~QWebSelectData): (QWebSelectData::): (QWebSelectMethod::~QWebSelectMethod): (QWebKitPlatformPlugin::~QWebKitPlatformPlugin): (QWebKitPlatformPlugin::):

2010-05-27 Luiz Agostini <luiz.agostini@openbossa.org>

Reviewed by Kenneth Rohde Christiansen.

[Qt] Platform plugin example
https://bugs.webkit.org/show_bug.cgi?id=39489

Exempting directory WebKit/qt/examples/ from style guide.

  • Scripts/webkitpy/style/checker.py:
2:30 AM Changeset in webkit [60284] by Martin Robinson
  • 2 edits in trunk/WebKit/gtk

[GTK] Dragging onto the desktop causes a critical GLib warning
https://bugs.webkit.org/show_bug.cgi?id=39718

Reviewed by Xan Lopez.

Only increment the window reference count if it is not null during drag-end
signal processing.

  • webkit/webkitwebview.cpp:

(webkit_web_view_drag_end): Guard against null window values.

2:21 AM Changeset in webkit [60283] by Philippe Normand
  • 3 edits in trunk/WebKitTools

2010-05-26 Philippe Normand <pnormand@igalia.com>

Reviewed by David Levin.

[style] Allow usage of NULL in gst_*_many()
https://bugs.webkit.org/show_bug.cgi?id=39740

Don't warn if NULL is used by gst_*_many() functions. Zero can't
be used for the reason explained in Bug 32858.

  • Scripts/webkitpy/style/checkers/cpp.py:
  • Scripts/webkitpy/style/checkers/cpp_unittest.py:
1:30 AM Changeset in webkit [60282] by hyatt@apple.com
  • 7 edits in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=39783, clean up the moveChild functions on RenderBlock.

Reviewed by Sam Weinig.

Eliminate the need to pass the toChildrenList to the moveChild functions by tightening up the type of the
|to| argument to be a RenderBlock.

Add a moveChildrenTo function that can move a range of children, and patch places that were doing this
by hand.

Make the append forms of the functions just use the insert forms with a beforeChild of 0.

Patch insertChildNode in RenderObjectChildList so that it passes the fullInsert parameter through in the
case where it does an append.

Add an assert to RenderLayer that catches bad structure built when the fullInsert/Remove parameters are
messed up when using append/insertChildNode.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
(WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
(WebCore::RenderBlock::createAndAppendRootInlineBox):
(WebCore::RenderBlock::moveChildTo):
(WebCore::RenderBlock::moveChildrenTo):
(WebCore::RenderBlock::makeChildrenNonInline):
(WebCore::RenderBlock::removeChild):

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::moveChildTo):
(WebCore::RenderBlock::moveAllChildrenTo):
(WebCore::RenderBlock::moveChildrenTo):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::addChild):

  • rendering/RenderObjectChildList.cpp:

(WebCore::RenderObjectChildList::insertChildNode):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::moveInlineChildren):

1:30 AM Changeset in webkit [60281] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

Unreviewed. Add failing tests to the Skipped list temporarily.

[Qt] REGRESSION(r60258): It broke 10 tests.
https://bugs.webkit.org/show_bug.cgi?id=39819

  • platform/qt/Skipped:
1:17 AM Changeset in webkit [60280] by eric@webkit.org
  • 6 edits in trunk

2010-05-27 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

Add <pre>/<listing> hack to HTML5Lexer to fix the last remaining HTML5 test suite regressions
https://bugs.webkit.org/show_bug.cgi?id=39818

  • html5lib/runner-expected-html5.txt:

2010-05-27 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

Add <pre>/<listing> hack to HTML5Lexer to fix the last remaining HTML5 test suite regressions
https://bugs.webkit.org/show_bug.cgi?id=39818

HTML parsers are supposed to ignore the first \n after a <pre> or <listing> tag
for authoring convenience. Our new HTML5Lexer didn't have this hack yet
so there were 4 HTML5 tests failing. Fixing this fixed the last of the HTML5
test suite regressions using the HTML5Lexer vs the old lexer.

  • html/HTML5Lexer.cpp: (WebCore::HTML5Lexer::reset): (WebCore::HTML5Lexer::nextToken):
  • html/HTML5Lexer.h: (WebCore::HTML5Lexer::skipLeadingNewLineForListing):
  • html/HTML5TreeBuilder.cpp: (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
1:00 AM Changeset in webkit [60279] by abarth@webkit.org
  • 1 add in trunk/LayoutTests/html5lib/runner-expected-html5.txt

Add missing file from my last commit.

12:44 AM Changeset in webkit [60278] by abarth@webkit.org
  • 5 edits
    3 deletes in trunk

2010-05-27 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Remove custom webkit runner and update normal runner with our nifty
goodness.

  • html5lib/runner-expected.txt:
  • html5lib/runner.html:
  • html5lib/webkit-runner-expected-html5.txt: Removed.
  • html5lib/webkit-runner-expected.txt: Removed.
  • html5lib/webkit-runner.html: Removed.

2010-05-27 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Update script to run the normal version of the parser tests.

  • Scripts/test-html5-parser:
12:20 AM Changeset in webkit [60277] by abarth@webkit.org
  • 2 edits in trunk/WebKitTools

2010-05-27 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Add HTML5 parser support to run-webkit-tests
https://bugs.webkit.org/show_bug.cgi?id=39815

  • Scripts/old-run-webkit-tests:
12:18 AM Changeset in webkit [60276] by rolandsteiner@chromium.org
  • 2 edits in trunk/WebKit/chromium

2010-05-26 Roland Steiner <rolandsteiner@chromium.org>

Reviewed by NOBODY (layout test crashing fix).

Bug 39811 - WebPluginListBuilderImpl::addMediaTypeToLastPlugin does not initialize pluginIndex
https://bugs.webkit.org/show_bug.cgi?id=39811

Initialize the pluginIndex field (quick fix).

Tests: covered by fast/dom/prototype-inheritance-2.html
(crashed under Chromium Linux and Windows)

  • src/WebPluginListBuilderImpl.cpp: (WebKit::WebPluginListBuilderImpl::addMediaTypeToLastPlugin):
12:14 AM Changeset in webkit [60275] by eric@webkit.org
  • 17 edits
    1 copy
    1 add in trunk

2010-05-26 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

Update our expectations now that we're handling external scripts.

  • html5lib/webkit-runner-expected-html5.txt:

2010-05-26 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

Teach the HTML5 parser how to handle external scripts
https://bugs.webkit.org/show_bug.cgi?id=39716

Make it possible for the HTML5Tokenizer to run external scripts.
I created a new class HTML5ScriptRunner to hold all of the
script-logic which is scattered throughout the old HTMLTokenizer.

The design is for the HTML5Tokenizer (the "controller") to hold
the Lexer, TreeBuilder and ScriptRunner. The Lexer returns back
to the controller, which passes tokens to the TreeBuilder. When the
treebuilder encounters a </script> tag it pauses itself and returns
back to the controller which calls the ScriptRunner. The TreeBuilder
is un-paused when the HTML5Tokenizer calls takeScriptToProcess().

The ScriptRunner attempts to process the passed script, and additionally
any blocked scripts it can. It returns to the controller indicating if
parsing should continue. If not, callbacks when external scripts load
or when stylesheets are finished parsing will cause the controller to
kick off script execution and parsing again at a later point.

  • WebCore.xcodeproj/project.pbxproj:
    • Add HTML5ScriptRunner.*
  • bindings/js/CachedScriptSourceProvider.h:
    • Add missing include discovered while building.
  • dom/ScriptElement.cpp: (WebCore::ScriptElement::finishParsingChildren):
    • Remove previous hack for inline <script> execution.
  • dom/ScriptElement.h:
    • Explain the HTML5 spec names for m_evaluated and m_createdByParser.
  • html/HTML5ScriptRunner.cpp: Added. (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
    • The HTML5Tokenizer is passed to the HTML5ScriptRunner as a CachedResourceClient. The HTML5ScriptRunner will register the HTML5Tokenizer for notifyFinished callbacks when the scripts load. The HTML5Tokenizer is expected to call the HTML5ScriptRunner to execute any loaded scripts at that point.

(WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
(WebCore::HTML5ScriptRunner::frame): Helper method.
(WebCore::createScriptLoadEvent): Helper method.
(WebCore::createScriptErrorEvent): Helper method.
(WebCore::HTML5ScriptRunner::sourceFromPendingScript):

  • Helper method for dealing with both inline and external script types.

(WebCore::HTML5ScriptRunner::isPendingScriptReady):

  • Helper for dealing with both inline and external scripts.

(WebCore::HTML5ScriptRunner::executePendingScript):

  • Execute one script. Both external and inline scripts can become m_parsingBlockingScript if they can't be executed immediately after parsing.

(WebCore::HTML5ScriptRunner::execute):

  • Takes a script element from the tree builder and tries to process it.

(WebCore::HTML5ScriptRunner::executeParsingBlockingScripts):

  • Runs the current parsing blocking script if ready.
  • Running a script could add another parsing blocking script so we loop until there is no ready-to-run parsing blocking script.

(WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):

  • Called by HTML5Tokenizer when a script loads.

(WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):

  • Called by HTML5Tokenizer when stylesheets complete.

(WebCore::HTML5ScriptRunner::requestScript):

  • Transcription of the HTML5 spec.

(WebCore::HTML5ScriptRunner::runScript):

  • Transcription of the HTML5 spec.
  • html/HTML5ScriptRunner.h: Added.
    • New class to handle script loading and execution for the HTML5 parser.
  • html/HTML5Tokenizer.cpp: (WebCore::HTML5Tokenizer::HTML5Tokenizer):
    • Create a HTML5ScriptRunner and pass it "this" as the CachedResourceClient.

(WebCore::HTML5Tokenizer::pumpLexer):

  • When the parser is paused, try to run scripts.

(WebCore::HTML5Tokenizer::write):

  • Only pump the lexer when the parser is not paused.

(WebCore::HTML5Tokenizer::end):

  • finish() tells us that we've reached EOF, not end()
  • Only pump the lexer when the parser is not paused.

(WebCore::HTML5Tokenizer::finish):

  • Mark EOF, and end() if we're not waiting on scripts.

(WebCore::HTML5Tokenizer::isWaitingForScripts):

  • isPaused() seems to mean isPausedForExternalScripts().

(WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
(WebCore::HTML5Tokenizer::notifyFinished):
(WebCore::HTML5Tokenizer::executeScriptsWaitingForStylesheets):

  • html/HTML5Tokenizer.h:
  • html/HTML5TreeBuilder.cpp: (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
    • Add an m_isPaused flag.

(WebCore::HTML5TreeBuilder::handleScriptStartTag):
(WebCore::HTML5TreeBuilder::handleScriptEndTag):
(WebCore::HTML5TreeBuilder::takeScriptToProcess):

  • Acknowledge that the caller has received the script element. It is the caller's responsibility to execute the script if necessary and re-pause the tree builder if necessary.

(WebCore::HTML5TreeBuilder::passTokenToLegacyParser):

  • Save off the current script tag so that it can be passed to the HTML5ScriptRunner when we're paused.
  • html/HTML5TreeBuilder.h: (WebCore::HTML5TreeBuilder::setPaused): (WebCore::HTML5TreeBuilder::isPaused):
Note: See TracTimeline for information about the timeline view.