Timeline


and

02/13/09:

18:17 Changeset [41016] by dglazkov@chromium.org

2009-02-13 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23954
Add V8 custom bindings for CanvasRenderingContext2D.

  • bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: Added. (WebCore::toV8): (WebCore::toCanvasStyle): (WebCore::ACCESSOR_GETTER): (WebCore::ACCESSOR_SETTER):
18:05 Changeset [41015] by mrowe@apple.com

Versioning.

18:05 Changeset [41014] by mrowe@apple.com

New tag.

17:48 Changeset [41013] by treat@webkit.org

2009-02-13 Adam Treat <adam.treat@torchmobile.com>

Reviewed by George Staikos.

https://bugs.webkit.org/show_bug.cgi?id=23960
Crash Fix.

Don't depend on 'initializeThreading()' to come before a call to 'isMainThread()'
as QtWebKit only calls 'initializeThreading()' during QWebPage construction.

A client app may well make a call to QWebSettings::iconForUrl() for instance
before creating a QWebPage and that call to QWebSettings triggers an
ASSERT(isMainThread()) deep within WebCore.

  • wtf/ThreadingQt.cpp: (WTF::isMainThread):
17:19 Changeset [41012] by mrowe@apple.com

Merge r40975.

17:19 Changeset [41011] by mrowe@apple.com

Merge r40945.

17:08 Changeset [41010] by mrowe@apple.com

Merge r41000.

17:08 Changeset [41009] by mrowe@apple.com

Merge r40995.

17:08 Changeset [41008] by mrowe@apple.com

Merge r40993.

17:08 Changeset [41007] by mrowe@apple.com

Merge r40968.

17:08 Changeset [41006] by mrowe@apple.com

Merge r40967.

17:08 Changeset [41005] by mrowe@apple.com

Merge r40937.

17:08 Changeset [41004] by mrowe@apple.com

Merge r40935.

17:08 Changeset [41003] by mrowe@apple.com

Merge r40932.

17:08 Changeset [41002] by mrowe@apple.com

Merge r40940.

17:08 Changeset [41001] by mrowe@apple.com

Merge r40920.

17:00 Changeset [41000] by barraclough@apple.com

2009-02-13 Gavin Barraclough <barraclough@apple.com>

Reviewed by Darin Adler.

Some data in the instruction stream is potentially uninitialized - fix this.

Change the OperandTypes constructor so that uninitialized memory in the int
is zeroed, and modify the Instruction constructor taking an Opcode so that
if !HAVE(COMPUTED_GOTO) (i.e. when Opcode is an enum, and is potentially only
a byte) it zeros the Instruction first before writing the opcode.

  • bytecode/Instruction.h: (JSC::Instruction::Instruction):
  • parser/ResultType.h: (JSC::OperandTypes::OperandTypes):
16:46 Changeset [40999] by hyatt@apple.com

Fix failing layout pixel test so bdash doesn't come to my house in the middle of the night and beat me up.

16:41 Changeset [40998] by andersca@apple.com

Fix ChangeLog.

16:35 Changeset [40997] by andersca@apple.com

2009-02-13 Anders Carlsson <andersca@apple.com>

Reviewed by Darin Adler.

<rdar://problem/6583187>


  • page/NavigatorBase.cpp: Handle PPC64 and X86_64 as well.
16:04 Changeset [40996] by andersca@apple.com

2009-02-13 Anders Carlsson <andersca@apple.com>

Reviewed by Kevin Decker.

<rdar://problem/6584834> ESPN radio live stream link hangs Safari

When a plug-in invokes JavaScript code that will destroy the plug-in, we need to
defer destruction until we're done executing the script.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WebKit::PluginDestroyDeferrer::PluginDestroyDeferrer): (WebKit::PluginDestroyDeferrer::~PluginDestroyDeferrer): Add a simple RAII object for deferring destruction of the plug-in instance.


(WKPCEvaluate):
(WKPCInvoke):
(WKPCInvokeDefault):
(WKPCConstruct):
(WKPCGetProperty):
(WKPCSetProperty):
(WKPCRemoveProperty):
(WKPCHasProperty):
(WKPCHasMethod):
Use the PluginDestroyDeferrer.


  • Plugins/Hosted/NetscapePluginInstanceProxy.h: (WebKit::NetscapePluginInstanceProxy::pluginID): Assert that the plug-in ID is not 0 here.


  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): Initialize the call depth.


(WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy):
Set the plug-in ID to 0 to aid debugging.


(WebKit::NetscapePluginInstanceProxy::willCallPluginFunction):
Increment the call depth.


(WebKit::NetscapePluginInstanceProxy::didCallPluginFunction):
Decrement the call depth, if it's 0 and we should stop the plug-in, do so.


(WebKit::NetscapePluginInstanceProxy::shouldStop):
If we're called this with a non-zero call depth, set shouldStopSoon to true.


  • Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView shouldStop]): Call the proxy.
16:01 Changeset [40995] by ggaren@apple.com

2009-02-13 Geoffrey Garen <ggaren@apple.com>

Build fix for non_JIT platforms.

  • bytecode/CodeBlock.h: (JSC::CodeBlock::setIsNumericCompareFunction): (JSC::CodeBlock::isNumericCompareFunction):
15:56 Changeset [40994] by darin@apple.com

2009-02-13 Darin Adler <darin@apple.com>

Reviewed by Mark Rowe.

Fix broken tokenizer regression test that reflected a lifetime bug
in the document.write optimization. The test failure was trivial to
reproduce in COLLECT_ON_EVERY_ALLOCATION mode.

  • bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::documentWrite): Convert strings to String rather than passing the pointer and length to SegmentedString. The optimization is thus mostly gone. However, there are two ways to bring it back: 1) Apply the patch that makes UString and String share the same buffers. 2) Add a UString feature to SegmentedString; simple to do but might risk slowing down normal document parsing.
15:28 Changeset [40993] by ggaren@apple.com

JavaScriptCore:

2009-02-13 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.


Fixed <rdar://problem/6584057> Optimize sort by JS numeric comparison
function not to run the comparison function


  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::CodeBlock):
  • bytecode/CodeBlock.h: (JSC::CodeBlock::setIsNumericCompareFunction): (JSC::CodeBlock::isNumericCompareFunction): Added the ability to track whether a CodeBlock performs a sort-like numeric comparison.
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): Set the isNumericCompareFunction bit after compiling.
  • parser/Nodes.cpp: (JSC::FunctionBodyNode::emitBytecode): Fixed a bug that caused us to codegen an extra return at the end of all functions (eek!), since this made it harder / weirder to detect the numeric comparison pattern in bytecode.
  • runtime/ArrayPrototype.cpp: (JSC::arrayProtoFuncSort): Use the isNumericCompareFunction bit to do a faster sort if we can.
  • runtime/FunctionConstructor.cpp: (JSC::extractFunctionBody): (JSC::constructFunction):
  • runtime/FunctionConstructor.h: Renamed and exported extractFunctionBody for use in initializing lazyNumericCompareFunction.
  • runtime/JSArray.cpp: (JSC::compareNumbersForQSort): (JSC::compareByStringPairForQSort): (JSC::JSArray::sortNumeric): (JSC::JSArray::sort):
  • runtime/JSArray.h: Added a fast numeric sort. Renamed ArrayQSortPair to be more specific since we do different kinds of qsort now.
  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): (JSC::JSGlobalData::numericCompareFunction): (JSC::JSGlobalData::ClientData::~ClientData):
  • runtime/JSGlobalData.h: Added helper data for computing the isNumericCompareFunction bit.

LayoutTests:

2009-02-13 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Added a test for an edge case in <rdar://problem/6584057>.

  • fast/js/resources/sort-non-numbers.js: Added.
  • fast/js/sort-non-numbers.html: Added.
  • fast/js/sort-non-numbers-expected.txt: Added.
14:49 Changeset [40992] by treat@webkit.org

2009-02-13 Adam Treat <adam.treat@torchmobile.com>

Caught by Darin Adler.

No reason to check m_tokenizer twice for 0 in a row.

  • dom/Document.cpp: (WebCore::Document::write):
13:49 Changeset [40991] by treat@webkit.org

2009-02-13 Lyon Chen <lyon.chen@torchmobile.com>

Reviewed by Dave Hyatt.

Take into account y() + height() when calculating getLowerRightCorner.

  • dom/ContainerNode.cpp: (WebCore::ContainerNode::getLowerRightCorner):
13:17 Changeset [40990] by antti@apple.com

2009-02-13 Antti Koivisto <antti@apple.com>

Reviewed by Dave Hyatt.

Most of this code was in RenderBox, restore the copyright lines.

  • rendering/RenderBoxModelObject.cpp:
  • rendering/RenderBoxModelObject.h:
13:07 Changeset [40989] by hyatt@apple.com

2009-02-13 David Hyatt <hyatt@apple.com>

Get rid of printBoxDecorations, since it is dead code.

Reviewed by Dan Bernstein

  • rendering/RenderObject.h:
13:01 Changeset [40988] by treat@webkit.org

2009-02-13 Adam Treat <adam.treat@torchmobile.com>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=23952
Add Document::write overload which takes a SegmentedString since this
is what the tokenizer expects anyway. Modified JSHTMLDocument so it once
again calls Document::write instead of injecting the string directly into
the tokenizer. This ensures that all document.write's are funneled through
one method again, but should still be just as fast for JSHTMLDocumentCustom.

  • bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::documentWrite):
  • dom/Document.cpp: (WebCore::Document::write):
  • dom/Document.h:
12:38 Changeset [40987] by hyatt@apple.com

2009-02-13 David Hyatt <hyatt@apple.com>

Reviewed by Simon Fraser

Remove updateWidgetPosition on RenderObject. Change RenderView's set of widgets
to have a tighter type: RenderWidget instead of RenderObject. Devirtualize
updateWidgetPosition, since all RenderWidgets (except for applets) are now
RenderParts also.


  • rendering/RenderObject.cpp:
  • rendering/RenderObject.h:
  • rendering/RenderPart.cpp:
  • rendering/RenderPart.h:
  • rendering/RenderView.cpp: (WebCore::RenderView::updateWidgetPositions): (WebCore::RenderView::addWidget): (WebCore::RenderView::removeWidget):
  • rendering/RenderView.h:
  • rendering/RenderWidget.cpp: (WebCore::RenderWidget::updateWidgetPosition):
  • rendering/RenderWidget.h:
12:11 Changeset [40986] by darin@apple.com

2009-02-13 Darin Adler <darin@apple.com>

  • StringsNotToBeLocalized.txt: Updated for recent changes.
12:04 Changeset [40985] by hyatt@apple.com

2009-02-13 David Hyatt <hyatt@apple.com>

Reviewed by Eric Seidel

Remove isEditable() on RenderObject. It is dead code.

  • rendering/RenderObject.cpp:
  • rendering/RenderObject.h:
11:49 Changeset [40984] by hyatt@apple.com

2009-02-13 David Hyatt <hyatt@apple.com>

Reviewed by Eric Seidel

Add isTextControl() to RenderObject. Patch call sites thats asked isTextField()
isTextArea() to just use

isTextControl() instead.


Add a toRenderTextControl converter for doing checked casting to RenderTextControls.

  • dom/Document.cpp: (WebCore::Document::setFocusedNode):
  • dom/InputElement.cpp: (WebCore::InputElement::updateSelectionRange):
  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment):
  • editing/TextIterator.cpp: (WebCore::TextIterator::handleReplacedElement):
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::selectionStart): (WebCore::HTMLInputElement::selectionEnd): (WebCore::HTMLInputElement::setSelectionStart): (WebCore::HTMLInputElement::setSelectionEnd): (WebCore::HTMLInputElement::select): (WebCore::HTMLInputElement::defaultEventHandler): (WebCore::HTMLInputElement::selection):
  • html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::selectionStart): (WebCore::HTMLTextAreaElement::selectionEnd): (WebCore::HTMLTextAreaElement::setSelectionStart): (WebCore::HTMLTextAreaElement::setSelectionEnd): (WebCore::HTMLTextAreaElement::select): (WebCore::HTMLTextAreaElement::setSelectionRange): (WebCore::HTMLTextAreaElement::appendFormData): (WebCore::HTMLTextAreaElement::updateValue): (WebCore::HTMLTextAreaElement::selection):
  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::isNativeTextControl): (WebCore::AccessibilityRenderObject::text): (WebCore::AccessibilityRenderObject::selectedText): (WebCore::AccessibilityRenderObject::selectedTextRange): (WebCore::AccessibilityRenderObject::setSelectedTextRange): (WebCore::AccessibilityRenderObject::visiblePositionForIndex): (WebCore::AccessibilityRenderObject::indexForVisiblePosition): (WebCore::AccessibilityRenderObject::observableObject):
  • page/Frame.cpp: (WebCore::Frame::notifyRendererOfSelectionChange):
  • rendering/RenderObject.h: (WebCore::RenderObject::isTextControl): (WebCore::objectIsRelayoutBoundary):
  • rendering/RenderTextControl.h: (WebCore::RenderTextControl::isTextControl): (WebCore::toRenderTextControl):
  • rendering/TextControlInnerElements.cpp: (WebCore::TextControlInnerTextElement::defaultEventHandler):
  • wml/WMLInputElement.cpp: (WebCore::WMLInputElement::select): (WebCore::WMLInputElement::defaultEventHandler): (WebCore::WMLInputElement::isConformedToInputMask):
11:18 Changeset [40983] by hyatt@apple.com

2009-02-13 David Hyatt <hyatt@apple.com>

Get rid of isEdited/setEdited on RenderObject. Devirtualize isEdited/setEdited on RenderTextControl.
Callers were already asking if the renderer was a text field (or a text area), so it was especially
pointless to waste a second virtual function call after making one just to determine the object type.


Reviewed by Simon Fraser

  • dom/Document.cpp: (WebCore::Document::setFocusedNode):
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
  • rendering/RenderObject.h:
  • rendering/RenderTextControl.h: (WebCore::RenderTextControl::isEdited): (WebCore::RenderTextControl::setEdited):
11:04 Changeset [40982] by dglazkov@chromium.org

2009-02-13 Scott Violet <sky@google.com>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23934
Skia platform doesn't render text decoration shadows.

Makes Skia render text decoration shadows correctly. We weren't
preparing the SkPaint correctly and didn't have a couple of checks
CG has. Additionally makes the fillColor/strokeColor methods
consistent.

This behavior is covered by existing layout tests (see bug for list).

  • platform/graphics/chromium/FontChromiumWin.cpp: (WebCore::Font::drawGlyphs): (WebCore::Font::drawComplexText):
  • platform/graphics/skia/GraphicsContextSkia.cpp: (WebCore::GraphicsContext::drawLineForText):
  • platform/graphics/skia/PlatformContextSkia.cpp: (PlatformContextSkia::effectiveFillColor): (PlatformContextSkia::effectiveStrokeColor):
  • platform/graphics/skia/PlatformContextSkia.h:
11:01 Changeset [40981] by darin@chromium.org

2009-02-12 Darin Fisher <darin@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23944
KURLGoogle's pre-parsed canonicalSpec constructor should take a CString

  • platform/KURL.h:
  • platform/KURLGoogle.cpp: (WebCore::KURLGooglePrivate::setUtf8): (WebCore::KURLGooglePrivate::setAscii): (WebCore::KURLGooglePrivate::init): (WebCore::KURLGooglePrivate::replaceComponents): (WebCore::KURL::KURL):
  • platform/KURLGooglePrivate.h:
10:17 Changeset [40980] by hyatt@apple.com

2009-02-13 David Hyatt <hyatt@apple.com>

Remove leftmost/rightmost/lowestPosition from RenderObject. They only need to be called on boxes.

Reviewed by Dan Bernstein

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::lowestPosition): (WebCore::RenderBlock::rightmostPosition): (WebCore::RenderBlock::leftmostPosition):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::computeScrollDimensions):
  • rendering/RenderMedia.cpp: (WebCore::RenderMedia::lowestPosition): (WebCore::RenderMedia::rightmostPosition): (WebCore::RenderMedia::leftmostPosition):
  • rendering/RenderObject.h:
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::lowestPosition): (WebCore::RenderTableSection::rightmostPosition): (WebCore::RenderTableSection::leftmostPosition):
09:49 Changeset [40979] by simon.fraser@apple.com

2009-02-12 Simon Fraser <simon.fraser@apple.com>

Fix build with ACCELERATED_COMPOSITING turned on.

toRenderBox()->x() asserts for a layer on an inline; use
m_owningLayer->renderBoxX() instead.

  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::paintIntoLayer):
08:24 Changeset [40978] by darin@apple.com

2009-02-13 Darin Adler <darin@apple.com>

  • Configurations/JavaScriptCore.xcconfig: Undo accidental commit of this file.
08:21 Changeset [40977] by cmarrin@apple.com

Reviewed by Adam Roben.

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

Fixed 3 more test cases

  • platform/win/fast/css/computed-style-expected.txt:
  • platform/win/fast/css/computed-style-without-renderer-expected.txt:
  • svg/css/getComputedStyle-basic-expected.txt:
08:20 Changeset [40976] by darin@apple.com

2009-02-12 Darin Adler <darin@apple.com>

Reviewed by Oliver Hunt.

Speed up document.write a bit.

  • bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::documentWrite): Added. Uses SegmentedString to avoid conversion from UString to String and to avoid appending strings. Also added code to handle newlines efficiently. (WebCore::JSHTMLDocument::write): Changed to use documentWrite. (WebCore::JSHTMLDocument::writeln): Ditto.
  • dom/Document.cpp: (WebCore::Document::prepareToWrite): Added. Refactored the initialization part of write into a separate function for use in the JavaScript binding. (WebCore::Document::write): Changed to call prepareToWrite.
  • dom/Document.h: Added declaration for prepareToWrite.
08:16 Changeset [40975] by darin@apple.com

2009-02-12 Darin Adler <darin@apple.com>

Reviewed by Oliver Hunt and Alexey Proskuryakov.

Speed up a couple string functions.

  • runtime/StringPrototype.cpp: (JSC::stringProtoFuncIndexOf): Added a fast path for cases where the second argument is either missing or an integer. (JSC::stringProtoFuncBig): Use jsNontrivialString since the string is guaranteed to be 2 or more characters long. (JSC::stringProtoFuncSmall): Ditto. (JSC::stringProtoFuncBlink): Ditto. (JSC::stringProtoFuncBold): Ditto. (JSC::stringProtoFuncItalics): Ditto. (JSC::stringProtoFuncStrike): Ditto. (JSC::stringProtoFuncSub): Ditto. (JSC::stringProtoFuncSup): Ditto. (JSC::stringProtoFuncFontcolor): Ditto. (JSC::stringProtoFuncFontsize): Make the fast path Sam recently added even faster by avoiding all but the minimum memory allocation. (JSC::stringProtoFuncAnchor): Use jsNontrivialString. (JSC::stringProtoFuncLink): Added a fast path.
  • runtime/UString.cpp: (JSC::UString::find): Added a fast path for single-character search strings.
07:53 Changeset [40974] by cmarrin@apple.com

Reviewed by Simon Fraser.

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

Fixed 2 more test cases (mac specific)

06:45 Changeset [40973] by treat@webkit.org

2009-02-13 Benjamin C Meyer <benjamin.meyer@torchmobile.com>

Reviewed by Nikolas Zimmermann.

https://bugs.webkit.org/show_bug.cgi?id=23738
Expose the url elements target frame string. This is the sister function
to the existing linkTargetFrame which returns the QWebFrame*. When the
linkTargetFrame is 0 it is useful to know what the target was to be.

  • Api/qwebframe.cpp: (QWebHitTestResultPrivate::QWebHitTestResultPrivate): (QWebHitTestResult::linkTarget):
  • Api/qwebframe.h:
  • Api/qwebframe_p.h:
  • tests/qwebframe/tst_qwebframe.cpp:
05:19 ApplicationsGtk edited by arthur.webkid@gmail.com
Update the correct URL for "Evolution RSS Reader Plugin" (diff)
04:02 Changeset [40972] by hausmann@webkit.org

2009-02-13 David Boddie <dboddie@trolltech.com>

Reviewed by Simon Hausmann.

Removed documentation for internal functions.

04:02 Changeset [40971] by hausmann@webkit.org

2009-02-13 Martin Smith <msmith@trolltech.com>

Reviewed by Simon Hausmann.

Corrected some minor qdoc errors.

04:01 Changeset [40970] by hausmann@webkit.org

2009-02-13 Prasanth Ullattil <pullatti@trolltech.com>

Reviewed by Simon Hausmann.

Fixes crash in the Qt port on Windows with comboboxes

The focusWidget in the input context is not reset properly.
The QApplication::setFocusWidget() wont reset the IC if the reason is
PopupFocusReason, this is not ideal. For the time being we are going
to do this from webkit itself.

01:29 Changeset [40969] by ap@webkit.org

2009-02-13 David Levin <levin@chromium.org>

Reviewed by Darin Adler.

Bug 23926: Race condition in callOnMainThreadAndWait
<https://bugs.webkit.org/show_bug.cgi?id=23926>

  • wtf/MainThread.cpp: Removed callOnMainThreadAndWait since it isn't used.
01:18 Changeset [40968] by oliver@apple.com

Math.random is really slow on windows.

Reviewed by Jon Honeycutt.

