Timeline


and

12/16/08:

23:36 Changeset [39356] by mrowe@apple.com
  • 4 edits in trunk

Versioning.

23:35 Changeset [39355] by mrowe@apple.com
  • 1 copy in tags/Safari-6528.7

New tag.

22:30 Changeset [39354] by weinig@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-12-16 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22838
Remove dependency on the bytecode Instruction buffer in Interpreter::throwException
Part of <rdar://problem/6428342>

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::functionRegisterForBytecodeOffset): Added. Function to get a function Register index in a callFrame for a bytecode offset. (JSC::CodeBlock::shrinkToFit): Shrink m_getByIdExceptionInfo and m_functionRegisterInfos.
  • bytecode/CodeBlock.h: (JSC::FunctionRegisterInfo::FunctionRegisterInfo): Added. (JSC::CodeBlock::addFunctionRegisterInfo):
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitCall):
  • interpreter/Interpreter.cpp: (JSC::Interpreter::throwException): Use functionRegisterForBytecodeOffset in JIT mode.
22:25 Changeset [39353] by sfalken@apple.com
  • 3 edits in trunk/WebKit/win

Windows build fix.


Reviewed by Stephanie Lewis.

  • COMPropertyBag.h: (::createInstance): (::adopt): (::QueryInterface): (::AddRef): (::Release): (::Read): (::Write): (::CountProperties): (::GetPropertyInfo): (::LoadObject):
  • WebURLResponse.cpp: (WebURLResponse::allHeaderFields):
19:29 WebKit Team edited by barraclough@apple.com
(diff)
18:35 Changeset [39352] by slewis@apple.com
  • 2 edits in trunk/WebKit/win

2008-12-16 Stephanie Lewis <slewis@apple.com>

Another Windows Build Fix.

  • WebURLResponse.cpp: (WebURLResponse::allHeaderFields):
18:34 Changeset [39351] by weinig@apple.com
  • 6 edits in trunk/JavaScriptCore

2008-12-16 Sam Weinig <sam@webkit.org>

Reviewed by Gavin Barraclough.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22837
Remove dependency on the bytecode Instruction buffer in Interpreter::cti_op_call_NotJSFunction
Part of <rdar://problem/6428342>

  • interpreter/CallFrame.h: Added comment regarding returnPC storing a void*.
  • interpreter/Interpreter.cpp: (JSC::bytecodeOffsetForPC): We no longer have any cases of the PC being in the instruction stream for JIT, so we can remove the check. (JSC::Interpreter::cti_op_call_NotJSFunction): Use the CTI_RETURN_ADDRESS as the call frame returnPC as it is only necessary for looking up when throwing an exception.
  • interpreter/RegisterFile.h: (JSC::RegisterFile::): Added comment regarding returnPC storing a void*.
  • jit/JIT.h: Remove ARG_instr4.
  • jit/JITCall.cpp: (JSC::JIT::compileOpCallSetupArgs): Don't pass the instruction pointer.
18:23 Changeset [39350] by cwzwarich@webkit.org
  • 4 edits in trunk

2008-12-16 Darin Adler <darin@apple.com>

Reviewed and landed by Cameron Zwarich.

Preparatory work for fixing

Bug 22887: Make UString::Rep use RefCounted rather than implementing its own ref counting
<https://bugs.webkit.org/show_bug.cgi?id=22887>

Change the various string translators used by Identifier:add() so that
they never zero the ref count of a newly created UString::Rep. Also,
change similar code for AtomicString to use the same idiomatic style.

JavaScriptCore:

  • runtime/Identifier.cpp: (JSC::CStringTranslator::translate): (JSC::Identifier::add): (JSC::UCharBufferTranslator::translate):

WebCore:

  • platform/text/AtomicString.cpp: (WebCore::AtomicString::add):
17:54 Changeset [39349] by adele@apple.com
  • 2 edits in trunk/WebCore

2008-12-16 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22827
<rdar://problem/6247724> RenderThemeWin buttons have weird heavy text

  • rendering/RenderThemeWin.cpp: (WebCore::fillFontDescription): Add version that takes a font size. (WebCore::RenderThemeWin::systemFont): Use the default GUI font for control fonts, but specify the size. This will match Firefox.
17:27 Changeset [39348] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-12-16 Gavin Barraclough <barraclough@apple.com>

Build fix for 'doze.

  • assembler/AssemblerBuffer.h:
17:11 Changeset [39347] by slewis@apple.com
  • 2 edits in trunk/WebCore

2008-12-16 Stephanie Lewis <slewis@apple.com>

Another build fix.

  • platform/text/AtomicString.h: (WebCore::AtomicString::AtomicString):
17:10 Changeset [39346] by andersca@apple.com
  • 5 edits in trunk/WebKit/mac

2008-12-16 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Start sending keyboard events to the plug-in host.


  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::keyEvent):
  • Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView keyDown:]): (-[WebHostedNetscapePluginView keyUp:]):
  • Plugins/Hosted/WebKitPluginHost.defs:
16:57 Changeset [39345] by slewis@apple.com
  • 2 edits in trunk/WebCore

2008-12-16 Stephanie Lewis <slewis@apple.com>

Windows Build Fix.

  • platform/text/AtomicString.h: (WebCore::AtomicString::AtomicString): (WebCore::AtomicString::createCFString):
16:11 Changeset [39344] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2008-12-16 Anders Carlsson <andersca@apple.com>

Reviewed by Kevin Decker.

<rdar://problem/6450538>


Fix flag enumeration.


  • Plugins/Hosted/WebKitPluginHostTypes.h:
16:03 Changeset [39343] by andersca@apple.com
  • 6 edits in trunk/WebKit/mac

2008-12-16 Anders Carlsson <andersca@apple.com>

Reviewed by Kevin Decker.

Instead of passing a gazillion booleans to WKPCLoadURL, pass a single set of flags.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCLoadURL):
  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::loadURL):
  • Plugins/Hosted/WebKitPluginClient.defs:
  • Plugins/Hosted/WebKitPluginHostTypes.h:
16:03 Changeset [39342] by barraclough@apple.com
  • 9 edits in trunk/JavaScriptCore

2008-12-16 Gavin Barraclough <barraclough@apple.com>

Reviewed by Cameron Zwarich.

Make the JIT compile on x86-64.
This largely involves populting the missing calls in MacroAssembler.h.
In addition some reinterpret_casts need removing from the JIT, and the
repatching property access code will need to be fully compiled out for
now. The changes in interpret.cpp are to reorder the functions so that
the _generic forms come before all other property access methods, and
then to place all property access methods other than the generic forms
under control of the ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS macro.

No performance impact.

  • assembler/AssemblerBuffer.h: (JSC::AssemblerBuffer::putInt64Unchecked):
  • assembler/MacroAssembler.h: (JSC::MacroAssembler::loadPtr): (JSC::MacroAssembler::load32): (JSC::MacroAssembler::storePtr): (JSC::MacroAssembler::storePtrWithRepatch): (JSC::MacroAssembler::store32): (JSC::MacroAssembler::poke): (JSC::MacroAssembler::move): (JSC::MacroAssembler::testImm64): (JSC::MacroAssembler::jePtr): (JSC::MacroAssembler::jnePtr): (JSC::MacroAssembler::jnzPtr): (JSC::MacroAssembler::jzPtr):
  • assembler/X86Assembler.h: (JSC::X86Assembler::): (JSC::X86Assembler::cmpq_rr): (JSC::X86Assembler::cmpq_rm): (JSC::X86Assembler::cmpq_im): (JSC::X86Assembler::testq_i32m): (JSC::X86Assembler::movl_mEAX): (JSC::X86Assembler::movl_i32r): (JSC::X86Assembler::movl_EAXm): (JSC::X86Assembler::movq_rm): (JSC::X86Assembler::movq_mEAX): (JSC::X86Assembler::movq_mr): (JSC::X86Assembler::movq_i64r): (JSC::X86Assembler::movl_mr): (JSC::X86Assembler::X86InstructionFormatter::oneByteOp64): (JSC::X86Assembler::X86InstructionFormatter::immediate64):
  • interpreter/Interpreter.cpp: (JSC::Interpreter::cti_op_put_by_id_generic): (JSC::Interpreter::cti_op_get_by_id_generic): (JSC::Interpreter::cti_op_put_by_id): (JSC::Interpreter::cti_op_put_by_id_second):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompile): (JSC::JIT::privateCompileCTIMachineTrampolines):
  • jit/JITCall.cpp: (JSC::JIT::compileOpCallSetupArgs): (JSC::JIT::compileOpCall):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compilePutByIdHotPath):
  • runtime/JSImmediate.h: (JSC::JSImmediate::makeInt):
14:36 Changeset [39341] by cwzwarich@webkit.org
  • 3 edits in trunk/JavaScriptCore

2008-12-16 Cameron Zwarich <zwarich@apple.com>

Reviewed by Darin Adler.

Bug 22869: REGRESSION (r38407): http://news.cnet.com/8301-13579_3-9953533-37.html crashes
<https://bugs.webkit.org/show_bug.cgi?id=22869>
<rdar://problem/6402499>

Before r38407, Structure::m_nameInPrevious was ref'd due to it being
stored in a PropertyMap. However, PropertyMaps are created lazily after
r38407, so Structure::m_nameInPrevious is not necessarily ref'd while
it is being used. Making it a RefPtr instead of a raw pointer fixes
the problem.

Unfortunately, the crash in the bug is rather intermittent, and it is
impossible to add an assertion in UString::Ref::ref() to catch this bug
because some users of UString::Rep deliberately zero out the reference
count. Therefore, there is no layout test accompanying this bug fix.

  • runtime/Structure.cpp: (JSC::Structure::~Structure): Use get(). (JSC::Structure::materializePropertyMap): Use get(). (JSC::Structure::addPropertyTransitionToExistingStructure): Use get(). (JSC::Structure::addPropertyTransition): Use get().
  • runtime/Structure.h: Make Structure::m_nameInPrevious a RefPtr instead of a raw pointer.
13:44 Changeset [39340] by pkasting@chromium.org
  • 2 edits in trunk/WebCore

2008-12-16 Peter Kasting <pkasting@google.com>

Reviewed by David Hyatt.

https://bugs.webkit.org/show_bug.cgi?id=22885
Fix memory corruption in GIFImageDecoder.cpp with certain GIFs.

  • platform/image-decoders/gif/GIFImageDecoder.cpp: (WebCore::GIFImageDecoder::frameComplete):
13:33 Changeset [39339] by zimmermann@webkit.org
  • 2 edits in trunk/JavaScriptCore

Not reviewed. Attempt to fix win build. No 'using namespace WTF' in this file, needs manual WTF:: prefix.
Not sure why the build works as is here.

13:20 Changeset [39338] by slewis@apple.com
  • 12 edits in trunk/WebCore

2008-12-16 Stephanie Lewis <slewis@apple.com>

Reviewed by Geoff Garen.

Change HTTPHeaderMap to use an AtomicString as its key.
Shaves ~1MB off of the Mozilla Memory Test
No functionality difference

  • WebCore.xcodeproj/project.pbxproj:
  • inspector/InspectorController.cpp: (WebCore::addHeaders):
  • loader/appcache/ApplicationCacheStorage.cpp: (WebCore::parseHeader):
  • platform/network/HTTPHeaderMap.h:
  • platform/network/ResourceRequestBase.cpp: (WebCore::ResourceRequestBase::httpHeaderField): (WebCore::ResourceRequestBase::setHTTPHeaderField): (WebCore::ResourceRequestBase::addHTTPHeaderField):
  • platform/network/ResourceRequestBase.h:
  • platform/network/ResourceResponseBase.cpp: (WebCore::ResourceResponseBase::httpHeaderField): (WebCore::ResourceResponseBase::setHTTPHeaderField):
  • platform/network/ResourceResponseBase.h:
  • platform/text/StringHash.h: (WebCore::CaseFoldingHash::hash): (WebCore::CaseFoldingHash::equal):
  • xml/XMLHttpRequest.cpp: (WebCore::isSetCookieHeader): (WebCore::XMLHttpRequest::setRequestHeader): (WebCore::XMLHttpRequest::setRequestHeaderInternal): (WebCore::XMLHttpRequest::getRequestHeader): (WebCore::XMLHttpRequest::getResponseHeader):
  • xml/XMLHttpRequest.h:
13:15 Changeset [39337] by zimmermann@webkit.org
  • 16 edits
    4 adds in trunk

