Timeline


and

10/08/08:

22:38 Changeset [37443] by mrowe@apple.com
  • 3 edits in tags/Safari-6528.4.1/WebKitLibraries

Merge r37442.

22:36 Changeset [37442] by mrowe@apple.com
  • 2 edits in trunk/WebKitLibraries

Remove restriction on version number ending in a 4.

Rubber-stamped by Jon Honeycutt.

  • win/tools/scripts/auto-version.sh:
22:30 Changeset [37441] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-10-08 Cameron Zwarich <zwarich@apple.com>

Reviewed by Maciej Stachowiak.

Bug 21497: REGRESSION (r37433): Bytecode JSC tests are severely broken
<https://bugs.webkit.org/show_bug.cgi?id=21497>

Fix a typo in r37433 that causes the failure of a large number of JSC
tests with the bytecode interpreter enabled.

  • VM/Machine.cpp: (JSC::Machine::privateExecute):
22:19 Changeset [37440] by mrowe@apple.com
  • 2 edits in trunk/WebKitTools

Fix the Windows build after r37434.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(dump): Update code to approximate valid C++ syntax.

21:34 Changeset [37439] by timothy@apple.com
  • 2 edits in trunk/WebKitTools

Add SVGElementInstance to the list of exceptions that have
global initializers in debug builds.

Rubber-stamped by Mark Rowe.

  • Scripts/check-for-global-initializers: Add SVGElementInstance.o.
21:05 Changeset [37438] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Windows build fix.

  • VM/CTI.cpp:

(JSC::): Update type of argument to ctiTrampoline.

20:57 Changeset [37437] by mitz@apple.com
  • 7 edits in trunk/LayoutTests/platform/mac

Correct MIME types

20:54 Changeset [37436] by zimmermann@webkit.org
  • 2 edits in trunk

Not reviewed. Fix Sams name :-)

20:34 Changeset [37435] by zimmermann@webkit.org
  • 22 edits
    4 moves
    18 adds
    4 deletes in trunk

Reviewed by Oliver Hunt & Sam Weining.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=15413 (SVGElementInstance does not implement EventTarget)
Fixes: https://bugs.webkit.org/show_bug.cgi?id=15430 (SVGElementInstances should rebuild themselves lazily)
Fixes: https://bugs.webkit.org/show_bug.cgi?id=20550 (SVGUseElement.setAttribute crashes Safari)

Rebuild SVG use element shadow tree lazily. Mark SVGElementInstance with the "needsUpdate" flag.
Next time SVGUseElement::recalcStyle is invoked (ie. via Document::updateDocumentsRendering()) the
use tree is rebuild.

Make SVGElementInstance a real EventTarget, as the SVG specification demands.
When dispatching events to a shadow tree element of a use element, the associated SVGElementInstance
is used as event target. The SVGElementInstance, the shadow tree element and the corresponding element
share an event listener list. Every event listener change on the SVGElementInstance object is forwared
to the corresponding element. Each change marks the SVGElementInstance tree dirty, and causes a reclone.
Each event listener defined via attributes (onclick/onkeydown/...) is copied from the correspondingElement
to the shadow tree element - through the cloneNode calls - if the use element's shadow tree gets rebuild.
Each listener, dynamically created using addEventListener, gets copied to the corersponding element as well.

Now that the target/currentTarget properties of the Events are correct, event bubbling works as expected,
see resources/use-instanceRoot-event-bubbling.js for details.

Tests: svg/custom/use-elementInstance-event-target.svg (reenabled)

svg/custom/use-elementInstance-methods.svg (reenabled)
svg/custom/use-setAttribute-crash.svg (covers bug 20550)
svg/custom/use-instanceRoot-as-event-target.xhtml (covers bug 15413)
svg/custom/use-instanceRoot-event-bubbling.xhtml (covers bug 15413)
svg/custom/use-instanceRoot-event-listeners.xhtml (covers bug 15413 & 15430)

17:45 Changeset [37434] by simon.fraser@apple.com
  • 5 edits in trunk/WebKitTools

2008-10-08 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dan Bernstein

Avoid disconnect between DRT and run-webkit-tests
about whether to expect PNG dumps by having DRT always
print two blocks terminated by #EOF, the second of which
may be empty.

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

  • DumpRenderTree/cg/PixelDumpSupportCG.cpp: (printPNG): (dumpWebViewAsPixelsAndCompareWithExpected):
  • DumpRenderTree/mac/DumpRenderTree.mm: (dump):
  • DumpRenderTree/win/DumpRenderTree.cpp: (dump):
  • Scripts/run-webkit-tests:
17:40 Changeset [37433] by darin@apple.com
  • 41 edits in trunk

JavaScriptCore:

2008-10-08 Darin Adler <darin@apple.com>

Reviewed by Cameron Zwarich.

Add CallFrame as a synonym for ExecState. Arguably, some day we should switch every
client over to the new name.

Use CallFrame* consistently rather than Register* or ExecState* in low-level code such
as Machine.cpp and CTI.cpp. Similarly, use callFrame rather than r as its name and use
accessor functions to get at things in the frame.

Eliminate other uses of ExecState* that aren't needed, replacing in some cases with
JSGlobalData* and in other cases eliminating them entirely.

  • API/JSObjectRef.cpp: (JSObjectMakeFunctionWithCallback): (JSObjectMakeFunction): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectDeleteProperty):
  • API/OpaqueJSString.cpp:
  • API/OpaqueJSString.h:
  • VM/CTI.cpp: (JSC::CTI::getConstant): (JSC::CTI::emitGetArg): (JSC::CTI::emitGetPutArg): (JSC::CTI::getConstantImmediateNumericArg): (JSC::CTI::printOpcodeOperandTypes): (JSC::CTI::CTI): (JSC::CTI::compileOpCall): (JSC::CTI::compileBinaryArithOp): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompile): (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompileGetByIdChain): (JSC::CTI::compileRegExp):
  • VM/CTI.h:
  • VM/CodeBlock.h:
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitEqualityOp): (JSC::CodeGenerator::emitLoad): (JSC::CodeGenerator::emitUnexpectedLoad): (JSC::CodeGenerator::emitConstruct):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAddSlowCase): (JSC::jsAdd): (JSC::jsTypeStringForValue): (JSC::Machine::resolve): (JSC::Machine::resolveSkip): (JSC::Machine::resolveGlobal): (JSC::inlineResolveBase): (JSC::Machine::resolveBase): (JSC::Machine::resolveBaseAndProperty): (JSC::Machine::resolveBaseAndFunc): (JSC::Machine::slideRegisterWindowForCall): (JSC::isNotObject): (JSC::Machine::callEval): (JSC::Machine::dumpCallFrame): (JSC::Machine::dumpRegisters): (JSC::Machine::unwindCallFrame): (JSC::Machine::throwException): (JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope): (JSC::DynamicGlobalObjectScope::~DynamicGlobalObjectScope): (JSC::Machine::execute): (JSC::Machine::debug): (JSC::Machine::createExceptionScope): (JSC::cachePrototypeChain): (JSC::Machine::tryCachePutByID): (JSC::Machine::tryCacheGetByID): (JSC::Machine::privateExecute): (JSC::Machine::retrieveArguments): (JSC::Machine::retrieveCaller): (JSC::Machine::retrieveLastCaller): (JSC::Machine::findFunctionCallFrame): (JSC::Machine::getArgumentsData): (JSC::Machine::tryCTICachePutByID): (JSC::Machine::getCTIArrayLengthTrampoline): (JSC::Machine::getCTIStringLengthTrampoline): (JSC::Machine::tryCTICacheGetByID): (JSC::Machine::cti_op_convert_this): (JSC::Machine::cti_op_end): (JSC::Machine::cti_op_add): (JSC::Machine::cti_op_pre_inc): (JSC::Machine::cti_timeout_check): (JSC::Machine::cti_op_loop_if_less): (JSC::Machine::cti_op_loop_if_lesseq): (JSC::Machine::cti_op_new_object): (JSC::Machine::cti_op_put_by_id): (JSC::Machine::cti_op_put_by_id_second): (JSC::Machine::cti_op_put_by_id_generic): (JSC::Machine::cti_op_put_by_id_fail): (JSC::Machine::cti_op_get_by_id): (JSC::Machine::cti_op_get_by_id_second): (JSC::Machine::cti_op_get_by_id_generic): (JSC::Machine::cti_op_get_by_id_fail): (JSC::Machine::cti_op_instanceof): (JSC::Machine::cti_op_del_by_id): (JSC::Machine::cti_op_mul): (JSC::Machine::cti_op_new_func): (JSC::Machine::cti_op_call_JSFunction): (JSC::Machine::cti_vm_compile): (JSC::Machine::cti_op_push_activation): (JSC::Machine::cti_op_call_NotJSFunction): (JSC::Machine::cti_op_create_arguments): (JSC::Machine::cti_op_tear_off_activation): (JSC::Machine::cti_op_tear_off_arguments): (JSC::Machine::cti_op_ret_profiler): (JSC::Machine::cti_op_ret_scopeChain): (JSC::Machine::cti_op_new_array): (JSC::Machine::cti_op_resolve): (JSC::Machine::cti_op_construct_JSConstruct): (JSC::Machine::cti_op_construct_NotJSConstruct): (JSC::Machine::cti_op_get_by_val): (JSC::Machine::cti_op_resolve_func): (JSC::Machine::cti_op_sub): (JSC::Machine::cti_op_put_by_val): (JSC::Machine::cti_op_put_by_val_array): (JSC::Machine::cti_op_lesseq): (JSC::Machine::cti_op_loop_if_true): (JSC::Machine::cti_op_negate): (JSC::Machine::cti_op_resolve_base): (JSC::Machine::cti_op_resolve_skip): (JSC::Machine::cti_op_resolve_global): (JSC::Machine::cti_op_div): (JSC::Machine::cti_op_pre_dec): (JSC::Machine::cti_op_jless): (JSC::Machine::cti_op_not): (JSC::Machine::cti_op_jtrue): (JSC::Machine::cti_op_post_inc): (JSC::Machine::cti_op_eq): (JSC::Machine::cti_op_lshift): (JSC::Machine::cti_op_bitand): (JSC::Machine::cti_op_rshift): (JSC::Machine::cti_op_bitnot): (JSC::Machine::cti_op_resolve_with_base): (JSC::Machine::cti_op_new_func_exp): (JSC::Machine::cti_op_mod): (JSC::Machine::cti_op_less): (JSC::Machine::cti_op_neq): (JSC::Machine::cti_op_post_dec): (JSC::Machine::cti_op_urshift): (JSC::Machine::cti_op_bitxor): (JSC::Machine::cti_op_new_regexp): (JSC::Machine::cti_op_bitor): (JSC::Machine::cti_op_call_eval): (JSC::Machine::cti_op_throw): (JSC::Machine::cti_op_get_pnames): (JSC::Machine::cti_op_next_pname): (JSC::Machine::cti_op_push_scope): (JSC::Machine::cti_op_pop_scope): (JSC::Machine::cti_op_typeof): (JSC::Machine::cti_op_to_jsnumber): (JSC::Machine::cti_op_in): (JSC::Machine::cti_op_push_new_scope): (JSC::Machine::cti_op_jmp_scopes): (JSC::Machine::cti_op_put_by_index): (JSC::Machine::cti_op_switch_imm): (JSC::Machine::cti_op_switch_char): (JSC::Machine::cti_op_switch_string): (JSC::Machine::cti_op_del_by_val): (JSC::Machine::cti_op_put_getter): (JSC::Machine::cti_op_put_setter): (JSC::Machine::cti_op_new_error): (JSC::Machine::cti_op_debug): (JSC::Machine::cti_vm_throw):
  • VM/Machine.h:
  • VM/Register.h:
  • VM/RegisterFile.h:
  • kjs/Arguments.h:
  • kjs/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::functionName): (JSC::DebuggerCallFrame::type): (JSC::DebuggerCallFrame::thisObject): (JSC::DebuggerCallFrame::evaluate):
  • kjs/DebuggerCallFrame.h:
  • kjs/ExecState.cpp: (JSC::CallFrame::thisValue):
  • kjs/ExecState.h:
  • kjs/FunctionConstructor.cpp: (JSC::constructFunction):
  • kjs/JSActivation.cpp: (JSC::JSActivation::JSActivation): (JSC::JSActivation::argumentsGetter):
  • kjs/JSActivation.h:
  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::init):
  • kjs/JSGlobalObjectFunctions.cpp: (JSC::globalFuncEval):
  • kjs/JSVariableObject.h:
  • kjs/Parser.cpp: (JSC::Parser::parse):
  • kjs/RegExpConstructor.cpp: (JSC::constructRegExp):
  • kjs/RegExpPrototype.cpp: (JSC::regExpProtoFuncCompile):
  • kjs/Shell.cpp: (prettyPrintScript):
  • kjs/StringPrototype.cpp: (JSC::stringProtoFuncMatch): (JSC::stringProtoFuncSearch):
  • kjs/identifier.cpp: (JSC::Identifier::checkSameIdentifierTable):
  • kjs/interpreter.cpp: (JSC::Interpreter::checkSyntax): (JSC::Interpreter::evaluate):
  • kjs/nodes.cpp: (JSC::ThrowableExpressionData::emitThrowError): (JSC::RegExpNode::emitCode): (JSC::ArrayNode::emitCode): (JSC::InstanceOfNode::emitCode):
  • kjs/nodes.h:
  • kjs/regexp.cpp: (JSC::RegExp::RegExp): (JSC::RegExp::create):
  • kjs/regexp.h:
  • profiler/HeavyProfile.h:
  • profiler/Profile.h:
  • wrec/WREC.cpp:
  • wrec/WREC.h:

WebKit/mac:

2008-10-08 Darin Adler <darin@apple.com>

Reviewed by Cameron Zwarich.

  • WebView/WebScriptDebugger.mm: (WebScriptDebugger::WebScriptDebugger): Update since DebuggerCallFrame is simpler now.
17:14 Changeset [37432] by weinig@apple.com
  • 4 edits
    2 adds in trunk

WebCore:

2008-10-08 Sam Weinig <sam@webkit.org>

Reviewed by Cameron Zwarich.

Fix for https://bugs.webkit.org/show_bug.cgi?id=21241
REGRESSION (r36977): getRGBColorValue().red returning incorrect value

Update JSRGBColor to use the new static function per getter approach.

Test: fast/dom/css-RGBValue.html

  • bindings/js/JSRGBColor.cpp: (WebCore::): (jsRGBColorRed): (jsRGBColorGreen): (jsRGBColorBlue):
  • bindings/js/JSRGBColor.h:

LayoutTests:

2008-10-08 Sam Weinig <sam@webkit.org>

Reviewed by Cameron Zwarich.

Test for https://bugs.webkit.org/show_bug.cgi?id=21241
REGRESSION (r36977): getRGBColorValue().red returning incorrect value

  • fast/dom/css-RGBValue.html: Added.
  • fast/dom/resources/css-RGBValue.js: Added.
15:48 Changeset [37431] by eric@webkit.org
  • 5 edits
    4 adds in trunk

Reviewed by Darin Adler, Nikolas Zimmermann and Dave Hyatt.

svgElement.className.baseValue = "foo" does not work
https://bugs.webkit.org/show_bug.cgi?id=20651

  • dom/StyledElement.cpp: (WebCore::StyledElement::classAttributeChanged): (WebCore::StyledElement::parseMappedAttribute):
  • dom/StyledElement.h:
  • svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::svgAttributeChanged):
15:38 Changeset [37430] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Fix crash in fast/js/constant-folding.html with CTI disabled.

Typed by Maciej Stachowiak, reviewed by Mark Rowe.

  • VM/Machine.cpp:

(JSC::Machine::privateExecute):

13:30 Changeset [37429] by mjs@apple.com
  • 3 edits in trunk/LayoutTests

2008-10-08 Maciej Stachowiak <mjs@apple.com>