Math.random calls WTF::randomNumber which is implemented as
the secure rand_s on windows. Unfortunately rand_s is an order
of magnitude slower than arc4random. For this reason I've
added "weakRandomNumber" for use by JavaScript's Math Object.
In the long term we should look at using our own secure PRNG
in place of the system, but this will do for now.

30% win on SunSpider on Windows, resolving most of the remaining
disparity vs. Mac.

02/12/09:

23:30 Changeset [40967] by mrowe@apple.com

Fix the build for other platforms.

23:17 Changeset [40966] by kevino@webkit.org

wx build fix, typo while tweaking last patch for commit.

21:42 Changeset [40965] by kevino@webkit.org

Reviewed by Kevin Ollivier.

Use Cairo/PANGO to fix text measurements and implement proper non-kerned text drawing on wxGTK.

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

21:10 Changeset [40964] by simon.fraser@apple.com

2009-02-12 Chris Marrin <cmarrin@apple.com>

Reviewed by Simon Fraser

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

Hook up 3D CSS transforms to the accelerated compositor backend.
Not enabled by default.

20:22 Changeset [40963] by barraclough@apple.com

2009-02-12 Gavin Barraclough <barraclough@apple.com>

Reviewed by Sam Weinig.

Remove (/reduce) use of hard-wired register names from the JIT.
Currently there is no abstraction of registers used in the JIT,
which has a number of negative consequences. Hard-wiring x86
register names makes the JIT less portable to other platforms,
and prevents us from performing dynamic register allocation to
attempt to maintain more temporary values in machine registers.
(The latter will be more important on x86-64, where we have more
registers to make use of).

Also, remove MacroAssembler::mod32. This was not providing a
useful abstraction, and was not in keeping with the rest of the
MacroAssembler interface, in having specific register requirements.

  • assembler/MacroAssemblerX86Common.h:
  • jit/JIT.cpp: (JSC::JIT::compileOpStrictEq): (JSC::JIT::emitSlowScriptCheck): (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): (JSC::JIT::privateCompile): (JSC::JIT::privateCompileCTIMachineTrampolines):
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: (JSC::JIT::compileFastArith_op_lshift): (JSC::JIT::compileFastArithSlow_op_lshift): (JSC::JIT::compileFastArith_op_rshift): (JSC::JIT::compileFastArithSlow_op_rshift): (JSC::JIT::compileFastArith_op_bitand): (JSC::JIT::compileFastArithSlow_op_bitand): (JSC::JIT::compileFastArith_op_mod): (JSC::JIT::compileFastArithSlow_op_mod): (JSC::JIT::compileFastArith_op_post_inc): (JSC::JIT::compileFastArithSlow_op_post_inc): (JSC::JIT::compileFastArith_op_post_dec): (JSC::JIT::compileFastArithSlow_op_post_dec): (JSC::JIT::compileFastArith_op_pre_inc): (JSC::JIT::compileFastArithSlow_op_pre_inc): (JSC::JIT::compileFastArith_op_pre_dec): (JSC::JIT::compileFastArithSlow_op_pre_dec): (JSC::JIT::compileFastArith_op_add): (JSC::JIT::compileFastArith_op_mul): (JSC::JIT::compileFastArith_op_sub): (JSC::JIT::compileBinaryArithOp):
  • jit/JITCall.cpp: (JSC::JIT::compileOpCallInitializeCallFrame): (JSC::JIT::compileOpCallSetupArgs): (JSC::JIT::compileOpCallEvalSetupArgs): (JSC::JIT::compileOpConstructSetupArgs): (JSC::JIT::compileOpCall): (JSC::JIT::compileOpCallSlowCase):
  • jit/JITInlineMethods.h: (JSC::JIT::emitGetVirtualRegister): (JSC::JIT::emitPutVirtualRegister): (JSC::JIT::emitNakedCall): (JSC::JIT::restoreArgumentReference): (JSC::JIT::restoreArgumentReferenceForTrampoline):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compilePutByIdHotPath): (JSC::JIT::compileGetByIdSlowCase): (JSC::JIT::compilePutByIdSlowCase): (JSC::JIT::privateCompilePutByIdTransition): (JSC::JIT::privateCompilePatchGetArrayLength): (JSC::JIT::privateCompileGetByIdSelf): (JSC::JIT::privateCompileGetByIdProto): (JSC::JIT::privateCompileGetByIdSelfList): (JSC::JIT::privateCompileGetByIdProtoList): (JSC::JIT::privateCompileGetByIdChainList): (JSC::JIT::privateCompileGetByIdChain): (JSC::JIT::privateCompilePutByIdReplace):
20:10 Changeset [40962] by barraclough@apple.com

JavaScriptCore:

2009-02-12 Horia Olaru <olaru@adobe.com>

Reviewed by Oliver Hunt.

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

When throwing an exception within an eval argument string, the dst parameter was
modified in the functions below and the return value for eval was altered. Changed
the emitNode call in JSC::ThrowNode::emitBytecode to use a temporary register
to store its results instead of dst. The JSC::FunctionCallResolveNode::emitBytecode
would load the function within the dst registry, also altering the result returned
by eval. Replaced it with another temporary.

  • parser/Nodes.cpp: (JSC::FunctionCallResolveNode::emitBytecode): (JSC::ThrowNode::emitBytecode):

LayoutTests:

2009-02-12 Horia Olaru <olaru@adobe.com>

Reviewed by Oliver Hunt.

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

Added a modified version of the test Chris Brichford attached to the bug.
Will test return values of various eval function calls, including some which
throw and catch errors in the string to evaluate.

  • fast/js/eval-throw-return-expected.txt: Added.
  • fast/js/eval-throw-return.html: Added.
  • fast/js/resources/eval-throw-return.js: Added. (throwFunc): (throwOnReturn): (twoFunc):
19:26 Changeset [40961] by mrowe@apple.com

Merge r40886.

19:26 Changeset [40960] by mrowe@apple.com

Merge r40884.

19:26 Changeset [40959] by mrowe@apple.com

Merge r40882.

19:26 Changeset [40958] by mrowe@apple.com

Merge r40851.

18:10 Changeset [40957] by hyatt@apple.com

2009-02-12 David Hyatt <hyatt@apple.com>

Reviewed by Eric Seidel

Get rid of containingBlockHeight(), since it had only one implementation (despite being virtual) and just returned
containingBlock()->availableHeight(). The latter reads better anyway. Rename containingBlockWidth() to
containingBlockWidthForContent() and move it to RenderBoxModelObject.

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::localCaretRect):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::containingBlockWidthForContent): (WebCore::RenderBox::calcWidth): (WebCore::RenderBox::calcReplacedWidthUsing):
  • rendering/RenderBox.h:
  • rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::relativePositionOffsetX): (WebCore::RenderBoxModelObject::relativePositionOffsetY): (WebCore::RenderBoxModelObject::containingBlockWidthForContent):
  • rendering/RenderBoxModelObject.h:
  • rendering/RenderInline.cpp: (WebCore::RenderInline::marginLeft): (WebCore::RenderInline::marginRight):
  • rendering/RenderObject.cpp:
  • rendering/RenderObject.h:
  • rendering/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::calcReplacedWidth):
17:42 Changeset [40956] by mrowe@apple.com

Versioning.

17:38 Changeset [40955] by mrowe@apple.com

New tag.

17:27 Changeset [40954] by simon.fraser@apple.com

2009-02-12 Simon Fraser <simon.fraser@apple.com>

Fix non-Mac builds by adding Matrix3DTransformOperation.* and
PerspectiveTransformOperation.*. Cleaned out some cruft in
the WebCore.vcproj fle.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.scons:
  • WebCore.vcproj/WebCore.vcproj:
17:19 Changeset [40953] by dsmith@webkit.org

WebCore:

2009-02-12 David Smith <catfish.man@gmail.com>

Reviewed by Dave Hyatt.


Fix https://bugs.webkit.org/show_bug.cgi?id=23935
Nested :not() and non-simple selectors in :not() should be invalid

  • css/CSSGrammar.y: Reject nested :not()
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ASSERT() rather than checking, since the parser enforces it now

LayoutTests:

2009-02-12 David Smith <catfish.man@gmail.com>

Reviewed by David Hyatt.

  • fast/dom/SelectorAPI/resig-SelectorsAPI-test-expected.txt: Updated results now that we pass a few more
17:09 Changeset [40952] by beidson@apple.com

WebKit/mac:

2009-02-12 Brady Eidson <beidson@apple.com>

Reviewed by Kevin Decker

<rdar://problem/6582180> - Wrong HTTP method applied to history item.

  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::updateGlobalHistory): Check the original request, not any redirected request.

WebKit/win:

2009-02-12 Brady Eidson <beidson@apple.com>

Reviewed by Kevin Decker

<rdar://problem/6582180> - Wrong HTTP method applied to history item.

  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::updateGlobalHistory): Check the original request, not any redirected request.
16:48 Changeset [40951] by kevino@webkit.org

wx build fixes.

16:35 Changeset [40950] by simon.fraser@apple.com

2009-02-12 Simon Fraser <simon.fraser@apple.com>

Fix build with ACCELERATED_COMPOSITING turned on.

Need to cast toRenderBox() in order to call overflowClipRect().

  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
16:22 Changeset [40949] by cmarrin@apple.com

Reviewed by Simon Fraser.

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

Fixed test results

16:19 Changeset [40948] by oliver@apple.com

Fix windows build.

Reviewed by NOBODY(OOPS!)

15:53 Changeset [40947] by hyatt@apple.com

2009-02-12 David Hyatt <hyatt@apple.com>

Rename getOverflowClipRect and getClipRect to overflowClipRect and clipRect. Move them to RenderBox, since these methods
only apply to boxes. Devirtualize clipRect, since it was not subclassed. Move controlClip stuff to RenderBox also.

Reviewed by Simon Fraser

  • editing/Editor.cpp: (WebCore::Editor::insideVisibleArea):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::overflowClipRect): (WebCore::RenderBox::clipRect):
  • rendering/RenderBox.h: (WebCore::RenderBox::hasControlClip): (WebCore::RenderBox::controlClipRect):
  • rendering/RenderForeignObject.cpp: (WebCore::RenderForeignObject::paint):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateClipRects): (WebCore::RenderLayer::calculateRects):
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
  • rendering/RenderObject.h: (WebCore::RenderObject::hasClip): (WebCore::RenderObject::hasOverflowClip):
  • rendering/RenderTable.cpp: (WebCore::RenderTable::overflowClipRect):
  • rendering/RenderTable.h:
15:46 Changeset [40946] by simon.fraser@apple.com

2009-02-12 Simon Fraser <simon.fraser@apple.com>

Fix build with ACCELERATED_COMPOSITING turned on (simple copy/paste error)

  • platform/graphics/mac/GraphicsLayerCA.mm: (WebCore::GraphicsLayerCA::setBasicAnimation):
15:28 Changeset [40945] by weinig@apple.com

2009-02-12 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Speed up String.prototype.fontsize.

  • runtime/StringPrototype.cpp: (JSC::stringProtoFuncFontsize): Specialize for defined/commonly used values.
15:18 Changeset [40944] by jchaffraix@webkit.org

2009-02-12 Julien Chaffraix <jchaffraix@webkit.org>

Not reviewed.

Release build fix when VIDEO is disabled (it should also
help those with WORKERS or XSLT disabled).

  • bindings/js/JSDOMWindowBase.cpp: (jsDOMWindowBaseAudio): Added an UNUSED_PARAM for exec and slot when VIDEO is disabled. (jsDOMWindowBaseWorker): Ditto for WORKERS. (jsDOMWindowBaseXSLTProcessor): Ditto for XSLT.
15:14 Changeset [40943] by eric.carlson@apple.com

2009-02-12 Eric Carlson <eric.carlson@apple.com>

Reviewed by Simon Fraser.

https://bugs.webkit.org/show_bug.cgi?id=23923
Implement mediaPlayerVolumeChanged so a media engine can report autonomous volume changes.
Supporting this requires that we know when we are processing a media engine callback so
we don't turn around and tell the media player to change the volume when it is reporting
a volume change.


  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement): initialize m_processingMediaPlayerCallback (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): call begin/endProcessingMediaPlayerCallback (WebCore::HTMLMediaElement::setNetworkState): logic split out of mediaPlayerNetworkStateChanged to make it easier to maintain m_processingMediaPlayerCallback. (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged): call begin/endProcessingMediaPlayerCallback (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Ditto. (WebCore::HTMLMediaElement::mediaPlayerRepaint): Ditto. (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged): New (WebCore::HTMLMediaElement::updateVolume): Don't change media engine volume if we are processing a callback from the engine.
  • html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::processingMediaPlayerCallback): New, return true if (m_processingMediaPlayerCallback>0) (WebCore::HTMLMediaElement::beginProcessingMediaPlayerCallback): New, increment m_processingMediaPlayerCallback (WebCore::HTMLMediaElement::endProcessingMediaPlayerCallback): New, decrement m_processingMediaPlayerCallback
14:55 Changeset [40942] by eric.carlson@apple.com

2009-02-12 Eric Carlson <eric.carlson@apple.com>

Simon Fraser

Support MPEG content on Mac and Windows.
<rdar://problem/5917509>
https://bugs.webkit.org/show_bug.cgi?id=23495

Test: media/audio-mpeg-supported.html

  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
  • platform/graphics/win/QTMovieWin.cpp: (QTMovieWin::disableUnsupportedTracks):
  • platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: fix typo added in r40925

2009-02-12 Eric Carlson <eric.carlson@apple.com>

Reviewed by Simon Fraser.


Support MPEG content on Mac and Windows.
<rdar://problem/5917509>
https://bugs.webkit.org/show_bug.cgi?id=23495

  • media/audio-mpeg-supported-expected.txt: Added.
  • media/audio-mpeg-supported.html: Added.
  • media/content/silence.mpg: Added.
14:54 Changeset [40941] by hyatt@apple.com

2009-02-12 David Hyatt <hyatt@apple.com>

Reviewed by Sam Weinig

Move containsFloats, hasOverhangingFloats, shrinkToAvoidFloats and avoidsFloats down to
RenderBox, since these methods only apply to boxes.

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::collapseMargins): (WebCore::RenderBlock::clearFloatsIfNeeded): (WebCore::RenderBlock::layoutBlockChildren): (WebCore::RenderBlock::clearFloats): (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout): (WebCore::RenderBlock::calcBlockPrefWidths):
  • rendering/RenderBlock.h: (WebCore::RenderBlock::containsFloats): (WebCore::RenderBlock::hasOverhangingFloats):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::shrinkToAvoidFloats): (WebCore::RenderBox::avoidsFloats):
  • rendering/RenderBox.h:
  • rendering/RenderObject.cpp:
  • rendering/RenderObject.h: (WebCore::RenderObject::isFloatingOrPositioned):
  • rendering/RenderView.h:
14:43 Changeset [40940] by andersca@apple.com

2009-02-12 Anders Carlsson <andersca@apple.com>

Reviewed by Kevin Decker.

<rdar://problem/6579412>
REGRESSION (3.2.1-ToT): Crash in Silverlight viewing streaming lecture


  • Plugins/WebNetscapePluginView.h:
  • Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView userAgent]): Apply workaround for Silverlight workaround.


(-[WebNetscapePluginView _createPlugin]):
Check if the plug-in that we're creating is the silverlight plug-in.

14:33 Changeset [40939] by simon.fraser@apple.com

2009-02-12 Chris Marrin <cmarrin@apple.com>

Reviewed by Dave Hyatt

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

Added parsing of 3d transform functions and properties
(perspective, perspective-origin, transform-style-3d,
and backface-visibility).

Test: transforms/3d/cssmatrix-3d-interface.xhtml

14:28 Changeset [40938] by mrowe@apple.com

Versioning.

14:28 Changeset [40937] by ggaren@apple.com

2009-02-12 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Correctness fix.

  • wtf/RandomNumber.cpp: (WTF::randomNumber): Divide by the maximum representable value, which is different on each platform now, to get values between 0 and 1.
14:25 Changeset [40936] by mrowe@apple.com

New tag.

14:22 Changeset [40935] by ggaren@apple.com

2009-02-12 Geoffrey Garen <ggaren@apple.com>

Build fix.

  • wtf/RandomNumber.cpp: (WTF::randomNumber):
14:15 Changeset [40934] by kevino@webkit.org

wx build fix.

13:59 Changeset [40933] by beidson@apple.com

WebCore:

2009-02-12 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler

Fix potential ref-count or null-deref problems with C++ objects as Obj-C members.

  • platform/mac/SharedBufferMac.mm: Change to use RefPtr<> instead of ref()/deref(). (-[WebCoreSharedBufferData dealloc]): (-[WebCoreSharedBufferData finalize]): (-[WebCoreSharedBufferData initWithSharedBuffer:]):

WebKit/mac:

2009-02-12 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler

Fix potential ref-count or null-deref problems with C++ objects as Obj-C members.

  • History/WebBackForwardList.mm: (-[WebBackForwardList dealloc]): Null check before deref()'ing. (-[WebBackForwardList finalize]): Ditto.
  • Misc/WebIconFetcher.mm: (-[WebIconFetcher dealloc]): Null check before deref()'ing. (-[WebIconFetcher finalize]): Ditto.
  • WebCoreSupport/WebEditorClient.mm: Change to use RefPtr<> instead of ref()/deref(). (-[WebEditCommand initWithEditCommand:]): (-[WebEditCommand dealloc]): (-[WebEditCommand finalize]): (-[WebEditCommand command]):
  • WebView/WebArchive.mm: Change to use RefPtr<> instead of ref()/deref(). (-[WebArchivePrivate init]): (-[WebArchivePrivate initWithCoreArchive:]): (-[WebArchivePrivate coreArchive]): (-[WebArchivePrivate setCoreArchive:]): (-[WebArchivePrivate dealloc]): (-[WebArchivePrivate finalize]):
  • WebView/WebDataSource.mm: (-[WebDataSourcePrivate dealloc]): Null check before deref()'ing. (-[WebDataSourcePrivate finalize]): Ditto.
13:56 Changeset [40932] by ggaren@apple.com

2009-02-12 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Fixed <rdar://problem/6582048>.

  • wtf/RandomNumber.cpp: (WTF::randomNumber): Make only one call to the random number generator on platforms where the generator is cryptographically secure. The value of randomness over and above cryptographically secure randomness is not clear, and it caused some performance problems.
13:52 Changeset [40931] by hyatt@apple.com

2009-02-12 David Hyatt <hyatt@apple.com>

Remove calcWidth from RenderObject. Nobody ever called it on RenderObjects.

Reviewed by Sam Weinig

  • rendering/RenderObject.h:
13:38 Changeset [40930] by hyatt@apple.com

2009-02-12 David Hyatt <hyatt@apple.com>

Reviewed by Mark Rowe

Fix for regression where form controls would paint yellow highlights. The containsComposition check needs to
null check node() now.

  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint):
13:34 Changeset [40929] by simon.fraser@apple.com

2009-02-12 Simon Fraser <simon.fraser@apple.com>

Build fix

Change Animation::setDirection() to take the new enum value, and fix
the single caller.

Fix build error in MediaPlayerPrivateQTKit.h.

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::mapAnimationDirection):
  • platform/animation/Animation.h: (WebCore::Animation::setDirection):
  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
13:33 Changeset [40928] by simon.fraser@apple.com

2009-02-12 Simon Fraser <simon.fraser@apple.com>

No review.

Remove debugging code which was committed by mistake.

  • Scripts/run-webkit-tests:
13:26 Changeset [40927] by simon.fraser@apple.com

2009-02-12 Simon Fraser <simon.fraser@apple.com>

Reviewed by Adam Roben

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

Add detection of accelerated compositing and 3d transforms,
and add various directories to $ignoredDirectories when these
features are off.

  • Scripts/run-webkit-tests:
  • Scripts/webkitdirs.pm:
13:18 Changeset [40926] by hyatt@apple.com

2009-02-12 David Hyatt <hyatt@apple.com>

Reviewed by Simon Fraser

Remove the overrideSize methods from RenderObject. Devirtualize all of the accessors on RenderBox.

  • rendering/RenderBox.h:
  • rendering/RenderObject.h:
13:08 Changeset [40925] by eric.carlson@apple.com

2009-02-12 Eric Carlson <eric.carlson@apple.com>

Darin Adler, Antti Koivisto, Holger Hans Peter Freyther