Reviewed by Darin Adler.

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

Unify random number generation in JavaScriptCore & WebCore, by introducing
wtf/RandomNumber.h and moving wtf_random/wtf_random_init out of MathExtras.h.

wtf_random_init() has been renamed to initializeRandomNumberGenerator() and
lives in it's own private header: wtf/RandomNumberSeed.h, only intended to
be used from within JavaScriptCore.

wtf_random() has been renamed to randomNumber() and lives in a public header
wtf/RandomNumber.h, usable from within JavaScriptCore & WebCore. It encapsulates
the code taking care of initializing the random number generator (only when
building without ENABLE(JSC_MULTIPLE_THREADS), otherwhise initializeThreading()
already took care of that).

Functional change on darwin: Use random() instead of rand(), as it got a larger
period (more randomness). HTMLFormElement already contains this implementation
and I just moved it in randomNumber(), as special case for PLATFORM(DARWIN).

11:49 Changeset [39336] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2008-12-16 Anders Carlsson <andersca@apple.com>

Reviewed by Kevin Decker.

Add trailing null to headers to avoid a crash in the plug-in host.


  • Plugins/Hosted/HostedNetscapePluginStream.mm: (WebKit::HostedNetscapePluginStream::didReceiveResponse):
08:02 Changeset [39335] by vestbo@webkit.org
  • 4 edits in trunk

2008-12-16 Yael Aharon <yael.aharon@nokia.com>

Reviewed by Tor Arne Vestbø.

Qt/Win build fix

07:28 Changeset [39334] by zecke@webkit.org
  • 3 edits in trunk/WebCore

[CURL] memory leak of ResouceHandles

http://bugs.webkit.org/show_bug.cgi?id=20777

Fix ResourceHandle ref management to be consistent and correct.
Original patch from Marco Barisione.

01:44 Changeset [39333] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

2008-12-16 Simon Hausmann <simon.hausmann@nokia.com>

Fix the Qt build.

  • platform/graphics/qt/ImageSourceQt.cpp: (WebCore::ImageSource::clear): Adjust to new signature.

12/15/08:

23:38 Changeset [39332] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Fix the build with GCC 4.0.

Reviewed by Cameron Zwarich.

  • Configurations/JavaScriptCore.xcconfig: GCC 4.0 appears to have a bug when compiling with -funwind-tables on,

so don't use it with that compiler version.

23:38 Changeset [39331] by mrowe@apple.com
  • 12 edits in trunk

<rdar://problem/6289933> Change WebKit-related projects to build with GCC 4.2 on Leopard.

Rubber-stamped by Cameron Zwarich.

23:08 Changeset [39330] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Reviewed by Darin Adler.

Don't use unique context group in JSGlobalContextCreate() on Tiger or Leopard.

  • API/JSContextRef.cpp: (JSGlobalContextCreate):
23:05 Changeset [39329] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Reviewed by Darin Adler.

<rdar://problem/6445089> Mach ports leak from worker threads

  • interpreter/Interpreter.cpp: (JSC::getCPUTime): Deallocate the thread self port.
22:39 Changeset [39328] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-12-15 Gavin Barraclough <barraclough@apple.com>

Reviewed by Mark Rowe.

Construct stack frames in JIT code, so that backtracing can still work.
<rdar://problem/6447870> JIT should play nice with attempts to take stack traces

  • jit/JIT.cpp: (JSC::): (JSC::JIT::privateCompileMainPass):
22:27 Changeset [39327] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

<rdar://problem/6402262> JavaScriptCore needs exception handling tables in order to get stack traces without frame pointers

Reviewed by Gavin Barraclough.

  • Configurations/JavaScriptCore.xcconfig:
21:58 Changeset [39326] by slewis@apple.com
  • 2 edits in trunk/WebKit/mac

2008-12-15 Stephanie Lewis <slewis@apple.com>

Fix build.

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:
20:48 Changeset [39325] by barraclough@apple.com
  • 7 edits in trunk/JavaScriptCore

2008-12-15 Gavin Barraclough <barraclough@apple.com>

Rubber stamped by Mark Rowe.

Revert r39226 / Bug 22818: Unify JIT callback argument access OS X / Windows
This causes Acid3 failures – reverting for now & will revisit later.
https://bugs.webkit.org/show_bug.cgi?id=22873

  • interpreter/Interpreter.h:
  • jit/JIT.cpp: (JSC::JIT::privateCompileCTIMachineTrampolines):
  • jit/JIT.h:
  • jit/JITInlineMethods.h: (JSC::JIT::restoreArgumentReference): (JSC::JIT::restoreArgumentReferenceForTrampoline): (JSC::JIT::emitCTICall_internal):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::privateCompilePutByIdTransition):
  • wtf/Platform.h:
17:08 Changeset [39324] by andersca@apple.com
  • 8 edits in trunk/WebKit/mac

2008-12-15 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Change InstantiatePlugin to be asynchronous so we won't deadlock if the plug-in tries to call
back into us while it's being instantiated.


  • Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::instantiatePlugin):
  • Plugins/Hosted/NetscapePluginHostProxy.h: (WebKit::NetscapePluginHostProxy::clientPort):
  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCInstantiatePluginReply):
  • Plugins/Hosted/NetscapePluginInstanceProxy.h: (WebKit::NetscapePluginInstanceProxy::Reply::): (WebKit::NetscapePluginInstanceProxy::Reply::Reply): (WebKit::NetscapePluginInstanceProxy::Reply::~Reply): (WebKit::NetscapePluginInstanceProxy::InstantiatePluginReply::InstantiatePluginReply): (WebKit::NetscapePluginInstanceProxy::setCurrentReply): (WebKit::NetscapePluginInstanceProxy::waitForReply):
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply):
  • Plugins/Hosted/WebKitPluginClient.defs:
  • Plugins/Hosted/WebKitPluginHost.defs:
16:52 Changeset [39323] by adele@apple.com
  • 2 edits in trunk/WebCore

2008-12-15 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22871
<rdar://problem/6417316> RenderThemeWin buttons are too short/thin

  • rendering/RenderButton.cpp: (WebCore::RenderButton::setupInnerStyle): Check if the button's style (not the new inner style) has appearance set to determine whether we should set padding on the inner style.
16:30 Changeset [39322] by zimmermann@webkit.org
  • 1 edit in trunk/WebCore/ChangeLog

Oops, forgot to include ChangeLog in last commit.

16:26 Changeset [39321] by zimmermann@webkit.org
  • 15 edits
    22 adds in trunk

Reviewed by Oliver Hunt.

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

Add complete WML <table> / <tr> / <td> element support.
Proper handling of all table related attributes, including tests.

Tests: fast/wml/table-element-align-attribute-invalid.wml (variable reference in 'align' attribute, raises error)

fast/wml/table-element-columns-attribute-invalid-number.wml (columns='0', raises error)
fast/wml/table-element-columns-attribute-invalid.wml (non-numeric 'columns' attribute value, raises error)
fast/wml/table-element-columns-attribute-missing.wml (missing 'columns')
fast/wml/table-element-columns-attribute.wml (test 'columns' attribute and <td> count mismatches)

16:22 Changeset [39320] by darin@apple.com
  • 13 edits
    1 copy
    3 adds in trunk

JavaScriptCore:

2008-12-15 Darin Adler <darin@apple.com>

Reviewed by Sam Weinig.

  • fix <rdar://problem/6427048> crash due to infinite recursion after setting window.proto = window

Replaced toGlobalObject with the more generally useful unwrappedObject and used it to
fix the cycle detection code in put(proto).

  • runtime/JSGlobalObject.cpp: Removed toGlobalObject. We now use unwrappedObject instead.
  • runtime/JSGlobalObject.h: (JSC::JSGlobalObject::isGlobalObject): Ditto.
  • runtime/JSGlobalObjectFunctions.cpp: (JSC::globalFuncEval): Use unwrappedObject and isGlobalObject here rather than toGlobalObject.
  • runtime/JSObject.cpp: (JSC::JSObject::put): Rewrote prototype cycle checking loop. Use unwrappedObject in the loop now. (JSC::JSObject::unwrappedObject): Replaced toGlobalObject with this new function.
  • runtime/JSObject.h: More of the same.

WebCore:

2008-12-15 Darin Adler <darin@apple.com>

Reviewed by Sam Weinig.

  • fix <rdar://problem/6427048> crash due to infinite recursion after setting window.proto = window

Test: fast/dom/Window/window-custom-prototype.html

Replaced toGlobalObject with the more generally useful unwrappedObject.

  • bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::unwrappedObject): Added.
  • bindings/js/JSDOMWindowShell.h: Declared unwrappedObject.
  • bindings/js/JSQuarantinedObjectWrapper.h: (WebCore::JSQuarantinedObjectWrapper::unwrappedObject): Ditto.

LayoutTests:

2008-12-15 Darin Adler <darin@apple.com>

Reviewed by Sam Weinig.

  • test for <rdar://problem/6427048> crash due to infinite recursion after setting window.proto = window
  • fast/canvas/canvas-gradient-without-path.html: Let make-js-test-wrappers update this one.
  • fast/dom/Window/resources/TEMPLATE.html: Copied from LayoutTests/fast/js/resources/TEMPLATE.html.
  • fast/dom/Window/resources/window-custom-prototype.js: Added.
  • fast/dom/Window/window-custom-prototype-expected.txt: Added.
  • fast/dom/Window/window-custom-prototype.html: Added.
16:19 Changeset [39319] by sfalken@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-12-15 Steve Falkenburg <sfalken@apple.com>

Windows build fix.


Visual Studio requires visibility of forward declarations to match class declaration.

  • assembler/X86Assembler.h:
16:09 Changeset [39318] by zecke@webkit.org
  • 4 edits in trunk

JavaScriptCore:
2008-12-15 Gustavo Noronha Silva <kov@kov.eti.br>

Reviewed by Mark Rowe.

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

GTK+ build fix.

  • GNUmakefile.am:

WebCore:
2008-12-15 Gustavo Noronha Silva <kov@kov.eti.br>

Reviewed by Mark Rowe.

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

GTK+ build fix.

  • GNUmakefile.am:
15:38 Changeset [39317] by darin@apple.com
  • 2 edits in trunk/WebKitTools

2008-12-15 Darin Adler <darin@apple.com>

  • Scripts/make-js-test-wrappers: Added another exception to avoid overwriting a custom-written test.
15:38 Changeset [39316] by barraclough@apple.com
  • 8 edits in trunk/JavaScriptCore

2008-12-15 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