Not reviewed, trying to fix bot.


Update -0 expectations better.

  • fast/xpath/4XPath/Core/test_numeric_expr-expected.txt:
  • fast/xpath/4XPath/Core/test_numeric_expr.html:
10:50 Changeset [37428] by timothy@apple.com
  • 41 edits in trunk

Roll out r37427 because it causes an infinite recursion loading about:blank.

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

10:03 Changeset [37427] by darin@apple.com
  • 41 edits in trunk

JavaScriptCore:

2008-10-08 Darin Adler <darin@apple.com>

Reviewed by Cameron Zwarich.

Add CallFrame as a synonym for ExecState. Arguably, some day we should switch every
client over to the new name.

Use CallFrame* consistently rather than Register* or ExecState* in low-level code such
as Machine.cpp and CTI.cpp. Similarly, use callFrame rather than r as its name and use
accessor functions to get at things in the frame.

Eliminate other uses of ExecState* that aren't needed, replacing in some cases with
JSGlobalData* and in other cases eliminating them entirely.

  • API/JSObjectRef.cpp: (JSObjectMakeFunctionWithCallback): (JSObjectMakeFunction): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectDeleteProperty):
  • API/OpaqueJSString.cpp:
  • API/OpaqueJSString.h:
  • VM/CTI.cpp: (JSC::CTI::getConstant): (JSC::CTI::emitGetArg): (JSC::CTI::emitGetPutArg): (JSC::CTI::getConstantImmediateNumericArg): (JSC::CTI::printOpcodeOperandTypes): (JSC::CTI::CTI): (JSC::CTI::compileOpCall): (JSC::CTI::compileBinaryArithOp): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompile): (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompileGetByIdChain): (JSC::CTI::compileRegExp):
  • VM/CTI.h:
  • VM/CodeBlock.h:
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitEqualityOp): (JSC::CodeGenerator::emitLoad): (JSC::CodeGenerator::emitUnexpectedLoad): (JSC::CodeGenerator::emitConstruct):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAddSlowCase): (JSC::jsAdd): (JSC::jsTypeStringForValue): (JSC::Machine::resolve): (JSC::Machine::resolveSkip): (JSC::Machine::resolveGlobal): (JSC::inlineResolveBase): (JSC::Machine::resolveBase): (JSC::Machine::resolveBaseAndProperty): (JSC::Machine::resolveBaseAndFunc): (JSC::Machine::slideRegisterWindowForCall): (JSC::isNotObject): (JSC::Machine::callEval): (JSC::Machine::dumpCallFrame): (JSC::Machine::dumpRegisters): (JSC::Machine::unwindCallFrame): (JSC::Machine::throwException): (JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope): (JSC::DynamicGlobalObjectScope::~DynamicGlobalObjectScope): (JSC::Machine::execute): (JSC::Machine::debug): (JSC::Machine::createExceptionScope): (JSC::cachePrototypeChain): (JSC::Machine::tryCachePutByID): (JSC::Machine::tryCacheGetByID): (JSC::Machine::privateExecute): (JSC::Machine::retrieveArguments): (JSC::Machine::retrieveCaller): (JSC::Machine::retrieveLastCaller): (JSC::Machine::findFunctionCallFrame): (JSC::Machine::getArgumentsData): (JSC::Machine::tryCTICachePutByID): (JSC::Machine::getCTIArrayLengthTrampoline): (JSC::Machine::getCTIStringLengthTrampoline): (JSC::Machine::tryCTICacheGetByID): (JSC::Machine::cti_op_convert_this): (JSC::Machine::cti_op_end): (JSC::Machine::cti_op_add): (JSC::Machine::cti_op_pre_inc): (JSC::Machine::cti_timeout_check): (JSC::Machine::cti_op_loop_if_less): (JSC::Machine::cti_op_loop_if_lesseq): (JSC::Machine::cti_op_new_object): (JSC::Machine::cti_op_put_by_id): (JSC::Machine::cti_op_put_by_id_second): (JSC::Machine::cti_op_put_by_id_generic): (JSC::Machine::cti_op_put_by_id_fail): (JSC::Machine::cti_op_get_by_id): (JSC::Machine::cti_op_get_by_id_second): (JSC::Machine::cti_op_get_by_id_generic): (JSC::Machine::cti_op_get_by_id_fail): (JSC::Machine::cti_op_instanceof): (JSC::Machine::cti_op_del_by_id): (JSC::Machine::cti_op_mul): (JSC::Machine::cti_op_new_func): (JSC::Machine::cti_op_call_JSFunction): (JSC::Machine::cti_vm_compile): (JSC::Machine::cti_op_push_activation): (JSC::Machine::cti_op_call_NotJSFunction): (JSC::Machine::cti_op_create_arguments): (JSC::Machine::cti_op_tear_off_activation): (JSC::Machine::cti_op_tear_off_arguments): (JSC::Machine::cti_op_ret_profiler): (JSC::Machine::cti_op_ret_scopeChain): (JSC::Machine::cti_op_new_array): (JSC::Machine::cti_op_resolve): (JSC::Machine::cti_op_construct_JSConstruct): (JSC::Machine::cti_op_construct_NotJSConstruct): (JSC::Machine::cti_op_get_by_val): (JSC::Machine::cti_op_resolve_func): (JSC::Machine::cti_op_sub): (JSC::Machine::cti_op_put_by_val): (JSC::Machine::cti_op_put_by_val_array): (JSC::Machine::cti_op_lesseq): (JSC::Machine::cti_op_loop_if_true): (JSC::Machine::cti_op_negate): (JSC::Machine::cti_op_resolve_base): (JSC::Machine::cti_op_resolve_skip): (JSC::Machine::cti_op_resolve_global): (JSC::Machine::cti_op_div): (JSC::Machine::cti_op_pre_dec): (JSC::Machine::cti_op_jless): (JSC::Machine::cti_op_not): (JSC::Machine::cti_op_jtrue): (JSC::Machine::cti_op_post_inc): (JSC::Machine::cti_op_eq): (JSC::Machine::cti_op_lshift): (JSC::Machine::cti_op_bitand): (JSC::Machine::cti_op_rshift): (JSC::Machine::cti_op_bitnot): (JSC::Machine::cti_op_resolve_with_base): (JSC::Machine::cti_op_new_func_exp): (JSC::Machine::cti_op_mod): (JSC::Machine::cti_op_less): (JSC::Machine::cti_op_neq): (JSC::Machine::cti_op_post_dec): (JSC::Machine::cti_op_urshift): (JSC::Machine::cti_op_bitxor): (JSC::Machine::cti_op_new_regexp): (JSC::Machine::cti_op_bitor): (JSC::Machine::cti_op_call_eval): (JSC::Machine::cti_op_throw): (JSC::Machine::cti_op_get_pnames): (JSC::Machine::cti_op_next_pname): (JSC::Machine::cti_op_push_scope): (JSC::Machine::cti_op_pop_scope): (JSC::Machine::cti_op_typeof): (JSC::Machine::cti_op_to_jsnumber): (JSC::Machine::cti_op_in): (JSC::Machine::cti_op_push_new_scope): (JSC::Machine::cti_op_jmp_scopes): (JSC::Machine::cti_op_put_by_index): (JSC::Machine::cti_op_switch_imm): (JSC::Machine::cti_op_switch_char): (JSC::Machine::cti_op_switch_string): (JSC::Machine::cti_op_del_by_val): (JSC::Machine::cti_op_put_getter): (JSC::Machine::cti_op_put_setter): (JSC::Machine::cti_op_new_error): (JSC::Machine::cti_op_debug): (JSC::Machine::cti_vm_throw):
  • VM/Machine.h:
  • VM/Register.h:
  • VM/RegisterFile.h:
  • kjs/Arguments.h:
  • kjs/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::functionName): (JSC::DebuggerCallFrame::type): (JSC::DebuggerCallFrame::thisObject): (JSC::DebuggerCallFrame::evaluate):
  • kjs/DebuggerCallFrame.h:
  • kjs/ExecState.cpp: (JSC::CallFrame::thisValue):
  • kjs/ExecState.h:
  • kjs/FunctionConstructor.cpp: (JSC::constructFunction):
  • kjs/JSActivation.cpp: (JSC::JSActivation::JSActivation): (JSC::JSActivation::argumentsGetter):
  • kjs/JSActivation.h:
  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::init):
  • kjs/JSGlobalObjectFunctions.cpp: (JSC::globalFuncEval):
  • kjs/JSVariableObject.h:
  • kjs/Parser.cpp: (JSC::Parser::parse):
  • kjs/RegExpConstructor.cpp: (JSC::constructRegExp):
  • kjs/RegExpPrototype.cpp: (JSC::regExpProtoFuncCompile):
  • kjs/Shell.cpp: (prettyPrintScript):
  • kjs/StringPrototype.cpp: (JSC::stringProtoFuncMatch): (JSC::stringProtoFuncSearch):
  • kjs/identifier.cpp: (JSC::Identifier::checkSameIdentifierTable):
  • kjs/interpreter.cpp: (JSC::Interpreter::checkSyntax): (JSC::Interpreter::evaluate):
  • kjs/nodes.cpp: (JSC::ThrowableExpressionData::emitThrowError): (JSC::RegExpNode::emitCode): (JSC::ArrayNode::emitCode): (JSC::InstanceOfNode::emitCode):
  • kjs/nodes.h:
  • kjs/regexp.cpp: (JSC::RegExp::RegExp): (JSC::RegExp::create):
  • kjs/regexp.h:
  • profiler/HeavyProfile.h:
  • profiler/Profile.h:
  • wrec/WREC.cpp:
  • wrec/WREC.h:

WebKit/mac:

2008-10-08 Darin Adler <darin@apple.com>

Reviewed by Cameron Zwarich.

  • WebView/WebScriptDebugger.mm: (WebScriptDebugger::WebScriptDebugger): Update since DebuggerCallFrame is simpler now.
09:41 Changeset [37426] by timothy@apple.com
  • 2 edits in trunk/WebCore

Make the toolbar label text-shadow not disappear when clicking on the
search result count or around the search field.

Reviewed by Timothy Hatcher.

  • inspector/front-end/inspector.css: (.toolbar-item:active .toolbar-label): Make this rule also require the toggleable class with the toolbar-item class.
08:06 QtWebKitJournal edited by ariya.hidayat@trolltech.com
(diff)
06:30 Changeset [37425] by hausmann@webkit.org
  • 2 edits in trunk/WebKit/qt

2008-10-08 Matthias Ettrich <ettrich@nokia.com>

Reviewed by Simon.

Make QWebView ignore focus changes with PopupFocusReason to avoid
massive updates when menus open and close.

06:13 Changeset [37424] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

2008-10-08 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Updated the qrc file for the Web Inspector to contain the current set
of images.

05:43 Changeset [37423] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

2008-10-08 Prasanth Ullattil <pullatti@trolltech.com>

Reviewed by Simon.

Fix the linking of applications against WebKit on Qt/Windows.

The prl files that qmake creates are buggy on Unix, but we they're
fine on Windows and we have to have them there in order to get the
dependencies correct.

05:20 Changeset [37422] by hausmann@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-10-08 Prasanth Ullattil <pullatti@trolltech.com>

Reviewed by Oliver Hunt.

Avoid endless loops when compiling without the computed goto
optimization.

NEXT_OPCODE expands to "continue", which will not work inside
loops.

05:11 Changeset [37421] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

2008-10-08 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon.

Speed up rectangle filling by not re-creating a QBrush all the time.

This triggers faster path in QPainter where the brush is reused.

05:08 Changeset [37420] by hausmann@webkit.org
  • 2 edits in trunk/WebKit/qt

2008-10-08 Kavindra Palaraja <kdpalara@trolltech.com>

Reviewed by Simon.

Fixed a qdoc warning and adjusted some spacing

04:33 Changeset [37419] by mjs@apple.com
  • 2 edits in trunk/LayoutTests

2008-10-08 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver Hunt.


  • update for new -0 handling in shouldBe


(I confirmed the correctness of this change against other browsers, too.)

  • fast/xpath/4XPath/Core/test_numeric_expr.html:
04:01 Changeset [37418] by dino@apple.com
  • 4 edits in trunk/WebKitSite/specs/CSSVisualEffects

2008-10-08 Dean Jackson <dino@apple.com>

Forgot to set the date on the spec documents with last commit.

  • CSSAnimations.html:
  • CSSTransforms.html:
  • CSSTransitions.html:
03:53 Changeset [37417] by mjs@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-10-08 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver Hunt.

Re-landing the following fix with the crashing bug in it fixed (r37405):


  • optimize away multiplication by constant 1.0


2.3% speedup on v8 RayTrace benchmark

Apparently it's not uncommon for JavaScript code to multiply by
constant 1.0 in the mistaken belief that this converts integer to
floating point and that there is any operational difference.

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass): Optimize to_jsnumber for case where parameter is already number. (JSC::CTI::privateCompileSlowCases): ditto
  • VM/Machine.cpp: (JSC::Machine::privateExecute): ditto
  • kjs/grammar.y: (makeMultNode): Transform as follows: +FOO * BAR ==> FOO * BAR FOO * +BAR ==> FOO * BAR FOO * 1 ==> +FOO 1 * FOO ==> +FOO (makeDivNode): Transform as follows: +FOO / BAR ==> FOO / BAR FOO / +BAR ==> FOO / BAR (makeSubNode): Transform as follows: +FOO - BAR ==> FOO - BAR FOO - +BAR ==> FOO - BAR
  • kjs/nodes.h: (JSC::ExpressionNode::stripUnaryPlus): Helper for above grammar.y changes (JSC::UnaryPlusNode::stripUnaryPlus): ditto
03:27 Changeset [37416] by mjs@apple.com
  • 6 edits in trunk/LayoutTests

2008-10-08 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver Hunt.


  • update regression testing system to be able to tell 0 from -0


  • fast/js/resources/js-test-pre.js:

Update tests and results appropriately.

  • fast/js/resources/constant-folding.js:
  • fast/js/constant-folding-expected.txt:
  • fast/js/math-transforms-expected.txt:
  • fast/js/resources/math-transforms.js:
02:18 Changeset [37415] by mjs@apple.com
  • 6 edits in trunk

JavaScriptCore:

2008-10-08 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver Hunt.


  • correctly handle appending -0 to a string, it should stringify as just 0
  • kjs/ustring.cpp: (JSC::concatenate):

LayoutTests:

2008-10-08 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver Hunt.

  • added test case for: correctly handle appending -0 to a string, it should stringify as just 0 (added to existing test)


  • fast/js/number-toString-expected.txt:
  • fast/js/resources/number-toString.js:
  • updated results in light of above fix


  • fast/js/math-transforms-expected.txt:
02:10 Changeset [37414] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

2008-10-08 Thiago Macieira <thiago.macieira@nokia.com>

Reviewed by Simon.

Fixes: Encoding of Qt URLs

This encoding was added by Simon and I because QUrl's
tolerant parser wasn't tolerant enough. Now it is, so we don't need
this anymore.

02:10 Changeset [37413] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

2008-10-08 Marius Storm-Olsen <marius@trolltech.com>

Reviewed by Simon.

Fixes dependencies in qmake generated visual studio projects.

Only add debug lib name if we're in the debug build_pass, else the release version.
The MSVC solution generator would pick up the debug javascriptcore lib as a dependency.

02:10 Changeset [37412] by hausmann@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-10-08 Prasanth Ullattil <pullatti@trolltech.com>

Reviewed by Simon.

Fix WebKit compilation with VC2008SP1

Apply the TR1 workaround for JavaScriptCore, too.

02:10 Changeset [37411] by hausmann@webkit.org
  • 2 edits in trunk/WebKit/qt

2008-10-08 Rhys Weatherley <rhys.weatherley@nokia.com>

Reviewed by Simon.

Compile for platforms without context menus.

02:10 Changeset [37410] by hausmann@webkit.org
  • 6 edits in trunk