Bug 23797: A platform should be able to use more than one media engine for <video> and <audio>
https://bugs.webkit.org/show_bug.cgi?id=23797

  • WebCore.xcodeproj/project.pbxproj: add MediaPlayerPrivate.h
  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::load): selectMediaURL now also returns a MIME type, pass it to MediaPlayer::load so it can choose the right media engine (WebCore::HTMLMediaElement::selectMediaURL): renamed from pickMedia. use MIMETypeRegistry functions to strip params from the url and extract the codecs parameter. call MediaPlayer::supportsType to see if we can open the file since only a media engine can answer questions about supported type+codecs.
  • html/HTMLMediaElement.h:
  • platform/MIMETypeRegistry.cpp: (WebCore::MIMETypeRegistry::getParameterFromMIMEType): New, find and return a MIME type parameter (WebCore::MIMETypeRegistry::stripParametersFromMIMEType): New, strip all parameters from a MIME type
  • platform/MIMETypeRegistry.h:
  • platform/graphics/MediaPlayer.cpp: (WebCore::NullMediaPlayerPrivate::NullMediaPlayerPrivate): (WebCore::NullMediaPlayerPrivate::load): (WebCore::NullMediaPlayerPrivate::cancelLoad): (WebCore::NullMediaPlayerPrivate::play): (WebCore::NullMediaPlayerPrivate::pause): (WebCore::NullMediaPlayerPrivate::naturalSize): (WebCore::NullMediaPlayerPrivate::hasVideo): (WebCore::NullMediaPlayerPrivate::setVisible): (WebCore::NullMediaPlayerPrivate::duration): (WebCore::NullMediaPlayerPrivate::currentTime): (WebCore::NullMediaPlayerPrivate::seek): (WebCore::NullMediaPlayerPrivate::seeking): (WebCore::NullMediaPlayerPrivate::setEndTime): (WebCore::NullMediaPlayerPrivate::setRate): (WebCore::NullMediaPlayerPrivate::paused): (WebCore::NullMediaPlayerPrivate::setVolume): (WebCore::NullMediaPlayerPrivate::networkState): (WebCore::NullMediaPlayerPrivate::readyState): (WebCore::NullMediaPlayerPrivate::maxTimeSeekable): (WebCore::NullMediaPlayerPrivate::maxTimeBuffered): (WebCore::NullMediaPlayerPrivate::dataRate): (WebCore::NullMediaPlayerPrivate::totalBytesKnown): (WebCore::NullMediaPlayerPrivate::totalBytes): (WebCore::NullMediaPlayerPrivate::bytesLoaded): (WebCore::NullMediaPlayerPrivate::setRect): (WebCore::NullMediaPlayerPrivate::paint): (WebCore::createNullMediaPlayer): Do nothing media player so MediaPlayer doesn't have to NULL check before calling current engine.

(WebCore::MediaPlayerFactory::MediaPlayerFactory): New, factory constructor.
(WebCore::installedMediaEngines): New, returns vector of all installed engines.
(WebCore::addMediaEngine): New, add a media engine to the cache.
(WebCore::chooseBestEngineForTypeAndCodecs): New, return an engine that might support a MIME type.
(WebCore::MediaPlayer::MediaPlayer): create NULL media player so we have a default. Initialize m_currentMediaEngine.
(WebCore::MediaPlayer::~MediaPlayer): don't need to delete m_private, it is now an OwnPtr.
(WebCore::MediaPlayer::load): Take MIME type as well as url, since we need it to find the right

media engine. If no MIME type is provided, try to devine one from the url. Choose a media engine
based on the MIME type and codecs parameter.

(WebCore::MediaPlayer::currentTime): Remove excess white space.
(WebCore::MediaPlayer::supportsType): Take codecs param as well as MIME type. Return enum so we can
indicate "maybe" condition.
(WebCore::MediaPlayer::getSupportedTypes): Build up list of MIME types by consulting all engines.
(WebCore::MediaPlayer::isAvailable): return true if any media engine is installed.

  • platform/graphics/MediaPlayer.h: (WebCore::MediaPlayer::): (WebCore::MediaPlayer::frameView): accessor function.
  • platform/graphics/MediaPlayerPrivate.h: New, declares abstract interface for media engines. (WebCore::MediaPlayerPrivateInterface::~MediaPlayerPrivateInterface): (WebCore::MediaPlayerPrivateInterface::totalBytesKnown):
  • platform/graphics/chromium/MediaPlayerPrivateChromium.h: Add support for engine factory
  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::create): New, media engine factory function (WebCore::MediaPlayerPrivate::registerMediaEngine): Register engine with MediaPlayer factory (WebCore::MediaPlayerPrivate::load): URL is a const String. (WebCore::MediaPlayerPrivate::duration): Declare const. (WebCore::MediaPlayerPrivate::naturalSize): Ditto. (WebCore::MediaPlayerPrivate::hasVideo): Ditto. (WebCore::MediaPlayerPrivate::networkState): Ditto. (WebCore::MediaPlayerPrivate::readyState): Ditto. (WebCore::MediaPlayerPrivate::maxTimeBuffered): Ditto. (WebCore::MediaPlayerPrivate::maxTimeSeekable): Ditto. (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto. (WebCore::MediaPlayerPrivate::bytesLoaded): Ditto. (WebCore::MediaPlayerPrivate::totalBytesKnown): Ditto. (WebCore::MediaPlayerPrivate::totalBytes): Ditto. (WebCore::MediaPlayerPrivate::supportsType): Return MediaPlayer::SupportsType enum instead of bool.
  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: (WebCore::MediaPlayerPrivate::isAvailable):
  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivateQTKit::create): New, media engine factory function (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Register engine with MediaPlayer factory (WebCore::MediaPlayerPrivate::createQTMovieView): don't access MediaPlayer->m_frameView directly, use accessor function. (WebCore::MediaPlayerPrivate::setUpVideoRendering): Ditto. (WebCore::MediaPlayerPrivate::paint): Ditto. (WebCore::mimeTypeCache): New. (WebCore::MediaPlayerPrivate::getSupportedTypes): New, media engine factory function. (WebCore::MediaPlayerPrivate::supportsType): return MediaPlayer::SupportsType enum instead of bool (-[WebCoreMovieObserver initWithCallback:]): fix formatting
  • platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: (WebCore::MediaPlayerPrivate::create): (WebCore::MediaPlayerPrivate::registerMediaEngine): (WebCore::MediaPlayerPrivate::supportsType): (WebCore::MediaPlayerPrivate::load): URL is a const String.
  • platform/graphics/qt/MediaPlayerPrivatePhonon.h: (WebCore::MediaPlayerPrivate::isAvailable):
  • platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::create): New, media engine factory function (WebCore::MediaPlayerPrivate::registerMediaEngine): New, register engine with MediaPlayer factory (WebCore::MediaPlayerPrivate::load): URL is a const String. (WebCore::MediaPlayerPrivate::paint): don't access MediaPlayer->m_frameView directly, use accessor function. (WebCore::mimeTypeCache): New. (WebCore::MediaPlayerPrivateQTWin::getSupportedTypes): New, media engine factory function. (WebCore::MediaPlayerPrivateQTWin::supportsType): return MediaPlayer::SupportsType enum instead of bool
  • platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
12:52 Changeset [40924] by jchaffraix@webkit.org

WebCore:

2009-02-12 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin Adler.

Test: fast/dom/prefixed-image-tag.xhtml

Bug 23915: Remove setPrefix work-around in Document::createElement(QualifiedName, bool)

Instead we now directly propage the QualifiedName inside the generated Factory.

Test: fast/dom/prefixed-image-tag.xhtml

  • dom/Document.cpp: (WebCore::Document::createElement): Removed the setPrefix work-around and replaced it with an ASSERT to catch mistakes inside the Factory code. Remove the unneeded ExceptionCode argument.

(WebCore::Document::createElementNS): Removed ExceptionCode argument.

  • dom/Document.h: Updated the signature.
  • dom/XMLTokenizerLibxml2.cpp: (WebCore::XMLTokenizer::startElementNs): Removed ExceptionCode argument.
  • dom/XMLTokenizerQt.cpp: Ditto. (WebCore::XMLTokenizer::parseStartElement): Ditto.
  • dom/make_names.pl: Implemented the QualifiedName propogation logic in the Factory.

LayoutTests:

2009-02-12 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin Adler.

Bug 23915: Remove setPrefix work-around in Document::createElement(QualifiedName, bool)

The test validates the <image> special treatment (using <img> tag) and see whether
it validates the previous behaviour and we do not ASSERT.

  • fast/dom/prefixed-image-tag-expected.txt: Added.
  • fast/dom/prefixed-image-tag.xhtml: Added.
12:47 Changeset [40923] by simon.fraser@apple.com

2009-02-12 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

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

Define enum values for Animation::direction(), and one for
IterationCountInfinite to make the code more self-documenting.

Order the member vars of Animation to optimize packing.

12:42 Changeset [40922] by christian@webkit.org

Reviewed by Holger Freyther.

  • platform/network/soup/ResourceHandleSoup.cpp: (WebCore::ResourceHandle::startHttp): Don't use O_CLOEXEC for now.
12:31 Changeset [40921] by jchaffraix@webkit.org

WebCore:

2009-02-12 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin Adler.

Bug 23826: Potential bug with before/after rule while moving element from one document to another

Moved the document before/after toggle from the constructor to insertedIntoDocument.

Test: fast/css-generated-content/beforeAfter-interdocument.html

  • html/HTMLQuoteElement.cpp: (WebCore::HTMLQuoteElement::HTMLQuoteElement): (WebCore::HTMLQuoteElement::insertedIntoDocument):
  • html/HTMLQuoteElement.h:

LayoutTests:

2009-02-12 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin Adler.

Bug 23826: Potential bug with before/after rule while moving element from one document to another

  • fast/css-generated-content/beforeAfter-interdocument.html: Added.
  • platform/mac/fast/css-generated-content/beforeAfter-interdocument-expected.txt: Added.
12:30 Changeset [40920] by beidson@apple.com

2009-02-12 Brady Eidson <beidson@apple.com>

Reviewed by Kevin Decker

<rdar://problem/6579750> - Crash in WebArchivePrivate in Tiger TextEdit

NSHTMLReader tries to create a WebArchive from a random chunk of data. Previously, WebArchive creation would
fail and return nil and NSHTMLReader would try something else. When we changed the behavior to return an invalid
WebArchive object, things started getting weird.

  • WebView/WebArchive.mm: (-[WebArchivePrivate setCoreArchive:]): Null check the pointer before calling ->deref() (-[WebArchivePrivate dealloc]): Remove the ASSERT which is now invalid, and null check the pointer before ->deref(). (-[WebArchivePrivate finalize]): Ditto (-[WebArchive initWithData:]): If the LegacyWebArchive cannot be created, return nil instead of an invalid object.
12:18 Changeset [40919] by hyatt@apple.com

2009-02-12 David Hyatt <hyatt@apple.com>

Reviewed by Simon Fraser

Fix for https://bugs.webkit.org/show_bug.cgi?id=23912

I have no idea why this broke. As far as I can tell the old code never should have worked in
the first place. Add code to handleWheelEvent that will find an enclosing renderer for a node
in order to attempt a wheel scroll.

  • page/EventHandler.cpp: (WebCore::EventHandler::handleWheelEvent):
11:44 Changeset [40918] by christian@webkit.org

[GTK] API: hovering-over-link and webkit_web_view_open /_load_foo
http://bugs.webkit.org/show_bug.cgi?id=17176

Reviewed by Holger Freyther.

  • webkit/webkitwebframe.cpp:
  • webkit/webkitwebframe.h:
  • webkit/webkitwebview.cpp:
  • webkit/webkitwebview.h: Introduce webkit_web_frame_load_uri,

webkit_web_frame_load_string, webkit_web_view_load_uri and
webkit_web_view_load_request and unify implementations.

11:41 Changeset [40917] by aroben@apple.com

Try to fix dashboard-region-parser

  • platform/mac/fast/css/dashboard-region-parser.html: Fixed relative paths now that this test has moved.
11:28 Changeset [40916] by hyatt@apple.com

2009-02-12 David Hyatt <hyatt@apple.com>

Move the functions that paint borders, box shadows and border images into RenderBoxModelObject. drawBorder and drawBorderArc, because they are used
for outlines as well as borders, need to stay in RenderObject. Rename them to drawLineForBoxSide and drawArcForBoxSide in order to reflect their
more generic use. Rename the BorderSide struct to BoxSide, since the concept of "side" is just a rectangle concept and not a border concept.

Reviewed by Simon Fraser

  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paintFillLayer): (WebCore::InlineFlowBox::paintBoxShadow): (WebCore::InlineFlowBox::paintBoxDecorations): (WebCore::InlineFlowBox::paintMask):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintColumns):
  • rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::paintNinePieceImage): (WebCore::RenderBoxModelObject::paintBorder): (WebCore::RenderBoxModelObject::paintBoxShadow):
  • rendering/RenderBoxModelObject.h:
  • rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::paintBorderMinusLegend):
  • rendering/RenderInline.cpp: (WebCore::RenderInline::paintOutlineForLine):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::drawLineForBoxSide): (WebCore::RenderObject::drawArcForBoxSide): (WebCore::RenderObject::paintOutline):
  • rendering/RenderObject.h: (WebCore::): (WebCore::RenderObject::hasBoxDecorations):
  • rendering/RenderTableCell.cpp: (WebCore::CollapsedBorders::addBorder): (WebCore::RenderTableCell::paintCollapsedBorder):
11:25 Changeset [40915] by cmarrin@apple.com

Reviewed by Simon Fraser.

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

Skip 16 SVG tests that fail on PPC, until problem is resolved

  • platform/mac/Skipped:
11:21 Changeset [40914] by cmarrin@apple.com

Reviewed by Simon Fraser.

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

This fixes one testcase on PPC Mac

  • svg/custom/getTransformToElement.svg:
10:43 Changeset [40913] by eric.carlson@apple.com

2009-02-12 Eric Carlson <eric.carlson@apple.com>

Reviewed by Simon Fraser

Bug 18322: video element should have ui when scripting is disabled
https://bugs.webkit.org/show_bug.cgi?id=18322

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::controls): always return 'true' when JavaScript is disabled.
  • manual-tests/media-controls-when-javascript-disabled.html: Added.
10:32 Changeset [40912] by christian@webkit.org
  • configure.ac: Make soup the default HTTP backend for the Gtk port.
10:18 Changeset [40911] by dglazkov@chromium.org

2009-02-12 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23906
Add custom V8 bindings for HTMLPlugInElement.

  • bindings/v8/custom/V8HTMLPlugInElementCustom.cpp: Added. (WebCore::NAMED_PROPERTY_GETTER): (WebCore::NAMED_PROPERTY_SETTER): (WebCore::CALLBACK_FUNC_DECL): (WebCore::INDEXED_PROPERTY_GETTER): (WebCore::INDEXED_PROPERTY_SETTER):
10:11 Changeset [40910] by christian@webkit.org

[GTK] Soup backend must handle upload of multiple files
https://bugs.webkit.org/show_bug.cgi?id=18343

Reviewed by Mark Rowe.

  • platform/network/soup/ResourceHandleSoup.cpp: (WebCore::): (WebCore::freeFileMapping): (WebCore::ResourceHandle::startHttp): Support multipart request bodies mmap'ing files to be uploaded.
09:27 Changeset [40909] by aroben@apple.com

Add some tests that fail due to using the wrong font for Hebrew to the Windows Skipped list

  • platform/win/Skipped:
09:10 Changeset [40908] by aroben@apple.com

Fix lots of Perl warnings when building JavaScriptCoreGenerated on Windows

Reviewed by John Sullivan.

  • JavaScriptCore.vcproj/JavaScriptCore/build-generated-files.sh: Create the docs/ directory so that we can write bytecode.html into it. This matches what JavaScriptCore.xcodeproj does.
08:48 Changeset [40907] by aroben@apple.com

Remove some passing tests from the Windows Skipped list

  • platform/win/Skipped: Removed two tests in http/tests/incremental (one of which had been renamed and so was running anyway).
08:48 Changeset [40906] by aroben@apple.com

Fix Bug 23922: Warning message from run-webkit-tests when Skipped file contains non-existent tests is confusing and is given for disabled tests

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

We now no longer warn about disabled tests. The warning now reads:

Skipped list contained '$item', but no file of that name could be
found

Reviewed by John Sullivan.

  • Scripts/run-webkit-tests: (top level): Pass the list name to processIgnoreTests so it can print out a reasonable warning message. (processIgnoreTests): Take a list name as a second parameter and use it to display a better warning message. Also check for a "-disabled" version of the test before warning about it not existing.
08:48 Changeset [40905] by aroben@apple.com

Add a failing loader test to the Windows Skipped list

  • platform/win/Skipped: Added fast/loader/frame-creation-removal.html.
08:48 Changeset [40904] by aroben@apple.com

Add another failing drag-n-drop test to the Windows Skipped list

  • platform/win/Skipped: Added editing/selection/drag-in-iframe.html.
08:48 Changeset [40903] by aroben@apple.com

Fix Bug 23919: Mac-specific test fast/css/dashboard-region-parser is in cross-platform location

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

Moved the test and its results to platform/mac.

Reviewed by Dan Bernstein.

  • platform/mac/fast/css/dashboard-region-parser-expected.txt: Renamed from LayoutTests/fast/css/dashboard-region-parser-expected.txt.
  • platform/mac/fast/css/dashboard-region-parser.html: Renamed from LayoutTests/fast/css/dashboard-region-parser.html.
08:47 Changeset [40902] by aroben@apple.com

Fix Bug 23918: Mac-specific results for fast/css/computed-style[-without-renderer] are sitting in cross-platform location

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

Move Mac-specific results for
fast/css/computed-style[-without-renderer] to platform/mac

Reviewed by John Sullivan.

  • fast/css/computed-style-expected.txt:
  • fast/css/computed-style-without-renderer-expected.txt: Made these results correct for non-Mac platforms by removing the -webkit-dashboard-region references.
  • platform/mac/fast/css/computed-style-expected.txt: Copied from LayoutTests/fast/css/computed-style-expected.txt.
  • platform/mac/fast/css/computed-style-without-renderer-expected.txt: Copied from LayoutTests/fast/css/computed-style-without-renderer-expected.txt.
  • platform/win/fast/css/computed-style-expected.txt:
  • platform/win/fast/css/computed-style-without-renderer-expected.txt: Copied the non-Mac results here, too, since on Windows we first check for Mac-specific results before checking for cross-platform results.
07:01 Changeset [40901] by treat@webkit.org

2009-02-12 Adam Treat <adam.treat@torchmobile.com>

Fix the Qt build following r40871 which changed RenderObject::element()
into RenderObject::node().

  • platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::getMediaElementFromRenderObject): (WebCore::RenderThemeQt::getMediaControlForegroundColor):
02:51 Changeset [40900] by hausmann@webkit.org

2009-02-12 Simon Hausmann <simon.hausmann@nokia.com>

Rubber-stamped by Lars.

Re-enable the JIT in the Qt build with -fno-stack-protector on Linux.

02:45 Changeset [40899] by ap@webkit.org

Build fix.

  • platform/graphics/transforms/RotateTransformOperation.cpp: Include <algorithm>.
01:14 Changeset [40898] by mrowe@apple.com

Merge r40886.

01:14 Changeset [40897] by mrowe@apple.com

Merge r40884.

01:14 Changeset [40896] by mrowe@apple.com

Merge r40882.

01:14 Changeset [40895] by mrowe@apple.com

Merge r40851.

01:14 Changeset [40894] by mrowe@apple.com

Merge r40847.

01:14 Changeset [40893] by mrowe@apple.com

Merge r40808.

01:13 Changeset [40892] by mrowe@apple.com

Merge r40778.

01:10 Changeset [40891] by mrowe@apple.com

Merge r40729.

01:08 Changeset [40890] by ap@webkit.org

2009-02-12 Jian Li <jianli@chromium.org>

Reviewed by Alexey Proskuryakov.

Change worker code to use different proxy class pointers.
https://bugs.webkit.org/show_bug.cgi?id=23859

This is a step towards using separate proxies in multi-process implementation.

  • bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
  • dom/Worker.cpp: (WebCore::Worker::Worker): (WebCore::Worker::~Worker): (WebCore::Worker::postMessage): (WebCore::Worker::terminate): (WebCore::Worker::hasPendingActivity): (WebCore::Worker::notifyFinished): (WebCore::Worker::dispatchMessage):
  • dom/Worker.h:
  • dom/WorkerContext.cpp: (WebCore::WorkerContext::~WorkerContext): (WebCore::WorkerContext::reportException): (WebCore::WorkerContext::addMessage): (WebCore::WorkerContext::postMessage): (WebCore::WorkerContext::dispatchMessage):
  • dom/WorkerContext.h:
  • dom/WorkerContextProxy.h:
  • dom/WorkerMessagingProxy.cpp: (WebCore::MessageWorkerContextTask::performTask): (WebCore::MessageWorkerTask::performTask): (WebCore::WorkerContextProxy::create): (WebCore::WorkerMessagingProxy::WorkerMessagingProxy): (WebCore::WorkerMessagingProxy::~WorkerMessagingProxy): (WebCore::WorkerMessagingProxy::startWorkerContext): (WebCore::postConsoleMessageTask): (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject): (WebCore::WorkerMessagingProxy::workerThreadCreated):
  • dom/WorkerMessagingProxy.h:
  • dom/WorkerObjectProxy.h:
  • dom/WorkerThread.cpp: (WebCore::WorkerThread::create): (WebCore::WorkerThread::WorkerThread): (WebCore::WorkerThread::workerThread):
  • dom/WorkerThread.h: (WebCore::WorkerThread::workerObjectProxy):
  • loader/WorkerThreadableLoader.cpp: (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
00:32 Changeset [40889] by ap@webkit.org

2009-02-12 David Levin <levin@chromium.org>

Reviewed by Alexey Proskuryakov.

Bug 23688: ThreadableLoader needs a sync implementation for Workers.
<https://bugs.webkit.org/show_bug.cgi?id=23688>

Add ResourceError to ThreadableLoaderClient.

No observable change in behavior, so no test.

  • loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::create): (WebCore::DocumentThreadableLoader::willSendRequest): (WebCore::DocumentThreadableLoader::didFail):
  • loader/ThreadableLoaderClient.h: (WebCore::ThreadableLoaderClient::didFail): (WebCore::ThreadableLoaderClient::didFailWillSendRequestCheck):
  • loader/ThreadableLoaderClientWrapper.h: (WebCore::ThreadableLoaderClientWrapper::didFail):
  • loader/WorkerThreadableLoader.cpp: (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): (WebCore::workerContextDidFail): (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
  • loader/WorkerThreadableLoader.h:
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didFail): (WebCore::XMLHttpRequest::didFailWillSendRequestCheck):
  • xml/XMLHttpRequest.h:

02/11/09:

23:58 Changeset [40888] by ap@webkit.org

2009-02-11 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=23705
Fix the UI freeze caused by Worker generating a flood of messages.
Measure time we spend in executing posted work items. If too much time is spent
without returning to the run loop, exit and reschedule.

  • wtf/MainThread.h: Added initializeMainThreadPlatform() to initialize low-level mechanism for posting work items from thread to thread. This removes #ifdefs for WIN and CHROMIUM from platform-independent code.
  • wtf/MainThread.cpp: (WTF::initializeMainThread): (WTF::dispatchFunctionsFromMainThread): Instead of dispatching all work items in the queue, dispatch them one by one and measure elapsed time. After a threshold, reschedule and quit.

(WTF::callOnMainThread):
(WTF::callOnMainThreadAndWait):
Only schedule dispatch if the queue was empty - to avoid many posted messages in the run loop queue.

  • wtf/mac/MainThreadMac.mm: (WTF::scheduleDispatchFunctionsOnMainThread): Use static instance of the mainThreadCaller instead of allocating and releasing it each time. (WTF::initializeMainThreadPlatform):
  • wtf/gtk/MainThreadChromium.cpp: (WTF::initializeMainThreadPlatform):
  • wtf/gtk/MainThreadGtk.cpp: (WTF::initializeMainThreadPlatform):
  • wtf/qt/MainThreadQt.cpp: (WTF::initializeMainThreadPlatform):
  • wtf/win/MainThreadWin.cpp: (WTF::initializeMainThreadPlatform):
  • wtf/wx/MainThreadWx.cpp: (WTF::initializeMainThreadPlatform):
21:53 Changeset [40887] by simon.fraser@apple.com

2009-02-11 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

Fix the build on Leopard with ACCELERATED_COMPOSITING turned on.

  • WebCore.xcodeproj/project.pbxproj: FloatPoint3D needs to be a private header, since it's included by GraphicsLayer.h
  • platform/graphics/mac/GraphicsLayerCA.mm: (WebCore::getTransformFunctionValue): (WebCore::caValueFunctionSupported): (WebCore::GraphicsLayerCA::setAnchorPoint): (WebCore::GraphicsLayerCA::setPreserves3D): (WebCore::GraphicsLayerCA::setContentsToImage): (WebCore::GraphicsLayerCA::setBasicAnimation): (WebCore::GraphicsLayerCA::setKeyframeAnimation):
  • rendering/RenderLayer.h: (WebCore::RenderLayer::isRootLayer): Fix isRootLayer to return true for the renderView's layer, not the root renderer's layer.
21:48 Changeset [40886] by beidson@apple.com

2009-02-11 Brady Eidson <beidson@apple.com>

Fix my last checkin for more effect.

  • WebHistoryItem.cpp: (WebHistoryItem::initFromDictionaryRepresentation):
21:06 Changeset [40885] by adele@apple.com

2009-02-11 Adele Peterson <adele@apple.com>

Reviewed by Oliver Hunt.

Fix for https://bugs.webkit.org/show_bug.cgi?id=23910
<rdar://problem/6160546> REGRESSION: In Full page mode, movie controller hides when I drag the knob if movie is playing

  • rendering/RenderMedia.cpp: (WebCore::RenderMedia::forwardEvent): When we get a mouseOut event, consider the mouse as still within the RenderMedia if the relatedTarget is a descendant.
20:15 Changeset [40884] by mrowe@apple.com

Fix the build.

  • History/WebHistory.mm:

(-[WebHistoryPrivate visitedURL:withTitle:]): Use ASSERT_UNUSED in a manner that makes sense.

20:07 Changeset [40883] by aroben@apple.com

Windows fix for Bug 22239: Implement missing animation & transition APIs on LayoutTestController for non-mac platforms

WebKit/win:

Windows fix for Bug 22239: Implement missing animation & transition
APIs on LayoutTestController for non-mac platforms

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

Reviewed by Simon Fraser.

  • Interfaces/IWebFramePrivate.idl: Added pauseAnimation, pauseTransition, and numberOfActiveAnimations.
  • WebFrame.cpp: (WebFrame::pauseAnimation): (WebFrame::pauseTransition): (WebFrame::numberOfActiveAnimation): Added. These all call through to AnimationController.
  • WebFrame.h: Added pauseAnimation, pauseTransition, and numberOfActiveAnimations.

WebKitTools:

Windows fix for Bug 22239: Implement missing animation & transition
APIs on LayoutTestController for non-mac platforms

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

Reviewed by Simon Fraser.

  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::pauseAnimationAtTimeOnElementWithId): (LayoutTestController::pauseTransitionAtTimeOnElementWithId): (LayoutTestController::numberOfActiveAnimations): Implemented these by calling through to IWebFramePrivate.

LayoutTests:

Windows fix for Bug 22239: Implement missing animation & transition
APIs on LayoutTestController for non-mac platforms

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

Reviewed by Simon Fraser.

  • platform/win/Skipped: Enable the previously-skipped tests.
18:30 Changeset [40882] by beidson@apple.com

WebKit/mac:

2009-02-11 Brady Eidson <beidson@apple.com>

Reviewed by Mark Rowe

<rdar://problem/6570573> Some visit counts in History.plist have insanely high values, can roll over to negative

Remove the item from the date caches before registering the visit. Otherwise it might not be successfully removed
and when we add it back later it will exist in the list twice. This will cause the entry to be written out twice,
which would lead to doubling (or more!) the visit count on next launch when these multiple items are merged.

  • History/WebHistory.mm: (-[WebHistoryPrivate visitedURL:withTitle:]): Swap the removeItemFromDateCaches and visitedWithTitle calls. (-[WebHistoryPrivate addItem:discardDuplicate:]): Add a mode that allows the entry being added to be discarded if an entry for the URL already exists. Use that mode when reading the History.plist so only the most recent entry for a given URL will be used. (-[WebHistoryPrivate addItems:]): (-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):

WebKit/win:

2009-02-11 Brady Eidson <beidson@apple.com>

Reviewed by Mark Rowe

<rdar://problem/6570573> Some visit counts in History.plist have insanely high values, can roll over to negative

Remove the item from the date caches before registering the visit. Otherwise it might not be successfully removed
and when we add it back later it will exist in the list twice. This will cause the entry to be written out twice,
which would lead to doubling (or more!) the visit count on next launch when these multiple items are merged.

  • WebHistory.cpp: (WebHistory::loadHistoryGutsFromURL): (WebHistory::addItems): (WebHistory::addItem): Add a mode that allows the entry being added to be discarded if an entry for the URL already exists. Use that mode when reading the History.plist so only the most recent entry for a given URL will be used. (WebHistory::visitedURL): Swap the removeItemFromDateCaches and visitedWithTitle calls.
  • WebHistory.h:
17:59 Changeset [40881] by hyatt@apple.com

2009-02-11 David Hyatt <hyatt@apple.com>

Remove all of the inline box wrapper functions from RenderObject, since they only apply to RenderBox. Devirtualize the functions.
Patch all of the call sites to convert to a RenderBox.

Reviewed by Simon Fraser

  • dom/Position.cpp: (WebCore::nextRenderedEditable): (WebCore::previousRenderedEditable): (WebCore::Position::getInlineBoxAndOffset):
  • rendering/InlineBox.cpp: (WebCore::InlineBox::deleteLine): (WebCore::InlineBox::extractLine): (WebCore::InlineBox::attachLine):
  • rendering/RenderLineBoxList.cpp: (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
  • rendering/RenderObject.cpp:
  • rendering/RenderObject.h:
  • rendering/RenderObjectChildList.cpp: (WebCore::RenderObjectChildList::removeChildNode):
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::textWithHardLineBreaks):
17:35 Changeset [40880] by hyatt@apple.com

2009-02-11 David Hyatt <hyatt@apple.com>

Eliminate createInlineBox and dirtyLineBoxes from RenderObject. These functions have been devirtualized.
The single call site now calls a helper function that just bit checks and casts before calling the correct
type. RenderBlock's dirtyLineBoxes function was dead code (caused by the RenderFlow deletion), so it has
just been removed.

Reviewed by Eric Seidel

  • rendering/RenderBR.cpp:
  • rendering/RenderBR.h:
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::createRootInlineBox):
  • rendering/RenderBlock.h:
  • rendering/RenderBox.cpp: (WebCore::RenderBox::createInlineBox):
  • rendering/RenderBox.h:
  • rendering/RenderCounter.cpp:
  • rendering/RenderCounter.h:
  • rendering/RenderInline.cpp: (WebCore::RenderInline::createInlineFlowBox):
  • rendering/RenderInline.h:
  • rendering/RenderObject.cpp:
  • rendering/RenderObject.h:
  • rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::createTextBox):
  • rendering/RenderSVGInlineText.h: (WebCore::RenderSVGInlineText::isSVGText):
  • rendering/RenderText.cpp: (WebCore::RenderText::createTextBox): (WebCore::RenderText::createInlineTextBox):
  • rendering/RenderText.h:
  • rendering/bidi.cpp: (WebCore::createInlineBoxForRenderer): (WebCore::RenderBlock::createLineBoxes): (WebCore::RenderBlock::constructLine): (WebCore::RenderBlock::layoutInlineChildren):
16:37 Changeset [40879] by weinig@apple.com

2009-02-11 Sam Weinig <sam@webkit.org>

Reviewed by Gavin Barraclough.

Style cleanup.

  • assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::CodeLocationCommon::CodeLocationCommon): (JSC::AbstractMacroAssembler::CodeLocationCommon::operator bool): (JSC::AbstractMacroAssembler::CodeLocationCommon::reset): (JSC::AbstractMacroAssembler::CodeLocationLabel::addressForSwitch): (JSC::AbstractMacroAssembler::CodeLocationLabel::addressForExceptionHandler): (JSC::AbstractMacroAssembler::CodeLocationLabel::addressForJSR): (JSC::AbstractMacroAssembler::CodeLocationLabel::getJumpDestination): (JSC::AbstractMacroAssembler::CodeLocationJump::relink): (JSC::AbstractMacroAssembler::CodeLocationJump::CodeLocationJump): (JSC::AbstractMacroAssembler::CodeLocationCall::relink): (JSC::AbstractMacroAssembler::CodeLocationCall::calleeReturnAddressValue): (JSC::AbstractMacroAssembler::CodeLocationCall::CodeLocationCall): (JSC::AbstractMacroAssembler::CodeLocationDataLabel32::repatch): (JSC::AbstractMacroAssembler::CodeLocationDataLabel32::CodeLocationDataLabel32): (JSC::AbstractMacroAssembler::CodeLocationDataLabelPtr::repatch): (JSC::AbstractMacroAssembler::CodeLocationDataLabelPtr::CodeLocationDataLabelPtr): (JSC::AbstractMacroAssembler::ProcessorReturnAddress::ProcessorReturnAddress): (JSC::AbstractMacroAssembler::ProcessorReturnAddress::relinkCallerToFunction): (JSC::AbstractMacroAssembler::ProcessorReturnAddress::operator void*): (JSC::AbstractMacroAssembler::PatchBuffer::link): (JSC::::CodeLocationCommon::labelAtOffset): (JSC::::CodeLocationCommon::jumpAtOffset): (JSC::::CodeLocationCommon::callAtOffset): (JSC::::CodeLocationCommon::dataLabelPtrAtOffset): (JSC::::CodeLocationCommon::dataLabel32AtOffset):
16:35 Changeset [40878] by simon.fraser@apple.com

2009-02-11 Simon Fraser <simon.fraser@apple.com>

No review.

Fix ACCELERATED_COMPOSITING build.

  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::createGraphicsLayer): (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateLayerCompositingState):
16:09 Changeset [40877] by cmarrin@apple.com

Reviewed by Dave Hyatt.

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

Adds support for 3D CSS properties (transform-style-3d, perspective,
perspective-origin, and backface-visibility) to RenderStyle and friends

15:18 Changeset [40876] by simon.fraser@apple.com

2009-02-11 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

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

Add a bit on RenderStyle that gets set when running accelerated
transitions of transform or opacity. These ensure that styles
compare as different during the transition, so that interruption
can be detected reliably.

14:43 Changeset [40875] by hyatt@apple.com

2009-02-11 David Hyatt <hyatt@apple.com>

Eliminate the virtual position() function from RenderObject. Rename the position() overrides
in RenderText and RenderBox to positionLineBox and devirtualize them.


Patch the one call site to just check for isText() and isBox() and call the methods directly.


Remove some unnecessary overrides of position() on table sections and rows.


Reviewed by Simon Fraser

  • rendering/RenderBox.cpp: (WebCore::RenderBox::positionLineBox):
  • rendering/RenderBox.h:
  • rendering/RenderObject.h:
  • rendering/RenderSVGRoot.cpp:
  • rendering/RenderSVGRoot.h:
  • rendering/RenderTableRow.h: (WebCore::RenderTableRow::lineHeight):
  • rendering/RenderTableSection.h: (WebCore::RenderTableSection::lineHeight):
  • rendering/RenderText.cpp: (WebCore::RenderText::positionLineBox):
  • rendering/RenderText.h:
  • rendering/bidi.cpp: (WebCore::RenderBlock::computeVerticalPositionsForLine):
14:41 Changeset [40874] by dglazkov@chromium.org

2009-02-11 Scott Violet <sky@google.com>

Reviewed by Simon Fraser.

https://bugs.webkit.org/show_bug.cgi?id=23805
The test transitions/transition-end-event-multiple-03.html occasionally fails.

  • transitions/transition-end-event-multiple-03.html: Upped the timeout.
14:35 Changeset [40873] by dglazkov@chromium.org

2009-02-11 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23901
Add HTML options/collections V8 custom bindings.

  • bindings/v8/custom/V8HTMLCollectionCustom.cpp: Added. (WebCore::getNamedItems): (WebCore::getItem): (WebCore::NAMED_PROPERTY_GETTER): (WebCore::CALLBACK_FUNC_DECL):
  • bindings/v8/custom/V8HTMLFormElementCustom.cpp: Added. (WebCore::NAMED_PROPERTY_GETTER):
  • bindings/v8/custom/V8HTMLInputElementCustom.cpp: (WebCore::ACCESSOR_GETTER): (WebCore::ACCESSOR_SETTER): (WebCore::CALLBACK_FUNC_DECL):
  • bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): (WebCore::ACCESSOR_SETTER):
  • bindings/v8/custom/V8HTMLSelectElementCustom.cpp: Added. (WebCore::CALLBACK_FUNC_DECL): (WebCore::removeElement):
  • bindings/v8/custom/V8HTMLSelectElementCustom.h: Added.
  • bindings/v8/custom/V8NamedNodesCollection.cpp: Added. (WebCore::V8NamedNodesCollection::item): (WebCore::V8NamedNodesCollection::itemWithName):
  • bindings/v8/custom/V8NamedNodesCollection.h: Added. (WebCore::V8NamedNodesCollection::V8NamedNodesCollection): (WebCore::V8NamedNodesCollection::length):
14:20 Changeset [40872] by timothy@apple.com

Added a preference to disable some Inspector's panels.

WebCore:

2009-02-11 Dimitri Dupuis-latour <dupuislatour@apple.com>

Added a preference to disable some Inspector's panels (rdar://6419624, rdar://6419645).
This is controlled via the 'WebKitInspectorHiddenPanels' key; if nothing is specified, all panels are shown.

Reviewed by Timothy Hatcher.

  • inspector/InspectorClient.h:
  • inspector/InspectorController.cpp: (WebCore::hiddenPanels): (WebCore::InspectorController::hiddenPanels): (WebCore::InspectorController::windowScriptObjectAvailable):
  • inspector/InspectorController.h:
  • inspector/front-end/inspector.js: (WebInspector.loaded):
  • loader/EmptyClients.h: (WebCore::EmptyInspectorClient::hiddenPanels):

WebKit/gtk:

2009-02-11 Dimitri Dupuis-latour <dupuislatour@apple.com>

Stub out InspectorClient::hiddenPanels.

Reviewed by Timothy Hatcher.

  • WebCoreSupport/InspectorClientGtk.cpp: (WebKit::InspectorClient::hiddenPanels):
  • WebCoreSupport/InspectorClientGtk.h:

WebKit/mac:

2009-02-11 Dimitri Dupuis-latour <dupuislatour@apple.com>

Added a preference to disable some Inspector's panels (rdar://6419624, rdar://6419645).
This is controlled via the 'WebKitInspectorHiddenPanels' key; if nothing is specified, all panels are shown.

Reviewed by Timothy Hatcher.

  • WebCoreSupport/WebInspectorClient.h:
  • WebCoreSupport/WebInspectorClient.mm: (WebInspectorClient::hiddenPanels):

WebKit/qt:

2009-02-11 Dimitri Dupuis-latour <dupuislatour@apple.com>

Stub out InspectorClientQt::hiddenPanels.

Reviewed by Timothy Hatcher.

  • WebCoreSupport/InspectorClientQt.cpp: (WebCore::InspectorClientQt::hiddenPanels):
  • WebCoreSupport/InspectorClientQt.h:

WebKit/win:

2009-02-11 Dimitri Dupuis-latour <dupuislatour@apple.com>

Stub out WebInspectorClient::hiddenPanels.

Reviewed by Timothy Hatcher.

  • WebCoreSupport/WebInspectorClient.cpp: (WebInspectorClient::hiddenPanels):
  • WebCoreSupport/WebInspectorClient.h:

WebKit/wx:

2009-02-11 Dimitri Dupuis-latour <dupuislatour@apple.com>

Stub out InspectorClientWx::hiddenPanels.

Reviewed by Timothy Hatcher.

  • WebKitSupport/InspectorClientWx.cpp: (WebCore::InspectorClientWx::hiddenPanels):
  • WebKitSupport/InspectorClientWx.h:
14:06 Changeset [40871] by hyatt@apple.com

2009-02-11 David Hyatt <hyatt@apple.com>

Combine RenderObject::element() and RenderObject::node() into a single function.
node() now has the "anonymous bit" checking behavior of element() and will
return 0 for anonymous content. This patch switches all callers of element()
to node() and patches old callers of node() to deal with situations where they
did not expect node() to be 0. A bunch of node() calls were calling stuff on
Document that they clearly didn't intend, so overall this is a nice improvement.


