Timeline


and

04/28/09:

23:49 QtWebKitContrib edited by hausmann@webkit.org
(diff)
23:38 Changeset [42993] by hausmann@webkit.org

Fix the Qt build

23:31 Changeset [42992] by ap@webkit.org

Fix the test for <https://bugs.webkit.org/show_bug.cgi?id=25420> - I broke it when
experimenting with other aspects of the issue, so it didn't check what it should have checked.

  • http/tests/xmlhttprequest/detaching-frame-2.html:
23:19 Changeset [42991] by ggaren@apple.com

2009-04-28 Geoffrey Garen <ggaren@apple.com>

Rubber stamped by Beth Dakin.


Missed one.

  • UserObjectImp.cpp: (UserObjectImp::callAsFunction):
23:08 Changeset [42990] by ggaren@apple.com

2009-04-28 Geoffrey Garen <ggaren@apple.com>

Rubber stamped by Beth Dakin.


Missed one.

  • bindings/scripts/CodeGeneratorJS.pm:
23:07 Changeset [42989] by ggaren@apple.com

JavaScriptCore:

2009-04-28 Geoffrey Garen <ggaren@apple.com>

Rubber stamped by Beth Dakin.


Removed scaffolding supporting dynamically converting between 32bit and
64bit value representations.

  • API/JSCallbackConstructor.cpp: (JSC::constructJSCallback):
  • API/JSCallbackFunction.cpp: (JSC::JSCallbackFunction::call):
  • API/JSCallbackObjectFunctions.h: (JSC::::construct): (JSC::::call):
  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • bytecode/CodeBlock.h: (JSC::CodeBlock::getConstant):
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitEqualityOp):
  • interpreter/CallFrame.cpp: (JSC::CallFrame::thisValue):
  • interpreter/Interpreter.cpp: (JSC::Interpreter::callEval): (JSC::Interpreter::throwException): (JSC::Interpreter::createExceptionScope): (JSC::Interpreter::privateExecute): (JSC::Interpreter::retrieveArguments):
  • interpreter/Register.h: (JSC::Register::): (JSC::Register::Register): (JSC::Register::jsValue): (JSC::Register::marked): (JSC::Register::mark): (JSC::Register::i): (JSC::Register::activation): (JSC::Register::arguments): (JSC::Register::callFrame): (JSC::Register::codeBlock): (JSC::Register::function): (JSC::Register::propertyNameIterator): (JSC::Register::scopeChain): (JSC::Register::vPC):
  • jit/JITStubs.cpp: (JSC::JITStubs::cti_op_call_NotJSFunction): (JSC::JITStubs::cti_op_load_varargs): (JSC::JITStubs::cti_op_call_eval):
  • jsc.cpp: (functionPrint): (functionDebug): (functionRun): (functionLoad):
  • runtime/ArgList.h: (JSC::ArgList::at):
  • runtime/Arguments.cpp: (JSC::Arguments::copyToRegisters): (JSC::Arguments::fillArgList): (JSC::Arguments::getOwnPropertySlot):
  • runtime/ArrayConstructor.cpp: (JSC::constructArrayWithSizeQuirk):
  • runtime/ArrayPrototype.cpp: (JSC::arrayProtoFuncJoin): (JSC::arrayProtoFuncConcat): (JSC::arrayProtoFuncPush): (JSC::arrayProtoFuncSlice): (JSC::arrayProtoFuncSort): (JSC::arrayProtoFuncSplice): (JSC::arrayProtoFuncUnShift): (JSC::arrayProtoFuncFilter): (JSC::arrayProtoFuncMap): (JSC::arrayProtoFuncEvery): (JSC::arrayProtoFuncForEach): (JSC::arrayProtoFuncSome): (JSC::arrayProtoFuncReduce): (JSC::arrayProtoFuncReduceRight): (JSC::arrayProtoFuncIndexOf): (JSC::arrayProtoFuncLastIndexOf):
  • runtime/BooleanConstructor.cpp: (JSC::constructBoolean): (JSC::callBooleanConstructor):
  • runtime/DateConstructor.cpp: (JSC::constructDate): (JSC::dateParse): (JSC::dateUTC):
  • runtime/DatePrototype.cpp: (JSC::formatLocaleDate): (JSC::fillStructuresUsingTimeArgs): (JSC::fillStructuresUsingDateArgs): (JSC::dateProtoFuncSetTime): (JSC::dateProtoFuncSetYear):
  • runtime/ErrorConstructor.cpp: (JSC::constructError):
  • runtime/FunctionConstructor.cpp: (JSC::constructFunction):
  • runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncApply): (JSC::functionProtoFuncCall):
  • runtime/JSArray.cpp: (JSC::JSArray::JSArray): (JSC::constructArray):
  • runtime/JSArray.h:
  • runtime/JSGlobalObjectFunctions.cpp: (JSC::encode): (JSC::decode): (JSC::globalFuncEval): (JSC::globalFuncParseInt): (JSC::globalFuncParseFloat): (JSC::globalFuncIsNaN): (JSC::globalFuncIsFinite): (JSC::globalFuncEscape): (JSC::globalFuncUnescape): (JSC::globalFuncJSCPrint):
  • runtime/MathObject.cpp: (JSC::mathProtoFuncAbs): (JSC::mathProtoFuncACos): (JSC::mathProtoFuncASin): (JSC::mathProtoFuncATan): (JSC::mathProtoFuncATan2): (JSC::mathProtoFuncCeil): (JSC::mathProtoFuncCos): (JSC::mathProtoFuncExp): (JSC::mathProtoFuncFloor): (JSC::mathProtoFuncLog): (JSC::mathProtoFuncMax): (JSC::mathProtoFuncMin): (JSC::mathProtoFuncPow): (JSC::mathProtoFuncRound): (JSC::mathProtoFuncSin): (JSC::mathProtoFuncSqrt): (JSC::mathProtoFuncTan):
  • runtime/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor::construct):
  • runtime/NumberConstructor.cpp: (JSC::constructWithNumberConstructor): (JSC::callNumberConstructor):
  • runtime/NumberPrototype.cpp: (JSC::numberProtoFuncToString): (JSC::numberProtoFuncToFixed): (JSC::numberProtoFuncToExponential): (JSC::numberProtoFuncToPrecision):
  • runtime/ObjectConstructor.cpp: (JSC::constructObject):
  • runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncHasOwnProperty): (JSC::objectProtoFuncIsPrototypeOf): (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): (JSC::objectProtoFuncLookupGetter): (JSC::objectProtoFuncLookupSetter): (JSC::objectProtoFuncPropertyIsEnumerable):
  • runtime/PropertySlot.h: (JSC::PropertySlot::getValue):
  • runtime/RegExpConstructor.cpp: (JSC::constructRegExp):
  • runtime/RegExpObject.cpp: (JSC::RegExpObject::match):
  • runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncCompile):
  • runtime/StringConstructor.cpp: (JSC::stringFromCharCodeSlowCase): (JSC::stringFromCharCode): (JSC::constructWithStringConstructor): (JSC::callStringConstructor):
  • runtime/StringPrototype.cpp: (JSC::stringProtoFuncReplace): (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCharCodeAt): (JSC::stringProtoFuncConcat): (JSC::stringProtoFuncIndexOf): (JSC::stringProtoFuncLastIndexOf): (JSC::stringProtoFuncMatch): (JSC::stringProtoFuncSearch): (JSC::stringProtoFuncSlice): (JSC::stringProtoFuncSplit): (JSC::stringProtoFuncSubstr): (JSC::stringProtoFuncSubstring): (JSC::stringProtoFuncLocaleCompare): (JSC::stringProtoFuncFontcolor): (JSC::stringProtoFuncFontsize): (JSC::stringProtoFuncAnchor): (JSC::stringProtoFuncLink):

WebCore:

2009-04-28 Geoffrey Garen <ggaren@apple.com>

Rubber stamped by Beth Dakin.


Removed scaffolding supporting dynamically converting between 32bit and
64bit value representations.

  • bindings/js/JSAudioConstructor.cpp: (WebCore::constructAudio):
  • bindings/js/JSCanvasRenderingContext2DCustom.cpp: (WebCore::JSCanvasRenderingContext2D::setFillColor): (WebCore::JSCanvasRenderingContext2D::setStrokeColor): (WebCore::JSCanvasRenderingContext2D::strokeRect): (WebCore::JSCanvasRenderingContext2D::drawImage): (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): (WebCore::JSCanvasRenderingContext2D::setShadow): (WebCore::JSCanvasRenderingContext2D::createPattern): (WebCore::JSCanvasRenderingContext2D::putImageData): (WebCore::JSCanvasRenderingContext2D::fillText): (WebCore::JSCanvasRenderingContext2D::strokeText):
  • bindings/js/JSClipboardCustom.cpp: (WebCore::JSClipboard::clearData): (WebCore::JSClipboard::getData): (WebCore::JSClipboard::setData): (WebCore::JSClipboard::setDragImage):
  • bindings/js/JSDOMApplicationCacheCustom.cpp: (WebCore::JSDOMApplicationCache::hasItem): (WebCore::JSDOMApplicationCache::add): (WebCore::JSDOMApplicationCache::remove): (WebCore::JSDOMApplicationCache::addEventListener): (WebCore::JSDOMApplicationCache::removeEventListener):
  • bindings/js/JSDOMStringListCustom.cpp: (WebCore::JSDOMStringList::item):
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::open): (WebCore::JSDOMWindow::showModalDialog): (WebCore::JSDOMWindow::postMessage): (WebCore::JSDOMWindow::setTimeout): (WebCore::JSDOMWindow::setInterval): (WebCore::JSDOMWindow::atob): (WebCore::JSDOMWindow::btoa): (WebCore::JSDOMWindow::addEventListener): (WebCore::JSDOMWindow::removeEventListener):
  • bindings/js/JSDatabaseCustom.cpp: (WebCore::JSDatabase::changeVersion): (WebCore::JSDatabase::transaction):
  • bindings/js/JSElementCustom.cpp: (WebCore::JSElement::setAttribute): (WebCore::JSElement::setAttributeNode): (WebCore::JSElement::setAttributeNS): (WebCore::JSElement::setAttributeNodeNS):
  • bindings/js/JSGeolocationCustom.cpp: (WebCore::JSGeolocation::getCurrentPosition): (WebCore::JSGeolocation::watchPosition):
  • bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::callHTMLCollection): (WebCore::JSHTMLCollection::item): (WebCore::JSHTMLCollection::namedItem):
  • bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::documentWrite):
  • bindings/js/JSHTMLInputElementCustom.cpp: (WebCore::JSHTMLInputElement::setSelectionRange):
  • bindings/js/JSHTMLOptionsCollectionCustom.cpp: (WebCore::JSHTMLOptionsCollection::add):
  • bindings/js/JSHTMLSelectElementCustom.cpp: (WebCore::JSHTMLSelectElement::remove):
  • bindings/js/JSImageConstructor.cpp: (WebCore::constructImage):
  • bindings/js/JSInspectorControllerCustom.cpp: (WebCore::JSInspectorController::highlightDOMNode): (WebCore::JSInspectorController::addResourceSourceToFrame): (WebCore::JSInspectorController::addSourceToFrame): (WebCore::JSInspectorController::getResourceDocumentNode): (WebCore::JSInspectorController::search): (WebCore::JSInspectorController::databaseTableNames): (WebCore::JSInspectorController::setting): (WebCore::JSInspectorController::setSetting): (WebCore::JSInspectorController::wrapCallback):
  • bindings/js/JSJavaScriptCallFrameCustom.cpp: (WebCore::JSJavaScriptCallFrame::evaluate):
  • bindings/js/JSLocationCustom.cpp: (WebCore::JSLocation::replace): (WebCore::JSLocation::assign):
  • bindings/js/JSMessagePortCustom.cpp: (WebCore::JSMessagePort::startConversation): (WebCore::JSMessagePort::addEventListener): (WebCore::JSMessagePort::removeEventListener):
  • bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::insertBefore): (WebCore::JSNode::replaceChild): (WebCore::JSNode::removeChild): (WebCore::JSNode::appendChild): (WebCore::JSNode::addEventListener): (WebCore::JSNode::removeEventListener):
  • bindings/js/JSNodeFilterCustom.cpp: (WebCore::JSNodeFilter::acceptNode):
  • bindings/js/JSNodeListCustom.cpp: (WebCore::callNodeList):
  • bindings/js/JSOptionConstructor.cpp: (WebCore::constructHTMLOptionElement):
  • bindings/js/JSQuarantinedObjectWrapper.cpp: (WebCore::JSQuarantinedObjectWrapper::construct): (WebCore::JSQuarantinedObjectWrapper::call):
  • bindings/js/JSSQLResultSetRowListCustom.cpp: (WebCore::JSSQLResultSetRowList::item):
  • bindings/js/JSSQLTransactionCustom.cpp: (WebCore::JSSQLTransaction::executeSql):
  • bindings/js/JSSVGElementInstanceCustom.cpp: (WebCore::JSSVGElementInstance::addEventListener): (WebCore::JSSVGElementInstance::removeEventListener):
  • bindings/js/JSSVGLengthCustom.cpp: (WebCore::JSSVGLength::convertToSpecifiedUnits):
  • bindings/js/JSSVGMatrixCustom.cpp: (WebCore::JSSVGMatrix::rotateFromVector):
  • bindings/js/JSSVGPathSegListCustom.cpp: (WebCore::JSSVGPathSegList::initialize): (WebCore::JSSVGPathSegList::getItem): (WebCore::JSSVGPathSegList::insertItemBefore): (WebCore::JSSVGPathSegList::replaceItem): (WebCore::JSSVGPathSegList::removeItem): (WebCore::JSSVGPathSegList::appendItem):
  • bindings/js/JSSVGPointListCustom.cpp: (WebCore::JSSVGPointList::initialize): (WebCore::JSSVGPointList::getItem): (WebCore::JSSVGPointList::insertItemBefore): (WebCore::JSSVGPointList::replaceItem): (WebCore::JSSVGPointList::removeItem): (WebCore::JSSVGPointList::appendItem):
  • bindings/js/JSSVGTransformListCustom.cpp: (WebCore::JSSVGTransformList::initialize): (WebCore::JSSVGTransformList::getItem): (WebCore::JSSVGTransformList::insertItemBefore): (WebCore::JSSVGTransformList::replaceItem): (WebCore::JSSVGTransformList::removeItem): (WebCore::JSSVGTransformList::appendItem):
  • bindings/js/JSWebKitCSSMatrixConstructor.cpp: (WebCore::constructWebKitCSSMatrix):
  • bindings/js/JSWebKitPointConstructor.cpp: (WebCore::constructWebKitPoint):
  • bindings/js/JSWorkerConstructor.cpp: (WebCore::constructWorker):
  • bindings/js/JSWorkerContextCustom.cpp: (WebCore::JSWorkerContext::importScripts): (WebCore::JSWorkerContext::addEventListener): (WebCore::JSWorkerContext::removeEventListener): (WebCore::JSWorkerContext::setTimeout): (WebCore::JSWorkerContext::setInterval):
  • bindings/js/JSWorkerCustom.cpp: (WebCore::JSWorker::addEventListener): (WebCore::JSWorker::removeEventListener):
  • bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::open): (WebCore::JSXMLHttpRequest::setRequestHeader): (WebCore::JSXMLHttpRequest::send): (WebCore::JSXMLHttpRequest::getResponseHeader): (WebCore::JSXMLHttpRequest::overrideMimeType): (WebCore::JSXMLHttpRequest::addEventListener): (WebCore::JSXMLHttpRequest::removeEventListener):
  • bindings/js/JSXMLHttpRequestUploadCustom.cpp: (WebCore::JSXMLHttpRequestUpload::addEventListener): (WebCore::JSXMLHttpRequestUpload::removeEventListener):
  • bindings/js/JSXSLTProcessorCustom.cpp: (WebCore::JSXSLTProcessor::importStylesheet): (WebCore::JSXSLTProcessor::transformToFragment): (WebCore::JSXSLTProcessor::transformToDocument): (WebCore::JSXSLTProcessor::setParameter): (WebCore::JSXSLTProcessor::getParameter): (WebCore::JSXSLTProcessor::removeParameter):
  • bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::create): (WebCore::ScheduledAction::ScheduledAction):
  • bindings/js/ScheduledAction.h:
  • bindings/js/ScriptCallFrame.cpp: (WebCore::ScriptCallFrame::ScriptCallFrame):
  • bindings/js/ScriptCallFrame.h:
  • bindings/js/ScriptCallStack.cpp: (WebCore::ScriptCallStack::ScriptCallStack): (WebCore::ScriptCallStack::initialize):
  • bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::invokeMethod): (JSC::Bindings::CInstance::invokeDefaultMethod): (JSC::Bindings::CInstance::invokeConstruct):
  • bridge/jni/jni_instance.cpp: (JavaInstance::invokeMethod):
  • bridge/objc/objc_instance.mm: (ObjcInstance::invokeMethod): (ObjcInstance::invokeDefaultMethod):