Add support to X86Assembler emitting instructions that access all 16 registers on x86-64.
Add a new formating class, that is reponsible for both emitting the opcode bytes and the
ModRm bytes of an instruction in a single call; this can insert the REX byte as necessary
before the opcode, but has access to the register numbers to build the REX.

  • assembler/AssemblerBuffer.h: (JSC::AssemblerBuffer::isAligned): (JSC::AssemblerBuffer::data):
  • assembler/MacroAssembler.h: (JSC::MacroAssembler::addPtr): (JSC::MacroAssembler::add32): (JSC::MacroAssembler::and32): (JSC::MacroAssembler::or32): (JSC::MacroAssembler::sub32): (JSC::MacroAssembler::xor32): (JSC::MacroAssembler::loadPtr): (JSC::MacroAssembler::load32): (JSC::MacroAssembler::load16): (JSC::MacroAssembler::storePtr): (JSC::MacroAssembler::storePtrWithRepatch): (JSC::MacroAssembler::store32): (JSC::MacroAssembler::pop): (JSC::MacroAssembler::push): (JSC::MacroAssembler::compareImm32ForBranch): (JSC::MacroAssembler::compareImm32ForBranchEquality): (JSC::MacroAssembler::testImm32): (JSC::MacroAssembler::jae32): (JSC::MacroAssembler::jb32): (JSC::MacroAssembler::je16): (JSC::MacroAssembler::jg32): (JSC::MacroAssembler::jnePtr): (JSC::MacroAssembler::jne32): (JSC::MacroAssembler::jump):
  • assembler/X86Assembler.h: (JSC::X86::): (JSC::X86Assembler::): (JSC::X86Assembler::size): (JSC::X86Assembler::push_r): (JSC::X86Assembler::pop_r): (JSC::X86Assembler::push_i32): (JSC::X86Assembler::push_m): (JSC::X86Assembler::pop_m): (JSC::X86Assembler::addl_rr): (JSC::X86Assembler::addl_mr): (JSC::X86Assembler::addl_ir): (JSC::X86Assembler::addq_ir): (JSC::X86Assembler::addl_im): (JSC::X86Assembler::andl_rr): (JSC::X86Assembler::andl_ir): (JSC::X86Assembler::orl_rr): (JSC::X86Assembler::orl_mr): (JSC::X86Assembler::orl_ir): (JSC::X86Assembler::subl_rr): (JSC::X86Assembler::subl_mr): (JSC::X86Assembler::subl_ir): (JSC::X86Assembler::subl_im): (JSC::X86Assembler::xorl_rr): (JSC::X86Assembler::xorl_ir): (JSC::X86Assembler::sarl_i8r): (JSC::X86Assembler::sarl_CLr): (JSC::X86Assembler::shll_i8r): (JSC::X86Assembler::shll_CLr): (JSC::X86Assembler::imull_rr): (JSC::X86Assembler::imull_i32r): (JSC::X86Assembler::idivl_r): (JSC::X86Assembler::cmpl_rr): (JSC::X86Assembler::cmpl_rm): (JSC::X86Assembler::cmpl_mr): (JSC::X86Assembler::cmpl_ir): (JSC::X86Assembler::cmpl_ir_force32): (JSC::X86Assembler::cmpl_im): (JSC::X86Assembler::cmpl_im_force32): (JSC::X86Assembler::cmpw_rm): (JSC::X86Assembler::testl_rr): (JSC::X86Assembler::testl_i32r): (JSC::X86Assembler::testl_i32m): (JSC::X86Assembler::testq_rr): (JSC::X86Assembler::testq_i32r): (JSC::X86Assembler::testb_i8r): (JSC::X86Assembler::sete_r): (JSC::X86Assembler::setz_r): (JSC::X86Assembler::setne_r): (JSC::X86Assembler::setnz_r): (JSC::X86Assembler::cdq): (JSC::X86Assembler::xchgl_rr): (JSC::X86Assembler::movl_rr): (JSC::X86Assembler::movl_rm): (JSC::X86Assembler::movl_mr): (JSC::X86Assembler::movl_i32r): (JSC::X86Assembler::movl_i32m): (JSC::X86Assembler::movq_rr): (JSC::X86Assembler::movq_rm): (JSC::X86Assembler::movq_mr): (JSC::X86Assembler::movzwl_mr): (JSC::X86Assembler::movzbl_rr): (JSC::X86Assembler::leal_mr): (JSC::X86Assembler::call): (JSC::X86Assembler::jmp): (JSC::X86Assembler::jmp_r): (JSC::X86Assembler::jmp_m): (JSC::X86Assembler::jne): (JSC::X86Assembler::jnz): (JSC::X86Assembler::je): (JSC::X86Assembler::jl): (JSC::X86Assembler::jb): (JSC::X86Assembler::jle): (JSC::X86Assembler::jbe): (JSC::X86Assembler::jge): (JSC::X86Assembler::jg): (JSC::X86Assembler::ja): (JSC::X86Assembler::jae): (JSC::X86Assembler::jo): (JSC::X86Assembler::jp): (JSC::X86Assembler::js): (JSC::X86Assembler::addsd_rr): (JSC::X86Assembler::addsd_mr): (JSC::X86Assembler::cvtsi2sd_rr): (JSC::X86Assembler::cvttsd2si_rr): (JSC::X86Assembler::movd_rr): (JSC::X86Assembler::movsd_rm): (JSC::X86Assembler::movsd_mr): (JSC::X86Assembler::mulsd_rr): (JSC::X86Assembler::mulsd_mr): (JSC::X86Assembler::pextrw_irr): (JSC::X86Assembler::subsd_rr): (JSC::X86Assembler::subsd_mr): (JSC::X86Assembler::ucomis_rr): (JSC::X86Assembler::int3): (JSC::X86Assembler::ret): (JSC::X86Assembler::predictNotTaken): (JSC::X86Assembler::label): (JSC::X86Assembler::align): (JSC::X86Assembler::link): (JSC::X86Assembler::executableCopy): (JSC::X86Assembler::X86InstructionFormater::prefix): (JSC::X86Assembler::X86InstructionFormater::oneByteOp): (JSC::X86Assembler::X86InstructionFormater::twoByteOp): (JSC::X86Assembler::X86InstructionFormater::oneByteOp64): (JSC::X86Assembler::X86InstructionFormater::oneByteOp8): (JSC::X86Assembler::X86InstructionFormater::twoByteOp8): (JSC::X86Assembler::X86InstructionFormater::instructionImmediate8): (JSC::X86Assembler::X86InstructionFormater::instructionImmediate32): (JSC::X86Assembler::X86InstructionFormater::instructionRel32): (JSC::X86Assembler::X86InstructionFormater::size): (JSC::X86Assembler::X86InstructionFormater::isAligned): (JSC::X86Assembler::X86InstructionFormater::data): (JSC::X86Assembler::X86InstructionFormater::executableCopy): (JSC::X86Assembler::X86InstructionFormater::registerModRM): (JSC::X86Assembler::X86InstructionFormater::memoryModRM):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompile): (JSC::JIT::privateCompileCTIMachineTrampolines):
  • jit/JITArithmetic.cpp: (JSC::JIT::putDoubleResultToJSNumberCellOrJSImmediate): (JSC::JIT::compileBinaryArithOp):
  • jit/JITCall.cpp: (JSC::JIT::compileOpCall): (JSC::JIT::compileOpCallSlowCase):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compilePutByIdHotPath): (JSC::JIT::privateCompilePutByIdTransition): (JSC::JIT::privateCompilePatchGetArrayLength): (JSC::JIT::privateCompileGetByIdProto): (JSC::JIT::privateCompileGetByIdProtoList): (JSC::JIT::privateCompileGetByIdChainList): (JSC::JIT::privateCompileGetByIdChain):
15:31 Changeset [39315] by andersca@apple.com
  • 5 edits in trunk/WebKit/mac

2008-12-15 Anders Carlsson <andersca@apple.com>

Reviewed by Darin Adler.

Let WebKit generate a plug-in ID instead of having the plug-in host do it.

  • Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::instantiatePlugin): Create the plug-in proxy before instantiating the plug-in.


  • Plugins/Hosted/NetscapePluginInstanceProxy.h: (WebKit::NetscapePluginInstanceProxy::create): (WebKit::NetscapePluginInstanceProxy::setRenderContextID): (WebKit::NetscapePluginInstanceProxy::setUseSoftwareRenderer):
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
  • Plugins/Hosted/WebKitPluginHost.defs:
14:30 Changeset [39314] by andersca@apple.com
  • 4 edits in trunk/WebKit/mac

2008-12-15 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

LoadURL doesn't need to be asynchronous.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCLoadURL):
  • Plugins/Hosted/WebKitPluginClient.defs:
  • Plugins/Hosted/WebKitPluginHost.defs:
14:18 Changeset [39313] by eric@webkit.org
  • 2 edits in trunk

2008-12-15 Daniel Macks <dmacks@netspace.org>

Reviewed by Darin Adler.

Default to use external libicu-config if avail on all platforms.
https://bugs.webkit.org/show_bug.cgi?id=22713

  • configure.ac:
13:51 Changeset [39312] by pol@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

2008-12-15 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Dan Bernstein.

Added an extra layout test for transitions.

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

  • transitions/change-values-during-transition-expected.txt: Added.
  • transitions/change-values-during-transition.html: Added.
13:09 Changeset [39311] by weinig@apple.com
  • 8 edits
    1 delete in trunk/WebCore

2008-12-15 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22847
Geolocation PositionOptions cannot be an arbitrary object.

Allow the PositionOptions to be a vanilla JS object and parse it
appropriately.

  • DerivedSources.make: Remove PositionOptions.
  • GNUmakefile.am: Ditto.
  • WebCore.pro: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • WebCoreSources.bkl: Ditto.
  • bindings/js/JSGeolocationCustom.cpp: (WebCore::createPositionOptions): Added. Extracts the enableHighAccuracy and timeout fields from a vanilla JS object in order to create the PositionOptions object, checking for exceptions as necessary. (WebCore::JSGeolocation::getCurrentPosition): Use createPositionOptions instead of toPositionOptions. (WebCore::JSGeolocation::watchPosition): Ditto.
  • page/PositionOptions.idl: Removed
13:06 Changeset [39310] by pol@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

2008-12-15 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Dan Bernstein.

Added an extra layout test for animations.

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

  • animations/combo-transform-rotate+scale-expected.txt: Added.
  • animations/combo-transform-rotate+scale.html: Added.
12:45 Changeset [39309] by pkasting@chromium.org
  • 15 edits in trunk/WebCore

2008-12-15 Peter Kasting <pkasting@google.com>

Reviewed by David Hyatt.

https://bugs.webkit.org/show_bug.cgi?id=22108
Large animated GIFs weren't always animating. The code that deleted
the entire decoder after each frame of a large image was resulting in
us forgetting the loop count, breaking animations intermittently.

Instead of throwing the whole decoder away, we're more careful to just
delete frames we don't care about. This additionally addresses
problems in the Cairo and Chromium ports with excessive peak memory
use and CPU use when decoding large animated GIFs because it leads to
much less redecoding (O(n) instead of O(n2) CPU, and O(1) instead of
O(n) memory).

This change has less impact on the CG decoder, which seems to throw
away frames automatically when their external references are dropped;
this means the CG decoder didn't suffer from the peak memory usage
issue before (and still doesn't), but it also still burns excessive
CPU redecoding earlier frames, that in theory it wouldn't need to
redecode if it would judiciously save the most recent frames. At
least this patch plumbs some useful info to the ImageSource so it can
help guide the CG decoder heuristics in the future.

  • platform/graphics/BitmapImage.cpp: (WebCore::frameBytes): (WebCore::BitmapImage::destroyDecodedData): (WebCore::BitmapImage::destroyDecodedDataIfNecessary): (WebCore::BitmapImage::destroyMetadataAndNotify): (WebCore::BitmapImage::clearFrame): (WebCore::BitmapImage::cacheFrame): (WebCore::BitmapImage::dataChanged): (WebCore::BitmapImage::startAnimation): (WebCore::BitmapImage::resetAnimation): (WebCore::BitmapImage::internalAdvanceAnimation):
  • platform/graphics/BitmapImage.h:
  • platform/graphics/GeneratedImage.h: (WebCore::GeneratedImage::destroyDecodedData):
  • platform/graphics/Image.h:
  • platform/graphics/ImageSource.h:
  • platform/graphics/cairo/ImageSourceCairo.cpp: (WebCore::ImageSource::~ImageSource): (WebCore::ImageSource::clear):
  • platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::~ImageSource): (WebCore::ImageSource::clear):
  • platform/graphics/cg/PDFDocumentImage.h: (WebCore::PDFDocumentImage::destroyDecodedData):
  • platform/graphics/qt/StillImageQt.h: (WebCore::StillImage::destroyDecodedData):
  • platform/image-decoders/ImageDecoder.h: (WebCore::RGBA32Buffer::clear): (WebCore::ImageDecoder::clearFrameBufferCache):
  • platform/image-decoders/gif/GIFImageDecoder.cpp: (WebCore::GIFImageDecoder::repetitionCount): (WebCore::GIFImageDecoder::clearFrameBufferCache): (WebCore::GIFImageDecoder::initFrameBuffer):
  • platform/image-decoders/gif/GIFImageDecoder.h:
  • platform/image-decoders/gif/GIFImageReader.h: (GIFImageReader::GIFImageReader):
  • svg/graphics/SVGImage.h: (WebCore::SVGImage::destroyDecodedData):
12:18 Changeset [39308] by pol@apple.com
  • 3 edits in trunk/LayoutTests

2008-12-15 Pierre-Olivier Latour <pol@apple.com>

Updated transform-value-types.html and transform-value-types-expected.txt to latest version
since change r39264 was lost when relocating these files.

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

  • transforms/2d/transform-value-types-expected.txt:
  • transforms/2d/transform-value-types.html:
11:49 Changeset [39307] by pol@apple.com
  • 1 edit
    4 moves
    12 adds in trunk/LayoutTests

2008-12-15 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Sam Weinig.

