Timeline


and

12/13/08:

23:55 Changeset [39288] by krit@webkit.org

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

Reviewed by Oliver Hunt.

LayoutTest:

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

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

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

Reviewed by Cameron Zwarich.

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

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

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

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

Fix PPC builds.

  • assembler/MacroAssembler.h:
16:24 Changeset [39285] by barraclough@apple.com

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

Build fix only, no review.

  • bytecode/CodeBlock.h:
15:58 Changeset [39284] by barraclough@apple.com

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

Reviewed by Cameron Zwarich.

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

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

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

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

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

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

WebCore:

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

Reviewed by Dan Bernstein.

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

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

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

This patch fixes both and the test checks both.

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

LayoutTests:

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

Reviewed by Dan Bernstein.

  • fast/forms/textarea-selection-preservation-expected.txt: Added.
  • fast/forms/textarea-selection-preservation.html: Added.
14:58 Changeset [39280] by darin@apple.com

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

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

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

Reviewed by Anders Carlsson.

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

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

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

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

13:45 Changeset [39277] by zecke@webkit.org

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

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

12:45 Changeset [39276] by krit@webkit.org

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

Reviewed by Darin Adler.

WebCore:

Fixes behavior of gradients on empty path in canvas/Cg

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

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

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

LayoutTest:

Checks behavior of gradients on an empty path in canvas.

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

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

Reviewed by Holger Freyther.

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

Check for GTK version >= 2.14.0 before using gtk_test_init.

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

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

Reviewed by Darin Adler.

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

Implement animation and transition pausing as needed by DumpRenderTree.

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

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

Reviewed by Darin Adler.

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

Implement animation and transition pausing.

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

Reviewed by Kevin Ollivier.

Expose findString in wxWebView as FindString.

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

09:38 Changeset [39272] by kevino@webkit.org

wx build fix.

12/12/08:

22:58 Changeset [39271] by cwzwarich@webkit.org

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

Reviewed by Sam Weinig.

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

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

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

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

WebCore:

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

Reviewed by Oliver Hunt.

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

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

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

WebKit/win:

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

Reviewed by Oliver Hunt.

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

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

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

Update Windows cache sizes to match recent Mac change.


Reviewed by Stephanie Lewis, Sam Weinig.

  • WebView.cpp: (WebView::setCacheModel):
21:25 Changeset [39268] by barraclough@apple.com

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

Reviewed by Camron Zwarich.

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

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

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

Fix windows builds.

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

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

Reviewed by Geoff Garen.

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

No impact on performance.

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

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

Reviewed by Cameron Zwarich.

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

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

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

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

Reviewed by Darin Adler.

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

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

WebCore:

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

LayoutTests:

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

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

Reviewed by Oliver Hunt.

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

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

JavaScriptCore:

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

LayoutTests:

  • fast/js/ignored-result-null-comparison-crash-expected.txt: Added.
  • fast/js/ignored-result-null-comparison-crash.html: Added.
  • fast/js/resources/ignored-result-null-comparison-crash.js: Added.
17:41 Changeset [39262] by darin@apple.com

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

Rubber stamped by Adam Roben.

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

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

Reviewed by Geoff Garen.

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

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

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

Reviewed by Eric Seidel.

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

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

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

  • svg/SVGFont.cpp: (WebCore::Font::drawTextUsingSVGFont):
16:25 Changeset [39259] by slewis@apple.com

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

Reviewed by Geoff Garen.

Shrink Cache Sizes.

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

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

Rubber Stamped by Steve Falkenburg.

Build fix.

  • platform/KURL.h:
16:01 Changeset [39257] by andersca@apple.com

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

Reviewed by Tim Hatcher.

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


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

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

Reviewed by Darin Adler.

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


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

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

Reviewed by Sam Weinig.

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

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

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

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

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

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

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

Reviewed by Darin Adler.

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

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

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

13:31 Changeset [39252] by weinig@apple.com

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

Reviewed by Geoffrey Garen.

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

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

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

Rubber-stamped by Holger Freyther.

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

12:35 Changeset [39250] by ggaren@apple.com

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

Reviewed by Cameron Zwarich.


Tiny bit of refactoring in quantifier generation.

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

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

Revert some accidentally committed changes.


  • NetscapeCocoaPlugin/NetscapeCocoaPlugin.xcodeproj/project.pbxproj:
  • NetscapeCocoaPlugin/main.m: (handleDraw): (handleMouseEvent): (NPP_HandleEvent):
12:29 Changeset [39248] by andersca@apple.com

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

Reviewed by Kevin Decker.

Add a sample Core Animation NPAPI plug-in.


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

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


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


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


Reviewed by Oliver Hunt.

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

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

Reviewed and tweaked by Darin Adler.

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

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

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

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

Reviewed by Adam Roben.

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

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

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

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

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

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

Reviewed by Alexey Proskuryakov.

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

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

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

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

08:08 Changeset [39241] by zecke@webkit.org

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

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

06:11 Changeset [39240] by oliver@apple.com

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

Reviewed by Alexey Proskuryakov.

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

05:49 Changeset [39239] by hausmann@webkit.org

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

Reviewed by Tor Arne Vestbø.

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

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

05:18 Changeset [39238] by vestbo@webkit.org

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

Rubber-stamped by Oliver Hunt.

Share PluginView::paintMissingPluginIcon() between ports

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

05:16 Changeset [39237] by vestbo@webkit.org

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

Reviewed by Simon Hausmann.

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

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

05:15 Changeset [39236] by vestbo@webkit.org

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

Rubber-stamped by Oliver Hunt.

Make PluginView::updatePluginWidget() non-const

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

05:09 Changeset [39235] by vestbo@webkit.org

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

Rubber-stamped by Oliver Hunt.

Remove mutables from EmbeddedWidget

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

03:35 Changeset [39234] by hausmann@webkit.org

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

Reviewed by Simon Hausmann.

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

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

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

Reviewed by Simon Hausmann.

Implement ImageSource::filenameExtension() for the Qt port

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

01:42 Changeset [39232] by hausmann@webkit.org

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

Reviewed by Simon Hausmann.

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

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

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

00:22 Changeset [39231] by vestbo@webkit.org

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

Reviewed by Tor Arne Vestbø.

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

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

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

Fix typo

00:02 Changeset [39229] by weinig@apple.com

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

Reviewed by Geoffrey Garen.

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

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

12/11/08:

23:51 Changeset [39228] by slewis@apple.com

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

Reviewed by Geoff Garen

Account for the size of the response and request headers as well as other overhead
when calculating the size a resource takes up in the cache. Halts unbounded
growth in the cache. Reduced stress test memory high water marks by > 50%.

Uses estimates gathered from the stress test to set the overhead size.
A version of the patch was created that calculated most of the sizes, but it was
decided that the patch was still at a basic level an estimate. What gains it made
in accuracy was offset by the complexity involved in creating and updating the
estimate.

  • loader/Cache.cpp: (WebCore::Cache::resourceAccessed): (WebCore::Cache::TypeStatistic::addResource): (WebCore::Cache::dumpLRULists):
  • loader/CachedResource.cpp: (WebCore::CachedResource::overheadSize):
  • loader/CachedResource.h: (WebCore::CachedResource::size):
23:28 Changeset [39227] by cwzwarich@webkit.org

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

Rubber-stamped by Mark Rowe.

Roll out r39212 due to assertion failures during layout tests, multiple
layout test failures, memory leaks, and obvious incorrectness.

WebKit/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm: (-[WebPreferences fullDocumentTeardownEnabled]):
  • WebView/WebPreferencesPrivate.h:

WebKit/win:

  • Interfaces/IWebPreferencesPrivate.idl:
  • WebPreferenceKeysPrivate.h:
  • WebPreferences.cpp:
  • WebPreferences.h:

WebKitTools:

  • DumpRenderTree/LayoutTestController.cpp: (LayoutTestController::staticFunctions):
  • DumpRenderTree/LayoutTestController.h:
  • DumpRenderTree/mac/DumpRenderTree.mm: (resetWebViewToConsistentStateBeforeTesting):
  • DumpRenderTree/mac/LayoutTestControllerMac.mm:
  • DumpRenderTree/win/DumpRenderTree.cpp: (resetWebViewToConsistentStateBeforeTesting):
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::pauseTransitionAtTimeOnElementWithId):

LayoutTests:

  • security/override-preferences-2-expected.txt: Removed.
  • security/override-preferences-2.html: Removed.
  • security/override-preferences-expected.txt: Removed.
  • security/override-preferences.html: Removed.
  • security/override-zzz-reset-expected.txt: Removed.
  • security/override-zzz-reset.html: Removed.
20:20 Changeset [39226] by barraclough@apple.com

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

Reviewed by Oliver Hunt.