WebKit/mac:

2009-04-28 Geoffrey Garen <ggaren@apple.com>

Rubber stamped by Beth Dakin.


Removed scaffolding supporting dynamically converting between 32bit and
64bit value representations.

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::marshalValues):
22:56 Changeset [42988] by ddkilzer@apple.com

A little more hardening for UString

Reviewed by Maciej Stachowiak.

Revised fix for <rdar://problem/5861045> in r42644.

  • runtime/UString.cpp: (JSC::newCapacityWithOverflowCheck): Added. (JSC::concatenate): Used newCapacityWithOverflowCheck(). (JSC::UString::append): Ditto.
22:52 Changeset [42987] by ddkilzer@apple.com

2009-04-28 David Carson <dacarson@apple.com>

Reviewed by David Hyatt.

Restore alignment to device pixel boundaries.
https://bugs.webkit.org/show_bug.cgi?id=25458

Adjust the adjusted destination rect to be device pixel aligned.

  • platform/graphics/cg/ImageCG.cpp: (WebCore::BitmapImage::draw):

2009-04-28 David Carson <dacarson@apple.com>

Reviewed by David Kilzer.

Restore alignment to device pixel boundaries.
https://bugs.webkit.org/show_bug.cgi?id=25458

Updated test results with progressions.

  • platform/mac/svg/W3C-SVG-1.1/render-groups-03-t-expected.checksum:
  • platform/mac/svg/W3C-SVG-1.1/render-groups-03-t-expected.png: Yin-yang image shifted slightly to pixel boundaries.
  • platform/mac/svg/custom/focus-ring-expected.checksum:
  • platform/mac/svg/custom/focus-ring-expected.png: Focus rings drawn around rotated "focus text" and checkered images shifted slightly to pixel boundaries.
  • platform/mac/svg/custom/image-small-width-height-expected.checksum:
  • platform/mac/svg/custom/image-small-width-height-expected.png: Checkered images shifted slightly to pixel boundaries.
22:49 Changeset [42986] by ddkilzer@apple.com

Added missing pixel test results.

  • platform/mac/fast/css-generated-content/beforeAfter-interdocument-expected.checksum: Added.
  • platform/mac/fast/css-generated-content/beforeAfter-interdocument-expected.png: Added.
  • platform/mac/fast/table/cell-coalescing-expected.checksum: Added.
  • platform/mac/fast/table/cell-coalescing-expected.png: Added.
  • platform/mac/webarchive/adopt-attribute-styled-body-webarchive-expected.checksum: Added.
  • platform/mac/webarchive/adopt-attribute-styled-body-webarchive-expected.png: Added.
  • platform/mac/webarchive/adopt-attribute-styled-node-webarchive-expected.checksum: Added.
  • platform/mac/webarchive/adopt-attribute-styled-node-webarchive-expected.png: Added.
  • platform/mac/webarchive/adopt-inline-styled-node-webarchive-expected.checksum: Added.
  • platform/mac/webarchive/adopt-inline-styled-node-webarchive-expected.png: Added.
22:39 Changeset [42985] by weinig@apple.com

2009-04-28 Sam Weinig <sam@webkit.org>

Reviewed by Anders Carlsson.

Move unimplemented captureEvents and releaseEvents from JSDOMWindow
to DOMWindow.

  • bindings/js/JSDOMWindowCustom.cpp:
  • page/DOMWindow.cpp: (WebCore::DOMWindow::captureEvents): (WebCore::DOMWindow::releaseEvents):
  • page/DOMWindow.h:
  • page/DOMWindow.idl:
22:30 Changeset [42984] by ap@webkit.org

Correcting ChangeLogs - Sam talked to me about the patch, but it was Darin who reviewed it!

22:25 Changeset [42983] by ap@webkit.org

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=25420
<rdar://problem/6829570> REGRESSION: XMLHttpRequest allows loading from another origin

Test: http/tests/xmlhttprequest/detaching-frame-2.html

This was caused by faulty DOMWindow::document(), which could return a new document from
the window's frame after navigation.

  • bindings/js/JSDOMWindowCustom.h: (WebCore::JSDOMWindowBase::allowsAccessFromPrivate): Removed an obsolete check that allowed access when document was null. Contrary to what a comment said, that can happen for a window that is no longer in frame, not to one whose document is not constructed yet.
  • bindings/js/JSXMLHttpRequestConstructor.cpp: (WebCore::constructXMLHttpRequest): Bail out if context was not found. This currently happens due to a shortcoming in DOMWindow::document() - when it is fixed, the XMLHttpRequest object in included regression test will be constructed successfully, but won't be sent, because its context will be frameless.
  • page/DOMWindow.cpp: (WebCore::DOMWindow::document): Check that the window in frame hasn't been replaced yet. Added FIXME comments about how this may be better fixed in the future.
  • bindings/js/JSAudioConstructor.cpp: (WebCore::JSAudioConstructor::document): (WebCore::constructAudio):
  • bindings/js/JSImageConstructor.cpp: (WebCore::JSImageConstructor::document): (WebCore::constructImage):
  • bindings/js/JSMessageChannelConstructor.cpp: (WebCore::JSMessageChannelConstructor::construct):
  • bindings/js/JSOptionConstructor.cpp: (WebCore::JSOptionConstructor::document): (WebCore::constructHTMLOptionElement): Make matching changes to other constructors that hold a reference to global object.
21:54 Changeset [42982] by oliver@apple.com

Bring back r42969, this time with correct codegen

Reviewed by Gavin Barraclough.

Add logic to the codegen for right shift to avoid jumping to a helper function
when shifting a small floating point value.

21:22 Changeset [42981] by kov@webkit.org

Tagging 1.1.6.

21:02 Changeset [42980] by kevino@webkit.org

wxMSW build fix. Switch JSCore build back to static.

20:03 Changeset [42979] by ddkilzer@apple.com

2009-04-28 Pierre d'Herbemont <pdherbemont@apple.com>

Reviewed by David Kilzer.

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

Make sure "--pixel --add-platform-exceptions" produces platform
specific pixel test results.

  • Scripts/run-webkit-tests: Support "--pixel --add-platform-exceptions"
18:24 Changeset [42978] by oliver@apple.com

Roll out r42969, due to hangs in build bot.

18:00 Changeset [42977] by eric@webkit.org

Reviewed by Simon Fraser.

Add a couple table hit tests
https://bugs.webkit.org/show_bug.cgi?id=21892

  • svg/hittest/svg-inside-display-table-expected.txt: Added.
  • svg/hittest/svg-inside-display-table.xhtml: Added.
  • svg/hittest/svg-inside-table-expected.txt: Added.
  • svg/hittest/svg-inside-table.xhtml: Added.
17:38 Changeset [42976] by oliver@apple.com

Improve performance of string indexing

Reviewed by Geoff Garen

Add a cti_get_by_val_string function to specialise indexing into a string object.
This gives us a slight performance win on a number of string tests.

17:29 Changeset [42975] by eric.carlson@apple.com

2009-04-28 Pierre d'Herbemont <pdherbemont@apple.com>

Reviewed by Simon Fraser.

<rdar://problem/6834830>

Make sure we cover the two possible values reported by event.total that are playback engine
specific.

  • media/progress-event-total-expected.txt: Match the new test.
  • media/progress-event-total.html: Test the two values.
17:17 Changeset [42974] by timothy@apple.com

Rename -[DOMRange lineBoxRects] to -[DOMRange textRects] and change how it
collects the individual rects, making sure to only include RenderText.

<rdar://problem/6810061>

Reviewed by Sam Weinig.

  • bindings/objc/DOM.mm: (-[DOMNode textRects]): Added. Make a Range and call textRects. (-[DOMNode lineBoxRects]): Call textRects method. (-[DOMRange textRects]): Call Range::textRects. (-[DOMRange lineBoxRects]): Call textRects method.
  • bindings/objc/DOMPrivate.h: Add the new methods and a comment about lineBoxRects being deprecated.
  • dom/Range.cpp: (WebCore::Range::boundingBox): Call textRects (renamed from addLineBoxRects). (WebCore::Range::textRects): Renamed from addLineBoxRects. Iterate over the nodes instead of the RenderObjects to correctly account for offsets. Also only call absoluteRectsForRange on RenderText.
  • dom/Range.h: Renamed addLineBoxRects to textRects.
  • page/Frame.cpp: (WebCore::Frame::selectionTextRects): Call textRects (renamed from addLineBoxRects).
  • rendering/RenderObject.cpp: (WebCore::RenderObject::absoluteRectsForRange): Remove if conditions that made this function very specific for the lineBoxRects API. These functions are still used by the InspectorController, and this change improves what the Inspector shows. (WebCore::RenderObject::absoluteQuadsForRange): Ditto.
17:11 Changeset [42973] by timothy@apple.com

Remove the topLevel boolean argument from absolute{Rects,Quads}.
This argument was default to true and no one ever passed false.

Reviewed by Sam Weinig.

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::absoluteRects): (WebCore::RenderBlock::absoluteQuads):
  • rendering/RenderBlock.h:
  • rendering/RenderBox.cpp: (WebCore::RenderBox::absoluteRects): (WebCore::RenderBox::absoluteQuads):
  • rendering/RenderBox.h:
  • rendering/RenderInline.cpp: (WebCore::RenderInline::absoluteRects): (WebCore::RenderInline::absoluteQuads):
  • rendering/RenderInline.h:
  • rendering/RenderObject.h: (WebCore::RenderObject::absoluteRects): (WebCore::RenderObject::absoluteQuads):
  • rendering/RenderSVGHiddenContainer.cpp: (WebCore::RenderSVGHiddenContainer::absoluteRects): (WebCore::RenderSVGHiddenContainer::absoluteQuads):
  • rendering/RenderSVGHiddenContainer.h:
  • rendering/RenderSVGImage.cpp: (WebCore::RenderSVGImage::absoluteRects): (WebCore::RenderSVGImage::absoluteQuads):
  • rendering/RenderSVGImage.h:
  • rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::absoluteRects): (WebCore::RenderSVGInlineText::absoluteQuads):
  • rendering/RenderSVGInlineText.h:
  • rendering/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::absoluteRects): (WebCore::RenderSVGModelObject::absoluteQuads):
  • rendering/RenderSVGModelObject.h:
  • rendering/RenderSVGTSpan.cpp: (WebCore::RenderSVGTSpan::absoluteRects): (WebCore::RenderSVGTSpan::absoluteQuads):
  • rendering/RenderSVGTSpan.h:
  • rendering/RenderSVGText.cpp: (WebCore::RenderSVGText::absoluteRects): (WebCore::RenderSVGText::absoluteQuads):
  • rendering/RenderSVGText.h:
  • rendering/RenderSVGTextPath.cpp: (WebCore::RenderSVGTextPath::absoluteQuads):
  • rendering/RenderSVGTextPath.h:
  • rendering/RenderText.cpp: (WebCore::RenderText::absoluteRects):
  • rendering/RenderText.h:
  • rendering/RenderView.cpp: (WebCore::RenderView::absoluteRects): (WebCore::RenderView::absoluteQuads):
  • rendering/RenderView.h:
16:50 Changeset [42972] by eric.carlson@apple.com

2009-04-28 Eric Carlson <eric.carlson@apple.com>

Reviewed by Simon Fraser.

<rdar://problem/6794691> Media documents and <video controls> never show controls on Windows

RenderThemeWin doesn't implement the media element controller rendering methods, so media
controls stopped rendering when we switched from RenderThemeSafari. Rather than having copies
of the code in both places, the logic is in a new class that is called from both.

  • WebCore.vcproj/WebCore.vcproj: Add RenderMediaControls.cpp.
  • rendering/RenderMediaControls.cpp: Added. (WebCore::determineState): Translate renderer state to ThemeControlState. (WebCore::RenderMediaControls::adjustMediaSliderThumbSize): Adjust slider thumb. (WebCore::parentMediaElement): Return the HTMLMediaElement parent of a controller element. (WebCore::RenderMediaControls::paintMediaControlsPart): Paint a media controller part.
  • rendering/RenderMediaControls.h: Added.
  • rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::paintSliderTrack): Remove the MediaSliderPart case, it is never called for the media slider. (WebCore::RenderThemeSafari::adjustSliderThumbSize): Call RenderMediaControls function. (WebCore::RenderThemeSafari::paintMediaFullscreenButton): Ditto. (WebCore::RenderThemeSafari::paintMediaMuteButton): Ditto. (WebCore::RenderThemeSafari::paintMediaPlayButton): Ditto. (WebCore::RenderThemeSafari::paintMediaSeekBackButton): Ditto. (WebCore::RenderThemeSafari::paintMediaSeekForwardButton): Ditto. (WebCore::RenderThemeSafari::paintMediaSliderTrack): Ditto. (WebCore::RenderThemeSafari::paintMediaSliderThumb): Ditto.
  • rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::adjustSliderThumbSize): Ditto. (WebCore::RenderThemeWin::paintMediaFullscreenButton): Ditto. (WebCore::RenderThemeWin::paintMediaMuteButton): Ditto. (WebCore::RenderThemeWin::paintMediaPlayButton): Ditto. (WebCore::RenderThemeWin::paintMediaSeekBackButton): Ditto. (WebCore::RenderThemeWin::paintMediaSeekForwardButton): Ditto. (WebCore::RenderThemeWin::paintMediaSliderTrack): Ditto. (WebCore::RenderThemeWin::paintMediaSliderThumb): Ditto.
  • rendering/RenderThemeWin.h:
16:12 Changeset [42971] by bdakin@apple.com

2009-04-28 Beth Dakin <bdakin@apple.com>

Reviewed by Sam Weinig.

Fix for <rdar://problem/6419515> REGRESSION (r31037): Positioned
images with % height are collapsed when printing

  • rendering/RenderBox.cpp: (WebCore::RenderBox::calcHeight): Make sure we don't ignore printing here!
15:36 Changeset [42970] by xan@webkit.org

2009-04-28 Xan Lopez <xlopez@igalia.com>

Unreviewed: fix distcheck build, add (even more) missing files to list.

  • GNUmakefile.am:
15:22 Changeset [42969] by oliver@apple.com

Improve performance of right shifts of large or otherwise floating point values.

Reviewed by Geoff Garen.

Add logic to the codegen for right shift to avoid jumping to a helper function
when shifting a small floating point value.

15:17 Changeset [42968] by adele@apple.com

WebCore:

2009-04-28 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Fix for <rdar://problem/6617298> Typing delete on an unquoted blank line unquotes the preceding, quoted blank line

Test: editing/deleting/type-delete-after-quote.html

When a selection is deleted that contains a whole number paragraphs plus a line break, we refrain from merging paragraphs after the delete,
since it is unclear to most users that such a selection actually ends at the start of the next paragraph. However, when a user hits delete
with a caret selection, they actually do expect the start of that paragraph to be merged into the paragraph before it. We can tell that
we're in this state because the TypingCommand creates the selection to delete but it doesn't change the endingSelection. So we can tell
that if we started with a caret selection, then we're not in this special case where we have to protect the user from unexpected behavior
from deleting a range they selected.

  • editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::initializePositionData):

LayoutTests:

2009-04-28 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Test for <rdar://problem/6617298> Typing delete on an unquoted blank line unquotes the preceding, quoted blank line

  • editing/deleting/type-delete-after-quote.html: Added.
  • platform/mac/editing/deleting/delete-4038408-fix-expected.txt: This expected result change reflects a change in how the editing is done, but the document structure remains the same, and there are no visible changes to the result.
  • platform/mac/editing/deleting/type-delete-after-quote-expected.checksum: Added.
  • platform/mac/editing/deleting/type-delete-after-quote-expected.png: Added.
  • platform/mac/editing/deleting/type-delete-after-quote-expected.txt: Added.
15:15 Changeset [42967] by xan@webkit.org

2009-04-28 Xan Lopez <xlopez@igalia.com>

Unreviewed: fix distcheck build, add (more) missing files to list.

  • GNUmakefile.am:
15:12 Changeset [42966] by eric@webkit.org

Reviewed by Simon Fraser.

Add text gradient test to cover
https://bugs.webkit.org/show_bug.cgi?id=25403

  • platform/mac/svg/text/text-gradient-positioning-expected.checksum: Added.
  • platform/mac/svg/text/text-gradient-positioning-expected.png: Added.
  • platform/mac/svg/text/text-gradient-positioning-expected.txt: Added.
  • svg/text/text-gradient-positioning.svg: Added.
15:09 Changeset [42965] by andersca@apple.com

2009-04-28 Anders Carlsson <andersca@apple.com>

Reviewed by Kevin Decker and Darin Adler.

Fix <rdar://problem/6836132>.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCCheckIfAllowedToLoadURL): Call the instance proxy.


(WKPCCancelCheckIfAllowedToLoadURL):
Ditto.


  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): Initialize the check ID counter.


(WebKit::NetscapePluginInstanceProxy::checkIfAllowedToLoadURL):
Create a WebPluginContainerCheck, add it to the map, and start it.