Add new layout tests for transforms, animations & transitions.
Also move a couple transform layout tests to the proper subdirectory.

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

  • animations/combo-transform-translate+scale-expected.txt: Added.
  • animations/combo-transform-translate+scale.html: Added.
  • transforms/2d/computed-style-origin-expected.txt: Copied from LayoutTests/transforms/computed-style-origin-expected.txt.
  • transforms/2d/computed-style-origin.html: Copied from LayoutTests/transforms/computed-style-origin.html.
  • transforms/2d/transform-value-types-expected.txt: Copied from LayoutTests/transforms/transform-value-types-expected.txt.
  • transforms/2d/transform-value-types.html: Copied from LayoutTests/transforms/transform-value-types.html.
  • transforms/computed-style-origin-expected.txt: Removed.
  • transforms/computed-style-origin.html: Removed.
  • transforms/transform-value-types-expected.txt: Removed.
  • transforms/transform-value-types.html: Removed.
  • transitions/interrupt-transform-transition-expected.txt: Added.
  • transitions/interrupt-transform-transition.html: Added.
  • transitions/start-transform-transition-expected.txt: Added.
  • transitions/start-transform-transition.html: Added.
  • transitions/transition-timing-function-software-expected.txt: Added.
  • transitions/transition-timing-function-software.html: Added.
  • transitions/zero-duration-in-list-expected.txt: Added.
  • transitions/zero-duration-in-list.html: Added.
  • transitions/zero-duration-without-units-expected.txt: Added.
  • transitions/zero-duration-without-units.html: Added.
11:42 Changeset [39306] by cwzwarich@webkit.org
  • 9 edits in trunk/WebCore

2008-12-15 Cameron Zwarich <zwarich@apple.com>

Reviewed by Darin Adler.

Bug 22562: REGRESSION (r37971): events not firing after going back in back/forward cache
<https://bugs.webkit.org/show_bug.cgi?id=22562>
<rdar://problem/6414593>

Restore the Frame's DOMWindow to its previous value when going back in
the back/forward cache. The fact that it was not getting set before may
have always caused some subtle bugs with the back/forward cache, but
after r37971, it causes no events to fire after restoring a page.

Previously, ScriptController::clearScriptObjects() was calling
clearPlatformScriptObjects(), which was not actually clearing any
objects, only updating them to reflect some change in state. Since the
window shell was not updated until after the call to clearScriptObjects(),
this didn't actually make that much sense.

We rename clearPlatformScriptObjects() to reflect its actual purpose and
call it after the window shell has been updated rather than before.

Unfortunately, there is no way to test this with a layout test because
it involves the back/forward cache.

  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::updatePlatformScriptObjects): Renamed from clearPlatformScriptObjects(), because the only nonempty implementation doesn't actually clear any objects, it updates them. Also made public. (WebCore::ScriptController::clearScriptObjects): Remove the call to clearPlatformScriptObjects().
  • bindings/js/ScriptController.h:
  • bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::updatePlatformScriptObjects):
  • history/CachedPage.cpp: (WebCore::CachedPage::domWindow): Added.
  • history/CachedPage.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::cancelAndClear): Added call to updatePlatformScriptObjects(). (WebCore::FrameLoader::begin): Added call to updatePlatformScriptObjects(). (WebCore::FrameLoader::open): Added call to updatePlatformScriptObjects().
  • page/Frame.cpp: (WebCore::Frame::setDOMWindow): Added. (WebCore::Frame::pageDestroyed): Added call to updatePlatformScriptObjects().
  • page/Frame.h:
07:31 Changeset [39305] by antti@apple.com
  • 6 edits in trunk/WebKit/mac

2008-12-15 Antti Koivisto <antti@apple.com>

Reviewed by Darin Adler.


  • Add [WebFrame reloadFromOrigin] for performing end-to-end reload.
  • Add corresponding IBAction to WebView.
  • Temporarily make [WebFrame reload] trigger end-to-end reload if shift modifier is pressed when it is called.
  • WebView/WebFrame.h:
  • WebView/WebFrame.mm: (-[WebFrame reload]): (-[WebFrame reloadFromOrigin]):
  • WebView/WebFramePrivate.h: Match the FrameLoadType enum in WebCore.
  • WebView/WebView.h:
  • WebView/WebView.mm: (-[WebView reloadFromOrigin:]):
07:28 Changeset [39304] by antti@apple.com
  • 12 edits in trunk/WebCore

2008-12-15 Antti Koivisto <antti@apple.com>

Reviewed by Darin Adler.

When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
https://bugs.webkit.org/show_bug.cgi?id=17998


  • Enable conditional revalidation for reloads by default.
  • Add a parameter to FrameLoader::reload() for forcing end-to-end reload.
  • To avoid duplicating state remove m_cachePolicy variables from FrameLoader and DocLoader. Instead synthezise the policy on demand.


This speeds up reloads and makes them use way less bandwidth.

  • WebCore.base.exp:
  • loader/CachePolicy.h: Rename CachePolicyRefresh to CachePolicyRevalidate. (WebCore::):
  • loader/DocLoader.cpp: (WebCore::DocLoader::DocLoader): (WebCore::DocLoader::checkForReload): Support CachePolicyRevalidate. (WebCore::DocLoader::requestResource): (WebCore::DocLoader::cachePolicy):
  • loader/DocLoader.h: Get rid of m_cachePolicy member.
  • loader/FrameLoader.cpp: (WebCore::ScheduledRedirection::ScheduledRedirection):

Add parameter to differentiate refresh from other types of redirects.
m_cachePolicy was used for signaling this before.

(WebCore::isBackForwardLoadType):
(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::changeLocation):
(WebCore::FrameLoader::stopLoading):
(WebCore::FrameLoader::receivedFirstData):
(WebCore::FrameLoader::write):
(WebCore::FrameLoader::startIconLoader):
(WebCore::FrameLoader::restoreDocumentState):
(WebCore::FrameLoader::scheduleHTTPRedirection):
(WebCore::FrameLoader::scheduleLocationChange):
(WebCore::FrameLoader::scheduleRefresh):
(WebCore::FrameLoader::redirectionTimerFired):
(WebCore::FrameLoader::canCachePage):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::reload):

Differentiate between revalidation and reload.
No need to use setHTTPHeaderField here, addExtraFieldsToRequest will set the headers.

(WebCore::FrameLoader::transitionToCommitted):
(WebCore::FrameLoader::cachePolicy): Determine the cache policy based on current load type.
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::addExtraFieldsToRequest): Set Cache-control: no-cache for FrameLoadTypeReloadFromOrigin
(WebCore::FrameLoader::shouldScrollToAnchor):
(WebCore::FrameLoader::loadItem):
(WebCore::FrameLoader::updateHistoryForReload):
(WebCore::FrameLoader::updateHistoryForCommit):
(WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):

  • loader/FrameLoader.h:
  • loader/FrameLoaderTypes.h: Add FrameLoadTypeReloadFromOrigin (WebCore::):
  • loader/NavigationAction.cpp: (WebCore::navigationType): Support FrameLoadTypeReloadFromOrigin
  • loader/loader.cpp: (WebCore::Loader::Host::servePendingRequests):
06:25 Changeset [39303] by darin@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-12-15 Darin Adler <darin@apple.com>

  • interpreter/RegisterFile.h: Tweak include formatting.
06:14 Changeset [39302] by zecke@webkit.org
  • 2 edits in trunk/JavaScriptCore

Build fix for Gtk+

04:34 Changeset [39301] by zecke@webkit.org
  • 3 edits in trunk/WebKit/qt

Change the order of sub frame initialisation to avoid crashes

Add the newly created frame to the FrameTree before calling
WebCore::Frame::init to not segfault on
LayoutTests/fast/loader/frame-creation-removal.html.

04:32 Changeset [39300] by zecke@webkit.org
  • 2 edits in trunk/WebCore

Add null checks to PlatformScreenQt

The other ports do the null checks and JSDOMWindowBase is
at least one caller that is passing 0.

04:19 Changeset [39299] by hausmann@webkit.org
  • 2 edits in trunk/LayoutTests

2008-12-15 Simon Hausmann <hausmann@webkit.org>

Reviewed by Holger Freyther.

Add worker tests to the skip list for the Qt DRT as the feature is not enabled.

04:19 Changeset [39298] by hausmann@webkit.org
  • 5 edits in trunk

2008-12-15 Simon Hausmann <hausmann@webkit.org>

Reviewed by Holger Freyther.

Implement setJavaScriptProfilingEnabled in the Qt DRT to pass fast/profiler.

04:03 Changeset [39297] by ap@webkit.org
  • 4 edits in trunk

Reviewed by Oliver Hunt.

<rdar://problem/6444455> Worker Thread crash running multiple workers for a moderate amount of time

WebCore:

  • dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread): Detach the thread. Without this, one page of its stack was never unmmaped, and fragmentation made RegisterFile allocaiton fail after a while.

JavaScriptCore:

  • interpreter/RegisterFile.h: (JSC::RegisterFile::RegisterFile): Improve error handling: if mmap fails, crash immediately, and print out the reason.

12/14/08:

18:13 Changeset [39296] by darin@apple.com
  • 10 edits in trunk/WebCore

2008-12-13 Darin Adler <darin@apple.com>

Reviewed by Sam Weinig.

  • dom/Document.cpp: (WebCore::Document::removeImage): Change to set slots in the vector to 0 rather than removing items from a list. (WebCore::Document::dispatchImageLoadEventsNow): Rewrite to process the list. Since we now use a "set to zero" design, we don't need to be careful about where the iterator points while iterating the list, instead we just have to skip zeros.
  • dom/Document.h: Use Vector instead of DeprecatedPtrList.
  • dom/EventTargetNode.cpp: (WebCore::EventTargetNode::dispatchGenericEvent): Use a Vector instead of a DeprecatedPtrList for the list of nodes to handle. Also streamlined the logic a bit and used goto in a couple key places.
  • dom/Node.cpp: (WebCore::Node::eventParentNode): Moved this function into this file because it's a virtual function so already can't be inlined. Also updated to return a ContainerNode, so it needs to be in a place where the definition of ContainerNode is visible, not the header file.
  • dom/Node.h: Changed return type of eventParentNode to ContainerNode and moved its definition into the cpp file.
  • dom/XMLTokenizerLibxml2.cpp: (WebCore::PendingCallbacks::~PendingCallbacks): Added a call to deleteAllValues here instead of setAutoDelete in the constructor, since we're using Deque instead of DeprecatedPtrList. (WebCore::PendingCallbacks::callAndRemoveFirstCallback): Changed the code to use an OwnPtr since the deque won't delete the callback object.
  • editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Use a Vector instead of a DeprecatedPtrList.
  • svg/SVGElement.cpp: (WebCore::SVGElement::eventParentNode): Moved this function into this file because it's a virtual function so already can't be inlined. Also updated to return a ContainerNode.
  • svg/SVGElement.h: Changed setShadowParentNode to take a ContainerNode*, made eventParentNode return a ContainerNode*, and made m_shadowParent a ContainerNode*.
16:41 Changeset [39295] by mitz@apple.com
  • 4 edits in trunk/WebKit

WebKit/mac:

Reviewed by Darin Adler.

  • fix <rdar://problem/3258561> WebHistoryAllItemsRemovedNotification should add items to userInfo
  • History/WebHistory.mm: (-[WebHistoryPrivate allItems]): Added this helper method, which returns all values in the _entriesByURL dictionary. (-[WebHistory removeAllItems]): Changed to send the array of all items in the notification.

WebKit/win:

Reviewed by Darin Adler.

  • Windows equivalent of <rdar://problem/3258561> WebHistoryAllItemsRemovedNotification should add items to userInfo
  • WebHistory.cpp: (WebHistory::removeAllItems): Changed to create an array of all items and send it in the notification.
15:37 Changeset [39294] by zimmermann@webkit.org
  • 10 edits
    4 adds in trunk

Reviewed by George Staikos.

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

Jumps within a WML deck using <go> task elements fail. Manual reloading
is necessary to display the page - fix cache-policy in WMLGoElement::executeTask
to prevent the problem.

Refactor setActiveCardInDocument in two new functions: findNamedCardInDocument
and determineActiveCard, to fix a side-effect of executing a <go> task:
when switching cards within a deck the active card was changed before the load
was fired which resulted in a flash effect on the screen, and doing unnecessary work.

Test: wml/go-task-animation.html

06:47 Changeset [39293] by krit@webkit.org
  • 3 edits
    3 adds in trunk

2008-12-14 Dirk Schulze <krit@webkit.org>