2008-10-08 Prasanth Ullattil <pullatti@trolltech.com>

Reviewed by Simon.

Fix compilation errors on VS2008 64Bit

02:09 Changeset [37409] by hausmann@webkit.org
  • 4 edits in trunk

2008-10-08 André Pönitz <apoenitz@trolltech.com>

Reviewed by Simon.

Fix compilation with Qt namespaces.

00:35 QtWebKitJournal edited by ariya.hidayat@trolltech.com
(diff)
00:34 QtWebKitJournal edited by ariya.hidayat@trolltech.com
(diff)

10/07/08:

23:36 Changeset [37408] by weinig@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-10-07 Sam Weinig <sam@webkit.org>

Roll out r37405.

22:24 Changeset [37407] by mrowe@apple.com
  • 1 copy in tags/Safari-5525.26

New tag.

21:56 Changeset [37406] by oliver@apple.com
  • 6 edits in trunk/JavaScriptCore

Switch CTI runtime calls to the fastcall calling convention

Reviewed by Cameron Zwarich

Basically this means that we get to store the argument for CTI
calls in the ECX register, which saves a register->memory write
and subsequent memory->register read.

This is a 1.7% progression in SunSpider and 2.4% on commandline
v8 tests on Windows

20:46 Changeset [37405] by mjs@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-10-07 Maciej Stachowiak <mjs@apple.com>

Reviewed by Mark Rowe.


  • optimize away multiplication by constant 1.0


2.3% speedup on v8 RayTrace benchmark

Apparently it's not uncommon for JavaScript code to multiply by
constant 1.0 in the mistaken belief that this converts integer to
floating point and that there is any operational difference.


  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass): Optimize to_jsnumber for case where parameter is already number. (JSC::CTI::privateCompileSlowCases): ditto
  • VM/Machine.cpp: (JSC::Machine::privateExecute): ditto
  • kjs/grammar.y: (makeMultNode): Transform as follows: +FOO * BAR ==> FOO * BAR FOO * +BAR ==> FOO * BAR FOO * 1 ==> +FOO 1 * FOO ==> +FOO (makeDivNode): Transform as follows: +FOO / BAR ==> FOO / BAR FOO / +BAR ==> FOO / BAR (makeSubNode): Transform as follows: +FOO - BAR ==> FOO - BAR FOO - +BAR ==> FOO - BAR
  • kjs/nodes.h: (JSC::ExpressionNode::stripUnaryPlus): Helper for above grammar.y changes (JSC::UnaryPlusNode::stripUnaryPlus): ditto
20:46 Changeset [37404] by mjs@apple.com
  • 1 edit
    3 adds in trunk/LayoutTests

2008-10-07 Maciej Stachowiak <mjs@apple.com>

Reviewed by Mark Rowe.


  • test cases that will check some possible edge cases for math optimizations
  • fast/js/math-transforms-expected.txt: Added.
  • fast/js/math-transforms.html: Added.
  • fast/js/resources/math-transforms.js: Added.
17:42 Changeset [37403] by alp@webkit.org
  • 4 edits in trunk

2008-10-07 Alp Toker <alp@nuanti.com>

GTK+ build fix for older automake versions (1.7). Discussed in bug
#21392.

17:15 Changeset [37402] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-10-07 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver Hunt.


  • make constant folding code more consistent


Added a makeSubNode to match add, mult and div; use the makeFooNode functions always,
instead of allocating nodes directly in other places in the grammar.

  • kjs/grammar.y:
17:12 Changeset [37401] by mrowe@apple.com
  • 5 edits
    4 deletes in trunk

Roll out r37391 as it appears to have broken 40+ regression tests.

16:49 Changeset [37400] by weinig@apple.com
  • 6 edits in trunk/JavaScriptCore

2008-10-07 Sam Weinig <sam@webkit.org>

Reviewed by Cameron Zwarich.

Move hasGetterSetterProperties flag from PropertyMap to StructureID.

  • kjs/JSObject.cpp: (JSC::JSObject::put): (JSC::JSObject::defineGetter): (JSC::JSObject::defineSetter):
  • kjs/JSObject.h: (JSC::JSObject::hasGetterSetterProperties): (JSC::JSObject::getOwnPropertySlotForWrite): (JSC::JSObject::getOwnPropertySlot):
  • kjs/PropertyMap.h:
  • kjs/StructureID.cpp: (JSC::StructureID::StructureID): (JSC::StructureID::addPropertyTransition): (JSC::StructureID::toDictionaryTransition): (JSC::StructureID::changePrototypeTransition): (JSC::StructureID::getterSetterTransition):
  • kjs/StructureID.h: (JSC::StructureID::hasGetterSetterProperties): (JSC::StructureID::setHasGetterSetterProperties):
16:31 Changeset [37399] by andersca@apple.com
  • 2 edits in trunk/WebCore

2008-10-07 Anders Carlsson <andersca@apple.com>

Reviewed by Antti Koivisto.

<rdar://problem/6273887> Crash in ApplicationCacheGroup


Make sure to stop loading even before a cache update is in progress so that the
manifest load will be stopped.

  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup): (WebCore::ApplicationCacheGroup::stopLoading): (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
15:09 Changeset [37398] by timothy@apple.com
  • 2 edits in trunk/WebCore/bindings/objc

Fix the build due to a bad patch apply.

15:08 Changeset [37397] by timothy@apple.com
  • 2 edits in trunk/WebCore/bindings/objc

Fix the build due to a bad patch apply.

14:49 Changeset [37396] by timothy@apple.com
  • 10 edits
    2 adds in trunk/WebCore

Auto-generate DOMDocument's createNodeIterator: and createTreeWalker: methods.

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

Reviewed by Sam Weinig.

  • WebCore.xcodeproj/project.pbxproj: Add ObjCNodeFilterCondition.{mm,h}.
  • bindings/objc/DOM.mm: Remove previous category implementations on DOMDocument for createNodeIterator: and createTreeWalker:. Also moves ObjCNodeFilterCondition to its own file.
  • bindings/objc/DOMTraversal.h: Remove the category methods that added createNodeIterator: and createTreeWalker: to DOMDocument. This is fine to do since DOmDocument.h is included still, and has these methods.
  • bindings/objc/DOMUtility.mm: (JSC::createDOMWrapper): Remove special case for JSNodeIterator and JSTreeWalker now that the ObjC binding conforms to the standard wrap.
  • bindings/objc/ObjCNodeFilterCondition.h: Split out from DOM.mm. (WebCore::ObjCNodeFilterCondition::create): Moved from DOM.mm. (WebCore::ObjCNodeFilterCondition::ObjCNodeFilterCondition): Ditto.
  • bindings/objc/ObjCNodeFilterCondition.mm: Split out from DOM.mm. (WebCore::ObjCNodeFilterCondition::acceptNode): Moved from DOM.mm.
  • bindings/objc/PublicDOMInterfaces.h: Add the createNodeIterator: and createTreeWalker: methods to DOMDocument.
  • bindings/scripts/CodeGeneratorObjC.pm: (GetObjCTypeGetter): Add a case for NodeFilter. (AddIncludesForType): Include ObjCNodeFilterCondition.h for NodeFilter. (GenerateImplementation): Remove existing NodeFilter special case that used the m_filter member variable. Add a new special getter for protocol types that aren't EventTarget, so the right class is used for NodeFilter. Add a special case for NodeFilter where it creates an ObjCNodeFilterCondition.
  • dom/Document.idl: Remove the #ifdef LANGUAGE_OBJECTIVE_C. Add the OldStyleObjC extended attribute to createNodeIterator and createTreeWalker. Rename the entityReferenceExpansion parameter to expandEntityReferences to match the previous ObjC API.
  • dom/NodeIterator.idl: Remove ObjCIvar from the filter attribute. The m_filter member variable was never used in practice, it was always nil! We can remove it and not pad the object because this can't be subclassed.
  • dom/TreeWalker.idl: Ditto.
14:49 Changeset [37395] by timothy@apple.com
  • 7 edits
    2 adds in trunk/WebCore

Auto-generate the DOMEventTarget protocol implementation for
DOMNode and DOMSVGElementInstance.

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

Reviewed by Darin Adler.

  • WebCore.xcodeproj/project.pbxproj: Add ObjCEventListener.{mm,h}.
  • bindings/objc/DOM.mm: Remove many unneeded header includes. Move ObjCEventListener to it's own file. Remove the manual impelmentations of the DOMEventTarget protocol for DOMNode and DOMSVGElementInstance.
  • bindings/objc/DOMEvents.h: Remove the categories that defined DOMEventTarget for DOMNode and DOMSVGElementInstance.
  • bindings/objc/ObjCEventListener.h: Split out from DOM.mm.
  • bindings/objc/ObjCEventListener.mm: Split out from DOM.mm. (WebCore::ObjCEventListener::find): Moved from DOM.mm. (WebCore::ObjCEventListener::wrap): Use PassRefPtr to prevent the callers from doing a manual deref. (WebCore::ObjCEventListener::ObjCEventListener): Moved from DOM.mm. (WebCore::ObjCEventListener::~ObjCEventListener): Ditto.
  • bindings/scripts/CodeGeneratorObjC.pm: (GetObjCTypeGetter): Add a case for EventListener and use WTF::getPtr. (AddIncludesForType): Include ObjCEventListener.h for EventListener. And include EventTargetSVGElementInstance.h for SVGElementInstance. (GenerateHeader): Remove the check for multiple parents. (GenerateImplementation): Remove the check for multiple parents. Remove the @deprecatedFunctions array since deprecated methods get generated into the main @interface now to work with protocols. Add support for the EventTargetNodeCast extended attribute. Add support for EventListener parameters.
  • dom/Node.idl: Define superclasses for ObjC so the implementation and interface implement the DOMEventTarget protocol. Explicitly specify Object as a superclass to use DOMEventTarget. Object will turn into DOMObject. This is needed to take the code generator down the right path of multiple super-classes as protocols. It is ObjC only for legacy reasons. The event target methods are normally on NodeEventTarget, a subclass of Node. But the ObjC API has never has this subclass and they are on DOMNode.
  • svg/SVGElementInstance.idl: Ditto.
14:36 Changeset [37394] by hyatt@apple.com
  • 3 edits in trunk/WebCore

2008-10-07 David Hyatt <hyatt@apple.com>

Add new pseudo-elements and pseudo-classes that will enable scrollbars to be styled by CSS.

The new pseudo-elements are:

scrollbar
scrollbar-button
scrollbar-corner
scrollbar-thumb
scrollbar-track


These elements will work with all the usual pseudo-classes (:hover, :active, :enabled, :disabled, etc.) and with
the following new pseudo-classes:

scrollbar-active
scrollbar-back
scrollbar-forward
scrollbar-horizontal
scrollbar-vertical


Reviewed by Adele

  • css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
  • css/CSSSelector.h: (WebCore::CSSSelector::):
14:35 Changeset [37393] by aroben@apple.com
  • 2 edits in trunk/WebKitTools

Make sure short functions get included in ChangeLog output for git repositories

Reviewed by Dave Kilzer.

  • Scripts/prepare-ChangeLog: (sub diffCommand): Pass -U0 to git diff so that each contiguous change will get its own chunk without any surrounding context. (sub extractLineRange): Use the line numbers from the chunk header without modifying them now that they're accurate.
14:29 Changeset [37392] by andersca@apple.com
  • 3 edits in trunk/WebKitLibraries

2008-10-07 Anders Carlsson <andersca@apple.com>

Reviewed by Mitz Pettel.

Update WebKitSystemInterface.


  • libWebKitSystemInterfaceLeopard.a:
  • libWebKitSystemInterfaceTiger.a:
14:27 Changeset [37391] by eric@webkit.org
  • 5 edits
    4 adds in trunk

Reviewed by Darin Adler, Nikolas Zimmermann and Dave Hyatt.

svgElement.className.baseValue = "foo" does not work
https://bugs.webkit.org/show_bug.cgi?id=20651

  • dom/StyledElement.cpp: (WebCore::StyledElement::classAttributeChanged): (WebCore::StyledElement::parseMappedAttribute):
  • dom/StyledElement.h:
  • svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::svgAttributeChanged):
14:22 Changeset [37390] by hyatt@apple.com
  • 2 edits in trunk/SunSpider

2008-10-07 David Hyatt <hyatt@apple.com>

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

Remove global substitution from SunSpider regexp test, since only Firefox was honoring it and
we want all browsers to be doing the same thing on the test.

Reviewed by Maciej

  • tests/regexp-dna.js:
14:08 Changeset [37389] by timothy@apple.com
  • 3 edits in trunk/WebCore

Add support to the Resources panel for queries like "#123", "foo #123",
"line: 123" and "foo line: 123". These will match the query limiting
the search only to the line specified. If only a line is specified,
the whole line is matched.

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

Reviewed by Darin Adler.

  • inspector/front-end/SourceFrame.js: (WebInspector.SourceFrame.prototype.sourceRow): Don't return the last row if the index is greater than the rows collection. Let it return undefined by indexing out-of-bounds.
  • inspector/front-end/SourceView.js: (WebInspector.SourceView.prototype.performSearch): Add support for queries like "#123", "foo #123", "line: 123" and "foo line: 123". Also match the whole query to the whole document in case there are colors like "#333".
13:49 Changeset [37388] by weinig@apple.com
  • 10 edits in trunk/JavaScriptCore

2008-10-07 Sam Weinig <sam@webkit.org>

Reviewed by Cameron Zwarich.

Roll r37370 back in with bug fixes.

  • PropertyMap::storageSize() should reflect the number of keys + deletedOffsets and has nothing to do with the internal deletedSentinel count anymore.
13:32 Changeset [37387] by hyatt@apple.com
  • 4 edits in trunk/WebKit/mac

2008-10-07 David Hyatt <hyatt@apple.com>

Move viewless WebKit methods that Safari needs from WebViewInternal to WebViewPrivate.

Reviewed by Tim Hatcher

  • WebView/WebView.mm: (WebKitInitializeApplicationCachePathIfNecessary): (-[WebView _registerDraggedTypes]): (-[WebView _usesDocumentViews]): (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): (-[WebView _initWithFrame:frameName:groupName:usesDocumentViews:]): (-[WebView isFlipped]): (-[WebView viewWillDraw]):
  • WebView/WebViewInternal.h:
  • WebView/WebViewPrivate.h:
13:27 Changeset [37386] by barraclough@apple.com
  • 7 edits in trunk/JavaScriptCore

2008-10-07 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Move callframe initialization into JIT code, again.


As a part of the restructuring the second result from functions is now
returned in edx, allowing the new value of 'r' to be returned via a
register, and stored to the stack from JIT code, too.

4.5% progression on v8-tests. (3% in their harness)

  • VM/CTI.cpp: (JSC::): (JSC::CTI::emitCall): (JSC::CTI::compileOpCall): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile):
  • VM/CTI.h: (JSC::CallRecord::CallRecord):
  • VM/Machine.cpp: (JSC::Machine::cti_op_call_JSFunction): (JSC::Machine::cti_op_construct_JSConstruct): (JSC::Machine::cti_op_resolve_func): (JSC::Machine::cti_op_post_inc): (JSC::Machine::cti_op_resolve_with_base): (JSC::Machine::cti_op_post_dec):
  • VM/Machine.h:
  • kjs/JSFunction.h:
  • kjs/ScopeChain.h:
13:17 Changeset [37385] by hyatt@apple.com
  • 2 edits in trunk/WebKit/mac

2008-10-07 David Hyatt <hyatt@apple.com>

Fix crash in isFlipped. Null check _private since isFlipped can get called from within AppKit
machinery during teardown of the WebView.

Reviewed by Adam Roben

  • WebView/WebView.mm: (-[WebView isFlipped]):
13:15 Changeset [37384] by hyatt@apple.com
  • 4 edits in trunk/WebKit/mac

2008-10-07 David Hyatt <hyatt@apple.com>