(WebKit::NetscapePluginInstanceProxy::cancelCheckIfAllowedToLoadURL):
Remove the check from the map.


(WebKit::NetscapePluginInstanceProxy::checkIfAllowedToLoadURLResult):
Call the WKPH MIG callback.


  • Plugins/Hosted/WebHostedNetscapePluginView.h:
  • Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): Call the instance proxy.


(-[WebHostedNetscapePluginView _containerCheckResult:contextInfo:]):
Ditto.


  • Plugins/Hosted/WebKitPluginClient.defs:
  • Plugins/Hosted/WebKitPluginHost.defs: Add MIG declarations.
14:59 Changeset [42964] by eric@webkit.org

Reviewed by David Hyatt.

Add text repaint test to cover
https://bugs.webkit.org/show_bug.cgi?id=16188

  • platform/mac/svg/text/text-repaint-rects-expected.checksum: Added.
  • platform/mac/svg/text/text-repaint-rects-expected.png: Added.
  • platform/mac/svg/text/text-repaint-rects-expected.txt: Added.
  • svg/text/text-repaint-rects.xhtml: Added.
14:38 Changeset [42963] by xan@webkit.org

WebCore:

2009-04-28 Xan Lopez <xlopez@igalia.com>

Unreviewed: fix distcheck build, add missing header to file list.

  • GNUmakefile.am:

JavaScriptCore:

2009-04-28 Xan Lopez <xlopez@igalia.com>

Unreviewed: fix distcheck build, add missing header to file list.

  • GNUmakefile.am:
14:27 Changeset [42962] by kov@webkit.org

2009-04-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Unreviewed. Update gtk-doc control and base sgml files for 1.1.6.

  • docs/webkitgtk-docs.sgml:
  • docs/webkitgtk-sections.txt:
13:59 Changeset [42961] by eric@webkit.org

Reviewed by Sam Weinig.

Fix foreignObject transform order
https://bugs.webkit.org/show_bug.cgi?id=25433

Transforms were being applied in the wrong order.
When mapping from local to parent, first apply the viewport transform
then map from the viewport box to the parent box.

  • rendering/RenderForeignObject.cpp: (WebCore::RenderForeignObject::localToParentTransform):
13:56 Changeset [42960] by eric@webkit.org

Reviewed by Simon Fraser.

Simplify nodeAtPoint for SVG
https://bugs.webkit.org/show_bug.cgi?id=25432

Added a new nodeAtFloatPoint method which takes a FloatPoint
instead of the *super confusing* x/y tx/ty pairs that HTML uses.
Mostly this is just lots of minus-lines as the new code is *much* simpler.

I made all the SVG renderers use the new nodeAtFloatPoint and ASSERT_NOT_REACHED
for the nodeAtPoint HTML/CSS int x/y version.

Eventually the rest of CSS/HTML render objects will follow suit
and move to nodeAtFloatPoint (possibly renamed back to nodeAtPoint), but changing them
over was well outside the scope of this change.

SVG hit testing is not actually floating point precise yet, since its still
passed in an integer x/y. Certain transform hit-test edge cases are likely fixed
by moving to FloatPoint here, but I didn't try to find one.

This should not cause functional changes for common-case hit testing, thus
no tests changed, nor should new tests be needed.

  • rendering/RenderForeignObject.cpp: (WebCore::RenderForeignObject::translationForAttributes): (WebCore::RenderForeignObject::paint): (WebCore::RenderForeignObject::computeRectForRepaint): (WebCore::RenderForeignObject::localToParentTransform): (WebCore::RenderForeignObject::layout): (WebCore::RenderForeignObject::nodeAtFloatPoint):
  • rendering/RenderForeignObject.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::nodeAtFloatPoint):
  • rendering/RenderObject.h:
  • rendering/RenderPath.cpp: (WebCore::RenderPath::nodeAtFloatPoint):
  • rendering/RenderPath.h:
  • rendering/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::nodeAtFloatPoint):
  • rendering/RenderSVGContainer.h: (WebCore::RenderSVGContainer::pointIsInsideViewportClip):
  • rendering/RenderSVGHiddenContainer.cpp: (WebCore::RenderSVGHiddenContainer::nodeAtFloatPoint):
  • rendering/RenderSVGHiddenContainer.h:
  • rendering/RenderSVGImage.cpp: (WebCore::RenderSVGImage::paint): (WebCore::RenderSVGImage::nodeAtFloatPoint):
  • rendering/RenderSVGImage.h: (WebCore::RenderSVGImage::localToParentTransform): (WebCore::RenderSVGImage::localTransform):
  • rendering/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::nodeAtFloatPoint):
  • rendering/RenderSVGModelObject.h:
  • rendering/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::nodeAtFloatPoint):
  • rendering/RenderSVGText.cpp: (WebCore::RenderSVGText::nodeAtFloatPoint):
  • rendering/RenderSVGText.h:
  • rendering/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip):
  • rendering/RenderSVGViewportContainer.h:
13:42 Changeset [42959] by eric.carlson@apple.com

2009-04-28 Eric Carlson <eric.carlson@apple.com>

  • fix the Tiger build
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::cacheMovieScale):
13:30 Changeset [42958] by weinig@apple.com

2009-04-28 Sam Weinig <sam@webkit.org>

Reviewed by Beth Dakin.

Consolidate ScheduleAction creation into ScheduledAction::create.
Autogenerate JSWorkerContext.clearTimeout and clearInterval.

  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::setTimeout): (WebCore::JSDOMWindow::setInterval):
  • bindings/js/JSWorkerContextCustom.cpp: (WebCore::JSWorkerContext::setTimeout): (WebCore::JSWorkerContext::setInterval):
  • bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::create): (WebCore::ScheduledAction::ScheduledAction): (WebCore::ScheduledAction::execute):
  • bindings/js/ScheduledAction.h:
  • workers/WorkerContext.cpp: (WebCore::DOMWindow::setTimeout): (WebCore::DOMWindow::clearTimeout): (WebCore::DOMWindow::setInterval): (WebCore::DOMWindow::clearInterval):
  • workers/WorkerContext.h:
  • workers/WorkerContext.idl:
13:22 Changeset [42957] by sfalken@apple.com

Fix link warnings building TestNetscapePlugin on Windows due to mismatched
DLL name vs. LIBRARY directive name.


Reviewed by Jon Honeycutt.

  • DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.def:
  • DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj:
  • DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin_debug.def: Added.
13:21 Changeset [42956] by kov@webkit.org

2009-04-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Xan Lopez.

Updated with news for the 1.1.6 release.

  • NEWS:
13:14 Changeset [42955] by beidson@apple.com

WebCore:

2009-04-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler

<rdar://problem/6643219> Crashes after moving nodes between documents with Safari 4 Beta installed

When moving Nodes between documents we weren't properly updating style declarations. Certain operations, such
as creating webarchives, would tickle this bug.

Tests: webarchive/adopt-attribute-styled-body-webarchive.html

webarchive/adopt-attribute-styled-node-webarchive.html
webarchive/adopt-inline-styled-node-webarchive.html

  • dom/Node.cpp: Add a debug-only mechanism to insure that anyone who overrides (did/will)MoveToNewOwnerDocument calls their parent-class implementation after they've done their own work. (WebCore::setWillMoveToNewOwnerDocumentWasCalled): (WebCore::setDidMoveToNewOwnerDocumentWasCalled): (WebCore::Node::setDocument): (WebCore::Node::willMoveToNewOwnerDocument): (WebCore::Node::didMoveToNewOwnerDocument):
  • dom/StyledElement.cpp: (WebCore::StyledElement::attributeChanged): Add a comment explaining why we don't need to walk the nameAttrMap to update style declarations. (WebCore::StyledElement::didMoveToNewOwnerDocument): Update the parent pointer for the inline style declaration.
  • dom/StyledElement.h:
  • html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::didMoveToNewOwnerDocument): Update the parent pointer for the link declaration.
  • html/HTMLBodyElement.h:

LayoutTests:

2009-04-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler

<rdar://problem/6643219> Crashes after moving nodes between documents with Safari 4 Beta installed

  • webarchive/adopt-attribute-styled-body-webarchive-expected.webarchive: Added.
  • webarchive/adopt-attribute-styled-body-webarchive.html: Added.
  • webarchive/resources/adopt-attribute-styled-body-iframe.html: Added.
  • webarchive/resources/adopt-attribute-styled-body-second-window.html: Added.
  • webarchive/adopt-attribute-styled-node-webarchive-expected.webarchive: Added.
  • webarchive/adopt-attribute-styled-node-webarchive.html: Added.
  • webarchive/resources/adopt-attribute-styled-node-second-window.html: Added.
  • webarchive/adopt-inline-styled-node-webarchive-expected.webarchive: Added.
  • webarchive/adopt-inline-styled-node-webarchive.html: Added.
  • webarchive/resources/adopt-inline-styled-node-second-window.html: Added.
13:12 Changeset [42954] by mrowe@apple.com

Merge r42945.

12:48 Changeset [42953] by sfalken@apple.com

Fix warnings about PRODUCTION and ARCHIVE_BUILD on Windows builds
of ImageDiff and DumpRenderTree.


Rubber stamped by Adam Roben.

  • DumpRenderTree/win/DumpRenderTree.vcproj:
  • DumpRenderTree/win/ImageDiff.vcproj:
12:46 Changeset [42952] by eric.carlson@apple.com

2009-04-28 Eric Carlson <eric.carlson@apple.com>

Reviewed by Darin Adler.


<rdar://problem/6834876> Don't use BlockExceptions macros until QTKit supports
QTMoviePreferredTransformAttribute

  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::cacheMovieScale): use @try and @catch instead of BEGIN_BLOCK_OBJC_EXCEPTIONS and END_BLOCK_OBJC_EXCEPTIONS for builds of QTKit that throw an exception on QTMovieCurrentSizeAttribute but don't support QTMoviePreferredTransformAttribute
12:43 Changeset [42951] by darin@apple.com

2009-04-28 Darin Adler <darin@apple.com>

Reviewed by Sam Weinig.

  • rendering/RenderText.cpp: (WebCore::RenderText::RenderText): Streamline code path to avoid a bit of reference count churn and remove a strange unneeeded PassRefPtr typecast. Also added a comment. (WebCore::RenderText::setTextInternal): Ditto.
12:37 Changeset [42950] by eric@webkit.org

Reviewed by Simon Fraser.

Simplify how SVG containers paint
https://bugs.webkit.org/show_bug.cgi?id=25431

Moved filterBoundingBox() from RenderSVGModelObject to SVGRenderSupport to share with other classes.
Gave RenderSVGText a modern clippedOverflowRectForRepaint and computeRectForRepaint.
RenderSVGText now applies transforms at paint() time instead of during chunk draw time
this should be much more efficient.

Fixed the order in which RenderSVGViewportContainer applied
transforms and clips. We now clip to the viewport first and apply
all transforms at once. Also since the viewport logic is now only
inside RenderSVGViewportContainer (instead of inside RenderSVGContainer)
we always know we have a viewport. We now use only viewportSize instead of
viewport() since RenderSVGViewportContainers can't have x/y offsets.

We now correctly transform the PaintInfo::rect (damage rect) when applying transforms.
This allowed us to apply the transform during text paint() instead of at chunk paint
time. Previously we had to apply the transform during chunk paint time because
RenderBlock (superclass of RenderSVGBlock) would check intersection with the damageRect
before telling any of the inlines to draw. Now that we adjust the damage rect correctly
we pass the intersection check correctly! (This probably fixed some <text> redraw bugs
but since I still have a bunch of those to fix, I've not tried to write additional tests
to cover these potential fixes yet.)

SVGRootInlineBox no longer needs to deal with transforms at chunk paint time, yay!

  • rendering/RenderPath.cpp: (WebCore::RenderPath::repaintRectInLocalCoordinates): (WebCore::RenderPath::paint):
  • rendering/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::paint): (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
  • rendering/RenderSVGContainer.h: (WebCore::RenderSVGContainer::applyViewportClip):
  • rendering/RenderSVGImage.cpp: (WebCore::RenderSVGImage::layout): (WebCore::RenderSVGImage::repaintRectInLocalCoordinates): (WebCore::RenderSVGImage::clippedOverflowRectForRepaint): (WebCore::RenderSVGImage::computeRectForRepaint):
  • rendering/RenderSVGImage.h:
  • rendering/RenderSVGModelObject.cpp:
  • rendering/RenderSVGModelObject.h:
  • rendering/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::layout): (WebCore::RenderSVGRoot::selfWillPaint): (WebCore::RenderSVGRoot::paint): (WebCore::RenderSVGRoot::viewportSize): (WebCore::RenderSVGRoot::calcViewport): (WebCore::RenderSVGRoot::localToBorderBoxTransform): (WebCore::RenderSVGRoot::parentOriginToBorderBox): (WebCore::RenderSVGRoot::borderOriginToContentBox): (WebCore::RenderSVGRoot::localToRepaintContainerTransform): (WebCore::RenderSVGRoot::localToParentTransform): (WebCore::RenderSVGRoot::computeRectForRepaint): (WebCore::RenderSVGRoot::nodeAtPoint):
  • rendering/RenderSVGRoot.h:
  • rendering/RenderSVGText.cpp: (WebCore::RenderSVGText::clippedOverflowRectForRepaint): (WebCore::RenderSVGText::computeRectForRepaint): (WebCore::RenderSVGText::paint): (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
  • rendering/RenderSVGText.h: (WebCore::RenderSVGText::localToParentTransform): (WebCore::RenderSVGText::localTransform):
  • rendering/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::applyViewportClip):
  • rendering/RenderSVGViewportContainer.h:
  • rendering/SVGRenderSupport.cpp: (WebCore::filterBoundingBoxForRenderer): (WebCore::applyTransformToPaintInfo):
  • rendering/SVGRenderSupport.h:
  • rendering/SVGRootInlineBox.cpp: (WebCore::SVGRootInlineBoxPaintWalker::chunkStartCallback): (WebCore::SVGRootInlineBox::paint):
12:37 Changeset [42949] by cfleizach@apple.com

Bug 25453: AX: fall back to PLACEHOLDER attr if form element is not labeled
https://bugs.webkit.org/show_bug.cgi?id=25453

12:33 Changeset [42948] by mrowe@apple.com

Versioning.

12:16 Changeset [42947] by mrowe@apple.com

New tag.

12:14 Changeset [42946] by cfleizach@apple.com

Bug 25452: AX: Don't create addition space AXStaticText element for every bold or link tag
https://bugs.webkit.org/show_bug.cgi?id=25452

11:57 Changeset [42945] by mrowe@apple.com

Work around <rdar://problem/6833240> by relying on static initialization to zero the entire struct.
This removes the need for us to explicitly initialize all of the members, which have a tendency
to change in meaning and number between versions of libxml2.

Reviewed by Sam Weinig.

  • dom/XMLTokenizerLibxml2.cpp:

(WebCore::):
(WebCore::sharedXHTMLEntity):
(WebCore::getXHTMLEntity):

11:56 Changeset [42944] by sfalken@apple.com

Fix extraneous warning about AnalyzeWithLargeStack not being defined in Windows builds.
Indirected definition through a UserMacro.


Reviewed by Mark Rowe.

  • win/tools/vsprops/common.vsprops:
11:52 Changeset [42943] by sfalken@apple.com

Fix linker warning by specifying /NODEFAULTLIB:LIBCMT for QTMovieWin.


Reviewed by Mark Rowe.

  • WebCore.vcproj/QTMovieWin.vcproj:
11:32 Changeset [42942] by cfleizach@apple.com

Bug 25449: AX: Respect the alt tag of ARIA button as AXDescription
https://bugs.webkit.org/show_bug.cgi?id=25449

11:29 Changeset [42941] by sfalken@apple.com

Fix extraneous warning about PRODUCTION not being defined in Windows builds.
Indirected definition for PRODUCTION through a UserMacro.


Reviewed by Mark Rowe.

  • win/tools/vsprops/common.vsprops:
11:16 Changeset [42940] by mitz@apple.com

Reviewed by John Sullivan.

  • formatting cleanup
  • rendering/RenderBox.cpp: (WebCore::RenderBox::calcHeight): Corrected indentation and added braces around a multi-line "else" clause.
11:05 Changeset [42939] by eric.carlson@apple.com

2009-04-28 Eric Carlson <eric.carlson@apple.com>

Reviewed by Adam Roben


<rdar://problem/6769968> media/video-size-intrinsic-scale.html fails on Windows
https://bugs.webkit.org/show_bug.cgi?id=25094