Reviewed by Oliver Hunt.

WebCore:

Fixes an issue in cairo. A fully transparent color can cause wrong
drawings on canvas' composite.

https://bugs.webkit.org/show_bug.cgi?id=22846
[CAIRO] Canvas: transparent color and composite

Test: fast/canvas/canvas-transparency-and-composite.html

  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath):

LayoutTest:

Ensure correct behaviour of composite on a fully transparent color.

  • fast/canvas/canvas-transparency-and-composite-expected.txt: Added.
  • fast/canvas/canvas-transparency-and-composite.html: Added.
  • fast/canvas/resources/canvas-transparency-and-composite.js: Added.
03:46 Changeset [39292] by jchaffraix@webkit.org
  • 12 edits in trunk/WebCore

2008-12-13 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin Adler.

Bug 22665: Remove setCreatedByParser(bool) from the few elements that use it
https://bugs.webkit.org/show_bug.cgi?id=22665

Remove setCreatedByParser from frame and iframe.

  • html/HTMLElementFactory.cpp: (WebCore::frameConstructor): (WebCore::iframeConstructor): (WebCore::objectConstructor):
  • html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::HTMLFrameElement):
  • html/HTMLFrameElement.h:
  • html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
  • html/HTMLFrameElementBase.h:
  • html/HTMLFrameOwnerElement.cpp: (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
  • html/HTMLFrameOwnerElement.h: (WebCore::HTMLFrameOwnerElement::createdByParser):
  • html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::HTMLIFrameElement):
  • html/HTMLIFrameElement.h:
  • html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::HTMLPlugInElement):
  • html/HTMLTagNames.in:
02:45 Changeset [39291] by ap@webkit.org
  • 1 edit in trunk/LayoutTests/ChangeLog

Fix a typo in ChangeLog.

02:07 Changeset [39290] by ap@webkit.org
  • 3 edits in trunk/LayoutTests

Suggested by Holger Freyther.

  • fast/workers/worker-navigator-expected.txt:
  • fast/workers/worker-navigator.html: navigator.platform.length is intentionally zero on Gtk+, changed to check for uts type.
01:55 Changeset [39289] by ap@webkit.org
  • 15 edits
    2 moves
    4 adds in trunk

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22843
Auto-generate JSWorkerContext

  • bindings/scripts/CodeGeneratorJS.pm:
  • dom/WorkerContext.idl: Added.
  • page/DOMWindow.idl: Added ExtendsDOMGlobalObject, a new attribute for behaviors common to DOMWindow and WorkerContext.
  • bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::initScript): Made JSWorkerContext creation look more like JSDOMWindow creation, to work with generated code.
  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.scons:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSWorkerContext.cpp: Removed.
  • bindings/js/JSWorkerContext.h: Removed.
  • bindings/js/JSWorkerContextBase.cpp: Copied from WebCore/bindings/js/JSWorkerContext.cpp. (WebCore::JSWorkerContextBase::JSWorkerContextBase): (WebCore::JSWorkerContextBase::~JSWorkerContextBase): (WebCore::JSWorkerContextBase::scriptExecutionContext): (WebCore::getJSWorkerContextBaseTable): (WebCore::): (WebCore::JSWorkerContextBase::put):
  • bindings/js/JSWorkerContextBase.h: Copied from WebCore/bindings/js/JSWorkerContext.h.
  • bindings/js/JSWorkerContextCustom.cpp: Added. (WebCore::JSWorkerContext::customGetOwnPropertySlot): (WebCore::JSWorkerContext::mark): (WebCore::JSWorkerContext::self): (WebCore::JSWorkerContext::setSelf): (WebCore::JSWorkerContext::addEventListener): (WebCore::JSWorkerContext::removeEventListener): Moved code around. Note that currently, JSWorkerContextBase lookup table is empty, but we'll need to add some global objects to it in the future, as it is done in JSDOMWindowBase.
  • page/WorkerNavigator.cpp:
  • page/WorkerNavigator.h: Added ENABLE(WORKERS) ifdefs.

12/13/08:

23:55 Changeset [39288] by krit@webkit.org
  • 1 edit
    4 deletes in trunk/LayoutTests

2008-12-13 Dirk Schulze <krit@webkit.org>

Reviewed by Oliver Hunt.

LayoutTest:

This test is wrong. We shouldn't fill something with a gradient, if the
path is empty.

  • fast/canvas/gradient-empty-path.html: Removed.
  • platform/mac/fast/canvas/gradient-empty-path-expected.checksum: Removed.
  • platform/mac/fast/canvas/gradient-empty-path-expected.png: Removed.
  • platform/mac/fast/canvas/gradient-empty-path-expected.txt: Removed.
23:19 Changeset [39287] by barraclough@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-12-13 Gavin Barraclough <barraclough@apple.com>

Reviewed by Cameron Zwarich.

Re-enable WREC on 64-bit.
Implements one of the MacroAssembler::jnzPtr methods, previously only implemented for 32-bit x86.

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

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::testImm64): (JSC::MacroAssembler::jnzPtr):
  • assembler/X86Assembler.h: (JSC::X86Assembler::testq_i32r): (JSC::X86Assembler::testq_rr):
  • wtf/Platform.h:
17:28 Changeset [39286] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-12-13 Gavin Barraclough <barraclough@apple.com>

Fix PPC builds.

  • assembler/MacroAssembler.h:
16:24 Changeset [39285] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-12-13 Gavin Barraclough <barraclough@apple.com>

Build fix only, no review.

  • bytecode/CodeBlock.h:
15:58 Changeset [39284] by barraclough@apple.com
  • 11 edits in trunk/JavaScriptCore

2008-12-13 Gavin Barraclough <barraclough@apple.com>

Reviewed by Cameron Zwarich.

Port the remainder of the JIT, bar calling convention related code, and code
implementing optimizations which can be disabled, to use the MacroAssembler.

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::DataLabelPtr::DataLabelPtr): (JSC::MacroAssembler::RepatchBuffer::RepatchBuffer): (JSC::MacroAssembler::RepatchBuffer::link): (JSC::MacroAssembler::RepatchBuffer::addressOf): (JSC::MacroAssembler::RepatchBuffer::setPtr): (JSC::MacroAssembler::addPtr): (JSC::MacroAssembler::lshift32): (JSC::MacroAssembler::mod32): (JSC::MacroAssembler::rshift32): (JSC::MacroAssembler::storePtrWithRepatch): (JSC::MacroAssembler::jnzPtr): (JSC::MacroAssembler::jzPtr): (JSC::MacroAssembler::jump): (JSC::MacroAssembler::label):
  • assembler/X86Assembler.h: (JSC::X86Assembler::): (JSC::X86Assembler::xchgl_rr): (JSC::X86Assembler::jmp_m): (JSC::X86Assembler::repatchAddress): (JSC::X86Assembler::getRelocatedAddress):
  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::CodeBlock):
  • bytecode/CodeBlock.h: (JSC::JITCodeRef::JITCodeRef): (JSC::CodeBlock::setJITCode): (JSC::CodeBlock::jitCode): (JSC::CodeBlock::executablePool):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileLinkPass): (JSC::JIT::privateCompile): (JSC::JIT::privateCompileCTIMachineTrampolines):
  • jit/JIT.h: (JSC::CallRecord::CallRecord): (JSC::JumpTable::JumpTable): (JSC::JIT::emitCTICall): (JSC::JIT::JSRInfo::JSRInfo):
  • jit/JITArithmetic.cpp:
  • jit/JITCall.cpp:
  • jit/JITInlineMethods.h: (JSC::JIT::emitNakedCall): (JSC::JIT::emitCTICall_internal): (JSC::JIT::checkStructure): (JSC::JIT::emitFastArithDeTagImmediateJumpIfZero): (JSC::JIT::addSlowCase): (JSC::JIT::addJump): (JSC::JIT::emitJumpSlowToHot):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::privateCompileGetByIdChainList): (JSC::JIT::privateCompileGetByIdChain):
15:28 Changeset [39283] by darin@apple.com
  • 2 edits in trunk/WebCore

2008-12-13 Darin Adler <darin@apple.com>

  • fix Release build
  • dom/Node.cpp: (WebCore::Node::rareData): Remove inappropriate inline directive.
15:17 Changeset [39282] by darin@apple.com
  • 2 edits in trunk/WebKit/mac

2008-12-13 Darin Adler <darin@apple.com>

  • <rdar://problem/6441035> WebTextIterator class not exported in WebKit
  • WebKit.exp: Added the class. We forgot to export it when we added the WebTextIterator SPI.
15:02 Changeset [39281] by darin@apple.com
  • 4 edits
    2 adds in trunk

WebCore:

2008-12-13 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

Test: fast/forms/textarea-selection-preservation.html

The regression reported was caused by the fact that the renderer code had
a bug where it would constantly think the newline at the end of text was
missing, and so it would replace all the text even though it wasn't changing,
which would destroy the selection.

When writing the regression test I discovered another problem: The value
property in HTMLTextAreaElement was intentionally changing the selection
to the end of the textarea, but doing that even when the value wasn't changing.

This patch fixes both and the test checks both.

  • html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::setValue): Exit early if the value is not changing.
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::text): Add a newline character for each <br> element encountered in the control

LayoutTests:

2008-12-13 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

  • fast/forms/textarea-selection-preservation-expected.txt: Added.
  • fast/forms/textarea-selection-preservation.html: Added.
14:58 Changeset [39280] by darin@apple.com
  • 7 edits
    4 deletes in trunk/WebCore

2008-12-13 Darin Adler <darin@apple.com>

  • GNUmakefile.am: Removed references to deleted files.
  • WebCore.pro: Ditto.
  • WebCore.scons: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • WebCoreSources.bkl: Ditto.
  • platform/DeprecatedPtrQueue.h: Removed.
  • platform/DeprecatedValueList.h: Removed.
  • platform/DeprecatedValueListImpl.cpp: Removed.
  • platform/DeprecatedValueListImpl.h: Removed.
14:53 Changeset [39279] by darin@apple.com
  • 16 edits in trunk/WebCore

2008-12-13 Darin Adler <darin@apple.com>

Reviewed by Anders Carlsson.

  • css/CSSStyleDeclaration.cpp: Removed unneeded include.
  • dom/Document.cpp: (WebCore::Document::removeAllEventListenersFromAllNodes): Set the removed flag on the window event listeners in case we are in the middle of dispatching events on this window. (WebCore::Document::clear): Ditto. (WebCore::Document::handleWindowEvent): Changed to use a vector instead of a DeprecatedPtrList. (WebCore::Document::windowInlineEventListenerForType): Ditto. (WebCore::Document::removeWindowInlineEventListenerForType): Ditto. Also added a call to setRemoved, which is needed here just as in other functions that remove. (WebCore::Document::removeWindowEventListener): Ditto. (WebCore::Document::hasWindowEventListener): Ditto.
  • dom/Document.h: Changed RegisteredEventListenerList to RegisteredEventListeners.
  • dom/Element.cpp: (WebCore::Element::attach): Use a function to access rare data instead of getting directly at the data field. (WebCore::Element::focus): Ditto. (WebCore::Element::cancelFocusAppearanceUpdate): Ditto.
  • dom/ElementRareData.h: Use "using" to make things that are protected in NodeRareData be public here.
  • dom/EventTarget.h: Removed include of DeprecatedValueList and related declearations that weren't needed. Tweaked the definitions of the forbidEventDispatch functions too.
  • dom/EventTargetNode.cpp: (WebCore::EventTargetNode::EventTargetNode): Eliminated code that was used to initialized m_regdListeners. (WebCore::EventTargetNode::~EventTargetNode): Elminated delete of m_regdListeners. Changed code to use eventListeners() instead of m_regdListeners. (WebCore::EventTargetNode::eventListeners): Added. (WebCore::EventTargetNode::insertedIntoDocument): Use eventListeners. (WebCore::EventTargetNode::removedFromDocument): Ditto. (WebCore::EventTargetNode::willMoveToNewOwnerDocument): Ditto. (WebCore::EventTargetNode::didMoveToNewOwnerDocument): Ditto. (WebCore::EventTargetNode::addEventListener): Ditto. (WebCore::EventTargetNode::removeEventListener): Ditto. (WebCore::EventTargetNode::removeAllEventListeners): Ditto. Also added code to call setRemoved on all the listeners. (WebCore::EventTargetNode::handleLocalEvents): Ditto. (WebCore::EventTargetNode::dispatchGenericEvent): Fixed indentation. (WebCore::EventTargetNode::removeInlineEventListenerForType): Use the new event listeners vector. Also added missing call to setRemoved. (WebCore::EventTargetNode::inlineEventListenerForType): Ditto.
  • dom/EventTargetNode.h: Added a new RegisteredEventListenerVector type and replaced the old localEventListeners function with a new eventListeners function. Removed m_regdListeners.
  • dom/Node.cpp: (WebCore::Node::childNodes): Removed unneeded std prefix. (WebCore::Node::setFocus): Use function instead of going directly at rare data. (WebCore::Node::rareDataFocused): Ditto. (WebCore::Node::registerDynamicNodeList): Removed unneeded std prefix. (WebCore::Node::getElementsByName): Ditto. (WebCore::Node::getElementsByClassName): Ditto. (WebCore::Node::compareDocumentPosition): Ditto.
  • dom/Node.h: Removed unneeded forward declaration of RegisteredEventListener. This is now in EventTargetNode.
  • dom/NodeRareData.h: Renamed m_focused to m_isFocused and made it private. Made m_needsFocusAppearanceUpdateSoonAfterAttach private. Added listeners and ensureListeners functions as well as isFocused, setFocused, and focus-appearance functions. Made all data members private.
  • dom/RegisteredEventListener.cpp: Removed operator ==.
  • dom/RegisteredEventListener.h: Removed operator == and !=.
  • svg/SVGElement.cpp: (WebCore::hasLoadListener): Rewrote to work with the vector.
  • svg/SVGUseElement.cpp: (WebCore::SVGUseElement::transferEventListenersToShadowTree): Ditto.