Remove CTI_ARGUMENTS mode, use va_start implementation on Windows,
unifying JIT callback (cti_*) argument access on OS X & Windows

No performance impact.

  • interpreter/Interpreter.h:
  • jit/JIT.cpp: (JSC::JIT::privateCompileCTIMachineTrampolines):
  • jit/JIT.h:
  • jit/JITInlineMethods.h: (JSC::JIT::emitCTICall):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::privateCompilePutByIdTransition):
  • wtf/Platform.h:
18:02 Changeset [39225] by zimmermann@webkit.org

Reviewed by Holger Freyther.

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

Add <wml> image element support. Based on HTML/SVGImage{Element/Loader}, with
the only difference that WML defines a second source attribute 'localsrc', that
takes precedence over the 'src' attribute. If loading the 'localsrc' attribute
fails, the user agent should try loading the 'src' attribute. If both fail the
'alt' fallback content will be used - just like in HTML.

Fixes: fast/wml/img-localsrc.wml (<img> and 'localsrc' attribute)

fast/wml/img-src-localsrc-alt.wml ('localsrc'/'src' fallback handling)
fast/wml/img-src.wml (<img> and 'src' attribute)

17:15 Changeset [39224] by slewis@apple.com

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

Fix build.

  • WebView/WebView.mm:
17:01 Changeset [39223] by zecke@webkit.org

Make webkit_web_view_set_window_features internal

Calling this method will not result in a notify::window-features
signal being emitted. This would allow replacing a
WebKitWebWindowFeature on a WebKitWebView without anyone noticing
and the client code would monitor the wrong object.

16:37 Changeset [39222] by zecke@webkit.org

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

Reviewed by Darin Adler.

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

Put libtool macro files in subdir that it wants.

  • GNUmakefile.am:
  • configure.ac:
16:37 Changeset [39221] by zecke@webkit.org

2008-12-11 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Darin Adler.

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

Do not run into the WebCore::DocumentLoader::updateLoading
ASSERT on Gtk+/CURL when trying to load tests from our LayoutTests.

Do not call setPrimaryLoadComplete when the
activeDocumentLoader has already been replaced. This can happen
when a script executed from within FramerLoader::didFinishLoading will
navigate to another URL.

The assertion is caused by existing tests (e.g.
fast/history/clicked-link-is-visited.html) reproducing this with
network backends not equal to curl is tough or maybe not
even possible.

  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::setPrimaryLoadComplete):
16:20 Changeset [39220] by slewis@apple.com

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

Reviewed by Oliver Hunt.

Empty Web cache before quitting a debug build in order
to report accurate CachedResource leaks.

  • WebView/WebView.mm: (-[WebView _close]):
15:42 Changeset [39219] by zimmermann@webkit.org

Reviewed by Eric Seidel.

  • Remove some dead, commented-out code from WMLAElement.
  • Add missing virtual destructor for <noop>, as suggested by Alexey.
  • Refactor addHTMLAlignment in a static helper function to share with WML.
14:33 Changeset [39218] by oliver@apple.com

<rdar://problem/6302405> Crash (null-deref) when using :before pseudoselector with content CSS rule in SVG
<https://bugs.webkit.org/show_bug.cgi?id=22804>

Reviewed by Adele Peterson.

This issue was caused by css generated content resulting in non-svg flowboxes
being injected into SVG content. As SVG spec does not describe behaviour in
this case, and neither Opera nor Firefox displays such generated content, so
now we make svg text layout and rendering just ignore any such content.

Test: svg/css/crash-css-generated-content.xhtml

13:56 Changeset [39217] by cwzwarich@webkit.org

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

Reviewed by Dave Hyatt.

Bug 21256: REGRESSION (r36906): horizontally repeating image leaves ghosts when vertical scrolling
<https://bugs.webkit.org/show_bug.cgi?id=21256>
<rdar://problem/6362978>

The ScrollView refactoring in r36906 caused the ScrollView and the
platform widget to disagree about whether optimizing scrolling via
blitting is allowed. The easiest way to fix this is to make ScrollView
simply ask the platform widget whether this is safe on platforms that
are affected.

It is not possible to write a layout test for this bug because it
involves the back/forward cache.

  • platform/ScrollView.cpp: (WebCore::ScrollView::ScrollView): (WebCore::ScrollView::setCanBlitOnScroll): (WebCore::ScrollView::canBlitOnScroll): (WebCore::ScrollView::platformSetCanBlitOnScroll): (WebCore::ScrollView::platformCanBlitOnScroll):
  • platform/ScrollView.h:
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::platformSetCanBlitOnScroll): (WebCore::ScrollView::platformCanBlitOnScroll):
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::platformSetCanBlitOnScroll): (WebCore::ScrollView::platformCanBlitOnScroll):
13:27 Changeset [39216] by andersca@apple.com

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

Fix Tiger build.

  • Misc/WebNSDataExtras.h:
13:26 Changeset [39215] by andersca@apple.com

WebKit/mac:

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

Reviewed by Cameron Zwarich.

https://bugs.webkit.org/show_bug.cgi?id=22797
REGRESSION: Crash at http://news.cnet.com/8301-17939_109-10119149-2.html

Make sure to protect the stream because destroyStream can otherwise cause it to be deleted.


  • Plugins/WebBaseNetscapePluginStream.mm: (WebNetscapePluginStream::destroyStreamWithReason):

LayoutTests:

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

Reviewed by Cameron Zwarich.

https://bugs.webkit.org/show_bug.cgi?id=22797
REGRESSION: Crash at http://news.cnet.com/8301-17939_109-10119149-2.html


  • http/tests/plugins/get-url-expected.txt: Added.
  • http/tests/plugins/get-url.html: Added.
12:44 Changeset [39214] by zimmermann@webkit.org

Reviewed by Eric Seidel.
Fix typo in doctype (correct wapforum.org URL)

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

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

Reviewed by Adam Roben.

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

Correct build break due to malformed XML in Visual Studio project
following @r39205 change.

  • WebCore.vcproj/WebCore.vcproj: Correct file entry so project loads.
11:10 Changeset [39212] by eric@webkit.org

2008-12-10 Glenn Wilson <gwilson@google.com>

Reviewed by Adam Roben.

Added new methods for overriding default WebPreference values
and for resetting preferences to their defaults.
https://bugs.webkit.org/show_bug.cgi?id=20534

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm: (-[WebPreferences resetToDefaults]): new method (-[WebPreferences overridePreference:flag:]): new method
  • WebView/WebPreferencesPrivate.h: new method signatures

2008-12-10 Glenn Wilson <gwilson@google.com>

Reviewed by Adam Roben.

Added support for overriding default preferences per-test.
https://bugs.webkit.org/show_bug.cgi?id=20534
Two new methods were added: resetToDefaults and overridePreference.

  • Interfaces/IWebPreferencesPrivate.idl: new method signatures
  • WebPreferenceKeysPrivate.h: added new key for internal state
  • WebPreferences.cpp: added new methods (WebPreferences::overridePreference): new method (WebPreferences::resetToDefaults): new method
  • WebPreferences.h: new method signatures

2008-12-10 Glenn Wilson <gwilson@google.com>

Reviewed by Adam Roben.

Changed LayoutTestController and DumpRenderTree to allow for manual
overriding of default preferences at test time. Also added support for
resetting the preferences after each test.
https://bugs.webkit.org/show_bug.cgi?id=20534

  • DumpRenderTree/LayoutTestController.cpp: Added callback method for overriding preferences
  • DumpRenderTree/LayoutTestController.h: Added signature for callback
  • DumpRenderTree/win/DumpRenderTree.cpp: Added calls to reset preferences after each test if necessary
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: Added JS override function
  • DumpRenderTree/mac/DumpRenderTree.mm: Added calls to reset preferences after each test if necessary
  • DumpRenderTree/mac/LayoutTestControllerMac.mm: Added JS override function
08:24 Changeset [39211] by cmarrin@apple.com

Reviewed by Dave Hyatt.

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

This gets rid of the per-animation timers which were used when an animation
started, ended and looped. Their job is now done by the main AnimationController's
timer. It is now set to fire as needed. For instance, if there is a delay, it will
fire after the delay time and then every 30ms to run the animation. The start, loop
and end events are generated as needed during the firing of this timer.

I had to add one more bit of code. When animation timers used to fire the animation events.
This would always happen from the RunLoop, so any style changes that happened in the
event handler would get picked up on the next updateRendering() call. But now the start
event is generated during the styleIsAvailable() call, which is in the middle of the
updateRendering() cycle. And calling an event handler in the middle of updateRendering()
is not allowed and causes style changes to get missed. We already have a mechanism in
AnimationController to defer updateRendering() calls. So I added logic to defer all
event handling to there. Now, I put any request for event handling into a list and ask
for a deferred updateRendering() call. When that deferred timer fires, I go through that
list, send all the events and then call updateRendering().