Display movies saved with a non-identity matrix at the correct size.

  • platform/graphics/win/QTMovieWin.cpp: (QTMovieWinPrivate::QTMovieWinPrivate): Initialize m_widthScaleFactor and m_heightScaleFactor. (QTMovieWinPrivate::cacheMovieScale): New, calculate difference between initial size and natural size so naturalSize() accounts for non-identity movie matrix. (QTMovieWinPrivate::task):Call cacheMovieScale when load state reaches kMovieLoadStateLoaded for the first time. kMovieLoadState -> QTMovieLoadState. (QTMovieWinPrivate::drawingComplete): kMovieLoadState -> QTMovieLoadState. (QTMovieWinPrivate::createGWorld): Don't bother creating gworld until load state reaches kMovieLoadStateLoaded because we do not try to draw it before that point. (QTMovieWinPrivate::setSize): Do not change movie box before reaching kMovieLoadStateLoaded because we need to get the movie's initial size in cacheMovieScale. (QTMovieWin::getNaturalSize): Multiply width and height by initial scale.

2009-04-28 Eric Carlson <eric.carlson@apple.com>

Reviewed by Adam Roben

<rdar://problem/6769968> media/video-size-intrinsic-scale.html fails on Windows
https://bugs.webkit.org/show_bug.cgi?id=25094

  • platform/win/Skipped: Re-enable video-size-intrinsic-scale.html.
10:43 Changeset [42938] by weinig@apple.com

2009-04-28 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Move timer code from JSDOMWindow to DOMWindow. clearTimeout and
clearInterval can now be autogenerated.

  • bindings/js/JSDOMWindowBase.cpp:
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::createScheduledAction): (WebCore::JSDOMWindow::setTimeout): (WebCore::JSDOMWindow::setInterval):
  • page/DOMWindow.cpp: (WebCore::DOMWindow::setTimeout): (WebCore::DOMWindow::clearTimeout): (WebCore::DOMWindow::setInterval): (WebCore::DOMWindow::clearInterval):
  • page/DOMWindow.h:
  • page/DOMWindow.idl:
10:06 Changeset [42937] by kevino@webkit.org

Reviewed by Kevin Ollivier.

Small optimization, don't get the widget's handle twice in one method.

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

09:46 Changeset [42936] by mitz@apple.com

Reviewed by John Sullivan.

  • fix <rdar://problem/6786360> Make PDF an insertable pasteboard type
  • WebCoreSupport/WebPasteboardHelper.mm: (WebPasteboardHelper::insertablePasteboardTypes):
  • WebView/WebHTMLView.mm: (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]): (+[WebHTMLView _insertablePasteboardTypes]): (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
09:32 QtWebKitJournal edited by hausmann@webkit.org
(diff)
09:31 Changeset [42935] by kevino@webkit.org

Reviewed by Kevin Ollivier.

ScrollView copy and paste typo fix.

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

09:29 QtWebKitTodo edited by hausmann@webkit.org
(diff)
09:28 QtWebKitJournal edited by hausmann@webkit.org
(diff)
09:27 Changeset [42934] by hausmann@webkit.org

2009-04-28 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Tor Arne Vestbø.

QWebElement API changes after another round of API review:

  • Fix argument names of findAll/findFirst
  • Split up toXml into innerXml and outerXml
  • Removed confusing toggleClass overload
  • Fixed casing of namespaceUri to follow QXmlStreamReader
  • Removed tagName from firstChild/nextSibling/etc.
  • Renamed append/prepend/insertAfter/insertBefore to [append|prepend][Inside|Outside]
  • Renamed wrapWith() back to wrap()
  • Made clone() const
  • Renamed remove() to takeFromDocument(), added removeFromDocument()
  • Renamed clear() to removeChildren()
  • Renamed scriptsFunctions/callScriptFunction to functions()/callFunction()
  • Renamed scriptProperty to scriptableProperty
09:25 QtWebKitTodo edited by hausmann@webkit.org
(diff)
09:09 Changeset [42933] by xan@webkit.org

2009-04-28 Xan Lopez <xlopez@igalia.com>

Unreviewed: bump versions in preparation for 1.1.6 release.

  • configure.ac:
09:06 Changeset [42932] by xan@webkit.org

2009-04-28 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

Leave a bit of space from the previous page when advacing a whole
page. This matches the behavior of our scrollbar scrolling code
and is just nicer in general.

  • webkit/webkitwebview.cpp:
08:55 Changeset [42931] by kevino@webkit.org

Reviewed by Kevin Ollivier.

Add a function for resetting the zoom factor to 1.0.

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

07:01 Changeset [42930] by sullivan@apple.com

2009-04-28 John Sullivan <sullivan@apple.com>

<rdar://problem/6820221> REGRESSION: 2-byte character names of images are displayed as %-encoded ASCII

Reviewed by Adam Roben

  • loader/ImageDocument.cpp: (WebCore::ImageTokenizer::finish): decode the filename before processing it as part of the image name that's passed to the client
06:51 Changeset [42929] by hausmann@webkit.org

2009-04-28 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Tor Arne Vestbø.

Fix some qdoc warnings.

06:36 QtWebKitTodo edited by hausmann@webkit.org
(diff)
06:35 QtWebKitTodo edited by hausmann@webkit.org
(diff)
06:18 api_changes.txt attached to QtWebKitTodo by hausmann@webkit.org
Diff of the suggested API changes after another round of review
02:59 Changeset [42928] by mjs@apple.com

2009-04-28 Maciej Stachowiak <mjs@apple.com>

Not reviewed, build fix.

  • fix initialization order to match declaration order to fix release build
  • page/Settings.cpp: (WebCore::Settings::Settings):
01:55 Changeset [42927] by xan@webkit.org

2009-04-28 Xan Lopez <xlopez@igalia.com>

Unreviewed: committed a few bits by mistake, remove them.

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::handleEditingKeyboardEvent):
01:45 Changeset [42926] by xan@webkit.org

2009-04-28 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=16135
[GTK] Support caret browsing

Refactor keyboard event handling to work properly under caret
browsing mode. Most of the code comes from the Windows port.

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::): (WebKit::interpretKeyEvent): (WebKit::handleEditingKeyboardEvent): (WebKit::EditorClient::handleKeyboardEvent):
01:44 Changeset [42925] by xan@webkit.org

2009-04-28 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=16135
[GTK] Support caret browsing

Based on a patch by Alp Toker.

Add enable-caret-browsing setting to WebKitWebView.

  • webkit/webkitwebsettings.cpp: (_WebKitWebSettingsPrivate::): (_WebKitWebSettingsPrivate::webkit_web_settings_class_init): (_WebKitWebSettingsPrivate::webkit_web_settings_set_property): (_WebKitWebSettingsPrivate::webkit_web_settings_get_property): (_WebKitWebSettingsPrivate::webkit_web_settings_copy):
  • webkit/webkitwebview.cpp:
01:44 Changeset [42924] by xan@webkit.org

2009-04-28 Xan Lopez <xlopez@igalia.com>

Reviewed by Justin Garcia.

https://bugs.webkit.org/show_bug.cgi?id=16135
[GTK] Support caret browsing

Based on a patch by Alp Toker.

Implement basic support for caret browsing, active only when the
corresponding setting is enabled.

  • page/EventHandler.cpp: (WebCore::EventHandler::handleMouseReleaseEvent):
  • page/FocusController.cpp: (WebCore::FocusController::advanceFocus): (WebCore::clearSelectionIfNeeded): (WebCore::FocusController::setFocusedNode):
  • page/Frame.cpp: (WebCore::Frame::setFocusedNodeIfNeeded): (WebCore::Frame::setSelectionFromNone): (WebCore::Frame::respondToChangedSelection):
  • page/Settings.cpp: (WebCore::Settings::Settings):
  • page/Settings.h:
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintCaret):
01:08 Changeset [42923] by barraclough@apple.com

2009-04-28 Gavin Barraclough <barraclough@apple.com>

Rubber stamped by Maciej "Henry Morgan" Stachowiak.

Enable YARR.
(Again.)

  • wtf/Platform.h:
00:10 Changeset [42922] by barraclough@apple.com

2009-04-27 Gavin Barraclough <barraclough@apple.com>

Reviewed by Maciej Stachowiak.

Tweak a loop condition to keep GCC happy,
some GCCs seem to be having issues with this. :-/

  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::breakTarget):
  • wtf/Platform.h:

04/27/09:

23:05 Changeset [42921] by weinig@apple.com

2009-04-27 Sam Weinig <sam@webkit.org>

Reviewed by Mark Rowe.

Disable test intermittent failing test.

  • svg/custom/filter-source-alpha.svg: Removed.
  • svg/custom/filter-source-alpha.svg-disabled: Copied from svg/custom/filter-source-alpha.svg.
22:14 Changeset [42920] by simon.fraser@apple.com

2009-04-27 Pierre d'Herbemont <pdherbemont@apple.com>

Reviewed by Simon Fraser

Fix video-played.html layout test.

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

We implement playForMillisecs() which makes sure the video
will have been playing for a minimum time.

Note, this does not ensure a strict synchronization between the time
asked and the media playback. But given that media playback is the
slow part we just need to compensate for the delay involved by playback.
(And not the other way around.)

Moreover, we split the test in 3 in order to be more gentle which
slower machines that may tend to timeout more easily on those tests.

  • media/video-played-collapse-expected.txt: Added.
  • media/video-played-collapse.html: Added.
  • media/video-played-expected.txt:
  • media/video-played-reset-expected.txt: Added.
  • media/video-played-reset.html: Added.
  • media/video-played.html:
  • Split tests in multiple files.
  • Makes sure we always play as much as requested by using playForMillisecs();
  • media/video-played.js: Added. (testRanges): (nextTest): (pause): (canplay): (willCreateNewRange): (startPlayingInNewRange): (startPlaying): (secToMilli): (milliToSecs): (playForMillisecs.callPauseIfTimeIsReached): (playForMillisecs): (videoPlayedMain):
20:39 Changeset [42919] by dglazkov@chromium.org

2009-04-27 Eric Roman <eroman@chromium.org>

Reviewed by Darin Fisher.

Fix a compile breakage.
<https://bugs.webkit.org/show_bug.cgi?id=25384>

  • bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::CALLBACK_FUNC_DECL):
18:01 Changeset [42918] by eric.carlson@apple.com

2009-04-27 Eric Carlson <eric.carlson@apple.com>

Reviewed by Darin Adler.

<rdar://problem/6822344> Use of QTMovieCurrentSizeAttribute generates exception and will crash

QTMovieCurrentSizeAttribute generates an exception with some versions of QTKit, so calculate a
multiplier to scale from natural size to current size when a movie is opened and use that to
return the correct value from the naturalSize() method.

  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_scaleFactor. (WebCore::MediaPlayerPrivate::naturalSize): Return naturalSize transformed by initial scale. (WebCore::MediaPlayerPrivate::cacheMovieScale): New, calculate difference between initial size and natural size so naturalSize() accounts for non-identity movie matrix. (WebCore::MediaPlayerPrivate::updateStates): Call cacheMovieScale when load state reaches QTMovieLoadStateLoaded for the first time.
17:54 Changeset [42917] by bdakin@apple.com

WebCore:

2009-04-27 Beth Dakin <bdakin@apple.com>

Reviewed by Dave Hyatt.

Fix for <rdar://problem/6709057> REGRESSION (4PB-TOT): http://www.winway.com/main3/support/faq.aspx selector doesn't look right or work

The problem here is that we had a self-painting layer nested inside
a non-self-painting layer. We ended up ignoring the self-painting
layer both during painting and hit-testing. This patch corrects
that.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintLayer): (WebCore::RenderLayer::hitTestLayer):

LayoutTests:

2009-04-27 Beth Dakin <bdakin@apple.com>

Reviewed by Dave Hyatt.

Test for <rdar://problem/6709057> REGRESSION (4PB-TOT): http://www.winway.com/main3/support/faq.aspx selector doesn't look right or work

  • fast/css/nested-layers-with-hover.html: Added.
  • platform/mac/fast/css/nested-layers-with-hover-expected.checksum: Added.
  • platform/mac/fast/css/nested-layers-with-hover-expected.png: Added.
  • platform/mac/fast/css/nested-layers-with-hover-expected.txt: Added.
17:23 Changeset [42916] by adachan@apple.com

If it has been set to allow any HTTPS certificates for this host, set
kCFStreamSSLAllowsExpiredCertificates to true to allow expired
certificate, and set kCFStreamSSLValidatesCertificateChain false to skip
certificate chain validation. (<rdar://problem/6382059>)

Reviewed by John Sullivan.

  • platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::makeFinalRequest):
17:12 Changeset [42915] by simon.fraser@apple.com

2009-04-23 Simon Fraser <simon.fraser@apple.com>

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

Add pixel test for zoomed video with controls, with and without a transform.

  • media/video-zoom-controls.html: Added.
  • platform/mac/media/video-zoom-controls-expected.checksum: Added.
  • platform/mac/media/video-zoom-controls-expected.png: Added.
  • platform/mac/media/video-zoom-controls-expected.txt: Added.
17:08 Changeset [42914] by simon.fraser@apple.com

2009-04-27 Simon Fraser <simon.fraser@apple.com>

Reviewed by Adele Peterson

<rdar://problem/6822225> Full page zooming of <video> element in the browser window doesn't work well

Fix a 'size changed' notification thrash that caused standalone video elements
to continually resize after full page zooming, by using the movie's natual size (which is independent
of zooming), rather than its current size (which is not).

Note that this regresses <https://bugs.webkit.org/show_bug.cgi?id=25029>, so we have to
disable the media/video-size-intrinsic-scale.html test. However, we have to stop using
QTMovieCurrentSizeAttribute anyway; this will be addressed, and the test re-enabled via
<rdar://problem/6822344>.

  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::naturalSize):
16:58 Changeset [42913] by simon.fraser@apple.com

2009-04-27 Simon Fraser <simon.fraser@apple.com>

Reviewed by Darin Adler

<rdar://problem/6642221> REGRESSION: With the Movie widget, movie trailer fails to
load if movie had been previously viewed

Fix the Dashboard quirk for display:none plug-ins by moving the code from HTMLObjectElement
to HTMLEmebedElement. It has to be in HTMLEmbedElement because the content we care about uses <embed>.

  • html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::rendererIsNeeded):
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::rendererIsNeeded):
16:33 Changeset [42912] by weinig@apple.com

2009-04-27 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Move more window event related code into DOMWindow.

  • dom/Document.cpp: (WebCore::Document::implicitClose): (WebCore::Document::setWindowAttributeEventListener): (WebCore::Document::dispatchWindowEvent): (WebCore::Document::dispatchLoadEvent):
  • dom/Document.h:
  • dom/Element.cpp:
  • dom/Element.h:
  • dom/Node.cpp:
  • dom/Node.h:
  • html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::parseMappedAttribute):
  • html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::parseMappedAttribute):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoading):
  • page/DOMWindow.cpp: (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): (WebCore::DOMWindow::postMessageTimerFired): (WebCore::DOMWindow::dispatchEvent): (WebCore::DOMWindow::dispatchEventWithDocumentAsTarget): (WebCore::DOMWindow::dispatchLoadEvent): (WebCore::DOMWindow::dispatchUnloadEvent): (WebCore::DOMWindow::dispatchBeforeUnloadEvent):
  • page/DOMWindow.h:
  • page/Frame.cpp: (WebCore::Frame::shouldClose):
  • svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::parseMappedAttribute):
16:14 Changeset [42911] by adele@apple.com

WebCore:

2009-04-27 Douglas R. Davidson <ddavidso@apple.com>

Implement the editing mechanisms and add context menu items for
<rdar://problem/6724106> WebViews need to implement text checking

Reviewed by Justin Garcia.

  • editing/Editor.cpp:
  • editing/Editor.h:
  • editing/TypingCommand.cpp:
  • loader/EmptyClients.h:
  • page/ContextMenuController.cpp:
  • page/EditorClient.h:
  • page/mac/WebCoreViewFactory.h:
  • platform/ContextMenu.cpp:
  • platform/ContextMenuItem.h:
  • platform/LocalizedStrings.h:
  • platform/mac/LocalizedStringsMac.mm:

WebKit:

2009-04-27 Douglas R. Davidson <ddavidso@apple.com>

Add localizable strings for
<rdar://problem/6724106> WebViews need to implement text checking

Reviewed by Justin Garcia.

  • English.lproj/Localizable.strings:

WebKit/mac:

2009-04-27 Douglas R. Davidson <ddavidso@apple.com>

Add the various switches and context menu items needed for
<rdar://problem/6724106> WebViews need to implement text checking
and adopt updatePanels in place of old SPI _updateGrammar.