Reviewed by Sam Weinig

  • dom/ContainerNode.cpp: (WebCore::ContainerNode::getUpperLeftCorner):
  • dom/Element.cpp: (WebCore::Element::offsetParent):
  • dom/Position.cpp: (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
  • editing/ModifySelectionListLevel.cpp: (WebCore::getStartEndListChildren): (WebCore::IncreaseSelectionListLevelCommand::doApply): (WebCore::DecreaseSelectionListLevelCommand::doApply):
  • editing/TextIterator.cpp: (WebCore::TextIterator::advance):
  • editing/VisiblePosition.cpp: (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
  • editing/visible_units.cpp: (WebCore::startPositionForLine): (WebCore::endPositionForLine):
  • page/AXObjectCache.cpp: (WebCore::AXObjectCache::get):
  • page/AccessibilityList.cpp: (WebCore::AccessibilityList::isUnorderedList): (WebCore::AccessibilityList::isOrderedList): (WebCore::AccessibilityList::isDefinitionList):
  • page/AccessibilityListBox.cpp: (WebCore::AccessibilityListBox::doAccessibilityHitTest):
  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::isPasswordField): (WebCore::AccessibilityRenderObject::isFileUploadButton): (WebCore::AccessibilityRenderObject::isInputImage): (WebCore::AccessibilityRenderObject::isMultiSelect): (WebCore::AccessibilityRenderObject::isControl): (WebCore::AccessibilityRenderObject::getAttribute): (WebCore::AccessibilityRenderObject::anchorElement): (WebCore::AccessibilityRenderObject::actionElement): (WebCore::AccessibilityRenderObject::mouseButtonListener): (WebCore::AccessibilityRenderObject::helpText): (WebCore::AccessibilityRenderObject::textUnderElement): (WebCore::AccessibilityRenderObject::hasIntValue): (WebCore::AccessibilityRenderObject::intValue): (WebCore::AccessibilityRenderObject::labelElementContainer): (WebCore::AccessibilityRenderObject::title): (WebCore::AccessibilityRenderObject::accessibilityDescription): (WebCore::AccessibilityRenderObject::boundingBoxRect): (WebCore::AccessibilityRenderObject::checkboxOrRadioRect): (WebCore::AccessibilityRenderObject::titleUIElement): (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): (WebCore::AccessibilityRenderObject::text): (WebCore::AccessibilityRenderObject::ariaSelectedTextDOMRange): (WebCore::AccessibilityRenderObject::accessKey): (WebCore::AccessibilityRenderObject::setSelectedTextRange): (WebCore::AccessibilityRenderObject::url): (WebCore::AccessibilityRenderObject::isFocused): (WebCore::AccessibilityRenderObject::setFocused): (WebCore::AccessibilityRenderObject::setValue): (WebCore::AccessibilityRenderObject::isEnabled): (WebCore::AccessibilityRenderObject::visiblePositionRange): (WebCore::AccessibilityRenderObject::index): (WebCore::AccessibilityRenderObject::activeDescendant): (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged): (WebCore::AccessibilityRenderObject::observableObject): (WebCore::AccessibilityRenderObject::roleValue): (WebCore::AccessibilityRenderObject::canSetFocusAttribute): (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
  • page/AccessibilityTable.cpp: (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): (WebCore::AccessibilityTable::title):
  • page/AccessibilityTableCell.cpp: (WebCore::AccessibilityTableCell::titleUIElement):
  • page/AccessibilityTableColumn.cpp: (WebCore::AccessibilityTableColumn::headerObjectForSection):
  • page/AccessibilityTableRow.cpp: (WebCore::AccessibilityTableRow::headerObject):
  • page/EventHandler.cpp: (WebCore::EventHandler::dispatchMouseEvent): (WebCore::EventHandler::canMouseDownStartSelect): (WebCore::EventHandler::canMouseDragExtendSelect): (WebCore::EventHandler::shouldDragAutoNode):
  • page/Frame.cpp: (WebCore::Frame::searchForLabelsAboveCell): (WebCore::Frame::setFocusedNodeIfNeeded):
  • page/FrameView.cpp: (WebCore::FrameView::updateOverflowStatus):
  • page/animation/AnimationBase.cpp: (WebCore::AnimationBase::updateStateMachine):
  • page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::updateAnimationTimer): (WebCore::AnimationController::cancelAnimations): (WebCore::AnimationController::updateAnimations):
  • page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::KeyframeAnimation): (WebCore::KeyframeAnimation::endAnimation):
  • page/mac/AccessibilityObjectWrapper.mm: (blockquoteLevel): (AXAttributeStringSetHeadingLevel):
  • page/mac/FrameMac.mm: (WebCore::Frame::searchForNSLabelsAboveCell):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::verticallyAlignBoxes): (WebCore::InlineFlowBox::paint): (WebCore::shouldDrawTextDecoration):
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintDocumentMarkers):
  • rendering/RenderBR.cpp: (WebCore::RenderBR::positionForCoordinates):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): (WebCore::RenderBlock::handleRunInChild): (WebCore::RenderBlock::paintObject): (WebCore::RenderBlock::isSelectionRoot): (WebCore::RenderBlock::rightmostPosition): (WebCore::RenderBlock::positionForBox): (WebCore::RenderBlock::positionForRenderer): (WebCore::RenderBlock::positionForCoordinates): (WebCore::RenderBlock::hasLineIfEmpty): (WebCore::RenderBlock::updateFirstLetter): (WebCore::RenderBlock::updateHitTestResult): (WebCore::RenderBlock::addFocusRingRects):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::styleWillChange): (WebCore::RenderBox::updateBoxModelInfoFromStyle): (WebCore::RenderBox::paintRootBoxDecorations): (WebCore::RenderBox::positionForCoordinates):
  • rendering/RenderButton.cpp: (WebCore::RenderButton::updateFromElement): (WebCore::RenderButton::canHaveChildren):
  • rendering/RenderCounter.cpp: (WebCore::planCounter):
  • rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::findLegend):
  • rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox):
  • rendering/RenderForeignObject.cpp: (WebCore::RenderForeignObject::translationForAttributes): (WebCore::RenderForeignObject::calculateLocalTransform):
  • rendering/RenderFrame.h: (WebCore::RenderFrame::element):
  • rendering/RenderImage.cpp: (WebCore::RenderImage::paintReplaced): (WebCore::RenderImage::imageMap): (WebCore::RenderImage::nodeAtPoint): (WebCore::RenderImage::updateAltText):
  • rendering/RenderInline.cpp: (WebCore::RenderInline::cloneInline): (WebCore::RenderInline::updateHitTestResult):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::isTransparent): (WebCore::RenderLayer::scrollToOffset): (WebCore::RenderLayer::resize): (WebCore::RenderLayer::createScrollbar): (WebCore::RenderLayer::updateOverflowStatus): (WebCore::RenderLayer::updateScrollInfoAfterLayout): (WebCore::RenderLayer::enclosingElement): (WebCore::RenderLayer::updateHoverActiveState): (WebCore::RenderLayer::updateScrollCornerStyle): (WebCore::RenderLayer::updateResizerStyle):
  • rendering/RenderLayer.h: (WebCore::RenderLayer::isRootLayer):
  • rendering/RenderListItem.cpp: (WebCore::getParentOfFirstLineBox):
  • rendering/RenderMarquee.cpp: (WebCore::RenderMarquee::marqueeSpeed):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::RenderObject): (WebCore::RenderObject::isBody): (WebCore::RenderObject::isHR): (WebCore::RenderObject::isHTMLMarquee): (WebCore::RenderObject::isEditable): (WebCore::RenderObject::addPDFURLRect): (WebCore::RenderObject::showTreeForThis): (WebCore::RenderObject::draggableNode): (WebCore::RenderObject::hasOutlineAnnotation): (WebCore::RenderObject::positionForCoordinates): (WebCore::RenderObject::updateDragState): (WebCore::RenderObject::updateHitTestResult): (WebCore::RenderObject::getUncachedPseudoStyle): (WebCore::RenderObject::getTextDecorationColors): (WebCore::RenderObject::caretMaxOffset): (WebCore::RenderObject::offsetParent):
  • rendering/RenderObject.h: (WebCore::RenderObject::isRoot): (WebCore::RenderObject::isInlineContinuation): (WebCore::RenderObject::node): (WebCore::RenderObject::setNode):
  • rendering/RenderObjectChildList.cpp: (WebCore::RenderObjectChildList::destroyLeftoverChildren):
  • rendering/RenderPart.cpp: (WebCore::RenderPart::updateWidgetPosition):
  • rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget): (WebCore::RenderPartObject::viewCleared):
  • rendering/RenderPath.cpp: (WebCore::RenderPath::calculateLocalTransform): (WebCore::RenderPath::layout): (WebCore::RenderPath::paint): (WebCore::RenderPath::drawMarkersIfNeeded):
  • rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::positionForCoordinates): (WebCore::RenderReplaced::isSelected):
  • rendering/RenderSVGGradientStop.cpp: (WebCore::RenderSVGGradientStop::gradientElement):
  • rendering/RenderSVGImage.cpp: (WebCore::RenderSVGImage::calculateLocalTransform):
  • rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::positionForCoordinates):
  • rendering/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::layout): (WebCore::RenderSVGRoot::applyContentTransforms): (WebCore::RenderSVGRoot::paint): (WebCore::RenderSVGRoot::calcViewport): (WebCore::RenderSVGRoot::absoluteTransform):
  • rendering/RenderSVGText.cpp: (WebCore::RenderSVGText::calculateLocalTransform): (WebCore::RenderSVGText::layout):
  • rendering/RenderSVGTextPath.cpp: (WebCore::RenderSVGTextPath::layoutPath): (WebCore::RenderSVGTextPath::startOffset): (WebCore::RenderSVGTextPath::exactAlignment): (WebCore::RenderSVGTextPath::stretchMethod):
  • rendering/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
  • rendering/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::calcViewport): (WebCore::RenderSVGViewportContainer::viewportTransform): (WebCore::RenderSVGViewportContainer::nodeAtPoint):
  • rendering/RenderTable.cpp: (WebCore::RenderTable::addChild):
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::updateFromElement): (WebCore::RenderTableCell::calcPrefWidths):
  • rendering/RenderTableCol.cpp: (WebCore::RenderTableCol::updateFromElement):
  • rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::addChild):
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::addChild):
  • rendering/RenderText.cpp: (WebCore::RenderText::originalText): (WebCore::RenderText::positionForCoordinates):
  • rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::nodeAtPoint):
  • rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::nodeAtPoint):
  • rendering/RenderTextFragment.cpp: (WebCore::RenderTextFragment::originalText): (WebCore::RenderTextFragment::previousCharacter):
  • rendering/RenderTheme.cpp: (WebCore::RenderTheme::isActive): (WebCore::RenderTheme::isChecked): (WebCore::RenderTheme::isIndeterminate): (WebCore::RenderTheme::isEnabled): (WebCore::RenderTheme::isFocused): (WebCore::RenderTheme::isPressed): (WebCore::RenderTheme::isReadOnlyControl): (WebCore::RenderTheme::isHovered):
  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::updatePressedState): (WebCore::RenderThemeMac::paintMediaFullscreenButton): (WebCore::RenderThemeMac::paintMediaMuteButton): (WebCore::RenderThemeMac::paintMediaPlayButton): (WebCore::RenderThemeMac::paintMediaSeekBackButton): (WebCore::RenderThemeMac::paintMediaSeekForwardButton): (WebCore::RenderThemeMac::paintMediaSliderTrack): (WebCore::RenderThemeMac::paintMediaSliderThumb): (WebCore::RenderThemeMac::paintMediaTimelineContainer): (WebCore::RenderThemeMac::paintMediaCurrentTime): (WebCore::RenderThemeMac::paintMediaTimeRemaining):
  • rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::paintMediaMuteButton): (WebCore::RenderThemeSafari::paintMediaPlayButton): (WebCore::RenderThemeSafari::paintMediaSliderTrack):
  • rendering/RenderTreeAsText.cpp: (WebCore::operator<<): (WebCore::writeSelection):
  • rendering/RenderWidget.cpp: (WebCore::RenderWidget::setWidgetGeometry): (WebCore::RenderWidget::updateWidgetPosition): (WebCore::RenderWidget::nodeAtPoint):
  • rendering/RootInlineBox.cpp: (WebCore::isEditableLeaf):
  • rendering/SVGRenderSupport.cpp: (WebCore::prepareToRenderSVGContent):
  • rendering/SVGRenderTreeAsText.cpp: (WebCore::write):
  • rendering/SVGRootInlineBox.cpp: (WebCore::SVGRootInlineBox::buildLayoutInformation): (WebCore::SVGRootInlineBox::layoutInlineBoxes): (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): (WebCore::SVGRootInlineBox::buildTextChunks):
  • rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::cssPrimitiveToLength):
  • svg/SVGFont.cpp: (WebCore::SVGTextRunWalker::walk): (WebCore::floatWidthOfSubStringUsingSVGFont): (WebCore::Font::drawTextUsingSVGFont):
  • svg/SVGTextContentElement.cpp: (WebCore::findInlineTextBoxInTextChunks):
  • svg/graphics/SVGPaintServer.cpp: (WebCore::SVGPaintServer::fillPaintServer): (WebCore::SVGPaintServer::strokePaintServer):
14:01 Changeset [40870] by beidson@apple.com

2009-02-11 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler

<rdar://problem/3541409> - Further FrameLoader and page cache cleanup

  • history/CachedFrame.cpp: (WebCore::CachedFrame::restore): Moved updatePlatformScriptObjects() here.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::commitProvisionalLoad): Rolled opened() into this method. This method was the only caller and - in the future - will benefit from doing parts of opened()'s work differently. (WebCore::FrameLoader::open): Split off per-frame logic into open(CachedFrame&) method. (WebCore::FrameLoader::closeAndRemoveChild): Added. Do the non-tree related cleanup that FrameTree::removeChild() used to do. (WebCore::FrameLoader::detachFromParent): Call ::closeAndRemoveChild() instead. (WebCore::FrameLoader::cachePageForHistoryItem): Perform the "can cache page" check here.
  • loader/FrameLoader.h:
  • page/FrameTree.cpp: (WebCore::FrameTree::removeChild): Just remove the Frame from the tree. Closing it and other cleanup is the responsibility of the FrameLoader.
  • page/FrameTree.h: (WebCore::FrameTree::detachFromParent): Added to just clear a Frame's parent pointer
14:00 Changeset [40869] by eric@webkit.org

2009-02-11 Scott Violet <sky@google.com>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23882
GraphicsContextSkia draws round rects as solid rects

Fixes two bugs in Skia's GraphicsContext::fillRoundedRect:
. fillRoundedRect had an extra call to fillRect, resulting in always

drawing a solid rectangle.

. if the total radius along a given axis is greater than the size of

the axis to draw, a solid rect should be drawn.

The layout tests LayoutTests/fast/css/shadow-multiple.html and
LayoutTests/fast/box-shadow/basic-shadows.html cover this.

  • platform/graphics/skia/GraphicsContextSkia.cpp: (WebCore::GraphicsContext::fillRoundedRect):
13:45 Changeset [40868] by simon.fraser@apple.com

2009-02-11 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

Add function to RenderStyle to ask whether a background image has been specified.

  • rendering/style/RenderStyle.h: (WebCore::InheritedFlags::hasBackgroundImage):
13:45 Changeset [40867] by weinig@apple.com

2009-02-11 Sam Weinig <sam@webkit.org>

Reviewed by Gavin Barraclough.

  • assembler/AbstractMacroAssembler.h: Fix comments.
13:13 Changeset [40866] by jchaffraix@webkit.org

2009-02-11 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric Seidel.

Bug 23536: Auto-generate HTMLElementFactory

Remove the HTMLElementFactory files. Farewell.

  • html/HTMLElementFactory.cpp: Removed.
  • html/HTMLElementFactory.h: Removed.
13:08 Changeset [40865] by jchaffraix@webkit.org

2009-02-11 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric Seidel.

Bug 23536: Auto-generate HTMLElementFactory

Make the platform auto-generate the HTMLElementFactory.

  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.scons:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • webcore-base.bkl:
12:52 Changeset [40864] by weinig@apple.com

2009-02-11 Sam Weinig <sam@webkit.org>

Reviewed by David Hyatt.

Remove unneeded ASSERTS.

  • rendering/RenderBox.h: (WebCore::RenderBox::width): (WebCore::RenderBox::height): (WebCore::RenderBox::size): (WebCore::RenderBox::frameRect):
12:48 Changeset [40863] by simon.fraser@apple.com

2009-02-11 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

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

When opacity or transform change on an object which has a compositing layer,
avoid repainting the layer.

Added a new StyleDifference value, StyleDifferenceRecompositeLayer, which indicates
that the only thing styleChanged() has to do is to update composited properties of
the layer. RenderStyle::diff() now has an out param for a bitmask of "context sensitive"
properties, currently for opacity and transform. When one of these changes, we need
to see if we have a compositing layer before we decide whether to layout/repaint,
or just update the composited layer, via adjustStyleDifference().

12:18 Changeset [40862] by ap@webkit.org

Reviewed by Darin Adler.

<rdar://problem/6562920> Pasted text should be normalized to NFC

Testing requires putting non-HTML content in pasteboard, so it cannot be done with WebKit alone.

WebCore:

  • platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::plainText): Route the text through -[NSString precomposedStringWithCanonicalMapping].

WebKit/mac:

  • Misc/WebNSURLExtras.mm: (-[NSURL _web_userVisibleString]): Route the URL string through -[NSString precomposedStringWithCanonicalMapping].
  • WebCoreSupport/WebPasteboardHelper.mm: (WebPasteboardHelper::plainTextFromPasteboard): Ditto.
  • WebView/WebHTMLView.mm: (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): Ditto. The affected cases are all plain text ones - RTF, RTFD and HTML are assumed to be precomposed already, and the conversion is performed outside WebKit for those anyway.
12:13 Changeset [40861] by cmarrin@apple.com

Reviewed by Simon Fraser.

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

Added new TransformOperation subclasses and methods to existing ones
to support 3D.

11:43 Changeset [40860] by hyatt@apple.com

2009-02-11 David Hyatt <hyatt@apple.com>

Move createAnonymousBlock() to RenderBlock. Since anonymous blocks are always parented to some other block,
we can move this function to RenderBlock. Fix a couple of call sites as a result of this restriction.

Reviewed by Simon Fraser

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::createAnonymousBlock):
  • rendering/RenderBlock.h:
  • rendering/RenderInline.cpp: (WebCore::RenderInline::childBecameNonInline):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::handleDynamicFloatPositionChange):
  • rendering/RenderObject.h:
11:10 Changeset [40859] by hyatt@apple.com

2009-02-11 David Hyatt <hyatt@apple.com>

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

Remove two complete nonsense lines that I accidentally added from a cut and paste error. This
restores the original logic.

Reviewed by Simon Fraser

  • rendering/RenderBox.cpp: (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
11:02 Changeset [40858] by hyatt@apple.com

2009-02-11 David Hyatt <hyatt@apple.com>

Rename getBaselineOfFirstLineBox to firstLineBoxBaseline. Rename getBaselineOfLastLineBox to
lastLineBoxBaseline. Remove the functions from RenderObject and add them to RenderBox instead.

Reviewed by Eric Seidel

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::baselinePosition): (WebCore::RenderBlock::firstLineBoxBaseline): (WebCore::RenderBlock::lastLineBoxBaseline):
  • rendering/RenderBlock.h:
  • rendering/RenderBox.h: (WebCore::RenderBox::firstLineBoxBaseline): (WebCore::RenderBox::lastLineBoxBaseline):
  • rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutHorizontalBox):
  • rendering/RenderObject.h:
  • rendering/RenderTable.cpp: (WebCore::RenderTable::firstLineBoxBaseline):
  • rendering/RenderTable.h:
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::baselinePosition):
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::firstLineBoxBaseline):
  • rendering/RenderTableSection.h:
10:14 Changeset [40857] by eric.carlson@apple.com

2009-02-11 Eric Carlson <eric.carlson@apple.com>

Reviewed by Simon Fraser

https://bugs.webkit.org/show_bug.cgi?id=23877
Allow port to disable progress events from <video> and <audio> elements

  • html/HTMLMediaElement.cpp: Initialize m_sendProgressEvents. (WebCore::HTMLMediaElement::HTMLMediaElement): Don't post progress events if m_sendProgressEvents is false. (WebCore::HTMLMediaElement::initAndDispatchProgressEvent): Ditto. (WebCore::HTMLMediaElement::load): Ditto.
  • html/HTMLMediaElement.h: Add m_sendProgressEvents
09:20 Changeset [40856] by aroben@apple.com

Fix crashes in http/tests/history/redirect-301.pl and friends on Windows

WebKit/win:

Don't release the shared WebHistory instance on quit

This matches Mac, and prevents a race condition when the process exits
that depends on the order in which global destructors are invoked.

Reviewed by Alexey Proskuryakov.

  • WebHistory.cpp: (sharedHistoryStorage): Changed to use DEFINE_STATIC_LOCAL so the destructor is never called.

WebKitTools:

Fix crashes in http/tests/history/redirect-301.pl and friends on
Windows

Reviewed by Alexey Proskuryakov.

  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::webHistoryItemCount): Null-check the shared WebHistory instance before dereferencing it.
07:00 Changeset [40855] by aroben@apple.com

Windows build fix

  • DerivedSources.cpp: Removed SVGElementFactory.cpp, since including it leads to ambiguities for symbols like "aTag", which exist in both the HTMLNames and SVGNames namespaces.
  • WebCore.vcproj/WebCore.vcproj: Added SVGElementFactory.cpp to the project directly. VS also decided to reformat this file a little bit.
04:04 Changeset [40854] by ap@webkit.org

Trying to fix wx build.

  • bytecode/JumpTable.h: Include "MacroAssembler.h", not <MacroAssembler.h>.
  • jscore.bkl: Added assembler directory to search paths.
00:21 Changeset [40853] by jchaffraix@webkit.org

2009-02-10 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric Seidel.

Bug 23536: Auto-generate HTMLElementFactory

Those are the last auto-generation bits needed to have a working generated HTMLElementFactory:

  • Added a new option mapToTagName that enables a tag to use another's options and tagName (<image> uses imgTag for example) and wired the code generation to be consistent with the current factory.
  • Disabled dashboard compatibility check for HTMLElementFactory as it would make at least one test case fail.
  • Pass the QualifiedName down to the Element constructor for shared constructors to make the generated code as close as possible to the current one. We will pass the QualifiedName for all Element in a forthcoming patch.
  • dom/make_names.pl: Did all the above points and tweaked the code generation to match the current HTMLElementFactory as closely as possible.
  • html/HTMLElementFactory.cpp: (WebCore::quoteConstructor):
  • html/HTMLQuoteElement.cpp: (WebCore::HTMLQuoteElement::HTMLQuoteElement): Moved setUsesBeforeAfterRules to HTMLQuoteElement' constructor because some part of the code creates elements without using the HTMLElementFactory. Also added a FIXME as it is not the right place.
  • html/HTMLTagNames.in: Corrected <image> parameters.

02/10/09:

22:48 Changeset [40852] by jhoneycutt@apple.com

2009-02-10 Jon Honeycutt <jhoneycutt@apple.com>

Windows build fix after r40837.

Not reviewed.

  • DerivedSources.cpp:
22:38 Changeset [40851] by sullivan@apple.com

2009-02-10 John Sullivan <sullivan@apple.com>

Reviewed by Dan Bernstein


<https://bugs.webkit.org/show_bug.cgi?id=23889>, <rdar://problem/6572300>
Negative visit counts stored in History.plist aren't corrected.


It's not clear how a huge negative visit count ended up in History.plist, but we can't
trust data read from disk so we can at least reset this to something sane. WebCore has
no guard against a visit count overflowing an int, but that seems very unlikely to have
caused this.

  • History/WebHistoryItem.mm: (-[WebHistoryItem initFromDictionaryRepresentation:]): If a negative visit count is in the dictionary, replace it with 1. If a negative daily or weekly visit count is in the dictionary, replace it with 0.
22:28 Changeset [40850] by sullivan@apple.com