07:57 Changeset [39210] by hausmann@webkit.org

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

Reviewed by Simon Hausmann.

Allow applications to save and restore their state between loads.

07:45 Changeset [39209] by hausmann@webkit.org

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

Fix the Qt build with an empty filenameExtension() implementation.

07:03 Changeset [39208] by zecke@webkit.org

Fix crash in the cairo implementation of the SVGPaintServer

For SVGFonts the RenderObject can be zero. The existing SVGFont
test cases is exposing this bug. Qt and other ports have fixed
this issue by adding null checks as well.

06:46 Changeset [39207] by zecke@webkit.org

2008-12-11 Holger Freyther <zecke@selfish.org>

Reviewed by Simon Hausmann.

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

Make the Qt port follow the Win, Mac, Gtk+ port in regard to Font
handling. FontQt.cpp from now on is only implementing the complex path. Create
FontFallbackListQt.cpp and FontPlatformDataQt.cpp to work within
the framework set by the Font code.

Sharing the Font.cpp implementation allows the Qt port to support
the CSS font faces and SVG fonts.

Split out the Qt4.3 Font handling into FonQt43.cpp to allow to more
easily deprecate it.

This commit is removing a lot of #ifdefs from Font.h as the Qt Font
implementation is now in line with the rest of WebCore.

  • WebCore.pro:
  • platform/graphics/Font.h: Remove #ifdefs (WebCore::Font::letterSpacing): (WebCore::Font::setLetterSpacing): (WebCore::Font::isPlatformFont):
  • platform/graphics/FontFallbackList.h:
  • platform/graphics/SimpleFontData.cpp: (WebCore::SimpleFontData::SimpleFontData): (WebCore::SimpleFontData::platformGlyphInit): There is no GlyphCache on Qt, move the initialisation over. (WebCore::SimpleFontData::~SimpleFontData):
  • platform/graphics/SimpleFontData.h: (WebCore::SimpleFontData::getQtFont):
  • platform/graphics/qt/FontCacheQt.cpp: (WebCore::FontCache::getCachedFontPlatformData): Remove unused parameter (WebCore::FontCache::releaseFontData): Add to build
  • platform/graphics/qt/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::~FontCustomPlatformData): (WebCore::FontCustomPlatformData::fontPlatformData): (WebCore::createFontCustomPlatformData):
  • platform/graphics/qt/FontCustomPlatformData.h:
  • platform/graphics/qt/FontFallbackListQt.cpp: Added. (WebCore::FontFallbackList::FontFallbackList): (WebCore::FontFallbackList::invalidate): (WebCore::FontFallbackList::releaseFontData): (WebCore::FontFallbackList::determinePitch): (WebCore::FontFallbackList::fontDataAt): (WebCore::FontFallbackList::fontDataForCharacters): (WebCore::FontFallbackList::setPlatformFont):
  • platform/graphics/qt/FontPlatformData.h: (WebCore::FontPlatformData::font): (WebCore::FontPlatformData::size):
  • platform/graphics/qt/FontPlatformDataQt.cpp: Added. (WebCore::FontPlatformData::FontPlatformData):
  • platform/graphics/qt/FontQt.cpp: (WebCore::Font::drawComplexText): (WebCore::Font::floatWidthForComplexText): (WebCore::Font::offsetForPositionForComplexText): (WebCore::Font::selectionRectForComplexText): (WebCore::Font::font):
  • platform/graphics/qt/FontQt43.cpp: Added. Moved Qt4.3 code from FontQt.cpp (WebCore::Font::drawComplexText): (WebCore::Font::floatWidthForComplexText): (WebCore::Font::offsetForPositionForComplexText): (WebCore::Font::selectionRectForComplexText):
  • platform/graphics/qt/GlyphPageTreeNodeQt.cpp: (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData): (WebCore::GlyphPageTreeNode::pruneTreeFontData):
  • platform/graphics/qt/SimpleFontDataQt.cpp: (WebCore::SimpleFontData::determinePitch): (WebCore::SimpleFontData::containsCharacters): (WebCore::SimpleFontData::platformInit): (WebCore::SimpleFontData::platformGlyphInit): (WebCore::SimpleFontData::platformDestroy):
  • platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::adjustButtonStyle): Avoid crashes.
06:14 Changeset [39206] by zecke@webkit.org

WebCorv
2008-12-11 Holger Freyther <zecke@selfish.org>

Reviewed by Simon Hausmann.

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

For Qt it is not pratical to have a FontCache and GlyphPageTreeNode
implementation. This is one of the reasons why the Qt port is currently not
using WebCore/platform/graphics/Font.cpp. By allowing to not use
the simple/fast-path the Qt port will be able to use it.

Introduce USE(FONT_FAST_PATH) and define it for every port but the
Qt one.

  • platform/graphics/Font.cpp: (WebCore::Font::drawText): (WebCore::Font::floatWidth): (WebCore::Font::selectionRectForText): (WebCore::Font::offsetForPosition):
  • platform/graphics/Font.h:

JavaScriptCore
2008-12-11 Holger Freyther <zecke@selfish.org>

Reviewed by Simon Hausmann.

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

For Qt it is not pratical to have a FontCache and GlyphPageTreeNode
implementation. This is one of the reasons why the Qt port is currently not
using WebCore/platform/graphics/Font.cpp. By allowing to not use
the simple/fast-path the Qt port will be able to use it.

Introduce USE(FONT_FAST_PATH) and define it for every port but the
Qt one.

  • wtf/Platform.h: Enable USE(FONT_FAST_PATH)
03:18 Changeset [39205] by zecke@webkit.org

2008-12-11 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Darin Adler.

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

Split out the font fast path from Fast.cpp into FontFastPath.cpp. This
will allow the Qt port to share most of WebCore::Font
implementation but the fast path. Qt does not provide the API to get
individual Glyphs making the fast path hard to support.

  • GNUmakefile.am:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • platform/graphics/Font.cpp:
  • platform/graphics/FontFastPath.cpp: Added. (WebCore::Font::glyphDataForCharacter):
03:15 Changeset [39204] by zecke@webkit.org

2008-12-04 Gabor Loki <loki@inf.u-szeged.hu>

Reviewed by Darin Adler and landed by Holger Freyther.

<https://bugs.webkit.org/show_bug.cgi?id=22648>
Fix threading on Qt-port and Gtk-port for Sampling tool.

  • wtf/ThreadingGtk.cpp: (WTF::waitForThreadCompletion):
  • wtf/ThreadingQt.cpp: (WTF::waitForThreadCompletion):
02:22 Changeset [39203] by zecke@webkit.org

2008-12-11 Robert Carr <racarr@svn.gnome.org>

Reviewed by Holger Freyther.

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

Code in PlatformScreenGtk for screenDepth and screenRect can not
assume that the platformWindow for the widget has a valid "window"
member. For example in the case of, a new browser view opening as a
child of a GtkNotebook, but never being switched to, or manually
realized. Solve by using the toplevel window of the widget, rather
than the widget itself.

  • platform/gtk/PlatformScreenGtk.cpp: (WebCore::screenDepth): (WebCore::screenRect):
02:20 Changeset [39202] by vestbo@webkit.org

2008-12-08 Dean McNamee <deanm@chromium.org>

Reviewed by Darin Adler.

Always append a trailing slash when using PHP's sys_get_temp_dir().

This allows these tests to run on Linux, where this API returns the
directory without a trailing slash.

  • http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache-invalidation.php:
  • http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache-timeout.php:
  • http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache.php:
  • http/tests/xmlhttprequest/resources/portabilityLayer.php:
  • http/tests/xmlhttprequest/resources/reset-temp-file.php:
02:09 Changeset [39201] by vestbo@webkit.org

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

Reviewed by Darin Adler and Holger Freyther.

Make Widget::frameRectsChanged() and overrides non-const

This will hopefully allow us to get rid of some of the mutables in
the classes that react to the callback by changing their own state.

02:03 Changeset [39200] by zecke@webkit.org

Reimplement RenderTheme::caretBlinkInterval for Qt.

The QApplication::cursorFlashTime is in milliseconds and describes
the whole cycle while WebCore expects half a cycle.

00:27 Changeset [39199] by vestbo@webkit.org

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

Reviewed by Tor Arne Vestbø.

[Qt/Mac] Don't call HIGetScaleFactor() if we're not on Tiger or better

12/10/08:

22:27 Changeset [39198] by cwzwarich@webkit.org

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

Reviewed by Oliver Hunt.