Reviewed by Justin Garcia.

  • WebCoreSupport/WebContextMenuClient.mm: (fixMenusReceivedFromOldClients):
  • WebCoreSupport/WebEditorClient.h:
  • WebCoreSupport/WebEditorClient.mm: (WebEditorClient::uppercaseWord): (WebEditorClient::lowercaseWord): (WebEditorClient::capitalizeWord): (WebEditorClient::showSubstitutionsPanel): (WebEditorClient::substitutionsPanelIsShowing): (WebEditorClient::toggleSmartInsertDelete): (WebEditorClient::isAutomaticQuoteSubstitutionEnabled): (WebEditorClient::toggleAutomaticQuoteSubstitution): (WebEditorClient::isAutomaticLinkDetectionEnabled): (WebEditorClient::toggleAutomaticLinkDetection): (WebEditorClient::isAutomaticDashSubstitutionEnabled): (WebEditorClient::toggleAutomaticDashSubstitution): (WebEditorClient::isAutomaticTextReplacementEnabled): (WebEditorClient::toggleAutomaticTextReplacement): (WebEditorClient::isAutomaticSpellingCorrectionEnabled): (WebEditorClient::toggleAutomaticSpellingCorrection): (WebEditorClient::checkTextOfParagraph):
  • WebCoreSupport/WebViewFactory.mm: (-[WebViewFactory contextMenuItemTagShowColors]): (-[WebViewFactory contextMenuItemTagCorrectSpellingAutomatically]): (-[WebViewFactory contextMenuItemTagSubstitutionsMenu]): (-[WebViewFactory contextMenuItemTagShowSubstitutions:]): (-[WebViewFactory contextMenuItemTagSmartCopyPaste]): (-[WebViewFactory contextMenuItemTagSmartQuotes]): (-[WebViewFactory contextMenuItemTagSmartDashes]): (-[WebViewFactory contextMenuItemTagSmartLinks]): (-[WebViewFactory contextMenuItemTagTextReplacement]): (-[WebViewFactory contextMenuItemTagTransformationsMenu]): (-[WebViewFactory contextMenuItemTagMakeUpperCase]): (-[WebViewFactory contextMenuItemTagMakeLowerCase]): (-[WebViewFactory contextMenuItemTagCapitalize]):
  • WebView/WebHTMLView.mm: (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): (-[WebHTMLView isAutomaticQuoteSubstitutionEnabled]): (-[WebHTMLView setAutomaticQuoteSubstitutionEnabled:]): (-[WebHTMLView toggleAutomaticQuoteSubstitution:]): (-[WebHTMLView isAutomaticLinkDetectionEnabled]): (-[WebHTMLView setAutomaticLinkDetectionEnabled:]): (-[WebHTMLView toggleAutomaticLinkDetection:]): (-[WebHTMLView isAutomaticDashSubstitutionEnabled]): (-[WebHTMLView setAutomaticDashSubstitutionEnabled:]): (-[WebHTMLView toggleAutomaticDashSubstitution:]): (-[WebHTMLView isAutomaticTextReplacementEnabled]): (-[WebHTMLView setAutomaticTextReplacementEnabled:]): (-[WebHTMLView toggleAutomaticTextReplacement:]): (-[WebHTMLView isAutomaticSpellingCorrectionEnabled]): (-[WebHTMLView setAutomaticSpellingCorrectionEnabled:]): (-[WebHTMLView toggleAutomaticSpellingCorrection:]):
  • WebView/WebHTMLViewInternal.h:
  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebUIDelegatePrivate.h:
  • WebView/WebView.mm: (-[WebViewPrivate init]): (-[WebView validateUserInterfaceItemWithoutDelegate:]): (-[WebView setGrammarCheckingEnabled:]): (-[WebView isAutomaticQuoteSubstitutionEnabled]): (-[WebView isAutomaticLinkDetectionEnabled]): (-[WebView isAutomaticDashSubstitutionEnabled]): (-[WebView isAutomaticTextReplacementEnabled]): (-[WebView isAutomaticSpellingCorrectionEnabled]): (-[WebView setAutomaticQuoteSubstitutionEnabled:]): (-[WebView toggleAutomaticQuoteSubstitution:]): (-[WebView setAutomaticLinkDetectionEnabled:]): (-[WebView toggleAutomaticLinkDetection:]): (-[WebView setAutomaticDashSubstitutionEnabled:]): (-[WebView toggleAutomaticDashSubstitution:]): (-[WebView setAutomaticTextReplacementEnabled:]): (-[WebView toggleAutomaticTextReplacement:]): (-[WebView setAutomaticSpellingCorrectionEnabled:]): (-[WebView toggleAutomaticSpellingCorrection:]):
  • WebView/WebViewPrivate.h:
16:12 Changeset [42910] by weinig@apple.com

2009-04-27 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Fix for <rdar://problem/6772944> REGRESSION (r42223): PLT 2% slower, i-Bench 3% slower

Be slightly less eager in collecting after page close/navigation by increasing
the time before collection from 0 seconds to .5 seconds.

3% speedup on the PLT.

  • bindings/js/GCController.cpp: (WebCore::GCController::garbageCollectSoon):
16:06 Changeset [42909] by ddkilzer@apple.com

Consolidate runtime application checks for Apple Mail and Safari

Reviewed by Mark Rowe and Darin Adler.

WebCore:

  • WebCore.base.exp: Added exports.
  • WebCore.xcodeproj/project.pbxproj: Added RuntimeApplicationChecks.{h|mm} source files to the project.
  • page/mac/EventHandlerMac.mm: (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks): Removed local checkedSafari and isSafari variables and switched to use applicationIsSafari().
  • platform/mac/RuntimeApplicationChecks.h: Added.
  • platform/mac/RuntimeApplicationChecks.mm: Added. (WebCore::applicationIsAppleMail): Runtime application check for Apple Mail. (WebCore::applicationIsSafari): Runtime application check for Safari.

WebKit:

  • WebCoreSupport/WebContextMenuClient.mm: (isAppleMail): Removed. (fixMenusToSendToOldClients): Switched to use applicationIsAppleMail().
  • WebView/WebFrame.mm: (-[WebFrame reload]): Switched to use applicationIsSafari().
  • WebView/WebPDFView.mm: (-[WebPDFView menuForEvent:]): Ditto.
  • WebView/WebResource.mm: (+[WebResource _needMailThreadWorkaroundIfCalledOffMainThread]): Switched to use applicationIsAppleMail().
  • WebView/WebView.mm: (runningLeopardMail): Ditto. (runningTigerMail): Ditto. (-[WebView _needsKeyboardEventDisambiguationQuirks]): Switched to use applicationIsSafari().
15:34 Changeset [42908] by cfleizach@apple.com

Bug 25374: AX: No AXValue change sent when text is auto-inserted
https://bugs.webkit.org/show_bug.cgi?id=25374

Updated to fix regression test failures

14:56 Changeset [42907] by xan@webkit.org

2009-04-16 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=21546
[GTK] ATK accessibility enhancements

Based on a patch by Alp Toker.

Cover more WebCore role -> ATK role conversions.

  • page/gtk/AccessibilityObjectWrapperAtk.cpp:
14:40 Changeset [42906] by xan@webkit.org

2009-04-18 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=21546
[GTK] ATK accessibility enhancements

Do not call ATK setters in the getters, just return the
value. Among other things calling the setter will emit the notify
signal, which is wrong.

  • page/gtk/AccessibilityObjectWrapperAtk.cpp:
14:33 Changeset [42905] by xan@webkit.org

2009-04-16 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=21546
[GTK] ATK accessibility enhancements

Based on a patch by Alp Toker.

Implement AtkImage interface.

  • page/gtk/AccessibilityObjectWrapperAtk.cpp:
14:25 Changeset [42904] by kov@webkit.org

2009-04-27 Gustavo Noronha Silva <gns@gnome.org>

Unreviewed debug build fix.

  • platform/gtk/gtk2drawing.c: (moz_gtk_toggle_paint):
13:12 Changeset [42903] by dglazkov@chromium.org

2009-04-27 Dimitri Glazkov <dglazkov@chromium.org>

Build fix.

https://bugs.webkit.org/show_bug.cgi?id=25382
Remove direct reference to CallFrame.h include to pacify Win build.

  • bindings/js/JSDOMBinding.h: Removed ScriptState.h include.
  • bindings/js/ScriptState.h: Replaced CallFrame.h with JSDOMBinding.h
12:49 Changeset [42902] by cfleizach@apple.com

Bug 25374: AX: No AXValue change sent when text is auto-inserted
https://bugs.webkit.org/show_bug.cgi?id=25374

12:46 Changeset [42901] by dglazkov@chromium.org

2009-04-27 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=25382
Move scriptStateFromNode to ScriptState.

  • bindings/js/JSDOMBinding.cpp: Moved scriptStateFromNode to ScriptState.
  • bindings/js/JSDOMBinding.h: Ditto.
  • bindings/js/ScriptState.cpp: (WebCore::scriptStateFromNode): Added.
  • bindings/js/ScriptState.h: Ditto.
  • bindings/v8/ScriptState.cpp: (WebCore::scriptStateFromNode): Added.
  • bindings/v8/ScriptState.h: Ditto.
  • dom/NodeFilter.h: Removed JSDOMBinding header include.
  • dom/NodeIterator.h: Ditto.
  • dom/TreeWalker.h: Ditto.
12:44 Changeset [42900] by cfleizach@apple.com

Bug 25428: 5 crashes in DumpRenderTree at com.apple.WebCore • -[AccessibilityObjectWrapper accessibilityAttributeValue:] + 830
https://bugs.webkit.org/show_bug.cgi?id=25428

12:33 Changeset [42899] by andersca@apple.com

2009-04-27 Anders Carlsson <andersca@apple.com>

Reviewed by Adam Roben.

Update the example plug-in for new changes to the Cocoa event model.


  • NetscapeCocoaPlugin/main.m: (handleDraw): (handleMouseEvent): (NPP_HandleEvent):
11:54 Changeset [42898] by kdecker@apple.com

Fix the Tiger build.


  • Plugins/WebNetscapePluginView.mm: The base class of WebNetscapePluginView.mm, WebBaseNetscapePluginView, already implemented the two methods below. But the Tiger compiler didn't know that. (-[WebNetscapePluginView webView]): (-[WebNetscapePluginView webFrame]):
10:50 Changeset [42897] by kdecker@apple.com

Reviewed by Anders Carlsson.

<rdar://problem/6352982>


  • Plugins/WebBaseNetscapePluginView.mm: Removed checkIfAllowedToLoadURL:frame:callbackFunc, cancelCheckIfAllowedToLoadURL, and _webPluginContainerCancelCheckIfAllowedToLoadRequest from the base class. These methods now exist in the subclass WebNetscapePluginView.


Added WebNetscapeContainerCheckContextInfo, which is used as a "contextInfo" object in
-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:]

  • Plugins/WebNetscapeContainerCheckContextInfo.h: Added.
  • Plugins/WebNetscapeContainerCheckContextInfo.mm: Added. (-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:]): Added desiginated initializer. (-[WebNetscapeContainerCheckContextInfo checkRequestID]): Added. Returns the checkRequestID. (-[WebNetscapeContainerCheckContextInfo callback]): Added. Returns the callback.


  • Plugins/WebNetscapePluginView.h: Added two new ivars: _containerChecksInProgress and _currentContainerCheckRequestID.
  • Plugins/WebNetscapePluginView.mm: #import both WebPluginContainerCheck.h and WebNetscapeContainerCheckContextInfo.h


(-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:]): Added. This is the implementation of WKN_CheckIfAllowedToLoadURL.
Here, we increment the request ID and start the container check.


(-[WebNetscapePluginView _containerCheckResult:contextInfo:]): Added. This is a callback method for WebPluginContainerCheck.
It's where we actually call into the plug-in and provide the allow-or-deny result.


(-[WebNetscapePluginView cancelCheckIfAllowedToLoadURL:]): Added. This is the implementation of WKN_CancelCheckIfAllowedToLoadURL.
Here we lookup the check, cancel it, and remove it from _containerChecksInProgress.


(-[WebNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): Added. WebPluginContainerCheck automatically calls
this method after invoking our _containerCheckResult: selector. It works this way because calling -[WebPluginContainerCheck cancel] allows
it to do it's teardown process.


(-[WebNetscapePluginView fini]): Release _containerChecksInProgress ivar.


  • Plugins/WebPluginContainerCheck.h: Removed initWithRequest: method from header; no client was using this method directly.
  • Plugins/WebPluginContainerCheck.mm: (+[WebPluginContainerCheck checkWithRequest:target:resultObject:selector:controller:contextInfo:]): Added optional contextInfo parameter. (-[WebPluginContainerCheck _continueWithPolicy:]): If there's a contextInfo object, pass it as a parameter to resultSelector. (-[WebPluginContainerCheck cancel]): Release _contextInfo ivar. (-[WebPluginContainerCheck contextInfo]): Added new method. Returns the contextInfo object, if one so exists.
  • Plugins/WebPluginController.mm: (-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]): Pass nil for contextInfo. WebKit-style plug-ins do not need additional context information.
09:57 Changeset [42896] by ap@webkit.org

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=25399
<rdar://problem/6633943> REGRESSION: Many crashes reported accessing Lexis/Nexis database,
beneath WebCore::Cache::evict

The crash happened because a cached resource handle was removed from a document's cached
resources map twice recursively, so a destructor was called for a value in a deleted bucket.
The first call was from Cache::evict, and when destroying CachedResourceHandle destroyed
CachedResource, DocLoader::removeCachedResource() was called again, with HashMap being in
an inconsistent state.

I couldn't fully reconstruct the loading sequence to make a test.

  • loader/Cache.cpp: (WebCore::Cache::revalidateResource): Assert that the resource being revalidated is in cache (it makes no sense to revalidate one that isn't). (WebCore::Cache::evict): Don't remove the resource from document's map. Removing a resource from the cache in no way implies that documents no longer use the old version. This fixes the crash, and also fixes many cases of resource content being unavailable in Web Inspector.
  • loader/CachedResource.h: (WebCore::CachedResource::setInCache): When bringing a revalidated resource back to cache, reset m_isBeingRevalidated to maintain the invariant of resources being revalidated never being in cache. This fixes another assertion I saw on LexisNexis search: in rare cases, switchClientsToRevalidatedResource() results in the same resource being requested again, but we were only enforcing CachedResource invariants after calling this function. (WebCore::CachedResource::unregisterHandle): Assert that the counter doesn't underflow.
  • loader/DocLoader.cpp: (WebCore::DocLoader::removeCachedResource): Assert that the passed resource is removed, not some other resource that happens to have the same URL (this used to fail on LexisNexis search before this patch).
  • loader/ImageDocument.cpp: (WebCore::ImageTokenizer::write): Replaced ASSERT_NOT_REACHED with notImplemented(). This method can be legally called via document.write(), and should work. LexisNexis takes this code path, but apparently has a fallback for Safari, so it doesn't affect site functionality.
  • loader/CachedResource.cpp: (WebCore::CachedResource::clearResourceToRevalidate): Don't assert that m_resourceToRevalidate is being revalidated - this may no longer be true, because we now reset this member in CachedResource::setInCache().
09:24 Changeset [42895] by mitz@apple.com

Reviewed by Sam Weinig.

  • make BidiContext a RefCounted class, starting with a refcount of 1, and share the root BidiContexts.
  • platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::drawBidiText): Use BidiContext::create().
  • platform/text/BidiContext.cpp: (WebCore::BidiContext::create): Added. For the four "root" contexts, returns a reference to a shared static BidiContext.
  • platform/text/BidiContext.h: (WebCore::BidiContext::BidiContext):
  • platform/text/BidiResolver.h: (WebCore::::commitExplicitEmbedding): Use BidiContext::create().
  • rendering/bidi.cpp: (WebCore::RenderBlock::determineStartPosition): Ditto.
08:23 Changeset [42894] by jmalonzo@webkit.org

2009-04-27 Jan Michael Alonzo <jmalonzo@webkit.org>

Rubber-stamped by Gustavo Noronha.

Build fix for r42893: change GDK_exclaim to GDK_exclam

  • platform/chromium/KeyCodeConversionGtk.cpp: (WebCore::windowsKeyCodeForKeyEvent):
  • platform/gtk/KeyEventGtk.cpp: (WebCore::windowsKeyCodeForKeyEvent):
08:08 Changeset [42893] by jmalonzo@webkit.org

2009-04-27 Fumitoshi Ukai <ukai@google.com>

Reviewed by Xan Lopez.

Fix wrong key code conversion.

Missing conversion for GDK_exlaim ('!').
Parens are opposite: GDK_parenleft is open paren '('
and GDK_parenright is close paren ')'.
https://bugs.webkit.org/show_bug.cgi?id=25367

  • platform/chromium/KeyCodeConversionGtk.cpp: (WebCore::windowsKeyCodeForKeyEvent):
  • platform/gtk/KeyEventGtk.cpp: (WebCore::windowsKeyCodeForKeyEvent):
08:08 Changeset [42892] by jmalonzo@webkit.org

2009-04-27 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Gustavo Noronha.

[Gtk] gtkdrawing update
https://bugs.webkit.org/show_bug.cgi?id=25408