2009-02-10 John Sullivan <sullivan@apple.com>

Reviewed by Dan Bernstein


<https://bugs.webkit.org/show_bug.cgi?id=23891>
[WebHistoryItem _setVisitCount:] is unused and should be removed

  • History/WebHistoryItem.mm: (-[WebHistoryItem _setVisitCount:]): removed this unused method, which is a synonym for setVisitCount: that was introduced recently and abandoned even more recently
  • History/WebHistoryItemInternal.h: removed declaration of _setVisitCount:
22:06 Changeset [40849] by barraclough@apple.com

2009-02-10 Gavin Barraclough <barraclough@apple.com>

Build
fix.
(Narrow
changelog
for
dhyatt).

  • bytecode/Instruction.h: (JSC::PolymorphicAccessStructureList::PolymorphicStubInfo::set): (JSC::PolymorphicAccessStructureList::PolymorphicAccessStructureList):
22:03 Changeset [40848] by hyatt@apple.com

2009-02-10 David Hyatt <hyatt@apple.com>

Fix for pixel test regression in fast/text. Make sure not to add in
the borderTop and paddingTop of the block to the baseline when painting
strict mode text decorations.


Reviewed by Mark Rowe


  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paintTextDecorations):
  • rendering/InlineFlowBox.h:
21:46 Changeset [40847] by jhoneycutt@apple.com

2009-02-10 Jon Honeycutt <jhoneycutt@apple.com>

<rdar://6349412> REGRESSION(r37204): Page is not repainted during and
after pan scrolling

Reviewed by Steve Falkenburg.

  • platform/ScrollView.cpp: (WebCore::ScrollView::scrollContents): Don't repaint the pan scroll icon rect immediately; we will paint after the view has been scrolled.
20:57 Changeset [40846] by barraclough@apple.com

2009-02-10 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Reduce use of void* / reinterpret_cast in JIT repatching code,
add strong types for Calls and for the various types of pointers
we retain into the JIT generated instruction stream.

No performance impact.

  • assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::ImmPtr::ImmPtr): (JSC::AbstractMacroAssembler::ImmPtr::asIntptr): (JSC::AbstractMacroAssembler::Imm32::Imm32): (JSC::AbstractMacroAssembler::Label::Label): (JSC::AbstractMacroAssembler::DataLabelPtr::DataLabelPtr): (JSC::AbstractMacroAssembler::Call::Call): (JSC::AbstractMacroAssembler::Call::link): (JSC::AbstractMacroAssembler::Call::linkTo): (JSC::AbstractMacroAssembler::Jump::Jump): (JSC::AbstractMacroAssembler::Jump::linkTo): (JSC::AbstractMacroAssembler::CodeLocationCommon::CodeLocationCommon): (JSC::AbstractMacroAssembler::CodeLocationCommon::operator bool): (JSC::AbstractMacroAssembler::CodeLocationCommon::reset): (JSC::AbstractMacroAssembler::CodeLocationLabel::CodeLocationLabel): (JSC::AbstractMacroAssembler::CodeLocationLabel::addressForSwitch): (JSC::AbstractMacroAssembler::CodeLocationLabel::addressForExceptionHandler): (JSC::AbstractMacroAssembler::CodeLocationLabel::addressForJSR): (JSC::AbstractMacroAssembler::CodeLocationLabel::getJumpDestination): (JSC::AbstractMacroAssembler::CodeLocationJump::CodeLocationJump): (JSC::AbstractMacroAssembler::CodeLocationJump::relink): (JSC::AbstractMacroAssembler::CodeLocationCall::CodeLocationCall): (JSC::AbstractMacroAssembler::CodeLocationCall::relink): (JSC::AbstractMacroAssembler::CodeLocationCall::calleeReturnAddressValue): (JSC::AbstractMacroAssembler::CodeLocationDataLabel32::CodeLocationDataLabel32): (JSC::AbstractMacroAssembler::CodeLocationDataLabel32::repatch): (JSC::AbstractMacroAssembler::CodeLocationDataLabelPtr::CodeLocationDataLabelPtr): (JSC::AbstractMacroAssembler::CodeLocationDataLabelPtr::repatch): (JSC::AbstractMacroAssembler::ProcessorReturnAddress::ProcessorReturnAddress): (JSC::AbstractMacroAssembler::ProcessorReturnAddress::relinkCallerToFunction): (JSC::AbstractMacroAssembler::ProcessorReturnAddress::operator void*): (JSC::AbstractMacroAssembler::PatchBuffer::entry): (JSC::AbstractMacroAssembler::PatchBuffer::trampolineAt): (JSC::AbstractMacroAssembler::PatchBuffer::link): (JSC::AbstractMacroAssembler::PatchBuffer::linkTailRecursive): (JSC::AbstractMacroAssembler::PatchBuffer::patch): (JSC::AbstractMacroAssembler::PatchBuffer::locationOf): (JSC::AbstractMacroAssembler::PatchBuffer::returnAddressOffset): (JSC::AbstractMacroAssembler::differenceBetween): (JSC::::CodeLocationCommon::labelAtOffset): (JSC::::CodeLocationCommon::jumpAtOffset): (JSC::::CodeLocationCommon::callAtOffset): (JSC::::CodeLocationCommon::dataLabelPtrAtOffset): (JSC::::CodeLocationCommon::dataLabel32AtOffset):
  • assembler/MacroAssemblerX86Common.h: (JSC::MacroAssemblerX86Common::call):
  • assembler/X86Assembler.h: (JSC::X86Assembler::getCallReturnOffset):
  • bytecode/CodeBlock.h: (JSC::CallLinkInfo::CallLinkInfo): (JSC::getStructureStubInfoReturnLocation): (JSC::getCallLinkInfoReturnLocation):
  • bytecode/Instruction.h: (JSC::PolymorphicAccessStructureList::PolymorphicStubInfo::set): (JSC::PolymorphicAccessStructureList::PolymorphicAccessStructureList):
  • bytecode/JumpTable.h: (JSC::StringJumpTable::ctiForValue): (JSC::SimpleJumpTable::ctiForValue):
  • bytecode/StructureStubInfo.h: (JSC::StructureStubInfo::StructureStubInfo):
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitCatch): (JSC::prepareJumpTableForStringSwitch):
  • interpreter/Interpreter.cpp: (JSC::Interpreter::cti_op_get_by_id_self_fail): (JSC::getPolymorphicAccessStructureListSlot): (JSC::Interpreter::cti_op_throw): (JSC::Interpreter::cti_op_switch_imm): (JSC::Interpreter::cti_op_switch_char): (JSC::Interpreter::cti_op_switch_string): (JSC::Interpreter::cti_vm_throw):
  • jit/JIT.cpp: (JSC::ctiSetReturnAddress): (JSC::ctiPatchCallByReturnAddress): (JSC::JIT::privateCompile): (JSC::JIT::privateCompileCTIMachineTrampolines):
  • jit/JIT.h: (JSC::CallRecord::CallRecord): (JSC::JIT::compileGetByIdSelf): (JSC::JIT::compileGetByIdProto): (JSC::JIT::compileGetByIdChain): (JSC::JIT::compilePutByIdReplace): (JSC::JIT::compilePutByIdTransition): (JSC::JIT::compilePatchGetArrayLength): (JSC::JIT::emitCTICall):
  • jit/JITCall.cpp: (JSC::JIT::unlinkCall): (JSC::JIT::linkCall):
  • jit/JITInlineMethods.h: (JSC::JIT::emitNakedCall): (JSC::JIT::emitCTICall_internal):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdSlowCase): (JSC::JIT::compilePutByIdSlowCase): (JSC::JIT::privateCompilePutByIdTransition): (JSC::JIT::patchGetByIdSelf): (JSC::JIT::patchPutByIdReplace): (JSC::JIT::privateCompilePatchGetArrayLength): (JSC::JIT::privateCompileGetByIdSelf): (JSC::JIT::privateCompileGetByIdProto): (JSC::JIT::privateCompileGetByIdSelfList): (JSC::JIT::privateCompileGetByIdProtoList): (JSC::JIT::privateCompileGetByIdChainList): (JSC::JIT::privateCompileGetByIdChain): (JSC::JIT::privateCompilePutByIdReplace):
20:42 Changeset [40845] by oliver@apple.com

<rdar://problem/6156755> onMouseOver events do not fire properly for cross frame drag and drop

Reviewed by Adele Peterson.

This problem was caused by incorrectly ignoring whether or not the
default behaviour of the mousedown event was suppressed. If a
mousedown handler in a frame prevents default handling then the
subsequent mousemove events fired for the drag should not be
captured by that frame, should the mouse move out of its bounds.

Test: fast/events/mouse-drag-from-frame.html

18:00 Changeset [40844] by kevino@webkit.org

wx build fixes for recent changes to TransformationMatrix and DOMElement.

17:44 Changeset [40843] by simon.fraser@apple.com

2009-02-10 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

Clean up "fallbackAnimating" logic in AnimationBase. This flag indicates
that animation of an accelerated property must run in software for some reason.

Also remove use of private headers in GraphicsLayerCA related to a case
where we may have to fall back on software animation of transform.

17:36 Changeset [40842] by hyatt@apple.com

2009-02-10 David Hyatt <hyatt@apple.com>

Some renames on line boxes. xPos()/yPos() -> x()/y(). setXPos()/setYPos() -> setX()/setY(). m_object/object() -> m_renderer/renderer(). textObject() -> textRenderer().


Reviewed by Sam Weinig

  • dom/Position.cpp: (WebCore::Position::upstream): (WebCore::Position::downstream):
  • editing/VisiblePosition.cpp: (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): (WebCore::VisiblePosition::localCaretRect):
  • editing/visible_units.cpp: (WebCore::startPositionForLine): (WebCore::endPositionForLine): (WebCore::previousLinePosition): (WebCore::nextLinePosition):
  • rendering/EllipsisBox.cpp: (WebCore::EllipsisBox::paint): (WebCore::EllipsisBox::nodeAtPoint):
  • rendering/InlineBox.cpp: (WebCore::InlineBox::showTreeForThis): (WebCore::InlineBox::height): (WebCore::InlineBox::caretMinOffset): (WebCore::InlineBox::caretMaxOffset): (WebCore::InlineBox::deleteLine): (WebCore::InlineBox::extractLine): (WebCore::InlineBox::attachLine): (WebCore::InlineBox::adjustPosition): (WebCore::InlineBox::paint): (WebCore::InlineBox::nodeAtPoint): (WebCore::InlineBox::selectionState): (WebCore::InlineBox::canAccommodateEllipsis):
  • rendering/InlineBox.h: (WebCore::InlineBox::InlineBox): (WebCore::InlineBox::renderer): (WebCore::InlineBox::setX): (WebCore::InlineBox::x): (WebCore::InlineBox::setY): (WebCore::InlineBox::y): (WebCore::InlineBox::topOverflow): (WebCore::InlineBox::bottomOverflow): (WebCore::InlineBox::leftOverflow): (WebCore::InlineBox::rightOverflow): (WebCore::InlineBox::visibleToHitTesting): (WebCore::InlineBox::boxModelObject):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::height): (WebCore::InlineFlowBox::addToLine): (WebCore::InlineFlowBox::removeLineBoxFromRenderObject): (WebCore::InlineFlowBox::extractLineBoxFromRenderObject): (WebCore::InlineFlowBox::attachLineBoxToRenderObject): (WebCore::InlineFlowBox::rendererLineBoxes): (WebCore::InlineFlowBox::onEndChain): (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): (WebCore::InlineFlowBox::placeBoxesHorizontally): (WebCore::InlineFlowBox::verticallyAlignBoxes): (WebCore::InlineFlowBox::adjustMaxAscentAndDescent): (WebCore::verticalPositionForBox): (WebCore::InlineFlowBox::computeLogicalBoxHeights): (WebCore::InlineFlowBox::placeBoxesVertically): (WebCore::InlineFlowBox::nodeAtPoint): (WebCore::InlineFlowBox::paint): (WebCore::InlineFlowBox::paintFillLayer): (WebCore::InlineFlowBox::paintBoxShadow): (WebCore::InlineFlowBox::paintBoxDecorations): (WebCore::InlineFlowBox::paintMask): (WebCore::InlineFlowBox::paintTextDecorations):
  • rendering/InlineFlowBox.h: (WebCore::InlineFlowBox::borderLeft): (WebCore::InlineFlowBox::borderRight): (WebCore::InlineFlowBox::borderTop): (WebCore::InlineFlowBox::borderBottom): (WebCore::InlineFlowBox::baseline):
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::height): (WebCore::InlineTextBox::selectionState): (WebCore::InlineTextBox::selectionRect): (WebCore::InlineTextBox::deleteLine): (WebCore::InlineTextBox::extractLine): (WebCore::InlineTextBox::attachLine): (WebCore::InlineTextBox::placeEllipsisBox): (WebCore::InlineTextBox::isLineBreak): (WebCore::InlineTextBox::nodeAtPoint): (WebCore::InlineTextBox::paint): (WebCore::InlineTextBox::selectionStartEnd): (WebCore::InlineTextBox::paintSelection): (WebCore::InlineTextBox::paintCompositionBackground): (WebCore::InlineTextBox::paintCustomHighlight): (WebCore::InlineTextBox::paintDecoration): (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): (WebCore::InlineTextBox::paintTextMatchMarker): (WebCore::InlineTextBox::paintDocumentMarkers): (WebCore::InlineTextBox::paintCompositionUnderline): (WebCore::InlineTextBox::textPos): (WebCore::InlineTextBox::offsetForPosition): (WebCore::InlineTextBox::positionForOffset):
  • rendering/InlineTextBox.h: (WebCore::InlineTextBox::textRenderer):
  • rendering/ListMarkerBox.cpp: (WebCore::ListMarkerBox::isText):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintEllipsisBoxes): (WebCore::RenderBlock::lowestPosition): (WebCore::RenderBlock::rightmostPosition): (WebCore::RenderBlock::leftmostPosition): (WebCore::RenderBlock::positionForBox): (WebCore::RenderBlock::positionForCoordinates): (WebCore::RenderBlock::getBaselineOfFirstLineBox): (WebCore::RenderBlock::getBaselineOfLastLineBox): (WebCore::RenderBlock::adjustForBorderFit): (WebCore::RenderBlock::addFocusRingRects):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::paintCustomHighlight): (WebCore::RenderBox::position): (WebCore::RenderBox::containingBlockWidthForPositioned): (WebCore::RenderBox::calcAbsoluteHorizontalValues): (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
  • rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::paintFillLayerExtended):
  • rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox):
  • rendering/RenderInline.cpp: (WebCore::RenderInline::absoluteRects): (WebCore::RenderInline::absoluteQuads): (WebCore::RenderInline::offsetLeft): (WebCore::RenderInline::offsetTop): (WebCore::RenderInline::linesBoundingBox): (WebCore::RenderInline::relativePositionedInlineOffset): (WebCore::RenderInline::addFocusRingRects): (WebCore::RenderInline::paintOutline):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::localBoundingBox):
  • rendering/RenderSVGTSpan.cpp: (WebCore::RenderSVGTSpan::absoluteRects): (WebCore::RenderSVGTSpan::absoluteQuads):
  • rendering/RenderSVGText.cpp: (WebCore::RenderSVGText::absoluteRects): (WebCore::RenderSVGText::absoluteQuads): (WebCore::RenderSVGText::relativeBBox):
  • rendering/RenderSVGTextPath.cpp: (WebCore::RenderSVGTextPath::absoluteRects): (WebCore::RenderSVGTextPath::absoluteQuads):
  • rendering/RenderText.cpp: (WebCore::RenderText::absoluteRects): (WebCore::RenderText::absoluteRectsForRange): (WebCore::RenderText::absoluteQuads): (WebCore::RenderText::absoluteQuadsForRange): (WebCore::RenderText::localCaretRect): (WebCore::RenderText::linesBoundingBox):
  • rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::height): (WebCore::RootInlineBox::clearTruncation): (WebCore::RootInlineBox::placeEllipsis): (WebCore::RootInlineBox::paintEllipsisBox): (WebCore::RootInlineBox::addHighlightOverflow): (WebCore::RootInlineBox::paintCustomHighlight): (WebCore::RootInlineBox::paint): (WebCore::RootInlineBox::nodeAtPoint): (WebCore::RootInlineBox::childRemoved): (WebCore::RootInlineBox::fillLineSelectionGap): (WebCore::RootInlineBox::block): (WebCore::isEditableLeaf): (WebCore::RootInlineBox::closestLeafChildForXPos): (WebCore::RootInlineBox::setVerticalOverflowPositions):
  • rendering/RootInlineBox.h: (WebCore::RootInlineBox::bottomOverflow): (WebCore::RootInlineBox::floats): (WebCore::RootInlineBox::setHorizontalOverflowPositions): (WebCore::RootInlineBox::setVerticalSelectionPositions):
  • rendering/SVGCharacterLayoutInfo.cpp: (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
  • rendering/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::calculateGlyphWidth): (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback): (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback): (WebCore::SVGInlineTextBox::svgCharacterHitsPosition): (WebCore::SVGInlineTextBox::nodeAtPoint): (WebCore::SVGInlineTextBox::paintCharacters): (WebCore::SVGInlineTextBox::paintSelection): (WebCore::SVGInlineTextBox::paintDecoration):
  • rendering/SVGRenderTreeAsText.cpp: (WebCore::writeSVGInlineTextBox):
  • rendering/SVGRootInlineBox.cpp: (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker): (WebCore::SVGRootInlineBoxPaintWalker::chunkStartCallback): (WebCore::SVGRootInlineBoxPaintWalker::chunkEndCallback): (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupFillCallback): (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupStrokeCallback): (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback): (WebCore::SVGRootInlineBox::paint): (WebCore::cummulatedWidthOfInlineBoxCharacterRange): (WebCore::cummulatedHeightOfInlineBoxCharacterRange): (WebCore::svgTextRunForInlineTextBox): (WebCore::cummulatedWidthOrHeightOfTextChunk): (WebCore::applyTextAnchorToTextChunk): (WebCore::SVGRootInlineBox::buildLayoutInformation): (WebCore::SVGRootInlineBox::layoutInlineBoxes): (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): (WebCore::SVGRootInlineBox::buildTextChunks):
  • rendering/bidi.cpp: (WebCore::RenderBlock::constructLine): (WebCore::RenderBlock::computeVerticalPositionsForLine): (WebCore::RenderBlock::layoutInlineChildren): (WebCore::RenderBlock::checkLinesForTextOverflow):
  • svg/SVGTextContentElement.cpp: (WebCore::cumulativeCharacterRangeLength): (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): (WebCore::findInlineTextBoxInTextChunks):
17:12 Changeset [40841] by simon.fraser@apple.com

2009-02-10 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

Move enclosingCompositingLayer() from RenderObject to RenderLayer, since it
relates to the RenderLayer z-order/overflow structure, rather than the render tree
parent chain. Add a convenience method, ancestorCompositingLayer(), which finds
the enclosing layer excluding self.

Fix enclosingCompositingLayer() to correctly look at stacking context and overflow
lists.

Check for documentBeingDestroyed() in a few places to avoid work on document
teardown.

17:05 Changeset [40840] by hyatt@apple.com

2009-02-10 David Hyatt <hyatt@apple.com>

Rename xPos() and yPos() on RenderLayer to x() and y() to match RenderBox. Rename setPos to setLocation.

Reviewed by Simon Fraser

  • dom/MouseRelatedEvent.cpp: (WebCore::MouseRelatedEvent::receivedTarget):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPosition): (WebCore::RenderLayer::convertToLayerCoords):
  • rendering/RenderLayer.h: (WebCore::RenderLayer::x): (WebCore::RenderLayer::y): (WebCore::RenderLayer::setLocation):
  • rendering/RenderTreeAsText.cpp: (WebCore::write): (WebCore::externalRepresentation):
16:56 Changeset [40839] by andersca@apple.com

2009-02-10 Anders Carlsson <andersca@apple.com>

Reviewed by Mark Rowe.

<rdar://problem/6573916>
CrashTracer: [USER] 1 crash in Safari at com.apple.WebKit • WebKit::NetscapePluginInstanceProxy::pluginHostDied + 25.


  • Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::instantiatePlugin): If we failed to instantiate the plug-in, invalidate the instance proxy.


  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::invalidate): Remove the instance from the plug-in host's set.


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

16:17 Changeset [40838] by darin@chromium.org

2009-02-10 Darin Fisher <darin@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23879
Add missing PLATFORM(SKIA) changes to TransformationMatrix.h

  • platform/graphics/transforms/TransformationMatrix.h:
15:42 Changeset [40837] by weinig@apple.com

WebCore:

2009-02-10 Sam Weinig <sam@webkit.org>

Reviewed by David Hyatt.

Fix for https://bugs.webkit.org/show_bug.cgi?id=15897
Please implement getBoundingClientRect and getClientRects
<rdar://problem/6139669>

Cursory implementation of Element.getBoundingClientRect and
Element.getClientRects. Adds necessary infrastructure classes
ClientRect and ClientRectList.

Tests: fast/dom/getBoundingClientRect.html