Bug 22734: Debugger crashes when stepping into a function call in a return statement
<https://bugs.webkit.org/show_bug.cgi?id=22734>
<rdar://problem/6426796>

  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::BytecodeGenerator): The DebuggerCallFrame uses the 'this' value stored in a callFrame, so op_convert_this should be emitted at the beginning of a function body when generating bytecode with debug hooks.
  • debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::thisObject): The assertion inherent in the call to asObject() here is valid, because any 'this' value should have been converted to a JSObject*.
20:35 Changeset [39197] by barraclough@apple.com

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

Reviewed by Geoff Garen.

Port more of the JIT to use the MacroAssembler interface.


Everything in the main pass, bar a few corner cases (operations with required
registers, or calling convention code). Slightly refactors array creation,
moving the offset calculation into the callFrame into C code (reducing code
planted).

Overall this appears to be a 1% win on v8-tests, due to the smaller immediates
being planted (in jfalse in particular).

  • interpreter/Interpreter.cpp: (JSC::Interpreter::cti_op_new_array):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases):
  • jit/JIT.h:
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateEnter):
18:42 Changeset [39196] by zimmermann@webkit.org

Rubber-stamped by George Staikos.
Update WML pixel test results, after adding <template> support.

18:41 Changeset [39195] by andersca@apple.com

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

Reviewed by Darin Adler.

Implement support for NPN_PostURL/NPN_PostURLNotify in WebKit.


  • Plugins/Hosted/NetscapePluginInstanceProxy.h: Add stopAllStreams.


  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::stopAllStreams): Factored out this from ::destroy.


(WebKit::NetscapePluginInstanceProxy::destroy):
Call stopAllStreams().


(WebKit::NetscapePluginInstanceProxy::pluginHostDied):
Ditto.


(WebKit::NetscapePluginInstanceProxy::loadURL):
Handle post being true. This code has been copied from WebNetscapePluginView.mm (for now).

18:34 Changeset [39194] by zimmermann@webkit.org

Reviewed by Eric Seidel and George Staikos.

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

Add WML <template> support. The <template> element is specified at deck-level
and declares a template for all <card> elements in the document.

18:14 Changeset [39193] by oliver@apple.com

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

Reviewed by Darin Adler.

Fix memory leak - need to call stopActiveDOMObjects
when cached pages get destroyed.
https://bugs.webkit.org/show_bug.cgi?id=22753

  • dom/Document.cpp: (WebCore::Document::detach):
17:55 Changeset [39192] by simon.fraser@apple.com

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

Reviewed by Antti Koivisto

<rdar://problem/6431224>

When updating the value of a slider, don't mark the parents
as needing layout, because the size of the slider can never
change. This fixes full-page repaints in some cases.

  • rendering/RenderSlider.cpp: (WebCore::RenderSlider::updateFromElement):
17:51 Changeset [39191] by beidson@apple.com

WebKitTools:
2008-12-10 Brady Eidson <beidson@apple.com>

Reviewed by Darin


Implement the new policy delegate (including navigation type and permissive mode) for DRT/win

  • DumpRenderTree/win/DumpRenderTree.cpp:
  • DumpRenderTree/win/DumpRenderTreeWin.h:


  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::setCustomPolicyDelegate):


  • DumpRenderTree/win/PolicyDelegate.cpp: (PolicyDelegate::PolicyDelegate): (PolicyDelegate::decidePolicyForNavigationAction):
  • DumpRenderTree/win/PolicyDelegate.h: (PolicyDelegate::setPermissive):

LayoutTests:
2008-12-10 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Most of these policy delegate related tests will now pass with accompanying DRT changes.


  • platform/win/Skipped:
17:49 Changeset [39190] by pol@apple.com

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

Reviewed by Darin Adler.

Replaced outdated reference image for svg/webarchive/svg-cursor-subresources.svg

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

  • platform/mac/svg/webarchive/svg-cursor-subresources-expected.checksum:
  • platform/mac/svg/webarchive/svg-cursor-subresources-expected.png:
17:25 Changeset [39189] by andersca@apple.com

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

Reviewed by Darin Adler.

Move two NSData category methods to WebNSDataExtras.m.


  • Misc/WebNSDataExtras.h:
  • Misc/WebNSDataExtras.m: (-[NSData _web_startsWithBlankLine]): (-[NSData _web_locationAfterFirstBlankLine]):
  • Plugins/WebNetscapePluginView.mm:
17:01 Changeset [39188] by ddkilzer@apple.com

Updated Radar bug reference.

16:48 Changeset [39187] by pol@apple.com

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

Reviewed by Darin Adler.

Rewrote animations/animation-test-helpers.js to take advantage of the pauseAnimationAtTimeOnElementWithId()
API when available in DRT.

Updated all animations tests that check for values of animated CSS properties to use these new helper functions.

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

  • animations/animation-test-helpers.js: (isCloseEnough): (checkExpectedValue): (endTest): (startTest): (runAnimationTest):
  • animations/big-rotation-expected.txt:
  • animations/big-rotation.html:
  • animations/change-keyframes-expected.txt:
  • animations/change-keyframes-name-expected.txt:
  • animations/change-keyframes-name.html:
  • animations/change-keyframes.html:
  • animations/change-one-anim-expected.txt:
  • animations/change-one-anim.html:
  • animations/generic-from-to-expected.txt:
  • animations/generic-from-to.html:
  • animations/import-expected.txt:
  • animations/import.html:
  • animations/keyframe-timing-functions-expected.txt:
  • animations/keyframe-timing-functions.html:
  • animations/keyframes-comma-separated-expected.txt:
  • animations/keyframes-comma-separated.html:
  • animations/keyframes-expected.txt:
  • animations/keyframes-from-missing.html:
  • animations/keyframes-out-of-order-expected.txt:
  • animations/keyframes-out-of-order.html:
  • animations/keyframes-to-missing.html:
  • animations/keyframes.html:
  • animations/lineheight-animation-expected.txt:
  • animations/lineheight-animation.html:
  • animations/matrix-anim-expected.txt:
  • animations/matrix-anim.html:
  • animations/multiple-animations-expected.txt:
  • animations/multiple-animations.html:
  • animations/multiple-keyframes-expected.txt:
  • animations/multiple-keyframes.html:
  • animations/transition-and-animation-1-expected.txt:
  • animations/transition-and-animation-1.html:
  • animations/transition-and-animation-2-expected.txt:
  • animations/transition-and-animation-2.html:
  • animations/width-using-ems-expected.txt:
  • animations/width-using-ems.html:
  • platform/win/Skipped:
16:00 Changeset [39186] by alice.liu@apple.com

WebCore:

2008-12-10 Alice Liu <alice.liu@apple.com>

Manual test for https://bugs.webkit.org/show_bug.cgi?id=20685

Reviewed by Darin Adler.

  • manual-tests/drag-image-to-desktop.html: Added.

LayoutTests:

2008-12-10 Alice Liu <alice.liu@apple.com>

Adding tweak to .conf files needed for
WebCore/manual-tests/drag-image-to-desktop.html

Reviewed by Darin Adler.

  • http/conf/apache2-debian-httpd.conf:
  • http/conf/apache2-httpd.conf:
  • http/conf/cygwin-httpd.conf:
  • http/conf/httpd.conf:
  • http/tests/misc/resources/generatedimage.bat: Added.
15:57 Changeset [39185] by alice.liu@apple.com

WebCore:

2008-12-10 Alice Liu <alice.liu@apple.com>

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

Reviewed by Darin Adler.

Manual test case is manual-tests/drag-image-to-desktop.html

Added new files to projects

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • page/DragController.cpp: (WebCore::DragController::startDrag):
  • platform/MIMETypeRegistry.cpp: (WebCore::initializeSupportedImageMIMETypes): (WebCore::initializeSupportedImageMIMETypesForEncoding):

These changes add a method to obtain the extension for an image

  • platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::filenameExtension):
  • platform/graphics/BitmapImage.h:
  • platform/graphics/Image.h: (WebCore::Image::filenameExtension):
  • platform/graphics/ImageSource.h:
  • platform/graphics/cairo/ImageSourceCairo.cpp: (WebCore::ImageSource::filenameExtension):
  • platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::filenameExtension):

These changes added a utility that returns the preferred extension for a UTI

  • platform/graphics/cg/ImageSourceCG.h: Added.
  • platform/graphics/cg/ImageSourceCGMac.mm: Added. (WebCore::MIMETypeForImageSourceType): (WebCore::preferredExtensionForImageSourceType):
  • platform/graphics/cg/ImageSourceCGWin.cpp: Added. (WebCore::MIMETypeForImageSourceType): (WebCore::preferredExtensionForImageSourceType):
  • platform/mac/MIMETypeRegistryMac.mm: moved getMIMETypeForUTI to ImageSourceCGMac.mm