Update to the 25 Apr 2009 version of gtk2drawing.c and
gtkdrawing.h from Mozilla (http://hg.mozilla.org/mozilla-central)

  • platform/gtk/gtk2drawing.c: (setup_widget_prototype): (moz_gtk_get_combo_box_entry_arrow): (ensure_toolbar_widget): (ensure_tree_header_cell_widget): (moz_gtk_init): (moz_gtk_button_get_inner_border): (moz_gtk_toggle_paint): (moz_gtk_caret_paint): (moz_gtk_entry_paint): (moz_gtk_tree_header_cell_paint): (moz_gtk_combo_box_paint): (moz_gtk_toolbar_separator_paint): (moz_gtk_menu_separator_paint): (moz_gtk_get_widget_border): (moz_gtk_get_tab_scroll_arrow_size): (moz_gtk_get_toolbar_separator_width): (moz_gtk_get_menu_separator_height): (moz_gtk_widget_paint): (moz_gtk_shutdown):
  • platform/gtk/gtkdrawing.h:
08:08 Changeset [42891] by jmalonzo@webkit.org

2009-04-27 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Gustavo Noronha.

[GTK] Make layout tests / jsc tests usable without build-webkit
https://bugs.webkit.org/show_bug.cgi?id=21784

This requires WEBKITOUTPUTDIR to be set to the build directory.
Set the location of the product dir to the location pointed to by
WEBKITOUTPUTDIR.

  • Scripts/webkitdirs.pm:
07:54 Changeset [42890] by kov@webkit.org

2009-04-27 Gustavo Noronha Silva <gns@gnome.org>

Reviewed by Adam Roben.

Use libsoup's facilities to resolve relative URLs, instead, since
it is a more robust method.

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::queueLoad):
07:53 Changeset [42889] by kov@webkit.org

2009-04-27 Gustavo Noronha Silva <gns@gnome.org>

Reviewed by Xan Lopez.

https://bugs.webkit.org/show_bug.cgi?id=25409
[GTK] incorrectly fallsback on cancellation

Check whether we should fallback also on didFailLoad, so that we
don't get error pages showing up in parts of the content of some
sites because of, for instance, location changes.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::dispatchDidFailLoad):
07:53 Changeset [42888] by kov@webkit.org

2009-04-27 Gustavo Noronha Silva <gns@gnome.org>

Reviewed by Xan Lopez.

https://bugs.webkit.org/show_bug.cgi?id=25409
[GTK] incorrectly fallsback on cancellation

Correctly handle cancellation and frame loading interruption
caused by policy change. This also fixes
fast/frames/location-change.html.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::shouldFallBack):
06:55 Changeset [42887] by ariya@webkit.org

2009-04-27 Ariya Hidayat <ariya.hidayat@nokia.com>

Reviewed by Tor Arne Vestbø.

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

[Qt] Widget painting should follow the layout direction (LTR, RTL)
of the element style, not the application layout direction.

  • platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::applyTheme):
06:27 Changeset [42886] by aroben@apple.com

Windows Debug build fix

Not sure why the buildbots weren't affected by this problem.

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Let VS re-order the file list, and added JavaScriptCore[_debug].def to the project. This was not necessary for the fix, but made making the fix easier.
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def: Removed a function that no longer exists.

04/26/09:

22:58 Changeset [42885] by xan@webkit.org

2009-04-26 Xan Lopez <xlopez@igalia.com>

Reviewed by Mark Rowe.

Plug memory leak.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::dispatchDidFailLoad):
22:17 Changeset [42884] by barraclough@apple.com

2009-04-26 Gavin Barraclough <barraclough@apple.com>

Reviewed by Weinig Sam.

Fix for https://bugs.webkit.org/show_bug.cgi?id=25416
"Cached prototype accesses unsafely hoist property storage load above structure checks."


Do not hoist the load of the pointer to the property storage array.

No performance impact.

  • jit/JITPropertyAccess.cpp: (JSC::JIT::privateCompileGetByIdProto): (JSC::JIT::privateCompileGetByIdProtoList):
21:32 Changeset [42883] by barraclough@apple.com

2009-04-26 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoffrey "Gaffe or energy?" Garen.

Randomize address requested by ExecutableAllocatorFixedVMPool.

  • jit/ExecutableAllocatorFixedVMPool.cpp: (JSC::FixedVMPoolAllocator::FixedVMPoolAllocator):
17:03 Changeset [42882] by weinig@apple.com

WebCore:

2009-04-26 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Fix for https://bugs.webkit.org/show_bug.cgi?id=25412
The Window object should be an EventTarget

Test: fast/dom/Window/dispatchEvent.html

  • bindings/js/JSEventTarget.cpp: (WebCore::toJS): Add DOMWindow case. (WebCore::toEventTarget): Ditto.
  • dom/EventTarget.cpp: (WebCore::EventTarget::toDOMWindow): Added.
  • dom/EventTarget.h:
  • page/DOMWindow.cpp: (WebCore::DOMWindow::scriptExecutionContext): Added. Returns the document. (WebCore::DOMWindow::dispatchEvent): Added.
  • page/DOMWindow.h: (WebCore::DOMWindow::toDOMWindow): (WebCore::DOMWindow::refEventTarget): (WebCore::DOMWindow::derefEventTarget):
  • page/DOMWindow.idl:

LayoutTests:

2009-04-26 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Tests for https://bugs.webkit.org/show_bug.cgi?id=25412
The Window object should be an EventTarget

  • fast/dom/Window/dispatchEvent-expected.txt: Added.
  • fast/dom/Window/dispatchEvent.html: Added.
  • fast/dom/Window/resources/dispatchEvent.js: Added.
  • fast/dom/Window/window-properties-expected.txt
  • platform/mac-leopard/fast/dom/Window/window-properties-expected.txt:
14:09 Changeset [42881] by weinig@apple.com

JavaScriptCore:

2009-04-26 Sam Weinig <sam@webkit.org>

Reviewed by Eric Seidel.

Remove scons-based build system.

WebCore:

2009-04-26 Sam Weinig <sam@webkit.org>

Reviewed by Eric Seidel.

Remove scons-based build system.

  • WebCore.scons: Removed.
11:11 Changeset [42880] by kov@webkit.org

2009-04-26 Gustavo Noronha Silva <gns@gnome.org>

Reviewed by Xan Lopez.

Resolve relative URLs when queueing loads. This fixes
post-goback-same-url.html timing out.

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::queueLoad):
10:23 Changeset [42879] by xan@webkit.org

2009-04-26 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=25391
G_SIGNAL_ACTION flag in WebKitWebView signals

Most of the signals in WebKitGTK+ have the G_SIGNAL_ACTION flag,
but I don't think this makes sense. The flag is meant for those
signals that can be emitted by the user to trigger some action in
the view, as if it were a normal API, which is not the case for
most of them.

  • webkit/webkitdownload.cpp: (_WebKitDownloadPrivate::webkit_download_class_init):
  • webkit/webkitwebframe.cpp:
  • webkit/webkitwebinspector.cpp: (_WebKitWebInspectorPrivate::webkit_web_inspector_class_init):
  • webkit/webkitwebview.cpp:
10:11 Changeset [42878] by xan@webkit.org

2009-04-26 Xan Lopez <xlopez@igalia.com>

Unreviewed, actually apply the right patch.

  • webkit/webkitwebview.cpp: (webkit_web_view_move_cursor):
10:05 Changeset [42877] by xan@webkit.org

2009-04-26 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

Pass a variable to hold the return value of the 'move-cursor'
signal, otherwise a crash can happen.

  • webkit/webkitwebview.cpp: (webkit_web_view_move_cursor):
07:25 Changeset [42876] by darin@apple.com

2009-04-26 Darin Adler <darin@apple.com>

Suggested by Darin Fisher.

Improve the fix for bug 25355: Crash when Creating New Tab or New Window when set to open Same Page
https://bugs.webkit.org/show_bug.cgi?id=25355
rdar://problem/6823543

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::loadItem): Allow shouldScroll to be true even if m_currentHistoryItem is 0. Not sure if when this case can really arise in practice, but it's good to match the original logic more closely.
00:02 QtWebKitTodo edited by hausmann@webkit.org
(diff)
00:01 Changeset [42875] by krit@webkit.org

2009-04-25 Dirk Schulze <krit@webkit.org>

Reviewed by Oliver Hunt.

A width or height of zero for the destination or source rect of an
image causes a not invertible pattern matrix.
This crahes newer versions of Cairo and give some graphic gliches in
Canvas.
With this patch we check if there is something to draw and return if not.

  • platform/graphics/cairo/ImageCairo.cpp: (WebCore::BitmapImage::draw):

04/25/09:

21:35 Changeset [42874] by kov@webkit.org

2009-04-25 Gustavo Noronha Silva <gns@gnome.org>

Go back to disabling accessibility tests as a whole, since we have
no real way of checking them, and no accessibilityController
implementation.

  • platform/gtk/Skipped:
21:25 Changeset [42873] by kov@webkit.org

2009-04-25 Gustavo Noronha Silva <gns@gnome.org>

Disable tests that need eventSender, not yet implemented in our
DumpRenderTree.

  • platform/gtk/Skipped:
21:11 Changeset [42872] by simon.fraser@apple.com

2009-04-24 Simon Fraser <simon.fraser@apple.com>

Reviewed by Darin Adler

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

Fix point mapping and hit testing through transforms and perspective
with ENABLE_3D_RENDERING. Previously the code did the more efficient
move(), rather than getTransformFromContainer(), when the object had
no transform. However, this skipped the application of perspective
when the immediate child of the perspective element had no transform
itself.

Test: transforms/3d/point-mapping/3d-point-mapping-3.html

  • rendering/RenderBox.cpp: (WebCore::RenderBox::mapLocalToContainer): (WebCore::RenderBox::mapAbsoluteToLocalPoint):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::createLocalTransformState): Call shouldUseTransformFromContainer() to determine if we need to go through the more expensive getTransformFromContainer() code path.
  • rendering/RenderObject.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::shouldUseTransformFromContainer): New method that indicates whether we need use getTransformFromContainer() when mapping points through renderers, and hit testing.
16:30 Changeset [42871] by beidson@apple.com

2009-04-25 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

Some *obvious* style cleanup in my last patch.

  • History/WebBackForwardList.mm: (bumperCarBackForwardHackNeeded):
16:24 Changeset [42870] by beidson@apple.com

2009-04-25 Brady Eidson <beidson@apple.com>

Reviewed by Oliver Hunt

<rdar://problem/6817607> BumperCar 2.2 crashes going back (invalid WebHistoryItem)

BumperCar was holding a pointer to a WebHistoryItem they never retain, then later
tried to go to it. In some cases it would be dealloc'ed first.
When WebHistoryItems were pure Objective-C they probably got away with this more often.
With the WebCore/Obj-C mixed WebHistoryItems it's more likely to crash.

  • History/WebBackForwardList.mm: (bumperCarBackForwardHackNeeded): (-[WebBackForwardList backListWithLimit:]): If this is BumperCar, hang on to the NSArray of WebHistoryItems until the next time this method is called. (-[WebBackForwardList forwardListWithLimit:]): Ditto.
  • Misc/WebKitVersionChecks.h: Added WEBKIT_FIRST_VERSION_WITHOUT_BUMPERCAR_BACK_FORWARD_QUIRK.
12:00 Changeset [42869] by adele@apple.com

WebCore:

2009-04-25 Adele Peterson <adele@apple.com>

Reviewed by Oliver Hunt.

Fix for <rdar://problem/6712771> REGRESSION(34681): Text is no longer underlined after delete
https://bugs.webkit.org/show_bug.cgi?id=25396

Test: editing/deleting/delete-br-013.html

  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::moveParagraphs): Only preserve an empty paragraph's style when moving paragraphs around if the selection is still in an empty paragraph after the move occurs. This was causing the empty paragraph's style to overwrite the previous paragraph's style during a delete of an empty paragraph.

LayoutTests:

2009-04-25 Adele Peterson <adele@apple.com>

Reviewed by Oliver Hunt.

Test for <rdar://problem/6712771> REGRESSION(34681): Text is no longer underlined after delete
https://bugs.webkit.org/show_bug.cgi?id=25396

  • editing/deleting/delete-br-013.html: Added.
  • platform/mac/editing/deleting/delete-br-013-expected.checksum: Added.
  • platform/mac/editing/deleting/delete-br-013-expected.png: Added.
  • platform/mac/editing/deleting/delete-br-013-expected.txt: Added.
10:48 Changeset [42868] by eric.carlson@apple.com

2009-04-25 Eric Carlson <eric.carlson@apple.com>

Reviewed by Darin Adler.

<rdar://problem/6808171> REGRESSION (3-4): Standalone media documents don't
properly display non-linear media

If a media engine claims it can support the MIME type, WebCore now creates a <video>
element for document mode media files instead of an <embed> element. Because WebCore's
QuickTime backed media players do not support every kind of media the QuickTime plug-in
supports, and because it is not always possible to tell what type of media is in a file
without opening and parsing it, some types of media that used to be displayed properly
by a plug-in are no longer supported properly. To fix this, if the media engine
sees that it can not completely support a media file it now informs the media
document, which replaces the <video> element with an <embed>.


r42301 landed support for OSX. This patch modifies those changes slighly and adds support
for Windows.

  • loader/MediaDocument.cpp: (WebCore::MediaDocument::MediaDocument): Initialize m_replaceMediaElementTimer. (WebCore::MediaDocument::mediaElementSawUnsupportedTracks): Don't replace the <video> element immediately. (WebCore::MediaDocument::replaceMediaElementTimerFired): Renamed from replaceVideoWithEmbed. Set body margin-width and margin-height to 0 as that is what a PluginDocument uses.
  • loader/MediaDocument.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::loadStateChanged): Don't do anything if m_hasUnsupportedTracks. (WebCore::MediaPlayerPrivate::rateChanged): Ditto. (WebCore::MediaPlayerPrivate::timeChanged): Ditto. (WebCore::MediaPlayerPrivate::didEnd): Ditto. (WebCore::MediaPlayerPrivate::repaint): Ditto. (WebCore::MediaPlayerPrivate::paint): Ditto. (WebCore::MediaPlayerPrivate::sawUnsupportedTracks): Set m_hasUnsupportedTracks before callback.
  • platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_totalTrackCount and m_hasUnsupportedTracks. (WebCore::MediaPlayerPrivate::updateStates): Call sawUnsupportedTracks if the movie has unsupported media type(s) or if it fails completely. (WebCore::MediaPlayerPrivate::sawUnsupportedTracks): New, disable the movie object and tell the media player client we won't play this movie correctly. (WebCore::MediaPlayerPrivate::didEnd): Don't do anything if m_hasUnsupportedTracks. (WebCore::MediaPlayerPrivate::setSize): Ditto. (WebCore::MediaPlayerPrivate::setVisible): Ditto. (WebCore::MediaPlayerPrivate::paint): Ditto. (WebCore::MediaPlayerPrivate::movieEnded): Ditto. (WebCore::MediaPlayerPrivate::movieLoadStateChanged): Ditto. (WebCore::MediaPlayerPrivate::movieTimeChanged): Ditto. (WebCore::MediaPlayerPrivate::movieNewImageAvailable): Ditto.
  • platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
  • platform/graphics/win/QTMovieWin.cpp: (QTMovieWinPrivate::task): Stop the task timer if we were disabled during the load state change callback. (QTMovieWinPrivate::drawingComplete): Don't do anything if disabled. (QTMovieWin::QTMovieWin): Initialize m_disabled. (QTMovieWin::disableUnsupportedTracks): Return total number of tracks. (QTMovieWin::setDisabled): New, set m_disabled flag.
  • platform/graphics/win/QTMovieWin.h:
07:02 Changeset [42867] by kov@webkit.org

2009-04-25 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Xan Lopez.

https://bugs.webkit.org/show_bug.cgi?id=24786
WebKitDownload sometimes suggests peculiar filenames

Refactor the emission of the download-requested signal so that we
have less code duplication.

  • WebCoreSupport/ContextMenuClientGtk.cpp: (WebKit::ContextMenuClient::downloadURL):
  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::startDownload):
  • webkit/webkitprivate.h:
  • webkit/webkitwebview.cpp:
02:19 Changeset [42866] by jmalonzo@webkit.org

2009-04-25 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Xan Lopez.

[GTK] Error reporting
https://bugs.webkit.org/show_bug.cgi?id=18344

Fix the SOUP resource handle to report SOUP_HTTP_ERROR for Soup
errors and G_IO_ERROR for gio errors.

  • platform/network/soup/ResourceHandleSoup.cpp: (WebCore::finishedCallback): (WebCore::ResourceHandle::startHttp): (WebCore::ResourceHandle::start): (WebCore::readCallback): (WebCore::openCallback): (WebCore::queryInfoCallback): (WebCore::ResourceHandle::startGio):

2009-04-25 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Xan Lopez.

[GTK] Error reporting
https://bugs.webkit.org/show_bug.cgi?id=18344

Update FrameLoad errors to use WebKitErrors.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::cancelledError): (WebKit::FrameLoaderClient::blockedError): (WebKit::FrameLoaderClient::cannotShowURLError): (WebKit::FrameLoaderClient::interruptForPolicyChangeError): (WebKit::FrameLoaderClient::cannotShowMIMETypeError): (WebKit::FrameLoaderClient::fileDoesNotExistError): (WebKit::FrameLoaderClient::pluginWillHandleLoadError): (WebKit::FrameLoaderClient::shouldFallBack):
  • webkit/webkiterror.h: Added.
  • webkit/webkiterror.cpp: Added.

