Timeline


and

12/08/08:

23:48 Changeset [39131] by ap@webkit.org

2008-12-08 Dmitry Titov <dimich@chromium.org>

Reviewed by Darin Adler.

Test for https://bugs.webkit.org/show_bug.cgi?id=22710
Verifies that active timeout does not cause memory leak.

  • fast/dom/Window/resources/long_timeout.html: Added.
  • fast/dom/Window/timeout-released-on-close-expected.txt: Added.
  • fast/dom/Window/timeout-released-on-close.html: Added.
23:24 Changeset [39130] by ggaren@apple.com

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

Reviewed by Oliver Hunt.


Implemented more of the relaxed and somewhat weird rules for deciding
how to interpret a non-pattern-character.


  • wrec/Escapes.h: (JSC::WREC::Escape::): (JSC::WREC::Escape::Escape): Eliminated Escape::None because it was unused. If you see an '
    ', it's either a valid escape or an error.
  • wrec/Quantifier.h: (JSC::WREC::Quantifier::Quantifier):
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateNonGreedyQuantifier): (JSC::WREC::Generator::generateGreedyQuantifier): Renamed "noMaxSpecified" to "Infinity", since that's what it means.
  • wrec/WRECParser.cpp: (JSC::WREC::Parser::consumeGreedyQuantifier): Re-wrote {n,m} parsing rules because they were too strict before. Added support for backtracking in the case where the {n,m} fails to parse as a quantifier, and yet is not a syntax error.

(JSC::WREC::Parser::parseCharacterClass):
(JSC::WREC::Parser::parseNonCharacterEscape): Eliminated Escape::None,
as above.

(JSC::WREC::Parser::consumeEscape): Don't treat ASCII and _ escapes
as syntax errors. See fast/regex/non-pattern-characters.html.


  • wrec/WRECParser.h: (JSC::WREC::Parser::SavedState::SavedState): (JSC::WREC::Parser::SavedState::restore): Added a state backtracker, since parsing {n,m} forms requires backtracking if the form turns out not to be a quantifier.
23:07 Changeset [39129] by ggaren@apple.com

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

Reviewed by Oliver Hunt.


Added a shortcut for --jsDriver-args, which I use a lot.

  • Scripts/run-javascriptcore-tests:
22:47 Changeset [39128] by ggaren@apple.com

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

Reviewed by Oliver Hunt.


Refactored WREC parsing so that only one piece of code needs to know
the relaxed and somewhat weird rules for deciding how to interpret a
non-pattern-character, in preparation for implementing those rules.


Also, implemented the relaxed and somewhat weird rules for '}' and ']'.

  • wrec/WREC.cpp: Reduced the regular expression size limit. Now that WREC handles ']' properly, it compiles fast/js/regexp-charclass-crash.html, which makes it hang at the old limit. (The old limit was based on the misimpression that the same value in PCRE limited the regular expression pattern size; in reality, it limited the expected compiled regular expression size. WREC doesn't have a way to calculate an expected compiled regular expression size, but this should be good enough.)
  • wrec/WRECParser.cpp: (JSC::WREC::parsePatternCharacterSequence): Nixed this function because it contained a second copy of the logic for handling non-pattern-characters, which is about to get a lot more complicated.

(JSC::WREC::PatternCharacterSequence::PatternCharacterSequence):
(JSC::WREC::PatternCharacterSequence::size):
(JSC::WREC::PatternCharacterSequence::append):
(JSC::WREC::PatternCharacterSequence::flush): Helper object for generating
an optimized sequence of pattern characters.

(JSC::WREC::Parser::parseNonCharacterEscape): Renamed to reflect the fact
that the main parseAlternative loop handles character escapes.

(JSC::WREC::Parser::parseAlternative): Moved pattern character sequence
logic from parsePatternCharacterSequence to here, using
PatternCharacterSequence to help with the details.

  • wrec/WRECParser.h: Updated for renames.
22:46 Changeset [39127] by ap@webkit.org

Reviewed by Geoff Garen.

<rdar://problem/6166088> Give JSGlobalContextCreate a behavior that is concurrency aware,
and un-deprecate it

  • API/JSContextRef.cpp: (JSGlobalContextCreate):
  • API/JSContextRef.h: Use a unique context group for the context, unless the application was linked against old JavaScriptCore.
22:29 Changeset [39126] by mitz@apple.com

Reviewed by Adam Roben.

  • Fix nightly builds
  • Interfaces/IWebViewPrivate.idl: Moved globalHistoryItem() to the end, so that it comes after all methods used by Safari 3.2.1.
22:23 Changeset [39125] by ggaren@apple.com

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

Reviewed by Sam Weinig.


Fixed js-test-pre.js to print a meaningful, complete sentence when
exception tests fail.

  • fast/js/const-expected.txt: Updated test for new results.
  • fast/js/resources/js-test-pre.js: (shouldThrow):
21:34 Changeset [39124] by slewis@apple.com

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

Fix Tiger build.

  • DumpRenderTree/mac/LayoutTestControllerMac.mm:
21:27 Changeset [39123] by weinig@apple.com

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

Reviewed by Cameron Zwarich.

Fix for <rdar://problem/6428332> Remove the CTI return address table from CodeBlock

Step 1:

Remove use of jitReturnAddressVPCMap when looking for vPC to store Structures
in for cached lookup. Instead, use the offset in the StructureStubInfo that is
already required.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpStatistics): Fix extraneous semicolon.
  • interpreter/Interpreter.cpp: (JSC::Interpreter::tryCTICachePutByID): (JSC::Interpreter::tryCTICacheGetByID): (JSC::Interpreter::cti_op_get_by_id_self_fail): (JSC::Interpreter::cti_op_get_by_id_proto_list):
  • jit/JIT.h: (JSC::JIT::compileGetByIdSelf): (JSC::JIT::compileGetByIdProto): (JSC::JIT::compileGetByIdChain): (JSC::JIT::compilePutByIdReplace): (JSC::JIT::compilePutByIdTransition):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::privateCompilePutByIdTransition): (JSC::JIT::patchGetByIdSelf): (JSC::JIT::patchPutByIdReplace): (JSC::JIT::privateCompilePatchGetArrayLength): Remove extra call to getStubInfo. (JSC::JIT::privateCompileGetByIdSelf): (JSC::JIT::privateCompileGetByIdProto): (JSC::JIT::privateCompileGetByIdChain): (JSC::JIT::privateCompilePutByIdReplace):
20:54 Changeset [39122] by barraclough@apple.com

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

Reviewed by Oliver Hunt.

Port the op_j?n?eq_null JIT code generation to use the MacroAssembler,
and clean up slightly at the same time. The 'j' forms currently compare,
then set a register, then compare again, then branch. Branch directly on
the result of the first compare.

Around a 1% progression on deltablue, crypto & early boyer, for about 1/2%
overall on v8-tests.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdSlowCase):
18:10 Changeset [39121] by barraclough@apple.com

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

Reviewed by Geoff Garen.

Expand MacroAssembler to support more operations, required by the JIT.

Generally adds more operations and permutations of operands to the existing
interface. Rename 'jset' to 'jnz' and 'jnset' to 'jz', which seem clearer,
and require that immediate pointer operands (though not pointer addresses to
load and store instructions) are wrapped in a ImmPtr() type, akin to Imm32().

No performance impact.

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::): (JSC::MacroAssembler::ImmPtr::ImmPtr): (JSC::MacroAssembler::add32): (JSC::MacroAssembler::and32): (JSC::MacroAssembler::or32): (JSC::MacroAssembler::sub32): (JSC::MacroAssembler::xor32): (JSC::MacroAssembler::loadPtr): (JSC::MacroAssembler::load32): (JSC::MacroAssembler::storePtr): (JSC::MacroAssembler::store32): (JSC::MacroAssembler::poke): (JSC::MacroAssembler::move): (JSC::MacroAssembler::testImm32): (JSC::MacroAssembler::jae32): (JSC::MacroAssembler::jb32): (JSC::MacroAssembler::jePtr): (JSC::MacroAssembler::je32): (JSC::MacroAssembler::jnePtr): (JSC::MacroAssembler::jne32): (JSC::MacroAssembler::jnzPtr): (JSC::MacroAssembler::jnz32): (JSC::MacroAssembler::jzPtr): (JSC::MacroAssembler::jz32): (JSC::MacroAssembler::joSub32): (JSC::MacroAssembler::jump): (JSC::MacroAssembler::sete32): (JSC::MacroAssembler::setne32): (JSC::MacroAssembler::setnz32): (JSC::MacroAssembler::setz32):
  • assembler/X86Assembler.h: (JSC::X86Assembler::addl_mr): (JSC::X86Assembler::andl_i8r): (JSC::X86Assembler::cmpl_rm): (JSC::X86Assembler::cmpl_mr): (JSC::X86Assembler::cmpl_i8m): (JSC::X86Assembler::subl_mr): (JSC::X86Assembler::testl_i32m): (JSC::X86Assembler::xorl_i32r): (JSC::X86Assembler::movl_rm): (JSC::X86Assembler::modRm_opmsib):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • jit/JITInlineMethods.h: (JSC::JIT::emitGetVirtualRegister): (JSC::JIT::emitPutCTIArgConstant): (JSC::JIT::emitPutCTIParam): (JSC::JIT::emitPutImmediateToCallFrameHeader): (JSC::JIT::emitInitRegister): (JSC::JIT::checkStructure): (JSC::JIT::emitJumpIfJSCell): (JSC::JIT::emitJumpIfNotJSCell): (JSC::JIT::emitJumpSlowCaseIfNotImmNum):
18:01 Changeset [39120] by pol@apple.com

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

Reviewed by Dan Bernstein.

Increase timeout in video-paint-test.js so that <video> tests pass on the Tiger pixel bot which is slower
than the Leopard one.

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

  • media/video-paint-test.js: (init):
17:10 Changeset [39119] by ggaren@apple.com

JavaScriptCore:

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

Reviewed by Sam Weinig.


Fixed a bug where WREC would allow a quantifier whose minimum was
greater than its maximum.


  • wrec/Quantifier.h: (JSC::WREC::Quantifier::Quantifier): ASSERT that the quantifier is not backwards.


  • wrec/WRECParser.cpp: (JSC::WREC::Parser::consumeGreedyQuantifier): Verify that the minimum is not greater than the maximum.

LayoutTests:

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

Reviewed by Sam Weinig.


Added a test for interesting uses of non-pattern-characters in regular
expressions.

  • fast/regex/non-pattern-characters-expected.txt: Added.
  • fast/regex/non-pattern-characters.html: Added.
  • fast/regex/resources/non-pattern-characters.js: Added.
17:09 Changeset [39118] by eric@webkit.org

Build fix only, no review.

17:07 Changeset [39117] by andersca@apple.com

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

Reviewed by Darin Adler.

More work towards getting NPN_GetURL working.


  • Plugins/Hosted/HostedNetscapePluginStream.h: Inherit from NetscapePlugInStreamLoaderClient.


(WebKit::HostedNetscapePluginStream::streamID):

  • Plugins/Hosted/HostedNetscapePluginStream.mm: (WebKit::HostedNetscapePluginStream::startStream): Keep track of the resposne URL and the MIME type. Pass the response URL to the plug-in host.


(WebKit::HostedNetscapePluginStream::didFinishLoading):
Disconnect the stream.


(WebKit::HostedNetscapePluginStream::start):
Create a plug-in stream loader and start loading.


(WebKit::HostedNetscapePluginStream::stop):
Cancel the load.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCLoadURL): Fix the parameter order.


(WKPCCancelLoadURL):
New function that cancels a load of a stream with a given reason.


  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::destroy): Stop the streams.


(WebKit::NetscapePluginInstanceProxy::pluginStream):
Return a plug-in stream given a stream ID.


(WebKit::NetscapePluginInstanceProxy::disconnectStream):
Remove the stream from the streams map.


(WebKit::NetscapePluginInstanceProxy::loadRequest):
Create a stream and load it.


  • Plugins/Hosted/WebKitPluginClient.defs: Add CancelLoadURL.


  • Plugins/Hosted/WebKitPluginHost.defs: Add responseURL to StartStream.


  • Plugins/WebBaseNetscapePluginView.h:
  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView pluginPackage]): Move this down to the base class from WebNetscapePluginView.


  • Plugins/WebNetscapePluginView.h:
  • Plugins/WebNetscapePluginView.mm:
17:06 Changeset [39116] by weinig@apple.com

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

Reviewed by Geoffrey Garen.

Patch for https://bugs.webkit.org/show_bug.cgi?id=22716
<rdar://problem/6428315>
Add RareData structure to CodeBlock for infrequently used auxiliary data
members.

Reduces memory on Membuster-head by ~.5MB

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dump): (JSC::CodeBlock::dumpStatistics): (JSC::CodeBlock::mark): (JSC::CodeBlock::getHandlerForVPC): (JSC::CodeBlock::nativeExceptionCodeForHandlerVPC): (JSC::CodeBlock::shrinkToFit):
  • bytecode/CodeBlock.h: (JSC::CodeBlock::numberOfExceptionHandlers): (JSC::CodeBlock::addExceptionHandler): (JSC::CodeBlock::exceptionHandler): (JSC::CodeBlock::addFunction): (JSC::CodeBlock::function): (JSC::CodeBlock::addUnexpectedConstant): (JSC::CodeBlock::unexpectedConstant): (JSC::CodeBlock::addRegExp): (JSC::CodeBlock::regexp): (JSC::CodeBlock::numberOfImmediateSwitchJumpTables): (JSC::CodeBlock::addImmediateSwitchJumpTable): (JSC::CodeBlock::immediateSwitchJumpTable): (JSC::CodeBlock::numberOfCharacterSwitchJumpTables): (JSC::CodeBlock::addCharacterSwitchJumpTable): (JSC::CodeBlock::characterSwitchJumpTable): (JSC::CodeBlock::numberOfStringSwitchJumpTables): (JSC::CodeBlock::addStringSwitchJumpTable): (JSC::CodeBlock::stringSwitchJumpTable): (JSC::CodeBlock::evalCodeCache): (JSC::CodeBlock::createRareDataIfNecessary):
16:35 Changeset [39115] by pkasting@chromium.org

JavaScriptCore:

2008-11-26 Peter Kasting <pkasting@google.com>

Reviewed by Anders Carlsson.

https://bugs.webkit.org/show_bug.cgi?id=16814
Allow ports to disable ActiveX->NPAPI conversion for Media Player.
Improve handling of miscellaneous ActiveX objects.

  • wtf/Platform.h: Add another ENABLE(...).

WebCore:

2008-11-26 Peter Kasting <pkasting@google.com>

Reviewed by Anders Carlsson.

https://bugs.webkit.org/show_bug.cgi?id=16814
Allow ports to disable ActiveX->NPAPI conversion for Media Player.
Improve handling of miscellaneous ActiveX objects.

  • rendering/RenderPartObject.cpp: (WebCore::mapClassIdToServiceType): (WebCore::shouldUseChildEmbedOfObject): (WebCore::RenderPartObject::updateWidget):
16:15 Changeset [39114] by darin@apple.com

WebCore:

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

Reviewed by John Sullivan.

Tests: editing/execCommand/enabling-and-selection-2.html

editing/execCommand/enabling-and-selection.html

  • editing/EditorCommand.cpp: Updated table to use these functions by their new names. (WebCore::enabledVisibleSelection): Renamed this to reflect its new algorithm. An invisible selection with a position that selects no characters doesn't count as a visible selection. (WebCore::enabledVisibleSelectionAndMark): Ditto.

WebKitTools:

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

Reviewed by John Sullivan.

  • DumpRenderTree/LayoutTestController.cpp: (isCommandEnabledCallback): Added. (LayoutTestController::staticFunctions): Added "isCommandEnabled".
  • DumpRenderTree/LayoutTestController.h: Ditto.
  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::isCommandEnabled): Ditto.
  • DumpRenderTree/mac/LayoutTestControllerMac.mm: (-[CommandValidationTarget initWithAction:]): Added. Used to get the command validation system to tell us if a comment is enabled. (-[CommandValidationTarget action]): Ditto. (-[CommandValidationTarget tag]): Ditto. (LayoutTestController::isCommandEnabled): Ditto.
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::isCommandEnabled): Ditto.

LayoutTests:

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

Reviewed by John Sullivan.

  • editing/execCommand/enabling-and-selection-2-expected.txt: Added.
  • editing/execCommand/enabling-and-selection-2.html: Added.
  • editing/execCommand/enabling-and-selection-expected.txt: Added.
  • editing/execCommand/enabling-and-selection.html: Added.
  • editing/execCommand/resources: Added.
  • editing/execCommand/resources/TEMPLATE.html: Copied from LayoutTests/fast/js/resources/TEMPLATE.html.
  • editing/execCommand/resources/enabling-and-selection-2.js: Added.
  • editing/execCommand/resources/enabling-and-selection.js: Added.
  • fast/canvas/canvas-setTransform.html: Let make-js-test-wrappers update this.
  • fast/canvas/canvas-strokeRect.html: Ditto.
  • platform/qt/Skipped: Added enabling-and-selection-2 to the skipped list.
  • platform/win/Skipped: Ditto.
16:14 Changeset [39113] by weinig@apple.com

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

Reviewed by Mark Rowe.

Add dumping of CodeBlock member structure usage.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpStatistics):
  • bytecode/EvalCodeCache.h: (JSC::EvalCodeCache::isEmpty):
16:11 Changeset [39112] by ddkilzer@apple.com

Remove duplicate entries from WebCore project.

Reviewed by Eric Seidel.

Bug 22555: Sort "children" sections in Xcode project files.
<https://bugs.webkit.org/show_bug.cgi?id=22555>

Recipe for removing duplicates:
$ ./WebKitTools/Scripts/sort-Xcode-project-file project.pbxproj
$ uniq < project.pbxproj | diff -u project.pbxproj - | patch -p0 project.pbxproj

  • WebCore.xcodeproj/project.pbxproj: Removed duplicates.
16:06 Changeset [39111] by jchaffraix@webkit.org

2008-12-08 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 the script elements (HTML and SVG).

  • dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated): Removed call to setCreatedByParser for the 2 elements.
  • dom/make_names.pl: Modified to call the constructor with the createByParser parameter if 'constructorNeedsCreatedByParser' is set.


  • html/HTMLElementFactory.cpp: (WebCore::scriptConstructor):
  • html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::HTMLScriptElement):
  • html/HTMLScriptElement.h:
  • html/HTMLTagNames.in: Added constructorNeedsCreatedByParser to script.
  • svg/SVGScriptElement.cpp: (WebCore::SVGScriptElement::SVGScriptElement):
  • svg/SVGScriptElement.h:
  • svg/svgtags.in: Added constructorNeedsCreatedByParser to script.
16:03 Changeset [39110] by pam@chromium.org

2008-12-08 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22739
Test the sequence of keyboard events generated for a keypress.

  • fast/events/special-key-events-in-input-text-expected.txt: Added.
  • fast/events/special-key-events-in-input-text.html: Added.
16:01 Changeset [39109] by ddkilzer@apple.com

Bug 22555: Sort "children" sections in Xcode project files

<https://bugs.webkit.org/show_bug.cgi?id=22555>

Reviewed by Eric Seidel.

JavaScriptCore:

JavaScriptGlue:

  • JavaScriptGlue.xcodeproj/project.pbxproj: Sorted.

WebCore:

  • WebCore.xcodeproj/project.pbxproj: Sorted.
  • manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj: Sorted.

WebKit:

  • WebKit.xcodeproj/project.pbxproj: Sorted.

WebKitExamplePlugins:

  • NetscapeCocoaPlugin/NetscapeCocoaPlugin.xcodeproj/project.pbxproj: Sorted.

WebKitTools:

  • DrawTest/DrawTest.xcodeproj/project.pbxproj: Sorted.
  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Sorted.
  • WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj: Sorted.
15:57 Changeset [39108] by darin@apple.com

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

  • StringsNotToBeLocalized.txt: Updated for recent changes.
15:44 Changeset [39107] by ddkilzer@apple.com

Bug 22555: Sort "children" sections in Xcode project files

<https://bugs.webkit.org/show_bug.cgi?id=22555>

Reviewed by Timothy Hatcher.

  • Scripts/sort-Xcode-project-file: By popular request, don't sort the mainGroup in the project (the list of items below the top-level project file).
15:42 Changeset [39106] by eric@webkit.org

2008-12-08 Tony Chang <tony@chromium.org>

Reviewed by Eric Seidel.

Enable Pan scrolling only when building on PLATFORM(WIN_OS)
Previously platforms like Apple Windows WebKit, Cairo Windows WebKit,
Wx and Chromium were enabling it explicitly, now we just turn it on
for all WIN_OS, later platforms can turn it off as needed on Windows
(or turn it on under Linux, etc.)
https://bugs.webkit.org/show_bug.cgi?id=22698

  • wtf/Platform.h:
15:42 Changeset [39105] by eric@webkit.org

2008-12-08 Tony Chang <tony@chromium.org>

Reviewed by Eric Seidel.

Add a bool to GraphicsContext so that shadows can ignore
transformations. This is needed by HTML canvas element
where the spec says shadows are applied w/o transformations.
https://bugs.webkit.org/show_bug.cgi?id=22580

No functional changes, thus no tests.

  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::setShadow): (WebCore::CanvasRenderingContext2D::applyShadow):
  • html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createImageBuffer):
  • platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/GraphicsContextPrivate.h: (WebCore::GraphicsContextState::GraphicsContextState):
  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::setPlatformShadow):
15:18 Changeset [39104] by jchaffraix@webkit.org

WebCore:

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

Reviewed by Darin Adler.

Bug 17897: Not Rendering Images Imported from XHTML Document
<rdar://problem/5827614>

When we were loading document with XMLHttpRequest that contained images, the images
would not be fetched as they would not be displayed. However if we inserted such
an image element into a rendered document, we would not fetch the image and thus never
display it.

Now we check if the image has been loaded when we insert an HTMLImageElement into a
document.
To enable this, the image loader has an error flag. To avoid doing several attempts
when we know that the image is in error, we store the failed URL.
However Firefox and Opera ignore errors when the 'src' attribute changes and thus
we also have an updateFromElementIgnoringPreviousError to match the other browser.

Tests: http/tests/misc/image-blocked-src-change.html

http/tests/misc/image-blocked-src-no-change.html
http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded-svg.svg
http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded.html

  • html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::parseMappedAttribute): Changed to call updateFromElementIgnoringPreviousError.
  • html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::parseMappedAttribute): Ditto. (WebCore::HTMLImageElement::insertedIntoDocument): Call updateFromElement if we do not have an image.


  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::parseMappedAttribute): Changed to call updateFromElementIgnoringPreviousError.
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::parseMappedAttribute): Ditto.
  • html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::parseMappedAttribute): Ditto.
  • loader/ImageLoader.cpp: (WebCore::ImageLoader::setImage): Added an assertion. (WebCore::ImageLoader::updateFromElement): Added a check for load error (to avoid displaying multiple errors in the console for a single image load).

(WebCore::ImageLoader::updateFromElementIgnoringPreviousError): This method clears previous error
before calling updateFromElement.

(WebCore::ImageLoader::notifyFinished): Added an assertion.

  • loader/ImageLoader.h:
  • svg/SVGImageElement.cpp: (WebCore::SVGImageElement::svgAttributeChanged): Changed to call updateFromElementIgnoringPreviousError.

LayoutTests:

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

Reviewed by Darin Adler.

Tests cases for bug 17897: Not Rendering Images Imported from XHTML Document
<rdar://problem/5827614>

  • xmlhttprequest-image-not-loaded*: test that an image loaded by an XMLHttpRequest and inserted into a XHTML or SVG Document is properly rendered.
  • image-blocked-src-change.html and image-blocked-src-no-change.html: test that an image that was in error is responding to src attribute change (whether it does really change the url or not).
  • http/tests/misc/image-blocked-src-change-expected.txt: Added.
  • http/tests/misc/image-blocked-src-change.html: Added.
  • http/tests/misc/image-blocked-src-no-change-expected.txt: Added.
  • http/tests/misc/image-blocked-src-no-change.html: Added.
  • http/tests/xmlhttprequest/resources/load-icon.svg: Added.
  • http/tests/xmlhttprequest/resources/load-icon.xhtml: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded-expected.txt: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded-svg-expected.txt: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded-svg.svg: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded.html: Added.