Ask image for its file extension instead of relying on MIME type and file path

  • platform/win/ClipboardWin.cpp: (WebCore::createGlobalImageFileDescriptor):

Remove extraneous code from getPreferredExtensionForMIMEType.
Also moved getMIMETypeForUTI to ImageSourceCGWin.cpp

  • platform/win/MIMETypeRegistryWin.cpp: (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):

WebKit/mac:

2008-12-10 Alice Liu <alice.liu@apple.com>

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

Reviewed by Darin Adler.

  • Misc/WebNSPasteboardExtras.mm: Ask image for its file extension instead of falling back on MIME type and file path. Also moved this code to before setting the pasteboard data so as not to set any if no extension can be determined. (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
  • WebView/WebHTMLView.mm: Fixed a separate but related long-standing bug of how the filename for the promised drag data is determined by asking the image for a proper file extension. (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
13:33 Changeset [39184] by weinig@apple.com

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

Fix non-JIT builds.

  • bytecode/CodeBlock.h:
12:57 Changeset [39183] by simon.fraser@apple.com

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

Potential build fix. The forward declaration of FloatPoint should
be inside the WebCore namespace.

  • platform/graphics/FloatPoint3D.h:
12:05 Changeset [39182] by weinig@apple.com

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

Reviewed by Geoffrey Garen.

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

Step 2:

Convert the return address table from a HashMap to a sorted Vector. This
reduces the size of the data structure by ~4.5MB on Membuster head.

SunSpider reports a 0.5% progression.

  • bytecode/CodeBlock.cpp: (JSC::sizeInBytes): Generic method to get the cost of a Vector. (JSC::CodeBlock::dumpStatistics): Add dumping of member sizes.
  • bytecode/CodeBlock.h: (JSC::PC::PC): Struct representing NativePC -> VirtualPC mappings. (JSC::getNativePC): Helper for binary chop. (JSC::CodeBlock::getBytecodeIndex): Used to get the VirtualPC from a NativePC using a binary chop of the pcVector. (JSC::CodeBlock::pcVector): Accessor.
  • interpreter/Interpreter.cpp: (JSC::vPCForPC): Use getBytecodeIndex instead of jitReturnAddressVPCMap().get(). (JSC::Interpreter::cti_op_instanceof): Ditto. (JSC::Interpreter::cti_op_resolve): Ditto. (JSC::Interpreter::cti_op_resolve_func): Ditto. (JSC::Interpreter::cti_op_resolve_skip): Ditto. (JSC::Interpreter::cti_op_resolve_with_base): Ditto. (JSC::Interpreter::cti_op_throw): Ditto. (JSC::Interpreter::cti_op_in): Ditto. (JSC::Interpreter::cti_vm_throw): Ditto.
  • jit/JIT.cpp: (JSC::JIT::privateCompile): Reserve exact capacity and fill the pcVector.
12:03 Changeset [39181] by simon.fraser@apple.com

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

Reviewed by Sam Weinig

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

Cleanup FloatPoint3D: inline the getters and setters,
fix a potential divide-by-zero in normalize(), and add
a FloatPoint constructor.

11:18 Changeset [39180] by jchaffraix@webkit.org

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

Reviewed by Eric Seidel.

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

  • Removed setCreatedByParser from style and link elements.
  • Removed XMLTokenizer::eventuallyMarkAsCreatedByParser.
  • dom/XMLTokenizer.cpp:
  • dom/XMLTokenizer.h:
  • dom/XMLTokenizerLibxml2.cpp: (WebCore::XMLTokenizer::startElementNs):
  • dom/XMLTokenizerQt.cpp: (WebCore::XMLTokenizer::parseStartElement):
  • html/HTMLElementFactory.cpp: (WebCore::linkConstructor): (WebCore::styleConstructor):
  • html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::HTMLLinkElement):
  • html/HTMLLinkElement.h:
  • html/HTMLStyleElement.cpp: (WebCore::HTMLStyleElement::HTMLStyleElement):
  • html/HTMLStyleElement.h:
  • html/HTMLTagNames.in:
  • svg/SVGStyleElement.cpp: (WebCore::SVGStyleElement::SVGStyleElement):
  • svg/SVGStyleElement.h:
  • svg/svgtags.in:
10:58 Changeset [39179] by ggaren@apple.com

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

Reviewed by Sam :( Weinig.


Added a test for http://trac.webkit.org/changeset/39162.

  • fast/regex/malformed-escapes-expected.txt: Added.
  • fast/regex/malformed-escapes.html: Added.
  • fast/regex/resources/malformed-escapes.js: Added.
10:37 Changeset [39178] by beidson@apple.com

WebCore:

2008-12-10 Brady Eidson <beidson@apple.com>

Reviewed by Darin

https://bugs.webkit.org/show_bug.cgi?id=22194 and <rdar://problem/6388378> -
Dialog when going back to a page from whence you submitted a form

http://trac.webkit.org/changeset/37317 changed the manner in which headers are added to
http requests, which caused the networking layer to have an incomplete set of headers
just before consulting the Policy Delegate. This caused a cache miss and incorrectly made
us believe we'd be resubmitting the form.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::loadItem): Being careful to maintain the new behavior required by the Origin header mechanism as discussed in bug 22194, restore the previous behavior of setting all the headers before the networking layer is asked about the cache lookup.

WebKitTools:

2008-12-10 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Change the custom policy delegate to actually allow navigation for tests that need it.
The new behavior is opt-in and doesn't require any changes in old tests.

  • DumpRenderTree/LayoutTestController.cpp: (setCustomPolicyDelegateCallback): Allow for a second boolean argument to set the permissive flag on the custom policy delegate, which will be false by default to maintain original behavior.
  • DumpRenderTree/LayoutTestController.h:
  • DumpRenderTree/mac/LayoutTestControllerMac.mm: (LayoutTestController::setCustomPolicyDelegate):
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::setCustomPolicyDelegate): Partially stubbed out for now.
  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::setCustomPolicyDelegate): Still stubbed out, but with new param.
  • DumpRenderTree/mac/PolicyDelegate.h:
  • DumpRenderTree/mac/PolicyDelegate.mm: (-[PolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): If the permissive flag is set, allow the navigation. (-[PolicyDelegate setPermissive:]): Change the behavior between "use" and "ignore" - allowing navigation or not.

LayoutTests:

2008-12-10 Brady Eidson <beidson@apple.com>

Reviewed by Darin

New layout tests for testing the fix for https://bugs.webkit.org/show_bug.cgi?id=22194:

  • http/tests/navigation/post-goback-repost-policy-expected.txt: Added.
  • http/tests/navigation/post-goback-repost-policy.html: Added.
  • http/tests/navigation/resources/goback-with-policydelegate.html: Added.
  • http/tests/navigation/resources/post-target-policy-test.html: Added.

Updated layout test results for the new "custom policy delegate" mechanism:

  • fast/encoding/mailto-always-utf-8-expected.txt:
  • fast/forms/mailto/advanced-get-expected.txt:
  • fast/forms/mailto/advanced-put-expected.txt:
  • fast/forms/mailto/get-multiple-items-expected.txt:
  • fast/forms/mailto/get-multiple-items-text-plain-expected.txt:
  • fast/forms/mailto/get-multiple-items-x-www-form-urlencoded-expected.txt:
  • fast/forms/mailto/get-non-ascii-always-utf-8-expected.txt:
  • fast/forms/mailto/get-non-ascii-expected.txt:
  • fast/forms/mailto/get-non-ascii-text-plain-expected.txt:
  • fast/forms/mailto/get-non-ascii-text-plain-latin-1-expected.txt:
  • fast/forms/mailto/get-overwrite-query-expected.txt:
  • fast/forms/mailto/post-append-query-expected.txt:
  • fast/forms/mailto/post-multiple-items-expected.txt:
  • fast/forms/mailto/post-multiple-items-multipart-form-data-expected.txt:
  • fast/forms/mailto/post-multiple-items-text-plain-expected.txt:
  • fast/forms/mailto/post-multiple-items-x-www-form-urlencoded-expected.txt:
  • fast/forms/mailto/post-text-plain-expected.txt:
  • fast/forms/mailto/post-text-plain-with-accept-charset-expected.txt:
  • http/tests/security/feed-urls-from-remote-expected.txt:

Skip the new test on Windows until the policy delegate can be enhanced there:

  • platform/win/Skipped: (It is already implicitly skipped for qt and gtk)
10:27 Changeset [39177] by darin@chromium.org

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

Reviewed by Timothy Hatcher.

Add back ability to end all profiling via console by invoking profileEnd
with no arguments.

  • page/Console.cpp: (WebCore::Console::profileEnd): Removed title null-checking and

subsequent early exit.

10:00 Changeset [39176] by pol@apple.com

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

Reviewed by Darin Adler.

KeyframeAnimation::animate() needs to compute the elapsed animation time
properly taking into account its paused state.

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

Test: animations/animation-drt-api-multiple-keyframes.html

  • page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::animate):