14:39 Changeset [39278] by zecke@webkit.org
  • 2 edits in trunk/WebKit/gtk

[GTK] Fix crash with LayoutTests/fast/loader/frame-creation-removal.html

Call WebCore::Frame::init after the frame has been given
a name and been added to the FrameTree of the parent.

Removing the call to init is fine as FrameLoaderClientGtk::createFrame
is the only user of webkit_web_frame_init_with_web_view and is already
calling WebCore::Frame::init.

13:45 Changeset [39277] by zecke@webkit.org
  • 12 edits in trunk

Change ENABLE(FONT_FAST_PATH) to USE(FONT_FAST_PATH) and
revert pixel test results back to the state as before r39254.

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

12:45 Changeset [39276] by krit@webkit.org
  • 3 edits
    3 adds in trunk

2008-12-13 Dirk Schulze <krit@webkit.org>

Reviewed by Darin Adler.

WebCore:

Fixes behavior of gradients on empty path in canvas/Cg

https://bugs.webkit.org/show_bug.cgi?id=22844
[Cg] Canvas fill() draws gradients even without a path

Test: fast/canvas/canvas-gradient-without-path.html

  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::fill): (WebCore::CanvasRenderingContext2D::stroke):

LayoutTest:

Checks behavior of gradients on an empty path in canvas.

  • fast/canvas/canvas-gradient-without-path-expected.txt: Added.
  • fast/canvas/canvas-gradient-without-path.html: Added.
  • fast/canvas/resources/canvas-gradient-without-path.js: Added.
10:38 Changeset [39275] by zecke@webkit.org
  • 2 edits in trunk/WebKit/gtk

2008-12-13 Adam Bergkvist <adam.bergkvist@ericsson.com>

Reviewed by Holger Freyther.

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

Check for GTK version >= 2.14.0 before using gtk_test_init.

  • tests/main.c: (main):
10:37 Changeset [39274] by zecke@webkit.org
  • 5 edits in trunk

WebKit/gtk
2008-12-13 Zan Dobersek <zandobersek@gmail.com>

Reviewed by Darin Adler.

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

Implement animation and transition pausing as needed by DumpRenderTree.

  • webkit/webkitprivate.h:
  • webkit/webkitwebframe.cpp:

WebKitTools
2008-12-13 Zan Dobersek <zandobersek@gmail.com>

Reviewed by Darin Adler.

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

Implement animation and transition pausing.

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::pauseAnimationAtTimeOnElementWithId): (LayoutTestController::pauseTransitionAtTimeOnElementWithId):
09:50 Changeset [39273] by kevino@webkit.org
  • 5 edits in trunk/WebKit/wx

Reviewed by Kevin Ollivier.

Expose findString in wxWebView as FindString.

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

09:38 Changeset [39272] by kevino@webkit.org
  • 2 edits in trunk/WebCore

wx build fix.

12/12/08:

22:58 Changeset [39271] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-12-12 Cameron Zwarich <zwarich@apple.com>

Reviewed by Sam Weinig.

Fix the failures of the following layout tests, which regressed in
r39255:

fast/dom/StyleSheet/ownerNode-lifetime-2.html
fast/xsl/transform-xhr-doc.xhtml

The binary search in CodeBlock::getByIdExceptionInfoForBytecodeOffset()
doesn't guarantee that it actually finds a match, so add an explicit check
for this.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::getByIdExceptionInfoForBytecodeOffset):
22:32 Changeset [39270] by pewtermoose@webkit.org
  • 5 edits in trunk

WebCore:

2008-12-12 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Oliver Hunt.

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

Provides implementation of image dragging logic for Windows Cairo
back-end.

  • platform/win/DragImageCGWin.cpp: (WebCore::deallocContext): Add a generic CGContextRef destructor.
  • platform/win/DragImageCairoWin.cpp: (WebCore::deallocContext): Add a generic cairo_* destructor. (WebCore::allocImage): New implementation to allocate a Cairo surface of a specified size. (WebCore::createCairoContextFromBitmap): New implementation to create a Cairo surface from a Windows BITMAP. (WebCore::scaleDragImage): Replace stub with implementation to actually create a scaled image. (WebCore::createDragImageFromImage): Replace stub with implementation to actually create an image.

WebKit/win:

2008-12-12 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Oliver Hunt.

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

Provides implementation of image drag for Windows Cairo back-end.
Switch to generic PlatformGraphicsContext data type, rather than
specific use of CoreGraphics types.

  • WebCoreSupport/WebDragClient.cpp: (WebDragClient::createDragImageForLink): Revise calls to use more generic PlatformGraphicsContext data types and calls for better portability.
22:06 Changeset [39269] by sfalken@apple.com
  • 2 edits in trunk/WebKit/win

Update Windows cache sizes to match recent Mac change.


Reviewed by Stephanie Lewis, Sam Weinig.

  • WebView.cpp: (WebView::setCacheModel):
21:25 Changeset [39268] by barraclough@apple.com
  • 7 edits in trunk/JavaScriptCore

2008-12-12 Gavin Barraclough <barraclough@apple.com>

Reviewed by Camron Zwarich.

Replace emitPutCallArg methods with emitPutJITStubArg methods. Primarily to make the argument numbering
more sensible (1-based incrementing by 1, rather than 0-based incrementing by 4). The CTI name also seems
to be being deprecated from the code generally.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): (JSC::JIT::privateCompileCTIMachineTrampolines):
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: (JSC::JIT::compileBinaryArithOp): (JSC::JIT::compileBinaryArithOpSlowCase):
  • jit/JITCall.cpp: (JSC::JIT::compileOpCallSetupArgs): (JSC::JIT::compileOpCallEvalSetupArgs): (JSC::JIT::compileOpConstructSetupArgs): (JSC::JIT::compileOpCall):
  • jit/JITInlineMethods.h: (JSC::JIT::emitPutJITStubArg): (JSC::JIT::emitPutJITStubArgConstant): (JSC::JIT::emitGetJITStubArg): (JSC::JIT::emitPutJITStubArgFromVirtualRegister):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compilePutByIdHotPath): (JSC::JIT::compileGetByIdSlowCase): (JSC::JIT::compilePutByIdSlowCase):
20:16 Changeset [39267] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-12-12 Gavin Barraclough <barraclough@apple.com>

Fix windows builds.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): (JSC::JIT::privateCompile):
19:18 Changeset [39266] by barraclough@apple.com
  • 7 edits in trunk/JavaScriptCore

2008-12-12 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

Remove loop counter 'i' from the JIT generation passes, replace with a member m_bytecodeIndex.

No impact on performance.

  • jit/JIT.cpp: (JSC::JIT::compileOpStrictEq): (JSC::JIT::emitSlowScriptCheck): (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): (JSC::JIT::privateCompile):
  • jit/JIT.h: (JSC::CallRecord::CallRecord): (JSC::JmpTable::JmpTable): (JSC::JIT::emitCTICall):
  • jit/JITArithmetic.cpp: (JSC::JIT::compileBinaryArithOp): (JSC::JIT::compileBinaryArithOpSlowCase):
  • jit/JITCall.cpp: (JSC::JIT::compileOpCall): (JSC::JIT::compileOpCallSlowCase):
  • jit/JITInlineMethods.h: (JSC::JIT::emitGetVirtualRegister): (JSC::JIT::emitGetVirtualRegisters): (JSC::JIT::emitNakedCall): (JSC::JIT::emitCTICall_internal): (JSC::JIT::emitJumpSlowCaseIfJSCell): (JSC::JIT::emitJumpSlowCaseIfNotJSCell): (JSC::JIT::emitJumpSlowCaseIfNotImmNum): (JSC::JIT::emitJumpSlowCaseIfNotImmNums): (JSC::JIT::emitFastArithIntToImmOrSlowCase): (JSC::JIT::addSlowCase): (JSC::JIT::addJump): (JSC::JIT::emitJumpSlowToHot):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compileGetByIdSlowCase): (JSC::JIT::compilePutByIdHotPath): (JSC::JIT::compilePutByIdSlowCase):
19:03 Changeset [39265] by weinig@apple.com
  • 8 edits in trunk/JavaScriptCore

2008-12-12 Sam Weinig <sam@webkit.org>

Reviewed by Cameron Zwarich.

<rdar://problem/6428342> Look into feasibility of discarding bytecode after native codegen

Move more JIT functionality to using offsets into the Instruction buffer
instead of raw pointers. Two to go!

  • interpreter/Interpreter.cpp: (JSC::bytecodeOffsetForPC): Rename from vPCForPC. (JSC::Interpreter::resolve): Pass offset to exception helper. (JSC::Interpreter::resolveSkip): Ditto. (JSC::Interpreter::resolveGlobal): Ditto. (JSC::Interpreter::resolveBaseAndProperty): Ditto. (JSC::Interpreter::resolveBaseAndFunc): Ditto. (JSC::isNotObject): Ditto. (JSC::Interpreter::unwindCallFrame): Call bytecodeOffsetForPC. (JSC::Interpreter::throwException): Use offsets instead of vPCs. (JSC::Interpreter::privateExecute): Pass offset to exception helper. (JSC::Interpreter::retrieveLastCaller): Ditto. (JSC::Interpreter::cti_op_instanceof): Ditto. (JSC::Interpreter::cti_op_call_NotJSFunction): Ditto. (JSC::Interpreter::cti_op_resolve): Pass offset to exception helper. (JSC::Interpreter::cti_op_construct_NotJSConstruct): Ditto. (JSC::Interpreter::cti_op_resolve_func): Ditto. (JSC::Interpreter::cti_op_resolve_skip): Ditto. (JSC::Interpreter::cti_op_resolve_global): Ditto. (JSC::Interpreter::cti_op_resolve_with_base): Ditto. (JSC::Interpreter::cti_op_throw): Ditto. (JSC::Interpreter::cti_op_in): Ditto. (JSC::Interpreter::cti_vm_throw): Ditto.
  • interpreter/Interpreter.h:
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): Don't pass unnecessary vPC to stub.
  • jit/JIT.h: Remove ARG_instr1 - ARG_instr3 and ARG_instr5 - ARG_instr6.
  • jit/JITCall.cpp: (JSC::JIT::compileOpCallEvalSetupArgs): Don't pass unnecessary vPC to stub.. (JSC::JIT::compileOpConstructSetupArgs): Ditto.
  • runtime/ExceptionHelpers.cpp: (JSC::createUndefinedVariableError): Take an offset instead of vPC. (JSC::createInvalidParamError): Ditto. (JSC::createNotAConstructorError): Ditto. (JSC::createNotAFunctionError): Ditto. (JSC::createNotAnObjectError): Ditto.
  • runtime/ExceptionHelpers.h:
18:30 Changeset [39264] by dino@apple.com
  • 13 edits in trunk