14:36 Changeset [39103] by hyatt@apple.com

2008-12-08 David Hyatt <hyatt@apple.com>

Make scrollbar creation virtual on ScrollView so that FrameView can have the capability to create
custom CSS scrollbars.

Reviewed by Eric Seidel

  • page/FrameView.cpp: (WebCore::FrameView::createScrollbar):
  • page/FrameView.h:
  • platform/ScrollView.cpp: (WebCore::ScrollView::setHasHorizontalScrollbar): (WebCore::ScrollView::setHasVerticalScrollbar): (WebCore::ScrollView::createScrollbar):
  • platform/ScrollView.h:
13:40 Changeset [39102] by weinig@apple.com

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

Reviewed by Cameron Zwarich.

Add basic memory statistics dumping for CodeBlock.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpStatistics): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::~CodeBlock):
  • bytecode/CodeBlock.h:
13:39 Changeset [39101] by mrowe@apple.com

Disable the WML tests since no platforms build with WML enabled by default and the test failures are annoying.

Rubber-stamped by Sam Weinig.

  • wml/variable-reference-invalid-character.html-disabled: Renamed from LayoutTests/wml/variable-reference-invalid-character.html.
  • wml/variable-reference-valid.html-disabled: Renamed from LayoutTests/wml/variable-reference-valid.html.
13:18 Changeset [39100] by mitz@apple.com

WebCore:

Reviewed by John Sullivan.

  • WebCore part of tracking the global history item for a WebView
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Set the page's global history item to the current back/forward list item, respecting private browsing mode. (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Ditto in this case. (WebCore::FrameLoader::goToItem): Ditto in this case. (WebCore::FrameLoader::updateHistoryForStandardLoad): If this load creates a new global history item, set the page's global history item to it. (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Ditto.
  • page/Page.cpp: (WebCore::Page::setGlobalHistoryItem): Added this setter.
  • page/Page.h: Added a m_globalHistoryItem data member. (WebCore::Page::globalHistoryItem): Added this getter.

WebKit/mac:

Reviewed by John Sullivan.

  • WebKit/mac part of tracking the global history item for a WebView
  • WebView/WebView.mm: (-[WebView _globalHistoryItem]): Added. Returns the page's global history item.
  • WebView/WebViewPrivate.h:

WebKit/win:

Reviewed by John Sullivan.

  • WebKit/win part of tracking the global history item for a WebView
  • Interfaces/IWebViewPrivate.idl: Declared globalHistoryItem()
  • WebView.cpp: (WebView::globalHistoryItem): Added. Gets the page's global history item.
  • WebView.h:
11:28 Changeset [39099] by antti@apple.com

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

Reviewed by Dave Kilzer.

A few stylistic fixes suggested by Dave Kilzer.

  • css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::createIdentifier): (WebCore::CSSPrimitiveValue::create):
10:36 Changeset [39098] by ap@webkit.org

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22737
Try debug version when locating CFNetwork

  • platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::findCFNetworkModule): (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction): (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction):
  • platform/network/win/CookieJarCFNetWin.cpp: (WebCore::findCFNetworkModule): (WebCore::findIsHTTPOnlyFunction):
10:13 Changeset [39097] by darin@chromium.org

2008-12-08 Aaron Boodman <aa@chromium.org>

Reviewed by Stephanie Lewis.

https://bugs.webkit.org/show_bug.cgi?id=22301
Make dispatchDidFinishLoading() always fire before didFinishLoadForFrame().

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::finishedParsing):
08:56 Changeset [39096] by hausmann@webkit.org

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

Fix the Linux build with newer gcc/glibc.

08:53 Changeset [39095] by hausmann@webkit.org

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

Fix the build with Qt on Windows.

05:38 Changeset [39094] by vestbo@webkit.org

2008-12-08 Trenton Schulz <trenton.schulz@nokia.com>

Rubber-stamped by Tor Arne Vestbø.

Fix build warning on Mac

02:42 Changeset [39093] by hausmann@webkit.org

Fix the Qt build

02:35 Changeset [39092] by oliver@apple.com

Bug 22398: r39059: Crash when clearing webkitTransitionDuration in webkitTransitionEnd event handler
<rdar://problem/6426245> REGRESSION(r39059): Reproducible crash when clearing webkitTransitionDuration in webkitTransitionEnd event handler (22398)

Reviewed by Alexey Proskuryakov.

This regression was caused by r39059 replacing the protector on the active
animation with a protector on just the composition. It turns out that both
protectors are necessary.

Test: transitions/transition-duration-cleared-in-transitionend-crash.html

00:54 Changeset [39091] by ap@webkit.org

2008-12-08 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=22732
Remove unused files PausedTimeouts.h,.cpp
The change that deprecated this code was https://bugs.webkit.org/show_bug.cgi?id=22620

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.scons:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl: These are build files which had PausedTimeouts referenced.
  • bindings/js/PausedTimeouts.cpp: Removed.
  • bindings/js/PausedTimeouts.h: Removed.
  • bindings/js/ScriptController.cpp: Removed '#include'
  • page/Chrome.cpp: Removed '#include' and unused variable.

12/07/08:

22:58 Changeset [39090] by simon.fraser@apple.com

2008-12-07 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dan Bernstein

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

Fix issues which break reading inline style for -webkit-transition
and -webkit-transform-origin.

Test: fast/css/transform-inline-style.html

  • css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Add cases for CSSPropertyWebkitTransformOrigin and CSSPropertyWebkitTransition so that these shorthand properties are returned correctly.
  • css/CSSParser.cpp: (WebCore::CSSParser::parseAnimationProperty): Create CSSPrimitiveValues with the correct CSSValueAll and CSSValueNone identifiers, not the RenderStyle-level cAnimateAll, cAnimateNone.
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::mapAnimationProperty): Special-case CSSValueAll and CSSValueNone values to set cAnimateAll and cAnimateNone transition properties.
20:16 Changeset [39089] by oliver@apple.com

Fix non-WREC builds

17:29 Changeset [39088] by antti@apple.com

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

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22717
Make CSS values use less memory


Share CSSPrimitiveValue objects for commonly used values including

  • idents
  • colors
  • small integers


This reduces the amount CSSPrimitiveValue instances by > 80%.

  • css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::createIdentifier): (WebCore::CSSPrimitiveValue::createColor): (WebCore::CSSPrimitiveValue::create):
  • css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::create):
17:28 Changeset [39087] by oliver@apple.com

Put ENABLE(ASSEMBLER) guards around use of ExecutableAllocator in global data
Correct Qt and Gtk project files

17:27 Changeset [39086] by antti@apple.com

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

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22717
Make CSS values use less memory

Get CSSValues off from the common StyleBase base class. They don't
need a parent pointer or anything else there and there is no real
reason to have them in same data structures with other CSSOM objects.


Disabled (instead of refactoring around the lack of common base) the ability
to have style declaration blocks as CSS variable values. They don't exist in
the spec so I wasn't sure if they have future or not. It would not be hard to
get them back. CSS variables are in any case an experimental feature and
not enabled by default.

  • css/CSSInitialValue.h: (WebCore::CSSInitialValue::createExplicit): (WebCore::CSSInitialValue::createImplicit):
  • css/CSSParser.cpp: (WebCore::CSSParser::addVariableDeclarationBlock):
  • css/CSSParser.h:
  • css/CSSValue.h: (WebCore::CSSValue::~CSSValue): (WebCore::CSSValue::parserValue):
  • css/CSSVariablesDeclaration.cpp: (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration): (WebCore::CSSVariablesDeclaration::getVariableValue): (WebCore::CSSVariablesDeclaration::removeVariable): (WebCore::CSSVariablesDeclaration::addParsedVariable): (WebCore::CSSVariablesDeclaration::getParsedVariable): (WebCore::CSSVariablesDeclaration::getParsedVariableDeclarationBlock):
  • css/CSSVariablesDeclaration.h: (WebCore::CSSVariablesDeclaration::create):
  • css/StyleBase.h:
16:39 Changeset [39085] by oliver@apple.com

Add new files to other projects.

Reviewed by NOBODY (Build fix).

16:35 Changeset [39084] by oliver@apple.com

Rename ExecutableAllocatorMMAP to the more sensible ExecutableAllocatorPosix

Rubber stamped by Mark Rowe.

15:55 Changeset [39083] by oliver@apple.com

<rdar://problem/6309878> Need more granular control over allocation of executable memory (21783)
<https://bugs.webkit.org/show_bug.cgi?id=21783>

Reviewed by Cameron Zwarich and Sam Weinig

Add a new allocator for use by the JIT that provides executable pages, so
we can get rid of the current hack that makes the entire heap executable.

1-2% progression on SunSpider-v8, 1% on SunSpider. Reduces memory usage as well!

11:16 Changeset [39082] by zecke@webkit.org

[Gtk+] Use glib's unit test facilities to test the WebKit/Gtk+ API

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

Add the skeleton to WebKit/gtk/tests and integrate that into the
buildsystem. Testing support was added in glib 2.16. For versions
using glib < 2.16 we compile an empty application.

10:41 Changeset [39081] by zecke@webkit.org

[GTK] Define ENABLE_JIT_OPTIMIZE_CALL, ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS, ENABLE_JIT_OPTIMIZE_ARITHMETIC

When building the jit on i*86 also enable the above optimizations.

01:23 Changeset [39080] by krit@webkit.org

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

Reviewed by Oliver Hunt.

WebCore:

Add gradient and pattern support for strokeRect on canvas/Cg.

Canvas strokeRect() doesn't support gradients
https://bugs.webkit.org/show_bug.cgi?id=19790

Test: fast/canvas/canvas-strokeRect.html

  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::strokeRect):

LayoutTests:

Tests strokeRect with patterns and gradients.

  • fast/canvas/canvas-strokeRect-expected.txt: Added.
  • fast/canvas/canvas-strokeRect.html: Added.
  • fast/canvas/resources/canvas-strokeRect.js: Added.

12/06/08:

23:48 Changeset [39079] by krit@webkit.org

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

Reviewed by Oliver Hunt.

WebCore:

Add support for setTransform() in canvas.

<canvas> lacks transform() and setTransform()
https://bugs.webkit.org/show_bug.cgi?id=16604

Test: fast/canvas/canvas-setTransform.html

  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::State::State): (WebCore::CanvasRenderingContext2D::setStrokeStyle): (WebCore::CanvasRenderingContext2D::setFillStyle): (WebCore::CanvasRenderingContext2D::scale): (WebCore::CanvasRenderingContext2D::rotate): (WebCore::CanvasRenderingContext2D::translate): (WebCore::CanvasRenderingContext2D::transform): (WebCore::CanvasRenderingContext2D::setTransform): (WebCore::CanvasRenderingContext2D::beginPath): (WebCore::CanvasRenderingContext2D::closePath): (WebCore::CanvasRenderingContext2D::moveTo): (WebCore::CanvasRenderingContext2D::lineTo): (WebCore::CanvasRenderingContext2D::quadraticCurveTo): (WebCore::CanvasRenderingContext2D::bezierCurveTo): (WebCore::CanvasRenderingContext2D::arcTo): (WebCore::CanvasRenderingContext2D::arc): (WebCore::CanvasRenderingContext2D::rect): (WebCore::CanvasRenderingContext2D::fill): (WebCore::CanvasRenderingContext2D::stroke): (WebCore::CanvasRenderingContext2D::clip): (WebCore::CanvasRenderingContext2D::isPointInPath): (WebCore::CanvasRenderingContext2D::clearRect): (WebCore::CanvasRenderingContext2D::fillRect): (WebCore::CanvasRenderingContext2D::strokeRect): (WebCore::CanvasRenderingContext2D::drawImage): (WebCore::CanvasRenderingContext2D::drawImageFromRect): (WebCore::CanvasRenderingContext2D::willDraw): (WebCore::CanvasRenderingContext2D::drawTextInternal):
  • html/CanvasRenderingContext2D.h:
  • html/CanvasRenderingContext2D.idl:
  • html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::baseTransform):
  • html/HTMLCanvasElement.h:
  • platform/graphics/ImageBuffer.h: (WebCore::ImageBuffer::baseTransform):

LayoutTests:

Added tests for canvas's setTransform() and updated an existing one.

  • fast/canvas/canvas-setTransform-expected.txt: Added.
  • fast/canvas/canvas-setTransform.html: Added.
  • fast/canvas/resources/canvas-setTransform.js: Added.
  • fast/dom/Window/window-properties-expected.txt:
22:15 Changeset [39078] by simon.fraser@apple.com

2008-12-06 Simon Fraser <simon.fraser@apple.com>

Reviewed by Antti Koivisto, Dan Bernstein

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

Fix logic related to repainting when transform changes:
If an object has a layer, and the transform changes, then we need
to do a repaintIncludingDescendants(), not just a repaint.

Test: fast/repaint/transform-repaint-descendants.html

  • rendering/RenderObject.cpp: (WebCore::RenderObject::styleWillChange):
20:20 Changeset [39077] by weinig@apple.com

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

Fix the Gtk build.

  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compilePutByIdHotPath):
18:05 Changeset [39076] by antti@apple.com

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

Reviewed by Darin Adler.

Also copy m_implicit field. Darin wanted this change commited separately.

  • css/CSSProperty.h: (WebCore::CSSProperty::operator=):
17:40 Changeset [39075] by antti@apple.com

WebCore:

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

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22379
Make CSSOM use less memory


Use vector instead of a double linked list for properties in CSSMutableStyleDeclaration.


Taught setter functions to use existing slots to avoid memory moves, plus some
other optimizations.

  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration): (WebCore::CSSMutableStyleDeclaration::operator=): (WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue): (WebCore::CSSMutableStyleDeclaration::removeShorthandProperty): (WebCore::CSSMutableStyleDeclaration::removeProperty): (WebCore::CSSMutableStyleDeclaration::getPropertyPriority): (WebCore::CSSMutableStyleDeclaration::getPropertyShorthand): (WebCore::CSSMutableStyleDeclaration::isPropertyImplicit): (WebCore::CSSMutableStyleDeclaration::setProperty): (WebCore::CSSMutableStyleDeclaration::setPropertyInternal): (WebCore::CSSMutableStyleDeclaration::setStringProperty): (WebCore::CSSMutableStyleDeclaration::setImageProperty): (WebCore::CSSMutableStyleDeclaration::parseDeclaration): (WebCore::CSSMutableStyleDeclaration::addParsedProperties): (WebCore::CSSMutableStyleDeclaration::addParsedProperty): (WebCore::CSSMutableStyleDeclaration::setLengthProperty): (WebCore::CSSMutableStyleDeclaration::length): (WebCore::CSSMutableStyleDeclaration::item): (WebCore::CSSMutableStyleDeclaration::cssText): (WebCore::CSSMutableStyleDeclaration::setCssText): (WebCore::CSSMutableStyleDeclaration::merge): (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet): (WebCore::CSSMutableStyleDeclaration::copy): (WebCore::CSSMutableStyleDeclaration::findPropertyWithId):
  • css/CSSMutableStyleDeclaration.h: (WebCore::CSSMutableStyleDeclarationConstIterator::operator*): (WebCore::CSSMutableStyleDeclarationConstIterator::operator->): (WebCore::CSSMutableStyleDeclarationConstIterator::operator!=): (WebCore::CSSMutableStyleDeclarationConstIterator::operator==): (WebCore::CSSMutableStyleDeclaration::create): (WebCore::CSSMutableStyleDeclaration::begin): (WebCore::CSSMutableStyleDeclaration::end): (WebCore::CSSMutableStyleDeclarationConstIterator::CSSMutableStyleDeclarationConstIterator): (WebCore::CSSMutableStyleDeclarationConstIterator::~CSSMutableStyleDeclarationConstIterator): (WebCore::CSSMutableStyleDeclarationConstIterator::operator=): (WebCore::CSSMutableStyleDeclarationConstIterator::operator++): (WebCore::CSSMutableStyleDeclarationConstIterator::operator--):
  • css/CSSProperty.h: (WTF::):
  • css/CSSStyleDeclaration.cpp: (WebCore::CSSStyleDeclaration::diff): (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::resolveVariablesForDeclaration): (WebCore::CSSStyleSelector::keyframeStylesForAnimation): (WebCore::CSSStyleSelector::applyDeclarations):
  • dom/EventTarget.h:
  • editing/ApplyStyleCommand.cpp: (WebCore::StyleChange::init): (WebCore::ApplyStyleCommand::isHTMLStyleNode): (WebCore::ApplyStyleCommand::removeHTMLFontStyle): (WebCore::ApplyStyleCommand::removeCSSStyle):
  • editing/Editor.cpp: (WebCore::Editor::selectionStartHasStyle): (WebCore::updateState):
  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::handleStyleSpans):
  • editing/markup.cpp: (WebCore::appendStartMarkup):

LayoutTests:

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

Reusing property slots changed property ordering in this text.

  • editing/pasteboard/5780697-2-expected.txt:
17:07 Changeset [39074] by simon.fraser@apple.com

2008-12-06 Simon Fraser <simon.fraser@apple.com>

Update expected image now that the caret renders in transformed
content.

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

  • platform/mac/fast/forms/search-transformed-expected.checksum:
  • platform/mac/fast/forms/search-transformed-expected.png:
17:03 Changeset [39073] by simon.fraser@apple.com

2008-12-06 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dan Bernstein

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

When painting the selection on a replaced element, paint
using local coordinates so that the selection is correctly
painted for transformed elements.

Test: fast/replaced/selection-rect-transform.html

  • rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::paint):
14:31 Changeset [39072] by weinig@apple.com

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

Reviewed by Cameron Zwarich,

Move CodeBlock constructor into the .cpp file.

Sunspider reports a .7% progression, but I can only assume this
is noise.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::CodeBlock):
  • bytecode/CodeBlock.h:
14:19 Changeset [39071] by weinig@apple.com

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

Reviewed by Cameron Zwarich.

Split JumpTable code into its own file.

  • GNUmakefile.am:
  • JavaScriptCore.pri:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • bytecode/CodeBlock.cpp:
  • bytecode/CodeBlock.h:
  • bytecode/JumpTable.cpp: Copied from bytecode/CodeBlock.cpp.
  • bytecode/JumpTable.h: Copied from bytecode/CodeBlock.h.
14:01 Changeset [39070] by weinig@apple.com

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

Reviewed by Cameron Zwarich.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22715
Encapsulate more CodeBlock members in preparation
of moving some of them to a rare data structure.

  • bytecode/CodeBlock.cpp: (JSC::locationForOffset): (JSC::printConditionalJump): (JSC::printGetByIdOp): (JSC::printPutByIdOp): (JSC::CodeBlock::printStructure): (JSC::CodeBlock::printStructures): (JSC::CodeBlock::dump): (JSC::CodeBlock::~CodeBlock): (JSC::CodeBlock::unlinkCallers): (JSC::CodeBlock::derefStructures): (JSC::CodeBlock::refStructures): (JSC::CodeBlock::mark): (JSC::CodeBlock::getHandlerForVPC): (JSC::CodeBlock::nativeExceptionCodeForHandlerVPC): (JSC::CodeBlock::lineNumberForVPC): (JSC::CodeBlock::expressionRangeForVPC): (JSC::CodeBlock::shrinkToFit):
  • bytecode/CodeBlock.h: (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::addCaller): (JSC::CodeBlock::removeCaller): (JSC::CodeBlock::isKnownNotImmediate): (JSC::CodeBlock::isConstantRegisterIndex): (JSC::CodeBlock::getConstant): (JSC::CodeBlock::isTemporaryRegisterIndex): (JSC::CodeBlock::getStubInfo): (JSC::CodeBlock::getCallLinkInfo): (JSC::CodeBlock::instructions): (JSC::CodeBlock::setJITCode): (JSC::CodeBlock::jitCode): (JSC::CodeBlock::ownerNode): (JSC::CodeBlock::setGlobalData): (JSC::CodeBlock::setThisRegister): (JSC::CodeBlock::thisRegister): (JSC::CodeBlock::setNeedsFullScopeChain): (JSC::CodeBlock::needsFullScopeChain): (JSC::CodeBlock::setUsesEval): (JSC::CodeBlock::usesEval): (JSC::CodeBlock::setUsesArguments): (JSC::CodeBlock::usesArguments): (JSC::CodeBlock::codeType): (JSC::CodeBlock::source): (JSC::CodeBlock::sourceOffset): (JSC::CodeBlock::addGlobalResolveInstruction): (JSC::CodeBlock::numberOfPropertyAccessInstructions): (JSC::CodeBlock::addPropertyAccessInstruction): (JSC::CodeBlock::propertyAccessInstruction): (JSC::CodeBlock::numberOfCallLinkInfos): (JSC::CodeBlock::addCallLinkInfo): (JSC::CodeBlock::callLinkInfo): (JSC::CodeBlock::numberOfJumpTargets): (JSC::CodeBlock::addJumpTarget): (JSC::CodeBlock::jumpTarget): (JSC::CodeBlock::lastJumpTarget): (JSC::CodeBlock::numberOfExceptionHandlers): (JSC::CodeBlock::addExceptionHandler): (JSC::CodeBlock::exceptionHandler): (JSC::CodeBlock::addExpressionInfo): (JSC::CodeBlock::numberOfLineInfos): (JSC::CodeBlock::addLineInfo): (JSC::CodeBlock::lastLineInfo): (JSC::CodeBlock::jitReturnAddressVPCMap): (JSC::CodeBlock::numberOfIdentifiers): (JSC::CodeBlock::addIdentifier): (JSC::CodeBlock::identifier): (JSC::CodeBlock::numberOfConstantRegisters): (JSC::CodeBlock::addConstantRegister): (JSC::CodeBlock::constantRegister): (JSC::CodeBlock::addFunction): (JSC::CodeBlock::function): (JSC::CodeBlock::addFunctionExpression): (JSC::CodeBlock::functionExpression): (JSC::CodeBlock::addUnexpectedConstant): (JSC::CodeBlock::unexpectedConstant): (JSC::CodeBlock::addRegExp): (JSC::CodeBlock::regexp): (JSC::CodeBlock::symbolTable): (JSC::CodeBlock::evalCodeCache): New inline setters/getters.

(JSC::ProgramCodeBlock::ProgramCodeBlock):
(JSC::ProgramCodeBlock::~ProgramCodeBlock):
(JSC::ProgramCodeBlock::clearGlobalObject):

  • bytecode/SamplingTool.cpp: (JSC::ScopeSampleRecord::sample): (JSC::SamplingTool::dump):
  • bytecompiler/BytecodeGenerator.cpp:
  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/Label.h:
  • interpreter/CallFrame.cpp:
  • interpreter/Interpreter.cpp:
  • jit/JIT.cpp:
  • jit/JITCall.cpp:
  • jit/JITInlineMethods.h:
  • jit/JITPropertyAccess.cpp:
  • parser/Nodes.cpp:
  • runtime/Arguments.h:
  • runtime/ExceptionHelpers.cpp:
  • runtime/JSActivation.cpp:
  • runtime/JSActivation.h:
  • runtime/JSGlobalObject.cpp: Change direct access to use new getter/setters.
11:58 Changeset [39069] by simon.fraser@apple.com

2008-12-06 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

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

Fix caret rendering to behave correctly with transforms:

  • Rename caretRect() methods to localCaretRect() and absoluteCaretBounds() as appropriate
  • Fix localCaretRect() methods to return a rect in the appropriate coordinates.
  • Pass tx, ty down through the paintCaret() methods, after fixing them up to account for differences between contents coords, and renderer-local coords (via RenderBlock::offsetForContents()).
  • Remove m_caretPositionOnLayout from SelectionController, and instead call invalidateSelection() from RenderLayer::scrollToOffset(), because we can no longer assume simple x/y offsets from scrolling with transforms.
  • Move the logic to compute which RenderObject actually paints the caret into SelectionController::caretRenderer(), rather than having it in RenderBlock.
  • SelectionController now computes and caches a local caret rect. For invalidation, it computes the absolute bounds of that (possibly transformed) local rect. The local rect is computed in the coordinate system of the RenderObject that will paint the caret (this may require offsetting from the actual renderer at the start of the selection).
  • Fix LayoutState(RenderObject* root) to take transforms into account
  • Make offsetFromContainer() a virtual method on RenderObject, and implement the RenderObject version. It's used to map from selection start renderer to caret renderer.

Test: fast/transforms/transformed-caret.html

09:20 Changeset [39068] by ddkilzer@apple.com

Added reference to bugs.webkit.org bug.