Make viewless WebKit update focused and active state when the window becomes and loses key.
The focus controller has been patched to understand that in viewless mode it can recur down and
update all of the frames, which is why this code works now when placed just on the WebView.

Reviewed by Adam Roben

  • WebView/WebView.mm: (-[WebView addWindowObservers]): (-[WebView removeWindowObservers]): (-[WebView viewWillMoveToWindow:]): (-[WebView viewDidMoveToWindow]): (-[WebView _updateFocusedAndActiveState]): (-[WebView _windowDidBecomeKey:]): (-[WebView _windowDidResignKey:]): (-[WebView _windowWillOrderOnScreen:]):
12:35 Changeset [37383] by mrowe@apple.com
  • 3 edits in trunk/JavaScriptCore

Fix typo in method name.

11:28 Changeset [37382] by alp@webkit.org
  • 4 edits in trunk

2008-10-07 Alp Toker <alp@nuanti.com>

Reviewed by Mark Rowe.

https://bugs.webkit.org/show_bug.cgi?id=21392
[GTK] Auto-generate JS DOM binding sources list

Remove the huge lists of generated DOM binding sources and headers in
the build system. These are difficult to maintain and can be derived
automatically.

The new strategy is to re-use the existing lists of IDL sources (which
are needed for dist support anyway). This will also ease the addition
of new language bindings.

11:17 Changeset [37381] by cwzwarich@webkit.org
  • 10 edits in trunk/JavaScriptCore

2008-10-07 Cameron Zwarich <zwarich@apple.com>

Rubber-stamped by Mark Rowe.

Roll out r37370.

10:30 Changeset [37380] by mrowe@apple.com
  • 6 edits
    4 adds in branches/Safari-3-2-branch

Merge r35415.

10:30 Changeset [37379] by mrowe@apple.com
  • 11 edits
    2 adds in branches/Safari-3-2-branch

Merge r35362.

10:27 Changeset [37378] by darin@apple.com
  • 2 edits in trunk/WebKitSite

2008-10-07 Darin Adler <darin@apple.com>

  • coding/RefPtr.html: Second draft.
09:30 Changeset [37377] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2008-10-07 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Don't attempt to paint when updating control tints

We don't have a valid PlatformGraphicsContext so schedule
the dirty scrollbar/scrollview area for repaint instead.

04:20 Changeset [37376] by vestbo@webkit.org
  • 2 edits in trunk/WebKit/qt

2008-10-07 Tor Arne Vestbø <tavestbo@trolltech.com>

QtWebKit build fix after changes to FrameLoaderClient.h in r37371

03:39 QtWebKitContrib edited by ariya.hidayat@trolltech.com
add irc nicks (diff)
03:36 QtWebKitJournal edited by ariya.hidayat@trolltech.com
(diff)
01:09 Changeset [37375] by hyatt@apple.com
  • 2 edits in trunk/WebKit/mac

2008-10-07 David Hyatt <hyatt@apple.com>

Make sure the parent visibility state is set up properly on the outermost ScrollView widget.
This fixes the repainting issues with viewless WebKit on Mac.

Reviewed by Sam Weinig

  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::transitionToCommittedForNewPage):
00:54 Changeset [37374] by zecke@webkit.org
  • 4 edits in trunk

[qt] Build fix after Scrollbar.h and Widget.h changes.

00:50 Changeset [37373] by hyatt@apple.com
  • 2 edits in trunk/WebKit/mac

2008-10-07 David Hyatt <hyatt@apple.com>

Make sure viewless Mac WebKit does a layout if needed before drawing.

Reviewed by Sam Weinig

  • WebView/WebView.mm: (-[WebView viewWillDraw]):
00:47 Changeset [37372] by hyatt@apple.com
  • 3 edits in trunk/WebKit/mac

2008-10-07 David Hyatt <hyatt@apple.com>

Make sure observers get hooked up to watch for size changes in viewless WebKit mode.

Reviewed by Sam Weinig

  • ChangeLog:
  • WebView/WebFrame.mm: (-[WebFrame _drawRect:contentsOnly:]):
  • WebView/WebView.mm: (-[WebView viewWillDraw]): (-[WebView _boundsChanged]): (-[WebView addSizeObservers]): (-[WebView viewDidMoveToWindow]): (-[WebView viewDidMoveToSuperview]):

10/06/08:

23:58 Changeset [37371] by hyatt@apple.com
  • 31 edits in trunk

WebCore:

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

Enable viewless Mac WebKit to (kinda sorta) paint basic pages (with no frames on them).

Reviewed by Sam Weinig

  • WebCore.base.exp:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::hasWebView):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::loadWithDocumentLoader): (WebCore::FrameLoader::transitionToCommitted):
  • loader/FrameLoaderClient.h:
  • page/FocusController.cpp: (WebCore::FocusController::setActive):
  • page/FrameView.cpp: (WebCore::FrameView::FrameView): (WebCore::FrameView::init): (WebCore::FrameView::layoutIfNeededRecursive):
  • page/FrameView.h:

WebKit/gtk:

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

Enable viewless Mac WebKit to paint some basic pages.


Reviewed by Sam Weinig

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::transitionToCommittedForNewPage):
  • WebCoreSupport/FrameLoaderClientGtk.h:

WebKit/mac:

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

Enable viewless Mac WebKit to paint some basic pages.


Reviewed by Sam Weinig

  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::windowResizerRect): (WebChromeClient::repaint): (WebChromeClient::screenToWindow): (WebChromeClient::windowToScreen): (WebChromeClient::platformWindow):
  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::forceLayoutForNonHTML): (WebFrameLoaderClient::dispatchDidCommitLoad): (WebFrameLoaderClient::transitionToCommittedForNewPage): (WebFrameLoaderClient::createFrame):
  • WebView/WebFrame.mm: (-[WebFrame _drawRect:contentsOnly:]):
  • WebView/WebFrameInternal.h:
  • WebView/WebFrameView.mm:
  • WebView/WebFrameViewInternal.h:
  • WebView/WebHTMLView.mm: (-[WebHTMLView drawSingleRect:]): (-[WebHTMLView drawRect:]):
  • WebView/WebView.mm: (-[WebView isFlipped]): (-[WebView _boundsChanged]): (-[WebView _mustDrawUnionedRect:singleRects:count:]): (-[WebView drawSingleRect:]): (-[WebView drawRect:]): (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): (-[WebView initWithFrame:frameName:groupName:]): (-[WebView _initWithFrame:frameName:groupName:usesDocumentViews:]): (-[WebView initWithCoder:]): (-[WebView removeSizeObservers]): (-[WebView viewWillMoveToWindow:]): (-[WebView viewWillMoveToSuperview:]): (-[WebView _usesDocumentViews]):
  • WebView/WebViewInternal.h:

WebKit/qt:

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

Enable viewless Mac WebKit to paint some basic pages.


Reviewed by Sam Weinig

  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage):

WebKit/win:

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

Enable viewless Mac WebKit to paint some basic pages.


Reviewed by Sam Weinig

  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::createFrame):
  • WebCoreSupport/WebFrameLoaderClient.h:

WebKit/wx:

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

Enable viewless Mac WebKit to paint some basic pages.


Reviewed by Sam Weinig

  • WebKitSupport/FrameLoaderClientWx.cpp:
  • WebKitSupport/FrameLoaderClientWx.h:
22:43 Changeset [37370] by weinig@apple.com
  • 10 edits in trunk/JavaScriptCore

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

Reviewed by Cameron Zwarich.

Fix for https://bugs.webkit.org/show_bug.cgi?id=21415
Improve the division between PropertyStorageArray and PropertyMap

  • Rework ProperyMap to store offsets in the value so that they don't change when rehashing. This allows us not to have to keep the PropertyStorageArray in sync and thus not have to pass it in.
  • Rename PropertyMap::getOffset -> PropertyMap::get since put/remove now also return offsets.
  • A Vector of deleted offsets is now needed since the storage is out of band.

1% win on SunSpider. Wash on V8 suite.

  • JavaScriptCore.exp:
  • VM/CTI.cpp: (JSC::transitionWillNeedStorageRealloc):
  • VM/Machine.cpp: (JSC::Machine::privateExecute): Transition logic can be greatly simplified by the fact that the storage capacity is always known, and is correct for the inline case.
  • kjs/JSObject.cpp: (JSC::JSObject::put): Rename getOffset -> get. (JSC::JSObject::deleteProperty): Ditto. (JSC::JSObject::getPropertyAttributes): Ditto. (JSC::JSObject::removeDirect): Use returned offset to clear the value in the PropertyNameArray. (JSC::JSObject::allocatePropertyStorage): Add assert.
  • kjs/JSObject.h: (JSC::JSObject::getDirect): Rename getOffset -> get (JSC::JSObject::getDirectLocation): Rename getOffset -> get (JSC::JSObject::putDirect): Use propertyStorageCapacity to determine whether or not to resize. Also, since put now returns an offset (and thus addPropertyTransition does also) setting of the PropertyStorageArray is now done here. (JSC::JSObject::transitionTo):
  • kjs/PropertyMap.cpp: (JSC::PropertyMap::checkConsistency): PropertyStorageArray is no longer passed in. (JSC::PropertyMap::operator=): Copy the delete offsets vector. (JSC::PropertyMap::put): Instead of setting the PropertyNameArray explicitly, return the offset where the value should go. (JSC::PropertyMap::remove): Instead of removing from the PropertyNameArray explicitly, return the offset where the value should be removed. (JSC::PropertyMap::get): Switch to using the stored offset, instead of the implicit one. (JSC::PropertyMap::insert): (JSC::PropertyMap::expand): This is never called when m_table is null, so remove that branch and add it as an assertion. (JSC::PropertyMap::createTable): Consistency checks no longer take a PropertyNameArray. (JSC::PropertyMap::rehash): No need to rehash the PropertyNameArray now that it is completely out of band.
  • kjs/PropertyMap.h: (JSC::PropertyMapEntry::PropertyMapEntry): Store offset into PropertyNameArray. (JSC::PropertyMap::get): Switch to using the stored offset, instead of the implicit one.
  • kjs/StructureID.cpp: (JSC::StructureID::StructureID): Initialize the propertyStorageCapacity to JSObject::inlineStorageCapacity. (JSC::StructureID::growPropertyStorageCapacity): Grow the storage capacity as described below. (JSC::StructureID::addPropertyTransition): Copy the storage capacity. (JSC::StructureID::toDictionaryTransition): Ditto. (JSC::StructureID::changePrototypeTransition): Ditto. (JSC::StructureID::getterSetterTransition): Ditto.
  • kjs/StructureID.h: (JSC::StructureID::propertyStorageCapacity): Add propertyStorageCapacity which is the current capacity for the JSObjects PropertyStorageArray. It starts at the JSObject::inlineStorageCapacity (currently 2), then when it first needs to be resized moves to the JSObject::nonInlineBaseStorageCapacity (currently 16), and after that doubles each time.
21:42 Changeset [37369] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • build fix
  • bindings/objc/DOMEvents.h:
21:16 Changeset [37368] by mrowe@apple.com
  • 4 edits
    3 adds in branches/Safari-3-2-branch

Merge r33567.

21:16 Changeset [37367] by mrowe@apple.com
  • 3 edits
    2 adds in branches/Safari-3-2-branch/WebCore

Merge r36108.

20:53 Changeset [37366] by cwzwarich@webkit.org
  • 8 edits in trunk/JavaScriptCore

2008-10-06 Cameron Zwarich <zwarich@apple.com>

Reviewed by Oliver Hunt.

Bug 21396: Remove the OptionalCalleeActivation call frame slot
<https://bugs.webkit.org/show_bug.cgi?id=21396>

Remove the OptionalCalleeActivation call frame slot. We have to be
careful to store the activation object in a register, because objects
in the scope chain do not get marked.

This is a 0.3% speedup on both SunSpider and the V8 benchmark.

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass):
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::CodeGenerator): (JSC::CodeGenerator::emitReturn):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (JSC::Machine::dumpRegisters): (JSC::Machine::unwindCallFrame): (JSC::Machine::privateExecute): (JSC::Machine::cti_op_call_JSFunction): (JSC::Machine::cti_op_push_activation): (JSC::Machine::cti_op_tear_off_activation): (JSC::Machine::cti_op_construct_JSConstruct):
  • VM/Machine.h: (JSC::Machine::initializeCallFrame):
  • VM/RegisterFile.h: (JSC::RegisterFile::):
19:15 Changeset [37365] by mrowe@apple.com
  • 2 edits in branches/Safari-3-2-branch/WebKit/mac/Misc

Merge _webkit_localCacheDirectoryWithBundleIdentifier:.

18:21 Changeset [37364] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-10-06 Tony Chang <tony@chromium.org>

Reviewed by Alexey Proskuryakov.

Chromium doesn't use pthreads on windows, so make its use conditional.

Also convert a WORD to a DWORD to avoid a compiler warning. This
matches the other methods around it.

  • wtf/ThreadingWin.cpp: (WTF::wtfThreadEntryPoint): (WTF::ThreadCondition::broadcast):
18:15 Changeset [37363] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-10-06 Mark Mentovai <mark@moxienet.com>

Reviewed by Tim Hatcher.

Allow ENABLE_DASHBOARD_SUPPORT and ENABLE_MAC_JAVA_BRIDGE to be
disabled on the Mac.

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

  • wtf/Platform.h:
18:14 Changeset [37362] by eric@webkit.org
  • 6 edits in trunk/WebCore

2008-10-06 Mark Mentovai <mark@moxienet.com>

Reviewed by Tim Hatcher.

Use #if ENABLE(feature) where possible, and #if ENABLE_feature where
Platform.h is not available, in preference to #ifdef ENABLE_feature.
#ifdef is wrong now that features are disabled by #defining
ENABLE_feature to 0.

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

  • bindings/objc/DOMEvents.h:
  • bindings/objc/PublicDOMInterfaces.h:
  • dom/Document.idl:
  • page/DOMWindow.idl:
  • svg/svgtags.in:
18:11 Changeset [37361] by eric@webkit.org
  • 2 edits in trunk/WebCore

2008-10-06 Mark Mentovai <mark@moxienet.com>

Reviewed by Sam Weinig.

  • platform/network/mac/FormDataStreamMac.mm: #import <wtf/Threading.h> to get the declaration for isMainThread().
18:10 Changeset [37360] by mrowe@apple.com
  • 2 edits in branches/Safari-3-2-branch/WebCore

Merge r36811.

18:10 Changeset [37359] by mrowe@apple.com
  • 7 edits
    2 adds in branches/Safari-3-2-branch

Merge r37008.

18:09 Changeset [37358] by eric@webkit.org
  • 2 edits
    1 move in trunk/WebCore

2008-10-06 Jeremy Moskovich <jeremy@chromium.org>

Reviewed by Tim Hatcher.

WebCoreObjCExtras.c is actually an obj-c++ file, so change its name
to reflect that.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/mac/WebCoreObjCExtras.c: Removed.
  • platform/mac/WebCoreObjCExtras.mm: Copied from WebCore/platform/mac/WebCoreObjCExtras.c.
18:05 Changeset [37357] by eric@webkit.org
  • 2 edits in trunk/WebCore

2008-10-06 Jeremy Moskovich <jeremy@chromium.org>

Reviewed by Dan Bernstein.

Added C++ forward declaration for the NSURLAuthenticationChallenge class
so that the m_currentMacChallenge variable doesn't cause a
compilation error when ResourceHandleInternal.h is included from a C++ file.
Fixes: https://bugs.webkit.org/show_bug.cgi?id=21411

  • platform/network/ResourceHandleInternal.h:
17:38 Changeset [37356] by mrowe@apple.com
  • 3 edits
    3 adds in branches/Safari-3-2-branch

Merge r36810.

17:38 Changeset [37355] by mrowe@apple.com
  • 4 edits
    3 adds in branches/Safari-3-2-branch

Merge r33972.

