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

Timeline



Dec 15, 2008:

11:38 PM Changeset in webkit [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.

11:38 PM Changeset in webkit [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.

11:08 PM Changeset in webkit [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):
11:05 PM Changeset in webkit [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.
10:39 PM Changeset in webkit [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):
10:27 PM Changeset in webkit [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:
9:58 PM Changeset in webkit [39326] by Stephanie Lewis
  • 2 edits in trunk/WebKit/mac

2008-12-15 Stephanie Lewis <Stephanie Lewis>

Fix build.

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:
8:48 PM Changeset in webkit [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:
5:08 PM Changeset in webkit [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:
4:52 PM Changeset in webkit [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.
4:30 PM Changeset in webkit [39322] by Nikolas Zimmermann
  • 1 edit in trunk/WebCore/ChangeLog

Oops, forgot to include ChangeLog in last commit.

4:26 PM Changeset in webkit [39321] by Nikolas Zimmermann
  • 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)

4:22 PM Changeset in webkit [39320] by Darin Adler
  • 13 edits
    1 copy
    3 adds in trunk

JavaScriptCore:

2008-12-15 Darin Adler <Darin Adler>

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

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

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.
4:19 PM Changeset in webkit [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:
4:09 PM Changeset in webkit [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:
3:38 PM Changeset in webkit [39317] by Darin Adler
  • 2 edits in trunk/WebKitTools

2008-12-15 Darin Adler <Darin Adler>

  • Scripts/make-js-test-wrappers: Added another exception to avoid overwriting a custom-written test.
3:38 PM Changeset in webkit [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):
3:31 PM Changeset in webkit [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:
2:30 PM Changeset in webkit [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:
2:18 PM Changeset in webkit [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:
1:51 PM Changeset in webkit [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.
1:09 PM Changeset in webkit [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
1:06 PM Changeset in webkit [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 PM Changeset in webkit [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 PM Changeset in webkit [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 AM Changeset in webkit [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 AM Changeset in webkit [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:
7:31 AM Changeset in webkit [39305] by Antti Koivisto
  • 6 edits in trunk/WebKit/mac

2008-12-15 Antti Koivisto <Antti Koivisto>

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:]):
7:28 AM Changeset in webkit [39304] by Antti Koivisto
  • 12 edits in trunk/WebCore

2008-12-15 Antti Koivisto <Antti Koivisto>

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):
6:25 AM Changeset in webkit [39303] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-12-15 Darin Adler <Darin Adler>

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

Build fix for Gtk+

4:34 AM Changeset in webkit [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.

4:32 AM Changeset in webkit [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.

4:19 AM Changeset in webkit [39299] by Simon Hausmann
  • 2 edits in trunk/LayoutTests

2008-12-15 Simon Hausmann <Simon Hausmann>

Reviewed by Holger Freyther.

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

4:19 AM Changeset in webkit [39298] by Simon Hausmann
  • 5 edits in trunk

2008-12-15 Simon Hausmann <Simon Hausmann>

Reviewed by Holger Freyther.

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

4:03 AM Changeset in webkit [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.

Dec 14, 2008:

6:13 PM Changeset in webkit [39296] by Darin Adler
  • 10 edits in trunk/WebCore

2008-12-13 Darin Adler <Darin Adler>

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*.
4:41 PM Changeset in webkit [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.
3:37 PM Changeset in webkit [39294] by Nikolas Zimmermann
  • 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

6:47 AM Changeset in webkit [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.
3:46 AM Changeset in webkit [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:
2:45 AM Changeset in webkit [39291] by ap@webkit.org
  • 1 edit in trunk/LayoutTests/ChangeLog

Fix a typo in ChangeLog.

2:07 AM Changeset in webkit [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.
1:55 AM Changeset in webkit [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.
Note: See TracTimeline for information about the timeline view.