09:15 Changeset [39067] by ddkilzer@apple.com

BUILD FIX for r39065: Forgot parentheses after "document".

Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives
<https://bugs.webkit.org/show_bug.cgi?id=22666>

  • svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Changed document to document().
08:04 Changeset [39066] by ap@webkit.org

2008-12-06 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=22710
Memory leak due to circular reference Document->DOMTimer->ScheduledAction->[JS objects]->Document

  • bindings/js/DOMTimer.cpp: (WebCore::DOMTimer::stop): Delete ScheduledAction, which contains a protected object.
03:54 Changeset [39065] by ddkilzer@apple.com

Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives

<https://bugs.webkit.org/show_bug.cgi?id=22666>

Reviewed by Darin Adler.

WebCore:

When creating a webarchive from WebCore::LegacyWebArchive::create(),
HashSet<String>, Vector<KURL> and Vector<String> were all used to
store a list of URLs for resources found in the document. Instead
use a single ListHashSet<KURL> to store the list and resolve the
relative URLs as they're added. We use a new inline method called
WebCore::addSubresourceURL() to add KURL objects to the ListHashSet
to prevent "null" KURL objects from crashing in the KURL hashing
function.

  • WebCore.base.exp: Changed export of WebCore::Node::getSubresourceURLs() to take a ListHashSet<KURL> argument instead of a Vector<KURL>.
  • WebCore.xcodeproj/project.pbxproj: Marked KURLHash.h as a private header for use in WebKit.
  • css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Renamed from addSubresourceURLStrings(). Changed to use ListHashSet<KURL> instead of HashSet<String>. Cleaned up code.
  • css/CSSStyleSheet.h: (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Ditto.
  • css/StyleSheet.h: (WebCore::StyleSheet::addSubresourceStyleURLs): Ditto.
  • dom/Node.cpp: (WebCore::Node::getSubresourceURLs): Changed to use ListHashSet<KURL> instead of Vector<KURL>. Cleaned up code.
  • dom/Node.h: (WebCore::Node::getSubresourceURLs): Ditto. (WebCore::Node::addSubresourceAttributeURLs): Renamed from getSubresourceAttributeStrings(). Changed to use ListHashSet<KURL> instead of Vector<String>. (WebCore::addSubresourceURL): Added. Safely adds new KURL objects to a ListHashSet<KURL> object. A "null" KURL object will cause the hash function to crash since it contains a null StringImpl. Used in Node::addSubresourceAttributeURLs() and addSubresourceStyleURLs() in the style subsystem.
  • dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::addSubresourceAttributeURLs): Renamed from getSubresourceAttributeStrings(). Changed to use ListHashSet<KURL> instead of Vector<String>. Use WebCore::addSubresourceURL() to add new KURL objects.
  • dom/ProcessingInstruction.h: Ditto.
  • html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLBodyElement.h: Ditto.
  • html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLEmbedElement.h: Ditto.
  • html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLImageElement.h: Ditto.
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLInputElement.h: Ditto.
  • html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLLinkElement.h: Ditto.
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLObjectElement.h: Ditto.
  • html/HTMLParamElement.cpp: (WebCore::HTMLParamElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLParamElement.h: Ditto.
  • html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLScriptElement.h: Ditto.
  • html/HTMLStyleElement.cpp: (WebCore::HTMLStyleElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLStyleElement.h: Ditto.
  • html/HTMLTableCellElement.cpp: (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLTableCellElement.h: Ditto.
  • html/HTMLTableElement.cpp: (WebCore::HTMLTableElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLTableElement.h: Ditto.
  • loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::create): Changed from using HashSet<String> to ListHashSet<KURL> for tracking unique subresources. Changed from using Vector<KURL> to ListHashSet<KURL> when calling WebCore::Node::getSubresourceURLs(). Cleaned up code.
  • svg/SVGCursorElement.cpp: (WebCore::SVGCursorElement::addSubresourceAttributeURLs): Renamed from getSubresourceAttributeStrings(). Changed to use ListHashSet<KURL> instead of Vector<String>. Use WebCore::addSubresourceURL() to add new KURL objects.
  • svg/SVGCursorElement.h: Ditto.
  • svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Ditto.
  • svg/SVGFEImageElement.h: Ditto.
  • svg/SVGImageElement.cpp: (WebCore::SVGImageElement::addSubresourceAttributeURLs): Ditto.
  • svg/SVGImageElement.h: Ditto.
  • svg/SVGScriptElement.cpp: (WebCore::SVGScriptElement::addSubresourceAttributeURLs): Ditto.
  • svg/SVGScriptElement.h: Ditto.

WebKit/mac:

  • DOM/WebDOMOperations.mm: (-[DOMNode _subresourceURLs]): Changed from using Vector<KURL> to ListHashSet<KURL> when calling WebCore::Node::getSubresourceURLs().
03:51 Changeset [39064] by ddkilzer@apple.com

Fixed ChangeLog date.

12/05/08:

21:00 Changeset [39063] by barraclough@apple.com

Mis-commit in ChangeLog entry

20:57 Changeset [39062] by barraclough@apple.com

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

Reviewed by Oliver Hunt.

Please don't die in a fire while trying to compile Interpreter.cpp on GCC 4.2.
Added "-fno-var-tracking" compiler flag.

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

19:25 Changeset [39061] by barraclough@apple.com

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

Reviewed by Oliver Hunt.

Ordering of branch operands in MacroAssembler in unnecessarily inconsistent.

je, jg etc take an immediate operand as the second argument, but for the
equality branches (je, jne) the immediate operand was the first argument. This
was unnecessarily inconsistent. Change je, jne methods to take the immediate
as the second argument.

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

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::je32): (JSC::MacroAssembler::jne32):
  • jit/JIT.cpp: (JSC::JIT::compileOpStrictEq):
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateEnter): (JSC::WREC::Generator::generateNonGreedyQuantifier): (JSC::WREC::Generator::generateGreedyQuantifier): (JSC::WREC::Generator::generatePatternCharacterPair): (JSC::WREC::Generator::generatePatternCharacter): (JSC::WREC::Generator::generateCharacterClassInvertedRange): (JSC::WREC::Generator::generateCharacterClassInverted): (JSC::WREC::Generator::generateAssertionBOL): (JSC::WREC::Generator::generateAssertionWordBoundary):
18:27 Changeset [39060] by brettw@chromium.org

Reviewed by Darin Adler.

Make the page group use the proper link hashing functions rather than
calling the string hash functions directly. Add Chromium-specfic ifdefs
in the visited link computation functions to allow integration.

  • page/PageGroup.cpp:

(WebCore::PageGroup::isLinkVisited):
(WebCore::PageGroup::addVisitedLink):

  • platform/LinkHash.cpp:

(WebCore::visitedLinkHash):

  • platform/LinkHash.h:
17:42 Changeset [39059] by cmarrin@apple.com

2008-12-05 Chris Marrin <cmarrin@apple.com>

Reviewed by Dave Hyatt.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22635
For iteration and end events, previous fixes to prevent the deletion of
Animation objects (ref counting and hanging onto a ref during event callbacks)
was sufficient to prevent dangling pointers. But start events are sent in
the styleAvailable() call, which iterates over CompositeAnimation objects,
which are not ref counted. So that object can get destroyed in the event
handler while still active. So I added refcounting for CompositeAnimations.

Additionally, when am iterating over the CompositingAnimation list, it can
be deleted, which mutates the list. So I now make one pass over the list
building a vector of CompositeAnimation objects that need to be called and
then iterate over that vector to make the actual calls.

Finally, to make sure the lifetime of the CompositeAnimation exceeds that of
the Animation objects it owns, I now keep a ref to the CompositeAnimation
in the timer callback for the iteration and end events. That means I no
longer need to keep a ref to the Animation objects themselves in that timer
callback, since the CompositeAnimation already has one.

Tests: animations/animation-iteration-event-destroy-renderer.html

animations/animation-start-event-destroy-renderer.html

17:36 Changeset [39058] by barraclough@apple.com

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

Reviewed by Geoff Garen.

Second tranche of porting JIT.cpp to MacroAssembler interface.

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::mul32): (JSC::MacroAssembler::jl32): (JSC::MacroAssembler::jnzSub32): (JSC::MacroAssembler::joAdd32): (JSC::MacroAssembler::joMul32): (JSC::MacroAssembler::jzSub32):
  • jit/JIT.cpp: (JSC::JIT::emitSlowScriptCheck): (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): (JSC::JIT::privateCompileCTIMachineTrampolines):
  • jit/JIT.h:
  • jit/JITInlineMethods.h: (JSC::JIT::emitJumpIfNotJSCell): (JSC::JIT::emitJumpSlowCaseIfNotJSCell):
17:07 Changeset [39057] by ddkilzer@apple.com

Added bugs.webkit.org URL to ChangeLog entry.

17:05 Changeset [39056] by ddkilzer@apple.com

<rdar://problem/6331749> Provide a mechanism to disable perfect hashing in the DOM at build time

Reviewed by Darin Adler.

Initial patch by Yosen Lin. Adapted for ToT WebKit by David Kilzer.

Added back the code that generates a "compact" hash (instead of a
perfect hash) as a build-time option using the
ENABLE(PERFECT_HASH_SIZE) macro as defined in Lookup.h.

JavaScriptCore:

  • create_hash_table: Rename variables to differentiate perfect hash values from compact hash values. Added back code to compute compact hash tables. Generate both hash table sizes and emit conditionalized code based on ENABLE(PERFECT_HASH_SIZE).
  • runtime/Lookup.cpp: (JSC::HashTable::createTable): Added version of createTable() for use with compact hash tables. (JSC::HashTable::deleteTable): Updated to work with compact hash tables.
  • runtime/Lookup.h: Defined ENABLE(PERFECT_HASH_SIZE) macro here. (JSC::HashEntry::initialize): Set m_next to zero when using compact hash tables. (JSC::HashEntry::setNext): Added for compact hash tables. (JSC::HashEntry::next): Added for compact hash tables. (JSC::HashTable::entry): Added version of entry() for use with compact hash tables.
  • runtime/Structure.cpp: (JSC::Structure::getEnumerablePropertyNames): Updated to work with compact hash tables.

WebCore:

  • bindings/scripts/CodeGeneratorJS.pm: (GenerateImplementation): Compute the number of elements that will be stored in each hash table and pass it to GenerateHashTable(). (GenerateHashTable): Added new second parameter representing the number of elements to store in the compact hash table. Added back code to compute compact hash tables. Generate both hash table sizes and emit conditionalized code based on ENABLE(PERFECT_HASH_SIZE).
16:52 Changeset [39055] by barraclough@apple.com

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

Reviewed by Geoff Garen.

Remove redundant calls to JIT::emitSlowScriptCheck.
This is checked in the hot path, so is not needed on the slow path - and the code
was being planted before the start of the slow case, so was completely unreachable!

  • jit/JIT.cpp: (JSC::JIT::privateCompileSlowCases):
16:02 Changeset [39054] by pam@chromium.org

2008-12-05 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22608
Add a test for line numbers of uncaught JS exceptions.

  • fast/js/uncaught-exception-line-number-expected.txt: Added.
  • fast/js/uncaught-exception-line-number.html: Added.
15:57 Changeset [39053] by barraclough@apple.com

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

Reviewed by Geoff Garen.

Move JIT::compileOpStrictEq to MacroAssembler interface.

The rewrite also looks like a small (<1%) performance progression.

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

  • jit/JIT.cpp: (JSC::JIT::compileOpStrictEq): (JSC::JIT::privateCompileSlowCases):
  • jit/JIT.h:
  • jit/JITInlineMethods.h: (JSC::JIT::emitJumpIfJSCell): (JSC::JIT::emitJumpSlowCaseIfJSCell):
15:56 Changeset [39052] by pam@chromium.org

2008-12-05 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22604
Add test for onload handler named 'onload'.

  • fast/events/onload-name-collision-expected.txt: Added.
  • fast/events/onload-name-collision.html: Added.
15:53 Changeset [39051] by pam@chromium.org

2008-12-05 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22601
Add test to verify that calling functions on a Java applet from JS works.

  • fast/dom/java-applet-calls-expected.txt: Added.
  • fast/dom/java-applet-calls.html: Added.
  • fast/dom/resources/TestApplet.class: Added.
  • fast/dom/resources/TestApplet.java: Added. (TestApplet): Source of test applet for use by layout test(s). (TestApplet.init): (TestApplet.setString): (TestApplet.getString):