2009-04-25 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Xan Lopez.

[GTK] Error reporting
https://bugs.webkit.org/show_bug.cgi?id=18344

Add webkiterror to the build.

  • GNUmakefile.am:
02:19 Changeset [42865] by jmalonzo@webkit.org

2009-04-25 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Xan Lopez.

[GTK] Error reporting
https://bugs.webkit.org/show_bug.cgi?id=18344

Add the default error page for installation.

  • GNUmakefile.am:

2009-04-25 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Xan Lopez.

Display a default error page for load errors.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::dispatchDidFailLoad):
  • resources/error.html: Added.
02:19 Changeset [42864] by jmalonzo@webkit.org

2009-04-25 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Xan Lopez.

[GTK] Error reporting
https://bugs.webkit.org/show_bug.cgi?id=18344

Add a WebKitWebFrame API to load alternate content for unreachable URLs.
Also add a new signal "load-error" for handling load errors.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::postProgressFinishedNotification): (WebKit::FrameLoaderClient::dispatchDidFailLoading): (WebKit::FrameLoaderClient::dispatchDidFailProvisionalLoad): (WebKit::FrameLoaderClient::dispatchDidFailLoad):
  • webkit/webkitwebframe.cpp:
  • webkit/webkitwebframe.h:
  • webkit/webkitwebview.cpp:
02:04 Changeset [42863] by oliver@apple.com

Build fix.

01:44 Changeset [42862] by jmalonzo@webkit.org

2009-04-25 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Oliver Hunt.

Gtk build fix - check if we have MADV_FREE before using it.

  • interpreter/RegisterFile.cpp: (JSC::RegisterFile::releaseExcessCapacity):
  • wtf/Platform.h:

04/24/09:

21:03 Changeset [42861] by kov@webkit.org

2009-04-25 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Mark Rowe.

Only set the new URL once for the request. Doing it a second time
after the call to willSendRequest was causing crashes when
redirected requests got cancelled.

  • platform/network/soup/ResourceHandleSoup.cpp: (WebCore::restartedCallback):
20:44 Changeset [42860] by kevino@webkit.org

wx build fix. Switching JSCore from a static lib to a dynamic lib to match the Apple build and fix symbol exports.

20:19 Changeset [42859] by kevino@webkit.org

wx build fix. Adding ScriptEventListener.cpp.

17:27 Changeset [42858] by jmalonzo@webkit.org

2009-04-24 Laszlo Gombos <laszlo.1.gombos@nokia.com>

Rubber-stamped by Mark Rowe.

https://bugs.webkit.org/show_bug.cgi?id=25337
Move ThreadingQt.cpp under the qt directory.

17:18 Changeset [42857] by jmalonzo@webkit.org

2009-04-24 Laszlo Gombos <laszlo.1.gombos@nokia.com>

Rubber-stamped by Mark Rowe.

https://bugs.webkit.org/show_bug.cgi?id=25338
Move ThreadingGtk.cpp under the gtk directory.

  • GNUmakefile.am:
  • wtf/ThreadingGtk.cpp: Removed.
  • wtf/gtk/ThreadingGtk.cpp: Copied from JavaScriptCore/wtf/ThreadingGtk.cpp.
17:05 Changeset [42856] by jmalonzo@webkit.org

2009-04-24 Jan Michael Alonzo <jmalonzo@webkit.org>

Rubber-stamped by Gustavo Noronha.

Fix braces to comply with style guidelines.

  • WebCoreSupport/PasteboardHelperGtk.cpp: (WebKit::PasteboardHelperGtk::getClipboard): (WebKit::PasteboardHelperGtk::getCopyTargetList): (WebKit::PasteboardHelperGtk::getPasteTargetList):
17:05 Changeset [42855] by jmalonzo@webkit.org

2009-04-24 Sergio García-Cuevas <sergio_gcg@telefonica.net>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=17267
[GTK] Primary selection/clipboard support

Copy the link location to the primary selection as well as the
clipboard selection when using the "copy link selection" context
menu entry.

  • platform/gtk/PasteboardGtk.cpp: (WebCore::Pasteboard::writeURL):
  • platform/gtk/PasteboardHelper.h:

2009-04-24 Sergio García-Cuevas <sergio_gcg@telefonica.net>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=17267
[GTK] Primary selection/clipboard support

Add a method for getting the primary selection.

  • WebCoreSupport/PasteboardHelperGtk.cpp: (WebKit::PasteboardHelperGtk::getPrimary):
  • WebCoreSupport/PasteboardHelperGtk.h:
16:54 Changeset [42854] by eric@webkit.org

Reviewed by Simon Fraser.

https://bugs.webkit.org/show_bug.cgi?id=25383
Changing SVG size via JS does not update CSS width/height

Add an ugly hack to fix CSS width/height updates from JS.

We can't easily call setAttribute when width/height changes
as that would cause infinite recursion (as we'd try to set
the animation storage from the attributes)

For now, when we get notification that JS changed width/height
we copy what parseMappedAttribute does and update the CSS values as well.

A better fix for this would be:
https://bugs.webkit.org/show_bug.cgi?id=25383

  • svg/SVGSVGElement.cpp: (WebCore::updateCSSForAttribute): (WebCore::SVGSVGElement::svgAttributeChanged):
16:51 Changeset [42853] by barraclough@apple.com

2009-04-24 Gavin Barraclough <barraclough@apple.com>

Reviewed by Sam "Wesley" Weinig.

Improve performance to YARR interpreter.
(From about 3x slower than PCRE on regex-dna to about 30% slower).

  • yarr/RegexCompiler.cpp: (JSC::Yarr::RegexPatternConstructor::setupAlternativeOffsets):
  • yarr/RegexInterpreter.cpp: (JSC::Yarr::Interpreter::checkCharacter): (JSC::Yarr::Interpreter::checkCasedCharacter): (JSC::Yarr::Interpreter::backtrackPatternCharacter): (JSC::Yarr::Interpreter::backtrackPatternCasedCharacter): (JSC::Yarr::Interpreter::matchParentheticalAssertionBegin): (JSC::Yarr::Interpreter::matchParentheticalAssertionEnd): (JSC::Yarr::Interpreter::backtrackParentheticalAssertionBegin): (JSC::Yarr::Interpreter::backtrackParentheticalAssertionEnd): (JSC::Yarr::Interpreter::matchDisjunction): (JSC::Yarr::Interpreter::interpret): (JSC::Yarr::ByteCompiler::atomPatternCharacter): (JSC::Yarr::ByteCompiler::atomParenthesesSubpatternBegin): (JSC::Yarr::ByteCompiler::atomParentheticalAssertionBegin): (JSC::Yarr::ByteCompiler::closeAlternative): (JSC::Yarr::ByteCompiler::closeBodyAlternative): (JSC::Yarr::ByteCompiler::atomParenthesesEnd): (JSC::Yarr::ByteCompiler::regexBegin): (JSC::Yarr::ByteCompiler::regexEnd): (JSC::Yarr::ByteCompiler::alterantiveBodyDisjunction): (JSC::Yarr::ByteCompiler::alterantiveDisjunction): (JSC::Yarr::ByteCompiler::emitDisjunction):
  • yarr/RegexInterpreter.h: (JSC::Yarr::ByteTerm::): (JSC::Yarr::ByteTerm::ByteTerm): (JSC::Yarr::ByteTerm::BodyAlternativeBegin): (JSC::Yarr::ByteTerm::BodyAlternativeDisjunction): (JSC::Yarr::ByteTerm::BodyAlternativeEnd): (JSC::Yarr::ByteTerm::AlternativeBegin): (JSC::Yarr::ByteTerm::AlternativeDisjunction): (JSC::Yarr::ByteTerm::AlternativeEnd): (JSC::Yarr::ByteTerm::SubpatternBegin): (JSC::Yarr::ByteTerm::SubpatternEnd):
  • yarr/RegexJIT.cpp: (JSC::Yarr::RegexGenerator::generateParentheticalAssertion):
  • yarr/RegexPattern.h:
16:41 Changeset [42852] by kmccullough@apple.com

2009-04-24 Kevin McCullough <kmccullough@apple.com>

Reviewed by Dan Bernstein.

We should not show the deletion UI for blockquotes in mail but they do
show now that we only check for one visible border.

  • editing/DeleteButtonController.cpp: (WebCore::isDeletableElement):
16:28 Changeset [42851] by mrowe@apple.com

2009-04-24 Rob Raguet-Schofield <ragfield@gmail.com>

Rubber-stamped by Mark Rowe.

  • wtf/CurrentTime.h: Fix a typo in a comment.
16:05 Changeset [42850] by mitz@apple.com
  • address Hyatt's review comments on the last patch
  • rendering/RenderLayer.cpp: (WebCore::performOverlapTests): (WebCore::RenderLayer::paintLayer):
16:00 Changeset [42849] by mitz@apple.com

Reviewed by Dave Hyatt.

  • WebCore.xcodeproj/project.pbxproj: Added OverlapTestRequestClient.h.
  • page/FrameView.cpp: (WebCore::FrameView::reset): Initialize m_isOverlapped. (WebCore::FrameView::useSlowRepaints): Also check m_isOverlapped. (WebCore::FrameView::removeSlowRepaintObject): Use useSlowRepaints() so overlapping is taken into account. (WebCore::FrameView::setIsOverlapped): Added. Sets m_isOverlapped and enables or disables copy-on-scroll accordingly.
  • page/FrameView.h: Added setIsOverlapped() and m_isOverlapped.
  • rendering/OverlapTestRequestClient.h: Added. During foreground painting, an OverlapTestRequestClient can make a request to test if any subsequently- painted layers overlap a rect. The test result is delivered to the requestClient via setOverlapTestResult(). (WebCore::OverlapTestRequestClient::~OverlapTestRequestClient):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::paint): Pass an OverlapTestRequestMap to paintLayer(). When done painting, inform any remaining requestClients that they are not overlapped.

(WebCore::RenderLayer::paintLayer): Take an OverlapTestRequestMap and
pass it down to child and reflection layers. Inform requestClients if this
layer overlaps their requested rects.

  • rendering/RenderLayer.h:
  • rendering/RenderObject.h: (WebCore::RenderObject::PaintInfo::PaintInfo): Added an OverlapTestRequestMap member.
  • rendering/RenderReplica.cpp: (WebCore::RenderReplica::paint): For now, pass a 0 OverlapTestRequestMap to paintLayer().
  • rendering/RenderWidget.cpp: (WebCore::RenderWidget::paint): For FrameViews, request an overlap test with the frame. (WebCore::RenderWidget::setOverlapTestResult): Call FrameView::setIsOverlapped() with the result of the overlap test.
  • rendering/RenderWidget.h: Made RenderWidget an OverlapTestRequestClient.
15:52 Changeset [42848] by simon.fraser@apple.com

2009-04-24 Pierre d'Herbemont <pdherbemont@apple.com>

Reviewed by Simon Fraser

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

Fixed a race condition on the first 'played' attribute test start.

Previously we were starting nearly right away to play, and probably
before receiving the 'canplay' event. Now we ensure we'll wait for
that 'canplay' event before attempting to play.

  • media/video-played-expected.txt: Updated
  • media/video-played.html:
15:45 Changeset [42847] by ggaren@apple.com

2009-04-24 Geoffrey Garen <ggaren@apple.com>

Rubber stamped by Eric Seidel.


Updated test to turn the buildbot green after Eric's last check-in.

  • platform/mac/svg/W3C-SVG-1.1/animate-elem-36-t-expected.txt:
15:30 Changeset [42846] by hyatt@apple.com

2009-04-24 David Hyatt <hyatt@apple.com>

Reviewed by Simon Fraser, Dan Bernstein.

Speed up the PLT by devirtualizing the height() function on InlineBox. virtualizing it in order to make the height() computation dynamic caused
a ~0.5% slowdown. This patch does the following to get the speed back:


(a) Devirtualizes isText and forces inline box creators to set the bit as needed. This actually resulted in simplified code, since ListMarkerBox could
then be removed.
(b) Reduces the height() call count. In some cases the code was repeatedly calling height(), which used to be fine when the function was just an inline
member variable access. The call sites have been patched to cut down on extra height() calls now that it is more expensive.
(c) Devirtualize height() except on SVG boxes. For all non-SVG, the height() function on InlineBox handles the computation. For SVG boxes, a new bit has
been set on InlineBoxes (isSVG()) that indicates that the virtual svgBoxHeight() function should be called to retrieve the height instead.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • rendering/InlineBox.cpp: (WebCore::InlineBox::height):
  • rendering/InlineBox.h: (WebCore::InlineBox::InlineBox): (WebCore::InlineBox::isSVG): (WebCore::InlineBox::setIsSVG): (WebCore::InlineBox::isText): (WebCore::InlineBox::setIsText): (WebCore::InlineBox::svgBoxHeight):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::placeBoxesVertically): (WebCore::InlineFlowBox::paintBoxDecorations): (WebCore::InlineFlowBox::paintMask):
  • rendering/InlineFlowBox.h:
  • rendering/InlineTextBox.cpp:
  • rendering/InlineTextBox.h:
  • rendering/ListMarkerBox.cpp: Removed.
  • rendering/ListMarkerBox.h: Removed.
  • rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::createInlineBox):
  • rendering/RenderSVGInline.cpp: (WebCore::RenderSVGInline::createFlowBox):
  • rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::createTextBox):
  • rendering/RenderSVGText.cpp: (WebCore::RenderSVGText::createRootBox):
  • rendering/RenderText.cpp: (WebCore::RenderText::createInlineTextBox):
  • rendering/RootInlineBox.cpp:
  • rendering/RootInlineBox.h:
  • rendering/SVGInlineFlowBox.h: (WebCore::SVGInlineFlowBox::svgBoxHeight):
  • rendering/SVGInlineTextBox.h: (WebCore::SVGInlineTextBox::svgBoxHeight):
  • rendering/SVGRootInlineBox.h: (WebCore::SVGRootInlineBox::svgBoxHeight):
15:25 Changeset [42845] by eric@webkit.org

Reviewed by Adam Roben.

Add PrettyPatch support to run-webkit-tests

  • Scripts/run-webkit-tests:
15:09 Changeset [42844] by oliver@apple.com

Build fix

15:00 Changeset [42843] by dglazkov@chromium.org

2009-04-24 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=25370
Introduce ScriptEventListener to refactor away direct references to
JSLazyEventListener in WebCore code.

  • GNUmakefile.am: Added ScriptEventListener to project.
  • WebCore.pro: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • bindings/js/JSDOMGlobalObject.cpp: Removed unused JSLazyEventListener include.
  • bindings/js/JSLazyEventListener.cpp: Moved createAttributeEventListener helpers

to ScriptEventListener.

  • bindings/js/JSLazyEventListener.h: Ditto.
  • bindings/js/ScriptController.cpp: Removed unused JSLazyEventListener include.
  • bindings/js/ScriptEventListener.cpp: Added.
  • bindings/js/ScriptEventListener.h: Added.
  • bindings/v8/ScriptEventListener.cpp: Added.
  • bindings/v8/ScriptEventListener.h: Added.
  • dom/Document.cpp: Renamed JSLazyEventListener include to ScriptEventListener.
  • html/HTMLBodyElement.cpp: Ditto.
  • html/HTMLButtonElement.cpp: Ditto.
  • html/HTMLElement.cpp: Ditto.
  • html/HTMLFormElement.cpp: Ditto.
  • html/HTMLFrameElementBase.cpp: Ditto.
  • html/HTMLFrameSetElement.cpp: Ditto.
  • html/HTMLImageElement.cpp: Ditto.
  • html/HTMLInputElement.cpp: Ditto.
  • html/HTMLObjectElement.cpp: Ditto.
  • html/HTMLScriptElement.cpp: Ditto.
  • html/HTMLSelectElement.cpp: Ditto.
  • html/HTMLTextAreaElement.cpp: Ditto.
  • svg/SVGElement.cpp: Ditto.
  • svg/SVGSVGElement.cpp: Ditto.
14:53 Changeset [42842] by oliver@apple.com

<rdar://problem/6050421> JavaScript register file should remap to release physical pages accumulated during deep recursion

Reviewed by Geoff Garen

We now track the maximum extent of the RegisterFile, and when we reach the final
return from JS (so the stack portion of the registerfile becomes empty) we see
if that extent is greater than maxExcessCapacity. If it is we use madvise or
VirtualFree to release the physical pages that were backing the excess.

14:52 Changeset [42841] by darin@apple.com

2009-04-24 Darin Adler <darin@apple.com>

Reviewed by Sam Weinig.

Bug 25355: Crash when Creating New Tab or New Window when set to open Same Page
https://bugs.webkit.org/show_bug.cgi?id=25355
rdar://problem/6823543

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::loadItem): Added a null check.
14:34 Changeset [42840] by eric@webkit.org

Reviewed by Simon Fraser.

Fix RenderSVGImage to dump with full bounds and style information.
https://bugs.webkit.org/show_bug.cgi?id=25377