2008-12-12 Dean Jackson <dino@apple.com>

Reviewed by Darin Adler.

Expose WebKitAnimationEvent, WebKitTransitionEvent,
WebKitCSSTransformValue, WebKitCSSKeyframeRule and
WebKitCSSKeyframesRule to Window object.
This required generating constructors for the event
interfaces.

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

WebCore:

  • dom/WebKitAnimationEvent.idl:
  • dom/WebKitTransitionEvent.idl:
  • page/DOMWindow.idl:

LayoutTests:

  • animations/keyframes-rule-expected.txt:
  • animations/keyframes-rule.html:
  • fast/dom/Window/window-properties-expected.txt:
  • fast/events/event-instanceof-expected.txt:
  • fast/events/resources/event-instanceof.js:
  • fast/js/global-constructors-expected.txt:
  • transforms/transform-value-types-expected.txt:
  • transforms/transform-value-types.html:
17:47 Changeset [39263] by cwzwarich@webkit.org
  • 3 edits
    3 adds in trunk

2008-12-12 Cameron Zwarich <zwarich@apple.com>

Reviewed by Oliver Hunt.

Bug 22835: Crash during bytecode generation when comparing to null
<https://bugs.webkit.org/show_bug.cgi?id=22835>
<rdar://problem/6286749>

Change the special cases in bytecode generation for comparison to null
to use tempDestination().

JavaScriptCore:

  • parser/Nodes.cpp: (JSC::BinaryOpNode::emitBytecode): (JSC::EqualNode::emitBytecode):

LayoutTests:

  • fast/js/ignored-result-null-comparison-crash-expected.txt: Added.
  • fast/js/ignored-result-null-comparison-crash.html: Added.
  • fast/js/resources/ignored-result-null-comparison-crash.js: Added.
17:41 Changeset [39262] by darin@apple.com
  • 2 edits
    1 add
    2 deletes in trunk/WebKit/mac

2008-12-12 Darin Adler <darin@apple.com>

Rubber stamped by Adam Roben.

  • fix <rdar://problem/5648301> Can't tab around to text fields in Safari login sheet after clicking static text, due to AppKit key loop change
  • Panels/English.lproj/WebAuthenticationPanel.nib/classes.nib: Removed.
  • Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib: Added.
  • Panels/English.lproj/WebAuthenticationPanel.nib/info.nib: Removed.
  • Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib: Set nextKeyView of the selectable static texts to the editable text. Updated nib format.
17:39 Changeset [39261] by barraclough@apple.com
  • 8 edits in trunk/JavaScriptCore

2008-12-12 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

Move slow-cases of JIT code generation over to the MacroAssembler interface.

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::Label::Label): (JSC::MacroAssembler::jae32): (JSC::MacroAssembler::jg32): (JSC::MacroAssembler::jzPtr):
  • jit/JIT.cpp: (JSC::JIT::privateCompileSlowCases): (JSC::JIT::privateCompile): (JSC::JIT::emitGetVariableObjectRegister): (JSC::JIT::emitPutVariableObjectRegister):
  • jit/JIT.h: (JSC::SlowCaseEntry::SlowCaseEntry): (JSC::JIT::getSlowCase): (JSC::JIT::linkSlowCase):
  • jit/JITArithmetic.cpp: (JSC::JIT::compileBinaryArithOpSlowCase):
  • jit/JITCall.cpp: (JSC::JIT::compileOpCallInitializeCallFrame): (JSC::JIT::compileOpCall): (JSC::JIT::compileOpCallSlowCase):
  • jit/JITInlineMethods.h: (JSC::JIT::emitJumpSlowCaseIfNotJSCell): (JSC::JIT::linkSlowCaseIfNotJSCell):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compilePutByIdHotPath): (JSC::JIT::compileGetByIdSlowCase): (JSC::JIT::compilePutByIdSlowCase):
17:20 Changeset [39260] by eric@webkit.org
  • 2 edits in trunk/WebCore

2008-12-12 Dave Moore <davemoore@google.com>

Reviewed by Eric Seidel.

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

In Font::drawTextUsingSVGFont() a variable of type SVGTextRunWalkerDrawTextData
is created on the stack (called data). One of its fields, charsConsumed, is
unitialized, leading to random values after calling walk() on the
SVGTextRunWalker created with it. I now initialize the variable

This bug was revealed in our Purify run. I don't know of any specific incorrect
behavior caused by it but it would lead to the charsConsumed field having a
a wrong value.

  • svg/SVGFont.cpp: (WebCore::Font::drawTextUsingSVGFont):
16:25 Changeset [39259] by slewis@apple.com
  • 2 edits in trunk/WebKit/mac

2008-12-12 Stephanie Lewis <slewis@apple.com>

Reviewed by Geoff Garen.

Shrink Cache Sizes.

  • WebView/WebView.mm: (+[WebView _setCacheModel:]):
16:11 Changeset [39258] by bdakin@apple.com
  • 2 edits in trunk/WebCore

2008-12-12 Beth Dakin <bdakin@apple.com>

Rubber Stamped by Steve Falkenburg.

Build fix.

  • platform/KURL.h:
16:01 Changeset [39257] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2008-12-12 Anders Carlsson <andersca@apple.com>

Reviewed by Tim Hatcher.

Don't try to free the dummy "1" port state.


  • Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView sendEvent:isDrawRect:]): (-[WebNetscapePluginView updateAndSetWindow]):
16:00 Changeset [39256] by andersca@apple.com
  • 3 edits in trunk/WebKitExamplePlugins

2008-12-12 Anders Carlsson <andersca@apple.com>

Reviewed by Darin Adler.

There's no need to hold on to the QCComposition. Also, toggle between a gold and silver compass
when a mouse button is pressed.


  • NetscapeCoreAnimationPlugin/Composition.qtz:
  • NetscapeCoreAnimationPlugin/main.m: (NPP_Destroy): (handleMouseClick): (NPP_GetValue):
14:48 Changeset [39255] by cwzwarich@webkit.org
  • 7 edits in trunk/JavaScriptCore

2008-12-12 Cameron Zwarich <zwarich@apple.com>

Reviewed by Sam Weinig.

Bug 22828: Do not inspect bytecode instruction stream for op_get_by_id exception information
<https://bugs.webkit.org/show_bug.cgi?id=22828>

In order to remove the bytecode instruction stream after generating
native code, all inspection of bytecode instructions at runtime must
be removed. One particular instance of this is the special handling of
exceptions thrown by the op_get_by_id emitted directly before an
op_construct or an op_instanceof. This patch moves that information to
an auxiliary data structure in CodeBlock.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::getByIdExceptionInfoForBytecodeOffset):
  • bytecode/CodeBlock.h: (JSC::CodeBlock::addGetByIdExceptionInfo):
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitConstruct):
  • bytecompiler/BytecodeGenerator.h: (JSC::BytecodeGenerator::emitGetByIdExceptionInfo):
  • parser/Nodes.cpp: (JSC::InstanceOfNode::emitBytecode):
  • runtime/ExceptionHelpers.cpp: (JSC::createNotAnObjectError):
14:33 Changeset [39254] by pol@apple.com
  • 10 edits in trunk/LayoutTests

2008-12-12 Pierre-Olivier Latour <pol@apple.com>

Checked-in new results for failing SVG tests so that the bots are green again.

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

  • platform/mac/svg/W3C-SVG-1.1/text-tselect-02-f-expected.checksum:
  • platform/mac/svg/W3C-SVG-1.1/text-tselect-02-f-expected.png:
  • platform/mac/svg/W3C-SVG-1.1/text-tselect-02-f-expected.txt:
  • platform/mac/svg/custom/image-small-width-height-expected.checksum:
  • platform/mac/svg/custom/image-small-width-height-expected.png:
  • platform/mac/svg/custom/image-small-width-height-expected.txt:
  • platform/mac/svg/text/text-tselect-02-f-expected.checksum:
  • platform/mac/svg/text/text-tselect-02-f-expected.png:
  • platform/mac/svg/text/text-tselect-02-f-expected.txt:
14:22 Changeset [39253] by brettw@chromium.org
  • 3 edits in trunk/WebCore

Reviewed by Darin Adler.

Add the ability so that Google-URL can optionally be used in a build
of WebKit without changing the shared header. The guts of KURL are
optionally ifdefed out, and the replacement code goes in a different
header to avoid polluting KURL.h

  • platform/KURL.cpp:
  • platform/KURL.h:

(WebCore::KURL::string):
(WebCore::KURL::operator const String&):
(WebCore::KURL::operator JSC::UString):
(WebCore::KURL::operator NSString*):
(WebCore::KURL::parsed):
(WebCore::KURL::utf8String):
(WebCore::KURL::isNull):
(WebCore::KURL::isEmpty):
(WebCore::KURL::isValid):
(WebCore::KURL::hostStart):
(WebCore::KURL::hostEnd):
(WebCore::KURL::pathStart):
(WebCore::KURL::pathEnd):
(WebCore::KURL::pathAfterLastSlash):

13:31 Changeset [39252] by weinig@apple.com
  • 7 edits in trunk/JavaScriptCore

2008-12-12 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Change exception information accessors to take offsets into the bytecode
instruction buffer instead of pointers so that they can work even even
if the bytecode buffer is purged.

  • bytecode/CodeBlock.cpp: (JSC::instructionOffsetForNth): (JSC::CodeBlock::handlerForBytecodeOffset): (JSC::CodeBlock::lineNumberForBytecodeOffset): (JSC::CodeBlock::expressionRangeForBytecodeOffset):
  • bytecode/CodeBlock.h:
  • bytecode/SamplingTool.cpp: (JSC::SamplingTool::dump):
  • interpreter/Interpreter.cpp: (JSC::Interpreter::throwException): (JSC::Interpreter::privateExecute): (JSC::Interpreter::retrieveLastCaller):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • runtime/ExceptionHelpers.cpp: (JSC::createUndefinedVariableError): (JSC::createInvalidParamError): (JSC::createNotAConstructorError): (JSC::createNotAFunctionError): (JSC::createNotAnObjectError):
12:44 Changeset [39251] by hausmann@webkit.org
  • 2 edits in trunk/LayoutTests

2008-12-12 Simon Hausmann <hausmann@webkit.org>

Rubber-stamped by Holger Freyther.

Added all the failing tests in the Qt build that require font metrics
to the skipped list, as discussed. We cannot maintain the metrics
currently.

12:35 Changeset [39250] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-12-12 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Tiny bit of refactoring in quantifier generation.

  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateNonGreedyQuantifier): (JSC::WREC::Generator::generateGreedyQuantifier):
12:31 Changeset [39249] by andersca@apple.com
  • 3 edits in trunk/WebKitExamplePlugins

2008-12-12 Anders Carlsson <andersca@apple.com>

Revert some accidentally committed changes.


  • NetscapeCocoaPlugin/NetscapeCocoaPlugin.xcodeproj/project.pbxproj:
  • NetscapeCocoaPlugin/main.m: (handleDraw): (handleMouseEvent): (NPP_HandleEvent):
12:29 Changeset [39248] by andersca@apple.com
  • 3 edits
    9 adds in trunk/WebKitExamplePlugins

2008-12-12 Anders Carlsson <andersca@apple.com>

Reviewed by Kevin Decker.

Add a sample Core Animation NPAPI plug-in.


  • NetscapeCocoaPlugin/NetscapeCocoaPlugin.xcodeproj/project.pbxproj:
  • NetscapeCocoaPlugin/main.m: (handleDraw): (handleMouseEvent): (NPP_HandleEvent):
  • NetscapeCoreAnimationPlugin: Added.
  • NetscapeCoreAnimationPlugin/Composition.qtz: Added.
  • NetscapeCoreAnimationPlugin/English.lproj: Added.
  • NetscapeCoreAnimationPlugin/English.lproj/InfoPlist.strings: Added.
  • NetscapeCoreAnimationPlugin/Info.plist: Added.
  • NetscapeCoreAnimationPlugin/NetscapeCoreAnimationPlugin.xcodeproj: Added.
  • NetscapeCoreAnimationPlugin/NetscapeCoreAnimationPlugin.xcodeproj/project.pbxproj: Added.
  • NetscapeCoreAnimationPlugin/main.m: Added. (NP_Initialize): (NP_GetEntryPoints): (NP_Shutdown): (NPP_New): (NPP_Destroy): (NPP_SetWindow): (NPP_NewStream): (NPP_DestroyStream): (NPP_WriteReady): (NPP_Write): (NPP_StreamAsFile): (NPP_Print): (handleMouseClick): (NPP_HandleEvent): (NPP_URLNotify): (NPP_GetValue): (NPP_SetValue):
  • NetscapeCoreAnimationPlugin/test.html: Added.