15:48 Changeset [39050] by pam@chromium.org

2008-12-05 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22592
Make sure the onload handler is only called once, even when there are
multiple <body> nodes in the document.

  • fast/events/onload-fires-twice-expected.txt: Added.
  • fast/events/onload-fires-twice.html: Added.
15:25 Changeset [39049] by pam@chromium.org

2008-12-05 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22575
Add a test for accessing NodeList items by name.

  • fast/dom/NodeList/nodelist-item-with-name-expected.txt: Added.
  • fast/dom/NodeList/nodelist-item-with-name.html: Added.
15:22 Changeset [39048] by brettw@chromium.org

Merge branch 'ownptr' into ownptr_commit

15:19 Changeset [39047] by pam@chromium.org

2008-12-05 Pamela Greene <pam@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=22632
Add a test for DOM operations with incompatible receivers or arguments.

  • fast/dom/incompatible-operations-expected.txt: Added.
  • fast/dom/incompatible-operations.html: Added.
15:13 Changeset [39046] by brettw@chromium.org

Reviewed by Eric Seidel.

Add a missing include for OwnPtr to make CSSSelector compile without
precompiled headers.

  • css/CSSSelector.h:
14:53 Changeset [39045] by ddkilzer@apple.com

Bug 22555: Sort "children" sections in Xcode project files

<https://bugs.webkit.org/show_bug.cgi?id=22555>

Reviewed by Darin Adler.

Sort "children" sections alphabetically, moving groups (folders) to
the top of each of the lists. Files are assumed to have extensions,
so %isFile is used to override this behavior.

  • Scripts/sort-Xcode-project-file: (sortChildrenByFileName): Added. (sortFilesByFileName): Renamed from sortByFileName().
14:15 Changeset [39044] by eric@webkit.org

Reviewed by Geoff Garen.

https://bugs.webkit.org/show_bug.cgi?id=22683
Fix gtk and qt builds which depend on --qt and --gtk being removed from ARGV
Add a new argumentsForConfiguration() function and clean up some old code to use it.
Rename checkArgV to checkForArgumentAndRemoveFromARGV to be more self-documenting.

  • Scripts/run-javascriptcore-tests:
  • Scripts/run-launcher:
  • Scripts/run-webkit-tests:
  • Scripts/webkitdirs.pm:
14:14 Changeset [39043] by barraclough@apple.com

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

Reviewed by Geoff Garen.

Remove m_assembler from MacroAssembler::Jump.
Keeping a pointer allowed for some syntactic sugar - "link()" looks nicer
than "link(this)". But maintaining this doubles the size of Jump, which
is even more unfortunate for the JIT, since there are many large structures
holding JmpSrcs. Probably best to remove it.

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

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::Jump::Jump): (JSC::MacroAssembler::Jump::link): (JSC::MacroAssembler::Jump::linkTo): (JSC::MacroAssembler::JumpList::link): (JSC::MacroAssembler::JumpList::linkTo): (JSC::MacroAssembler::jae32): (JSC::MacroAssembler::je32): (JSC::MacroAssembler::je16): (JSC::MacroAssembler::jg32): (JSC::MacroAssembler::jge32): (JSC::MacroAssembler::jl32): (JSC::MacroAssembler::jle32): (JSC::MacroAssembler::jnePtr): (JSC::MacroAssembler::jne32): (JSC::MacroAssembler::jnset32): (JSC::MacroAssembler::jset32): (JSC::MacroAssembler::jump): (JSC::MacroAssembler::jzSub32): (JSC::MacroAssembler::joAdd32): (JSC::MacroAssembler::call):
  • wrec/WREC.cpp: (JSC::WREC::Generator::compileRegExp):
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateEnter): (JSC::WREC::Generator::generateBackreferenceQuantifier): (JSC::WREC::Generator::generateNonGreedyQuantifier): (JSC::WREC::Generator::generateGreedyQuantifier): (JSC::WREC::Generator::generatePatternCharacter): (JSC::WREC::Generator::generateCharacterClassInvertedRange): (JSC::WREC::Generator::generateCharacterClassInverted): (JSC::WREC::Generator::generateCharacterClass): (JSC::WREC::Generator::generateParenthesesAssertion): (JSC::WREC::Generator::generateParenthesesInvertedAssertion): (JSC::WREC::Generator::generateParenthesesNonGreedy): (JSC::WREC::Generator::generateParenthesesResetTrampoline): (JSC::WREC::Generator::generateAssertionBOL): (JSC::WREC::Generator::generateAssertionEOL): (JSC::WREC::Generator::generateAssertionWordBoundary): (JSC::WREC::Generator::generateBackreference): (JSC::WREC::Generator::terminateAlternative): (JSC::WREC::Generator::terminateDisjunction):
  • wrec/WRECParser.h:
14:10 Changeset [39042] by eric@webkit.org

2008-12-05 Finnur Thorarinsson <finnur.webkit@gmail.com>

Reviewed by Darin Adler.

Bug 22579: Providing a function to ScrollbarClient.h which allows us to get at the tickmarks
without relying on high-level WebCore types, as requested by Dave Hyatt.

No functional changes, thus no test cases.

  • page/FrameView.cpp: (WebCore::FrameView::getTickmarks):
  • page/FrameView.h:
  • platform/ScrollbarClient.h:
13:54 Changeset [39041] by justin.garcia@apple.com

2008-12-05 Justin Garcia <justin.garcia@apple.com>

Updating these test results. On Tiger the fragment created from RTFD data
contained interchange newlines that we incorrectly handled before r38983.

  • platform/mac-tiger/editing/pasteboard/paste-RTFD-expected.checksum:
  • platform/mac-tiger/editing/pasteboard/paste-RTFD-expected.png:
  • platform/mac-tiger/editing/pasteboard/paste-RTFD-expected.txt:
12:56 Changeset [39040] by ggaren@apple.com

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

Reviewed by Sam Weinig.


Added a test for a bug I discovered while working on
https://bugs.webkit.org/show_bug.cgi?id=22685.

  • fast/regex/non-capturing-backtracking-expected.txt: Added.
  • fast/regex/non-capturing-backtracking.html: Added.
  • fast/regex/resources/non-capturing-backtracking.js: Added.
12:39 Changeset [39039] by barraclough@apple.com

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

Reviewed by Geoffrey Garen.

Simplify JIT generated checks for timeout code, by moving more work into the C function.
https://bugs.webkit.org/show_bug.cgi?id=22688

  • interpreter/Interpreter.cpp: (JSC::Interpreter::cti_timeout_check):
  • interpreter/Interpreter.h:
  • jit/JIT.cpp: (JSC::JIT::emitSlowScriptCheck):
12:27 Changeset [39038] by weinig@apple.com

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

Reviewed by Geoffrey Garen.

Encapsulate access to jump tables in the CodeBlock in preparation
of moving them to a rare data structure.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dump): (JSC::CodeBlock::shrinkToFit):
  • bytecode/CodeBlock.h: (JSC::CodeBlock::numberOfImmediateSwitchJumpTables): (JSC::CodeBlock::addImmediateSwitchJumpTable): (JSC::CodeBlock::immediateSwitchJumpTable): (JSC::CodeBlock::numberOfCharacterSwitchJumpTables): (JSC::CodeBlock::addCharacterSwitchJumpTable): (JSC::CodeBlock::characterSwitchJumpTable): (JSC::CodeBlock::numberOfStringSwitchJumpTables): (JSC::CodeBlock::addStringSwitchJumpTable): (JSC::CodeBlock::stringSwitchJumpTable):
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::endSwitch):
  • interpreter/Interpreter.cpp: (JSC::Interpreter::privateExecute): (JSC::Interpreter::cti_op_switch_imm): (JSC::Interpreter::cti_op_switch_char): (JSC::Interpreter::cti_op_switch_string):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
11:00 Changeset [39037] by dino@apple.com

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

Reviewed by David Hyatt.

WebCore:
Make sure Window event listeners also tell the
Document about the event type, so noisy events
will be dispatched even if nothing in the document
is listening.
https://bugs.webkit.org/show_bug.cgi?id=20572

  • dom/Document.cpp: (WebCore::Document::addWindowEventListener):

LayoutTests:
No longer need to add a fake listener on a document
node in order to get events passed up to Window.
https://bugs.webkit.org/show_bug.cgi?id=20572

  • transitions/transition-end-event-window.html:
10:27 Changeset [39036] by kmccullough@apple.com

2008-12-05 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim Hatcher.

  • Fix intermittent profiler test failures. The problem is that idle time only shows up some times, probably dependent on if the system is running a little slow or has a network hiccup. I've removed this.
  • I've also added <rdar://problem/6422004> Profiler tests fail because they sometimes don't have (idle) time. This is to investigate whether or not idle time should be showing up at all when running these tests.
  • fast/profiler/anonymous-event-handler-expected.txt:
  • fast/profiler/anonymous-function-called-from-different-contexts-expected.txt:
  • fast/profiler/anonymous-function-calls-built-in-functions-expected.txt:
  • fast/profiler/anonymous-function-calls-eval-expected.txt:
  • fast/profiler/apply-expected.txt:
  • fast/profiler/built-in-function-calls-anonymous-expected.txt:
  • fast/profiler/built-in-function-calls-user-defined-function-expected.txt:
  • fast/profiler/call-expected.txt:
  • fast/profiler/call-nodelist-as-function-expected.txt:
  • fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope-expected.txt:
  • fast/profiler/compare-multiple-profiles-expected.txt:
  • fast/profiler/constructor-expected.txt:
  • fast/profiler/dead-time-expected.txt:
  • fast/profiler/document-dot-write-expected.txt:
  • fast/profiler/event-handler-expected.txt:
  • fast/profiler/execution-context-and-eval-on-same-line-expected.txt:
  • fast/profiler/heavy-view-expected.txt:
  • fast/profiler/inline-event-handler-expected.txt:
  • fast/profiler/many-calls-in-the-same-scope-expected.txt:
  • fast/profiler/multiple-and-different-scoped-anonymous-function-calls-expected.txt:
  • fast/profiler/multiple-and-different-scoped-function-calls-expected.txt:
  • fast/profiler/multiple-frames-expected.txt:
  • fast/profiler/nested-anonymous-functon-expected.txt:
  • fast/profiler/nested-start-and-stop-profiler-expected.txt:
  • fast/profiler/one-execution-context-expected.txt:
  • fast/profiler/profile-calls-in-included-file-expected.txt:
  • fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting-expected.txt:
  • fast/profiler/profiling-from-a-nested-location-expected.txt:
  • fast/profiler/resources/profiler-test-JS-resources.js: (printProfileNodeWithoutTime):
  • fast/profiler/simple-event-call-expected.txt:
  • fast/profiler/simple-no-level-change-expected.txt:
  • fast/profiler/start-and-stop-profiler-multiple-times-expected.txt:
  • fast/profiler/start-and-stop-profiling-in-the-same-function-expected.txt:
  • fast/profiler/stop-profiling-after-setTimeout-expected.txt:
  • fast/profiler/stop-then-function-call-expected.txt:
  • fast/profiler/throw-exception-from-eval-expected.txt:
  • fast/profiler/two-execution-contexts-expected.txt:
  • fast/profiler/user-defined-function-calls-built-in-functions-expected.txt:
  • fast/profiler/window-dot-eval-expected.txt:
10:03 Changeset [39035] by mitz@apple.com

Mac build fix.

  • WebKit.xcodeproj/project.pbxproj:
09:23 Changeset [39034] by hausmann@webkit.org

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

Rubber-stamped by Tor Arne Vestbø.

Disable the JIT for the Qt build alltogether again, after observing
more miscompilations in a wider range of newer gcc versions.

09:22 Changeset [39033] by aroben@apple.com

Windows build fix after r39026

  • platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::ResourceRequest::doUpdatePlatformRequest): (WebCore::ResourceRequest::doUpdateResourceRequest): Add some missing .get()s.
09:21 Changeset [39032] by aroben@apple.com

Windows build fix after r39020

  • jit/JITInlineMethods.h: (JSC::JIT::restoreArgumentReference): (JSC::JIT::restoreArgumentReferenceForTrampoline): Add some apparently-missing .