17:17 Changeset [37354] by sfalken@apple.com
  • 2 edits in trunk/WebCore

Windows build fix.

16:47 Changeset [37353] by sfalken@apple.com
  • 4 edits in trunk

JavaScriptCore:

https://bugs.webkit.org/show_bug.cgi?id=21416
Pass 0 for size to VirtualAlloc, as documented by MSDN.
Identified by Application Verifier.


Reviewed by Darin Adler.

  • kjs/collector.cpp: (KJS::freeBlock):

WebCore:

https://bugs.webkit.org/show_bug.cgi?id=21416
Add missing null checks identified by Application Verifier.


Reviewed by Darin Adler.

  • platform/win/SharedTimerWin.cpp: (WebCore::clearTimer):
16:15 Changeset [37352] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

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

Reviewed by Tim Hatcher.

Removed accidentally left in debugging statement.

  • inspector/front-end/inspector.js:
16:10 Changeset [37351] by kmccullough@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

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

Reviewed by Tim Hatcher and Oliver Hunt.

https://bugs.webkit.org/show_bug.cgi?id=21412
Bug 21412: Refactor user initiated profile count to be more stable

  • inspector/InspectorController.cpp: Keep track of the user-initiated profiles here now. (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::startUserInitiatedProfiling): (WebCore::InspectorController::stopUserInitiatedProfiling):
  • inspector/InspectorController.h: The front end will now need to check for the existence of the user- initiated profile title and use its count instead of keeping its own.
  • inspector/front-end/ProfilesPanel.js:
16:09 Changeset [37350] by kmccullough@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

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

Reviewed by Tim Hatcheri and Oliver Hunt.

https://bugs.webkit.org/show_bug.cgi?id=21412
Bug 21412: Refactor user initiated profile count to be more stable

  • Export UString::from for use with creating the profile title.
16:08 Changeset [37349] by kmccullough@apple.com
  • 6 edits in trunk

JavaScriptCore:

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

Reviewed by Tim Hatcher.

https://bugs.webkit.org/show_bug.cgi?id=21412
Bug 21412: Refactor user initiated profile count to be more stable

  • Export UString::from for use with creating the profile title.

WebCore:

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

Reviewed by Tim Hatcher.

https://bugs.webkit.org/show_bug.cgi?id=21412
Bug 21412: Refactor user initiated profile count to be more stable

  • inspector/InspectorController.cpp: Keep track of the user-initiated profiles here now. (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::startUserInitiatedProfiling): (WebCore::InspectorController::stopUserInitiatedProfiling):
  • inspector/InspectorController.h: The front end will now need to check for the existence of the user- initiated profile title and use its count instead of keeping its own.
  • inspector/front-end/ProfilesPanel.js:
15:41 Changeset [37348] by kdecker@apple.com
  • 5 edits in trunk/WebKit/mac

Rubber-stamped by Anders Carlsson.

Rename _webkit_applicationCacheDirectoryWithBundleIdentifier to _webkit_localCacheDirectoryWithBundleIdentifier.


  • Misc/WebKitNSStringExtras.h:
  • Misc/WebKitNSStringExtras.m: (+[NSString _webkit_localCacheDirectoryWithBundleIdentifier:]):
  • WebView/WebDataSource.mm: (-[WebDataSource _transferApplicationCache:]):
  • WebView/WebView.mm: (WebKitInitializeApplicationCachePathIfNecessary):
15:22 Changeset [37347] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

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

Reviewed by Sam Weinig.

Make WebNetscapePluginStream a WebCore::NetscapePlugInStreamLoaderClient.


  • Plugins/WebBaseNetscapePluginStream.h: (WebNetscapePluginStream::~WebNetscapePluginStream):
  • Plugins/WebBaseNetscapePluginStream.mm: (WebNetscapePluginStream::didReceiveResponse): (-[WebBaseNetscapePluginStream startStreamWithResponse:]): (WebNetscapePluginStream::wantsAllStreams): (-[WebBaseNetscapePluginStream wantsAllStreams]): (WebNetscapePluginStream::didFail): (-[WebBaseNetscapePluginStream destroyStreamWithError:]): (WebNetscapePluginStream::didFinishLoading): (-[WebBaseNetscapePluginStream finishedLoading]): (WebNetscapePluginStream::didReceiveData): (-[WebBaseNetscapePluginStream receivedData:]):
14:56 Changeset [37346] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

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

Bring back the stop method. It was called through performSelector, which
is why I couldn't find any references to it.

  • Plugins/WebBaseNetscapePluginStream.h:
  • Plugins/WebBaseNetscapePluginStream.mm: (-[WebBaseNetscapePluginStream stop]):
14:28 Changeset [37345] by andersca@apple.com
  • 4 edits in trunk/WebKit/mac

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

Reviewed by Sam Weinig.

More conversion and cleanup.


  • Plugins/WebBaseNetscapePluginStream.h:
  • Plugins/WebBaseNetscapePluginStream.mm: (WebNetscapePluginStream::startStream): (-[WebBaseNetscapePluginStream startStreamWithResponse:]):
  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
14:05 Changeset [37344] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

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

Reviewed by Sam Weinig.

Fold initWithRequestURL into initWithRequest.


  • Plugins/WebBaseNetscapePluginStream.h:
  • Plugins/WebBaseNetscapePluginStream.mm: (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
13:57 Changeset [37343] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

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

Reviewed by Sam Weinig.

Change the init methods not to return nil on failures. (These failures never occur anyway)


Use initWithRequest as the initializer, initWithRequestURL is going to be merged with it.


  • Plugins/WebBaseNetscapePluginStream.mm: (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]): (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
13:34 Changeset [37342] by andersca@apple.com
  • 4 edits in trunk/WebKit/mac

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

Reviewed by David Hyatt.

Convert more methods over to C++.


  • Plugins/WebBaseNetscapePluginStream.h:
  • Plugins/WebBaseNetscapePluginStream.mm: (WebNetscapePluginStream::ownerForStream): (WebNetscapePluginStream::pluginCancelledConnectionError): (WebNetscapePluginStream::errorForReason): (-[WebBaseNetscapePluginStream errorForReason:]): (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): (WebNetscapePluginStream::cancelLoadAndDestroyStreamWithError): (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError:]): (WebNetscapePluginStream::deliverData): (WebNetscapePluginStream::deliverDataTimerFired): (WebNetscapePluginStream::deliverDataToFile): (-[WebBaseNetscapePluginStream finishedLoading]): (-[WebBaseNetscapePluginStream receivedData:]):
  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView destroyStream:reason:]):
13:25 Changeset [37341] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Sam Weinig.

  • separate GDI text drawing into its own function
  • platform/graphics/win/FontCGWin.cpp: (WebCore::drawGDIGlyphs): (WebCore::Font::drawGlyphs):
13:13 Changeset [37340] by hyatt@apple.com
  • 3 edits in trunk/WebKit/mac

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

Add SPI for a new viewless WebKit mode. The idea is that when this flag is set there will be no
views created except for the outermost WebView.

Reviewed by Tim Hatcher

  • WebView/WebView.mm:
  • WebView/WebViewInternal.h:
13:02 Changeset [37339] by andersca@apple.com
  • 4 edits in trunk/WebKit/mac

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

Reviewed by David Hyatt.

Convert more methods over to C++.


  • Plugins/WebBaseNetscapePluginStream.h:
  • Plugins/WebBaseNetscapePluginStream.mm: (WebNetscapePluginStream::reasonForError): (WebNetscapePluginStream::destroyStreamWithReason): (WebNetscapePluginStream::cancelLoadWithError): (-[WebBaseNetscapePluginStream cancelLoadWithError:]): (WebNetscapePluginStream::destroyStreamWithError): (-[WebBaseNetscapePluginStream destroyStreamWithError:]): (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError:]): (-[WebBaseNetscapePluginStream _deliverDataToFile:]): (-[WebBaseNetscapePluginStream finishedLoading]):
  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithError:]):
12:55 Changeset [37338] by sfalken@apple.com
  • 3 edits in trunk/WebCore

<rdar://problem/6249833> Fix default button appearance


Reviewed by Adele Peterson.

  • rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::supportsFocus): (WebCore::RenderThemeWin::determineClassicState): (WebCore::RenderThemeWin::determineButtonState): (WebCore::RenderThemeWin::getClassicThemeData): (WebCore::RenderThemeWin::getThemeData): (WebCore::drawControl):
  • rendering/RenderThemeWin.h:
11:31 Changeset [37337] by mjs@apple.com
  • 21 edits in trunk

JavaScriptCore:

2008-10-06 Maciej Stachowiak <mjs@apple.com>

Not reviewed. Build fix.


  • revert toBoolean changes (r37333 and r37335); need to make WebCore work with these
  • API/JSValueRef.cpp: (JSValueToBoolean):
  • ChangeLog:
  • JavaScriptCore.exp:
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • VM/Machine.cpp: (JSC::Machine::privateExecute): (JSC::Machine::cti_op_loop_if_true): (JSC::Machine::cti_op_not): (JSC::Machine::cti_op_jtrue):
  • kjs/ArrayPrototype.cpp: (JSC::arrayProtoFuncFilter): (JSC::arrayProtoFuncEvery): (JSC::arrayProtoFuncSome):
  • kjs/BooleanConstructor.cpp: (JSC::constructBoolean): (JSC::callBooleanConstructor):
  • kjs/GetterSetter.h:
  • kjs/JSCell.h: (JSC::JSValue::toBoolean):
  • kjs/JSNumberCell.cpp: (JSC::JSNumberCell::toBoolean):
  • kjs/JSNumberCell.h:
  • kjs/JSObject.cpp: (JSC::JSObject::toBoolean):
  • kjs/JSObject.h:
  • kjs/JSString.cpp: (JSC::JSString::toBoolean):
  • kjs/JSString.h:
  • kjs/JSValue.h:
  • kjs/RegExpConstructor.cpp: (JSC::setRegExpConstructorMultiline):
  • kjs/RegExpObject.cpp: (JSC::RegExpObject::match):
  • kjs/RegExpPrototype.cpp: (JSC::regExpProtoFuncToString):

JavaScriptGlue:

2008-10-06 Maciej Stachowiak <mjs@apple.com>

Not reviewed. Build fix.

  • revert toBoolean changes (r37333 and r37335); need to make WebCore work with these
  • JSUtils.cpp: (KJSValueToCFTypeInternal):
11:19 Changeset [37336] by mjs@apple.com
  • 2 edits in trunk/JavaScriptGlue

2008-10-06 Maciej Stachowiak <mjs@apple.com>

Not reviewed.


  • fix build; toBoolean no longer takes an ExecState
  • JSUtils.cpp: (KJSValueToCFTypeInternal):
11:11 Changeset [37335] by vestbo@webkit.org
  • 7 edits in trunk/WebCore

2008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Add native virtual keycode to PlatformKeyboardEvent

10:51 Changeset [37334] by vestbo@webkit.org
  • 5 edits in trunk/WebCore

2008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Enable WebCore::String <> CFStringRef conversion functions for QtWebKit/Mac

10:50 Changeset [37333] by mjs@apple.com
  • 19 edits in trunk/JavaScriptCore

2008-10-06 Maciej Stachowiak <mjs@apple.com>

Reviewed by Sam Weinig.



1) Make JSValue::toBoolean nonvirtual and completely inline by
making use of the StructureID type field.


2) Make JSValue::toBoolean not take an ExecState; doesn't need it.


3) Make op_not, op_loop_if_true and op_jtrue not read the
ExecState (toBoolean doesn't need it any more) and not check
exceptions (toBoolean can't throw).

  • API/JSValueRef.cpp: (JSValueToBoolean):
  • JavaScriptCore.exp:
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • VM/Machine.cpp: (JSC::Machine::privateExecute): (JSC::Machine::cti_op_loop_if_true): (JSC::Machine::cti_op_not): (JSC::Machine::cti_op_jtrue):
  • kjs/ArrayPrototype.cpp: (JSC::arrayProtoFuncFilter): (JSC::arrayProtoFuncEvery): (JSC::arrayProtoFuncSome):
  • kjs/BooleanConstructor.cpp: (JSC::constructBoolean): (JSC::callBooleanConstructor):
  • kjs/GetterSetter.h:
  • kjs/JSCell.h: (JSC::JSValue::toBoolean):
  • kjs/JSNumberCell.cpp:
  • kjs/JSNumberCell.h: (JSC::JSNumberCell::toBoolean):
  • kjs/JSObject.cpp:
  • kjs/JSObject.h: (JSC::JSObject::toBoolean): (JSC::JSCell::toBoolean):
  • kjs/JSString.cpp:
  • kjs/JSString.h: (JSC::JSString::toBoolean):
  • kjs/JSValue.h:
  • kjs/RegExpConstructor.cpp: (JSC::setRegExpConstructorMultiline):
  • kjs/RegExpObject.cpp: (JSC::RegExpObject::match):
  • kjs/RegExpPrototype.cpp: (JSC::regExpProtoFuncToString):
10:46 Changeset [37332] by vestbo@webkit.org
  • 3 edits in trunk/WebCore

2008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Use bundles on QtWebKit/Mac for platform modules

10:00 Changeset [37331] by hausmann@webkit.org
  • 6 edits in trunk

2008-10-06 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon.

Build fix for MinGW.

  • platform/win/SystemTimeWin.cpp:
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginView::invalidateRect):

2008-10-06 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon.

Build fix for MinGW.

08:44 Changeset [37330] by aroben@apple.com
  • 2 edits in trunk/WebCore

Mimic the inspector/ directory structure in WebCore.vcproj

  • WebCore.vcproj/WebCore.vcproj:
08:39 Changeset [37329] by aroben@apple.com
  • 2 edits in trunk/WebCore

Windows build fix

  • WebCore.vcproj/WebCore.vcproj: Update the Include path for all configurations to include WebCore/inspector.
01:23 Changeset [37328] by eric@webkit.org
  • 938 edits in trunk

Reviewed by Darin Adler.

SVG should support ascent and descent properties <font-face> instead of <font>!
https://bugs.webkit.org/show_bug.cgi?id=21365

Tested by many many existing SVG tests.

  • svg/SVGFontFaceElement.cpp: (WebCore::SVGFontFaceElement::ascent): (WebCore::SVGFontFaceElement::descent):

10/05/08:

23:44 Changeset [37327] by mjs@apple.com
  • 2 edits in trunk/WebCore

2008-10-05 Darin Fisher <darin@chromium.org>

Reviewed by Eric Seidel.

REGRESSION: crash in ScriptElement::notifyFinished
Fixes https://bugs.webkit.org/show_bug.cgi?id=21329

  • dom/ScriptElement.cpp: (WebCore::ScriptElementData::notifyFinished): Revert part of r35744 to ensure that the ScriptElementData object is not destroyed prematurely.
23:33 Changeset [37326] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-10-05 Cameron Zwarich <zwarich@apple.com>

Reviewed by Oliver Hunt.

Remove ScopeNode::containsClosures() now that it is unused.

  • kjs/nodes.h: (JSC::ScopeNode::containsClosures):
23:05 Changeset [37325] by mjs@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-10-05 Maciej Stachowiak <mjs@apple.com>

Reviewed by Cameron Zwarich.


  • fix releas-only test failures caused by the fix to bug 21375
  • VM/Machine.cpp: (JSC::Machine::unwindCallFrame): Update ExecState while unwinding call frames; it now matters more to have a still-valid ExecState, since dynamicGlobalObject will make use of the ExecState's scope chain.
  • VM/Machine.h:
23:00 Changeset [37324] by cwzwarich@webkit.org
  • 15 edits in trunk

2008-10-05 Cameron Zwarich <zwarich@apple.com>

Reviewed by Oliver Hunt.

Bug 21364: Remove the branch in op_ret for OptionalCalleeActivation and OptionalCalleeArguments
<https://bugs.webkit.org/show_bug.cgi?id=21364>

Use information from the parser to detect whether an activation is
needed or 'arguments' is used, and emit explicit instructions to tear
them off before op_ret. This allows a branch to be removed from op_ret
and simplifies some other code. This does cause a small change in the
behaviour of 'f.arguments'; it is no longer live when 'arguments' is not
mentioned in the lexical scope of the function.

It should now be easy to remove the OptionaCalleeActivation slot in the
call frame, but this will be done in a later patch.

JavaScriptCore:

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass):
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitReturn):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (JSC::Machine::unwindCallFrame): (JSC::Machine::privateExecute): (JSC::Machine::retrieveArguments): (JSC::Machine::cti_op_create_arguments): (JSC::Machine::cti_op_tear_off_activation): (JSC::Machine::cti_op_tear_off_arguments):
  • VM/Machine.h:
  • VM/Opcode.h:
  • kjs/Arguments.cpp: (JSC::Arguments::mark):
  • kjs/Arguments.h: (JSC::Arguments::isTornOff): (JSC::Arguments::Arguments): (JSC::Arguments::copyRegisters): (JSC::JSActivation::copyRegisters):
  • kjs/JSActivation.cpp: (JSC::JSActivation::argumentsGetter):
  • kjs/JSActivation.h:

LayoutTests:

  • fast/js/function-dot-arguments-expected.txt:
  • fast/js/resources/function-dot-arguments.js:
19:48 Changeset [37323] by mjs@apple.com
  • 8 edits in trunk/JavaScriptCore

2008-10-05 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver Hunt.



The problem is that dynamicGlobalObject had become O(N) in number
of call frames, but unwinding the stack for an exception called it
for every call frame, resulting in O(N2) behavior for an
exception thrown from inside deep recursion.

Instead of doing it that way, stash the dynamic global object in JSGlobalData.


  • JavaScriptCore.exp:
  • VM/Machine.cpp: (JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope): Helper class to temporarily store and later restore a dynamicGlobalObject in JSGlobalData. (JSC::DynamicGlobalObjectScope::~DynamicGlobalObjectScope): (JSC::Machine::execute): In each version, establish a DynamicGlobalObjectScope. For ProgramNode, always establish set new dynamicGlobalObject, for FunctionBody and Eval, only if none is currently set.
  • VM/Machine.h:
  • kjs/ExecState.h:
  • kjs/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): Ininitalize new dynamicGlobalObject field to 0.
  • kjs/JSGlobalData.h:
  • kjs/JSGlobalObject.h: (JSC::ExecState::dynamicGlobalObject): Moved here from ExecState for benefit of inlining. Return lexical global object if this is a globalExec(), otherwise look in JSGlobalData for the one stashed there.
18:43 Changeset [37322] by jmalonzo@webkit.org
  • 3 edits in trunk/WebCore

2008-10-05 Chris Lord <chris@openedhand.com>

Reviewed by Alp Toker. Landed by Jan Alonzo.

https://bugs.webkit.org/show_bug.cgi?id=20624
WebKit-gtk uses deprecated GtkType/GtkObject

  • plugins/gtk/gtk2xtbin.c: (gtk_xtbin_get_type):
  • plugins/gtk/gtk2xtbin.h:
17:58 Changeset [37321] by weinig@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-10-05 Sam Weinig <sam@webkit.org>

Reviewed by Maciej Stachowiak.

Avoid an extra lookup when transitioning to an existing StructureID
by caching the offset of property that caused the transition.

1% win on V8 suite. Wash on SunSpider.

  • kjs/PropertyMap.cpp: (JSC::PropertyMap::put):
  • kjs/PropertyMap.h:
  • kjs/StructureID.cpp: (JSC::StructureID::StructureID): (JSC::StructureID::addPropertyTransition):
  • kjs/StructureID.h: (JSC::StructureID::setCachedTransistionOffset): (JSC::StructureID::cachedTransistionOffset):
15:47 Changeset [37320] by cwzwarich@webkit.org
  • 4 edits in trunk/JavaScriptCore

2008-10-05 Cameron Zwarich <zwarich@apple.com>

Reviewed by Maciej Stachowiak.

Bug 21364: Remove the branch in op_ret for OptionalCalleeActivation and OptionalCalleeArguments
<https://bugs.webkit.org/show_bug.cgi?id=21364>

This patch does not yet remove the branch, but it does a bit of refactoring
so that a CodeGenerator now knows whether the associated CodeBlock will need
a full scope before doing any code generation. This makes it possible to emit
explicit tear-off instructions before every op_ret.

  • VM/CodeBlock.h: (JSC::CodeBlock::CodeBlock):
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::generate): (JSC::CodeGenerator::CodeGenerator): (JSC::CodeGenerator::emitPushScope): (JSC::CodeGenerator::emitPushNewScope):
  • kjs/nodes.h: (JSC::ScopeNode::needsActivation):
14:57 Changeset [37319] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

2008-10-05 Luke Kenneth Casson Leighton <lkcl@lkcl.net>

Reviewed by David Hyatt.

GTK_WINDOW_HWND not GTK_WINDOWING_HWND
https://bugs.webkit.org/show_bug.cgi?id=20725

Updated to ToT by Jan Alonzo.

  • plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::getValue):
14:50 Changeset [37318] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

2008-10-05 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Darin Adler.

Invalid cast from GdkWindow to GtkWidget
https://bugs.webkit.org/show_bug.cgi?id=21391

Fix a misplaced closing parenthesis to actually cast the widget, not the window

  • platform/gtk/PlatformScreenGtk.cpp: (WebCore::screenDepth):
12:12 Changeset [37317] by abarth@webkit.org
  • 11 edits
    30 adds in trunk

WebCore:

2008-10-04 Adam Barth <abarth@webkit.org>

Reviewed by Darin Alder.

Attach the Origin header to POST requests to help defend against
cross-site request forgery.

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

Collin Jackson <collinj@webkit.org> also contributed to this patch.

Tests: http/tests/security/originHeader/origin-header-for-data.html

http/tests/security/originHeader/origin-header-for-empty.html
http/tests/security/originHeader/origin-header-for-get.html
http/tests/security/originHeader/origin-header-for-https.html
http/tests/security/originHeader/origin-header-for-post.html

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::createWindow):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::createWindow): (WebCore::FrameLoader::urlSelected): (WebCore::FrameLoader::submitForm): (WebCore::FrameLoader::outgoingOrigin): (WebCore::FrameLoader::loadURL): (WebCore::FrameLoader::addExtraFieldsToRequest): (WebCore::FrameLoader::loadPostRequest): (WebCore::FrameLoader::loadResourceSynchronously): (WebCore::FrameLoader::loadItem):
  • loader/FrameLoader.h:
  • loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::create):
  • loader/loader.cpp: (WebCore::Loader::Host::servePendingRequests):
  • platform/SecurityOrigin.cpp: (WebCore::SecurityOrigin::toHTTPOrigin):
  • platform/SecurityOrigin.h:
  • platform/network/ResourceRequestBase.h: (WebCore::ResourceRequestBase::httpOrigin): (WebCore::ResourceRequestBase::setHTTPOrigin): (WebCore::ResourceRequestBase::clearHTTPOrigin):
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest): (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight): (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult): (WebCore::XMLHttpRequest::didReceiveResponsePreflight):

LayoutTests:

2008-10-04 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

Tests for the new Origin header.

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

Collin Jackson <collinj@webkit.org> also contributed to this patch.

  • http/tests/security/originHeader: Added.
  • http/tests/security/originHeader/origin-header-for-data-expected.txt: Added.
  • http/tests/security/originHeader/origin-header-for-data.html: Added.
  • http/tests/security/originHeader/origin-header-for-empty-expected.txt: Added.
  • http/tests/security/originHeader/origin-header-for-empty.html: Added.
  • http/tests/security/originHeader/origin-header-for-get-expected.txt: Added.
  • http/tests/security/originHeader/origin-header-for-get.html: Added.
  • http/tests/security/originHeader/origin-header-for-https-expected.txt: Added.
  • http/tests/security/originHeader/origin-header-for-https.html: Added.
  • http/tests/security/originHeader/origin-header-for-post-expected.txt: Added.
  • http/tests/security/originHeader/origin-header-for-post.html: Added.
  • http/tests/security/originHeader/origin-header-for-xmlhttprequest-expected.txt: Added.
  • http/tests/security/originHeader/origin-header-for-xmlhttprequest.html: Added.
  • http/tests/security/originHeader/resources: Added.
  • http/tests/security/originHeader/resources/origin-header-post-to-http.html: Added.
  • http/tests/security/originHeader/resources/print-origin.cgi: Added.
10:38 Changeset [37316] by barraclough@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-10-05 Gavin Barraclough <barraclough@apple.com>

Reviewed by Cameron Zwarich.

Fix for bug #21387 - using SamplingTool with CTI.

(1) A repatch offset offset changes due to an additional instruction to update SamplingTool state.
(2) Fix an incusion order problem due to ExecState changes.
(3) Change to a MACHINE_SAMPLING macro, use of exec should now be accessing global data.

  • VM/CTI.h: (JSC::CTI::execute):
  • VM/SamplingTool.h: (JSC::SamplingTool::privateExecuteReturned):
  • kjs/Shell.cpp:
01:28 Changeset [37315] by oliver@apple.com
  • 3 edits
    2 adds in trunk

Bug 21381: Incremental parsing of html causes bogus line numbers in some cases
<https://bugs.webkit.org/show_bug.cgi?id=21381>

Reviewed by Tim Hatcher.

If we hit a parsing boundary (end of a packet, etc) in the middle of a
<script> element when we are doing an incremental parse, we exit the
parser, and reenter later when more data is available. During this
reentry we incorrectly reset the scriptStartLineno to the current line
in the parser, which is now part way through the script element.

The solution is to track whether we are entering or reentering the parsing
of a script element. We do this simply by 0 checking scriptStartLineno,
and resetting it after we complete parsing of each script element.

Test: http/tests/incremental/pause-in-script-element.pl

10/04/08:

23:13 Changeset [37314] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

2008-10-04 Alp Toker <alp@nuanti.com>

Reviewed by David Hyatt. Landed by Jan Alonzo.

https://bugs.webkit.org/show_bug.cgi?id=20924
[Gtk] Linux/Gtk: Recent tree revisions fail Acid2 and Acid3

https://bugs.webkit.org/show_bug.cgi?id=19578
[CURL] problem in parseDataUrl

De-obfuscate parseDataUrl() and fix regressions introduced in r35954.
This patch also fixes encoding support in escaped (non-Base64) data
URLs. All manual data URL tests now pass in both GLib and non-GLib
code paths.

  • platform/network/curl/ResourceHandleManager.cpp: (WebCore::parseDataUrl):
21:12 Changeset [37313] by timothy@apple.com
  • 5 edits
    1 add in trunk/WebCore

Makes breakpoints and debugging code during page load work in the
Web Inspector's debugger. Specifically, this makes the source
code for loading resources show up in the Scripts panel.

https://bugs.webkit.org/show_bug.cgi?id=19053
rdar://problem/5933408

Reviewed by Mark Rowe.

  • WebCore.xcodeproj/project.pbxproj: Mark the inspector group as not using tabs and a tab width of 8.
  • inspector/InspectorController.cpp: (WebCore::addResourceSourceToFrame): Return a bool to report if the source was added successfully or not. (WebCore::addSourceToFrame): Ditto.
  • inspector/front-end/ScriptView.js: (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): Return early if the InspectorController.addSourceToFrame fails. Moved the delete of the _frameNeedsSetup property after that call so if the source wasn't added it will be attempted again.
  • inspector/front-end/SourceView.js: (WebInspector.SourceView.prototype.detach): Move a comment. (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded): Don't check if the resource is finished or failed, just attempt to add the source to the frame. WebCore has the source, but the finished property hasn't been set yet. Return early if the InspectorController.addSourceToFrame fails. Moved the delete of the _frameNeedsSetup property after that call so if the source wasn't added it will be attempted again. (WebInspector.SourceView.prototype._resourceLoadingFinished): Clear the _frameNeedsSetup and _sourceFrameSetup properties so the source frame will we populated again now that the resource load has finished.
  • manual-tests/inspector/debugger-pause-during-load.html: Added.
20:04 Changeset [37312] by mrowe@apple.com
  • 8 edits in trunk

Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible.

Reviewed by Tim Hatcher.

20:04 Changeset [37311] by mrowe@apple.com
  • 2 edits in trunk/WebKitTools

Update check-for-weak-vtables to check only the final linked image for weak vtables.
This gives more useful results than checking each object file independently.

Reviewed by Tim Hatcher.

19:55 Changeset [37310] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/WidgetQt.cpp

Fix Qt build bustage.

19:21 Changeset [37309] by mrowe@apple.com
  • 12 edits in trunk/WebKitSite

Upgrade to WordPress 2.6.2.

  • blog:
18:38 Changeset [37308] by mrowe@apple.com
  • 4 edits in branches/Safari-3-2-branch

Update format of CFBundleShortVersionString for <rdar://problem/6269394>.

18:04 Changeset [37307] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/ScrollView.h

Fix build bustage I just introduced.

17:55 Changeset [37306] by hyatt@apple.com
  • 3 edits in trunk/WebCore

2008-10-04 David Hyatt <hyatt@apple.com>

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

Tear down scrollbars in FrameView rather than ScrollView so that the connection to the hostWindow()
is still present.

Reviewed by Mark Rowe

  • page/FrameView.cpp: (WebCore::FrameView::~FrameView):
17:22 Changeset [37305] by mrowe@apple.com
  • 4 edits in branches/Safari-3-2-branch

Versioning.

17:21 Changeset [37304] by mrowe@apple.com
  • 12 edits in branches/Safari-3-2-branch

Merge r35278.

16:33 Changeset [37303] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/QWebPopup.cpp

Fix Qt bustage.

16:15 Changeset [37302] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/QWebPopup.cpp

Fix Qt bustage.

15:52 Changeset [37301] by weinig@apple.com
  • 8 edits in trunk/WebCore

2008-10-04 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Avoid copying a Vector when using getSupportedKeySizes.

  • html/HTMLKeygenElement.cpp: (WebCore::HTMLKeygenElement::HTMLKeygenElement):
  • platform/SSLKeyGenerator.h:
  • platform/gtk/TemporaryLinkStubs.cpp: (WebCore::getSupportedKeySizes):
  • platform/mac/SSLKeyGeneratorMac.mm: (WebCore::getSupportedKeySizes):
  • platform/qt/TemporaryLinkStubs.cpp: (WebCore::getSupportedKeySizes):
  • platform/win/TemporaryLinkStubs.cpp: (WebCore::getSupportedKeySizes):
  • platform/wx/TemporaryLinkStubs.cpp: (WebCore::getSupportedKeySizes):
14:57 Changeset [37300] by weinig@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-10-04 Sam Weinig <sam@webkit.org>

Reviewed by Oliver Hunt.

Fix https://bugs.webkit.org/show_bug.cgi?id=21320
leaks of PropertyNameArrayData seen on buildbot

  • Fix RefPtr cycle by making PropertyNameArrayData's pointer back to the StructureID a weak pointer.
  • kjs/PropertyNameArray.h: (JSC::PropertyNameArrayData::setCachedStructureID): (JSC::PropertyNameArrayData::cachedStructureID):
  • kjs/StructureID.cpp: (JSC::StructureID::getEnumerablePropertyNames): (JSC::StructureID::clearEnumerationCache): (JSC::StructureID::~StructureID):
14:56 Changeset [37299] by hyatt@apple.com
  • 1 edit in trunk/WebCore/WebCore.pro

Speculative fix for Qt bustage from inspector directory move.

14:53 Changeset [37298] by hyatt@apple.com
  • 1 edit in trunk/WebCore/WebCore.vcproj/WebCore.vcproj

Fix build bustage from the inspector directory move on Windows.

14:12 Changeset [37297] by darin@apple.com
  • 24 edits in trunk

JavaScriptCore:

2008-10-04 Darin Adler <darin@apple.com>

Reviewed by Cameron Zwarich.

10% faster on Richards; other v8 benchmarks faster too.
A wash on SunSpider.

This does the minimum necessary to get the speedup. Next step in
cleaning this up is to replace ExecState with a CallFrame class,
and be more judicious about when to pass a call frame and when
to pass a global data pointer, global object pointer, or perhaps
something else entirely.

  • VM/CTI.cpp: Remove the debug-only check of the exception in ctiVMThrowTrampoline -- already checked in the code the trampoline jumps to, so not all that useful. Removed the exec argument from ctiTrampoline. Removed emitDebugExceptionCheck -- no longer needed. (JSC::CTI::emitCall): Removed code to set ExecState::m_callFrame. (JSC::CTI::privateCompileMainPass): Removed code in catch to extract the exception from ExecState::m_exception; instead, the code that jumps into catch will make sure the exception is already in eax.
  • VM/CTI.h: Removed exec from the ctiTrampoline. Also removed the non-helpful "volatile". Temporarily left ARG_exec in as a synonym for ARG_r; I'll change that on a future cleanup pass when introducing more use of the CallFrame type. (JSC::CTI::execute): Removed the ExecState* argument.
  • VM/ExceptionHelpers.cpp: (JSC::InterruptedExecutionError::InterruptedExecutionError): Take JSGlobalData* instead of ExecState*. (JSC::createInterruptedExecutionException): Ditto.
  • VM/ExceptionHelpers.h: Ditto. Also removed an unneeded include.
  • VM/Machine.cpp: (JSC::slideRegisterWindowForCall): Removed the exec and exceptionValue arguments. Changed to return 0 when there's a stack overflow rather than using a separate exception argument to cut down on memory accesses in the calling convention. (JSC::Machine::unwindCallFrame): Removed the exec argument when constructing a DebuggerCallFrame. Also removed code to set ExecState::m_callFrame. (JSC::Machine::throwException): Removed the exec argument when construction a DebuggerCallFrame. (JSC::Machine::execute): Updated to use the register instead of ExecState and also removed various uses of ExecState. (JSC::Machine::debug): (JSC::Machine::privateExecute): Put globalData into a local variable so it can be used throughout the interpreter. Changed the VM_CHECK_EXCEPTION to get the exception in globalData instead of through ExecState. (JSC::Machine::retrieveLastCaller): Turn exec into a registers pointer by calling registers() instead of by getting m_callFrame. (JSC::Machine::callFrame): Ditto. Tweaked exception macros. Made new versions for when you know you have an exception. Get at global exception with ARG_globalData. Got rid of the need to pass in the return value type. (JSC::Machine::cti_op_add): Update to use new version of exception macros. (JSC::Machine::cti_op_pre_inc): Ditto. (JSC::Machine::cti_timeout_check): Ditto. (JSC::Machine::cti_op_instanceof): Ditto. (JSC::Machine::cti_op_new_func): Ditto. (JSC::Machine::cti_op_call_JSFunction): Optimized by using the ARG values directly instead of through local variables -- this gets rid of code that just shuffles things around in the stack frame. Also get rid of ExecState and update for the new way exceptions are handled in slideRegisterWindowForCall. (JSC::Machine::cti_vm_compile): Update to make exec out of r since they are both the same thing now. (JSC::Machine::cti_op_call_NotJSFunction): Ditto. (JSC::Machine::cti_op_init_arguments): Ditto. (JSC::Machine::cti_op_resolve): Ditto. (JSC::Machine::cti_op_construct_JSConstruct): Ditto. (JSC::Machine::cti_op_construct_NotJSConstruct): Ditto. (JSC::Machine::cti_op_resolve_func): Ditto. (JSC::Machine::cti_op_put_by_val): Ditto. (JSC::Machine::cti_op_put_by_val_array): Ditto. (JSC::Machine::cti_op_resolve_skip): Ditto. (JSC::Machine::cti_op_resolve_global): Ditto. (JSC::Machine::cti_op_post_inc): Ditto. (JSC::Machine::cti_op_resolve_with_base): Ditto. (JSC::Machine::cti_op_post_dec): Ditto. (JSC::Machine::cti_op_call_eval): Ditto. (JSC::Machine::cti_op_throw): Ditto. Also rearranged to return the exception value as the return value so it can be used by op_catch. (JSC::Machine::cti_op_push_scope): Ditto. (JSC::Machine::cti_op_in): Ditto. (JSC::Machine::cti_op_del_by_val): Ditto. (JSC::Machine::cti_vm_throw): Ditto. Also rearranged to return the exception value as the return value so it can be used by op_catch.
  • kjs/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::functionName): Pass globalData. (JSC::DebuggerCallFrame::evaluate): Eliminated code to make a new ExecState.
  • kjs/DebuggerCallFrame.h: Removed ExecState argument from constructor.
  • kjs/ExecState.h: Eliminated all data members and made ExecState inherit privately from Register instead. Also added a typedef to the future name for this class, which is CallFrame. It's just a Register* that knows it's a pointer at a call frame. The new class can't be constructed or copied. Changed all functions to use the this pointer instead of m_callFrame. Changed exception-related functions to access an exception in JSGlobalData. Removed functions used by CTI to pass the return address to the throw machinery -- this is now done directly with a global in the global data.
  • kjs/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): Pass globalData instead of exec.
  • kjs/InternalFunction.cpp: (JSC::InternalFunction::name): Take globalData instead of exec.
  • kjs/InternalFunction.h: Ditto.
  • kjs/JSGlobalData.cpp: Initialize the new exception global to 0.
  • kjs/JSGlobalData.h: Declare two new globals. One for the current exception and another for the return address used by CTI to implement the throw operation.
  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): Removed code to set up globalExec, which is now the same thing as globalCallFrame. (JSC::JSGlobalObject::reset): Get globalExec from our globalExec function so we don't have to repeat the logic twice. (JSC::JSGlobalObject::mark): Removed code to mark the exception; the exception is now stored in JSGlobalData and marked there. (JSC::JSGlobalObject::globalExec): Return a pointer to the end of the global call frame.
  • kjs/JSGlobalObject.h: Removed the globalExec data member.
  • kjs/JSObject.cpp: (JSC::JSObject::putDirectFunction): Pass globalData instead of exec.
  • kjs/collector.cpp: (JSC::Heap::collect): Mark the global exception.
  • profiler/ProfileGenerator.cpp: (JSC::ProfileGenerator::addParentForConsoleStart): Pass globalData instead of exec to createCallIdentifier.
  • profiler/Profiler.cpp: (JSC::Profiler::willExecute): Pass globalData instead of exec to createCallIdentifier. (JSC::Profiler::didExecute): Ditto. (JSC::Profiler::createCallIdentifier): Take globalData instead of exec. (JSC::createCallIdentifierFromFunctionImp): Ditto.
  • profiler/Profiler.h: Change interface to take a JSGlobalData instead of an ExecState.

WebKit/mac:

2008-10-04 Darin Adler <darin@apple.com>

Reviewed by Cameron Zwarich.

  • WebView/WebScriptDebugger.mm: (WebScriptDebugger::WebScriptDebugger): Remove 0 passed for ExecState.
14:10 Changeset [37296] by darin@apple.com
  • 3 edits in trunk/WebCore

2008-10-04 Darin Adler <darin@apple.com>

Reviewed by Cameron Zwarich.

  • bindings/js/JSQuarantinedObjectWrapper.cpp: (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom): Remove bogus "const".
  • bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
14:03 Changeset [37295] by hyatt@apple.com
  • 12 edits
    1 add in trunk/WebCore

2008-10-04 David Hyatt <hyatt@apple.com>

Make PopupMenuClient obey the platform abstraction. Remove any connection to Document and RenderStyle.

Reviewed by Darin Adler

  • WebCore.xcodeproj/project.pbxproj:
  • platform/PopupMenuClient.h:
  • platform/gtk/PopupMenuGtk.cpp: (WebCore::PopupMenu::show):
  • platform/mac/PopupMenuMac.mm: (WebCore::PopupMenu::populate): (WebCore::PopupMenu::show):
  • platform/qt/PopupMenuQt.cpp: (WebCore::PopupMenu::populate):
  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::calculatePositionAndSize): (WebCore::PopupMenu::paint): (WebCore::PopupWndProc):
  • rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::itemStyle): (WebCore::RenderMenuList::menuStyle): (WebCore::RenderMenuList::hostWindow):
  • rendering/RenderMenuList.h:
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::itemStyle): (WebCore::RenderTextControl::menuStyle): (WebCore::RenderTextControl::hostWindow):
  • rendering/RenderTextControl.h:
13:32 Changeset [37294] by cwzwarich@webkit.org
  • 7 edits in trunk/JavaScriptCore

2008-10-04 Cameron Zwarich <zwarich@apple.com>

Reviewed by Darin Adler.

Bug 21369: Add opcode documentation for all undocumented opcodes
<https://bugs.webkit.org/show_bug.cgi?id=21369>

This patch adds opcode documentation for all undocumented opcodes, and
it also renames op_init_arguments to op_create_arguments.

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass):
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::CodeGenerator):
  • VM/Machine.cpp: (JSC::Machine::privateExecute): (JSC::Machine::cti_op_create_arguments):
  • VM/Machine.h:
  • VM/Opcode.h:
11:41 Changeset [37293] by pewtermoose@webkit.org
  • 2 edits in trunk/WebCore

2008-10-04 Matt Lilek <webkit@mattlilek.com>

Build fix - restore Private role to headers that had it before the move.

  • WebCore.xcodeproj/project.pbxproj:
11:37 Changeset [37292] by darin@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

Fix ChangeLog.

11:37 Changeset [37291] by darin@apple.com
  • 3 edits in trunk/WebCore

2008-10-04 Darin Adler <darin@apple.com>

  • try to fix build
  • DerivedSources.make: Add new inspector directory to VPATH.
  • GNUmakefile.am:
10:28 Changeset [37290] by pewtermoose@webkit.org
  • 2 edits in trunk/WebCore

2008-10-04 Matt Lilek <webkit@mattlilek.com>

Not reviewed, attempt to fix Gtk build.

  • GNUmakefile.am:
01:10 Changeset [37289] by timothy@apple.com
  • 6 edits
    156 moves
    3 adds in trunk/WebCore

Move the Web Inspector files into a top-level "inspector" folder.

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