fast/dom/getClientRects.html

  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • dom/ClientRect.cpp: Added. (WebCore::ClientRect::ClientRect):
  • dom/ClientRect.h: Added. (WebCore::ClientRect::create): (WebCore::ClientRect::top): (WebCore::ClientRect::right): (WebCore::ClientRect::bottom): (WebCore::ClientRect::left): (WebCore::ClientRect::width): (WebCore::ClientRect::height):
  • dom/ClientRect.idl: Added.
  • dom/ClientRectList.cpp: Added. (WebCore::ClientRectList::ClientRectList): (WebCore::ClientRectList::~ClientRectList): (WebCore::ClientRectList::length): (WebCore::ClientRectList::item):
  • dom/ClientRectList.h: Added. (WebCore::ClientRectList::create):
  • dom/ClientRectList.idl: Added.
  • dom/Element.cpp: (WebCore::Element::getClientRects): (WebCore::Element::getBoundingClientRect):
  • dom/Element.h:
  • dom/Element.idl:
  • page/DOMWindow.idl:
  • rendering/RenderInline.cpp: (WebCore::RenderInline::absoluteRects): (WebCore::RenderInline::absoluteQuads):

LayoutTests:

2009-02-08 Sam Weinig <sam@webkit.org>

Reviewed by David Hyatt.

Tests for https://bugs.webkit.org/show_bug.cgi?id=15897
Please implement getBoundingClientRect and getClientRects
<rdar://problem/6139669>

  • fast/dom/Window/window-properties-expected.txt:
  • fast/dom/domListEnumeration-expected.txt:
  • fast/dom/getBoundingClientRect-expected.txt: Added.
  • fast/dom/getBoundingClientRect.html: Added.
  • fast/dom/getClientRects-expected.txt: Added.
  • fast/dom/getClientRects.html: Added.
  • fast/dom/resources/domListEnumeration.js:
  • fast/js/global-constructors-expected.txt:
15:20 Changeset [40836] by hyatt@apple.com

2009-02-10 David Hyatt <hyatt@apple.com>

Get rid of capsLockStateMayHaveChanged on RenderObject. It is only implemented by one class (text fields),
so devirtualize and just query at the single call site.

Reviewed by Eric Seidel

  • page/EventHandler.cpp: (WebCore::EventHandler::capsLockStateMayHaveChanged):
  • rendering/RenderObject.h:
  • rendering/RenderTextControlSingleLine.h:
15:00 Changeset [40835] by hyatt@apple.com

2009-02-10 David Hyatt <hyatt@apple.com>

Shrink the size of all RenderObjects (except for RenderInlines) by 4 bytes. This patch moves the cached vertical position member to RenderInlines,
since they were the only objects being queried across multiple lines.


Reviewed by Sam Weinig

  • rendering/InlineFlowBox.cpp: (WebCore::verticalPositionForBox): (WebCore::InlineFlowBox::computeLogicalBoxHeights):
  • rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::verticalPosition):
  • rendering/RenderBoxModelObject.h:
  • rendering/RenderInline.cpp: (WebCore::RenderInline::RenderInline): (WebCore::RenderInline::verticalPositionFromCache):
  • rendering/RenderInline.h: (WebCore::RenderInline::invalidateVerticalPosition):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::RenderObject):
  • rendering/RenderObject.h:
  • rendering/RenderText.cpp:
  • rendering/RenderText.h:
  • rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren):
14:29 QtWebKitJournal edited by hausmann@webkit.org
(diff)
14:26 Changeset [40834] by dglazkov@chromium.org

2009-02-10 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Mark Rowe.

https://bugs.webkit.org/show_bug.cgi?id=23868
Fix code style issues: removed 80-col wrapping, incorrect include style, if statement body on same line.

  • bindings/v8/custom/V8HTMLInputElementCustom.cpp:
  • bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
13:47 Changeset [40833] by dglazkov@chromium.org

2009-02-10 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23868
Add HTMLInputElement and HTMLOptionsCollection V8 custom bindings.

  • bindings/v8/custom/V8HTMLInputElementCustom.cpp: Added. (WebCore::ACCESSOR_GETTER): (WebCore::ACCESSOR_SETTER): (WebCore::CALLBACK_FUNC_DECL):
  • bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: Added. (WebCore::ACCESSOR_GETTER): (WebCore::ACCESSOR_SETTER):
13:12 Changeset [40832] by aroben@apple.com

2009-02-09 Gustavo Noronha Silva <gns@gnome.org>

Fix Bug 23851: Add my blog's webkit category to Planet

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

Reviewed by Mark Rowe.

  • config.ini: Add Gustavo Noronha's blog webkit category.
13:12 Changeset [40831] by aroben@apple.com

Fix Bug 23871: Assertion failure beneath WebCore::openFunc when running http/tests/security/xss-DENIED-xsl-document-redirect.xml

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

Reviewed by Alexey Proskuryakov.

Covered by existing tests.

  • dom/XMLTokenizerLibxml2.cpp: (WebCore::openFunc): Use the two-parameter KURL constructor so that the string will be parsed. libxml2 gives us a UTF-8-encoded string that needs to be parsed.
13:10 Changeset [40830] by aroben@apple.com

Add Michael(tm) Smith's blog to Planet WebKit

Rubberstamped by Alexey Proskuryakov.

  • config.ini:
11:50 Changeset [40829] by hyatt@apple.com

2009-02-10 David Hyatt <hyatt@apple.com>

Shrink the size of all replaced elements (images, form controls, plugins) by 4 bytes by packing the
overflow boolean into the RenderObject base class.

Reviewed by Sam Weinig

  • rendering/RenderObject.cpp: (WebCore::RenderObject::RenderObject):
  • rendering/RenderObject.h: (WebCore::RenderObject::replacedHasOverflow): (WebCore::RenderObject::setReplacedHasOverflow):
  • rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::RenderReplaced): (WebCore::RenderReplaced::~RenderReplaced): (WebCore::RenderReplaced::adjustOverflowForBoxShadow): (WebCore::RenderReplaced::overflowHeight): (WebCore::RenderReplaced::overflowWidth): (WebCore::RenderReplaced::overflowLeft): (WebCore::RenderReplaced::overflowTop): (WebCore::RenderReplaced::overflowRect):
  • rendering/RenderReplaced.h:
11:32 Changeset [40828] by eric.carlson@apple.com

2009-02-10 Eric Carlson <eric.carlson@apple.com>

Reviewed by Simon Fraser.

https://bugs.webkit.org/show_bug.cgi?id=23870
Make it possible for a port to require a user gesture for an <audio> or <video> element
to load a url.

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_loadRestrictions. (WebCore::HTMLMediaElement::attributeChanged): Only one attribute can change so put an "else" between tests. (WebCore::HTMLMediaElement::load): Return INVALID_STATE_ERR if RequireUserGestureLoadRestriction is set and we are not preocessing a user gesture. (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): Remove unnecessary white space. (WebCore::HTMLMediaElement::play): Ditto. (WebCore::HTMLMediaElement::endScrubbing): Remove unnecessary braces added in r40789. (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Cache currentTime() in a local instead of calling it multiple times. (WebCore::HTMLMediaElement::processingUserGesture): New.
  • html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::): Define LoadRestrictions, add m_loadRestrictions.
11:12 Changeset [40827] by zecke@webkit.org

2009-02-10 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Sam Weinig.

Remove the SVG checks from FloatPoint3D as it is used
by TransformationMatrix.

  • platform/graphics/FloatPoint3D.cpp:
  • platform/graphics/FloatPoint3D.h:
11:06 Changeset [40826] by hyatt@apple.com

2009-02-10 David Hyatt <hyatt@apple.com>

Remove the m_baseline member variable from all line boxes, since it can easily be computed when needed and did not need to be cached.

Reviewed by Sam Weinig

  • rendering/EllipsisBox.cpp: (WebCore::EllipsisBox::paint): (WebCore::EllipsisBox::nodeAtPoint):
  • rendering/EllipsisBox.h: (WebCore::EllipsisBox::EllipsisBox):
  • rendering/InlineBox.h: (WebCore::InlineBox::InlineBox):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::verticallyAlignBoxes): (WebCore::InlineFlowBox::computeLogicalBoxHeights): (WebCore::InlineFlowBox::placeBoxesVertically): (WebCore::InlineFlowBox::paintTextDecorations):
  • rendering/InlineFlowBox.h: (WebCore::InlineFlowBox::marginBorderPaddingLeft): (WebCore::InlineFlowBox::marginBorderPaddingRight): (WebCore::InlineFlowBox::marginLeft): (WebCore::InlineFlowBox::marginRight): (WebCore::InlineFlowBox::borderLeft): (WebCore::InlineFlowBox::borderRight): (WebCore::InlineFlowBox::borderTop): (WebCore::InlineFlowBox::borderBottom): (WebCore::InlineFlowBox::paddingLeft): (WebCore::InlineFlowBox::paddingRight): (WebCore::InlineFlowBox::paddingTop): (WebCore::InlineFlowBox::paddingBottom): (WebCore::InlineFlowBox::includeLeftEdge): (WebCore::InlineFlowBox::includeRightEdge): (WebCore::InlineFlowBox::baseline):
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint): (WebCore::InlineTextBox::paintDecoration): (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): (WebCore::InlineTextBox::paintCompositionUnderline):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::getBaselineOfFirstLineBox): (WebCore::RenderBlock::getBaselineOfLastLineBox):
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::baselinePosition):
  • rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::placeEllipsis):
  • rendering/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::paintDecoration):
  • rendering/SVGRootInlineBox.cpp: (WebCore::applyTextAnchorToTextChunk): (WebCore::SVGRootInlineBox::layoutInlineBoxes):
09:56 Changeset [40825] by aroben@apple.com

Fix Bug 23869: Pixel tests can't be run on Windows

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

This patch gets the pixel tests limping along on Windows again.

Reviewed by Dan Bernstein.

  • DumpRenderTree/DumpRenderTree.sln: Changed to use the new Debug_Internal configuration of ImageDiff in the Debug_Internal configuration of this solution.
  • DumpRenderTree/cg/PixelDumpSupportCG.cpp: (printPNG): Changed to call fwrite in a loop, since this call was failing due to the buffer being too large on Windows. (dumpWebViewAsPixelsAndCompareWithExpected): Removed an unnecessary #if PLATFORM(MAC)/#endif.
  • DumpRenderTree/win/ImageDiff.vcproj: Added a Debug_Internal configuration that matches the Debug configuration but also references debug_internal.vsprops.
  • DumpRenderTree/win/PixelDumpSupportWin.cpp: (createBitmapContextFromWebView): Renamed from getBitmapContextFromWebView to match the name used in the cross-platform code.
09:33 Changeset [40824] by ap@webkit.org

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=23867
Eliminate obsolete frame->document() checks

  • page/FrameView.cpp: (WebCore::FrameView::paintContents): Apparently due to a typo (document vs. !document), fillWithRed was always set to false, and other branches were never taken. Removing the check for document restores debug-only red color filling.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): Only call dispatchWindowObjectAvailable() after a document is created. A client can do anything in its delegate method, so we'd need to have frame->document() checks otherwise. DumpRenderTree uses this delegate to add its custom property, and it was crashing due to null document in JSDOMWindowBase::getOwnPropertySlot().
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getOwnPropertySlot):
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::addEventListener): (WebCore::JSDOMWindow::removeEventListener):
  • bindings/js/JSNavigatorCustom.cpp: (WebCore::needsYouTubeQuirk):
  • bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::execute):
  • bindings/js/ScriptControllerMac.mm: (WebCore::updateRenderingForBindings):
  • dom/Document.cpp: (WebCore::Document::initSecurityContext):
  • editing/Editor.cpp: (WebCore::Editor::deleteWithDirection): (WebCore::Editor::dispatchCPPEvent): (WebCore::Editor::applyStyle): (WebCore::Editor::applyParagraphStyle):
  • editing/EditorCommand.cpp: (WebCore::Editor::Command::execute): (WebCore::Editor::Command::isEnabled): (WebCore::Editor::Command::state): (WebCore::Editor::Command::value):
  • editing/SelectionController.cpp: (WebCore::SelectionController::recomputeCaretRect): (WebCore::SelectionController::selectFrameElementInParentIfFullySelected): (WebCore::SelectionController::selectAll): (WebCore::SelectionController::setFocused):
  • inspector/InspectorController.cpp: (WebCore::getResourceDocumentNode):
  • inspector/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
  • loader/DocumentLoader.cpp: (WebCore::canonicalizedTitle): (WebCore::DocumentLoader::stopLoading): (WebCore::DocumentLoader::isLoadingInAPISense): (WebCore::DocumentLoader::subresource): (WebCore::DocumentLoader::getSubresources):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::urlSelected): (WebCore::FrameLoader::stop): (WebCore::FrameLoader::iconURL): (WebCore::FrameLoader::executeIfJavaScriptURL): (WebCore::FrameLoader::clear): (WebCore::FrameLoader::endIfNotLoadingMainResource): (WebCore::FrameLoader::restoreDocumentState): (WebCore::FrameLoader::gotoAnchor): (WebCore::FrameLoader::loadDone): (WebCore::FrameLoader::checkCompleted): (WebCore::FrameLoader::checkCallImplicitClose): (WebCore::FrameLoader::scheduleRefresh): (WebCore::FrameLoader::outgoingOrigin): (WebCore::FrameLoader::canCachePageContainingThisFrame): (WebCore::FrameLoader::logCanCacheFrameDecision): (WebCore::FrameLoader::updatePolicyBaseURL): (WebCore::FrameLoader::setPolicyBaseURL): (WebCore::FrameLoader::frameDetached): (WebCore::FrameLoader::shouldScrollToAnchor): (WebCore::FrameLoader::saveDocumentState):
  • loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::create):
  • loader/icon/IconFetcher.cpp: (WebCore::IconFetcher::create):
  • loader/icon/IconLoader.cpp: (WebCore::IconLoader::startLoading):
  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
  • page/Chrome.cpp: (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
  • page/DOMWindow.cpp: (WebCore::DOMWindow::sessionStorage): (WebCore::DOMWindow::alert): (WebCore::DOMWindow::confirm): (WebCore::DOMWindow::prompt): (WebCore::DOMWindow::scrollX): (WebCore::DOMWindow::scrollY): (WebCore::DOMWindow::getMatchedCSSRules): (WebCore::DOMWindow::openDatabase): (WebCore::DOMWindow::scrollBy): (WebCore::DOMWindow::scrollTo):
  • page/EventHandler.cpp: (WebCore::EventHandler::allowDHTMLDrag): (WebCore::EventHandler::scrollOverflow): (WebCore::EventHandler::handleMousePressEvent): (WebCore::EventHandler::handleMouseDoubleClickEvent): (WebCore::EventHandler::handleMouseMoveEvent): (WebCore::EventHandler::handleMouseReleaseEvent): (WebCore::EventHandler::updateDragAndDrop): (WebCore::EventHandler::handleWheelEvent): (WebCore::EventHandler::sendContextMenuEvent): (WebCore::EventHandler::capsLockStateMayHaveChanged): (WebCore::EventHandler::sendResizeEvent): (WebCore::EventHandler::sendScrollEvent):
  • page/FocusController.cpp: (WebCore::deepFocusableNode): (WebCore::FocusController::advanceFocus):
  • page/Frame.cpp: (WebCore::Frame::setFocusedNodeIfNeeded): (WebCore::Frame::shouldApplyTextZoom): (WebCore::Frame::shouldApplyPageZoom): (WebCore::Frame::setZoomFactor): (WebCore::Frame::setPrinting): (WebCore::Frame::reapplyStyles): (WebCore::Frame::isContentEditable): (WebCore::Frame::computeAndSetTypingStyle): (WebCore::Frame::selectionComputedStyle): (WebCore::Frame::applyEditingStyleToBodyElement): (WebCore::Frame::removeEditingStyleFromBodyElement): (WebCore::Frame::contentRenderer): (WebCore::Frame::styleForSelectionStart): (WebCore::Frame::setSelectionFromNone): (WebCore::Frame::findString): (WebCore::Frame::markAllMatchesForText): (WebCore::Frame::setMarkedTextMatchesAreHighlighted): (WebCore::Frame::documentTypeString): (WebCore::Frame::shouldClose): (WebCore::Frame::respondToChangedSelection):
  • page/FrameView.cpp: (WebCore::FrameView::~FrameView): (WebCore::FrameView::createScrollbar): (WebCore::FrameView::layout): (WebCore::FrameView::layoutTimerFired): (WebCore::FrameView::scheduleRelayout): (WebCore::FrameView::needsLayout): (WebCore::FrameView::unscheduleRelayout): (WebCore::FrameView::windowClipRect):
  • page/Geolocation.cpp: (WebCore::Geolocation::disconnectFrame):
  • page/Page.cpp: (WebCore::networkStateChanged): (WebCore::Page::~Page): (WebCore::Page::unmarkAllTextMatches): (WebCore::Page::setMediaVolume):
  • page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::updateRenderingDispatcherFired):
  • page/mac/EventHandlerMac.mm: (WebCore::EventHandler::currentKeyboardEvent): (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
  • page/mac/FrameMac.mm: (WebCore::Frame::dashboardRegionsDictionary): (WebCore::Frame::setUserStyleSheetLocation): (WebCore::Frame::setUserStyleSheet):
  • storage/LocalStorageArea.cpp: (WebCore::LocalStorageArea::dispatchStorageEvent):
  • storage/SessionStorageArea.cpp: (WebCore::SessionStorageArea::dispatchStorageEvent):
  • svg/graphics/SVGImage.cpp: (WebCore::SVGImage::setContainerSize): (WebCore::SVGImage::usesContainerSize): (WebCore::SVGImage::size): (WebCore::SVGImage::hasRelativeWidth): (WebCore::SVGImage::hasRelativeHeight): Removed frame->document() checks.
09:00 Changeset [40823] by treat@webkit.org

2009-02-10 Adam Treat <adam.treat@torchmobile.com>

Reviewed by George Staikos.

Attempt to fix the Qt build after r40791.

  • rendering/RenderSVGRoot.cpp:
08:55 Changeset [40822] by darin@chromium.org

Fixing ChangeLog entry to include a bug link and description. Thanks to Darin
Adler for noticing the omission.

07:52 Changeset [40821] by aroben@apple.com

Robustify DumpRenderTree/win a little

DumpRenderTree was previously not holding a ref to the WebViews it
created via window.open. It was getting away with this because
WebViews get reffed by being preference notification observers and by
registering for drag-n-drop messages. Now DRT does hold a ref, in case
this situation changes in the future.

Reviewed by Alexey Proskuryakov.

  • DumpRenderTree/win/DumpRenderTree.cpp: (dumpBackForwardListForAllWindows): Added a .get(). (windowToWebViewMap): Changed to use the WindowToWebViewMap typedef.
  • DumpRenderTree/win/DumpRenderTreeWin.h: Changed the windowToWebViewMap() to hold a ref to the WebViews it contains.
07:51 Changeset [40820] by aroben@apple.com

Fix recursive WebView destruction when running DumpRenderTree

DumpRenderTree would call DestroyWindow on a WebView's host window,
which would send a WM_DESTROY message to the WebView's window. Inside
the WebView's WndProc, we would hold a ref to the WebView, then call
close() and revokeDragDrop(), which would release all remaining
references to the WebView other than the ref we held in the WndProc.
When the WndProc exited, the final ref to the WebView would be
released, invoking WebView's destructor. At this point,
IsWindow(m_viewWindow) would return true, since we were still in the
process of handling WM_DESTROY, so we would call DestroyWindow on the
WebView's window again, re-entering the WndProc and re-reffing the
WebView, leading to recursive destruction.

Reviewed by Alexey Proskuryakov.

  • WebView.cpp: (WebView::~WebView): Don't call DestroyWindow if our window is already being destroyed. (WebViewWndProc): Only hold an extra ref to the WebView when we're not being destroyed.
07:28 Changeset [40819] by hausmann@webkit.org

2009-02-10 Karsten Heimrich <kheimric@trolltech.com>

Reviewed by Simon Hausmann.

Fixes missing navigation/url update while clicking on anchor inside
webpage.

07:16 Changeset [40818] by treat@webkit.org

2009-02-10 Adam Treat <adam.treat@torchmobile.com>

Fix the Qt build as class Selection is now VisibleSelection.

  • Api/qwebpage.cpp: (QWebPage::inputMethodQuery):
06:34 Changeset [40817] by aroben@apple.com

Windows build fix after r40813

  • JavaScriptCore.vcproj/jsc/jsc.vcproj: Added profiler/ to the include path so that Profiler.h can be found.
06:28 Changeset [40816] by treat@webkit.org

2009-02-10 Adam Treat <adam.treat@torchmobile.com>

Reviewed by George Staikos.

Minor code cleanup.

  • dom/ContainerNode.cpp: (WebCore::ContainerNode::replaceChild):
06:27 Changeset [40815] by treat@webkit.org

2009-02-10 Adam Treat <adam.treat@torchmobile.com>

Fix Qt build following r40793.

  • editing/qt/EditorQt.cpp:
01:20 Changeset [40814] by ap@webkit.org

2009-02-10 Feng Qian <feng@chromium.org>

Reviewed by Alexey Proskuryakov.

Fix crashes when accessing navigator object of a deleted frame.
https://bugs.webkit.org/show_bug.cgi?id=23626
A layout test is added: fast/dom/navigator-detached-no-crash.html

  • page/Navigator.cpp: (WebCore::Navigator::cookieEnabled): (WebCore::Navigator::javaEnabled):
00:43 Changeset [40813] by barraclough@apple.com

2009-02-09 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Provide a class type for a generated block of JIT code.
Also changes the return address -> bytecode index map to
track the return addess as an unsigned offset into the code
instead of a ptrdiff_t in terms of voids - the latter is
equal to the actual offset / sizeof(void*), making it a
potentially lossy representation.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::PatchBuffer::returnAddressOffset):
  • assembler/X86Assembler.h: (JSC::X86Assembler::getCallReturnOffset):
  • bytecode/CodeBlock.h: (JSC::CallReturnOffsetToBytecodeIndex::CallReturnOffsetToBytecodeIndex): (JSC::getCallReturnOffset): (JSC::CodeBlock::getBytecodeIndex): (JSC::CodeBlock::jitCode): (JSC::CodeBlock::callReturnIndexVector):
  • interpreter/Interpreter.cpp: (JSC::Interpreter::execute): (JSC::Interpreter::cti_vm_dontLazyLinkCall): (JSC::Interpreter::cti_vm_lazyLinkCall):
  • jit/JIT.cpp: (JSC::JIT::privateCompile):
  • jit/JIT.h: (JSC::):
  • jit/JITCall.cpp: (JSC::JIT::linkCall):
  • jit/JITCode.h: Added. (JSC::): (JSC::JITCode::JITCode): (JSC::JITCode::operator bool): (JSC::JITCode::addressForCall): (JSC::JITCode::offsetOf): (JSC::JITCode::execute):