09:18 Changeset [39175] by simon.fraser@apple.com

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

Reviewed by Dan Bernstein

Part of
https://bugs.webkit.org/show_bug.cgi?id=22570

Rename methods on RenderLayer for clarity:

clearClipRects -> clearClipRectsIncludingDescendants
clearClipRect -> clearClipRects

09:06 Changeset [39174] by kevino@webkit.org

wx build fix after the script call stack/frame additions.

08:41 Changeset [39173] by zecke@webkit.org

2008-12-10 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Simon Hausmann.

API changes discussed with Simon Hausmann, Tor Arne
Vestbø, Ariya Hidayat...

  • Api/qwebdatabase.cpp: (QWebDatabase::fileName): (QWebDatabase::removeDatabase):
  • Api/qwebdatabase.h:
  • Api/qwebframe.cpp: (QWebFrame::scroll): (QWebFrame::scrollPosition): (QWebFrame::setScrollPosition):
  • Api/qwebframe.h:
  • Api/qwebpage.cpp: (QWebPage::setContentEditable): (QWebPage::isContentEditable): (QWebPage::extension):
  • Api/qwebpage.h:
  • Api/qwebsecurityorigin.cpp:
  • Api/qwebsettings.cpp: (QWebSettingsPrivate::apply): (QWebSettings::QWebSettings):
  • Api/qwebsettings.h:
  • QtLauncher/main.cpp: (MainWindow::setEditable):
  • WebCoreSupport/ChromeClientQt.cpp: (WebCore::ChromeClientQt::exceededDatabaseQuota): (WebCore::ChromeClientQt::runOpenPanel):
  • WebCoreSupport/EditorClientQt.cpp: (WebCore::EditorClientQt::isEditable):
  • tests/qwebpage/tst_qwebpage.cpp: (tst_QWebPage::database):
08:35 Changeset [39172] by zecke@webkit.org

2008-12-10 Srinivasa Rao M. Hamse <msrinirao@gmail.com>

Reviewed by Holger Freyther.

F1-F12 key mappings for WebKit Gtk Port

  • platform/gtk/KeyEventGtk.cpp: (WebCore::windowsKeyCodeForKeyEvent):
08:06 Changeset [39171] by hausmann@webkit.org

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

Reviewed by Simon Hausmann.

Fix the Qt build when SVG is disabled. A broken dependancy caused
unnecessary rebuilds even with no changes.

07:59 Changeset [39170] by hausmann@webkit.org

2008-12-09 Balazs Kelemen <Kelemen.Balazs.3@stud.u-szeged.hu>

Reviewed by Simon Hausmann.

Extended QtLauncher so now it can load pages from an url list
one by one. This can be useful for testing purposes (eq. leak hunting).
The -r option activates this feature.

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

04:49 Changeset [39169] by ap@webkit.org

2008-12-10 Hironori Bono <hbono@chromium.org>

Reviewed by Alexey Proskuryakov.

Bug 21820: Unable to enter the Tamil UNICODE Characters via Thamizha Phonetic IME
https://bugs.webkit.org/show_bug.cgi?id=21820

<rdar://problem/5683248> Typing backspace to delete a diacritical mark also deletes the character before (Arabic)
<rdar://problem/5702038> Backspace removes Thai Character in wrong sequence

Tests: editing/deleting/delete-ligature-001.html

editing/deleting/delete-ligature-002.html
editing/deleting/delete-ligature-003.html

  • editing/TypingCommand.cpp: (WebCore::TypingCommand::deleteKeyPressed): Delete only the last character of a ligature which consists of multiple Unicode characters when deleting it with a backspace key.
04:23 Changeset [39168] by ap@webkit.org

2008-12-10 David Levin <levin@chromium.org>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=22177
Fix the windows build by removing calls to notifyFormStateChanged
where they didn't appear in the original reviewed patch.

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::type): (WebCore::HTMLInputElement::attach):
01:10 Changeset [39167] by hausmann@webkit.org

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

Fix the Qt build, added const to Node* parameter after change
in signature.

00:15 Changeset [39166] by ap@webkit.org

Rubber-stamped by Maciej Stachowiak.

<rdar://problem/5959165> Crash in a number of iExploder tests in WebCore::CachedImage::notifyObservers

Add a test for a crash that is no longer reproducible.

  • fast/css/mask-missing-image-crash-expected.txt: Added.
  • fast/css/mask-missing-image-crash.html: Added.

12/09/08:

23:59 Changeset [39165] by ap@webkit.org

Rubber-stamped by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=19762
Crash in svg/webarchive/svg-cursor-subresources.svg

  • svg/webarchive/svg-cursor-subresources.svg: Copied from LayoutTests/svg/webarchive/svg-cursor-subresources.svg-disabled.
  • svg/webarchive/svg-cursor-subresources.svg-disabled: Removed. Re-enabling the test.
23:54 Changeset [39164] by ggaren@apple.com

JavaScriptCore:

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

Reviewed by Oliver Hunt.

Added WREC support for an assertion followed by a quantifier. Fixed
PCRE to match.

  • wrec/WRECParser.cpp: (JSC::WREC::Parser::parseParentheses): Throw away the quantifier, since it's meaningless. (Firefox does the same.)
  • pcre/pcre_compile.cpp: (compileBranch): ditto.

LayoutTests:

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

Reviewed by Oliver Hunt.

Added a test for an assertion followed by a quantifier.

  • fast/regex/quantified-assertions-expected.txt: Added.
  • fast/regex/quantified-assertions.html: Added.
  • fast/regex/resources/quantified-assertions.js: Copied from fast/regex/resources/alternative-length-miscalculation.js.
22:48 Changeset [39163] by abarth@webkit.org

2008-12-09 Adam Barth <abarth@webkit.org>

Reviewed by Sam Weinig.

Add ScriptController::updateSecurityOrigin to notify the bindings
that a document's securityOrigin has been updated. This is used by
V8 to update its security context.

  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::updateSecurityOrigin):
  • bindings/js/ScriptController.h:
  • dom/Document.cpp: (WebCore::Document::setDomain):
20:59 Changeset [39162] by ggaren@apple.com

JavaScriptCore:

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

Reviewed by Cameron Zwarich.

In preparation for compiling WREC without PCRE:


Further relaxed WREC's parsing to be more web-compatible. Fixed PCRE to
match in cases where it didn't already.


Changed JavaScriptCore to report syntax errors detected by WREC, rather
than falling back on PCRE any time WREC sees an error.


  • pcre/pcre_compile.cpp: (checkEscape): Relaxed parsing of \c and \N escapes to be more web-compatible.


  • runtime/RegExp.cpp: (JSC::RegExp::RegExp): Only fall back on PCRE if WREC has not reported a syntax error.
  • wrec/WREC.cpp: (JSC::WREC::Generator::compileRegExp): Fixed some error reporting to match PCRE.
  • wrec/WRECParser.cpp: Added error messages that match PCRE.

(JSC::WREC::Parser::consumeGreedyQuantifier):
(JSC::WREC::Parser::parseParentheses):
(JSC::WREC::Parser::parseCharacterClass):
(JSC::WREC::Parser::parseNonCharacterEscape): Updated the above functions to
use the new setError API.

(JSC::WREC::Parser::consumeEscape): Relaxed parsing of \c \N \u \x \B
to be more web-compatible.

(JSC::WREC::Parser::parseAlternative): Distinguish between a malformed
quantifier and a quantifier with no prefix, like PCRE does.

(JSC::WREC::Parser::consumeParenthesesType): Updated to use the new setError API.

  • wrec/WRECParser.h: (JSC::WREC::Parser::error): (JSC::WREC::Parser::syntaxError): (JSC::WREC::Parser::parsePattern): (JSC::WREC::Parser::reset): (JSC::WREC::Parser::setError): Store error messages instead of error codes, to provide for exception messages. Use a setter for reporting errors, so errors detected early are not overwritten by errors detected later.

LayoutTests:

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

Reviewed by Cameron Zwarich.

Updated regular expression layout tests to be agnostic between WREC
and PCRE quirks. Also, updated results to match new, more web-compatible
regular expression parsing.

  • fast/js/regexp-charclass-crash-expected.txt:
  • fast/js/regexp-charclass-crash.html:
  • fast/js/regexp-no-extensions-expected.txt:
  • fast/js/resources/regexp-no-extensions.js:
  • fast/regex/test1-expected.txt:
20:22 Changeset [39161] by barraclough@apple.com

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

Reviewed by Oliver Hunt.

Use va_args to access cti function arguments.
https://bugs.webkit.org/show_bug.cgi?id=22774