09:20 Changeset [39031] by mitz@apple.com

Mac build fix.

  • WebKit.xcodeproj/project.pbxproj:
08:49 Changeset [39030] by ggaren@apple.com

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

Reviewed by Darin Adler.


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


Added support for the assertion (?=) and inverted assertion (?!) atoms
in WREC.

  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateParenthesesAssertion): (JSC::WREC::Generator::generateParenthesesInvertedAssertion): Split the old (unused) generateParentheses into these two functions, with more limited capabilities.


  • wrec/WRECGenerator.h: (JSC::WREC::Generator::): Moved an enum to the top of the class definition, to match the WebKit style, and removed a defunct comment.
  • wrec/WRECParser.cpp: (JSC::WREC::Parser::parseParentheses): (JSC::WREC::Parser::consumeParenthesesType):
  • wrec/WRECParser.h: (JSC::WREC::Parser::): Added support for parsing (?=) and (?!).
08:33 Changeset [39029] by ap@webkit.org

Tiger build fix.

  • platform/network/mac/ResourceRequestMac.mm: Define NSUInteger.
07:53 Changeset [39028] by ap@webkit.org

Reviewed by Darin Adler.

<rdar://problem/6405599> Tiger Mail crashes when using "Mail Contents of This Page"
in Safari before opening a mail message in Mail

WebCore:

  • platform/mac/WebCoreObjCExtras.mm: (WebCoreObjCFinalizeOnMainThread): Don't call initializeThreading: we now expect the caller to do it, to simplify keeping Tiger and post-Tiger behavior in line.
  • bindings/objc/DOMRGBColor.mm: (+[DOMRGBColor initialize]):
  • bindings/objc/WebScriptObject.mm: (+[WebScriptObject initialize]):
  • page/mac/AccessibilityObjectWrapper.mm: (+[AccessibilityObjectWrapper initialize]):
  • platform/mac/SharedBufferMac.mm: (+[WebCoreSharedBufferData initialize]): Call JSC::initializeThreading();

WebKit:

  • Carbon/CarbonWindowAdapter.m: Removed.
  • Carbon/CarbonWindowAdapter.mm: Copied from WebKit/mac/Carbon/CarbonWindowAdapter.m. (+[CarbonWindowAdapter initialize]):
  • History/WebBackForwardList.mm: (+[WebBackForwardList initialize]):
  • History/WebHistoryItem.mm: (+[WebHistoryItem initialize]):
  • Misc/WebElementDictionary.mm: (+[WebElementDictionary initialize]):
  • Plugins/Hosted/WebHostedNetscapePluginView.mm: (+[WebHostedNetscapePluginView initialize]):
  • Plugins/WebBaseNetscapePluginView.mm:
  • Plugins/WebBasePluginPackage.m: Removed.
  • Plugins/WebBasePluginPackage.mm: Copied from WebKit/mac/Plugins/WebBasePluginPackage.m. (+[WebBasePluginPackage initialize]):
  • Plugins/WebNetscapePluginView.mm: (+[WebNetscapePluginView initialize]):
  • WebCoreSupport/WebEditorClient.mm: (+[WebEditCommand initialize]):
  • WebCoreSupport/WebFrameLoaderClient.mm:
  • WebView/WebArchive.mm: (+[WebArchivePrivate initialize]):
  • WebView/WebDataSource.mm: (+[WebDataSourcePrivate initialize]):
  • WebView/WebHTMLView.mm: (+[WebHTMLViewPrivate initialize]): (+[WebHTMLView initialize]):
  • WebView/WebResource.mm: (+[WebResourcePrivate initialize]):
  • WebView/WebView.mm: (+[WebViewPrivate initialize]): Call JSC::initializeThreading();
07:47 Changeset [39027] by darin@apple.com

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

Reviewed by Alexey Proskuryakov.

  • WebView.cpp: (findCFNetworkModule): Added. (findCopySharedURLCacheFunction): Added. (WebView::setCacheModel): Call CFURLCacheCopySharedURLCache via dynamic loading instead of compiling based on which version of CFNetwork headers are present.
06:43 Changeset [39026] by ap@webkit.org

Reviewed by Darin Adler.

<rdar://problem/4072827> Downloaded non-ASCII file name becomes garbled

  • platform/network/ResourceRequestBase.cpp: (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
  • platform/network/ResourceRequestBase.h:
  • platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction): (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction): (WebCore::setContentDispositionEncodingFallbackArray): (WebCore::copyContentDispositionEncodingFallbackArray): (WebCore::ResourceRequest::doUpdatePlatformRequest): (WebCore::ResourceRequest::doUpdateResourceRequest):
  • platform/network/mac/ResourceRequestMac.mm: (WebCore::ResourceRequest::doUpdateResourceRequest): (WebCore::ResourceRequest::doUpdatePlatformRequest): Added a way to specify encoding fallback list for Content-Disposition header.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest): Generate and pass a list of encodings to try when decoding Content-Disposition header, as described in comments.
06:23 Changeset [39025] by ap@webkit.org

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22672
ASSERT(m_table) when xhr.onabort creates another xhr or calls setTimeout

Test: http/tests/xmlhttprequest/send-on-abort.html

  • dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects): (WebCore::ScriptExecutionContext::suspendActiveDOMObjects): (WebCore::ScriptExecutionContext::resumeActiveDOMObjects): (WebCore::ScriptExecutionContext::stopActiveDOMObjects): Add a comment explaining that ActiveDOMObject methods shouldn't execute arbitrary JS.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::stop): Don't dispatch events. This reverts a recent change that made the behavior slightly closer to Firefox - but the compatibility effect should be very minor if any, and Firefox itself behaves inconsistently.
05:02 Changeset [39024] by hausmann@webkit.org

2008-12-05 Tobias König <tobias.koenig@nokia.com>

Reviewed by Simon Hausmann.

Record required package dependencies for the Qt build for a correct
pkg-config file.

04:50 Changeset [39023] by hausmann@webkit.org

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

Reviewed by Tor Arne Vestbø.

Disable the JIT for the Qt build on Linux unless gcc is >= 4.2,
due to miscompilations.

03:27 Changeset [39022] by vestbo@webkit.org

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

Rubber-stamped by Simon Hausmann.

[Qt/Mac] Blacklist QuickTime plugin until we support the QuickDraw drawing model

01:48 Changeset [39021] by ap@webkit.org

2008-12-05 Jungshik Shin <jshin@chromium.org>

Reviewed by Alexey Proskuryakov.

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

Revises charset alias map for TextCodecICU.

  • Uses windows-949 and windows-874 instead of windows-949-2000 and windows-874-2000
  • Replaces 'windows874' in a couple of place with 'windows-874' (for the canonical name)
  • Maps 'dos-874' to 'windows-874'. Currently, it's aliases to 'cp874', which is in turn mapped to 'TIS-620'. 'TIS-620' is manually aliased to 'windows-874'. We'd better directly alias 'dos-874' to 'windows-874'.
  • Replaces 'EUC-CN' with 'GBK' when it's used as the canonical name. Similar to the above case, we're getting rid of indirection that eventually leads to 'GBK' by directly going to 'GBK'.
  • Adds 'x-uhc' as an alias for 'windows-949'. It's used in some web pages.

Tests: fast/encoding/char-decoding-mac.html

fast/encoding/char-decoding.html

  • platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):

12/04/08:

22:58 Changeset [39020] by barraclough@apple.com

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

Reviewed by Geoff Garen.

Start porting the JIT to use the MacroAssembler.

https://bugs.webkit.org/show_bug.cgi?id=22671
No change in performance.

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::Jump::operator X86Assembler::JmpSrc): (JSC::MacroAssembler::add32): (JSC::MacroAssembler::and32): (JSC::MacroAssembler::lshift32): (JSC::MacroAssembler::rshift32): (JSC::MacroAssembler::storePtr): (JSC::MacroAssembler::store32): (JSC::MacroAssembler::poke): (JSC::MacroAssembler::move): (JSC::MacroAssembler::compareImm32ForBranchEquality): (JSC::MacroAssembler::jnePtr): (JSC::MacroAssembler::jnset32): (JSC::MacroAssembler::jset32): (JSC::MacroAssembler::jzeroSub32): (JSC::MacroAssembler::joverAdd32): (JSC::MacroAssembler::call):
  • assembler/X86Assembler.h: (JSC::X86Assembler::shll_i8r):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompile): (JSC::JIT::privateCompileCTIMachineTrampolines):
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: (JSC::JIT::compileBinaryArithOp):
  • jit/JITInlineMethods.h: (JSC::JIT::emitGetVirtualRegister): (JSC::JIT::emitPutCTIArg): (JSC::JIT::emitPutCTIArgConstant): (JSC::JIT::emitGetCTIArg): (JSC::JIT::emitPutCTIArgFromVirtualRegister): (JSC::JIT::emitPutCTIParam): (JSC::JIT::emitGetCTIParam): (JSC::JIT::emitPutToCallFrameHeader): (JSC::JIT::emitPutImmediateToCallFrameHeader): (JSC::JIT::emitGetFromCallFrameHeader): (JSC::JIT::emitPutVirtualRegister): (JSC::JIT::emitInitRegister): (JSC::JIT::emitNakedCall): (JSC::JIT::restoreArgumentReference): (JSC::JIT::restoreArgumentReferenceForTrampoline): (JSC::JIT::emitCTICall): (JSC::JIT::checkStructure): (JSC::JIT::emitJumpSlowCaseIfNotJSCell): (JSC::JIT::emitJumpSlowCaseIfNotImmNum): (JSC::JIT::emitJumpSlowCaseIfNotImmNums): (JSC::JIT::emitFastArithDeTagImmediate): (JSC::JIT::emitFastArithDeTagImmediateJumpIfZero): (JSC::JIT::emitFastArithReTagImmediate): (JSC::JIT::emitFastArithPotentiallyReTagImmediate): (JSC::JIT::emitFastArithImmToInt): (JSC::JIT::emitFastArithIntToImmOrSlowCase): (JSC::JIT::emitFastArithIntToImmNoCheck): (JSC::JIT::emitTagAsBoolImmediate):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::privateCompilePutByIdTransition):
20:38 Changeset [39019] by mrowe@apple.com

Versioning.

20:36 Changeset [39018] by mrowe@apple.com

Work around a GCC 4.2 bug that leads to the compiler hanging while attempting to build Interpreter.cpp.

  • Configurations/JavaScriptCore.xcconfig:
20:36 Changeset [39017] by mrowe@apple.com

Merge r38950.

20:14 Changeset [39016] by mrowe@apple.com

New tag.

20:13 Changeset [39015] by slewis@apple.com

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

Fix build.

  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCLoadURL):
19:42 Changeset [39014] by kevino@webkit.org

Reviewed by Kevin Ollivier.

Add a MIME mapping for the .htm extension to wx and GTK ports.

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

19:29 Changeset [39013] by kevino@webkit.org

Reviewed by Kevin Ollivier.

Implement basic text paste support in wx and add notImplemented stubs to catch other methods.

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

17:55 Changeset [39012] by kevino@webkit.org

wx build fix for !USE(WXGC) build config.

17:39 Changeset [39011] by kevino@webkit.org

Reviewed by Kevin Ollivier.

Turn off styled controls until we can implement them properly.

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

16:40 Changeset [39010] by ggaren@apple.com

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

Reviewed by Oliver Hunt.


Some refactoring for generateGreedyQuantifier.


SunSpider reports no change (possibly a 0.3% speedup).

  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateGreedyQuantifier): Clarified label meanings and unified some logic to simplify things.
  • wrec/WRECParser.h: (JSC::WREC::Parser::parseAlternative): Added a version of parseAlternative that can jump to a Label, instead of a JumpList, upon failure. (Eventually, when we have a true Label class, this will be redundant.) This makes things easier for generateGreedyQuantifier, because it can avoid explicitly linking things.
16:10 Changeset [39009] by andersca@apple.com

..:

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

Reviewed by Sam Weinig.

Add HostedNetscapePluginStream.


  • WebKit.xcodeproj/project.pbxproj:

../mac:

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

Reviewed by Sam Weinig.