Reviewed by Dave Hyatt.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • inspector/InspectorClient.h: Renamed from WebCore/page/InspectorClient.h.
  • inspector/InspectorController.cpp: Renamed from WebCore/page/InspectorController.cpp.
  • inspector/InspectorController.h: Renamed from WebCore/page/InspectorController.h.
  • inspector/JavaScriptCallFrame.cpp: Renamed from WebCore/page/JavaScriptCallFrame.cpp.
  • inspector/JavaScriptCallFrame.h: Renamed from WebCore/page/JavaScriptCallFrame.h.
  • inspector/JavaScriptCallFrame.idl: Renamed from WebCore/page/JavaScriptCallFrame.idl.
  • inspector/JavaScriptDebugListener.h: Renamed from WebCore/page/JavaScriptDebugListener.h.
  • inspector/JavaScriptDebugServer.cpp: Renamed from WebCore/page/JavaScriptDebugServer.cpp.
  • inspector/JavaScriptDebugServer.h: Renamed from WebCore/page/JavaScriptDebugServer.h.
  • inspector/JavaScriptProfile.cpp: Renamed from WebCore/page/JavaScriptProfile.cpp.
  • inspector/JavaScriptProfile.h: Renamed from WebCore/page/JavaScriptProfile.h.
  • inspector/JavaScriptProfileNode.cpp: Renamed from WebCore/page/JavaScriptProfileNode.cpp.
  • inspector/JavaScriptProfileNode.h: Renamed from WebCore/page/JavaScriptProfileNode.h.
  • inspector/front-end/Breakpoint.js: Renamed from WebCore/page/inspector/Breakpoint.js.
  • inspector/front-end/BreakpointsSidebarPane.js: Renamed from WebCore/page/inspector/BreakpointsSidebarPane.js.
  • inspector/front-end/CallStackSidebarPane.js: Renamed from WebCore/page/inspector/CallStackSidebarPane.js.
  • inspector/front-end/Console.js: Renamed from WebCore/page/inspector/Console.js.
  • inspector/front-end/DataGrid.js: Renamed from WebCore/page/inspector/DataGrid.js.
  • inspector/front-end/Database.js: Renamed from WebCore/page/inspector/Database.js.
  • inspector/front-end/DatabaseQueryView.js: Renamed from WebCore/page/inspector/DatabaseQueryView.js.
  • inspector/front-end/DatabaseTableView.js: Renamed from WebCore/page/inspector/DatabaseTableView.js.
  • inspector/front-end/DatabasesPanel.js: Renamed from WebCore/page/inspector/DatabasesPanel.js.
  • inspector/front-end/ElementsPanel.js: Renamed from WebCore/page/inspector/ElementsPanel.js.
  • inspector/front-end/ElementsTreeOutline.js: Renamed from WebCore/page/inspector/ElementsTreeOutline.js.
  • inspector/front-end/FontView.js: Renamed from WebCore/page/inspector/FontView.js.
  • inspector/front-end/ImageView.js: Renamed from WebCore/page/inspector/ImageView.js.
  • inspector/front-end/Images/back.png: Renamed from WebCore/page/inspector/Images/back.png.
  • inspector/front-end/Images/checker.png: Renamed from WebCore/page/inspector/Images/checker.png.
  • inspector/front-end/Images/clearConsoleButtons.png: Renamed from WebCore/page/inspector/Images/clearConsoleButtons.png.
  • inspector/front-end/Images/closeButtons.png: Renamed from WebCore/page/inspector/Images/closeButtons.png.
  • inspector/front-end/Images/consoleButtons.png: Renamed from WebCore/page/inspector/Images/consoleButtons.png.
  • inspector/front-end/Images/database.png: Renamed from WebCore/page/inspector/Images/database.png.
  • inspector/front-end/Images/databaseTable.png: Renamed from WebCore/page/inspector/Images/databaseTable.png.
  • inspector/front-end/Images/databasesIcon.png: Renamed from WebCore/page/inspector/Images/databasesIcon.png.
  • inspector/front-end/Images/debuggerContinue.png: Renamed from WebCore/page/inspector/Images/debuggerContinue.png.
  • inspector/front-end/Images/debuggerPause.png: Renamed from WebCore/page/inspector/Images/debuggerPause.png.
  • inspector/front-end/Images/debuggerStepInto.png: Renamed from WebCore/page/inspector/Images/debuggerStepInto.png.
  • inspector/front-end/Images/debuggerStepOut.png: Renamed from WebCore/page/inspector/Images/debuggerStepOut.png.
  • inspector/front-end/Images/debuggerStepOver.png: Renamed from WebCore/page/inspector/Images/debuggerStepOver.png.
  • inspector/front-end/Images/debuggingButtons.png: Renamed from WebCore/page/inspector/Images/debuggingButtons.png.
  • inspector/front-end/Images/disclosureTriangleSmallDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDown.png.
  • inspector/front-end/Images/disclosureTriangleSmallDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownBlack.png.
  • inspector/front-end/Images/disclosureTriangleSmallDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownWhite.png.
  • inspector/front-end/Images/disclosureTriangleSmallRight.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRight.png.
  • inspector/front-end/Images/disclosureTriangleSmallRightBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightBlack.png.
  • inspector/front-end/Images/disclosureTriangleSmallRightDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDown.png.
  • inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownBlack.png.
  • inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownWhite.png.
  • inspector/front-end/Images/disclosureTriangleSmallRightWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightWhite.png.
  • inspector/front-end/Images/dockButtons.png: Renamed from WebCore/page/inspector/Images/dockButtons.png.
  • inspector/front-end/Images/elementsIcon.png: Renamed from WebCore/page/inspector/Images/elementsIcon.png.
  • inspector/front-end/Images/errorIcon.png: Renamed from WebCore/page/inspector/Images/errorIcon.png.
  • inspector/front-end/Images/errorMediumIcon.png: Renamed from WebCore/page/inspector/Images/errorMediumIcon.png.
  • inspector/front-end/Images/excludeButtons.png: Renamed from WebCore/page/inspector/Images/excludeButtons.png.
  • inspector/front-end/Images/focusButtons.png: Renamed from WebCore/page/inspector/Images/focusButtons.png.
  • inspector/front-end/Images/forward.png: Renamed from WebCore/page/inspector/Images/forward.png.
  • inspector/front-end/Images/glossyHeader.png: Renamed from WebCore/page/inspector/Images/glossyHeader.png.
  • inspector/front-end/Images/glossyHeaderPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderPressed.png.
  • inspector/front-end/Images/glossyHeaderSelected.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelected.png.
  • inspector/front-end/Images/glossyHeaderSelectedPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelectedPressed.png.
  • inspector/front-end/Images/goArrow.png: Renamed from WebCore/page/inspector/Images/goArrow.png.
  • inspector/front-end/Images/largerResourcesButtons.png: Renamed from WebCore/page/inspector/Images/largerResourcesButtons.png.
  • inspector/front-end/Images/nodeSearchButtons.png: Renamed from WebCore/page/inspector/Images/nodeSearchButtons.png.
  • inspector/front-end/Images/paneBottomGrow.png: Renamed from WebCore/page/inspector/Images/paneBottomGrow.png.
  • inspector/front-end/Images/paneBottomGrowActive.png: Renamed from WebCore/page/inspector/Images/paneBottomGrowActive.png.
  • inspector/front-end/Images/paneGrowHandleLine.png: Renamed from WebCore/page/inspector/Images/paneGrowHandleLine.png.
  • inspector/front-end/Images/pauseOnExceptionButtons.png: Renamed from WebCore/page/inspector/Images/pauseOnExceptionButtons.png.
  • inspector/front-end/Images/percentButtons.png: Renamed from WebCore/page/inspector/Images/percentButtons.png.
  • inspector/front-end/Images/profileGroupIcon.png: Renamed from WebCore/page/inspector/Images/profileGroupIcon.png.
  • inspector/front-end/Images/profileIcon.png: Renamed from WebCore/page/inspector/Images/profileIcon.png.
  • inspector/front-end/Images/profileSmallIcon.png: Renamed from WebCore/page/inspector/Images/profileSmallIcon.png.
  • inspector/front-end/Images/profilesIcon.png: Renamed from WebCore/page/inspector/Images/profilesIcon.png.
  • inspector/front-end/Images/recordButtons.png: Renamed from WebCore/page/inspector/Images/recordButtons.png.
  • inspector/front-end/Images/reloadButtons.png: Renamed from WebCore/page/inspector/Images/reloadButtons.png.
  • inspector/front-end/Images/resourceCSSIcon.png: Renamed from WebCore/page/inspector/Images/resourceCSSIcon.png.
  • inspector/front-end/Images/resourceDocumentIcon.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIcon.png.
  • inspector/front-end/Images/resourceDocumentIconSmall.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIconSmall.png.
  • inspector/front-end/Images/resourceJSIcon.png: Renamed from WebCore/page/inspector/Images/resourceJSIcon.png.
  • inspector/front-end/Images/resourcePlainIcon.png: Renamed from WebCore/page/inspector/Images/resourcePlainIcon.png.
  • inspector/front-end/Images/resourcePlainIconSmall.png: Renamed from WebCore/page/inspector/Images/resourcePlainIconSmall.png.
  • inspector/front-end/Images/resourcesIcon.png: Renamed from WebCore/page/inspector/Images/resourcesIcon.png.
  • inspector/front-end/Images/resourcesSizeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesSizeGraphIcon.png.
  • inspector/front-end/Images/resourcesTimeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesTimeGraphIcon.png.
  • inspector/front-end/Images/scriptsIcon.png: Renamed from WebCore/page/inspector/Images/scriptsIcon.png.
  • inspector/front-end/Images/searchSmallBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBlue.png.
  • inspector/front-end/Images/searchSmallBrightBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBrightBlue.png.
  • inspector/front-end/Images/searchSmallGray.png: Renamed from WebCore/page/inspector/Images/searchSmallGray.png.
  • inspector/front-end/Images/searchSmallWhite.png: Renamed from WebCore/page/inspector/Images/searchSmallWhite.png.
  • inspector/front-end/Images/segment.png: Renamed from WebCore/page/inspector/Images/segment.png.
  • inspector/front-end/Images/segmentEnd.png: Renamed from WebCore/page/inspector/Images/segmentEnd.png.
  • inspector/front-end/Images/segmentHover.png: Renamed from WebCore/page/inspector/Images/segmentHover.png.
  • inspector/front-end/Images/segmentHoverEnd.png: Renamed from WebCore/page/inspector/Images/segmentHoverEnd.png.
  • inspector/front-end/Images/segmentSelected.png: Renamed from WebCore/page/inspector/Images/segmentSelected.png.
  • inspector/front-end/Images/segmentSelectedEnd.png: Renamed from WebCore/page/inspector/Images/segmentSelectedEnd.png.
  • inspector/front-end/Images/splitviewDimple.png: Renamed from WebCore/page/inspector/Images/splitviewDimple.png.
  • inspector/front-end/Images/splitviewDividerBackground.png: Renamed from WebCore/page/inspector/Images/splitviewDividerBackground.png.
  • inspector/front-end/Images/statusbarBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBackground.png.
  • inspector/front-end/Images/statusbarBottomBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBottomBackground.png.
  • inspector/front-end/Images/statusbarButtons.png: Renamed from WebCore/page/inspector/Images/statusbarButtons.png.
  • inspector/front-end/Images/statusbarMenuButton.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButton.png.
  • inspector/front-end/Images/statusbarMenuButtonSelected.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButtonSelected.png.
  • inspector/front-end/Images/statusbarResizerHorizontal.png: Renamed from WebCore/page/inspector/Images/statusbarResizerHorizontal.png.
  • inspector/front-end/Images/statusbarResizerVertical.png: Renamed from WebCore/page/inspector/Images/statusbarResizerVertical.png.
  • inspector/front-end/Images/timelinePillBlue.png: Renamed from WebCore/page/inspector/Images/timelinePillBlue.png.
  • inspector/front-end/Images/timelinePillGray.png: Renamed from WebCore/page/inspector/Images/timelinePillGray.png.
  • inspector/front-end/Images/timelinePillGreen.png: Renamed from WebCore/page/inspector/Images/timelinePillGreen.png.
  • inspector/front-end/Images/timelinePillOrange.png: Renamed from WebCore/page/inspector/Images/timelinePillOrange.png.
  • inspector/front-end/Images/timelinePillPurple.png: Renamed from WebCore/page/inspector/Images/timelinePillPurple.png.
  • inspector/front-end/Images/timelinePillRed.png: Renamed from WebCore/page/inspector/Images/timelinePillRed.png.
  • inspector/front-end/Images/timelinePillYellow.png: Renamed from WebCore/page/inspector/Images/timelinePillYellow.png.
  • inspector/front-end/Images/tipBalloon.png: Renamed from WebCore/page/inspector/Images/tipBalloon.png.
  • inspector/front-end/Images/tipBalloonBottom.png: Renamed from WebCore/page/inspector/Images/tipBalloonBottom.png.
  • inspector/front-end/Images/tipIcon.png: Renamed from WebCore/page/inspector/Images/tipIcon.png.
  • inspector/front-end/Images/tipIconPressed.png: Renamed from WebCore/page/inspector/Images/tipIconPressed.png.
  • inspector/front-end/Images/toolbarItemSelected.png: Renamed from WebCore/page/inspector/Images/toolbarItemSelected.png.
  • inspector/front-end/Images/treeDownTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleBlack.png.
  • inspector/front-end/Images/treeDownTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleWhite.png.
  • inspector/front-end/Images/treeRightTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleBlack.png.
  • inspector/front-end/Images/treeRightTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleWhite.png.
  • inspector/front-end/Images/treeUpTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleBlack.png.
  • inspector/front-end/Images/treeUpTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleWhite.png.
  • inspector/front-end/Images/userInputIcon.png: Renamed from WebCore/page/inspector/Images/userInputIcon.png.
  • inspector/front-end/Images/userInputPreviousIcon.png: Renamed from WebCore/page/inspector/Images/userInputPreviousIcon.png.
  • inspector/front-end/Images/warningIcon.png: Renamed from WebCore/page/inspector/Images/warningIcon.png.
  • inspector/front-end/Images/warningMediumIcon.png: Renamed from WebCore/page/inspector/Images/warningMediumIcon.png.
  • inspector/front-end/Images/warningsErrors.png: Renamed from WebCore/page/inspector/Images/warningsErrors.png.
  • inspector/front-end/MetricsSidebarPane.js: Renamed from WebCore/page/inspector/MetricsSidebarPane.js.
  • inspector/front-end/Object.js: Renamed from WebCore/page/inspector/Object.js.
  • inspector/front-end/ObjectPropertiesSection.js: Renamed from WebCore/page/inspector/ObjectPropertiesSection.js.
  • inspector/front-end/Panel.js: Renamed from WebCore/page/inspector/Panel.js.
  • inspector/front-end/Placard.js: Renamed from WebCore/page/inspector/Placard.js.
  • inspector/front-end/ProfileView.js: Renamed from WebCore/page/inspector/ProfileView.js.
  • inspector/front-end/ProfilesPanel.js: Renamed from WebCore/page/inspector/ProfilesPanel.js.
  • inspector/front-end/PropertiesSection.js: Renamed from WebCore/page/inspector/PropertiesSection.js.
  • inspector/front-end/PropertiesSidebarPane.js: Renamed from WebCore/page/inspector/PropertiesSidebarPane.js.
  • inspector/front-end/Resource.js: Renamed from WebCore/page/inspector/Resource.js.
  • inspector/front-end/ResourceCategory.js: Renamed from WebCore/page/inspector/ResourceCategory.js.
  • inspector/front-end/ResourceView.js: Renamed from WebCore/page/inspector/ResourceView.js.
  • inspector/front-end/ResourcesPanel.js: Renamed from WebCore/page/inspector/ResourcesPanel.js.
  • inspector/front-end/ScopeChainSidebarPane.js: Renamed from WebCore/page/inspector/ScopeChainSidebarPane.js.
  • inspector/front-end/Script.js: Renamed from WebCore/page/inspector/Script.js.
  • inspector/front-end/ScriptView.js: Renamed from WebCore/page/inspector/ScriptView.js.
  • inspector/front-end/ScriptsPanel.js: Renamed from WebCore/page/inspector/ScriptsPanel.js.
  • inspector/front-end/SidebarPane.js: Renamed from WebCore/page/inspector/SidebarPane.js.
  • inspector/front-end/SidebarTreeElement.js: Renamed from WebCore/page/inspector/SidebarTreeElement.js.
  • inspector/front-end/SourceFrame.js: Renamed from WebCore/page/inspector/SourceFrame.js.
  • inspector/front-end/SourceView.js: Renamed from WebCore/page/inspector/SourceView.js.
  • inspector/front-end/StylesSidebarPane.js: Renamed from WebCore/page/inspector/StylesSidebarPane.js.
  • inspector/front-end/TextPrompt.js: Renamed from WebCore/page/inspector/TextPrompt.js.
  • inspector/front-end/View.js: Renamed from WebCore/page/inspector/View.js.
  • inspector/front-end/WebKit.qrc: Renamed from WebCore/page/inspector/WebKit.qrc.
  • inspector/front-end/inspector.css: Renamed from WebCore/page/inspector/inspector.css.
  • inspector/front-end/inspector.html: Renamed from WebCore/page/inspector/inspector.html.
  • inspector/front-end/inspector.js: Renamed from WebCore/page/inspector/inspector.js.
  • inspector/front-end/treeoutline.js: Renamed from WebCore/page/inspector/treeoutline.js.
  • inspector/front-end/utilities.js: Renamed from WebCore/page/inspector/utilities.js.
01:09 Changeset [37288] by timothy@apple.com
  • 2 edits in trunk/WebCore

Adds support to the Web Inspector's Elements panel for fast tag name,
class name, id and attribute name searching. The panel first tries
using getElementById, getElementsByClassName and getElementsByTagName
with the search query. Then does a slower search using XPath for partial
matches, text and comment matches.

Adds support for search queries like "<div>", "<h" and "frame>".
These forms limit the search to tag names, text and comment matches.

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

Reviewed by Maciej Stachowiak.

  • page/inspector/ElementsPanel.js: (WebInspector.ElementsPanel.prototype.performSearch): Add tag syntax support. Add new search functions that try exact matches first.
01:09 Changeset [37287] by timothy@apple.com
  • 2 edits in trunk/WebCore

Changes how searching works in the Web Inspector's Elements
panel. The search tasks are divided into chunks that are small
units of work that are performed at a time interval. This
change also prevents queries that will select all elements,
since that isn't useful.

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

Reviewed by Oliver Hunt.

  • page/inspector/ElementsPanel.js: (WebInspector.ElementsPanel.prototype.searchCancled): Remove the searchResultsProperty form results since there might be an unfinished search. (WebInspector.ElementsPanel.prototype.performSearch): Divide the documents and search functions into chunks that are performed on a interval of 25ms. Prevent searches for "*" and "*".
01:00 Changeset [37286] by timothy@apple.com
  • 1 edit in trunk/WebCore/page/inspector/Panel.js

Fix a typo.

00:15 Changeset [37285] by mjs@apple.com
  • 21 edits
    3 adds in trunk

JavaScriptCore:

2008-10-03 Maciej Stachowiak <mjs@apple.com>

Reviewed by Cameron Zwarich.


I changed things so that functions which use "this" do a fast
version of toThisObject conversion if needed. Currently we miss
the conversion entirely, at least for primitive types. Using
TypeInfo and the primitive check, I made the fast case bail out
pretty fast.


This is inexplicably an 1.007x SunSpider speedup (and a wash on V8 benchmarks).


Also renamed some opcodes for clarity:


init ==> enter
init_activation ==> enter_with_activation


  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases):
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::generate): (JSC::CodeGenerator::CodeGenerator):
  • VM/Machine.cpp: (JSC::Machine::privateExecute): (JSC::Machine::cti_op_convert_this):
  • VM/Machine.h:
  • VM/Opcode.h:
  • kjs/JSActivation.cpp: (JSC::JSActivation::JSActivation):
  • kjs/JSActivation.h: (JSC::JSActivation::createStructureID):
  • kjs/JSCell.h: (JSC::JSValue::needsThisConversion):
  • kjs/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData):
  • kjs/JSGlobalData.h:
  • kjs/JSNumberCell.h: (JSC::JSNumberCell::createStructureID):
  • kjs/JSStaticScopeObject.h: (JSC::JSStaticScopeObject::JSStaticScopeObject): (JSC::JSStaticScopeObject::createStructureID):
  • kjs/JSString.h: (JSC::JSString::createStructureID):
  • kjs/JSValue.h:
  • kjs/TypeInfo.h: (JSC::TypeInfo::needsThisConversion):
  • kjs/nodes.h: (JSC::ScopeNode::usesThis):

WebCore:

2008-10-03 Maciej Stachowiak <mjs@apple.com>

Reviewed by Cameron Zwarich.

Updated so toThis conversion for the split window is handled properly.

  • bindings/scripts/CodeGeneratorJS.pm:

LayoutTests:

2008-10-03 Maciej Stachowiak <mjs@apple.com>

Reviewed by Cameron Zwarich.


  • test case for: "this" object in methods called on primitives should be wrapper object
  • fast/js/primitive-method-this-expected.txt: Added.
  • fast/js/primitive-method-this.html: Added.
  • fast/js/resources/primitive-method-this.js: Added.
Note: See TracTimeline for information about the timeline view.