This may be a minor regression, but we'll take the hit if so to reduce fragility.

  • interpreter/Interpreter.cpp:
  • interpreter/Interpreter.h:
17:42 Changeset [39160] by mrowe@apple.com

Fix gdb-safari on Tiger.

gdb on Tiger does not take the -arch flag, so do not pass it.

Rubber-stamped by Ada Chan.

17:35 Changeset [39159] by pam@chromium.org

2008-12-09 David Levin <levin@chromium.org>

Reviewed by Eric Seidel.

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

Add a test to check for checks when attaching an event to a document created by
'document.implementation.createDocument'.

  • fast/events/create-document-crash-on-attach-event-expected.txt: Added.
  • fast/events/create-document-crash-on-attach-event.html: Added.
  • fast/events/resources/create-document-crash-on-attach-event.js: Added. (doc.onload):
17:28 Changeset [39158] by pam@chromium.org

2008-12-09 David Levin <levin@chromium.org>

Reviewed by Eric Seidel.

Add a test to check the event order for context clicks on Windows.

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

  • platform/win/fast/events/context-click-events-expected.txt: Added.
  • platform/win/fast/events/context-click-events.html: Added.
  • platform/win/fast/events/resources: Added.
  • platform/win/fast/events/resources/TEMPLATE.html: Added.
  • platform/win/fast/events/resources/context-click-events.js: Added. (clickHandler): (traceMouseEvent):
16:39 Changeset [39157] by weinig@apple.com

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

Reviewed twice by Cameron Zwarich.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22752
Clear SymbolTable after codegen for Function codeblocks that
don't require an activation

This is a ~1.5MB improvement on Membuster-head.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpStatistics): Add logging of non-empty symbol tables and total size used by symbol tables.
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): Clear the symbol table here.
16:26 Changeset [39156] by weinig@apple.com

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

Reviewed by Geoffrey Garen.

Remove unnecessary extra lookup when throwing an exception.
We used to first lookup the target offset using getHandlerForVPC
and then we would lookup the native code stub using
nativeExceptionCodeForHandlerVPC. Instead, we can just pass around
the HandlerInfo.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::handlerForVPC): Return the HandlerInfo.
  • bytecode/CodeBlock.h: Remove nativeExceptionCodeForHandlerVPC.
  • interpreter/Interpreter.cpp: (JSC::Interpreter::throwException): Return a HandlerInfo instead of and Instruction offset. (JSC::Interpreter::privateExecute): Get the offset from HandlerInfo. (JSC::Interpreter::cti_op_throw): Get the native code from the HandleInfo. (JSC::Interpreter::cti_vm_throw): Ditto.
  • interpreter/Interpreter.h:
16:14 Changeset [39155] by andersca@apple.com

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

Reviewed by Darin Adler.

Fix typecast.

  • WebView/WebHTMLView.mm: (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
16:13 Changeset [39154] by andersca@apple.com

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

Reviewed by Darin Adler.

Implement software rendering of hosted plug-ins.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCInvalidateRect): New MiG function. This is called by the plug-in host when it has drawn something.


  • Plugins/Hosted/WebHostedNetscapePluginView.h:
  • Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView createPlugin]): Create a software renderer.


(-[WebHostedNetscapePluginView destroyPlugin]):
Destroy the software renderer.


(-[WebHostedNetscapePluginView drawRect:]):
Draw using the software renderer.


  • Plugins/Hosted/WebKitPluginClient.defs: Add InvalidateRect.
16:11 Changeset [39153] by eric@webkit.org

No review, build fix only.

Fix a few config issues to let the Chromium Windows WebCore build get further.

  • WebCore.scons:
16:01 Changeset [39152] by brettw@chromium.org

Reviewed by Dave Hyatt.

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

Add a callback on ChromeClient that the state of form elements on
the page has changed. This is to allow clients implementing session
saving to know when the current state is dirty.

15:51 Changeset [39151] by andersca@apple.com

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

Reviewed by Dan Bernstein.

Make sure to pause null events for hosted plug-ins as well.

  • WebView/WebHTMLView.mm: (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
15:49 Changeset [39150] by andersca@apple.com

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

Reviewed by Darin Adler.

  • Plugins/Hosted/NetscapePluginHostProxy.h:
  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): (WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy): Unfortunately we can't use a libdispatch source right now, because of <rdar://problem/6393180>.
15:36 Changeset [39149] by weinig@apple.com

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

Reviewed by Darin Adler.

Fix intermittent crash in buildbot. The CSSCursorImageValues and
SVGCursorElements held onto raw SVGElement pointers without any
guarantee that the element is still around.

We did not fix the design that resulted in this issue, we just fixed
the pointer lifetimes.

  • css/CSSCursorImageValue.cpp: (WebCore::CSSCursorImageValue::~CSSCursorImageValue): Zero out the back pointers. (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): Set up a back pointer. (WebCore::CSSCursorImageValue::removeReferencedElement): Added. Used when the element is destroyed.
  • css/CSSCursorImageValue.h: Added removeReferencedElement.
  • svg/SVGCursorElement.cpp: (WebCore::SVGCursorElement::~SVGCursorElement): Zero out the back pointers. (WebCore::SVGCursorElement::addClient): Set up a back pointer. (WebCore::SVGCursorElement::removeClient): Zero out the back pointer.
  • svg/SVGElement.cpp: (WebCore::SVGElement::SVGElement): Initialize back pointers to zero. (WebCore::SVGElement::~SVGElement): Call both the element and cursor image value to remove the element from their sets.
  • svg/SVGElement.h: (WebCore::SVGElement::setCursorElement): Added. (WebCore::SVGElement::setCursorImageValue): Added.
15:33 Changeset [39148] by eric@webkit.org

No review, build fix only.

Add ExecutableAllocator files missing from Scons build.

15:11 Changeset [39147] by darin@chromium.org

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

Fix bustage.

  • WebCoreSupport/WebInspectorClientCF.cpp:
14:36 Changeset [39146] by hyatt@apple.com

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

Add code that will create custom CSS scrollbars from the <body>, the document element (<html>) and the owning
frame/iframe. If any of them set a custom style, it will be used. The scrollbars do not update dynamically
yet as you switch from page to page (until they are destroyed and recreated).

Reviewed by Adele

  • page/FrameView.cpp: (WebCore::FrameView::createScrollbar):
14:02 Changeset [39145] by timothy@apple.com

Implement a few methods needed to keep Dictionary.app working on Leopard.

<rdar://problem/6002160> Internal changes to WebKit in Safari 4
Developer Preview might break Dictionary

Reviewed by Dan Bernstein.

  • WebView/WebFrame.mm: (-[WebFrame convertNSRangeToDOMRange:]): Added. Calls _convertNSRangeToDOMRange. (-[WebFrame convertDOMRangeToNSRange:]): Added. Calls _convertDOMRangeToNSRange.
  • WebView/WebHTMLView.mm: (-[WebHTMLView _bridge]): Added. Returns the WebFrame, which has the methods that Dictionary.app is using.
13:46 Changeset [39144] by darin@chromium.org

2008-12-09 Ojan Vafai <ojan@chromium.org>

Reviewed by Dave Hyatt.

https://bugs.webkit.org/show_bug.cgi?id=22689
Match Firefox button metrics on Windows.

  • rendering/RenderButton.cpp: (WebCore::RenderButton::addChild): (WebCore::RenderButton::styleDidChange): (WebCore::RenderButton::setupInnerStyle):
  • rendering/RenderButton.h:
  • rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustButtonInnerStyle):
  • rendering/RenderTheme.h:
  • rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::adjustSliderThumbSize): (WebCore::RenderThemeWin::adjustButtonInnerStyle):
  • rendering/RenderThemeWin.h:
12:43 Changeset [39143] by darin@chromium.org

2008-12-09 Darin Fisher <darin@chromium.org>

Fixes bustages.

https://bugs.webkit.org/show_bug.cgi?id=22631
Adding missing files from previous commit.

  • bindings/js/ScriptCallFrame.cpp: Added. (WebCore::ScriptCallFrame::ScriptCallFrame): (WebCore::ScriptCallFrame::~ScriptCallFrame): (WebCore::ScriptCallFrame::argumentAt):
  • bindings/js/ScriptCallFrame.h: Added. (WebCore::ScriptCallFrame::functionName): (WebCore::ScriptCallFrame::sourceURL): (WebCore::ScriptCallFrame::lineNumber): (WebCore::ScriptCallFrame::argumentCount):
  • bindings/js/ScriptCallStack.cpp: Added. (WebCore::ScriptCallStack::ScriptCallStack): (WebCore::ScriptCallStack::~ScriptCallStack): (WebCore::ScriptCallStack::at): (WebCore::ScriptCallStack::size): (WebCore::ScriptCallStack::initialize):
  • bindings/js/ScriptCallStack.h: Added. (WebCore::ScriptCallStack::state):