More work on streams.


  • Plugins/Hosted/HostedNetscapePluginStream.h: Added. (WebKit::HostedNetscapePluginStream::create):
  • Plugins/Hosted/HostedNetscapePluginStream.mm: Added. (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream): (WebKit::HostedNetscapePluginStream::startStreamWithResponse): (WebKit::HostedNetscapePluginStream::startStream): (WebKit::HostedNetscapePluginStream::didReceiveData): (WebKit::HostedNetscapePluginStream::didFinishLoading): (WebKit::HostedNetscapePluginStream::didReceiveResponse):
  • Plugins/Hosted/NetscapePluginInstanceProxy.h: (WebKit::NetscapePluginInstanceProxy::pluginView): (WebKit::NetscapePluginInstanceProxy::hostProxy):
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::PluginRequest::PluginRequest): (WebKit::NetscapePluginInstanceProxy::PluginRequest::requestID): (WebKit::NetscapePluginInstanceProxy::PluginRequest::request): (WebKit::NetscapePluginInstanceProxy::PluginRequest::frameName): (WebKit::NetscapePluginInstanceProxy::PluginRequest::didStartFromUserGesture): (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): (WebKit::NetscapePluginInstanceProxy::performRequest): (WebKit::NetscapePluginInstanceProxy::evaluateJavaScript): (WebKit::NetscapePluginInstanceProxy::requestTimerFired): (WebKit::NetscapePluginInstanceProxy::loadRequest):
  • Plugins/Hosted/WebKitPluginHost.defs:
16:03 Changeset [39008] by kevino@webkit.org

Reviewed by Kevin Ollivier.

wx implementations for Path API.

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

14:39 Changeset [39007] by jchaffraix@webkit.org

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

Reviewed by Eric Seidel.

Bug 22564: Make HTML elements' constructors take a QualifiedName
https://bugs.webkit.org/show_bug.cgi?id=22564

Updated the remaining constructors.

  • bindings/js/JSImageConstructor.cpp: (WebCore::constructImage):
  • dom/Document.cpp: (WebCore::Document::getCSSCanvasElement):
  • editing/DeleteButton.cpp: (WebCore::DeleteButton::DeleteButton):
  • html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::HTMLAppletElement):
  • html/HTMLAppletElement.h:
  • html/HTMLAreaElement.cpp: (WebCore::HTMLAreaElement::HTMLAreaElement):
  • html/HTMLAreaElement.h:
  • html/HTMLBaseFontElement.cpp: (WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
  • html/HTMLBaseFontElement.h:
  • html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::HTMLCanvasElement):
  • html/HTMLCanvasElement.h:
  • html/HTMLElementFactory.cpp: (WebCore::hrConstructor): (WebCore::paragraphConstructor): (WebCore::basefontConstructor): (WebCore::fontConstructor): (WebCore::anchorConstructor): (WebCore::imageConstructor): (WebCore::mapConstructor): (WebCore::areaConstructor): (WebCore::canvasConstructor): (WebCore::appletConstructor): (WebCore::embedConstructor): (WebCore::objectConstructor): (WebCore::paramConstructor): (WebCore::scriptConstructor): (WebCore::tableConstructor): (WebCore::tableCaptionConstructor): (WebCore::tableRowConstructor):
  • html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::HTMLEmbedElement):
  • html/HTMLEmbedElement.h:
  • html/HTMLFontElement.cpp: (WebCore::HTMLFontElement::HTMLFontElement):
  • html/HTMLFontElement.h:
  • html/HTMLHRElement.cpp: (WebCore::HTMLHRElement::HTMLHRElement):
  • html/HTMLHRElement.h:
  • html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::HTMLImageElement):
  • html/HTMLImageElement.h:
  • html/HTMLMapElement.cpp: (WebCore::HTMLMapElement::HTMLMapElement):
  • html/HTMLMapElement.h:
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::HTMLObjectElement):
  • html/HTMLObjectElement.h:
  • html/HTMLParagraphElement.cpp: (WebCore::HTMLParagraphElement::HTMLParagraphElement):
  • html/HTMLParagraphElement.h:
  • html/HTMLParamElement.cpp: (WebCore::HTMLParamElement::HTMLParamElement):
  • html/HTMLParamElement.h:
  • html/HTMLParser.cpp: (WebCore::HTMLParser::handleError): (WebCore::HTMLParser::mapCreateErrorCheck): (WebCore::HTMLParser::handleIsindex):
  • html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::HTMLScriptElement):
  • html/HTMLScriptElement.h:
  • html/HTMLTableCaptionElement.cpp: (WebCore::HTMLTableCaptionElement::HTMLTableCaptionElement):
  • html/HTMLTableCaptionElement.h:
  • html/HTMLTableElement.cpp: (WebCore::HTMLTableElement::HTMLTableElement): (WebCore::HTMLTableElement::createCaption): (WebCore::HTMLTableElement::insertRow):
  • html/HTMLTableElement.h:
  • html/HTMLTableRowElement.cpp: (WebCore::HTMLTableRowElement::HTMLTableRowElement):
  • html/HTMLTableRowElement.h:
  • html/HTMLTableSectionElement.cpp: (WebCore::HTMLTableSectionElement::insertRow):
  • html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::createContainingTable): (WebCore::HTMLViewSourceDocument::addLine):
  • loader/ImageDocument.cpp: (WebCore::ImageDocumentElement::ImageDocumentElement):
14:02 Changeset [39006] by sfalken@apple.com

Implement IPropertyBag2::Read.
Fill in dwType for IPropertyBag2::GetPropertyInfo (we always use PROPBAG2_TYPE_DATA).
https://bugs.webkit.org/show_bug.cgi?id=22659


This fixes <rdar://problem/6419127> REGRESSION: Forms autocomplete is broken for "other forms"


Reviewed by Ada Chan, Alice Liu.

  • COMPropertyBag.h: (::Read): Implemented. (::GetPropertyInfo): Set dwType to PROPBAG2_TYPE_DATA.
13:08 Changeset [39005] by eric@webkit.org

No review, build fix only.

Add file missing from last commit.

  • bindings/js/ScriptState.h: Added.
13:01 Changeset [39004] by hausmann@webkit.org

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

Reviewed by Holger Freyther.

Fix crashes in the Qt build on Linux/i386 with non-executable memory
by enabling TCSystemAlloc and the PROT_EXEC flag for mmap.

12:51 Changeset [39003] by eric@webkit.org

Reviewed by Geoff Garen.

Implement ScriptState abstraction (initially, a simple typedef)
as means of carrying exception information across bindings boundaries
and in a script engine-independent way.

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMBinding.cpp: (WebCore::scriptStateFromNode):
  • bindings/js/JSDOMBinding.h:
  • bindings/js/JSNodeFilterCondition.h:
  • bindings/js/ScriptState.h: Added.
  • dom/NodeFilter.cpp: (WebCore::NodeFilter::acceptNode):
  • dom/NodeFilter.h: (WebCore::NodeFilter::acceptNode):
  • dom/NodeFilterCondition.cpp: (WebCore::NodeFilterCondition::acceptNode):
  • dom/NodeFilterCondition.h:
  • dom/NodeIterator.cpp: (WebCore::NodeIterator::nextNode): (WebCore::NodeIterator::previousNode):
  • dom/NodeIterator.h: (WebCore::NodeIterator::nextNode): (WebCore::NodeIterator::previousNode):
  • dom/Traversal.cpp: (WebCore::Traversal::acceptNode):
  • dom/Traversal.h:
  • dom/TreeWalker.cpp: (WebCore::TreeWalker::parentNode): (WebCore::TreeWalker::firstChild): (WebCore::TreeWalker::lastChild): (WebCore::TreeWalker::previousSibling): (WebCore::TreeWalker::nextSibling): (WebCore::TreeWalker::previousNode): (WebCore::TreeWalker::nextNode):
  • dom/TreeWalker.h: (WebCore::TreeWalker::parentNode): (WebCore::TreeWalker::firstChild): (WebCore::TreeWalker::lastChild): (WebCore::TreeWalker::previousSibling): (WebCore::TreeWalker::nextSibling): (WebCore::TreeWalker::previousNode): (WebCore::TreeWalker::nextNode):
12:44 Changeset [39002] by pol@apple.com

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

Reviewed by Dan Bernstein.

Fixed pauseTransitionAtTimeOnElementWithId() in DRT asserting when passed invalid property name
and potential similar issue with pauseAnimationAtTimeOnElementWithId().

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

  • page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimationPrivate::pauseAnimationAtTime): (WebCore::CompositeAnimationPrivate::pauseTransitionAtTime):
12:42 Changeset [39001] by andersca@apple.com

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

Reviewed by Sam Weinig.

Start implementing WKPCLoadURL. Currently this has copied a lot of code from WebNetscapePluginView
but once we have a more complete implementation of NPStreams we can start refactoring things so that the
implementations can share more code.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCLoadURL):
  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): (WebKit::NetscapePluginInstanceProxy::loadURL): (WebKit::NetscapePluginInstanceProxy::performRequest): (WebKit::NetscapePluginInstanceProxy::requestTimerFired): (WebKit::NetscapePluginInstanceProxy::loadRequest):
  • Plugins/Hosted/WebKitPluginClient.defs:
  • Plugins/Hosted/WebKitPluginHost.defs:
12:37 Changeset [39000] by brettw@chromium.org

Reviewed by Darin Adler.

Remove unused Completion.h include.

  • html/CanvasRenderingContext2D.cpp: Removed Completion.h include.
12:07 Changeset [38999] by hyatt@apple.com

2008-11-13 David Hyatt <hyatt@apple.com>

Fix a bug in ScrollView's refactoring. An isVisible check should have been isSelfVisible.

Reviewed by Darin Adler

  • platform/ScrollView.cpp: (WebCore::ScrollView::setParentVisible):
11:38 Changeset [38998] by andersca@apple.com

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

Reviewed by Dan Bernstein.


Move requestWithURLCString to WebBaseNetscapePluginView.


  • Plugins/WebBaseNetscapePluginView.h:
  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView requestWithURLCString:]):
  • Plugins/WebNetscapePluginView.mm:
08:38 Changeset [38997] by vestbo@webkit.org

Fix the Qt build

08:21 Changeset [38996] by hausmann@webkit.org

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

Reviewed by Tor Arne Vestbø.

Enable ENABLE_JIT_OPTIMIZE_CALL, ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS
and ENABLE_JIT_OPTIMIZE_ARITHMETIC, as suggested by Niko.

06:41 Changeset [38995] by hausmann@webkit.org

2008-12-04 Friedemann Kleint <friedemann.kleint@nokia.com>

Reviewed by Tor Arne Vestbø.

Fix small translation glitch in the Qt file chooser.

06:32 Changeset [38994] by hausmann@webkit.org

2008-12-04 Kent Hansen <khansen@trolltech.com>

Reviewed by Simon Hausmann.

Enable the JSC JIT for the Qt build by default for release builds on
linux-g++ and win32-msvc.

05:01 Changeset [38993] by vestbo@webkit.org

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

Rubber-stamped by Simon Hausmann.

Blacklist Silverlight plugin on Qt/Mac until supported

Currently the plugin crashes with a corrupted stack trace, possibly
related to https://bugs.webkit.org/show_bug.cgi?id=20635

03:10 Changeset [38992] by barraclough@apple.com

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

Reviewed by Oliver Hunt.

Allow JIT to function without property access repatching and arithmetic optimizations.
Controlled by ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS and ENABLE_JIT_OPTIMIZE_ARITHMETIC switches.

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

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases):
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: Copied from jit/JIT.cpp. (JSC::JIT::compileBinaryArithOp): (JSC::JIT::compileBinaryArithOpSlowCase):
  • jit/JITPropertyAccess.cpp: Copied from jit/JIT.cpp. (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compileGetByIdSlowCase): (JSC::JIT::compilePutByIdHotPath): (JSC::JIT::compilePutByIdSlowCase): (JSC::resizePropertyStorage): (JSC::transitionWillNeedStorageRealloc): (JSC::JIT::privateCompilePutByIdTransition): (JSC::JIT::patchGetByIdSelf): (JSC::JIT::patchPutByIdReplace): (JSC::JIT::privateCompilePatchGetArrayLength):
  • wtf/Platform.h:
02:26 Changeset [38991] by vestbo@webkit.org

Qt build fix after r38975

00:41 Changeset [38990] by ap@webkit.org

2008-12-03 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov.

Fix non-Mac build.

  • page/Chrome.cpp: (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
Note: See TracTimeline for information about the timeline view.