00:34 Changeset [40812] by darin@chromium.org

2009-02-10 Sverrir Berg <sverrir@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23630
Add complex font rendering using Skia instead of Windows ScriptTextOut.
This adds support for enhanced webkit styles when drawing complex
glyphs.

  • platform/graphics/chromium/FontChromiumWin.cpp: (WebCore::Font::drawGlyphs): (WebCore::Font::drawComplexText):
  • platform/graphics/chromium/UniscribeHelper.cpp: (WebCore::containsMissingGlyphs): (WebCore::UniscribeHelper::draw): (WebCore::UniscribeHelper::shape):
  • platform/graphics/chromium/UniscribeHelper.h:
  • platform/graphics/skia/SkiaFontWin.cpp: (WebCore::windowsCanHandleTextDrawing): (WebCore::skiaDrawText): (WebCore::paintSkiaText):
  • platform/graphics/skia/SkiaFontWin.h:
00:26 Changeset [40811] by darin@chromium.org

2009-02-09 John Grabowski <jrg@chromium.org>

Reviewed by Darin Adler.

  • wtf/ThreadingPthreads.cpp: (WTF::initializeThreading): (WTF::isMainThread):
00:16 Changeset [40810] by darin@chromium.org

2009-02-10 Darin Fisher <darin@chromium.org>

Revert r40797 as requested by Sam Weinig.

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

  • bindings/scripts/CodeGeneratorJS.pm:
  • dom/Document.idl:
  • html/HTMLCanvasElement.idl:
00:12 Changeset [40809] by darin@chromium.org

2009-02-09 Darin Fisher <darin@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23855
Fix TransformationMatrixSkia.cpp and GraphicsContextSkia.cpp bustage

  • platform/graphics/skia/GraphicsContextSkia.cpp: (WebCore::GraphicsContext::getCTM):
  • platform/graphics/skia/TransformationMatrixSkia.cpp: (WebCore::TransformationMatrix::operator SkMatrix):

02/09/09:

21:41 Changeset [40808] by mitz@apple.com

Reviewed by Dave Hyatt.

  • fix <rdar://problem/6568942> REGRESSION: Font rendering in Wikipedia input field is incorrect (default GDI text mode)
  • platform/graphics/win/SimpleFontDataWin.cpp: (WebCore::SimpleFontData::widthForGDIGlyph): Make sure that the DC is in the advanced graphics mode before calling GetCharWidthI(), because otherwise that function returns incorrect results for the default UI font at a certain size.
21:22 Changeset [40807] by simon.fraser@apple.com

2009-02-09 Chris Marrin <cmarrin@apple.com>

Reviewed by Simon Fraser

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

Added 3D functions to WebKitCSSMatrix. This depends on the 3D functions
added to TransformationMatrix in https://bugs.webkit.org/show_bug.cgi?id=6868

Test: transforms/3d/cssmatrix-3d-interface.xhtml

21:20 Changeset [40806] by mrowe@apple.com

Fix <https://bugs.webkit.org/show_bug.cgi?id=23863> / <rdar://problem/6571390>.
Bug 23863: Reproducible crash in Mail with TOT WebKit when creating a new message

Reviewed by Dan Bernstein.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _removeMouseMovedObserverUnconditionally]): Nil-check _private as it may have not
yet been initialized if this WebHTMLView was loaded from a nib.
(-[WebHTMLView _removeSuperviewObservers]): Ditto.

19:13 Changeset [40805] by hyatt@apple.com

Land updated layout tests after recent changes.

19:13 Changeset [40804] by mrowe@apple.com

Fix <https://bugs.webkit.org/show_bug.cgi?id=23858>
Bug 23858: Crash when removing a HTMLSelectElement from the document from inside its focus event handler

Reviewed by Darin Adler.

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::menuListDefaultEventHandler): Don't store the renderer in a local variable
as it can be invalidated by any of the calls to focus() within the function. Instead, retrieve it and
null-check it when it is needed.

Test for <https://bugs.webkit.org/show_bug.cgi?id=23858>
Bug 23858: Crash when removing a HTMLSelectElement from the document from inside its focus event handler

Reviewed by Sam Weinig.

  • fast/dom/HTMLSelectElement/remove-element-from-within-focus-handler-crash-expected.txt: Added.
  • fast/dom/HTMLSelectElement/remove-element-from-within-focus-handler-crash.html: Added.
19:00 Changeset [40803] by hyatt@apple.com

Land updated svg layout tests after recent changes.

18:47 Changeset [40802] by hyatt@apple.com

2009-02-09 David Hyatt <hyatt@apple.com>

Remove the m_height member from InlineBox. This shaves 4 bytes off of all inline boxes. Unfortunately SVG
sets heights that are independent of the renderer or of the font, and so all SVG boxes have to retain m_height
member variables.

height() on InlineBox is now a virtual function that does a dynamic computation (including shrinking boxes
with no text children). For SVG boxes there is also a non-virtual setHeight function for updating the
m_height member variable like before.


Reviewed by Darin Adler

  • rendering/EllipsisBox.cpp: (WebCore::EllipsisBox::nodeAtPoint):
  • rendering/EllipsisBox.h: (WebCore::EllipsisBox::EllipsisBox):
  • rendering/InlineBox.cpp: (WebCore::InlineBox::height): (WebCore::InlineBox::root):
  • rendering/InlineBox.h: (WebCore::InlineBox::InlineBox): (WebCore::InlineBox::isInlineFlowBox): (WebCore::InlineBox::isRootInlineBox): (WebCore::InlineBox::topOverflow): (WebCore::InlineBox::bottomOverflow): (WebCore::InlineBox::leftOverflow): (WebCore::InlineBox::rightOverflow):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::height): (WebCore::InlineFlowBox::adjustMaxAscentAndDescent): (WebCore::InlineFlowBox::computeLogicalBoxHeights): (WebCore::InlineFlowBox::placeBoxesVertically): (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren): (WebCore::InlineFlowBox::nodeAtPoint):
  • rendering/InlineFlowBox.h: (WebCore::InlineFlowBox::isInlineFlowBox):
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::height): (WebCore::InlineTextBox::nodeAtPoint): (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): (WebCore::InlineTextBox::paintCompositionUnderline):
  • rendering/InlineTextBox.h:
  • rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::height): (WebCore::RootInlineBox::placeEllipsis): (WebCore::RootInlineBox::setVerticalOverflowPositions):
  • rendering/RootInlineBox.h: (WebCore::RootInlineBox::isRootInlineBox): (WebCore::RootInlineBox::topOverflow): (WebCore::RootInlineBox::bottomOverflow): (WebCore::RootInlineBox::leftOverflow): (WebCore::RootInlineBox::rightOverflow): (WebCore::RootInlineBox::selectionBottom): (WebCore::RootInlineBox::Overflow::Overflow): (WebCore::RootInlineBox::setVerticalSelectionPositions):
  • rendering/SVGInlineFlowBox.h: (WebCore::SVGInlineFlowBox::SVGInlineFlowBox): (WebCore::SVGInlineFlowBox::height): (WebCore::SVGInlineFlowBox::setHeight):
  • rendering/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::SVGInlineTextBox):
  • rendering/SVGInlineTextBox.h: (WebCore::SVGInlineTextBox::height): (WebCore::SVGInlineTextBox::setHeight):
  • rendering/SVGRootInlineBox.cpp: (WebCore::SVGRootInlineBox::layoutInlineBoxes):
  • rendering/SVGRootInlineBox.h: (WebCore::SVGRootInlineBox::SVGRootInlineBox): (WebCore::SVGRootInlineBox::height): (WebCore::SVGRootInlineBox::setHeight):
17:32 Changeset [40801] by eric@webkit.org

Reviewed by Sam Weinig.

Document our Selection DOM extensions
(in preparation for re-writing Selection to work with ranges)

  • page/DOMSelection.cpp: (WebCore::DOMSelection::type):
  • page/DOMSelection.h:
  • page/DOMSelection.idl:
17:31 Changeset [40800] by barraclough@apple.com

2009-02-09 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Minor bugfix, incorrect check meant that subtraction causing integer overflow
would be missed on x86-64 JIT.

  • jit/JITArithmetic.cpp: (JSC::JIT::compileBinaryArithOp):
17:28 Changeset [40799] by barraclough@apple.com

2009-02-09 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

A more sensible register allocation for x86-64.

When WREC was ported to x86-64 it stuck with the same register allocation as x86.
This requires registers to be reordered on entry into WREC generated code, since
argument passing is different on x86-64 and x86 (regparm(3)). This patch switches
x86-64 to use a native register allocation, that does not require argument registers
to be reordered.

  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateEnter): (JSC::WREC::Generator::generateReturnSuccess): (JSC::WREC::Generator::generateReturnFailure):
  • wrec/WRECGenerator.h:
17:10 Changeset [40798] by eric@webkit.org

Attempt to fix wx build

  • WebCoreSources.bkl: change Selection to VisibleSelection
14:32 Changeset [40797] by darin@chromium.org

2009-02-06 Darin Fisher <darin@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23809
Return CanvasRenderingContext2D instead of DOMObject in IDL to avoid V8 #ifdefs

  • bindings/scripts/CodeGeneratorJS.pm:
  • dom/Document.idl:
  • html/HTMLCanvasElement.idl:
14:17 Changeset [40796] by eric@webkit.org

Fix the gtk build by adding VisibleSelection and removing Selection.

  • GNUmakefile.am:
14:09 Changeset [40795] by krit@webkit.org

2009-02-09 Dirk Schulze <krit@webkit.org>

Reviewed by Eric Seidel.

Transform the gradient instead of the context for most platforms and
transform the context after CGContextReplacePathWithStrokedPath for CG.

REGRESSION: SVG gradient transformation/BoundingBox can cause ugly stroke thickness
https://bugs.webkit.org/show_bug.cgi?id=23547

  • platform/graphics/Gradient.h: (WebCore::Gradient::setGradientSpaceTransform): (WebCore::Gradient::gradientSpaceTransform):
  • platform/graphics/cairo/GradientCairo.cpp: (WebCore::Gradient::platformGradient):
  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath): (WebCore::GraphicsContext::fillRect):
  • platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath): (WebCore::GraphicsContext::fillRect):
  • platform/graphics/skia/GradientSkia.cpp: (WebCore::Gradient::platformGradient):
  • svg/graphics/SVGPaintServerGradient.cpp: (WebCore::SVGPaintServerGradient::SVGPaintServerGradient): (WebCore::clipToTextMask): (WebCore::SVGPaintServerGradient::setup): (WebCore::SVGPaintServerGradient::teardown):
14:05 Changeset [40794] by weinig@apple.com

2009-02-09 Sam Weinig <sam@webkit.org>

Reviewed by David Hyatt.

Fix the highlight when inspecting inline elements.

  • inspector/InspectorController.cpp: (WebCore::drawHighlightForBox): (WebCore::drawHighlightForLineBoxes): (WebCore::InspectorController::drawNodeHighlight):
13:43 Changeset [40793] by eric@webkit.org

First pass at s/Selection/VisibleSelection

13:07 Changeset [40792] by dglazkov@chromium.org

WebCore:

2009-02-09 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Dave Hyatt.

https://bugs.webkit.org/show_bug.cgi?id=23806
Fix a regression crash where an empty src value and a "text/html" type
on an EMBED element did not finish ResourceRequest initialization due to
an early return.

Test: fast/loader/empty-embed-src-attribute.html

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest):

LayoutTests:

2009-02-09 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Dave Hyatt.

https://bugs.webkit.org/show_bug.cgi?id=23806
New test for the crash with an embed element with an empty src and
"text/html" type.

  • fast/loader/empty-embed-src-attribute-expected.txt: Added.
  • fast/loader/empty-embed-src-attribute.html: Added.
12:55 Changeset [40791] by rwlbuis@webkit.org

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23816
Clean up RenderSVGRoot.cpp

Clean up RenderSVGRoot.cpp.

  • rendering/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::paint): (WebCore::RenderSVGRoot::calcViewport):
12:41 Changeset [40790] by zecke@webkit.org

2009-02-09 Calvin Walton <calvin.walton@gmail.com>

Reviewed by Holger Freyther.

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

[Gtk] Fix build with recent autotools

Current versions of automake/libtool don't assume you want C++ enabled
by default any more, so explicitly check for a C++ compiler.

  • configure.ac: Add AC_PROG_CXX macro
11:48 Changeset [40789] by eric.carlson@apple.com

2009-02-09 Eric Carlson <eric.carlson@apple.com>

Reviewed by Antti Koivisto


https://bugs.webkit.org/show_bug.cgi?id=23737
Make it possible to control media element playback without knowing so many
internal implementation details.

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::togglePlayState): New, toggle between playing and paused state. (WebCore::HTMLMediaElement::beginScrubbing): New, pause as necessary for scrubbing mode. (WebCore::HTMLMediaElement::endScrubbing): New, resume playback if paused for scrubbing mode.
  • html/HTMLMediaElement.h:

(WebCore::HTMLMediaElement::hasVideo): New, added so clients don't need to access MediaPlayer directly.

  • html/HTMLVideoElement.h:

(WebCore::HTMLVideoElement::hasVideo): New.

  • rendering/MediaControlElements.cpp: (WebCore::MediaControlPlayButtonElement::defaultEventHandler): Use new media element togglePlayState method. (WebCore::MediaControlTimelineElement::defaultEventHandler): Tell media element when scrubbing begins and ends so it can deal with pausing logic. Don't call setCurrentTime unless the time will change.
  • rendering/RenderMedia.cpp: (WebCore::RenderMedia::updateControls): Ask media element if it is able to play instead of including internal logic here. (WebCore::RenderMedia::updateControlVisibility): Ditto.
11:37 Changeset [40788] by eric.carlson@apple.com

2009-02-09 Eric Carlson <eric.carlson@apple.com>

Reviewed by Antti Koivisto

Change RenderPart and RenderPartObject constructors to take a Node*
instead of a HTMLFrameOwnerElement* since that is all then need.

  • rendering/RenderPart.cpp: (WebCore::RenderPart::RenderPart): take Node* instead of HTMLFrameOwnerElement*
  • rendering/RenderPart.h:
  • rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::RenderPartObject): take Node* instead of HTMLFrameOwnerElement*
  • rendering/RenderPartObject.h:
11:28 Changeset [40787] by mitz@apple.com
  • fix -Wmissing-prototypes builds
  • editing/ReplaceSelectionCommand.cpp: (WebCore::isHeaderElement): Marked this function static. (WebCore::haveSameTagName): Ditto.
  • editing/markup.cpp: (WebCore::isSpecialAncestorBlock): Ditto.
  • platform/graphics/transforms/TransformationMatrix.cpp: (WebCore::makeMapBetweenRects): Removed unused function.
  • platform/graphics/transforms/TransformationMatrix.h: Removed unused declaration of private member makeMapBetweenRects().
11:21 Changeset [40786] by andersca@apple.com

2009-02-06 Anders Carlsson <andersca@apple.com>

Reviewed by Kevin Decker.


Fix crash when plug-in host dies.


  • Plugins/Hosted/HostedNetscapePluginStream.mm: (WebKit::HostedNetscapePluginStream::didFail):
11:03 Changeset [40785] by treat@webkit.org

2009-02-09 Adam Treat <adam.treat@torchmobile.com>

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=23850
Code cleanup of HTMLParser class which was using a mix of m_* and bare
class member variable names which helps to obfuscate the code. Also
changed a few of the static helper functions to take a const pointer type
as they should not be modifying the node.

  • html/HTMLParser.cpp: (WebCore::HTMLParser::HTMLParser): (WebCore::HTMLParser::~HTMLParser): (WebCore::HTMLParser::reset): (WebCore::HTMLParser::setCurrent): (WebCore::HTMLParser::parseToken): (WebCore::HTMLParser::parseDoctypeToken): (WebCore::isTableSection): (WebCore::isTablePart): (WebCore::isTableRelated): (WebCore::HTMLParser::insertNode): (WebCore::HTMLParser::handleError): (WebCore::HTMLParser::textCreateErrorCheck): (WebCore::HTMLParser::commentCreateErrorCheck): (WebCore::HTMLParser::headCreateErrorCheck): (WebCore::HTMLParser::bodyCreateErrorCheck): (WebCore::HTMLParser::framesetCreateErrorCheck): (WebCore::HTMLParser::formCreateErrorCheck): (WebCore::HTMLParser::isindexCreateErrorCheck): (WebCore::HTMLParser::noscriptCreateErrorCheck): (WebCore::HTMLParser::pCloserStrictCreateErrorCheck): (WebCore::HTMLParser::mapCreateErrorCheck): (WebCore::HTMLParser::getNode): (WebCore::HTMLParser::allowNestedRedundantTag): (WebCore::HTMLParser::processCloseTag): (WebCore::HTMLParser::isInline): (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): (WebCore::HTMLParser::reopenResidualStyleTags): (WebCore::HTMLParser::pushBlock): (WebCore::HTMLParser::popBlock): (WebCore::HTMLParser::popOneBlockCommon): (WebCore::HTMLParser::popOneBlock): (WebCore::HTMLParser::moveOneBlockToStack): (WebCore::HTMLParser::checkIfHasPElementInScope): (WebCore::HTMLParser::popInlineBlocks): (WebCore::HTMLParser::freeBlock): (WebCore::HTMLParser::createHead): (WebCore::HTMLParser::handleIsindex): (WebCore::HTMLParser::startBody): (WebCore::HTMLParser::finished): (WebCore::HTMLParser::reportErrorToConsole):
  • html/HTMLParser.h:
10:38 Changeset [40784] by ap@webkit.org

Applying review comment on a second location.

  • rendering/RenderText.cpp: (WebCore::RenderText::nextOffset): Use "ifdef BUILDING_ON_TIGER".
10:35 Changeset [40783] by ap@webkit.org

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=23845
editing/deleting/backward-deletion.html fails on Tiger

  • rendering/RenderText.cpp: (WebCore::RenderText::previousOffset): (WebCore::RenderText::nextOffset): Work around a bug in older ICU versions by hardcoding narrow voiced marks.
07:49 Changeset [40782] by aroben@apple.com

Windows build fix

  • WebCore.vcproj/WebCore.vcproj: Fix the XML syntax.
02:13 Changeset [40781] by ap@webkit.org

2009-02-09 Jian Li <jianli@chromium.org>

Reviewed by Alexey Proskuryakov.

Make WorkerMessagingProxy derive from two base proxy classes.
https://bugs.webkit.org/show_bug.cgi?id=23777

  • bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
  • dom/Worker.cpp: (WebCore::Worker::terminate): (WebCore::Worker::hasPendingActivity):
  • dom/WorkerContext.cpp: (WebCore::WorkerContext::reportException):
  • dom/WorkerMessagingProxy.cpp: (WebCore::WorkerThreadActivityReportTask::performTask): (WebCore::WorkerMessagingProxy::postExceptionToWorkerObject): (WebCore::WorkerMessagingProxy::workerObjectDestroyed): (WebCore::WorkerMessagingProxy::terminateWorkerContext): (WebCore::WorkerMessagingProxy::confirmWorkerThreadMessage): (WebCore::WorkerMessagingProxy::reportPendingActivity): (WebCore::WorkerMessagingProxy::reportPendingActivityInternal): (WebCore::WorkerMessagingProxy::hasPendingActivity):
  • dom/WorkerMessagingProxy.h:
02:00 Changeset [40780] by ap@webkit.org

2009-02-09 Jian Li <jianli@chromium.org>

Reviewed by Alexey Proskuryakov.

Introduce 2 base classes to split WorkerMessagingProxy.
https://bugs.webkit.org/show_bug.cgi?id=23776

  • GNUmakefile.am:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/WorkerContextProxy.h: Added. (WebCore::WorkerContextProxy::~WorkerContextProxy):
  • dom/WorkerObjectProxy.h: Added. (WebCore::WorkerObjectProxy::~WorkerObjectProxy):
01:32 Changeset [40779] by ap@webkit.org

Land results for a recently added test (https://bugs.webkit.org/show_bug.cgi?id=23601).

  • fast/dom/Selection/getRangeAt-expected.txt: Added.
Note: See TracTimeline for information about the timeline view.