12:25 Changeset [39142] by darin@chromium.org

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

Reviewed by Timothy Hatcher.

https://bugs.webkit.org/show_bug.cgi?id=22631
Streamline Console.cpp, abstract out the use of JSC::ExecState and
JSC::ArgList by introducing ScriptCallFrame and ScriptCallStack
abstractions.

  • GNUmakefile.am: Added ScriptCallFrame and ScriptCallStack to build
  • WebCore.pro: Added ScriptCallFrame and ScriptCallStack to build
  • WebCore.vcproj/WebCore.vcproj: Added ScriptCallFrame and ScriptCallStack to project
  • WebCore.xcodeproj/project.pbxproj: Added ScriptCallFrame and ScriptCallStack to project
  • bindings/js/JSConsoleCustom.cpp: Remove custom bindings.
  • bindings/js/ScriptCallFrame.cpp: Added. (WebCore::ScriptCallFrame::ScriptCallFrame): (WebCore::ScriptCallFrame::~ScriptCallFrame): (WebCore::ScriptCallFrame::argumentAt):
  • bindings/js/ScriptCallFrame.h: Added. (WebCore::ScriptCallFrame::functionName): (WebCore::ScriptCallFrame::sourceURL): (WebCore::ScriptCallFrame::lineNumber): (WebCore::ScriptCallFrame::argumentCount):
  • bindings/js/ScriptCallStack.cpp: Added. (WebCore::ScriptCallStack::ScriptCallStack): (WebCore::ScriptCallStack::~ScriptCallStack): (WebCore::ScriptCallStack::at): (WebCore::ScriptCallStack::size): (WebCore::ScriptCallStack::initialize):
  • bindings/js/ScriptCallStack.h: Added. (WebCore::ScriptCallStack::ScriptCallStack): (WebCore::ScriptCallStack::~ScriptCallStack): (WebCore::ScriptCallStack::state): (WebCore::ScriptCallStack::at): (WebCore::ScriptCallStack::size): (WebCore::ScriptCallStack::initialize):
  • bindings/js/ScriptString.h: Added missing PlatformString include. (WebCore::ScriptString::ScriptString): Added default constructor. (WebCore::ScriptString::operator==): Added equality operator. (WebCore::ScriptString::operator!=):
  • bindings/js/ScriptValue.cpp: Added isNull and isUndefined. (WebCore::ScriptValue::isNull): (WebCore::ScriptValue::isUndefined):
  • bindings/js/ScriptValue.h: Added isNull and isUndefined
  • bindings/scripts/CodeGeneratorJS.pm: Add handling for CustomArgumentHandling attribute.
  • inspector/InspectorController.cpp: Refactored to use ScriptCallFrame and ScriptCallStack. (WebCore::ConsoleMessage::ConsoleMessage): (WebCore::InspectorController::addMessageToConsole): (WebCore::InspectorController::startGroup): (WebCore::InspectorController::addScriptConsoleMessage): (WebCore::InspectorController::count): (WebCore::InspectorController::startTiming): (WebCore::InspectorController::stopTiming):
  • inspector/InspectorController.h: Refactored to use ScriptCallFrame and ScriptCallStack.
  • inspector/front-end/Console.js: Modified to use argument value itself rather than f.name for stack trace.
  • page/Console.cpp: Refactored to use ScriptCallFrame and ScriptCallStack. (WebCore::getFirstArgumentAsString): (WebCore::Console::addMessage): (WebCore::Console::debug): (WebCore::Console::error): (WebCore::Console::info): (WebCore::Console::log): (WebCore::Console::dir): (WebCore::Console::dirxml): (WebCore::Console::trace): (WebCore::Console::assertCondition): (WebCore::Console::count): (WebCore::Console::profile): (WebCore::Console::profileEnd): (WebCore::Console::time): (WebCore::Console::timeEnd): (WebCore::Console::group): (WebCore::Console::warn):
  • page/Console.h:
  • page/Console.idl: Removed Custom attributes, added CustomArgumentHandling attributes, and tweaked argument defs.
11:19 Changeset [39141] by cwzwarich@webkit.org

2008-12-08 Judit Jasz <jasy@inf.u-szeged.hu>

Reviewed and tweaked by Cameron Zwarich.

Bug 22352: Annotate opcodes with their length
<https://bugs.webkit.org/show_bug.cgi?id=22352>

  • bytecode/Opcode.cpp:
  • bytecode/Opcode.h:
  • interpreter/Interpreter.cpp: (JSC::Interpreter::privateExecute):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases):
10:42 Changeset [39140] by darin@apple.com

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

Try to fix non-Mac builds.

  • GNUmakefile.am: Added NavigatorBase.
  • WebCore.pro: Ditto.
  • WebCore.scons: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCoreSources.bkl: Ditto.

Unrelated tweak sitting in my tree.

  • bindings/objc/DOMAbstractView.mm: Remove pointless override of finalize method.
10:38 Changeset [39139] by darin@apple.com

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

Try to fix Tiger build.

  • platform/network/mac/NetworkStateNotifierMac.cpp: Declare CFRunLoopGetMain.
09:58 Changeset [39138] by ap@webkit.org

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22719
Implement Navigator object in Workers

Test: fast/workers/worker-navigator.html

  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj: Added WorkerNavigator sources.
  • bindings/js/JSWorkerContext.cpp: (WebCore::jsWorkerContextNavigator): Worker.navigator returns a WoerkerNavigator object (it is named just Navigator in the spec, but it is not the same interface that is available on Windows).
  • dom/Worker.cpp: (WebCore::Worker::notifyFinished):
  • dom/WorkerContext.cpp: (WebCore::WorkerContext::WorkerContext): (WebCore::WorkerContext::navigator):
  • dom/WorkerContext.h: (WebCore::WorkerContext::create):
  • dom/WorkerThread.cpp: (WebCore::WorkerThread::create): (WebCore::WorkerThread::WorkerThread): (WebCore::WorkerThread::workerThread):
  • dom/WorkerThread.h: Pass a pre-computed user agent string into worker, because it cannot call a client method directly, and pre-computing is easier than sending a synchronous message to the main thread.
  • page/Navigator.cpp:
  • page/Navigator.h:
  • page/NavigatorBase.cpp: Added.
  • page/NavigatorBase.h: Added. Factor out common (and uncommon, but very similar) functionality into a base class.
  • page/WorkerNavigator.cpp: Added.
  • page/WorkerNavigator.h: Added.
  • page/WorkerNavigator.idl: Added. Per Web Workers and HTML5, implement a small subset of what we currently have in Window.Navigator.
  • platform/network/NetworkStateNotifier.cpp: (WebCore::networkStateNotifier): Make networkStateNotifier() static constructor thread safe. The object is created on the thread it is first called from, while callbacks are registered on the main thread. Calls to onLine() from other threads are safe, because it is just loading a boolean.
  • platform/network/mac/NetworkStateNotifierMac.cpp: (WebCore::NetworkStateNotifier::NetworkStateNotifier): Schedule notifications on main event loop, not the current one.
09:53 Changeset [39137] by pam@chromium.org

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

Submitted without review.
Corrected results so the test passes.

  • fast/events/special-key-events-in-input-text-expected.txt:
08:42 QtWebKitGitInstructions edited by hausmann@webkit.org
(diff)
08:40 Changeset [39136] by hausmann@webkit.org

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

Reviewed by Simon Hausmann.

Fix the documentation of the localStorageDatabasePath setters/getters.

06:50 Changeset [39135] by zimmermann@webkit.org

Rubber-stamped by Alexey Proskuryakov.
Forgot to update Qt/WML build - add some new files to the build.

06:48 Changeset [39134] by ddkilzer@apple.com

Fixed more ChangeLog dates.

06:42 Changeset [39133] by zimmermann@webkit.org

Reviewed by Alexey Proskuryakov.

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

Implement the GET method for WMLGoElement, and some test covering it's behaviour.
Update all build systems supporting WML that haven't been updated since a while.

Add WMLPostField stub implementation, needed for implementing POST method.

Tests: wml/go-task-get-method-external-deck-with-href.html

wml/go-task-get-method-external-deck.html
wml/go-task-get-method-same-deck.html

02:13 Changeset [39132] by hausmann@webkit.org

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

Reviewed by Simon Hausmann.

Multiple files support for the file chooser.

  • Api/qwebpage.cpp: (QWebPage::chooseFiles):
  • Api/qwebpage.h:
  • WebCoreSupport/ChromeClientQt.cpp: (WebCore::ChromeClientQt::runOpenPanel):
Note: See TracTimeline for information about the timeline view.