No functional changes, we're just now including more info in render tree dumps.

  • rendering/RenderObject.h: (WebCore::RenderObject::isSVGImage):
  • rendering/RenderSVGImage.h: (WebCore::RenderSVGImage::isSVGImage):
  • rendering/RenderTreeAsText.cpp: (WebCore::write):
  • rendering/SVGRenderTreeAsText.cpp: (WebCore::operator<<): (WebCore::write):
  • rendering/SVGRenderTreeAsText.h:
14:30 Changeset [42839] by andersca@apple.com

2009-04-24 Anders Carlsson <andersca@apple.com>

Reviewed by Darin Adler.

Fix <rdar://problem/6761635>.


Make sure to keep an extra reference to the instance proxy in case the plug-in host crashes while
we're waiting for a reply.


  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::destroy):
14:18 Changeset [42838] by levin@chromium.org

2009-04-24 David Levin <levin@chromium.org>

Reviewed by NOBODY (chromium build fix).

Rename "isInline" => "isAttribute" in v8 bindings (jsc was done in r42699).

  • bindings/v8/V8AbstractEventListener.cpp: (WebCore::V8AbstractEventListener::V8AbstractEventListener): (WebCore::V8AbstractEventListener::invokeEventHandler):
  • bindings/v8/V8AbstractEventListener.h:
  • bindings/v8/V8EventListenerList.cpp: (WebCore::V8EventListenerList::add): (WebCore::V8EventListenerList::remove): (WebCore::V8EventListenerList::clear):
  • bindings/v8/V8LazyEventListener.h: (WebCore::V8LazyEventListener::virtualisAttribute):
  • bindings/v8/custom/V8CustomEventListener.cpp: (WebCore::V8EventListener::V8EventListener):
  • bindings/v8/custom/V8CustomEventListener.h: (WebCore::V8EventListener::create): (WebCore::V8EventListener::virtualisAttribute):
14:16 Changeset [42837] by xan@webkit.org

2009-04-24 Johan Bilien <jobi@via.ecp.fr>

Reviewed by Xan Lopez.

https://bugs.webkit.org/show_bug.cgi?id=25373
Popup menu has the wrong size when popped up near the edge
of the screen

  • webkit/webkitwebview.cpp: (webkit_web_view_forward_context_menu_event): Let GTK place the popup menu instead of trying to do better and failing
13:48 Changeset [42836] by simon.fraser@apple.com

2009-04-24 Pierre d'Herbemont <pdherbemont@apple.com>

Reviewed by Simon Fraser

<rdar://problem/6805928> Re-export layout test MPEG-4 file to remove unusual edit

Use better mp4 test file for media tests. The original mp4 file had an unusual
edit (non-zero start time) which is not supported by all media engines. The new
movie should also give more useful pixel test results.

  • media/content/test.mp4: Update the movie.
  • media/progress-event-total-expected.txt: Update test results to match movie duration and content changes.
  • media/progress-event-total.html: Ditto.
  • media/video-currentTime-set-expected.txt: Ditto.
  • media/video-loop-expected.txt: Ditto.
  • platform/mac/media/video-aspect-ratio-expected.checksum: Ditto.
  • platform/mac/media/video-aspect-ratio-expected.png: Ditto.
  • platform/mac/media/video-controls-rendering-expected.checksum: Ditto.
  • platform/mac/media/video-controls-rendering-expected.png: Ditto.
  • platform/mac/media/video-display-toggle-expected.checksum: Ditto.
  • platform/mac/media/video-display-toggle-expected.png: Ditto.
  • platform/mac/media/video-empty-source-expected.checksum: Ditto.
  • platform/mac/media/video-layer-crash-expected.checksum: Ditto.
  • platform/mac/media/video-layer-crash-expected.png: Ditto.
  • platform/mac/media/video-transformed-expected.checksum: Ditto.
  • platform/mac/media/video-transformed-expected.png: Ditto.
  • platform/mac/media/video-zoom-expected.checksum: Ditto.
  • platform/mac/media/video-zoom-expected.png: Ditto.
13:08 Changeset [42835] by sfalken@apple.com

Fix nightly for Windows x64 users.
Installed browser location is written to a slightly different registry key in that case.


  • FindSafari/FindSafari.cpp: (getInstalledWebKitDirectory):
12:13 Changeset [42834] by kmccullough@apple.com

2009-04-24 Kevin McCullough <kmccullough@apple.com>

When I moved the files I forgot to update the location of the image!

  • platform/mac/editing/deleting/deletionUI-differing-background-expected.txt: Added.
  • platform/mac/editing/deleting/deletionUI-differing-background.html: Added.
11:43 Changeset [42833] by dglazkov@chromium.org

2009-04-24 Nate Chapin <japhet@google.com>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=25343
Fix Chromium/Skia bug where -webkit-box-shadow with 0,0 offset
ignores blur.

  • WebCore\platform\graphics\skia\GraphicsContextSkia.cpp (WebCore::GraphicsContext::setPlatformShadow): Add check against blur before clearing looper.
11:41 Changeset [42832] by kmccullough@apple.com

2009-04-24 Kevin McCullough <kmccullough@apple.com>

  • Build fix. Removed this test until I can figure out why it's failing.
  • platform/mac-leopard/editing/deleting/deletionUI-differing-background-expected.txt: Removed.
  • platform/mac/editing/deleting/deletionUI-differing-background-expected.txt: Removed.
  • platform/mac/editing/deleting/deletionUI-differing-background.html: Removed.
11:40 Changeset [42831] by dglazkov@chromium.org

WebCore:

2009-04-24 Eric Roman <eroman@chromium.org>

Reviewed by Darin Adler.

Initialize TextIterator::m_textLength to 0.

This assures that TextIterator::length() will return 0 for cases when TextIterator's constructor returns early (because there is nothing to iterate over in the range).

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

Test: editing/selection/doubleclick-whitespace-img-crash.html

  • editing/TextIterator.cpp: (WebCore::TextIterator::TextIterator):

LayoutTests:

2009-04-24 Eric Roman <eroman@chromium.org>

Reviewed by Darin Adler.

Add a test for <https://bugs.webkit.org/show_bug.cgi?id=25335>.

To pass, this test must not access invalid memory when run (won't necessarily manifest as a crash for failures).

  • editing/selection/doubleclick-whitespace-img-crash-expected.txt: Added.
  • editing/selection/doubleclick-whitespace-img-crash.html: Added.
11:38 Changeset [42830] by simon.fraser@apple.com

2009-04-24 Simon Fraser <simon.fraser@apple.com>

Source changes reviewed by Darin Adler

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

Update WebKitSystemInterface for Mac with fixes for video controller drawing.

  • libWebKitSystemInterfaceLeopard.a:
  • libWebKitSystemInterfaceTiger.a:
11:36 Changeset [42829] by dglazkov@chromium.org

2009-04-24 Fumitoshi Ukai <ukai@google.com>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=25329
Add indexed access method in v8 binding of ClientRectList.

  • bindings/v8/custom/V8ClientRectListCustom.cpp: Added.
11:32 Changeset [42828] by dglazkov@chromium.org

WebCore:

2009-04-24 Fumitoshi Ukai <ukai@google.com>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=25257
Use null for unspecified event listener attributes of XMLHttpRequest
and XMLHttpRequestUpload in v8 binding.

cf. http://www.whatwg.org/specs/web-apps/current-work/#event-handler-attributes
An event handler attribute, unless otherwise specified, can either
have the value null or be set to a Function object.
Initially, an event handler attribute must be set to null.

Test: fast/xmlhttprequest/xmlhttprequest-default-attributes.html

  • bindings/v8/custom/V8XMLHttpRequestCustom.cpp: (WebCore::ACCESSOR_GETTER): Changed to use v8::Null().
  • bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: (WebCore::ACCESSOR_GETTER): Ditto.

LayoutTests:

2009-04-24 Fumitoshi Ukai <ukai@google.com>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=25257
Verify XMLHttpRequest has correct attribute value by default.

  • fast/xmlhttprequest/resources/xmlhttprequest-default-attributes.js: Added.
  • fast/xmlhttprequest/xmlhttprequest-default-attributes-expected.txt: Added.
  • fast/xmlhttprequest/xmlhttprequest-default-attributes.html: Added.
11:02 Changeset [42827] by christian@webkit.org

2009-04-24 Christian Dywan <christian@twotoasts.de>

Rubber-stamped by Gustavo Noronha.

  • webkit/webkitwebsettings.cpp: (_WebKitWebSettingsPrivate::webkit_web_settings_class_init): Reword the description of the enable-spell-checking property and correct the mentioning of the default language used.
10:42 Changeset [42826] by kmccullough@apple.com

2009-04-24 Kevin McCullough <kmccullough@apple.com>

Speculative fix for leopard build-bot until I have a fix on leopard.

  • platform/mac-leopard/editing: Added.
  • platform/mac-leopard/editing/deleting: Added.
  • platform/mac-leopard/editing/deleting/deletionUI-differing-background-expected.txt: Added.
09:38 Changeset [42825] by darin@apple.com

2009-04-24 Darin Adler <darin@apple.com>

Reviewed by Adam Roben.

<rdar://problem/6663836> CrashTracer: crashes in Safari at com.apple.WebCore • WebCore::reportException + 1513

  • bindings/js/JSDOMBinding.cpp: (WebCore::reportException): Added a null check.
09:13 Changeset [42824] by beidson@apple.com

2009-04-24 Brady Eidson <beidson@apple.com>

Reviewed by Dan Bernstein

Currently working on a bug where a WebHistoryItem was being used after being dealloc'ed.
I added this assertion to help catch the case as soon as it happens instead of random
issues downstream. Figured it's worth checking in by itself.

  • History/WebHistoryItem.mm: (core): ASSERT that the WebCore::HistoryItem inside this WebHistoryItem is supposed to have this WebHistoryItem as a wrapper.
09:10 Changeset [42823] by simon.fraser@apple.com

2009-04-24 Simon Fraser <simon.fraser@apple.com>

Reviewed by Darin Adler

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

Add support for transtions and animations of background-position, -webkit-background-size,
-webkit-mask-position and -webkit-mask-size.

Tests: transitions/background-transitions.html

transitions/mask-transitions.html

  • page/animation/AnimationBase.cpp: (WebCore::blendFunc): Add a blend func for LengthSize.

(WebCore::ensurePropertyMap):
Add wrappers for the new properties.

(WebCore::addShorthandProperties):
Add a shorthand property for CSSPropertyBackgroundPosition to map to
CSSPropertyBackgroundPositionX and CSSPropertyBackgroundPositionY,
add CSSPropertyWebkitMask for CSSPropertyWebkitMaskPosition, and add
CSSPropertyWebkitMaskPosition for CSSPropertyWebkitMaskPositionX and
CSSPropertyWebkitMaskPositionY.

  • rendering/style/RenderStyle.h: (WebCore::InheritedFlags::setBackgroundXPosition): (WebCore::InheritedFlags::setBackgroundYPosition): (WebCore::InheritedFlags::setBackgroundSize): (WebCore::InheritedFlags::setMaskXPosition): (WebCore::InheritedFlags::setMaskYPosition): (WebCore::InheritedFlags::setMaskSize): Add setters for the properties that can be animated now.
08:55 Changeset [42822] by adele@apple.com

2009-04-24 Adele Peterson <adele@apple.com>

Reviewed by Dan Bernstein.

Updating these pixel results to the generated results on Leopard.

  • platform/mac/editing/inserting/5510537-expected.checksum:
  • platform/mac/editing/inserting/5510537-expected.png:
  • platform/mac/editing/inserting/6703873-expected.checksum:
  • platform/mac/editing/inserting/6703873-expected.png:
  • platform/mac/editing/selection/select-all-iframe-expected.checksum:
  • platform/mac/editing/selection/select-all-iframe-expected.png:
08:39 Changeset [42821] by adele@apple.com

WebCore:

2009-04-24 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Fix for <rdar://problem/5089327> Newline gets stripped when pasting whole lines in certain markup

Test: editing/pasteboard/paste-blockquote-after-blockquote.html

When we have matching quote levels, its ok to merge the starts of the inserted and existing blocks more frequently.
But we should only merge here if the selection start was inside a mail blockquote. This prevents against removing a
blockquote from newly pasted quoted content that was pasted into an unquoted position. If that unquoted position happens
to be right after another blockquote, we don't want to merge and risk stripping a valid block (and newline) from the pasted content.

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::shouldMergeStart): Also added an early return to always return false when we're already moving paragraphs. (WebCore::ReplaceSelectionCommand::doApply): Removed redundant check for when we're moving paragraphs.
  • editing/ReplaceSelectionCommand.h:

LayoutTests:

2009-04-24 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Test for <rdar://problem/5089327> Newline gets stripped when pasting whole lines in certain markup

  • editing/pasteboard/paste-blockquote-after-blockquote.html: Added.
  • platform/mac/editing/pasteboard/paste-blockquote-after-blockquote-expected.checksum: Added.
  • platform/mac/editing/pasteboard/paste-blockquote-after-blockquote-expected.png: Added.
  • platform/mac/editing/pasteboard/paste-blockquote-after-blockquote-expected.txt: Added.
06:16 Changeset [42820] by kov@webkit.org

2009-04-24 Diego Escalante Urrelo <diegoe@gnome.org>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=15616
[GTK] Add spell checking

Implement EditorClient::ignoreWordInSpellDocument,
EditorClient::learnWord and EditorClient::getGuessesForWord. This
enables the corresponding user actions.

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::EditorClient::ignoreWordInSpellDocument): (WebKit::EditorClient::learnWord): (WebKit::EditorClient::getGuessesForWord):
06:16 Changeset [42819] by kov@webkit.org

2009-04-24 Diego Escalante Urrelo <diegoe@gnome.org>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=15616
[GTK] Add spell checking

Implement EditorClient::checkSpellingOfString; enabling spell checking
to actually happen, this is the basis for other spelling functions.

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::EditorClient::checkSpellingOfString):
06:16 Changeset [42818] by kov@webkit.org

2009-04-24 Diego Escalante Urrelo <diegoe@gnome.org>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=15616
[GTK] Add spell checking

Add enchant support for spell-checking-languages property to work
properly.

  • GNUmakefile.am:
  • configure.ac:

WebKit/gtk

2009-04-24 Diego Escalante Urrelo <diegoe@gnome.org>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=15616
[GTK] Add spell checking

Add spell-checking-languages property to WebKitWebSettings.

  • webkit/webkitprivate.h:
  • webkit/webkitwebsettings.cpp: (_WebKitWebSettingsPrivate::): (_WebKitWebSettingsPrivate::webkit_web_settings_class_init): (_WebKitWebSettingsPrivate::webkit_web_settings_init): (_WebKitWebSettingsPrivate::webkit_web_settings_finalize): (_WebKitWebSettingsPrivate::webkit_web_settings_set_property): (_WebKitWebSettingsPrivate::webkit_web_settings_get_property): (_WebKitWebSettingsPrivate::webkit_web_settings_copy): (_WebKitWebSettingsPrivate::webkit_web_settings_get_spell_languages):
06:16 Changeset [42817] by kov@webkit.org

2009-04-24 Diego Escalante Urrelo <diegoe@gnome.org>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=15616
[GTK] Add spell checking

Add enable-spell-checking property to WebKitWebSettings and implement
EditorClient::isContinuousSpellCheckingEnabled and
EditorClient::toggleContinuousSpellChecking to allow the UI to
enable check as you type spell checking.

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::EditorClient::isContinuousSpellCheckingEnabled): (WebKit::EditorClient::toggleContinuousSpellChecking):
  • webkit/webkitwebsettings.cpp: (_WebKitWebSettingsPrivate::): (_WebKitWebSettingsPrivate::webkit_web_settings_class_init): (_WebKitWebSettingsPrivate::webkit_web_settings_set_property): (_WebKitWebSettingsPrivate::webkit_web_settings_get_property): (_WebKitWebSettingsPrivate::webkit_web_settings_copy):
04:12 Changeset [42816] by ariya@webkit.org

2009-04-24 Ariya Hidayat <ariya.hidayat@nokia.com>

Reviewed by Simon Hausmann.

Added Qt-specific expected result for color conversion.

This is to compensate the lack of color profile in Qt to do
color conversion, hence CMYK 0,0,0,1 always give pure black (#000)
instead of very dark black.

  • platform/qt/fast/canvas/set-colors-expected.txt: Added.
04:08 Changeset [42815] by hausmann@webkit.org

2009-04-24 Simon Hausmann <simon.hausmann@nokia.com>

Rubber-stamped by Ariya Hidayat.

Fix qdoc warning about link to QAction::isEnabled.

03:30 Changeset [42814] by hausmann@webkit.org

2009-04-24 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Ariya Hidayat.

Added support for generating API docs in the Qt build using "make docs"

Added code snippets and overview from the Qt sources references in the API docs.

01:24 QtWebKitJournal edited by hausmann@webkit.org
(diff)
Note: See TracTimeline for information about the timeline view.