10:10 Changeset [39247] by sfalken@apple.com
  • 2 edits in trunk/WebCore

Delete the previous timer-queue timer in the main thread, just prior to scheduling a new timer.
The code previously called DeleteTimerQueueTimer in the timer callback proc.


The new technique simplifies the code, since we now create and delete timers on the
same thread, and don't access the timer queue or timer handles in the callback.
This allows us to remove some mutex use, and more importantly, it solves a race
condition that was occuring between ChangeTimerQueueTimer and DeleteTimerQueueTimer.


Since the timer callback isn't passed the timer handle, we were retrieving that handle
via a global. If the timer callback code was entered, but then a new timer was immediately
scheduled (prior to the callback acquiring the mutex and calling DeleteTimerQueueTimer),
there was a small window where the timer could be re-scheduled via ChangeTimerQueueTimer
and then immediately deleted once the already running callback acquired the mutex and
then called DeleteTimerQueueTimer. This resulted in the newly scheduled timer never firing.


Reviewed by Oliver Hunt.

  • platform/win/SharedTimerWin.cpp: (WebCore::queueTimerProc): Don't delete the timer in the callback. (WebCore::setSharedTimerFireTime): Always delete and create the timer instead of using ChangeTimerQueueTimer. (WebCore::stopSharedTimer): Call DeleteTimerQueueTimer directly.
10:06 Changeset [39246] by darin@apple.com
  • 6 edits in trunk/WebCore

2008-12-12 Kai Brüning <kai@granus.net>

Reviewed and tweaked by Darin Adler.

Fixes resurrection bug for wrapper objects by using an NSMapTable with zeroing weak
memory for the wrapper reference for DOMWrapperCache (DOMInternal.mm),
JSWrapperCache (WebScriptObject.mm) and wrapperCache (DOMRGBColor.mm).
BUILDING_ON_TIGER is used to create a Leopard-only NSMapTable or an old-style
procedural map table for Tiger systems.

No regression tests yet since we don't currently run any tests in GC mode.

  • bindings/objc/DOMInternal.h: added WebCore::createWrapperCache for use by all three caches
  • bindings/objc/DOMInternal.mm: (WebCore::createWrapperCache): Contains the compile-time check for map table creation (WebCore::getDOMWrapper): HashMap -> NSMapTable (WebCore::addDOMWrapper): ditto (WebCore::removeDOMWrapper): ditto
  • bindings/objc/DOMObject.mm: removed [DOMObject finalize]
  • bindings/objc/DOMRGBColor.mm: removed [DOMRGBColor finalize] (WebCore::getWrapperForRGB): CFMutableDictionaryRef -> NSMapTable (WebCore::setWrapperForRGB): ditto (WebCore::removeWrapperForRGB): ditto
  • bindings/objc/WebScriptObject.mm: (WebCore::getJSWrapper): HashMap -> NSMapTable (WebCore::addJSWrapper): ditto (WebCore::removeJSWrapper): ditto (-[WebScriptObject finalize]): removed call of removeJSWrapper()
09:42 Changeset [39245] by zecke@webkit.org
  • 2 edits in trunk/WebKitTools

2008-12-12 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Adam Roben.

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

Increase timeout in call to initWithURL so that people actually see
new web pages when they type URLs rather than a blank screen.

  • WinLauncher/WinLauncher.cpp: (loadURL): Increase timeout in initWithURL from 0 to 60 seconds.
09:30 Changeset [39244] by darin@apple.com
  • 2 edits in trunk/WebKitTools

2008-12-12 Darin Adler <darin@apple.com>

  • Scripts/do-webcore-rename: Add a renaming idea.
08:10 Changeset [39243] by darin@chromium.org
  • 3 edits in trunk/WebCore

2008-12-12 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=22813
Remove unused references to JSDOMBinding, CallFrame, and JSLock.

  • dom/Node.cpp: Removed CallFrame and JSLock header includes.
  • loader/FrameLoader.cpp: Removed JSDOMBinding header include.
08:09 Changeset [39242] by zecke@webkit.org
  • 3 edits
    1 add in trunk

Update the WebKit.qrc and add a script to automatically generate the file.

With the way rcc and qmake work this can not be done at build time
as the WebKit.qrc must sit inside the directory that contains the files
and at build time we may not change the content of the source directory.

08:08 Changeset [39241] by zecke@webkit.org
  • 3 edits in trunk

Back out r39222 as this is breaking the build on Gentoo (aclocal-1.10)

The m4 directory does not exist and we now have a compile issue on
Gentoo systems.

06:11 Changeset [39240] by oliver@apple.com
  • 2 edits in trunk/WebCore

REGRESSION: Canvas is broken in high dpi mode
<rdar://problem/6432739> <https://bugs.webkit.org/show_bug.cgi?id=22823>

Reviewed by Alexey Proskuryakov.

Simply made sure that we correctly scale the graphics context to
account for the difference between logical and buffer resolution.

05:49 Changeset [39239] by hausmann@webkit.org
  • 4 edits in trunk/WebKit/qt

2008-12-12 Simon Hausmann <hausmann@webkit.org>

Reviewed by Tor Arne Vestbø.

Fix pressing return/enter not triggering any action on web sites
that define event handlers, such as the JS console in the web
inspector.

Process the key events in the DOM first and if not handled map them
to editor actions.

05:18 Changeset [39238] by vestbo@webkit.org
  • 6 edits in trunk/WebCore

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

Rubber-stamped by Oliver Hunt.

Share PluginView::paintMissingPluginIcon() between ports

Also, enable this feature for Qt/X11, Qt/Mac and GTK

05:16 Changeset [39237] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

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

Reviewed by Simon Hausmann.

[Qt/Mac] Implement PluginView::updatePluginWidget()

We should update the window and clip rect regardless of whether or
not the plugin has been loaded, for example to ensure that the
missing plugin image is placed correctly.

05:15 Changeset [39236] by vestbo@webkit.org
  • 8 edits in trunk/WebCore

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

Rubber-stamped by Oliver Hunt.

Make PluginView::updatePluginWidget() non-const

We can do this now since frameRectsChanged() is no longer const. This
also allows us to get rid of the mutables in the PluginView.

05:09 Changeset [39235] by vestbo@webkit.org
  • 2 edits in trunk/WebKit/win

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

Rubber-stamped by Oliver Hunt.

Remove mutables from EmbeddedWidget

We can do this now that frameRectsChanged() is no longer const

03:35 Changeset [39234] by hausmann@webkit.org
  • 3 edits in trunk/WebKit/qt

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

Reviewed by Simon Hausmann.

Create the plugin widget even though the web page has no associated
view. This prevents the plugin to be uselessly constructed more than once.

  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::createPlugin):
  • tests/qwebpage/tst_qwebpage.cpp: (tst_QWebPage::createViewlessPlugin):
02:54 Changeset [39233] by vestbo@webkit.org
  • 4 edits in trunk/WebCore

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

Reviewed by Simon Hausmann.

Implement ImageSource::filenameExtension() for the Qt port

We're using QImageReader::imageFormat().toLower() to check
that the image format is supported, and if it is we store
the resulting extension when creating the ImageDecoderQt.

01:42 Changeset [39232] by hausmann@webkit.org
  • 3 edits in trunk/WebKit/qt

2008-12-11 Enrico Ros <enrico.ros@m31.com>

Reviewed by Simon Hausmann.

Fix the broken focus behavior that happened when QWebPage lost
focus to a popup menu.

The previous code didn't notify the QWebPage at all when the
focus was back in (breaking focus rects, caret blinking, ...).
By the way when a popup is show, 2 FocusOut events are delivered
to the QWebPage, but this doesn't seem to hurt.

Added a test to check popup opening, closing a lineedit blinks.

00:22 Changeset [39231] by vestbo@webkit.org
  • 3 edits in trunk/WebKit/qt

2008-12-11 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Tor Arne Vestbø.

When the web page is navigated away, delete the instance
of the native plugin.

http://trolltech.com/developer/task-tracker/index_html?id=214946&method=entry

  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::):
  • tests/qwebpage/tst_qwebpage.cpp: (PluginTrackedPage::PluginTrackedPage): (PluginTrackedPage::createPlugin): (tst_QWebPage::destroyPlugin):
00:03 Changeset [39230] by weinig@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

Fix typo

00:02 Changeset [39229] by weinig@apple.com
  • 15 edits
    2 copies in trunk/JavaScriptCore

2008-12-11 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Remove dependancy on having the Instruction buffer in order to
deref Structures used for property access and global resolves.
Instead, we put references to the necessary Structures in axillary
data structures on the CodeBlock. This is not an ideal solution,
as we still pay for having the Structures in two places and we
would like to eventually just hold on to offsets into the machine
code buffer.

  • Also removes CodeBlock bloat in non-JIT by #ifdefing the JIT only data structures.
  • GNUmakefile.am:
  • JavaScriptCore.pri:
  • JavaScriptCore.scons:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • bytecode/CodeBlock.cpp: (JSC::isGlobalResolve): (JSC::isPropertyAccess): (JSC::instructionOffsetForNth): (JSC::printGlobalResolveInfo): (JSC::printStructureStubInfo): (JSC::CodeBlock::printStructures): (JSC::CodeBlock::dump): (JSC::CodeBlock::~CodeBlock): (JSC::CodeBlock::shrinkToFit):
  • bytecode/CodeBlock.h: (JSC::GlobalResolveInfo::GlobalResolveInfo): (JSC::getNativePC): (JSC::CodeBlock::instructions): (JSC::CodeBlock::getStubInfo): (JSC::CodeBlock::getBytecodeIndex): (JSC::CodeBlock::addPropertyAccessInstruction): (JSC::CodeBlock::addGlobalResolveInstruction): (JSC::CodeBlock::numberOfStructureStubInfos): (JSC::CodeBlock::addStructureStubInfo): (JSC::CodeBlock::structureStubInfo): (JSC::CodeBlock::addGlobalResolveInfo): (JSC::CodeBlock::globalResolveInfo): (JSC::CodeBlock::numberOfCallLinkInfos): (JSC::CodeBlock::addCallLinkInfo): (JSC::CodeBlock::callLinkInfo):
  • bytecode/Instruction.h: (JSC::PolymorphicAccessStructureList::PolymorphicStubInfo::set): (JSC::PolymorphicAccessStructureList::PolymorphicAccessStructureList):
  • bytecode/Opcode.h: (JSC::):
  • bytecode/StructureStubInfo.cpp: Copied from bytecode/CodeBlock.cpp. (JSC::StructureStubInfo::deref):
  • bytecode/StructureStubInfo.h: Copied from bytecode/CodeBlock.h. (JSC::StructureStubInfo::StructureStubInfo): (JSC::StructureStubInfo::initGetByIdSelf): (JSC::StructureStubInfo::initGetByIdProto): (JSC::StructureStubInfo::initGetByIdChain): (JSC::StructureStubInfo::initGetByIdSelfList): (JSC::StructureStubInfo::initGetByIdProtoList): (JSC::StructureStubInfo::initPutByIdTransition): (JSC::StructureStubInfo::initPutByIdReplace): (JSC::StructureStubInfo::):
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitResolve): (JSC::BytecodeGenerator::emitGetById): (JSC::BytecodeGenerator::emitPutById): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::emitCatch):
  • interpreter/Interpreter.cpp: (JSC::Interpreter::tryCTICachePutByID): (JSC::Interpreter::tryCTICacheGetByID): (JSC::Interpreter::cti_op_get_by_id_self_fail): (JSC::getPolymorphicAccessStructureListSlot): (JSC::Interpreter::cti_op_get_by_id_proto_list): (JSC::Interpreter::cti_op_resolve_global):
  • jit/JIT.cpp: (JSC::JIT::JIT): (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): (JSC::JIT::privateCompile):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compilePutByIdHotPath): (JSC::JIT::compileGetByIdSlowCase): (JSC::JIT::compilePutByIdSlowCase): (JSC::JIT::privateCompileGetByIdSelfList): (JSC::JIT::privateCompileGetByIdProtoList): (JSC::JIT::privateCompileGetByIdChainList):
Note: See TracTimeline for information about the timeline view.