diff options
| author | Feng Qian <> | 2009-04-10 18:11:29 -0700 |
|---|---|---|
| committer | The Android Open Source Project <initial-contribution@android.com> | 2009-04-10 18:11:29 -0700 |
| commit | 8f72e70a9fd78eec56623b3a62e68f16b7b27e28 (patch) | |
| tree | 181bf9a400c30a1bf34ea6d72560e8d00111d549 /WebCore/ChangeLog | |
| parent | 7ed56f225e0ade046e1c2178977f72b2d896f196 (diff) | |
| download | external_webkit-8f72e70a9fd78eec56623b3a62e68f16b7b27e28.zip external_webkit-8f72e70a9fd78eec56623b3a62e68f16b7b27e28.tar.gz external_webkit-8f72e70a9fd78eec56623b3a62e68f16b7b27e28.tar.bz2 | |
AI 145796: Land the WebKit merge @r42026.
Automated import of CL 145796
Diffstat (limited to 'WebCore/ChangeLog')
| -rw-r--r-- | WebCore/ChangeLog | 22533 |
1 files changed, 21614 insertions, 919 deletions
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog index b7efdff..164a9fd 100644 --- a/WebCore/ChangeLog +++ b/WebCore/ChangeLog @@ -1,8 +1,10326 @@ -2009-02-19 Mark Rowe <mrowe@apple.com> +2009-03-26 Jungshik Shin <jshin@chromium.org> - Merge r41091. + Reviewed by Cameron Zwarich. + + 1. Fix the crash in setHintEncoding + 2. Fix build failures on Tiger and Qt. + UnusedParam.h was not included by TextEncodingDetector{None,ICU}.cpp + in the patch landed in r42023 + for http://bugs.webkit.org/show_bug.cgi?id=16482 + + * loader/TextResourceDecoder.h: + (WebCore::TextResourceDecoder::setHintEncoding): + * platform/text/TextEncodingDetectorICU.cpp: + * platform/text/TextEncodingDetectorNone.cpp: + +2009-03-26 Simon Fraser <simon.fraser@apple.com> + + Build fix when ACCELERATED_COMPOSITING is turned on. + + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::canUseDirectCompositing): + +2009-03-26 Eric Seidel <eric@webkit.org> + + No additional review, committing previously reviewed files for build fix only. + + Add files I missed when commiting Jungshik's patch in r42022. + https://bugs.webkit.org/show_bug.cgi?id=16482 + + * icu/unicode/ucsdet.h: Added. + * platform/text/TextEncodingDetector.h: Added. + * platform/text/TextEncodingDetectorICU.cpp: Added. + (WebCore::detectTextEncoding): + * platform/text/TextEncodingDetectorNone.cpp: Added. + (WebCore::detectTextEncoding): + +2009-03-26 Jungshik Shin <jshin@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Add an encoding detector 'hook' to TextResourceDecoder. + - add |usesEncodingDetector| to Settings. It's off by default. + - add a new encoding source type |EncodingFromParent| + to distinguish cases when the encoding is inherited from + the parent frame from cases when it's actually auto-detected. + - add TextEncodingDetector* to platform/text. Currently, + the only implementation uses ICU. Stub is added for + ports that do not use ICU and a build on Tiger. Mac OS + Tiger comes with ICU 3.2 that does not support encoding detector. + - add ucsdet.h to icu/unicode for ports using ICU. + + Layout tests will be added once bug 20534 is fixed and a WebPreference + can be controlled in test_shell. With UsesEncodingDetector off, there + is no change to test. + + http://bugs.webkit.org/show_bug.cgi?id=16482 + + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCore/GNUmakefile.am + * WebCore/WebCore.pro + * WebCore/WebCore.scons + * WebCore/WebCoreSources.bkl + * WebCore.base.exp + * icu/unicode/ucsdet.h + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::write): turn on/off encoding detector depending on Settings and set hintEncoding of TextResourceDecoder to the parent frame encoding if necessary and the security policy allows refering to the parent frame encoding. + * loader/TextResourceDecoder.cpp: + (WebCore::TextResourceDecoder::TextResourceDecoder): + (WebCore::TextResourceDecoder::checkForCSSCharset): add check for EncodingFromParentFrame + (WebCore::TextResourceDecoder::checkForHeadCharset): ditto + (WebCore::TextResourceDecoder::shouldAutoDetect): + (WebCore::TextResourceDecoder::decode): call encoding detector if shouldAutoDetect returns true. + (WebCore::TextResourceDecoder::flush): if encoding is not determined by now, call encoding detector if shouldAutoDetect returns true. + * loader/TextResourceDecoder.h: + (WebCore::TextResourceDecoder::): + (WebCore::TextResourceDecoder::create): + (WebCore::TextResourceDecoder::setHintEncoding): + (WebCore::TextResourceDecoder::source): + * page/Settings.cpp: add m_usesEncodingDetector + (WebCore::Settings::Settings): + (WebCore::Settings::setUsesEncodingDetector): + * page/Settings.h: + (WebCore::Settings::usesEncodingDetector): + * platform/text/TextEncodingDetector.h: Added. + * platform/text/TextEncodingDetectorICU.cpp: Added. + (WebCore::detectTextEncoding): + * platform/text/TextEncodingDetectorNone.cpp: Added. + (WebCore::detectTextEncoding): + +2009-03-26 Darin Adler <darin@apple.com> + + Reviewed by Geoff Garen. + + Removed code that casts EventListener down to derived classes + without type checking. A crash could happen if you added event + listeners with Objective-C and then manipulated the class with + JavaScript. + + * bindings/js/JSDOMApplicationCacheCustom.cpp: + (WebCore::JSDOMApplicationCache::mark): Removed all the casts + and used the markIfNotNull function and mark functions on + EventListener instead. + * bindings/js/JSMessagePortCustom.cpp: + (WebCore::JSMessagePort::mark): Ditto. + * bindings/js/JSWorkerContextCustom.cpp: + (WebCore::JSWorkerContext::mark): Ditto. + * bindings/js/JSWorkerCustom.cpp: + (WebCore::JSWorker::mark): Ditto. + * bindings/js/JSXMLHttpRequestCustom.cpp: + (WebCore::JSXMLHttpRequest::mark): Ditto. + * bindings/js/JSXMLHttpRequestUploadCustom.cpp: + (WebCore::JSXMLHttpRequestUpload::mark): Ditto. + + * bindings/js/JSEventListener.cpp: + (WebCore::JSAbstractEventListener::handleEvent): Used function, + the new name for what used to be called listenerObj. + (WebCore::JSAbstractEventListener::virtualIsInline): Renamed since + this doesn't need to be virtual for callers who have a pointer to + this class, not the base class. + (WebCore::JSEventListener::function): Renamed from listenerObj. + (WebCore::JSProtectedEventListener::function): Ditto. + + * bindings/js/JSEventListener.h: Removed unneeded forward class + declarations. Made all virtual functions private since there's no + need to call any of them on a particular derived class, only on + EventListener. Explicitly declare JSEventListener::mark as virtual + since it's now overriding a function in the EventListener base class. + Made JSProtectedEventListener::m_globalObject protected so the + JSLazyEventListener derived class can use it directly instead of using + a virtual function to get the pointer. + + * bindings/js/JSLazyEventListener.cpp: + (WebCore::JSLazyEventListener::parseCode): Use m_globalObject instead + of globalObject since the latter is a virtual function and there's no + need to pay virtual function overhead. + (WebCore::JSLazyEventListener::function): Renamed from listenerObj. + + * bindings/js/JSLazyEventListener.h: Moved forward declaration of the + Node class here from JSEventListener.h. + + * bindings/scripts/CodeGeneratorJS.pm: Removed now-unneeded cast to + JSEventListener when getting the script object from a listener. + + * dom/EventListener.h: Added virtual function and mark functions + so we can extract the JavaScript function object or mark a JavaScript + event listener in a type safe manner. + +2009-03-26 Peter Kasting <pkasting@google.com> + + Reviewed by Adele Peterson. + + https://bugs.webkit.org/show_bug.cgi?id=24859 + Use CSS file instead of code to adjust search field styling. + + * css/themeWin.css: + * rendering/RenderThemeWin.cpp: + * rendering/RenderThemeWin.h: + +2009-03-26 Darin Adler <darin@apple.com> + + Reviewed by Geoff Garen. + + Split JSLazyEventListener out into its own separate source file. + We'll be removing JSAbstractEventListener and JSProtectedEventListener soon, + so leave those in the same file with JSEventListener. + + * GNUmakefile.am: Added JSLazyEventListener. + * WebCore.pro: Ditto. + * WebCore.scons: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * WebCoreSources.bkl: Ditto. + + * bindings/js/JSEventListener.cpp: Removed the JSLazyEventListener part. + Removed unneeded includes. Removed incorrect ASSERT_CLASS_FITS_IN_CELL, since + JSAbstractEventListener is not derived from JSCell. + + * bindings/js/JSEventListener.h: Removed the JSLazyEventListener part + and the now-unneeded include of PlatformString.h. + + * bindings/js/JSLazyEventListener.cpp: Copied from bindings/js/JSEventListener.cpp. + Kept only the JSLazyEventListener part. + (WebCore::eventParameterName): Made this have internal linkage by adding "static". + Also moved the default case out of the switch statement so we will get a warning + if we omit any cases in the future. + + * bindings/js/JSLazyEventListener.h: Copied from bindings/js/JSEventListener.h. + Kept only the JSLazyEventListener part. + + * bindings/js/ScriptController.cpp: Removed unneeded includes and sorted the + remanining ones. Include JSLazyEventListener.h instead of JSEventListener.h. + +2009-03-26 Darin Adler <darin@apple.com> + + Reviewed by Geoff Garen. + + Renamed JSUnprotectedEventListener to JSEventListener. + And related renames. + + Soon Geoff will make all JavaScript event listeners use mark instead + of protect, so there's no need to emphasize "unprotected". + + * bindings/js/JSDOMApplicationCacheCustom.cpp: + (WebCore::JSDOMApplicationCache::mark): + (WebCore::JSDOMApplicationCache::addEventListener): + (WebCore::JSDOMApplicationCache::removeEventListener): + * bindings/js/JSDOMGlobalObject.cpp: + (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject): + (WebCore::JSDOMGlobalObject::findJSEventListener): + (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener): + (WebCore::JSDOMGlobalObject::jsEventListeners): + (WebCore::JSDOMGlobalObject::jsInlineEventListeners): + * bindings/js/JSDOMGlobalObject.h: + * bindings/js/JSDOMWindowBase.h: + * bindings/js/JSEventListener.cpp: + (WebCore::JSEventListener::JSEventListener): + (WebCore::JSEventListener::~JSEventListener): + (WebCore::JSEventListener::listenerObj): + (WebCore::JSEventListener::globalObject): + (WebCore::JSEventListener::clearGlobalObject): + (WebCore::JSEventListener::mark): + * bindings/js/JSEventListener.h: + (WebCore::JSEventListener::create): + * bindings/js/JSMessagePortCustom.cpp: + (WebCore::JSMessagePort::mark): + (WebCore::JSMessagePort::addEventListener): + (WebCore::JSMessagePort::removeEventListener): + * bindings/js/JSWorkerContextCustom.cpp: + (WebCore::JSWorkerContext::mark): + (WebCore::JSWorkerContext::addEventListener): + (WebCore::JSWorkerContext::removeEventListener): + * bindings/js/JSWorkerCustom.cpp: + (WebCore::JSWorker::mark): + (WebCore::JSWorker::addEventListener): + (WebCore::JSWorker::removeEventListener): + * bindings/js/JSXMLHttpRequestCustom.cpp: + (WebCore::JSXMLHttpRequest::mark): + (WebCore::JSXMLHttpRequest::addEventListener): + (WebCore::JSXMLHttpRequest::removeEventListener): + * bindings/js/JSXMLHttpRequestUploadCustom.cpp: + (WebCore::JSXMLHttpRequestUpload::mark): + (WebCore::JSXMLHttpRequestUpload::addEventListener): + (WebCore::JSXMLHttpRequestUpload::removeEventListener): + * bindings/scripts/CodeGeneratorJS.pm: + All just renaming. + +2009-03-26 Darin Adler <darin@apple.com> + + Reviewed by Geoff Garen. + + Renamed JSEventListener to JSProtectedEventListener. + And related renames. + + Soon Geoff will make all JavaScript event listeners use mark instead + of protect, and so this class will be be obsolete. We will rename + JSUnrpotectedEventListener to JSEventListener in the next check-in, + since that one will remain. + + * bindings/js/JSDOMGlobalObject.cpp: + (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject): + (WebCore::JSDOMGlobalObject::findJSProtectedEventListener): + (WebCore::JSDOMGlobalObject::findOrCreateJSProtectedEventListener): + (WebCore::JSDOMGlobalObject::jsProtectedEventListeners): + (WebCore::JSDOMGlobalObject::jsProtectedInlineEventListeners): + * bindings/js/JSDOMGlobalObject.h: + * bindings/js/JSDOMWindowBase.h: + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::addEventListener): + (WebCore::JSDOMWindow::removeEventListener): + * bindings/js/JSEventListener.cpp: + (WebCore::JSProtectedEventListener::JSProtectedEventListener): + (WebCore::JSProtectedEventListener::~JSProtectedEventListener): + (WebCore::JSProtectedEventListener::listenerObj): + (WebCore::JSProtectedEventListener::globalObject): + (WebCore::JSProtectedEventListener::clearGlobalObject): + (WebCore::JSLazyEventListener::JSLazyEventListener): + (WebCore::JSLazyEventListener::parseCode): + * bindings/js/JSEventListener.h: + (WebCore::JSProtectedEventListener::create): + * bindings/js/JSNodeCustom.cpp: + (WebCore::JSNode::addEventListener): + (WebCore::JSNode::removeEventListener): + * bindings/js/JSSVGElementInstanceCustom.cpp: + (WebCore::JSSVGElementInstance::addEventListener): + (WebCore::JSSVGElementInstance::removeEventListener): + * bindings/scripts/CodeGeneratorJS.pm: + All just renaming. + +2009-03-26 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + - fix <rdar://problem/6725042> BidiResolver::createBidiRunsForLine can + create runs extending beyond the end + + No test because Safari does not use this version of + createBidiRunsForLine() with the end iterator not pointing to the end + of the text run. + + * platform/text/BidiResolver.h: + (WebCore::BidiResolver::appendRun): Cap the end of the run at the end + of the line and set the reachedEndOfLine flag. This mirrors the logic + in the specialized version of appendRun() in bidi.cpp, which is why the + problem did not show up in HTML. Also avoid creating empty runs. + +2009-03-26 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=24864 + + Change the terminology from "inner content layer" to "direct compositing" + for cases where we can push an image directly over to the compositing system, + without having to draw it. + + Clean up much of the code which looks at style to determine if this is possible, + and fix some bugs when backgrounds change dynamically. + + * rendering/RenderLayerBacking.cpp: + (WebCore::hasBorderOutlineOrShadow): + (WebCore::hasBoxDecorations): + (WebCore::hasBoxDecorationsWithBackgroundImage): + (WebCore::RenderLayerBacking::canBeSimpleContainerCompositingLayer): + (WebCore::RenderLayerBacking::canUseDirectCompositing): + (WebCore::RenderLayerBacking::detectDrawingOptimizations): + (WebCore::RenderLayerBacking::rendererContentChanged): + (WebCore::RenderLayerBacking::updateImageContents): + * rendering/RenderLayerBacking.h: + +2009-03-26 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=23914 + + Tests: compositing/overflow/ancestor-overflow.html + compositing/overflow/parent-overflow.html + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::calculateClipRects): + * rendering/RenderLayer.h: + (WebCore::ClipRects::infiniteRect): + New static method that returns a large rect that is used by the clipping + logic. + + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): + Use parentClipRects(), rather than calculateRects(), to compute the overflow + rect that we'll use to create a masking layer for composited clipping. + + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::clippedByAncestor): + Use parentClipRects() to see whether there's a layer between us and our + compositing ancestor which applies clipping. + + (WebCore::RenderLayerCompositor::clipsCompositingDescendants): + A layer which imposes clipping to its children doesn't have to be a stacking + context; it might be a normal flow layer; in either case, we can rely on the + hasCompositingDescendant() bit. + +2009-03-26 Steve Falkenburg <sfalken@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=24837 + Escape key should dismiss select menu + + Reviewed by Adam Roben. + + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupWndProc): + +2009-03-26 Kevin Ollivier <kevino@theolliviers.com> + + Reviewed by Alexey Proskuryakov. + + Make sure the script uses LF line endings even on Windows. + + https://bugs.webkit.org/show_bug.cgi?id=24805 + + * WebCore/make-generated-sources.sh: Change svn:eol-style to LF + +2009-03-26 Eli Fidler <eli.fidler@torchmobile.com> + + Reviewed by George Staikos. + + Remove warnings all over the place by making operator precedence + explicit in cases like x && y || z. No functional change. + + * css/CSSFontSelector.cpp: + (WebCore::CSSFontSelector::addFontFaceRule): + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + (WebCore::CSSParser::parseShadow): + * dom/Document.cpp: + (WebCore::Document::shouldScheduleLayout): + * dom/Node.cpp: + (WebCore::Node::isBlockFlowOrBlockTable): + * dom/Node.h: + (WebCore::Node::document): + * dom/Position.cpp: + (WebCore::Position::next): + (WebCore::Position::upstream): + (WebCore::Position::downstream): + (WebCore::Position::getInlineBoxAndOffset): + * dom/PositionIterator.cpp: + (WebCore::PositionIterator::atStart): + * dom/Range.cpp: + (WebCore::Range::intersectsNode): + * editing/Editor.cpp: + (WebCore::Editor::setBaseWritingDirection): + * editing/InsertParagraphSeparatorCommand.cpp: + (WebCore::InsertParagraphSeparatorCommand::doApply): + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::doApply): + * editing/TextIterator.cpp: + (WebCore::TextIterator::advance): + (WebCore::SimplifiedBackwardsTextIterator::advance): + * editing/VisiblePosition.cpp: + (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): + (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): + (WebCore::VisiblePosition::canonicalPosition): + * editing/htmlediting.cpp: + (WebCore::isMailBlockquote): + (WebCore::lineBreakExistsAtPosition): + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::parseMappedAttribute): + * loader/FTPDirectoryDocument.cpp: + (WebCore::processFileDateString): + * loader/ImageLoader.cpp: + (WebCore::ImageLoader::updateFromElement): + * loader/TextResourceDecoder.cpp: + (WebCore::TextResourceDecoder::checkForHeadCharset): + * page/AccessibilityObject.cpp: + (WebCore::updateAXLineStartForVisiblePosition): + * page/EventHandler.cpp: + (WebCore::EventHandler::sendContextMenuEvent): + * page/animation/AnimationBase.cpp: + (WebCore::PropertyWrapperGetter::equals): + (WebCore::PropertyWrapperShadow::equals): + * platform/ContextMenu.cpp: + (WebCore::ContextMenu::populate): + * platform/ScrollView.cpp: + (WebCore::ScrollView::adjustScrollbarsAvoidingResizerCount): + * platform/text/Base64.cpp: + (WebCore::base64Encode): + * platform/text/BidiResolver.h: + (WebCore::::raiseExplicitEmbeddingLevel): + (WebCore::::createBidiRunsForLine): + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::placeEllipsisBox): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::addChild): + (WebCore::RenderBlock::repaintOverhangingFloats): + (WebCore::RenderBlock::fillInlineSelectionGaps): + (WebCore::RenderBlock::positionForPoint): + (WebCore::RenderBlock::calcInlinePrefWidths): + (WebCore::RenderBlock::hasLineIfEmpty): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::imageChanged): + (WebCore::RenderBox::localCaretRect): + (WebCore::RenderBox::positionForPoint): + (WebCore::RenderBox::shrinkToAvoidFloats): + * rendering/RenderObject.h: + (WebCore::objectIsRelayoutBoundary): + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::clippedOverflowRectForRepaint): + * rendering/RenderText.cpp: + (WebCore::RenderText::calcPrefWidths): + * rendering/bidi.cpp: + (WebCore::RenderBlock::determineStartPosition): + (WebCore::textWidth): + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::diff): + * rendering/style/StyleInheritedData.cpp: + (WebCore::cursorDataEquivalent): + * rendering/style/StyleRareInheritedData.cpp: + (WebCore::StyleRareInheritedData::shadowDataEquivalent): + * rendering/style/StyleRareNonInheritedData.cpp: + (WebCore::StyleRareNonInheritedData::shadowDataEquivalent): + (WebCore::StyleRareNonInheritedData::animationDataEquivalent): + (WebCore::StyleRareNonInheritedData::transitionDataEquivalent): + +2009-03-26 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Reviewed by Holger Freyther. + + https://bugs.webkit.org/show_bug.cgi?id=24804 + [GTK] 401 responses cause rogue content to be loaded + + Our soup code handles 401 responses itself, so we should not feed + the headers and data of those responses to the loader. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::gotHeadersCallback): + (WebCore::gotChunkCallback): + +2009-03-25 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Oliver Hunt and Darin Adler. + + Fixed <rdar://problem/6603167> Crash in WebKit!JSC::JSGlobalObject::resetPrototype + during Stress test (#3 & #7 WER crashes for Safari 4 Beta) + + The problem was that allocation of the global object would, for just a + moment, leave the global object's prototype unprotected from GC. This + bug doesn't apply to non-global DOM objects because their prototypes are + cached and marked by the global object. + + No test case because the crashing condition is hard to deterministically + produce in a normal build, and in a Windows Release build with + COLLECT_ON_EVERY_ALLOCATION set to 1, existing tests crash/hang. + + * bindings/js/JSDOMWindowShell.cpp: + (WebCore::JSDOMWindowShell::setWindow): + * bindings/js/WorkerScriptController.cpp: + (WebCore::WorkerScriptController::initScript): Protect the global object's + prototype from GC during construction, since the global object does not + yet point to it, and therefore won't mark it. + +2009-03-25 Dean Jackson <dino@apple.com> + + Reviewed by Simon Fraser + + https://bugs.webkit.org/show_bug.cgi?id=23361 + + When using hardware compositing, some images can be directly + rendered by the hardware - no need to draw them into a separate + context, therefore saving memory. + Only images with certain style properties can be directly + composited - basically anything that is not a simple image requires + the usual rendering path (eg. if the image has borders). + + Test: compositing/direct-image-compositing.html + + * manual-tests/resources/simple_image.png: Added. + * manual-tests/simple-image-compositing.html: Added. + * platform/graphics/Image.h: + (WebCore::Image::startAnimation): + - move this to public + * rendering/RenderImage.cpp: + (WebCore::RenderImage::imageChanged): + - poke compositing layer if image has changed + (WebCore::RenderImage::notifyFinished): + - let the compositing layer know that it can render the image + * rendering/RenderImage.h: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::rendererContentChanged): + * rendering/RenderLayer.h: + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::canUseInnerContentLayer): + (WebCore::RenderLayerBacking::detectDrawingOptimizations): + (WebCore::RenderLayerBacking::rendererContentChanged): + * rendering/RenderLayerBacking.h: + - code to hook up direct compositing of images where + possible + +2009-03-25 David Levin <levin@chromium.org> + + Reviewed by Dimitri Glazkov. + + Chromium build fix. Fix #include in V8NodeFilterCondition.cpp due to the + rename of V8NodeFilter to V8NodeFilterCondition. + + * bindings/v8/V8NodeFilterCondition.cpp: + +2009-03-25 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler + + https://bugs.webkit.org/show_bug.cgi?id=24817 + + When the slider range is zero, avoid a divide by zero, which caused the + thumb to be positioned off in the weeds, which broke painting. + + Test: media/video-empty-source.html + + * rendering/RenderSlider.cpp: + (WebCore::SliderRange::proportionFromValue): + (WebCore::SliderRange::valueFromProportion): + (WebCore::sliderPosition): + (WebCore::RenderSlider::setValueForPosition): + +2009-03-24 Eric Seidel <eric@webkit.org> + + Reviewed by Darin Adler. + + Remove dead code and style cleanup + https://bugs.webkit.org/show_bug.cgi?id=24684 + + * html/CanvasStyle.cpp: + (WebCore::CanvasStyle::CanvasStyle): + Coverty was annoyed that we didn't initialize all of our members. I agree, but I didn't + want to paste all 8 members each time, so I just cleaned up the existing constructors and left them. + * page/FocusController.cpp: + (WebCore::FocusController::setFocusedNode): + "node" was checked just above and is already known to be non-null + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::insertOnlyThisLayer): + We were already using parentLayer w/o a NULL check above, so just add an explicit ASSERT and use it w/o NULL check + (WebCore::RenderLayer::resize): + element is already ASSERTed above, no need to null check it here + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::addCell): + currentCell.cell was just assigned to the value "cell" which is known to be non-null, no need to null check again. + +2009-03-24 Eric Seidel <eric@webkit.org> + + Reviewed by Darin Adler. + + Move ASSERT(foo) to before where foo-> is used + https://bugs.webkit.org/show_bug.cgi?id=24684 + + * platform/chromium/PasteboardChromium.cpp: + (WebCore::Pasteboard::writeImage): + Move ASSERTs to the top of the function, code was using "node" before ASSERT(node), once I moved + ASSERT(node) to the top of the function it made sense to move the rest of them there too. + * rendering/SVGRenderSupport.cpp: + (WebCore::prepareToRenderSVGContent): + move ASSERT(object) to *before* we use "object" :) + +2009-03-24 Eric Seidel <eric@webkit.org> + + Reviewed by Simon Fraser. + + Make TextTokenizer ASSERT that the buffer was freed + https://bugs.webkit.org/show_bug.cgi?id=24684 + + * loader/TextDocument.cpp: + (WebCore::TextTokenizer::TextTokenizer): + (WebCore::TextTokenizer::~TextTokenizer): + (WebCore::TextTokenizer::finish): + Make it clear by adding a ~TextTokenizer that finish() will always be called and the memory never leaked. + +2009-03-24 Eric Seidel <eric@webkit.org> + + Reviewed by Darin Adler. + + Fix case where lBreak.obj->isBR() when lBreak.obj was NULL + https://bugs.webkit.org/show_bug.cgi?id=24684 + + I don't have a test case where we were taking the wrong path here + However, adding an ASSERT(lBreak.obj) before this usage caused + multiple bidi tests to fail, so lBreak.obj can be null here. + + * rendering/bidi.cpp: + (WebCore::RenderBlock::findNextLineBreak): + lBreak.obj can be null, so we can't call ->isBR() on it unconditionally. + +2009-03-24 Eric Seidel <eric@webkit.org> + + Reviewed by Simon Fraser. + + Style cleanup and dead code removal in dom, editing + https://bugs.webkit.org/show_bug.cgi?id=24684 + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::getUpperLeftCorner): + (WebCore::ContainerNode::getLowerRightCorner): + (WebCore::ContainerNode::getRect): + Coverty was (rightly) confused as to what the hell "o" was being used for + and whether or not it would ever be NULL. I added some ASSERTS so that people (and machines) + would be less confused about the logic in getUpperLeftCorner/getLowerRightCorner + * dom/Document.cpp: + (WebCore::Document::recalcStyle): + Remove dead code, this block already checked that change == Force + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::removeInlineStyle): + Coverty correctly identified that traversePreviousNodePostOrder can return NULL, thus + prev will be null, and we don't really explicitly handle it (like we probably should) + It's OK though, because we end up creating a null position object, which may not have + been what we intended, but we certainly don't crash. + * editing/InsertParagraphSeparatorCommand.cpp: + (WebCore::InsertParagraphSeparatorCommand::doApply): + Remove dead code, insertionPosition.node() is already checked to be non-null above. + * editing/markup.cpp: + (WebCore::appendStartMarkup): + removed dead code, annotate is already known to be true at this point in the file + !annotate was checked above, and break; was called. + +2009-03-24 Eric Seidel <eric@webkit.org> + + Reviewed by Simon Fraser. + + CSS dead code removal and cleanup from Coverty errors + https://bugs.webkit.org/show_bug.cgi?id=24684 + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + Every other place in the code we check settings() for NULL, so I made these places + check too, even though we should never be resolving style against a document which has + no frame (which I believe is the only time settings() can be null) + * css/CSSStyleSheet.cpp: + (WebCore::CSSStyleSheet::styleSheetChanged): + Removing dead code, "root" can never be null here. + * css/SVGCSSStyleSelector.cpp: + (WebCore::colorFromSVGColorCSSValue): + (WebCore::CSSStyleSelector::applySVGProperty): + Extra returns in the old macros caused dead code. Removing the old macros and use modern + ones instead. :) + Extra null checks to value were not needed. Added an ASSERT at the top of the function + to make it clear that value will never be NULL. + Added colorFromSVGColorCSSValue to clean up the code a little. + +2009-03-24 Eric Seidel <eric@webkit.org> + + Reviewed by Simon Fraser. + + Font fallback cleanup and added ASSERT for GlyphPageTreeNode + https://bugs.webkit.org/show_bug.cgi?id=24684 + + * css/CSSFontSelector.cpp: + (WebCore::compareFontFaces): + Coverty was concerned that it was possible to index off the end of weightFallbackRuleSets + I can't read the code well enough to tell, so I tried to make the code clearer + and added an ASSERT. + * platform/graphics/GlyphPageTreeNode.cpp: + (WebCore::GlyphPageTreeNode::initializePage): + Coverty believes we can crash here due to j being larger than GlyphPage::size. I think to is already + known to be < GlyphPage::size due to the min() statement above, but not being sure I added an ASSERT. + +2009-03-24 Eric Seidel <eric@webkit.org> + + Reviewed by Simon Fraser. + + Coverty inspired fixes in Animations/Transforms + https://bugs.webkit.org/show_bug.cgi?id=24684 + + * page/animation/AnimationBase.h: + Fix animate() signatures to match so that the virtual methods actually override one another. :) + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList): + Attempt to fix this method, prevAnimation was never set to anything but NULL, + as far as I can tell the author originally intended to update it at the end + of the loop, which is what I changed this code to do. + * page/animation/ImplicitAnimation.cpp: + (WebCore::ImplicitAnimation::animate): + Make method signature match AnimationBase::animate + * page/animation/ImplicitAnimation.h: + * page/animation/KeyframeAnimation.cpp: + (WebCore::KeyframeAnimation::animate): + Make method signature match AnimationBase::animate + * page/animation/KeyframeAnimation.h: + * platform/graphics/transforms/PerspectiveTransformOperation.cpp: + (WebCore::PerspectiveTransformOperation::blend): + if (blendToIdentity) already returned above. + * platform/graphics/transforms/RotateTransformOperation.cpp: + (WebCore::RotateTransformOperation::blend): + if (blendToIdentity) already returned above. + +2009-03-25 Eli Fidler <eli.fidler@torchmobile.com> + + Reviewed by George Staikos. + + Fix compiler warnings regarding assignments in if statements. + + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::createFormData): + * plugins/PluginPackage.cpp: + (WebCore::PluginPackage::compare): + +2009-03-25 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix <rdar://problem/6472150> repro crash in + RenderBlock::rightmostPosition(bool, bool) const at mercotte.fr using + menus + + Test: fast/inline/continuation-positioned-reparenting.html + + * rendering/RenderInline.cpp: + (WebCore::RenderInline::splitFlow): When repurposing the existing + container as the "pre" block, clear its positioned objects list, because + positioned descendants may end up in a different block after the split. + +2009-03-24 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=24784 + + Length values in transform operations need to take zoom into account. + + Test: fast/transforms/transforms-with-zoom.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::createTransformOperations): + +2009-03-25 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=24809, background-clip/origin don't use the correct + values. Add support for the new values (while preserving the old values for backwards + compatibility). + + Changed some existing test cases to use the new values. + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseFillProperty): + * css/CSSPrimitiveValueMappings.h: + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): + (WebCore::CSSPrimitiveValue::operator EFillBox): + * css/CSSValueKeywords.in: + +2009-03-25 Brett Wilson <brettw@dhcp-172-22-71-191.mtv.corp.google.com> + + Reviewed by Dimitri Glazkov. + + Fix complex text opacity on the Chromium Windows port. + https://bugs.webkit.org/show_bug.cgi?id=24757 + + Test: fast/text/complex-text-opacity.html + + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::): + (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter): + (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::init): + (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI): + (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter): + (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter): + (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter): + (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::estimateTextBounds): + (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs): + (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::hdc): + (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter): + (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::~TransparencyAwareUniscribePainter): + (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::estimateTextBounds): + (WebCore::Font::drawGlyphs): + (WebCore::Font::drawComplexText): + +2009-03-25 David Hyatt <hyatt@apple.com> + + Reviewed by Eric Seidel + + Fix for bug 23198, border images should not clip to border radii. The border-image should just ignore + the border-radius, since the assumption is that any desired rounding will be built into the border-image + itself. + + Note that I do not agree with this change, but I am matching the spec. + + Added fast/borders/border-image-border-radius.html + + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintNinePieceImage): + +2009-03-25 Gustavo Noronha Silva <gns@gnome.org> + + Reviewed by Holger Freyther. + + https://bugs.webkit.org/show_bug.cgi?id=24750 + [GTK] requests download instead of displaying page + + Fix the Content-Type headers we get from soup, so that we set a + proper media type on the ResourceResponse. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::fillResponseFromMessage): + +2009-03-25 Gustavo Noronha Silva <gns@gnome.org> + + Reviewed by Holger Freyther. + + https://bugs.webkit.org/show_bug.cgi?id=24600 + [GTK] responses with status code >= 400 should not be given special treatment + + Do not special case requests that have HTTP responses >= + 400. Redirects are handled automatically by libsoup, but the rest + of the responses should be treated like any other. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::): + (WebCore::gotHeadersCallback): + (WebCore::gotChunkCallback): + (WebCore::finishedCallback): + +2009-03-25 Darin Adler <darin@apple.com> + + Reviewed by John Sullivan. + + Tidy up LegacyWebArchive a bit. And don't include favicons in web archives when + they are being used only for selections, not an entire document. + + * WebCore.base.exp: Remove exported function that's not used in WebKit. + + * loader/archive/cf/LegacyWebArchive.cpp: + (WebCore::LegacyWebArchive::createPropertyListRepresentation): Made a static member + function so it can share private things with other member functions. Added some FIXME + comments to a branch of code I think is dead. Changed boolean argument into a named + one. Renamed to match other similar functions. + (WebCore::LegacyWebArchive::createResourceResponseFromPropertyListData): Ditto. + (WebCore::LegacyWebArchive::createResource): Ditto. + (WebCore::LegacyWebArchive::create): Merged the create and init functions. + (WebCore::LegacyWebArchive::rawDataRepresentation): Added some assertions because + we should never fail to write (we can fail to read). + (WebCore::LegacyWebArchive::createResourceResponseFromMacArchivedData): Made a static + member function as above. + (WebCore::LegacyWebArchive::createFromSelection): Ditto. + (WebCore::LegacyWebArchive::create): Iterate the vector with indices rather than + iterators. Only include the favicon if the first node is the document since we don't + want to include the favicon when copying and pasting. + + * loader/archive/cf/LegacyWebArchive.h: Made one of the create functions private. + Made the Mac-specific functions be static member functions. Made other helpers be + static member functions. Removed the nit function. + + * loader/archive/cf/LegacyWebArchiveMac.mm: + (WebCore::LegacyWebArchive::createResourceResponseFromMacArchivedData): Updated + comment and made this a static member function. + (WebCore::LegacyWebArchive::createPropertyListRepresentation): Ditto. Also made + it so we only type cast in one place. + +2009-03-25 Darin Adler <darin@apple.com> + + Reviewed by David Hyatt. + + Bug 24740: crash in RenderSlider::setPositionFromValue when calling pause() after setting <video> to display: none + https://bugs.webkit.org/show_bug.cgi?id=24740 + rdar://problem/6679873 + + Bug 12104: Native Slider: When the thumb's height is specified as a percentage, it is not centered properly + https://bugs.webkit.org/show_bug.cgi?id=12104 + + Test: media/video-display-none-crash.html + + The problem here was that RenderSlider was trying to position its thumb in a way that + requires it to call updateLayout inside rendering code. The right way to position a + child renderer is to do layout, so I had to write a layout function. And then fix a few + other small problems shown by the same test case. + + * rendering/RenderSlider.cpp: Made defaultTrackLength have internal linkage. + Renamed HTMLSliderThumbElement to SliderThumbElement because we only use the HTML + prefix for public DOM classes, not elements used as implementation details. + Made SliderThumbElement function members private and got rid of unneeded default + argument value for shadowParent. + (WebCore::SliderRange::SliderRange): Added. Parses precision, max, and min attributes. + (WebCore::SliderRange::clampValue): Added. Does standard clamping based on the above. + (WebCore::SliderRange::valueFromElement): Added. Reads the value from the element in + a way that clamps to the range. + (WebCore::sliderPosition): Added. Computes the slider position: a double. + (WebCore::SliderThumbElement::SliderThumbElement): Removed unneeded explicit + initialization of m_initialClickPoint. + (WebCore::SliderThumbElement::defaultEventHandler): Call setValueForPosition instead + of calling setCurrentPosition and valueChanged. + (WebCore::RenderSlider::RenderSlider): Remove unneeded explicit initialization of m_thumb. + (WebCore::RenderSlider::styleDidChange): Remove unneeded second argument to createThumbStyle. + (WebCore::RenderSlider::createThumbStyle): Remove unneeded second argument. Get rid of code + setting the position to relative and setting the left and top. We now handle positioning + in a custom layout function. + (WebCore::RenderSlider::layout): Rewrote to handle positioning of the thumb as layout. + (WebCore::RenderSlider::updateFromElement): Added code to immediately update the value + in the element if it's out of range. This clamping used to be done as a side effect of + setPositionFromValue. Also, this has nothing to do with the renderer, so at some point + it could be moved into HTMLInputElement. Removed call to setPositionFromValue + and instead just rely on the call to setNeedsLayout. Fix the setNeedsLayout call to be + a normal setNeedsLayout(true), not a setNeedsLayout(true, false), because we do want + this to be propagated to the parent -- it's not called during layout. + (WebCore::RenderSlider::setValueForPosition): Refactor to use the new SliderRange + class. Also don't call setCurrentPosition; instead just call setNeedsLayout. + (WebCore::RenderSlider::currentPosition): Use the actual position of the renderer rather + than the style to find the position; that means this needs to be done after layout is done. + Also removed unneeded runtime checks and replaced them with assertions, after checking + all callers to see they already guarantee this. + (WebCore::RenderSlider::trackSize): Removed unneeded runtime checks and replaced them + with assertions, after checking all callers to see they already guarantee this. + (WebCore::RenderSlider::inDragMode): Added a null check for m_thumb so this won't + crash if called early on a brand new RenderSlider. + + * rendering/RenderSlider.h: Made all functions private except for forwardEvent and inDragMode. + Renamed HTMLSliderThumbElement to SliderThumbElement because we only use the HTML + prefix for public DOM classes, not elements used as implementation details. Made the + mouseEventIsInThumb function non-virtual. Removed the return value and argument from + setPositionFromValue. Removed valueChanged and setCurrentPosition. Removed the oldStyle + argument to createThumbStyle (see above). Made SliderThumbElement a friend so it can use some + private member functions. + +2009-03-25 Eli Fidler <eli.fidler@torchmobile.com> + + Reviewed by George Staikos. + + Fix ambiguous else cases by adding braces to nested if()s with elses. + + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::continueAfterContentPolicy): + * page/EventHandler.cpp: + (WebCore::EventHandler::updateDragAndDrop): + * rendering/RenderListMarker.cpp: + (WebCore::toArmenianUnder10000): + * rendering/TextControlInnerElements.cpp: + (WebCore::TextControlInnerTextElement::defaultEventHandler): + +2009-03-24 Eli Fidler <eli.fidler@torchmobile.com> + + Reviewed by George Staikos. + + Move variable into proper platform block to quiet warning. + + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::drawTextInternal): + +2009-03-24 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Antti Koivisto. + + Fix for <rdar://problem/6719375> Deal with QTKit loadstate changes when playing streaming movies + + * WebCore/html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::setNetworkState): Deal with media engine reviving after having + network state of NETWORK_NO_SOURCE. + + * WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::updateStates): Reset m_readyState at each state change since + some types of movies currently cause QTKit's load state to bounce around. QTMovieLoadStatePlaythroughOK + corresponds to HaveFutureData, not HaveEnoughData. + +2009-03-24 Adele Peterson <adele@apple.com> + + Reviewed by Darin Adler. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=24707 + <rdar://problem/6593021> Deleting with a caret in a blank, quoted line decreases the quoting, but does not delete the line + + * editing/TypingCommand.cpp: (WebCore::TypingCommand::deleteKeyPressed): + After breaking out of an empty mail blockquote, we still want continue with the deletion + so actual content will get deleted, and not just the quote style. + +2009-03-24 Darin Adler <darin@apple.com> + + Reviewed by Brady Eidson. + + <rdar://problem/6624662> REGRESSION (r39904): can't save certain web pages as web archive (ones without favicons!) + + * loader/archive/cf/LegacyWebArchive.cpp: + (WebCore::LegacyWebArchive::create): Added a null check. + +2009-03-24 Adam Langley <agl@google.com> + + Reviewed by Darin Fisher. + + https://bugs.webkit.org/show_bug.cgi?id=24685 + + The Skia drawLine function takes subpixel values and attempts to draw + a line with subpixel precision. This is complex and slow for drawing + scrollbars which use only vertical and horizontal lines. + + This changes the Chromium Linux scrollbar code to use drawIRect. + + * platform/chromium/ScrollbarThemeChromiumLinux.cpp: + (WebCore::ScrollbarThemeChromium::invalidateOnMouseEnterExit): + (WebCore::drawVertLine): + (WebCore::drawHorizLine): + (WebCore::drawBox): + (WebCore::ScrollbarThemeChromium::paintTrackPiece): + (WebCore::ScrollbarThemeChromium::paintThumb): + +2009-03-24 David Kilzer <ddkilzer@apple.com> + + Bug 23310: Setting an absolute path (/abs) on an <iframe> with no src doesn't resolve the URL properly + + <https://bugs.webkit.org/show_bug.cgi?id=23310> + + Reviewed by Darin Adler. + + Test: fast/frames/iframe-no-src-set-location.html + + * dom/Document.cpp: + (WebCore::Document::completeURL): If m_baseURL is empty or is + about:blank and we have a parent document, use the parent + document's URL for the base when completing a new URL. + +2009-03-24 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=24659 + + When hit-testing 3d-transformed layers, it doesn't make sense to project the hitTestRect + into the coordinate space of the layer, and doing so can result in pathalogical quads + that break hit testing. In that case, simply use the same bounds as used for painting, + which are the composited bounds for this layer. + + Test: transforms/3d/hit-testing/rotated-hit-test.html + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::hitTestLayer): + +2009-03-24 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=24436 + + When compositing is enabled, painting and hit testing end up using different + clipping roots, because, for painting, every composited layer is a clipping root, + but for hit testing only layers with transforms are. To fix this, we use + temporary clip rects for hit testing, if the page is in compositing mode. + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::paintLayer): + (WebCore::RenderLayer::hitTestLayer): + (WebCore::RenderLayer::parentClipRects): + (WebCore::RenderLayer::calculateRects): + * rendering/RenderLayer.h: + +2009-03-24 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein + + https://bugs.webkit.org/show_bug.cgi?id=24782 + + Fix regression with CSS clip rects with non-length values, by reverting to + the original code, but passing the zoom multiplier through convertToLength(). + + Also make stylistic change in createTransformOperations(), renaming 'inStyle' + to 'style. + + Tested by existing tests. + + * css/CSSStyleSelector.cpp: + (WebCore::convertToLength): + (WebCore::CSSStyleSelector::applyProperty): + (WebCore::CSSStyleSelector::createTransformOperations): + +2009-03-24 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser + + https://bugs.webkit.org/show_bug.cgi?id=21789, overflow:hidden elements should clip their foreground contents + to a border-radius. + + This patch makes non-self-painting overflow layers and control clips work with border-radius. RenderLayers + that should be clipped by overflow ancestors with border-radius are still broken. + + Added fast/clip/overflow-border-radius-clip.html + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::pushContentsClip): + +2009-03-24 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser + + https://bugs.webkit.org/show_bug.cgi?id=21789, overflow:hidden elements should clip their foreground contents. + + This first patch makes overflow:hidden properly clip the foreground contents of overflow:hidden replaced elements. Common + replaced elements now default to overflow:hidden in the UA stylesheet (this is what the spec specifically recommends be + done). + + Added fast/replaced/border-radius-clip.html + + * css/html4.css: + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::paint): + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::paint): + +2009-03-24 Adele Peterson <adele@apple.com> + + RS by Mark Rowe. + + Only build these Mail quirks checks in on the Mac. + + * dom/Document.cpp: (WebCore::disableRangeMutation): + * html/HTMLElement.cpp: (WebCore::HTMLElement::inEitherTagList): + +2009-03-24 Brent Fulgham <bfulgham@webkit.org> + + Build fix, no review. + + Remove ResourceLoaderCFNet.cpp from build list for Cairo Releas + and Debug targets. + + * WebCore.vcproj/WebCore.vcproj: + +2009-03-24 Eric Carlson <eric.carlson@apple.com> + + Fix layout tests broken by r41907. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::setReadyState): Don't set "was playing" based on the new ready state + +2009-03-24 Dmitry Titov <dimich@chromium.org> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=24689 + Fix Chromium compilation errors. + + * bindings/v8/WorkerContextExecutionProxy.cpp: + (WebCore::WorkerContextExecutionProxy::FindOrCreateEventListener): + (WebCore::WorkerContextExecutionProxy::RemoveEventListener): + +2009-03-24 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=24759 + Add missing methods Element.prototype.removeMatchingStyleClasses and + Node.prototype.enclosingNodeOrSelfWithNodeNameInArray to SourceFrame content + iframe. These methods are called by Element.prototype.removeStyleClass and + Node.prototype.enclosingNodeOrSelfWithNodeName. + + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._loaded): + +2009-03-24 Mark Mentovai <mark@chromium.org> + + Reviewed by Mark Rowe. + + https://bugs.webkit.org/show_bug.cgi?id=24653 + WebKit should be buildable without prefix header injection. + Adds missing #includes and forward declarations as needed. + + * editing/SmartReplaceCF.cpp: + * platform/graphics/mac/ColorMac.mm: + * platform/graphics/mac/FontCacheMac.mm: + * platform/graphics/mac/FontCustomPlatformData.h: + * platform/graphics/mac/FontMac.mm: + * platform/graphics/mac/FontMacATSUI.mm: + * platform/graphics/mac/FontPlatformData.h: + * platform/graphics/mac/FontPlatformDataMac.mm: + * platform/graphics/mac/GraphicsContextMac.mm: + * platform/graphics/mac/SimpleFontDataMac.mm: + * platform/mac/FoundationExtras.h: + * platform/mac/LocalCurrentGraphicsContext.h: + * platform/mac/WebCoreSystemInterface.h: + * platform/mac/WebCoreSystemInterface.mm: + * platform/mac/WebCoreTextRenderer.h: + * platform/mac/WebCoreTextRenderer.mm: + * platform/mac/WebFontCache.h: + * platform/mac/WebFontCache.mm: + * platform/text/PlatformString.h: + * platform/text/mac/ShapeArabic.c: + * platform/text/mac/StringMac.mm: + * rendering/RenderThemeChromiumMac.h: + +2009-03-24 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix <rdar://problem/6107874> by capping the nesting depth of + "block-level" elements generated by the parser + + Test: fast/parser/block-nesting-cap.html + + * html/HTMLParser.cpp: + (WebCore::HTMLParser::HTMLParser): + (WebCore::HTMLParser::insertNode): + (WebCore::HTMLParser::pushBlock): + (WebCore::HTMLParser::popOneBlockCommon): + (WebCore::HTMLParser::freeBlock): + * html/HTMLParser.h: + +2009-03-23 Greg Bolsinga <bolsinga@apple.com> + + Reviewed by David Kilzer. + + https://bugs.webkit.org/show_bug.cgi?id=24771 + + DOMTimeStamps are based upon 1970. + + * platform/mac/GeolocationServiceMac.mm: + (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]): + +2009-03-23 Eric Seidel <eric@webkit.org> + + Build fix, no review. + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::createVisiblePosition): change .container to .isNotNull() + +2009-03-23 Eric Seidel <eric@webkit.org> + + Reviewed by Darin Adler. + + Rename Position::container to m_anchorNode and make it private + https://bugs.webkit.org/show_bug.cgi?id=24760 + + More code cleanup for Position. + + Change all uses of m_container to node() + Eventually most uses of node() should change to anchorNode() to designate + that it's the node the Position is anchored to, but not necessarily the + container of the position (it could be the before/after neighbor). + + Remove any code which sets m_container, and change it to use a new + Position::moveToPosition function which takes a node and offset. + It never makes sense to change the node and leave the offset. + + * dom/Position.h: + (WebCore::Position::Position): + (WebCore::Position::clear): + (WebCore::Position::anchorNode): + (WebCore::Position::node): + (WebCore::Position::moveToPosition): + (WebCore::Position::moveToOffset): + (WebCore::Position::isNull): + (WebCore::Position::isNotNull): + (WebCore::operator==): + * dom/Range.cpp: + (WebCore::Range::create): + (WebCore::Range::compareBoundaryPoints): + * dom/RangeBoundaryPoint.h: + (WebCore::RangeBoundaryPoint::container): + (WebCore::RangeBoundaryPoint::set): + (WebCore::RangeBoundaryPoint::setOffset): + (WebCore::RangeBoundaryPoint::setToChild): + (WebCore::RangeBoundaryPoint::setToStart): + (WebCore::RangeBoundaryPoint::setToEnd): + +2009-03-17 Eric Seidel <eric@webkit.org> + + Reviewed by David Hyatt. + + document.write() should be able to make a document strict mode + https://bugs.webkit.org/show_bug.cgi?id=24336 + + Remove an implicit write of "<html>" on the first document.write call + this was added as part of a KDE import http://trac.webkit.org/changeset/798 + with no layout test or explanation. I can't think of any reason why + an implicit <html> write is necessary (or correct), so I'm removing it and + adding a test for the correct behavior. The parser will add any necessary + HTMLHTMLElements during the write() anyway. + + Our behavior is now tested by fast/dom/Document/document-write-doctype + and matches IE, FF fails this new test. Mozilla bug filed: + https://bugzilla.mozilla.org/show_bug.cgi?id=483908 + + * dom/Document.cpp: + (WebCore::Document::write): + +2009-03-23 Sam Weinig <sam@webkit.org> + + Reviewed by Dan Bernstein. + + Fix for <rdar://problem/6140966> + Empty Caches does not clear the Cross-site XMLHttpRequest preflight cache + + * WebCore.base.exp: + * WebCore.xcodeproj/project.pbxproj: + * loader/CrossOriginPreflightResultCache.cpp: + (WebCore::CrossOriginPreflightResultCache::empty): + * loader/CrossOriginPreflightResultCache.h: + +2009-03-23 Darin Adler <darin@apple.com> + + Reviewed by Adele Peterson. + + Bug 24726: hit testing doesn't work right when the click is on anonymous content + https://bugs.webkit.org/show_bug.cgi?id=24726 + rdar://problem/6696992 + + Test: editing/selection/hit-test-anonymous.html + + * rendering/RenderBR.cpp: + (WebCore::RenderBR::positionForPoint): Call createVisiblePosition instead of + creating a VisiblePosition directly. It will handle finding non-anonymous + content nearby if node() is 0. + * rendering/RenderBlock.cpp: + (WebCore::positionForPointRespectingEditingBoundaries): Ditto. + (WebCore::positionForPointWithInlineChildren): Ditto. + (WebCore::RenderBlock::positionForPoint): Ditto. + * rendering/RenderBox.cpp: + (WebCore::RenderBox::positionForPoint): Ditto. + * rendering/RenderObject.cpp: + (WebCore::RenderObject::positionForPoint): Ditto. + (WebCore::RenderObject::createVisiblePosition): Added. + * rendering/RenderObject.h: Added createVisiblePosition. + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::positionForPoint): Call createVisiblePosition. + * rendering/RenderSVGInlineText.cpp: + (WebCore::RenderSVGInlineText::positionForPoint): Ditto. + * rendering/RenderText.cpp: + (WebCore::RenderText::positionForPoint): Ditto. + +2009-03-23 Adele Peterson <adele@apple.com> + + Reviewed by Darin Adler & Dave Hyatt. + + Fix for <rdar://problem/6621310> REGRESSION(35185): Apple Travel HTML emails missing some style after Safari 4 upgrade + + Leopard Mail doesn't expect <style> to be in the body. This change reverts back to the old behavior of + moving <style> to <head> for that version of Mail. + + * html/HTMLElement.cpp: (WebCore::HTMLElement::inEitherTagList): + +2009-03-23 Adele Peterson <adele@apple.com> + + Reviewed by Mark Rowe & Dave Hyatt. + + Merge some of the individual Mail quirks into two settings that we can check for future quirks. + + * WebCore.base.exp: + * dom/Document.cpp: + (WebCore::disableRangeMutation): + (WebCore::Document::nodeChildrenChanged): + (WebCore::Document::nodeWillBeRemoved): + (WebCore::Document::textInserted): + (WebCore::Document::textRemoved): + (WebCore::Document::textNodesMerged): + (WebCore::Document::textNodeSplit): + * page/Settings.cpp: + (WebCore::Settings::Settings): + (WebCore::Settings::setNeedsLeopardMailQuirks): + (WebCore::Settings::setNeedsTigerMailQuirks): + * page/Settings.h: + (WebCore::Settings::needsLeopardMailQuirks): + (WebCore::Settings::needsTigerMailQuirks): + +2009-03-23 Ada Chan <adachan@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=24762 + Support text-indent in <option> elements on windows platform. + + Reviewed by Adele Peterson. + + * css/themeWin.css: + * platform/PopupMenuStyle.h: We don't honor font specified on <option> elements right now. Make this + explicit via windows themed default stylesheet. + (WebCore::PopupMenuStyle::PopupMenuStyle): Also store text-indent and text-direction. + (WebCore::PopupMenuStyle::textIndent): + (WebCore::PopupMenuStyle::textDirection): + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupMenu::paint): Adjust the text's x-coordinate if text-indent is supported for options and + text-indent is specified with LTR direction. + * rendering/RenderMenuList.cpp: + (WebCore::RenderMenuList::updateOptionsWidth): Take text-indent into account if theme supports text-indent for options. + (WebCore::RenderMenuList::itemStyle): Use new PopupMenuStyle constructor on windows. + (WebCore::RenderMenuList::menuStyle): Ditto. + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::menuStyle): Ditto. + * rendering/RenderTheme.h: + (WebCore::RenderTheme::popupOptionSupportsTextIndent): Added. Default is false since we are only supporting it in windows for now. + * rendering/RenderThemeWin.h: + (WebCore::RenderThemeWin::popupOptionSupportsTextIndent): Returns true for windows. + +2009-03-23 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=24699 + REGRESSION: Java Applets broken + <rdar://problem/6707494> + + Fix loading Java applets without a codeBase. Only pass the base (up to the + the last path component) of the baseURL to the plug-in. + + * html/HTMLAppletElement.cpp: + (WebCore::HTMLAppletElement::createRenderer): + * platform/KURL.cpp: + (WebCore::KURL::baseAsString): + * platform/KURL.h: + +2009-03-23 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + * platform/KURL.h: Removed now-incorrect comments. + None of the parts include the separator characters any more, now that + query doesn't include the "?", so the comments explaining which do and do + not are no-longer helpful. + +2009-03-23 David Levin <levin@chromium.org> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=24764 + + Renamed files V8NodeFilter -> V8NodeFilterCondition to reflect + class names. Also fixed some headers that got mangled in search/replace + operations. + + No change in behavior, so no test. + + * bindings/v8/V8NodeFilter.h: Removed. + * bindings/v8/V8NodeFilterCondition.cpp: Renamed from WebCore/bindings/v8/V8NodeFilter.cpp. + * bindings/v8/V8NodeFilterCondition.h: Added. + * bindings/v8/custom/V8ClipboardCustom.cpp: + * bindings/v8/custom/V8DocumentCustom.cpp: + * bindings/v8/custom/V8ElementCustom.cpp: + * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: + * bindings/v8/custom/V8NavigatorCustom.cpp: + +2009-03-23 Darin Fisher <darin@chromium.org> + + Reviewed by Antti Koivisto. + + https://bugs.webkit.org/show_bug.cgi?id=24741 + + Adds a unique across-browser-sessions identifier to FormData, which may + be used by ResourceHandle as a secondary cache key to enable cached + form submissions. + + At issue: two otherwise identical form submissions may result in + completely independent responses, which may each be appropriate to + store and reuse from cache. + + * html/HTMLFormElement.cpp: Added call to FormData::setIdentifier so that + we only enable cached form submissions for those generated by HTML. This + way we do not bother with POSTs generated by XMLHttpRequest. + (WebCore::generateFormDataIdentifier): + (WebCore::HTMLFormElement::createFormData): + * platform/network/FormData.cpp: Initialize m_identifier to 0, which means + the unspecified identifier. So by default there is no identifier and + nothing changes. + (WebCore::FormData::FormData): + * platform/network/FormData.h: Added m_identifier with setter and getter. + (WebCore::FormData::setIdentifier): + (WebCore::FormData::identifier): + +2009-03-23 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Antti Koivisto + + https://bugs.webkit.org/show_bug.cgi?id=24733 + + Fix media controller with full-page zoom. Previously, the media controller + shadow nodes never saw style changes on the RenderMedia, so did not respond + to zooming at all. Now, we update the style on the shadow renderers + whenever RenderMedia gets a style change. Also fix the video thumb in + the theme to be scaled properly. + + Test: media/video-controls-zoomed.html + + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlShadowRootElement::updateStyle): + (WebCore::MediaTextDisplayElement::MediaTextDisplayElement): + (WebCore::MediaTextDisplayElement::updateStyle): + (WebCore::MediaControlInputElement::MediaControlInputElement): + (WebCore::MediaControlInputElement::updateStyle): + * rendering/MediaControlElements.h: + * rendering/RenderMedia.cpp: + (WebCore::RenderMedia::styleDidChange): + * rendering/RenderMedia.h: + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::adjustSliderThumbSize): + +2009-03-23 Mike Belshe <mike@belshe.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=24739 + + Rework StringImpl::create methods to try to allocate a single buffer + rather than allocating both the StringImpl class and a separate data + buffer. + + * platform/text/StringImpl.cpp: + * platform/text/StringImpl.h: + +2009-03-23 Darin Adler <darin@apple.com> + + Reviewed by Antti Koivisto. + + Based on a patch by Nico Weber <nicolasweber@gmx.de> + + Bug 24755: LayoutTests/http/tests/misc/url-in-utf16le.html regression + https://bugs.webkit.org/show_bug.cgi?id=24755 + + * platform/text/TextEncoding.cpp: + (WebCore::TextEncoding::isUTF7Encoding): Added. Checks if the current encoding + is UTF7 without loading extended codecs. + (WebCore::TextEncoding::encodingForFormSubmission): Use isUTF7Encoding() instead + of comparing with UTF7Encoding(). Eliminate the explicit check of + noExtendedTextEncodingNameUsed() because that's now handled by the functions + that this function calls instead. + + * platform/text/TextEncoding.h: Added isUTF7Encoding function. + Also tweaked formatting a bit. + +2009-03-20 Peter Kasting <pkasting@google.com> + + Reviewed by Darin Fisher. + + https://bugs.webkit.org/show_bug.cgi?id=24720 + RenderThemeChromium should draw something for Slider parts instead of + dropping them on the floor. + + * platform/chromium/ChromiumBridge.h: + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::RenderThemeChromiumWin::adjustSliderThumbSize): + (WebCore::RenderThemeChromiumWin::paintSliderTrack): + (WebCore::RenderThemeChromiumWin::determineSliderThumbState): + (WebCore::RenderThemeChromiumWin::getThemeData): + * rendering/RenderThemeChromiumWin.h: + (WebCore::RenderThemeChromiumWin::paintSliderThumb): + +2009-03-23 Glen Murphy <glen@chromium.org> + + Reviewed by Darin Fisher. + + https://bugs.webkit.org/show_bug.cgi?id=24657 + + Fix Skia drawing of highly scaled bitmaps; the conversion to + IntRect produced visible layout test failures in highly scaled + coordinate systems. + + Test: svg/custom/image-small-width-height.svg + + * WebCore\platform\graphics\skia\ImageSkia.cpp: + +2009-03-23 David Kilzer <ddkilzer@apple.com> + + Provide JavaScript exception information after slow script timeout + + Reviewed by Oliver Hunt. + + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::evaluate): Changed to report + exceptions for the Interrupted completion type as well. + +2009-03-23 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler + + https://bugs.webkit.org/show_bug.cgi?id=24736 + + Fix three mostly-unrelated problems with full-page zoom: + + * dom/Document.cpp: + (WebCore::Document::elementFromPoint): + Document::elementFromPoint() needs to take full-page zoom into account. + + * dom/MouseRelatedEvent.cpp: + (WebCore::MouseRelatedEvent::receivedTarget): + Take full-page zoom into account when computing offsetX/offsetY. + + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): + Don't use offsetX/offsetY when hit testing list boxes; offsets were broken + with full-page zoom, and using pageX/pageY is easier because we don't + have to worry about the event target, and we already have a point in + absolute coordinates. + + Tests: fast/forms/listbox-hit-test-zoomed.html + fast/forms/search-zoomed.html + fast/forms/slider-zoomed.html + +2009-03-23 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein + + https://bugs.webkit.org/show_bug.cgi?id=24753 + + The rect for CSS 'clip' needs to have zooming applied to it. + + Test: fast/css/clip-zooming.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + +2009-03-23 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Adam Roben. + + <rdar://problem/6704282> + https://bugs.webkit.org/show_bug.cgi?id=24719 + QTMovieWinTimer logic inversion + + Fix logic inversion in the Win32 timer used by QTMovieWin that caused it to always + use SetTimer, even when the intervals was below USER_TIMER_MINIMUM. A side effect of + this was that a movie timer would sometimes be blocked for significant amounts of time + because WM_TIMER messages are not processed when the thread's message queue has any + higher priority messages, and WebCore/Win's timer uses PostMessage for low interval + timers. Also change SetTimer call to use HWND and custom message instead of + timer function since the timer already has an HWND for processing PostMessage. + + Not possible to make a test for this because it is so timing dependant. + + * platform/graphics/win/QTMovieWinTimer.cpp: + (TimerWindowWndProc): + (setSharedTimerFireDelay): + +2009-03-23 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Adele Peterson. + + https://bugs.webkit.org/show_bug.cgi?id=24588 + + Update media element implementation to current HTML5 spec + + New tests: + media/media-constants.html + media/video-seek-no-src-exception.html + media/video-source-add-src.html + media/video-src-invalid-remove.html + media/video-src-plus-source.html + media/video-timeupdate-during-playback.html + + * dom/EventNames.h: Remove obsolute events, add new ones. + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize new member vars. + (WebCore::HTMLMediaElement::attributeChanged): Trigger load() only when we don't + have a source. + (WebCore::HTMLMediaElement::removedFromDocument): Deal with state name changes. + (WebCore::HTMLMediaElement::scheduleProgressEvent): New, create a progress event and + add it to the event queue to be dispatch when the timer fires. + (WebCore::HTMLMediaElement::scheduleEvent): New, create a generic event and add + it to the event queue to be dispatch when the timer fires. + (WebCore::HTMLMediaElement::enqueueEvent): Add an event to the queue and ticke the + asynch event timer. + (WebCore::HTMLMediaElement::asyncEventTimerFired): Dispatch all pending events. + (WebCore::HTMLMediaElement::loadTimerFired): Either trigger the initial load or + try to load the next <source> url. + (WebCore::HTMLMediaElement::load): Minor style change. + (WebCore::HTMLMediaElement::loadInternal): The first part of the spec load algorithm, cleanup + the current load (if any) and set up state for a new load. + (WebCore::HTMLMediaElement::selectMediaResource): Deal with no 'src' or <source>, post 'loadstart' + event, and initiate load from 'src' if present. + (WebCore::HTMLMediaElement::loadNextSourceChild): Initiate load from next <source> url, or trigger + noneSupported() if no more to consider. + (WebCore::HTMLMediaElement::loadResource): Instantiate a new MediaPlayer and ask it to load a url. + (WebCore::HTMLMediaElement::startProgressEventTimer): Start the repeating progress event timer. + (WebCore::HTMLMediaElement::noneSupported): Post error event and set up state when no valid + media url was found. + (WebCore::HTMLMediaElement::mediaEngineError): Post error event and set up state when no valid + media engine failed with a decode error or a network error. + (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): + (WebCore::HTMLMediaElement::setNetworkState): Updated for new spec network states. + (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged): + (WebCore::HTMLMediaElement::setReadyState): Updated for new spec ready state. + (WebCore::HTMLMediaElement::progressEventTimerFired): Bail if the network is not active. + (WebCore::HTMLMediaElement::seek): Return INVALID_STATE_ERR exception if state is too low or + if player hasn't been set up yet. This is necessary becase load() is async. Clear the flag + we use to guard against sending 'ended' more than once. + (WebCore::HTMLMediaElement::duration): Don't bother calling media engine before it has metadata. + (WebCore::HTMLMediaElement::setDefaultPlaybackRate): Remove exception param, 0 is no longer an + invalid rate. + (WebCore::HTMLMediaElement::setPlaybackRate): Remove exception param, 0 is no longer an + invalid rate. Cache rate being set so we can use it later if media engine isn't ready now. + (WebCore::HTMLMediaElement::play): Remove exception param, play() before load() now just + starts loading asynchronously. + (WebCore::HTMLMediaElement::playInternal): Remove exception param. Fire 'waiting' or 'playing' + event depending on current state. + (WebCore::HTMLMediaElement::pause): Remove exception param, pause() before load() now just + starts loading asynchronously. + (WebCore::HTMLMediaElement::pauseInternal): Remove exception param. + (WebCore::HTMLMediaElement::setVolume): dispatchEventAsync -> scheduleEvent + (WebCore::HTMLMediaElement::setMuted): dispatchEventAsync -> scheduleEvent + (WebCore::HTMLMediaElement::togglePlayState): Remove exception param. + (WebCore::HTMLMediaElement::beginScrubbing): pause() doesn't take an exception param. + (WebCore::HTMLMediaElement::startPlaybackProgressTimer): New, starts timer that fires 4 times per + second when the movie is playing to timeupdate so we can post 'timeupdate' events. + (WebCore::HTMLMediaElement::playbackProgressTimerFired): Timer proc. + (WebCore::HTMLMediaElement::scheduleTimeupdateEvent): Bottleneck around scheduling a 'timeupdate' + event because we both fire them them when the spec says we should and when the media engine + says that time has jumped, but we don't want to fire more than one at a given movie time. We also + use this bottleneck to keep track of the last time one was posted so we won't fire too often + during playback. + (WebCore::HTMLMediaElement::canPlay): readyState now tracks whether or not we have metadata. + (WebCore::HTMLMediaElement::havePotentialSourceChild): New, checks to see if there are a <source> + element with a 'src' attribute that we have not tried to load yet. + (WebCore::HTMLMediaElement::nextSourceChild): New, returns the url and content type of the next + <source> element that we haven't tried to load. + (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Schedule 'seeked' event when seeking completes. + Set a flag when we post the 'ended' event, clear it when time changed and we aren't at the end since + some media engines call this proc more than once when playback reaches the end and stops, but we + don't want to post 'ended' more than once. + (WebCore::HTMLMediaElement::mediaPlayerDurationChanged): New, added so media engine can inform + when the movie duration changes and we can post 'durationchanged' event. + (WebCore::HTMLMediaElement::mediaPlayerRateChanged): New, added so media engine can inform when + the rate changed and we can updated our cached rate. This is useful because we only want to know + post periodic 'timeupdate' events when the movie is actually playing, and because we want to know + the actual playback rate when it differs from what we tried to set. + (WebCore::HTMLMediaElement::mediaPlayerSizeChanged): New, added so media engine can inform when + a movie's intrinsic size changes and we can inform the renderer. + (WebCore::HTMLMediaElement::potentiallyPlaying): Renamed from activelyPlaying since the spec now + uses "actively playing" for this concept. Update logic for new state names and un-comment calls + to stoppedDueToErrors() and pausedForUserInteraction() since the spec says those condiditons + are part of the answer. + (WebCore::HTMLMediaElement::endedPlayback): Update logic for new state names. + (WebCore::HTMLMediaElement::stoppedDueToErrors): New, spec says this logic should be part of + the determination of "potentially playing". + (WebCore::HTMLMediaElement::pausedForUserInteraction): New, placeholder for when (if) user + agent supports this spec concept. + (WebCore::HTMLMediaElement::updatePlayState): Stop timer used to fire periodic 'timeupdate' + events when we pauses the movie. Set the media engine rate before calling play() in case it + wasn't set up when the rate was changed. + (WebCore::HTMLMediaElement::stopPeriodicTimers): New, stop the progress event and 'timeupate' + event timers. + (WebCore::HTMLMediaElement::userCancelledLoad): New, logic pulled out of documentWillBecomeInactive + and updated for the current spec. + (WebCore::HTMLMediaElement::documentWillBecomeInactive): Moved some logic to userCancelledLoad. + (WebCore::HTMLMediaElement::documentDidBecomeActive): Update comments. + (WebCore::HTMLMediaElement::initialURL): Update for refactoring of code that determines the + initial url. + * html/HTMLMediaElement.h: Change ReadyState and NetworkState enums to match names in the spec, + update for changes in .cpp. + (WebCore::HTMLMediaElement::): + + * html/HTMLMediaElement.idl: Update ready state and network state constants for spec changes. + defaultPlaybackRate, playbackRate, play(), and pause() no longer raise exceptions. + + * html/HTMLSourceElement.cpp: + (WebCore::HTMLSourceElement::insertedIntoDocument): Update for network state name changes. + + * html/HTMLVideoElement.cpp: + (WebCore::HTMLVideoElement::updatePosterImage): Update for ready state name changes. + + * html/MediaError.h: + (WebCore::MediaError::): add MEDIA_ERR_NONE_SUPPORTED. + + * html/MediaError.idl: add MEDIA_ERR_NONE_SUPPORTED. + + * loader/MediaDocument.cpp: + (WebCore::MediaDocument::defaultEventHandler): play() and pause() don't take an exception. + + * platform/graphics/MediaPlayer.cpp: + (WebCore::NullMediaPlayerPrivate::readyState): Update for newtork state name changes. + (WebCore::MediaPlayer::sizeChanged): New, so engine can report intrinsic size changes. + (WebCore::MediaPlayer::rateChanged): New, so engine can report rate changes. + (WebCore::MediaPlayer::durationChanged): New, so engine can report duration changes. + * platform/graphics/MediaPlayer.h: Update NetworkState and ReadyState enum names to match spec + states. + (WebCore::MediaPlayerClient::mediaPlayerDurationChanged): New. + (WebCore::MediaPlayerClient::mediaPlayerRateChanged): New. + (WebCore::MediaPlayerClient::mediaPlayerSizeChanged): New. + (WebCore::MediaPlayer::): + + * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Update for network/ready state name changes. + (WebCore::MediaPlayerPrivate::load): Ditto. + (WebCore::MediaPlayerPrivate::updateStates): Ditto. + (WebCore::MediaPlayerPrivate::loadingFailed): Ditto. + + * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Update for network/ready state name changes. + Remove endPointTimer, it is no longer necessary. Add m_enabledTrackCount and m_duration. + (WebCore::MediaPlayerPrivate::metaDataAvailable): + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): No more m_endPointTimer or m_endTime. Initialize + m_enabledTrackCount and m_duration. Update for network/ready state name changes. + (WebCore::MediaPlayerPrivate::load): Update for network/ready state name changes. + (WebCore::MediaPlayerPrivate::play): No more m_endPointTimer. + (WebCore::MediaPlayerPrivate::pause): Ditto. + (WebCore::MediaPlayerPrivate::currentTime): No more m_endTime. + (WebCore::MediaPlayerPrivate::seek): Ditto. + (WebCore::MediaPlayerPrivate::doSeek): Ditto, plus don't call setRate(0) when the rate is + already zero. + (WebCore::MediaPlayerPrivate::setEndTime): No more m_endTime. + (WebCore::MediaPlayerPrivate::updateStates): Update for network/ready state name changes. Return + different errors depending on what causes a failure. Watch for and report duration changes. + (WebCore::MediaPlayerPrivate::rateChanged): Report rate changes. + (WebCore::MediaPlayerPrivate::sizeChanged): Report size changes. + (WebCore::MediaPlayerPrivate::didEnd): No more endpoint timer. + (WebCore::MediaPlayerPrivate::setVisible): Update for network/ready state name changes. + (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): Don't return number of unsupported + tracks, store in m_enabledTrackCount so we can use it to help determine causes of failure. + + * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: + (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Update for network/ready state name changes. + (WebCore::MediaPlayerPrivate::load): Ditto. + (WebCore::MediaPlayerPrivate::duration): Ditto. + (WebCore::MediaPlayerPrivate::updateStates): Ditto. + (WebCore::MediaPlayerPrivate::naturalSize): Ditto. + + * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: + (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): No more m_endPointTimer. Update for + network/ready state name changes. + (WebCore::MediaPlayerPrivate::load): Update for network/ready state name changes. No more + m_endPointTimer. + (WebCore::MediaPlayerPrivate::play): No more m_endPointTimer. + (WebCore::MediaPlayerPrivate::pause): Ditto. + (WebCore::MediaPlayerPrivate::setEndTime): Ditto. + (WebCore::MediaPlayerPrivate::updateStates): Update for network/ready state name changes. + (WebCore::MediaPlayerPrivate::didEnd): No more m_endPointTimer. + * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: + + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlPlayButtonElement::defaultEventHandler): Update for network/ready state + name changes. + (WebCore::MediaControlSeekButtonElement::defaultEventHandler): Ditto. + +2009-03-22 Kevin Ollivier <kevino@theolliviers.com> + + wxGTK build fix. Add missing header. + + * platform/wx/wxcode/gtk/non-kerned-drawing.cpp: + +2009-03-22 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein + + https://bugs.webkit.org/show_bug.cgi?id=24665 + + Image-map code in RenderImage could result in RenderImage::nodeAtPoint() + setting HitTestResult::innerNode(), but returning false, which violates + hit testing rules. Use a temporary HitTestResult so that we only fill in + result when we know we've hit. + + * rendering/RenderImage.cpp: + (WebCore::RenderImage::nodeAtPoint): + +2009-03-22 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein + + https://bugs.webkit.org/show_bug.cgi?id=24743 + + Fix hit testing regression from r41840. We need to pass the temporary + HitTestResult when testing sublayers, then only copy to 'result' when + the layer is known to have been hit. + + Test: fast/layers/zindex-hit-test.html + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::hitTestLayer): + +2009-03-20 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler + + https://bugs.webkit.org/show_bug.cgi?id=24733 + + Fix hit testing on video controls after full page zoom by fixing wider issue + with event->pageX(), pageY() with zooming. pageX and pageY are "fixed" to be + invariant under zooming (for JavaScript), so we keep an actual page point around + in MouseEvent::absoluteLocation() to avoid the need to factor in zooming everywhere. + + * dom/MouseRelatedEvent.cpp: + (WebCore::MouseRelatedEvent::initCoordinates): + (WebCore::MouseRelatedEvent::computePageLocation): + * dom/MouseRelatedEvent.h: + (WebCore::MouseRelatedEvent::absoluteLocation): + (WebCore::MouseRelatedEvent::setAbsoluteLocation): + Member var, and getter and setter for absoluteLocation. + New method, computePageLocation(), to compute the actual page point, + and call it when creating and initting mouse-related events. + + * dom/Node.cpp: + (WebCore::Node::dispatchMouseEvent): + (WebCore::Node::dispatchWheelEvent): + Keep non-adjusted pageX and pageY around, and call setAbsoluteLocation() + on the event to replace a potentially rounded point. + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::defaultEventHandler): + Clean up slider handling code. + + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): + Add FIXME comment for use of offsetX/offsetY. + + * page/ContextMenuController.cpp: + (WebCore::ContextMenuController::handleContextMenuEvent): + Use absoluteLocation() when hit testing for context menus. + + * rendering/RenderFrameSet.cpp: + (WebCore::RenderFrameSet::userResize): + Use absoluteLocation() when resizing frames. + + * rendering/RenderMedia.cpp: + (WebCore::RenderMedia::forwardEvent): + Use absoluteLocation() when hit testing media controls. + + * rendering/RenderSlider.cpp: + (WebCore::HTMLSliderThumbElement::defaultEventHandler): + (WebCore::RenderSlider::mouseEventIsInThumb): + Use absoluteLocation() when handling slider events. + + (WebCore::RenderSlider::forwardEvent): + Factor some code out of HTMLInputElement::defaultEventHandler(). + + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::forwardEvent): + Use absoluteLocation() when hit testing search field buttons, which fixees + bugs in the search field with zooming. + +2009-03-21 David Levin <levin@chromium.org> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=24727 + Add V8XMLHttpRequest*. + + * bindings/v8/V8XMLHttpRequestUtilities.cpp: Added. + * bindings/v8/V8XMLHttpRequestUtilities.h: Added. + * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: Added. + * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: Added. + * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: Added. + +2009-03-21 David Levin <levin@chromium.org> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=24725 + Add V8NodeFilter. + + * bindings/v8/V8NodeFilter.cpp: Added. + * bindings/v8/V8NodeFilter.h: Added. + +2009-03-21 Dan Bernstein <mitz@apple.com> + + Rubber-stamped by Kevin Decker + + - remove some redundant #include statements + + * bindings/js/JSDOMWindowBase.cpp: + +2009-03-20 Dan Bernstein <mitz@apple.com> + + Reviewed by Mark Rowe. + + - fix <rdar://problem/6574185> REGRESSION (3.2.2-TOT): hang in text drawing code + + * platform/graphics/win/FontCGWin.cpp: + (WebCore::drawGDIGlyphs): Changed glyph stroking to fill and stroke each + glyph as a separate path, instead of all glyphs as a single path. This + matches what CGContextShowGlyphsWithAdvances() does, and has comparable + performance. + +2009-03-20 Dean Jackson <dino@apple.com> + + Reviewed by Simon Fraser + + Build fix for ENABLE(3D_RENDERING) + + * rendering/RenderObject.h: + (WebCore::makeMatrixRenderable): + +2009-03-20 Dave Moore <davemoore@google.com> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=24705 + + A bug in the V8 bindings is preventing chromium from setting the href on the + location object...any attempt throws a security error, not just for javascript + protocol + + * page/Location.idl: + +2009-03-20 Craig Schlenter <craig.schlenter@gmail.com> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=24608 + + Include stdio.h needed for printf on gcc 4.4.0 + + * platform/KURLGoogle.cpp: + +2009-03-20 Mike Belshe <mike@belshe.com> + + Reviewed by Darin Fisher. + + https://bugs.webkit.org/show_bug.cgi?id=24577 + + Don't let comments at the end of an event handler + break the event handler. + + No change in behavior, so no test. + + * bindings/v8/V8LazyEventListener.cpp: + (WebCore::V8LazyEventListener::getWrappedListenerFunction): + +2009-03-20 Norbert Leser <norbert.leser@nokia.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=24535 + + Fixes missing line terminator character (;) after macro call. + It is common practice to add the trailing ";" where macros are substituted + and not where they are defined with #define. + This change is consistent with other macro declarations across webkit, + and it also solves compilation failure with symbian compilers. + + No change in behavior, so no test. + + * bindings/js/JSDOMWindowShell.cpp: + * bindings/js/JSEventListener.cpp: + * bindings/js/JSImageConstructor.cpp: + * bindings/js/JSInspectedObjectWrapper.cpp: + * bindings/js/JSInspectorCallbackWrapper.cpp: + * bindings/js/JSNamedNodesCollection.cpp: + * bindings/js/JSNodeFilterCondition.cpp: + * bindings/js/JSOptionConstructor.cpp: + * bindings/js/JSQuarantinedObjectWrapper.cpp: + * bindings/js/JSRGBColor.cpp: + * bindings/js/JSWorkerContextBase.cpp: + * bindings/js/JSXMLHttpRequestConstructor.cpp: + * bindings/js/JSXSLTProcessorConstructor.cpp: + * bindings/scripts/CodeGeneratorJS.pm: + +2009-03-20 Mike Belshe <mike@belshe.com> + + Reviewed by Dimitri Glazkov and Dave Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=24324 + + Make the minimum timer configurable for different platforms. + + * page/DOMTimer.cpp: + (WebCore::DOMTimer::DOMTimer): + (WebCore::DOMTimer::fired): + * page/DOMTimer.h: + (WebCore::DOMTimer::minTimerInterval): + (WebCore::DOMTimer::setMinTimerInterval): + +2009-03-20 Dean McNamee <deanm@chromium.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=22834 + + Make sure to consistently match new/delete and fastMalloc/fastFree. + + * css/CSSSelectorList.cpp: + (WebCore::CSSSelectorList::adoptSelectorVector): + (WebCore::CSSSelectorList::deleteSelectors): + +2009-03-20 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix https://bugs.webkit.org/show_bug.cgi?id=23739 + <rdar://problem/6556371> REGRESSION (r36513): iframe isn't sized properly upon load + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::percentHeightDescendants): Added this accessor. + * rendering/RenderBlock.h: + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::layoutRows): Extended the check for + children that flex to include other descendants with percent height + which is relative to the cell. + +2009-03-20 Dmitry Titov <dimich@chromium.org> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=24706 + Remove ScriptExecutionContext::encoding() since Workers do not need it. + WorkerContext::encoding() is simply removed, while Document::encoding() + made non-virtual and private. Workers use UTF-8 now except when instructed + otherwise by http header. Also updated test. + + * dom/Document.h: Made encoding() non-virtual and private. + * dom/ScriptExecutionContext.h: removed encoding(). + + * workers/Worker.cpp: + (WebCore::Worker::Worker): + (WebCore::Worker::notifyFinished): + * workers/WorkerContext.cpp: removed encoding() implementation. + (WebCore::WorkerContext::WorkerContext): + (WebCore::WorkerContext::completeURL): + * workers/WorkerContext.h: removed encoding() + (WebCore::WorkerContext::create): + * workers/WorkerContextProxy.h: + * workers/WorkerImportScriptsClient.cpp: + (WebCore::WorkerImportScriptsClient::didReceiveData): + * workers/WorkerMessagingProxy.cpp: + (WebCore::WorkerMessagingProxy::startWorkerContext): + * workers/WorkerMessagingProxy.h: + * workers/WorkerThread.cpp: + (WebCore::WorkerThreadStartupData::create): + (WebCore::WorkerThreadStartupData::WorkerThreadStartupData): + (WebCore::WorkerThread::create): + (WebCore::WorkerThread::WorkerThread): + (WebCore::WorkerThread::workerThread): + * workers/WorkerThread.h: + In all these, removed storing encoding and 'inheriting' it from the parent. + Instead, they are all using UTF-8 now. + +2009-03-20 Timothy Hatcher <timothy@apple.com> + + Change how threading exceptions are checked so they are reported + by what round they were added. That way WebKit can decided the + behavior per-round based on linked-on-or-after checks. + + <rdar://problem/6626741&6648478&6635474&6674079> + + Reviewed by Darin Adler. + + * WebCore.base.exp: Export the new symbols. + * bindings/objc/DOMAbstractView.mm: Use the new WebCoreThreadViolationCheckRoundOne macro. + * bindings/scripts/CodeGeneratorObjC.pm: Ditto. + * platform/ThreadCheck.h: + * platform/mac/ThreadCheck.mm: + (WebCore::readThreadViolationBehaviorFromUserDefaults): Refactor how the default is read. + (WebCore::setDefaultThreadViolationBehavior): Take a round argument. + (WebCore::reportThreadViolation): Ditto. + (WebCoreReportThreadViolation): Ditto. + +2009-03-20 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. + + Fixed up an out-of-date comment. + + * bindings/js/JSDOMWindowCustom.h: + (WebCore::JSDOMWindow::customPut): + +2009-03-20 Beth Dakin <bdakin@apple.com> + + Reviewed by Dave Hyatt. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=20909 REGRESSION + (r35318): A press release at pfizer.com does not display correctly + - and corresponding - + <rdar://problem/6680073> + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::invalidateContainerPrefWidths): + * rendering/RenderObject.h: + (WebCore::RenderObject::markContainingBlocksForLayout): + +2009-03-20 Eric Seidel <eric@webkit.org> + + Reviewed by Justin Garcia. + + maxDeepOffset is confusing and should be removed + https://bugs.webkit.org/show_bug.cgi?id=24586 + + Abstract some hard-to-read (but shared) logic into a new renderedAsNonInlineTableOrHR function. + Add first/lastDeepEditingPositionForNode Position creation functions + and deploy them to places we used to call maxDeepOffset. + + Rename Position::atStart and atEnd to atStartOfTree atEndOfTree + Add a new Position::atFirst/atLastEditingPositionForNode() and use these + to replace a few more callers for maxDeepOffset() + + Rename maxDeepOffset to lastEditingOffsetForNode (so that we mere mortals have some clue what it does) + + "Editing positions" are confusing because they have one + of two behaviors, depending on if the container node is ignored + by editing (if editingIgnoresContent(node) returns true) or not. + Positions referring to nodes ignored by editing are + neighbor-relative (they are before or after the node) where as + positions reffering to other nodes are container-relative + (they are between two child nodes of the container, identified + by the offset() member). I will be fixing this confusion in + future patches. These renames hopefully make the current behavior clearer. + + * dom/Position.cpp: + (WebCore::Position::previous): + (WebCore::Position::next): + (WebCore::Position::atFirstEditingPositionForNode): + (WebCore::Position::atLastEditingPositionForNode): + (WebCore::Position::atStartOfTree): + (WebCore::Position::atEndOfTree): + (WebCore::Position::previousCharacterPosition): + (WebCore::Position::nextCharacterPosition): + (WebCore::Position::upstream): + (WebCore::Position::isCandidate): + (WebCore::firstDeepEditingPositionForNode): + (WebCore::lastDeepEditingPositionForNode): + * dom/Position.h: + * dom/PositionIterator.cpp: + (WebCore::PositionIterator::operator Position): + (WebCore::PositionIterator::increment): + (WebCore::PositionIterator::decrement): + (WebCore::PositionIterator::atEnd): + (WebCore::PositionIterator::atEndOfNode): + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary): + * editing/DeleteSelectionCommand.cpp: + (WebCore::isTableCellEmpty): + (WebCore::DeleteSelectionCommand::removeNode): + (WebCore::DeleteSelectionCommand::handleGeneralDelete): + * editing/Editor.cpp: + (WebCore::Editor::advanceToNextMisspelling): + * editing/InsertLineBreakCommand.cpp: + (WebCore::InsertLineBreakCommand::doApply): + * editing/InsertListCommand.cpp: + (WebCore::InsertListCommand::doApply): + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent): + * editing/TypingCommand.cpp: + (WebCore::TypingCommand::forwardDeleteKeyPressed): + * editing/VisiblePosition.cpp: + (WebCore::VisiblePosition::previous): + (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): + (WebCore::VisiblePosition::left): + (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): + (WebCore::VisiblePosition::right): + * editing/VisibleSelection.cpp: + (WebCore::VisibleSelection::selectionFromContentsOfNode): + (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries): + * editing/htmlediting.cpp: + (WebCore::nextVisuallyDistinctCandidate): + (WebCore::previousVisuallyDistinctCandidate): + (WebCore::firstEditablePositionAfterPositionInRoot): + (WebCore::lastEditablePositionBeforePositionInRoot): + (WebCore::lastOffsetForEditing): + (WebCore::isFirstPositionAfterTable): + (WebCore::isLastPositionBeforeTable): + (WebCore::positionBeforeNode): + (WebCore::positionAfterNode): + (WebCore::enclosingEmptyListItem): + (WebCore::caretMaxOffset): + * editing/htmlediting.h: + * editing/visible_units.cpp: + (WebCore::renderedAsNonInlineTableOrHR): + (WebCore::startOfParagraph): + (WebCore::endOfParagraph): + (WebCore::startOfEditableContent): + (WebCore::endOfEditableContent): + * page/AccessibilityObject.cpp: + (WebCore::endOfStyleRange): + * page/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::visiblePositionRange): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::positionForPoint): + +2009-03-20 Dmitry Titov <dimich@chromium.org> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=24689 + Add (upstream) V8 bindings for Workers. Mostly style cleaning. + + * bindings/v8/WorkerContextExecutionProxy.cpp: Added. + * bindings/v8/WorkerContextExecutionProxy.h: Added. + * bindings/v8/WorkerScriptController.cpp: Added. + * bindings/v8/WorkerScriptController.h: Added. + * bindings/v8/V8Index.h: Added. This is just a wrapper for v8_index.h, like V8Proxy.h + * bindings/v8/V8Proxy.h: Added domObjectMap() function that wraps GetDOMObjectMap(). + * bindings/v8/V8WorkerContextEventListener.cpp: + (WebCore::V8WorkerContextEventListener::callListenerFunction): TrackEvent() renamed trackEvent() + +2009-03-20 Stephen White <senorblanco@chromium.org> + + Reviewed by Eric Seidel. + + Fix for LayoutTests/fast/canvas/canvas-text-alignment.html + on chromium/skia. The problem was that the gradient matrix + for text was being applied twice. Fixed by reverting some of + https://bugs.webkit.org/show_bug.cgi?id=23957, so that skiaDrawText + is no longer responsible for measuring the text and scaling up + the gradient matrix. Instead, the text bounding box is passed + in from SVGPaintServerGradient. I didn't make this change for CG, + since it uses a different method (the gradient is drawn using the + text as a pre-rendered mask). + https://bugs.webkit.org/show_bug.cgi?id=24687 + + * platform/graphics/skia/SkiaFontWin.cpp: + (WebCore::skiaDrawText): + * svg/graphics/SVGPaintServerGradient.cpp: + (WebCore::SVGPaintServerGradient::setup): + +2009-03-20 Xan Lopez <xlopez@igalia.com> + + Rubber-stamped by Holger Freyther. + + There seems to be some rounding error in cairo (or in how we use + cairo) with some fonts, like DejaVu Sans Mono, which makes cairo + report a height smaller than ascent + descent, which is wrong and + confuses WebCore's layout system. Workaround this while we figure + out what's going on. + + * platform/graphics/gtk/SimpleFontDataGtk.cpp: + (WebCore::SimpleFontData::platformInit): + * platform/graphics/gtk/SimpleFontDataPango.cpp: + (WebCore::SimpleFontData::platformInit): + +2009-03-19 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=24122 + <rdar://problem/6674179> + REGRESSION: DOM Range extractContents/deleteContents failures seen on Moxiecode tests + + Test: fast/dom/Range/deleted-range-endpoints.html + + * dom/Range.cpp: (WebCore::Range::processContents): Set the final range in accordance + to the specification. + +2009-03-19 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/6682554> Flash content not being rendered (Shockwave Flash 10.0 r22) + + If calling updateWidget for some reason resulted in another widget being added to m_widgetUpdateSet, then + that object would never be updated. + + * page/FrameView.cpp: + (WebCore::FrameView::updateWidgets): + Factor the widget updating code out into this method. Return true if the update set is empty. + + (WebCore::FrameView::performPostLayoutTasks): + Loop over the update set multiple times until all widgets have been updated or until we reach the cap. + + * page/FrameView.h: + +2009-03-18 Timothy Hatcher <timothy@apple.com> + + Make the defered data loading timer honor the Page's scheduled runloop pairs. + Introduces a new RunLoopTimer class that has an API mimicking Timer but + allows it to be scheduled with one or more SchedulePairs. + + <rdar://problem/6687342> -[WebView scheduleInRunLoop:forMode:] has no affect on timers + + Reviewed by Darin Adler. + + * WebCore.xcodeproj/project.pbxproj: Adds the new RunLoopTimer.{cpp,h} files. + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::handleDataLoadNow): Use the MainResourceLoaderTimer typedef. + (WebCore::MainResourceLoader::startDataLoadTimer): Added. Start the timer and on + Mac platforms also schedule with the Page's SchedulePairs. + (WebCore::MainResourceLoader::handleDataLoadSoon): Call startDataLoadTimer(). + (WebCore::MainResourceLoader::setDefersLoading): Ditto. + * loader/MainResourceLoader.h: + * platform/cf/RunLoopTimerCF.cpp: Added. + (WebCore::RunLoopTimerBase::~RunLoopTimerBase): + (WebCore::timerFired): + (WebCore::RunLoopTimerBase::start): + (WebCore::RunLoopTimerBase::schedule): + (WebCore::RunLoopTimerBase::stop): + (WebCore::RunLoopTimerBase::isActive): + * platform/RunLoopTimer.h: Added. + (WebCore::RunLoopTimerBase::RunLoopTimerBase): + (WebCore::RunLoopTimerBase::startRepeating): + (WebCore::RunLoopTimerBase::startOneShot): + (WebCore::RunLoopTimer::RunLoopTimer): + (WebCore::RunLoopTimer::fired): + +2009-03-19 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Fisher. + + https://bugs.webkit.org/show_bug.cgi?id=24702 + Upstream miscellaneous bindings changes. + + * bindings/v8/ScheduledAction.cpp: + (WebCore::ScheduledAction::execute): Changed to call lower-case evaluate. + * bindings/v8/ScriptCallStack.h: Added an extra include. + +2009-03-19 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=24686 + + When hit testing a RenderLayer whose parent lives in a preserves-3D hierarchy, + we need to compare the computed z-offset with the depth-test z-offset before + deciding that such a RenderLayer was hit. This fixes an issue, tested by the + 3d-point-mapping-overlapping.html test, where the child of a transformed element + is found by hit testing, even when some other element with greater Z overlaps + them both. + + Improved the code by adding a utility method, isHitCandidate(), which computes and tests + z-depth when necessary. + + Tests: transforms/3d/point-mapping/3d-point-mapping-coplanar.html + transforms/3d/point-mapping/3d-point-mapping-overlapping.html + + * rendering/RenderLayer.cpp: + (WebCore::isHitCandidate): + (WebCore::RenderLayer::hitTestLayer): + +2009-03-19 Jeremy Moskovich <jeremy@chromium.org> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=24456 + Split ColorChromium.cpp into Mac & Windows variants. + Remove Chromium Dependency on platform/graphics/mac/ColorMac.mm since we + ultimately need to take a different approach. For now, createCGColor() + is copied from ColorMac.mm. + + No observable change in behavior, so no test. + + * platform/graphics/chromium/ColorChromium.cpp: + (WebCore::focusRingColor): + * platform/graphics/chromium/ColorChromiumMac.mm: Added. + +2009-03-19 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=24675 + Unforking frontend: add custom InspectorController methods + implementation. + + * bindings/v8/custom/V8InspectorControllerCustom.cpp: Added. + +2009-03-19 Jay Campan <jcampan@google.com> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=24625 + Adding an accessor to the currently selected index in the PopupMenuChromium. + This is required for implementing the deletion of an autocomplete entry in Chromium. + + * platform/chromium/PopupMenuChromium.cpp: + (WebCore::PopupContainer::selectedIndex): + * platform/chromium/PopupMenuChromium.h: + +2009-03-19 Evan Stade <estade@chromium.org> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=24526 + Improve windows skia text stroking. + + Test: LayoutTests/svg/custom/struct-use-09-b.svg + + * platform/graphics/skia/SkiaFontWin.cpp: Close the path representing + each font glyph polygon, rather than only closing the path once per + letter. This fixes stroking for letters with multiple polygons, such + as 'A' or 'D'. + (WebCore::getPathForGlyph): + (WebCore::skiaDrawText): + +2009-03-19 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Tor Arne Vestbø. + + Fixed support for doing calls from JavaScript into NPAPI Plugins for the Qt port on Windows. + + Removed dead code for distinguishing between Widget and PluginView in the Qt port. + + * bindings/js/ScriptControllerQt.cpp: + (WebCore::ScriptController::createScriptInstanceForWidget): Removed incorrect isNPAPI check. + * plugins/PluginView.cpp: + (WebCore::PluginView::PluginView): Removed m_isNPAPIPlugin variable. + * plugins/PluginView.h: Removed setter/getter. + * plugins/mac/PluginViewMac.cpp: + (WebCore::PluginView::init): Removed call to setIsNPAPIPlugin. + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::init): Ditto. + +2009-03-19 Cameron Zwarich <cwzwarich@uwaterloo.ca> + + Reviewed by Oliver Hunt. + + Bug 24596: ASSERT in JSC::PropertySlot::slotBase @ iGoogle homepage + <https://bugs.webkit.org/show_bug.cgi?id=24596> + <rdar://problem/6686493> + + JSDOMWindow::customGetOwnPropertySlot() does an access check after calling + JSGlobalObject::getOwnPropertySlot(). This causes the PropertySlot to be + set twice, once to the value that is illegal to access, and then to undefined + This causes an assertion failure in property access caching code. + + The fix is to do the access check before calling JSGlobalObject::getOwnPropertySlot(). + + * bindings/js/JSDOMWindowCustom.h: + (WebCore::JSDOMWindow::customGetOwnPropertySlot): + +2009-03-18 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=24676 + Simple cross-origin requests shouldn't dispatch upload progress events + + Test: http/tests/xmlhttprequest/simple-cross-origin-progress-events.html + + * loader/CrossOriginAccessControl.cpp: (WebCore::passesAccessControlCheck): Added a comment + explaining the somewhat unexpected behavior of this function. + + * xml/XMLHttpRequestUpload.cpp: (WebCore::XMLHttpRequestUpload::hasListeners): + * xml/XMLHttpRequestUpload.h: + Report whether there are any event listeners registered. + + * xml/XMLHttpRequest.h: Added m_uploadEventsAllowed. + + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::createRequest): Set m_uploadEventsAllowed flag. + (WebCore::XMLHttpRequest::makeSameOriginRequest): Ditto. + (WebCore::XMLHttpRequest::makeCrossOriginAccessRequest): Ditto. + (WebCore::XMLHttpRequest::makeSimpleCrossOriginAccessRequest): Set request body - it can be + non-empty for POST requests. + (WebCore::XMLHttpRequest::makeCrossOriginAccessRequestWithPreflight): Set m_uploadEventsAllowed flag. + (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult): Ditto. + (WebCore::XMLHttpRequest::abort): Only dispatch upload progress events if allowed. + (WebCore::XMLHttpRequest::networkError): Ditto. + (WebCore::XMLHttpRequest::abortError): Ditto. + (WebCore::XMLHttpRequest::didSendData): Ditto. + +2009-03-18 Marc-Antoine Ruel <maruel@chromium.org> + + Reviewed by Darin Fisher. + + https://bugs.webkit.org/show_bug.cgi?id=24398 + Fix a crash when loading a svg file in Chromium's test_shell and + then reloading the page. + + * history/BackForwardListChromium.cpp: + (WebCore::BackForwardList::BackForwardList): + (WebCore::BackForwardList::close): + +2009-03-18 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Simon Fraser. + + Fix for <rdar://problem/6685235> + <video> element poster cannot be set dynamically if not originally set up in HTML + + Allocate the media engine immediately so the plug-in proxy is available for + scripting right away. + + * platform/graphics/MediaPlayer.cpp: + (WebCore::MediaPlayer::MediaPlayer): + +2009-03-18 Beth Dakin <bdakin@apple.com> + + Reviewed by Dave Hyatt. + + Fix for <rdar://problem/6636747> REGRESSION (Safari 4 PB-r41326): + Popup menu appears at the wrong location on page at http:// + www.signonsandiego.com/ + + This was a regression from http://trac.webkit.org/changeset/40769, + which changed the base class of RenderInline to + RenderBoxModelObject rather than RenderBox. + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::offsetParent): offsetParent should return a + RenderBoxModelObject rather than just a RenderBox, which is more + restrictive. + +2009-03-18 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/6504776> + CrashTracer: [USER] 188 crashes in Safari at com.apple.WebCore • WTF::HashTableIterator<WTF::RefPtr<WebCore::ResourceLoader>, ... + + Return early in case calling the client ends up spinning the run loop and completing/cancelling the load. + + * loader/NetscapePlugInStreamLoader.cpp: + (WebCore::NetscapePlugInStreamLoader::didCancel): + +2009-03-18 David Levin <levin@chromium.org> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=24664 + Upstreaming v8 collection.h + + No change in behavior, so no test. + + * bindings/v8/V8Collection.h: Added. + +2009-03-18 Sam Weinig <sam@webkit.org> + + Reviewed by Simon Fraser. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=23966 + REGRESSION: Custom arrow navigation functionality doesn't work at dropular.net + <rdar://problem/6589657> + + Match the CSSOM spec for getClientRects and getBoundingClientRect by + returning a 0x0 rect at the correct top/left position for empty inline + boxes. + + * rendering/RenderInline.cpp: + (WebCore::RenderInline::absoluteRects): + (WebCore::RenderInline::absoluteQuads): + +2009-03-18 David Levin <levin@chromium.org> + + Reviewed by Eric Seidel. + + Match the changes done for windows in the bug + https://bugs.webkit.org/show_bug.cgi?id=24530. + + No change in behavior, so no test. + + * rendering/RenderThemeChromiumLinux.cpp: + (WebCore::RenderThemeChromiumLinux::extraDefaultStyleSheet): + +2009-03-18 Dirk Schulze <krit@webkit.org> + + Reviewed by Holger Freyther. + + Added support for SVG's stroked texts to Qt. + + [Qt] SVGs stroked text support missing + https://bugs.webkit.org/show_bug.cgi?id=24262 + + * platform/graphics/qt/FontQt.cpp: + (WebCore::Font::drawComplexText): + +2009-03-18 Mark Rowe <mrowe@apple.com> + + Reviewed by Alexey Proskuryakov. + + Fix fast/encoding/char-decoding.html with recent ICU. + + * platform/text/TextCodecICU.cpp: + (WebCore::TextCodecICU::decode): Look for gb18030 case-insensitively, + as newer versions of ICU use GB18030 as the canonical name. + +2009-03-17 David Levin <levin@chromium.org> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=24662 + Chromium build fixes. + + Bug https://bugs.webkit.org/show_bug.cgi?id=24663 tracks + the invalid implementation of ScriptCallStack. + + No change in behavior, so no test. + + * bindings/v8/ScriptCallStack.h: + (WebCore::ScriptCallStack::state): + * platform/graphics/skia/PlatformContextSkia.cpp: + (PlatformContextSkia::drawRect): + +2009-03-17 David Carson <dacarson@apple.com> + + Reviewed by David Hyatt. + + Add anchor elements to the simple style sheet so that applications that + are using WebKit just for simple text and links will also take advantage + of the fast path. + + * css/CSSStyleSelector.cpp: + (WebCore::elementCanUseSimpleDefaultStyle): + +2009-03-17 Darin Adler <darin@apple.com> + + Reviewed by Adele Peterson. + + <rdar://problem/6687005> Need support for new move-left/right selectors. + + * editing/EditorCommand.cpp: + (WebCore::executeMoveToLeftEndOfLine): Added. + (WebCore::executeMoveToLeftEndOfLineAndModifySelection): Added. + (WebCore::executeMoveToRightEndOfLine): Added. + (WebCore::executeMoveToRightEndOfLineAndModifySelection): Added. + Added command entries for the functions above. + +2009-03-17 Ojan Vafai <ojan@chromium.org> + + Reviewed by Adele Peterson. + + Put the padding inside scrollbars on textareas. + https://bugs.webkit.org/show_bug.cgi?id=24370 + + Put the padding inside the scrollbars on textareas. This is done by moving the + overflow from the shadowNode to the RenderTextControlMultiline. As a result, + all of the scroll handing methods that RenderTextControl overrides can be moved + down into RenderTextControlSingleLine since RenderTextControlMultiline can now + just use RenderBlock's versions. This also allows RenderTextControlMultiLine to + no longer need a custom layout method since the shadowNode can now just size + like a regular DIV. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::adjustRenderStyle): + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::styleDidChange): + (WebCore::RenderTextControl::selection): + (WebCore::RenderTextControl::calcHeight): + (WebCore::RenderTextControl::hitInnerTextElement): + * rendering/RenderTextControl.h: + * rendering/RenderTextControlMultiLine.cpp: + (WebCore::RenderTextControlMultiLine::nodeAtPoint): + (WebCore::RenderTextControlMultiLine::createInnerTextStyle): + * rendering/RenderTextControlMultiLine.h: + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::styleDidChange): + (WebCore::RenderTextControlSingleLine::autoscroll): + (WebCore::RenderTextControlSingleLine::scrollWidth): + (WebCore::RenderTextControlSingleLine::scrollHeight): + (WebCore::RenderTextControlSingleLine::scrollLeft): + (WebCore::RenderTextControlSingleLine::scrollTop): + (WebCore::RenderTextControlSingleLine::setScrollLeft): + (WebCore::RenderTextControlSingleLine::setScrollTop): + (WebCore::RenderTextControlSingleLine::scroll): + * rendering/RenderTextControlSingleLine.h: + * rendering/TextControlInnerElements.cpp: + (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): + (WebCore::RenderTextControlInnerBlock::positionForPoint): + (WebCore::TextControlInnerTextElement::createRenderer): + +2009-03-17 Darin Adler <darin@apple.com> + + Reviewed by David Hyatt. + + Bug 24517: REGRESSION (r41552): innerHTML does an updateLayout -- unneeded and can be slow + https://bugs.webkit.org/show_bug.cgi?id=24517 + + * editing/DeleteButtonController.cpp: + (WebCore::DeleteButtonController::enable): Added a call to updateRendering, since + determining whether to display the delete button involves style and updateRendering + also updates style (should probably be named updateStyle, in fact). Not needed to fix + this bug, but would have prevented the crash that led to this bug in the first place. + + * editing/EditCommand.cpp: + (WebCore::EditCommand::EditCommand): Get rid of unneeded null check. All frames have + delete button controllers. + * editing/Editor.cpp: + (WebCore::Editor::rangeForPoint): Ditto. + + * editing/markup.cpp: + (WebCore::appendStartMarkup): Changed a "&" to a "&&" so that generating markup + doesn't depend on renderers at all when the convertBlocksToInlines boolean is false. + This allows us to omit the call to updateLayoutIgnorePendingStylesheets in the + createMarkup function that's called by innerHTML. + (WebCore::MarkupAccumulator::appendMarkup): Turned this into a class with a member + function. Added a feature where the accumulator will skip a node. Moved arguments + that don't change during recursion into an object. This function still is a bit + inefficient, since it creates a new HashMap at every level as it recurses, but for now + I did not tackle that. Also replaced the onlyIncludeChildren boolean with EChildrenOnly + for consistency and clarity. + (WebCore::createMarkup): Removed the call to updateLayoutIgnorePendingStylesheets. + Instead of calling disable/enable on the delete button controller's container element, + pass it in to the markup accumulator as a node to skip. + +2009-03-17 Scott Violet <sky@google.com> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=24651 + Skia does not always render text fill/stroke pattern/gradient/color correctly + + Changes Skia's font rendering to only render gradient/pattern if current + color space indicates the gradient/pattern should be used. + This is covered by LayoutTests/fast/canvas/canvas-text-alignment.html . + + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::strokeColorSpace): + (WebCore::GraphicsContext::fillColorSpace): + * platform/graphics/GraphicsContext.h: + (WebCore::): + * platform/graphics/GraphicsContextPrivate.h: + * platform/graphics/skia/SkiaFontWin.cpp: + (WebCore::paintSkiaText): + +2009-03-17 Adele Peterson <adele@apple.com> + + Reviewed by Darin Adler. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=24655 + <rdar://problem/6633727> Hitting return at the end of a line with an anchor jumps me to the bottom of the message + + Test: editing/inserting/6633727.html + + This changes does a few things: + 1) Renames pos to insertionPosition. + 2) Eliminates "startNode". It doesn't work well to consider the node separately from the insertionPosition. + The insertionPosition gets updated at various times, and it seems likely that startNode can get out of sync. + 3) Before building up a list of ancestors to move around when we insert the new block, make sure to use the deepest + representation of the insertionPosition, so all ancestor nodes are correctly included. + + * editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::doApply): + +2009-03-17 Laszlo Gombos <laszlo.1.gombos@nokia.com> + + Reviewed by Kevin Ollivier. + + https://bugs.webkit.org/show_bug.cgi?id=24115 + Introduce platform independent stubs for plugins. + + * plugins/PluginDataNone.cpp: Copied from WebCore/plugins/wx/PluginDataWx.cpp. + * plugins/PluginPackageNone.cpp: Copied from WebCore/plugins/wx/PluginPackageWx.cpp. + * plugins/PluginViewNone.cpp: Copied from WebCore/plugins/wx/PluginViewWx.cpp. + * plugins/wx/PluginDataWx.cpp: Removed. + * plugins/wx/PluginPackageWx.cpp: Removed. + * plugins/wx/PluginViewWx.cpp: Removed. + * webcore-wx.bkl: + +2009-03-17 Darin Adler <darin@apple.com> + + Earlier version reviewed by Adele Peterson. + + Bug 24304: REGRESSION (r39864): Hitting the space bar to select an <input type=radio> + or push an <input type=button> or <button> causes the page to scroll down. + + Would be best to add a regression test for Windows eventually; tested that this has + no effect on the Mac OS X platform. + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::defaultEventHandler): Added FIXMEs and tweaked formatting. + Use the code that calls the base class's defaultEventHandler early only in the cases + where it's needed: keydown and keypress events in text fields. In other cases, do the + more typical thing and call the default handler only at the end of the function. + This function already had code to make sure the keypress event for space never gets + through, but it was running too late since the scrolling code was moved into the + base class default event handler. + +2009-03-17 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=24632 + + Fix repaint issues when composited layers come and go (only applies + when ACCELERATED_COMPOSITING is turned on). + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::RenderLayer): + * rendering/RenderLayer.h: + (WebCore::RenderLayer::mustOverlayCompositedLayers): + (WebCore::RenderLayer::setMustOverlayCompositedLayers): + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::RenderLayerBacking): + * rendering/RenderLayerBacking.h: + + Move what used to be the 'forceCompositingLayer' flag from RenderLayerBacking + to RenderLayer, because we don't want the side-effects of creating RenderLayerBacking + when setting this flag. + + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::updateLayerCompositingState): + When a RenderLayer flips into or out of compositing mode, compute a repaint + rect relative to the containerForRepaint, and repaint it. + + (WebCore::RenderLayerCompositor::computeCompositingRequirements): + Call layer->setMustOverlayCompositedLayers() rather than setForcedCompositingLayer(). + + (WebCore::RenderLayerCompositor::needsToBeComposited): + (WebCore::RenderLayerCompositor::requiresCompositingLayer): + (WebCore::RenderLayerCompositor::requiresCompositingForTransform): + (WebCore::RenderLayerCompositor::requiresCompositingForAnimation): + * rendering/RenderLayerCompositor.h: + + Rename requiresCompositingLayerForTransform() to requiresCompositingForTransform() + and make it a class static method to match requiresCompositingForAnimation(). Both + now take RenderObjects, rathern than RenderLayers. + + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::hasTransformRelatedProperty): + Minor tidyup using convenience methods added in an earlier commit. + +2009-03-17 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler + + https://bugs.webkit.org/show_bug.cgi?id=24396 + + * config.h: + Add WTF_USE_ACCELERATED_COMPOSITING, defined to 0 for now, and add some + comments to make the #ifdefs more readable. + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::computedTransform): + Add a comment to mention that we don't flatten the matrix. + + * css/MediaQueryEvaluator.cpp: + (WebCore::transform_3dMediaFeatureEval): + Have the 'transform-3d' media query evaluate to 'true' if 3d-rendering + is supported. + + * platform/graphics/mac/GraphicsLayerCA.mm: + (WebCore::GraphicsLayerCA::animateTransform): + No need for the #ifdef here. If we don't support 3d, we will have already flattened + the matrix. + + * platform/graphics/transforms/TransformationMatrix.cpp: + (WebCore::TransformationMatrix::makeAffine): + * platform/graphics/transforms/TransformationMatrix.h: + New method to convert the matrix to an affine matrix by throwing a way the non-affine + parts. + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateTransform): + (WebCore::RenderLayer::currentTransform): + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::updateLayerTransform): + If 3d rendering is not supported, convert the matrix to an affine matrix + which can be rendered, and used for hit testing. + + * rendering/RenderLayerCompositor.cpp: + Change the name of the exported symbol that webkitdirs.pm uses to know if + 3d rendering is supported. There is no other 3d-rendering-specific symbol we can sniff. + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::transformFromContainer): + Only take perspective into account if 3d rendering is supported. + + * rendering/RenderObject.h: + (WebCore::makeMatrixRenderable): + Utility method that flattens a matrix if 3d rendering is not supported. + +2009-03-17 Kevin Ollivier <kevino@theolliviers.com> + + wx build fix. Fix typo after mouse wheel changes. + + * platform/wx/MouseWheelEventWx.cpp: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + +2009-03-17 Darin Adler <darin@apple.com> + + * inspector/ConsoleMessage.cpp: + (WebCore::ConsoleMessage::isEqual): Fix build, remove stray parenthesis. + +2009-03-17 Darin Adler <darin@apple.com> + + Fix crash seen right away when running run-webkit-tests. + + * inspector/ConsoleMessage.cpp: + (WebCore::ConsoleMessage::isEqual): Restore assertion to its behavior pre-refactoring. + Also tweaked formatting a bit. + +2009-03-17 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + HTMLSelectElement::add() doesn't look at exception code returned from insertBefore(), so + it doesn't need to zero it out before calling. + + * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::add): Removed "ec = 0" line. + +2009-03-17 Dan Bernstein <mitz@apple.com> + + Reviewed by Adam Roben. + + - WebCore part of adding a mechanism for controlling the caching of + responses through WebFrameLoaderClient + + Mac already has such a mechanism, and this adds one for CFNetwork ports. + + * WebCore.vcproj/WebCore.vcproj: Added EmptyClients.h + and ResourceLoaderCFNet.cpp. + + * loader/EmptyClients.h: + (WebCore::EmptyFrameLoaderClient::shouldCacheResponse): Added an + implementation that always returns true. + + * loader/FrameLoaderClient.h: Declared shouldCacheResponse(). + + * loader/ResourceLoader.h: Ditto. + + * loader/cf/ResourceLoaderCFNet.cpp: Added. + (WebCore::ResourceLoader::shouldCacheResponse): Added. Calls through to + FrameLoaderClient::shouldCacheResponse(). + + * platform/network/ResourceHandleClient.h: + (WebCore::ResourceHandleClient::shouldCacheResponse): Added an + implementation that always returns true. + + * platform/network/cf/ResourceHandleCFNet.cpp: + (WebCore::willCacheResponse): Added a call to + ResourceHandleClient::shouldCacheResponse(). If the client returns + false, return 0, which will prevent CFNetwork from caching the response. + +2009-03-17 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=13287 + Cannot change SELECT to a dynamically created option + + Tests: fast/forms/add-and-remove-option.html + fast/forms/add-remove-option-modification-event.html + fast/forms/add-selected-option.html + fast/forms/select-cache-desynchronization.html + + * dom/ContainerNode.cpp: + (WebCore::dispatchChildInsertionEvents): Increment DOM tree version. This will happen when + dispatching DOMSubtreeModified again, but the version should be incremented for event + listeners to have an up to date view of the DOM. + (WebCore::dispatchChildRemovalEvents): Ditto. + + * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::insertedIntoTree): + Make sure that the select element knows about its new selected option. + + * html/HTMLOptionElement.h: Use insertedIntoTree() instead of insertedIntoDocument(), + because DOM also needs to be updated for forms that are not in document yet. Similar + problems exist for node removing, but removedFromTree() is called at a wrong time, so + those problems cannot be fixed without deeper refactoring. + + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::setRecalcListItems): Reset m_activeSelectionAnchorIndex - it + doesn't make sense to keep the anchor after programmatically changing the selection, and + keeping it was causing a failure in fast/forms/listbox-selection.html. + + * html/HTMLSelectElement.h: Removed overrides for ContainerNode methods that only called + base class versions. + +2009-03-17 Steve Falkenburg <sfalken@apple.com> + + <rdar://problem/6690324> Accessing FTP sites reads unallocated memory, can result in garbled entries or crashes + + Reviewed by Darin Adler. + + * loader/FTPDirectoryDocument.cpp: + (WebCore::FTPDirectoryTokenizer::parseAndAppendOneLine): Assign CString to a local while we hold pointers into it. + +2009-03-16 David Hyatt <hyatt@apple.com> + + <rdar://problem/6648411> REGRESSION: Layout of page is wrong at http://www.popcap.com/ + + Make sure that the initial shouldPaint check that looks at enclosingLayers properly skips over + layers that don't paint themselves. This is done by adding a new enclosingSelfPaintingLayer method + so that RenderObjects can walk up the enclosing layer chain and skip any layers that don't paint + themselves. + + Reviewed by Darin Adler. + + Added fast/block/float/overlapping-floats-with-overflow-hidden.html + + * WebCore.base.exp: + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::addOverhangingFloats): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::enclosingSelfPaintingLayer): + * rendering/RenderObject.h: + +2009-03-17 Xan Lopez <xlopez@igalia.com> + + Reviewed by Holger Freyther. + + https://bugs.webkit.org/show_bug.cgi?id=24592 + [GTK] Crash in FcPatternHash + + Style fixes. + + * platform/graphics/gtk/FontPlatformDataGtk.cpp: + (WebCore::FontPlatformData::operator=): + * platform/graphics/gtk/FontPlatformDataPango.cpp: + +2009-03-17 Xan Lopez <xlopez@igalia.com> + + Reviewed by Holger Freyther. + + https://bugs.webkit.org/show_bug.cgi?id=24592 + [GTK] Crash in FcPatternHash + + Sanitize memory management in pango fonts. + + Release memory allocated by FontPlatformDataPango in its own + destructor instead of doing it from other classes, and add copy + constructor and '=' operator to be able to track referenced + objects properly. + + * platform/graphics/gtk/FontPlatformDataPango.cpp: + (WebCore::FontPlatformData::~FontPlatformData): + (WebCore::FontPlatformData::operator=): + (WebCore::FontPlatformData::FontPlatformData): + * platform/graphics/gtk/SimpleFontDataPango.cpp: + +2009-03-17 Darin Adler <darin@apple.com> + + Reviewed by Alexey Proskuryakov. + + Bug 24624: Crash in imageLoadEventTimerFired after adoptNode used on <img>, + seen with inspector, which uses adoptNode + https://bugs.webkit.org/show_bug.cgi?id=24624 + rdar://problem/6422850 + + Test: fast/dom/HTMLImageElement/image-load-cross-document.html + + * dom/Document.cpp: + (WebCore::Document::Document): Removed m_imageLoadEventTimer. + (WebCore::Document::detach): Removed m_imageLoadEventDispatchSoonList and + m_imageLoadEventDispatchingList. + (WebCore::Document::implicitClose): Called ImageLoader::dispatchPendingLoadEvents + instead of dispatchImageLoadEventsNow. + + * dom/Document.h: Removed ImageLoader, dispatchImageLoadEventSoon, + dispatchImageLoadEventsNow, removeImage, m_imageLoadEventDispatchSoonList, + m_imageLoadEventDispatchingList, m_imageLoadEventTimer, and imageLoadEventTimerFired. + + * loader/ImageLoader.cpp: + (WebCore::loadEventSender): Added. Returns the single global ImageLoadEventSender + object used privately as the target of the load event timer. + (WebCore::ImageLoader::~ImageLoader): Call ImageLoadEventSender::cancelLoadEvent + rather than Document::removeImage. + (WebCore::ImageLoader::setImage): Use m_element directly, not element(). + (WebCore::ImageLoader::updateFromElement): Ditto. Also name the local variable + document instead of doc. + (WebCore::ImageLoader::notifyFinished): Call ImageLoadEventSender::dispatchLoadEventSoon + rather than Document::dispatchImageLoadEventSoon. + (WebCore::ImageLoader::dispatchPendingLoadEvent): Added. Handles the common logic + about when load events can be dispatched so that dispatchLoadEvent only has to + have the specific part for each derived class. This includes a check that the + document is attached, which used to be handled by having documents empty out the + image load event vectors in the detach function. + (WebCore::ImageLoader::dispatchPendingLoadEvents): Added. Calls the appropriate + function on the ImageLoadEventSender, which avoids the need to have that class be + public in the ImageLoader header. + (WebCore::ImageLoadEventSender::ImageLoadEventSender): Added. Has the code that + was previously in the Document constructor. + (WebCore::ImageLoadEventSender::dispatchLoadEventSoon): Added. Has the code that + was previously in Document::dispatchImageLoadEventSoon. + (WebCore::ImageLoadEventSender::cancelLoadEvent): Added. Has the code that was + previously in Document::removeImage. + (WebCore::ImageLoadEventSender::dispatchPendingLoadEvents): Added. Has the code + that was previously in Document::dispatchImageLoadEventsNow. + (WebCore::ImageLoadEventSender::timerFired): Added. Calls dispatchPendingLoadEvents. + + * loader/ImageLoader.h: Improved comments. Made the virtual functions private + or protected rather than public. Added static dispatchPendingLoadEvents function + for use by Document and private dispatchPendingLoadEvent function for use by + ImageLoadEventSender. Made setLoadingImage private and eliminated + setHaveFiredLoadEvent since that can all be done inside the class without any + member functions. + + * html/HTMLImageLoader.cpp: + (WebCore::HTMLImageLoader::dispatchLoadEvent): Removed logic to check whether a + load event already fired and whether image() is 0. These are now both base class + responsibilities. + * svg/SVGImageLoader.cpp: + (WebCore::SVGImageLoader::dispatchLoadEvent): Ditto. + * wml/WMLImageLoader.cpp: + (WebCore::WMLImageLoader::dispatchLoadEvent): Ditto. + +2009-03-17 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Timothy Hatcher. + + https://bugs.webkit.org/show_bug.cgi?id=24623 + Refactor ConsoleMessage to use ScriptFuncitonCall and eliminate JSC + dependencies. + + * bindings/js/ScriptFunctionCall.cpp: + (WebCore::ScriptFunctionCall::appendArgument): Added uint and ScriptString-taking methods. + * bindings/js/ScriptFunctionCall.h: + * bindings/js/ScriptObjectQuarantine.cpp: + (WebCore::quarantineValue): Added generic ScriptValue quarantine helper. + * bindings/js/ScriptObjectQuarantine.h: + * bindings/js/ScriptValue.cpp: + (WebCore::ScriptValue::isEqual): Added. + * bindings/js/ScriptValue.h: + * inspector/ConsoleMessage.cpp: + (WebCore::ConsoleMessage::ConsoleMessage): + (WebCore::ConsoleMessage::addToConsole): Added. + (WebCore::ConsoleMessage::isEqual): Changed to use ScriptValue::isEqual. + * inspector/ConsoleMessage.h: + (WebCore::ConsoleMessage::incrementCount): Added. + * inspector/InspectorController.cpp: + (WebCore::InspectorController::addConsoleMessage): Changed to use ConsoleMessage::addToConsole. + (WebCore::InspectorController::populateScriptObjects): Ditto. + * inspector/InspectorController.h: + +2009-03-17 Kevin Ollivier <kevino@theolliviers.com> + + Reviewed by Mark Rowe. + + Get BUILDING_ON_* defines from Platform.h. + + https://bugs.webkit.org/show_bug.cgi?id=24630 + + * WebCorePrefix.h: + +2009-03-16 Xan Lopez <xlopez@igalia.com> + + Reviewed by Holger Freyther. + + https://bugs.webkit.org/show_bug.cgi?id=24592 + [GTK] Crash in FcPatternHash + + Sanitize memory management in gtk fonts. + + Release memory allocated by FontPlatformDataGtk in its own + destructor instead of doing it from other classes, and add copy + constructor and '=' operator to be able to track referenced + objects properly. + + * platform/graphics/gtk/FontPlatformData.h: + * platform/graphics/gtk/FontPlatformDataGtk.cpp: + (WebCore::FontPlatformData::operator=): + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::~FontPlatformData): + * platform/graphics/gtk/SimpleFontDataGtk.cpp: + (WebCore::SimpleFontData::platformDestroy): + +2009-03-17 Ariya Hidayat <ariya.hidayat@nokia.com> + + Build fix for Qt < 4.5. + + As reported by Yael Aharon <yael.aharon@nokia.com> + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::drawLine): + +2009-03-17 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=24614 + Access control checks are different in cached and uncached cases + + Test: http/tests/xmlhttprequest/access-control-basic-non-simple-deny-cached.html + + * loader/CrossOriginAccessControl.cpp: + (WebCore::isOnAccessControlSimpleRequestMethodWhitelist): Factored out simple method + check for use in both cached and uncached cases. In cached case, an old definition that + omitted HEAD was still used. + (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): Check that content type has an + allowed value. This is needed in all call sites. Also changed to compare MIME type, not + content type. + (WebCore::isSimpleCrossOriginAccessRequest): Use the above methods. + + * loader/CrossOriginAccessControl.h: Expose isOnAccessControlSimpleRequestMethodWhitelist. + + * loader/CrossOriginPreflightResultCache.cpp: + (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod): + (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders): + Use the new checks for simple method and header. + +2009-03-16 Gustavo Noronha Silva <gns@gnome.org> and Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com> + + Reviewed by Mark Rowe. + + https://bugs.webkit.org/show_bug.cgi?id=24638 + [GTK] HTML5 media tags do not work + + Add a repaint-requested signal to the video sink, and use it to + call MediaPlayerPrivate::repaint, so that the video actually + plays. + + * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: + (WebCore::mediaPlayerPrivateRepaintCallback): + (WebCore::MediaPlayerPrivate::createGSTPlayBin): + * platform/graphics/gtk/VideoSinkGStreamer.cpp: + (webkit_video_sink_idle_func): + (webkit_video_sink_render): + (webkit_video_sink_class_init): + +2009-03-16 Gustavo Noronha Silva <gns@gnome.org> and Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com> + + Reviewed by Holger Freyther. + + https://bugs.webkit.org/show_bug.cgi?id=24638 + [GTK] HTML5 media tags do not work + + Work-around the fact that gst_element_query_duration returns true even + though it is unable to figure out the duration when in stream (push) + mode. + + * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivate::duration): + +2009-03-16 Darin Adler <darin@apple.com> + + Reviewed by Kevin Decker. + + <rdar://problem/6642742> Top Sites malfunction when switching text zoom mode + + * page/Frame.cpp: + (WebCore::Frame::setNeedsReapplyStyles): Don’t do anything if the frame is + currently showing a non-HTML view. + +2009-03-16 Darin Adler <darin@apple.com> + + Reviewed by Adele Peterson. + + Bug 24629: moving forward or backward a paragraph fails at edge of document + https://bugs.webkit.org/show_bug.cgi?id=24629 + rdar://problem/6544413 + + Test: editing/selection/move-paragraph-document-edges.html + + * editing/visible_units.cpp: + (WebCore::previousParagraphPosition): Use the last result from + previousLinePosition rather than going all the way back to what was originally + passed in when we hit exception cases like null or not moving. This correctly + inherits the behavior of previousLinePosition when we are in a paragraph at the + edge of a document. + (WebCore::nextParagraphPosition): Ditto. + +2009-03-16 Darin Adler <darin@apple.com> + + Reviewed by Adele Peterson. + + Bug 24619: RenderObject::selectionStartEnd does not need to be a virtual function + https://bugs.webkit.org/show_bug.cgi?id=24619 + + * rendering/RenderObject.h: Remove virtual keyword from selectionStartEnd declaration. + * rendering/RenderView.h: Ditto. + +2009-03-16 Peter Kasting <pkasting@google.com> + + Reviewed by David Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=24368 + DOM scroll events should be based off the actual number of wheel + ticks, not off the number of lines scrolled. This matches IE. + + * dom/Node.cpp: + (WebCore::Node::dispatchWheelEvent): + * dom/WheelEvent.cpp: + (WebCore::WheelEvent::WheelEvent): + * dom/WheelEvent.h: + (WebCore::WheelEvent::create): + * platform/PlatformWheelEvent.h: + (WebCore::PlatformWheelEvent::wheelTicksX): + (WebCore::PlatformWheelEvent::wheelTicksY): + * platform/gtk/WheelEventGtk.cpp: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + * platform/mac/WheelEventMac.mm: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + * platform/qt/WheelEventQt.cpp: + * platform/win/WheelEventWin.cpp: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + * platform/wx/MouseWheelEventWx.cpp: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + +2009-03-16 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Eric Seidel + + Clean up a few issues in the Animation code: + + * page/animation/AnimationBase.cpp: + (WebCore::AnimationBase::updateStateMachine): + Whitespace + + (WebCore::AnimationBase::willNeedService): + Don't round to float, use std::max + + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::startTimeResponse): + Fix erroneously copied line to null out m_lastResponseWaiter. + +2009-03-12 David Hyatt <hyatt@apple.com> + + Reviewed by Eric Seidel + + https://bugs.webkit.org/show_bug.cgi?id=13632 + + Overflow scrolling needs to account for the bottom/right padding on the object itself as well + as for bottom/right margins on children. + + Existing tests cover this. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::lowestPosition): + (WebCore::RenderBlock::rightmostPosition): + +2009-03-16 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Fix for <rdar://problem/6320555> + Add an upper limit for setting HTMLSelectElement.length. + + Test: fast/forms/select-max-length.html + + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::setOption): + (WebCore::HTMLSelectElement::setLength): + +2009-03-16 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Simon Fraser. + + <rdar://problem/6686721> Media document crash in 64-bit WebKit + + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::createQTMovieView): QTMovieContentViewClass is only used when + rendering inline with old versions of QuickTime, so don't look for it when we are in a + media document. + +2009-03-16 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Timothy Hatcher. + + https://bugs.webkit.org/show_bug.cgi?id=24590 + Refactor InspectorDOMStorageResource to use ScriptFunctionCall. + + * bindings/js/ScriptFunctionCall.cpp: + (WebCore::ScriptFunctionCall::appendArgument): Added method for bool argument. + * bindings/js/ScriptFunctionCall.h: Ditto, also cleaned up. + * bindings/js/ScriptObjectQuarantine.cpp: + (WebCore::getQuarantinedScriptObject): Added Storage helper. + * bindings/js/ScriptObjectQuarantine.h: Ditto. + * inspector/InspectorController.cpp: + (WebCore::InspectorController::populateScriptObjects): Changed to use bind method. + (WebCore::InspectorController::resetScriptObjects): Changed to use unbind method. + (WebCore::InspectorController::didUseDOMStorage): Changed to use isSameHostAndType and bind methods. + * inspector/InspectorController.h: Removed add/remove methods for DOM storage. + * inspector/InspectorDOMStorageResource.cpp: + (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource): + (WebCore::InspectorDOMStorageResource::isSameHostAndType): Added. + (WebCore::InspectorDOMStorageResource::bind): Added. + (WebCore::InspectorDOMStorageResource::unbind): Added. + * inspector/InspectorDOMStorageResource.h: + +2009-03-16 Mike Belshe <mike@belse.com> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=24580 + Fix query() to match KURL behavior, this time with the code that + compiles. + + * platform/KURLGoogle.cpp: + (WebCore::KURL::query): Fix copy/paste mistake. + +2009-03-16 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=21752 + REGRESSION: referencing XHR constructor for a not yet loaded frame permanently breaks it + + Test: fast/dom/Window/window-early-properties-xhr.html + + For some transitions, the Window object is not replaced, but Document is. When this happened, + window.document property was updated, but references to Document kept in cached constructors + were not. + + * bindings/js/JSAudioConstructor.cpp: + (WebCore::JSAudioConstructor::JSAudioConstructor): + (WebCore::JSAudioConstructor::document): + (WebCore::JSAudioConstructor::mark): + * bindings/js/JSAudioConstructor.h: + * bindings/js/JSImageConstructor.cpp: + (WebCore::JSImageConstructor::JSImageConstructor): + (WebCore::JSImageConstructor::document): + (WebCore::JSImageConstructor::mark): + * bindings/js/JSImageConstructor.h: + * bindings/js/JSMessageChannelConstructor.cpp: + (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): + (WebCore::JSMessageChannelConstructor::scriptExecutionContext): + (WebCore::JSMessageChannelConstructor::mark): + * bindings/js/JSMessageChannelConstructor.h: + * bindings/js/JSOptionConstructor.cpp: + (WebCore::JSOptionConstructor::JSOptionConstructor): + (WebCore::JSOptionConstructor::document): + (WebCore::JSOptionConstructor::mark): + * bindings/js/JSOptionConstructor.h: + * bindings/js/JSXMLHttpRequestConstructor.cpp: + (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): + (WebCore::JSXMLHttpRequestConstructor::scriptExecutionContext): + (WebCore::JSXMLHttpRequestConstructor::mark): + * bindings/js/JSXMLHttpRequestConstructor.h: + Changed cached constructors to keep a reference to Window, not Document. + +2009-03-15 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=24549 + Impose a limit on Access-Control-Max-Age value + + * loader/CrossOriginPreflightResultCache.cpp: + (WebCore::CrossOriginPreflightResultCacheItem::parse): + +2009-03-15 Greg Bolsinga <bolsinga@apple.com> + + Reviewed by David Kilzer. + + <rdar://problem/6668875> Normalize Geolocation results + + * platform/mac/GeolocationServiceMac.mm: + (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]): + +2009-03-15 Greg Bolsinga <bolsinga@apple.com> + + Reviewed by David Kilzer. + + Update ::toString format as suggested by Darin Adler. + + * page/Geoposition.cpp: + (WebCore::Geoposition::toString): + +2009-03-15 David Kilzer <ddkilzer@apple.com> + + <rdar://problem/6668238> WebCore is registering text encodings needlessly from KURL constructor. + + Reviewed by Darin Adler. + + Yet another case where we would trigger extended encoding loading needlessly. + + * platform/text/TextEncoding.cpp: + (WebCore::TextEncoding::encodingForFormSubmission): + +2009-03-15 Simon Fraser <simon.fraser@apple.com> + + Build fix: no review. + + * rendering/style/ContentData.h: + +2009-03-15 David Kilzer <ddkilzer@apple.com> + + Bug 24542: Improve ContentData encapsulation + + <https://bugs.webkit.org/show_bug.cgi?id=24542> + + Reviewed by Simon Fraser. + + No tests since there is no change in behavior. + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::createObject): Used getter methods + instead of data members on ContentData class. Used isImage() + convenience method. + * rendering/RenderObjectChildList.cpp: + (WebCore::RenderObjectChildList::updateBeforeAfterContent): Ditto. + + * rendering/style/ContentData.cpp: + (WebCore::ContentData::clear): Extracted code into + deleteContent() method. + (WebCore::ContentData::dataEquivalent): Added. Extracted code + from StyleRareNonInheritedData::contentDataEquivalent(). + (WebCore::ContentData::deleteContent): Added. Used by setter + methods. + * rendering/style/ContentData.h: Made m_type, m_content and + m_next private. + (WebCore::ContentData::isCounter): Added. + (WebCore::ContentData::isImage): Added. + (WebCore::ContentData::isNone): Added. + (WebCore::ContentData::isText): Added. + (WebCore::ContentData::type): Added. + (WebCore::ContentData::dataEquivalent): Added. + (WebCore::ContentData::image): Added. + (WebCore::ContentData::setImage): Added. + (WebCore::ContentData::text): Added. + (WebCore::ContentData::setText): Added. + (WebCore::ContentData::counter): Added. + (WebCore::ContentData::setCounter): Added. + (WebCore::ContentData::next): Added. + (WebCore::ContentData::setNext): Added. + + * rendering/style/CounterContent.h: + (WebCore::operator!=): Removed. + (WebCore::operator==): Renamed operator!=() and reversed its + logic after extracting code from + StyleRareNonInheritedData::contentDataEquivalent() to create + ContentData::dataEquivalent(). + + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::setContent): Used new getters and setters + on ContentData class. Changed first argument from a StringImpl* + to a PassRefPtr<StrimgImpl>. Used isText() convenience method. + * rendering/style/RenderStyle.h: + (WebCore::RenderStyle::setContent): Updated declaration. + * rendering/style/StyleRareNonInheritedData.cpp: + (WebCore::StyleRareNonInheritedData::contentDataEquivalent): + Extracted most logic in while() loop into + ContentData::dataEquivalent(). + +2009-03-15 Gustavo Noronha Silva <gns@gnome.org> + + Reviewed by Anders Carlsson. + + https://bugs.webkit.org/show_bug.cgi?id=24602 + [Gtk] Searching in thepiratebay.org doesn't work with more than 1 word + + Reintroduce the URI into the soup message after having set it in + the KURL, on redirects, to make sure it is properly encoded. This + fixes bad request problems when servers give bad URIs on their + response's Location header. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::restartedCallback): + +2009-03-15 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=19737 + No cursor and paste not enabled right clicking text field/area + + Test: fast/events/right-click-focus.html + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMousePressEventSingleClick): + (WebCore::EventHandler::handleMousePressEvent): + Take normal code path for right clicks (we were taking it for Ctrl-clicks anyway). + +2009-03-15 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Adele Peterson. + + https://bugs.webkit.org/show_bug.cgi?id=23949 + HTMLSelectElement is in inconsistent state when handling mutation events + + Test: fast/forms/mutation-event-recalc.html + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::insertBefore): + (WebCore::ContainerNode::appendChild): + Call childrenChanged() before dispatching modification events, not after. + + * html/HTMLOptGroupElement.cpp: + (WebCore::HTMLOptGroupElement::insertBefore): + (WebCore::HTMLOptGroupElement::replaceChild): + (WebCore::HTMLOptGroupElement::removeChild): + (WebCore::HTMLOptGroupElement::appendChild): + (WebCore::HTMLOptGroupElement::removeChildren): + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::add): + (WebCore::HTMLSelectElement::remove): + (WebCore::HTMLSelectElement::insertBefore): + (WebCore::HTMLSelectElement::replaceChild): + (WebCore::HTMLSelectElement::removeChild): + (WebCore::HTMLSelectElement::appendChild): + (WebCore::HTMLSelectElement::removeChildren): + Remove calls to recalcSelectOptions(). It is too late to recalc now, after mutation events + were already dispatched. + +2009-03-14 Greg Bolsinga <bolsinga@apple.com> + + <rdar://problem/6683465> + + Geolocation has to be able to handle NULL Frames. + + Reviewed by Mark Rowe + +2009-03-14 Greg Bolsinga <bolsinga@apple.com> + + Reviewed by David Kilzer. + + Geoposition::toString was missing the Coordinates after the update. + + * page/Geoposition.cpp: + (WebCore::Geoposition::toString): + +2009-03-14 Jan Michael Alonzo <jmalonzo@webkit.org> + + Reviewed by Mark Rowe. + + [Gtk] Build fix - pass a Coordinate to Geoposition::create + https://bugs.webkit.org/show_bug.cgi?id=24603 + + Gtk build fix per r41650 + https://bugs.webkit.org/show_bug.cgi?id=24506 + Geolocation in Safari differs from the spec, no Coordinates attribute on Position + + Pass a Coordinate to Geoposition::create. + + * platform/gtk/GeolocationServiceGtk.cpp: + (WebCore::GeolocationServiceGtk::updatePosition): + +2009-03-14 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=24545 + Make cross-site XHR simple request definition match current spec draft + + Tests: http/tests/xmlhttprequest/access-control-basic-post-fail-non-simple-content-type.html + http/tests/xmlhttprequest/access-control-basic-whitelist-request-headers.html + + * loader/CrossOriginAccessControl.cpp: + (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): Added Content-Language. + (WebCore::isSimpleCrossOriginAccessRequest): Added HEAD. Restricted content types to those + that could be sent via form submission. + +2009-03-14 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=15172 + object fallback - empty string for first argument of setAttributeNS does not work like null + + https://bugs.webkit.org/show_bug.cgi?id=24548 + createElementNS("", name) should create an element in null namespace + + Tests: fast/dom/createElementNS-empty-namespace.html + fast/dom/setAttributeNS-empty-namespace.html + + * dom/QualifiedName.h: (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl): + Convert empty namespaces to null. + +2009-03-13 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Dan Bernstein. + + Take advantage of the ability of recent versions of Xcode to easily switch the active + architecture. + + * Configurations/DebugRelease.xcconfig: + +2009-03-13 John Abd-El-Malek <jam@google.com> + + Reviewed by Darin Fisher. + + https://bugs.webkit.org/show_bug.cgi?id=24593 + Added requestorID so we can track the request to its WebView without using frame (which was removed). + + * platform/network/chromium/ResourceRequest.h: + (WebCore::ResourceRequest::ResourceRequest): + (WebCore::ResourceRequest::requestorID): + (WebCore::ResourceRequest::setRequestorID): + (WebCore::ResourceRequest::setTargetType): + (WebCore::ResourceRequest::policyURL): + (WebCore::ResourceRequest::setPolicyURL): + (WebCore::ResourceRequest::requestorPid): + (WebCore::ResourceRequest::setRequestorPid): + +2009-03-13 Mike Belshe <mike@belshe.com> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=24561 + Add custom V8 bindings for HTMLElementCanvas, Location. + + * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: Added. + * bindings/v8/custom/V8LocationCustom.cpp: Added. + +2009-03-13 Stephen White <senorblanco@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=24584 + + Fix transparent text rendering on Chromium. FontChromiumWin + was calling beginTransparencyLayer()/endTransparencyLayer(), with + a TransparencyWin inside to do GDI ClearType rendering over an + opaque background. TransparencyWin does its special sauce + in the destructor, but it was being called too late to be used + correctly in the layer. Put the special sauce into a new function, + composite(), and call that explicitly instead. + + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter): + * platform/graphics/chromium/TransparencyWin.cpp: + (WebCore::TransparencyWin::~TransparencyWin): + (WebCore::TransparencyWin::composite): + (WebCore::TransparencyWin::init): + * platform/graphics/chromium/TransparencyWin.h: + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::): + +2009-03-13 Mike Belshe <mike@belshe.com> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=24562 + Add custom implementation for getCSSCanvasContext to V8 bindings. + + * bindings/v8/custom/V8DocumentCustom.cpp: Added new method. + +2009-03-13 Mike Belshe <mike@belse.com> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=24580 + Fix query() to match KURL behavior. + + * platform/KURLGoogle.cpp: + (WebCore::KURL::query): remove extra logic around question mark. + +2009-03-13 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin. + + Bug 24474: AX: in multi-body tables, asking for a cell at a specific coordinate can return nil + https://bugs.webkit.org/show_bug.cgi?id=24474 + + Test: platform/mac-snowleopard/accessibility/table-multi-bodies.html + + * page/AccessibilityTable.cpp: + (WebCore::AccessibilityTable::cellForColumnAndRow): + +2009-03-13 Jian Li <jianli@chromium.org> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=24589 + Upstream changes to V8 event listeners (Chromium r11133) in order to + fix worker functionality break in Chromium. + + * bindings/v8/V8AbstractEventListener.cpp: + (WebCore::V8AbstractEventListener::invokeEventHandler): + (WebCore::V8AbstractEventListener::handleEvent): + * bindings/v8/V8AbstractEventListener.h: + * bindings/v8/V8WorkerContextEventListener.cpp: + (WebCore::V8WorkerContextEventListener::handleEvent): + +2009-03-13 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Timothy Hatcher. + + https://bugs.webkit.org/show_bug.cgi?id=24524 + Introduce ScriptObject and ScriptFunctionCall abstractions. + + * GNUmakefile.am: Added ScriptObject and ScriptFunctionCall to project. + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * WebCoreSources.bkl: Ditto. + * bindings/js/ScriptFunctionCall.cpp: Added. + * bindings/js/ScriptFunctionCall.h: Added. + * bindings/js/ScriptObject.cpp: Added. + * bindings/js/ScriptObject.h: Added. + * bindings/js/ScriptObjectQuarantine.cpp: Added. + * bindings/js/ScriptObjectQuarantine.h: Added. + * inspector/InspectorController.cpp: + (WebCore::InspectorController::populateScriptObjects): Changed to use InspectorDatabaseResource::bind. + (WebCore::InspectorController::resetScriptObjects): Changed to use InspectorDatabaseResource::unbind. + (WebCore::InspectorController::didOpenDatabase): Changed to use InspectorDatabaseResource::unbind. + * inspector/InspectorController.h: Removed addScriptDatabaseResource and + removeScriptDatabaseResource declarations. + * inspector/InspectorDatabaseResource.cpp: + (WebCore::InspectorDatabaseResource::InspectorDatabaseResource): + (WebCore::InspectorDatabaseResource::bind): Added. + (WebCore::InspectorDatabaseResource::unbind): Added. + * inspector/InspectorDatabaseResource.h: Added bind and unbind declarations. + +2009-03-13 Peter Kasting <pkasting@google.com> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=24467 + Make Skia drawRect() and stroke behavior match CG. + + This makes drawRect() ignore the stroke width (like CG does), and + adds a warning comment about that to the appropriate header. + + It also eliminates some hacky code in Skia's stroke preparation, + which tried to adjust odd-width strokes to fall on pixel boundaries. + Not only did this not match CG, it wouldn't necessarily work right, + because there could be other transforms (e.g. full-page zoom) that + would affect the stroke before it reached the device pixel level. + + * platform/graphics/GraphicsContext.h: + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::drawRect): + (WebCore::GraphicsContext::fillRect): + * platform/graphics/skia/PlatformContextSkia.cpp: + (PlatformContextSkia::drawRect): + (PlatformContextSkia::setupPaintForStroking): + +2009-03-13 Jian Li <jianli@chromium.org> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=24583 + Need to change scope of constructor and destructor of V8ObjectEventListener from private + to protected so that they could be used in its derived class V8WorkerContextEventListener. + + * bindings/v8/V8ObjectEventListener.h: + +2009-03-13 David Levin <levin@chromium.org> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=24579 + Many V8*Event* files are misplaced. + + This code is infrastructure for supporting the bindings and thus should + be in the bindings/v8 directory. + + * bindings/v8/V8AbstractEventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8AbstractEventListener.cpp. + * bindings/v8/V8AbstractEventListener.h: Renamed from WebCore/bindings/v8/custom/V8AbstractEventListener.h. + * bindings/v8/V8LazyEventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8LazyEventListener.cpp. + * bindings/v8/V8LazyEventListener.h: Renamed from WebCore/bindings/v8/custom/V8LazyEventListener.h. + * bindings/v8/V8ObjectEventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8ObjectEventListener.cpp. + * bindings/v8/V8ObjectEventListener.h: Renamed from WebCore/bindings/v8/custom/V8ObjectEventListener.h. + * bindings/v8/V8WorkerContextEventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8WorkerContextEventListener.cpp. + * bindings/v8/V8WorkerContextEventListener.h: Renamed from WebCore/bindings/v8/custom/V8WorkerContextEventListener.h. + +2009-03-13 Adele Peterson <adele@apple.com> + + Reviewed by Justin Garcia. + + Fix for <rdar://problem/5089327> Color of quoted content is wrong when pasted inside other quoted content + + Test: editing/pasteboard/5089327.html + + Handle spans being pasted within a quoted region in the same way we handle "paste as quotation" content. + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::handleStyleSpansBeforeInsertion): + (WebCore::ReplaceSelectionCommand::handleStyleSpans): + +2009-03-13 Greg Bolsinga <bolsinga@apple.com> + + Reviewed by Simon Fraser. + + Update Geolocation perimission dialogs to be asynchronous. + https://bugs.webkit.org/show_bug.cgi?id=24505 + + Geolocation now requests permission from the Chrome asynchronously. + The Chrome is passed the Geolocation object, and the Chrome sets the permission + on the Geolocation. Geolocation also tracks if the Chrome should clear its cache + of SecurityOrigins with geolocation permission. This is so that the GeolocationService + can inform the Chrome of its request, and the Chrome is also free to implement its + own policy. + + * WebCore.base.exp: + * WebCore.xcodeproj/project.pbxproj: + * page/Chrome.cpp: + (WebCore::Chrome::requestGeolocationPermissionForFrame): + * page/Chrome.h: + * page/ChromeClient.h: + (WebCore::ChromeClient::requestGeolocationPermissionForFrame): + * page/Geolocation.cpp: + (WebCore::Geolocation::Geolocation): + (WebCore::Geolocation::getCurrentPosition): + (WebCore::Geolocation::watchPosition): + (WebCore::Geolocation::setIsAllowed): + (WebCore::Geolocation::displayChallengeIfNecessary): + (WebCore::Geolocation::geolocationServicePositionChanged): + * page/Geolocation.h: + (WebCore::Geolocation::isAllowed): + (WebCore::Geolocation::setShouldClearCache): + (WebCore::Geolocation::shouldClearCache): + (WebCore::Geolocation::): + +2009-03-13 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/6610666> Revise the Cocoa event model text API + + Add a NPCocoaEventTextInput event type. Remove the text input variables. + + * bridge/npapi.h: + (_NPCocoaEvent::): + +2009-03-13 Kevin Decker <kdecker@apple.com> + + Reviewed by Anders. + + <rdar://problem/6630340> REGRESSION (39114-39115): Unity Web Player no longer works if Flip4Mac is also installed + + The code assumed if we have a plug-in that supports "application/x-oleobject" we should always prefer the object tag + over of an embed tag. That assumption can cause the Mac platform to load the wrong plug-in, as Flip4Mac claims supports + for x-oleobject. + + * rendering/RenderPartObject.cpp: + (WebCore::shouldUseEmbedDescendant): Made the Mac platform always return true here. + +2009-03-13 Jian Li <jianli@chromium.org> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=24559 + Need to port JSC fix (r41565) to V8 in order to fix layout test onload-single-line-comment.html. + + * bindings/v8/custom/V8LazyEventListener.cpp: + (WebCore::V8LazyEventListener::getListenerFunction): + (WebCore::V8LazyEventListener::getWrappedListenerFunction): + +2009-03-13 Jian Li <jianli@chromium.org> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=24557 + This is to support running multiple workers in a single worker process in chromium. + + * bindings/v8/custom/V8WorkerContextEventListener.cpp: + (WebCore::V8WorkerContextEventListener::handleEvent): + Add locker to v8 event listener of worker context. + +2009-03-13 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=24575 + XHR response is incorrect after a network error. + + Tests: http/tests/xmlhttprequest/cross-site-denied-response-sync-2.html + http/tests/xmlhttprequest/cross-site-denied-response-sync.html + http/tests/xmlhttprequest/cross-site-denied-response.html + + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::networkError): Call internalAbort() to fully reset the request. + (WebCore::XMLHttpRequest::didFailRedirectCheck): No need to call internalAbort() here. Note + that since internalAbort() can drop GC protection, it is not safe to use the object after + this call. + (WebCore::XMLHttpRequest::didReceiveData): Check that the request wasn't aborted, and + return early if it was. This can happen during sync requests, as the loader does not know + that it was aborted, and just synthesizes all callbacks. + +2009-03-13 Adam Bergkvist <adam.bergkvist@ericsson.com> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=3547 + XMLHttpRequest.statusText returns always "OK" + + Covered by existing tests (which now pass on all platforms but Mac). + + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::statusText): Return ResourceResponse status text. It is now up + to each platform to correctly set the status text or set it to "OK" to retain current + behavior. + +2009-03-13 Adam Bergkvist <adam.bergkvist@ericsson.com> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=24349 + [QT] HTTP status text is never set + + Set HTTP status text to the reason phrase attribute of QNetworkReply. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + +2009-03-12 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Mark Rowe + + <rdar://problem/6622300>: Reproducible crash on + <http://www.editgrid.com/explore/tnc/dave/FusionChart%3A_Candlestick> + + Prevent CSSStyleSheet::checkLoaded() writing to freed memory when it gets + deleted from under itself. The sheetLoaded() notification can allow scripts + to run via HTMLTokenizer::executeScriptsWaitingForStylesheets(), + which can cause the last ref to the CSSStyleSheet to be released. + + * css/CSSStyleSheet.cpp: + (WebCore::CSSStyleSheet::checkLoaded): + +2009-03-12 Kevin Ollivier <kevino@theolliviers.com> + + wx build fix. Allow make-generated-sources.sh to pass args down to DerivedSources.make + + * make-generated-sources.sh: + +2009-03-12 Adam Treat <adam.treat@torchmobile.com> + + Reviewed by Oliver Hunt. + + https://bugs.webkit.org/show_bug.cgi?id=24498 + Fix the Qt port to use the same algorithm for drawing dashed and dotted + borders as the other ports. This makes the Qt port pixel-for-pixel perfect + compared to border drawing with Apple's canonical mac port and much closer + to konqueror and firefox behavior. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::drawLine): + +2009-02-26 Eric Seidel <eric@webkit.org> + + Reviewed by Justin Garcia. + + Clean up DOMSelection to use some helper functions + making the code smaller, and less error-prone. + https://bugs.webkit.org/show_bug.cgi?id=19221 + + I tried moving DOMSelection off of rangeCompliantEquivalent + but failed. VisibleSelection holds positions like (table, 1) to mean + "after the table". + + * page/DOMSelection.cpp: + (WebCore::DOMSelection::visibleSelection): + (WebCore::anchorPosition): + (WebCore::focusPosition): + (WebCore::basePosition): + (WebCore::extentPosition): + (WebCore::DOMSelection::anchorNode): + (WebCore::DOMSelection::anchorOffset): + (WebCore::DOMSelection::focusNode): + (WebCore::DOMSelection::focusOffset): + (WebCore::DOMSelection::baseNode): + (WebCore::DOMSelection::baseOffset): + (WebCore::DOMSelection::extentNode): + (WebCore::DOMSelection::extentOffset): + * page/DOMSelection.h: + +2009-03-12 Dmitry Titov <dimich@chromium.org> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=24563 + Change ResourceRequest to be a struct rather then a class to match other declarations. + + * platform/network/chromium/ResourceRequest.h: + +2009-03-12 David Levin <levin@chromium.org> + + Reviewed by Darin Fisher. + + Bug 24530: width100percent-searchfield.html should be fixed for chromium. + <https://bugs.webkit.org/show_bug.cgi?id=24530> + + Compensate for r39924 in chromium, which broke LayoutTests/fast/replaced/width100percent-searchfield.html + + * css/themeChromiumWin.css: Added. + Overrides the changes to start supporting input[type="search"] on Windows (since + Chromium doesn't do anything special for this). + + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::supportsFocus): + (WebCore::RenderThemeChromiumWin::extraDefaultStyleSheet): + (WebCore::RenderThemeChromiumWin::determineState): + (WebCore::RenderThemeChromiumWin::getThemeData): + +2009-03-12 Greg Bolsinga <bolsinga@apple.com> + + Reviewed by Antti Koivisto. + + https://bugs.webkit.org/show_bug.cgi?id=24506 + Geolocation in Safari differs from the spec, no Coordinates attribute on Position + + Get up to date. + + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.pro: + * WebCore.scons: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * bindings/js/JSGeolocationCustom.cpp: + (WebCore::createPositionOptions): + * page/Coordinates.cpp: Added. + (WebCore::Coordinates::toString): + * page/Coordinates.h: Added. + (WebCore::Coordinates::create): + (WebCore::Coordinates::latitude): + (WebCore::Coordinates::longitude): + (WebCore::Coordinates::altitude): + (WebCore::Coordinates::accuracy): + (WebCore::Coordinates::altitudeAccuracy): + (WebCore::Coordinates::heading): + (WebCore::Coordinates::speed): + (WebCore::Coordinates::Coordinates): + * page/Coordinates.idl: Added. + * page/Geoposition.cpp: + (WebCore::Geoposition::toString): + * page/Geoposition.h: + (WebCore::Geoposition::create): + (WebCore::Geoposition::coords): + (WebCore::Geoposition::Geoposition): + * page/Geoposition.idl: + * page/PositionOptions.h: + (WebCore::PositionOptions::create): + (WebCore::PositionOptions::maximumAge): + (WebCore::PositionOptions::setMaximumAge): + (WebCore::PositionOptions::PositionOptions): + * platform/mac/GeolocationServiceMac.mm: + (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]): + +2009-03-12 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Fisher. + + https://bugs.webkit.org/show_bug.cgi?id=24496 + Fix console logging of non-string values by coercing the argument to + a string, for V8 bindings. + + Test: fast/js/console-non-string-values.html + + * bindings/v8/ScriptValue.cpp: Added toString method. + (WebCore::ScriptValue::toString): + * bindings/v8/ScriptValue.h: Added PlatformString, ScriptState includes + and toString declaration. + +2009-03-12 Darin Fisher <darin@chromium.org> + + Reviewed by Dimitri Glazkov. + + Eliminate ChromiumBridge::uiResourceProtocol + https://bugs.webkit.org/show_bug.cgi?id=24558 + + * platform/chromium/ChromiumBridge.h: + +2009-03-12 Greg Bolsinga <bolsinga@apple.com> + + Reviewed by Simon Fraser. + + Missing breaks in switch statement + https://bugs.webkit.org/show_bug.cgi?id=24556 + + * platform/mac/GeolocationServiceMac.mm: + (-[WebCoreCoreLocationObserver locationManager:didFailWithError:]): + +2009-03-12 Darin Fisher <darin@chromium.org> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=24554 + Remove some unused functions from ChromiumBridge. + + * platform/chromium/ChromiumBridge.h: + +2009-03-02 Eric Seidel <eric@webkit.org> + + Reviewed by Darin Fisher and Justin Garcia. + + Safari crashes during drag and drop in Google presentations + due to mutation event handlers removing DOM content during insertNode + https://bugs.webkit.org/show_bug.cgi?id=22634 + + Added a bunch of "null" checks to make sure nodes are still + in the document before we operate on them. This is an + inelegant solution, but it's the best we have for now. + + Test: editing/selection/crash-on-drag-with-mutation-events.html + + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::insertNodeAt): + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::doApply): + +2009-03-12 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Adam Treat. + + https://bugs.webkit.org/show_bug.cgi?id=24525 + REGRESSION: Inspector window doesn't close when inspected page is + destroyed. This is a revert of r41158, which became unnecessary when + InspectorController became ref-counted in r41462. + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::inspectedPageDestroyed): Reset m_inspectedPage + after calling close(). + (WebCore::InspectorController::stopUserInitiatedProfiling): Remove + m_inspectedPage check guard around profile logic. + +2009-03-12 Peter Kasting <pkasting@google.com> + + Reviewed by Darin Fisher. + + https://bugs.webkit.org/show_bug.cgi?id=24502 + Make horizontal scrolling on Windows always go the correct direction. + + * platform/PlatformWheelEvent.h: + * platform/win/WheelEventWin.cpp: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + +2009-03-12 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=24496 + Fix console logging of non-string values by coercing the argument to + a string. + + Test: fast/js/console-non-string-values.html + + * bindings/js/ScriptValue.cpp: Removed PlatformString include. + * bindings/js/ScriptValue.h: Added toString method. + (WebCore::ScriptValue::toString): + * page/Console.cpp: + (WebCore::getFirstArgumentAsString): Changed firstArgumentAsString method to use + ScriptValue::toString. + (WebCore::Console::addMessage): added extra ScriptState argument to callsite. + (WebCore::Console::count): Ditto. + +2009-03-12 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Adele Peterson. + + https://bugs.webkit.org/show_bug.cgi?id=24508 + + Fix updating of text field with placeholder text when value is set + by ensuring that updatePlaceholderVisibility() is called after + the value has been updated, not before. + + Test: fast/forms/placeholder-set-value.html + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::setValue): + +2009-03-12 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=24552 + + Hit testing involving normal flow, self-painting layers (e.g. reflections) + was broken because it was not null-testing the result of hitTestLayer(), + so bailing early with a nil hit layer. + + Test: fast/layers/normal-flow-hit-test.html + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::hitTestLayer): + +2009-03-12 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Cameron Zwarich. + + Removed zero-sized files, left over from improperly applied patch. + + * platform/graphics/chromium/ThemeHelperChromiumWin.cpp: Removed. + * platform/graphics/chromium/ThemeHelperChromiumWin.h: Removed. + +2009-03-12 Adam Treat <adam.treat@torchmobile.com> + + Reviewed by George Staikos. + + Do not ignore alpha color in optimization. Hard to believe, but there + are websites that fill the entire page with a tiled image consisting of + nothing but a 100% transparent 1x1 image. <cough>orbitz.com</cough> + + * platform/graphics/qt/ImageQt.cpp: + (WebCore::BitmapImage::checkForSolidColor): + +2009-03-12 Julien Chaffraix <jchaffraix@webkit.org> + + Reviewed by Darin Adler. + + Bug 24110: cloneNode should call cloneElement and not the reverse + + - Splitted the code from cloneNode into cloneElementWithChildren and cloneElementWithChildren. + Now cloneNode calls one of the 2 previous methods. + + - Renamed cloneElement to cloneElementWithoutChildren as it was the previous behaviour. + + - Moved cloneNode to the Element private section so that WebCore callers cannot use it. + + - Removed Element::cloneNode usage through WebCore. + + * dom/Element.cpp: + (WebCore::Element::cloneNode): Moved to Element's private section and it + now calls the two next methods. + (WebCore::Element::cloneElementWithChildren): Added. + (WebCore::Element::cloneElementWithoutChildren): Renamed from cloneElement + to avoid ambiguity. + * dom/Element.h: + + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Changed call to cloneElement + to call to cloneElementWithoutChildren. + * editing/BreakBlockquoteCommand.cpp: + (WebCore::BreakBlockquoteCommand::doApply): Ditto. + * editing/IndentOutdentCommand.cpp: + (WebCore::IndentOutdentCommand::indentRegion): Ditto. + * editing/InsertParagraphSeparatorCommand.cpp: + (WebCore::InsertParagraphSeparatorCommand::doApply): Ditto. + * editing/ModifySelectionListLevel.cpp: + (WebCore::IncreaseSelectionListLevelCommand::doApply): Ditto. + * editing/SplitElementCommand.cpp: + (WebCore::SplitElementCommand::doApply): Ditto. + * editing/markup.cpp: + (WebCore::createFragmentFromText): Ditto. + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::buildShadowTree): Ditto. + (WebCore::SVGUseElement::expandUseElementsInShadowTree): Ditto. + +2009-03-12 Dirk Schulze <krit@webkit.org> + + Reviewed by Oliver Hunt. + + Fixed a crash on the 1x1 pixel check for background image in gtk. + We need to load the image first and need to be sure that the image + is not null before checking the type. + + * platform/graphics/cairo/ImageCairo.cpp: + (WebCore::BitmapImage::checkForSolidColor): + +2009-03-12 Xan Lopez <xlopez@igalia.com> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=24544 + Rename setUrl to setURL + + Use proper case for setUrl method, rename it to setURL. + + * platform/network/ResourceResponseBase.cpp: + (WebCore::ResourceResponseBase::adopt): + * platform/network/ResourceResponseBase.h: + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::writeCallback): + (WebCore::headerCallback): + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::fillResponseFromMessage): + (WebCore::queryInfoCallback): + +2009-03-12 Xan Lopez <xlopez@igalia.com> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=24519 + [GTK] Use two argument KURL ctor in ResourceHandleSoup + + Use two argument KURL ctor, the single argument ctor expects its + input to be the output of a previous KURL::parse call, which is + not the case here. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::fillResponseFromMessage): + (WebCore::queryInfoCallback): + +2009-03-11 Jon Honeycutt <jhoneycutt@apple.com> + + Fix for <rdar://6418681> + https://bugs.webkit.org/show_bug.cgi?id=22644 + + Reviewed by Steve Falkenburg. + + * plugins/win/PluginPackageWin.cpp: + (WebCore::PluginPackage::isPluginBlacklisted): Add the Citrix ICA + Client plug-in to the blacklist; it requires a Mozilla-based browser. + +2009-03-12 Oliver Hunt <oliver@apple.com> + + Reviewed by NOBODY (build fix). + + build fix. + + * html/CanvasRenderingContext2D.h: + +2009-03-11 Oliver Hunt <oliver@apple.com> + + Reviewed by Adele Peterson. + + <rdar://problem/6673852> Widget "Simple World Clock" does not display with Safari 4 + + A number of dashboard widgets rely on canvas failing silently when given invalid + colors for gradient stops, but both the spec and firefox throw exceptions here. + So we work around this by creating a dashboard quirk that will only suppress the + exception in dashboard compatibility mode. + + Test: fast/canvas/canvas-gradient-addStop-error.html + + * html/CanvasGradient.cpp: + (WebCore::CanvasGradient::CanvasGradient): + (WebCore::CanvasGradient::addColorStop): + * html/CanvasGradient.h: + (WebCore::CanvasGradient::setDashboardCompatibilityMode): + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::prepareGradientForDashboard): + (WebCore::CanvasRenderingContext2D::createLinearGradient): + (WebCore::CanvasRenderingContext2D::createRadialGradient): + * html/CanvasRenderingContext2D.h: + +2009-03-11 David Kilzer <ddkilzer@apple.com> + + Clarify comments regarding order of FEATURE_DEFINES + + Rubber-stamped by Mark Rowe. + + * Configurations/WebCore.xcconfig: Added warning about the + consequences when FEATURE_DEFINES are not kept in sync. + +2009-03-11 Gustavo Noronha Silva <gns@gnome.org> + + Reviewed by Holger Freyther. + + https://bugs.webkit.org/show_bug.cgi?id=24515 + [GTK] soup backend should use GMappedFile instead of mmap directly + + Rewrite mmap code used to upload files to use GMappedFile, so that + it is platform-independent. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::ResourceHandle::startHttp): + +2009-03-11 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - WebCore part of fixing <rdar://problem/3919124> Thai text selection + in Safari is incorrect + + Test: platform/mac/editing/selection/word-thai.html + + Tested on Mac, but should work on all ICU platforms (or more precisely + on all platforms that implement + WTF::Unicode::hasLineBreakingPropertyComplexContext() correctly). + + * editing/TextIterator.cpp: + (WebCore::BackwardsCharacterIterator::BackwardsCharacterIterator): + Added. + (WebCore::BackwardsCharacterIterator::range): Added. + (WebCore::BackwardsCharacterIterator::advance): Added. + + * editing/TextIterator.h: Added BackwardsCharacterIterator with the + minimal functionality required for this patch. + (WebCore::BackwardsCharacterIterator::atEnd): Added. + + * editing/visible_units.cpp: + (WebCore::firstNonComplexContextLineBreak): Added this helper function + that returns the index of the first character in the string whose + Unicode line breaking property value is not SA ("Complex Context"), or + the length of the string if there is no such character. + (WebCore::lastNonComplexContextLineBreak): Added this helper function + that returns the index of the last character in the string whose + Unicode line breaking property value is not SA ("Complex Context"), or + -1 if there is no such character. + (WebCore::previousBoundary): Changed the signature of the search + function to include an offset parameter. Renamed the 'exception' local + variable to 'ec' and changed its type to ExceptionCode. Extend the + string forwards until the first character with Unicode line breaking + property value other than SA. This gives the boundary search function + enough context in the forward direction. Changed to use a + BackwardsCharacterIterator for translating the backwards offset into + a position. + (WebCore::nextBoundary): Changed the signature of the search + function to include an offset parameter. Extend the string backwards + until the first character with Unicode line breaking property value + other than SA. This gives the boundary search function enough context in + the backwards direction. Restricted the workaround for <rdar://5192593> + only to the line break case, because it was causing an extra character + to be selected following a word that ended with a combining mark. + (WebCore::startWordBoundary): Added an offset parameter. Check that + going backwards from the given offset, there is a character with Unicode + line breaking property value other than SA, and otherwise return 0 to + request more context. + (WebCore::endWordBoundary): Similar, but in reverse. + (WebCore::previousWordPositionBoundary): Similar. + (WebCore::nextWordPositionBoundary): Similar. + (WebCore::startSentenceBoundary): Updated for the new search function + signature. + (WebCore::endSentenceBoundary): Ditto. + (WebCore::previousSentencePositionBoundary): Ditto. + (WebCore::nextSentencePositionBoundary): Ditto. + +2009-03-11 Darin Adler <darin@apple.com> + + Reviewed by Mark Rowe. + + Don't use "::" in thread names because it is ugly! + + * loader/icon/IconDatabase.cpp: + (WebCore::IconDatabase::open): Use "WebCore: " instead of "WebCore::". + * platform/network/cf/ResourceHandleCFNet.cpp: + (WebCore::ResourceHandle::loaderRunLoop): Call this "WebCore: CFNetwork Loader" to make + it clear this is a WebCore-created thread. + * storage/DatabaseThread.cpp: + (WebCore::DatabaseThread::start): Use "WebCore: " instead of "WebCore::". + * storage/LocalStorageThread.cpp: + (WebCore::LocalStorageThread::start): Use "WebCore: " instead of "WebCore::". + * workers/WorkerThread.cpp: + (WebCore::WorkerThread::start): Use "WebCore: " instead of "WebCore::". + +2009-03-11 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Darin Adler. + + <rdar://problem/6653286> WebCore's implementation of screenIsMonochrome is needlessly complex + + * platform/mac/PlatformScreenMac.mm: + (WebCore::screenIsMonochrome): Return false. + +2009-03-11 Beth Dakin <bdakin@apple.com> + + Reviewed by Dan Bernstein. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=14749 percentage + top value on position:relative child not calculated correctly if + parent has percentage height + - and corresponding - + <rdar://problem/6172925> + + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::relativePositionOffsetY): + +2009-03-11 Jian Li <jianli@chromium.org> + + Reviewed by Dimitri Glazkov. + + Implement ScriptValue::hasNoValue for V8. + https://bugs.webkit.org/show_bug.cgi?id=24507 + + * bindings/v8/ScriptValue.h: + (WebCore::ScriptValue::hasNoValue): + +2009-03-11 David Levin <levin@chromium.org> + + Reviewed by Dimitri Glazkov. + + Bug 24459: Add v8 bindings for event. + <https://bugs.webkit.org/show_bug.cgi?id=24459> + + Adding custom event bindings. + + * bindings/v8/custom/V8AbstractEventListener.cpp: Added. + * bindings/v8/custom/V8AbstractEventListener.h: Added. + * bindings/v8/custom/V8AttrCustom.cpp: + Fixed messed up copyright header. + * bindings/v8/custom/V8CustomEventListener.cpp: Added. + * bindings/v8/custom/V8CustomEventListener.h: + Replaced forwarding header with the real implementation. + * bindings/v8/custom/V8ElementCustom.cpp: + * bindings/v8/custom/V8LazyEventListener.cpp: Added. + * bindings/v8/custom/V8LazyEventListener.h: Added. + * bindings/v8/custom/V8ObjectEventListener.cpp: Added. + * bindings/v8/custom/V8ObjectEventListener.h: Added. + * bindings/v8/custom/V8WorkerContextEventListener.cpp: Added. + * bindings/v8/custom/V8WorkerContextEventListener.h: Added. + +2009-03-11 Darin Fisher <darin@chromium.org> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=24521 + Add some missing includes for the non-JSC build. + + * platform/text/PlatformString.h: added OwnPtr.h + * xml/XMLHttpRequest.cpp: added SecurityOrigin.h + +2009-03-11 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler + + https://bugs.webkit.org/show_bug.cgi?id=24531 + + Make sure that AnimationControllerPrivate::getAnimatedStyleForRenderer() never + returns a null style if it has a valid renderer, which could happen if a + CompositeAnimation existed, but wasn't running any animations or transitions. + + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer): + +2009-03-11 Simon Fraser <simon.fraser@apple.com> + + Fix Scons build. Patch from Alexander Guy. + + * WebCore.scons: + +2009-03-11 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein + + https://bugs.webkit.org/show_bug.cgi?id=23093 + + When the cancel button in the search field is shown or hidden, + we need to explicitly setStyle() on the cancel button's renderer, + to ensure that repaint happens. Changing the style without telling + the renderer won't work. + + Test: fast/repaint/search-field-cancel.html + + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::subtreeHasChanged): + (WebCore::RenderTextControlSingleLine::updateFromElement): + (WebCore::RenderTextControlSingleLine::createCancelButtonStyle): + (WebCore::RenderTextControlSingleLine::updateCancelButtonVisibility): + (WebCore::RenderTextControlSingleLine::visibilityForCancelButton): + * rendering/RenderTextControlSingleLine.h: + +2009-03-11 Hironori Bono <hbono@chromium.org> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=15790 + Ligatures aren't accounted for when manipulating VisiblePositions + + Changed cursorMovementIterator rules to prevent a cursor from moving in the middle of an + Indic ligature which uses a virama sign. + + Test: editing/deleting/skip-virama-001.html + + * platform/text/TextBreakIteratorICU.cpp: + (WebCore::cursorMovementIterator): + +2009-03-11 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by George Staikos. + + https://bugs.webkit.org/show_bug.cgi?id=24513 + REGRESSION: Cursor movement doesn't work on Tiger (ICU 3.2) + + Fixes existing tests on Tiger. + + * platform/text/TextBreakIteratorICU.cpp: (WebCore::cursorMovementIterator): + Use characterBreakIterator on Tiger (like we used to do). + +2009-03-11 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Oliver Hunt. + + <rdar://problem/4072827> Downloaded non-ASCII file name becomes garbled + + * platform/network/mac/ResourceRequestMac.mm: + (WebCore::ResourceRequest::doUpdatePlatformRequest): Correct selector name + in instancesRespondToSelector. + +2009-03-11 Jan Michael Alonzo <jmalonzo@webkit.org> + + Reviewed by Holger Freyther. + + [GTK]DumpRenderTree doesn't compile for non-X11 GTK ports anymore + https://bugs.webkit.org/show_bug.cgi?id=2260 + + Add missing stdio.h include to get the build going + + * plugins/gtk/PluginPackageGtk.cpp: + +2009-03-10 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Ken Kocienda. + + * dom/Range.cpp: + (WebCore::Range::addLineBoxRects): If the range ended at [div, 0], addLineBoxRects + would include rects for the divs contents. Set the correct RenderObject to stop at. + +2009-03-10 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Sam Weinig. + + <rdar://problem/6123770> Restrict access to document.cookie when making a cross-site XHR + + * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseXML): Removed an incorrect + comment about cookie support. Firefox doesn't expose cookies on responseXML at all, and + there are security concerns with exposing them for cross-origin requests, so it's not clear + if we want to change anything here. + +2009-03-10 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler + + https://bugs.webkit.org/show_bug.cgi?id=24503 + + Fix hit testing of absolutely positioned single line text controls by + ensuring that we set result.innerNode() correctly. If the hit node is + a descendant of the inner text element or if it is the <input> itself, + then we say we hit the innerTextElement. + + Rename hitInnerTextBlock() to hitInnerTextElement() to match the + 'innerTextElement' terminology used elsewhere. + + Assert that if renderer()->hitTest() returns false, no-one set + result.innerNode(). + + Test: fast/forms/search-abs-pos-cancel-button.html + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::hitTestContents): + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::hitInnerTextElement): + * rendering/RenderTextControl.h: + * rendering/RenderTextControlMultiLine.cpp: + (WebCore::RenderTextControlMultiLine::nodeAtPoint): + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::nodeAtPoint): + +2009-03-10 Antti Koivisto <antti@apple.com> + + Reviewed by Mark Rowe. + + <rdar://problem/6668238> WebCore is registering text encodings needlessly from KURL constructor. + + Another case where we would trigger extended encoding loading needlessly. + + * platform/text/TextEncoding.cpp: + (WebCore::TextEncoding::isNonByteBasedEncoding): + +2009-03-10 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin Adler. + + Fix for <rdar://problem/6624769> REGRESSION (Safari 4 PB): No + scroll bar appears for long line of text with NOWRAP set + + This is a regression from http://trac.webkit.org/changeset/32226 + I talked with Dan about the original change, and we decided that + the best fix was to remove his small potential-optimization that + only created a separate line box for whitespace under certain + circumstances. This new code will always create a separate line + box. + + * rendering/bidi.cpp: + (WebCore::RenderBlock::layoutInlineChildren): + +2009-03-10 Sam Weinig <sam@webkit.org> + + Reviewed by Geoffrey Garen. + + Fix for <rdar://problem/6166844> + https://bugs.webkit.org/show_bug.cgi?id=24495 + + Use same rule for loading java applets as we do for images. + + * html/HTMLAppletElement.cpp: + (WebCore::HTMLAppletElement::createRenderer): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::loadItem): + +2009-03-10 Justin Garcia <justin.garcia@apple.com> + + Reviewed by David Kilzer. + + Get rid of revealCaret and use revealSelection instead. + + * WebCore.base.exp: + * editing/SelectionController.cpp: + (WebCore::SelectionController::setSelection): + * page/Frame.cpp: + (WebCore::Frame::revealSelection): + * page/Frame.h: + +2009-03-10 Cameron Zwarich <cwzwarich@uwaterloo.ca> + + Reviewed by Geoff Garen. + + Bug 23736: WebKit Crashes on http://g-conquest.fr/~server2 + <https://bugs.webkit.org/show_bug.cgi?id=23736> + <rdar://problem/6560278> + + Before replacing the document, FrameLoader::executeIfJavaScriptURL() + should call stopAllLoaders(), just like continueLoadAfterNavigationPolicy(). + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::executeIfJavaScriptURL): + +2009-03-10 Darin Adler <darin@apple.com> + + Reviewed by Alexey Proskuryakov. + + Bug 24494: crash when deleting at end of document and merging paragraphs + https://bugs.webkit.org/show_bug.cgi?id=24494 + rdar://problem/6571537 + + Test: editing/deleting/merge-at-end-of-document.html + + * dom/Range.cpp: + (WebCore::Range::compareBoundaryPoints): Split out assertion. It's better not to + use && in assertions since we'd like to know which condition is failing. + + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::applyInlineStyleToRange): Added a null check before + calling compareBoundaryPoints, since a 0 for the node is ambiguous and so the + function doesn't know which value to return. + +2009-03-10 Dirk Schulze <krit@webkit.org> + + Reviewed by Eric Seidel. Math checked by Oliver Hunt. + + Implement the Cairo version of the checkForSolidColor() method. This halfes the + time to draw on 1x1 px background images. + I added two new calls to Color for the pixel manipulation on cairo_surface's. + They are neede to premultiply/unpremultiply the colors of the surface. + + [CAIRO] Introduce single-pixel image optimizations + https://bugs.webkit.org/show_bug.cgi?id=17284 + + * platform/graphics/Color.cpp: + (WebCore::colorFromPremultipliedARGB): + (WebCore::premultipliedARGBFromColor): + * platform/graphics/Color.h: + * platform/graphics/cairo/ImageBufferCairo.cpp: + (WebCore::ImageBuffer::getImageData): + (WebCore::ImageBuffer::putImageData): + * platform/graphics/cairo/ImageCairo.cpp: + (WebCore::BitmapImage::checkForSolidColor): + +2009-03-06 Darin Fisher <darin@chromium.org> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=24437 + + Add support for registering noAccess URL schemes: + 1- Add FrameLoader::registerURLSchemeAsNoAccess, and have SecurityOrigin check + that list upon construction (similar to how isLocal is implemented). + 2- Make InspectorController call grantUniversalAccess on its Document's + SecurityOrigin at the time when windowScriptObjectAvailable is called. + + This enables content such as the inspector to be loaded from a custom (non-file) + URL, which is how Chromium loads the inspector. It also allows other URL schemes + to be treated like data: URLs, which Chromium utilizes for its various HTML-based + UI panels. + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::windowScriptObjectAvailable): + * loader/FrameLoader.cpp: + (WebCore::localSchemes): + (WebCore::noAccessSchemes): + (WebCore::FrameLoader::loadItem): + * loader/FrameLoader.h: + * page/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::SecurityOrigin): + (WebCore::SecurityOrigin::isLocal): + +2009-03-10 Xan Lopez <xlopez@igalia.com> + + Build fix, no review + + * page/mac/AccessibilityObjectWrapper.mm: + (textMarkerForVisiblePosition): + (visiblePositionForTextMarker): + +2009-03-10 Xan Lopez <xlopez@igalia.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=24491 + Rename posOffset to m_offset, get rid of accessor + + As suggested in dom/Position.h, this patch gets rid of the + 'offset()' accessor and renames posOffset to m_offset. I've used + m_offset instead of offset to follow the style guide lines, since + Position is still a class and not a structure. If the long term + plan is still to make it a structure it would be pretty easy to + just s/m_offset/offset/ globally when that is achieved. + + * dom/Position.cpp: + (WebCore::Position::previous): + (WebCore::Position::next): + (WebCore::Position::atStart): + (WebCore::Position::atEnd): + (WebCore::Position::renderedOffset): + (WebCore::Position::isCandidate): + (WebCore::Position::inRenderedText): + (WebCore::Position::isRenderedCharacter): + (WebCore::Position::rendersInDifferentPosition): + (WebCore::Position::leadingWhitespacePosition): + (WebCore::Position::debugPosition): + (WebCore::Position::formatForDebugger): + * dom/Position.h: + (WebCore::Position::Position): + * dom/PositionIterator.h: + (WebCore::PositionIterator::PositionIterator): + * dom/Range.cpp: + * dom/RangeBoundaryPoint.h: + (WebCore::RangeBoundaryPoint::position): + (WebCore::RangeBoundaryPoint::set): + (WebCore::RangeBoundaryPoint::setOffset): + (WebCore::RangeBoundaryPoint::setToChild): + (WebCore::RangeBoundaryPoint::setToStart): + (WebCore::RangeBoundaryPoint::setToEnd): + (WebCore::RangeBoundaryPoint::childBeforeWillBeRemoved): + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): + (WebCore::ApplyStyleCommand::applyInlineStyleToRange): + (WebCore::ApplyStyleCommand::removeInlineStyle): + (WebCore::ApplyStyleCommand::nodeFullySelected): + (WebCore::ApplyStyleCommand::nodeFullyUnselected): + (WebCore::ApplyStyleCommand::splitTextAtStartIfNeeded): + (WebCore::ApplyStyleCommand::splitTextAtEndIfNeeded): + (WebCore::ApplyStyleCommand::splitTextElementAtStartIfNeeded): + (WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded): + (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical): + (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical): + (WebCore::ApplyStyleCommand::joinChildTextNodes): + * editing/BreakBlockquoteCommand.cpp: + (WebCore::BreakBlockquoteCommand::doApply): + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::insertNodeAt): + (WebCore::CompositeEditCommand::positionOutsideTabSpan): + (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): + (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit): + (WebCore::CompositeEditCommand::deleteInsignificantText): + (WebCore::CompositeEditCommand::removePlaceholderAt): + (WebCore::CompositeEditCommand::moveParagraphs): + (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): + * editing/DeleteSelectionCommand.cpp: + (WebCore::updatePositionForNodeRemoval): + (WebCore::updatePositionForTextRemoval): + (WebCore::DeleteSelectionCommand::handleGeneralDelete): + (WebCore::DeleteSelectionCommand::fixupWhitespace): + * editing/Editor.cpp: + (WebCore::Editor::setComposition): + (WebCore::Editor::advanceToNextMisspelling): + (WebCore::Editor::getCompositionSelection): + * editing/InsertLineBreakCommand.cpp: + (WebCore::InsertLineBreakCommand::doApply): + * editing/InsertParagraphSeparatorCommand.cpp: + (WebCore::InsertParagraphSeparatorCommand::doApply): + * editing/InsertTextCommand.cpp: + (WebCore::InsertTextCommand::performTrivialReplace): + (WebCore::InsertTextCommand::input): + (WebCore::InsertTextCommand::insertTab): + * editing/MoveSelectionCommand.cpp: + (WebCore::MoveSelectionCommand::doApply): + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::doApply): + * editing/SelectionController.cpp: + (WebCore::SelectionController::debugRenderer): + * editing/TextIterator.cpp: + (WebCore::TextIterator::rangeFromLocationAndLength): + * editing/TypingCommand.cpp: + (WebCore::TypingCommand::deleteKeyPressed): + (WebCore::TypingCommand::forwardDeleteKeyPressed): + * editing/VisiblePosition.cpp: + (WebCore::VisiblePosition::characterAfter): + (WebCore::VisiblePosition::debugPosition): + (WebCore::makeRange): + (WebCore::setStart): + (WebCore::setEnd): + * editing/VisibleSelection.cpp: + (WebCore::VisibleSelection::toNormalizedRange): + (WebCore::makeSearchRange): + (WebCore::VisibleSelection::debugPosition): + (WebCore::VisibleSelection::showTreeForThis): + * editing/htmlediting.cpp: + (WebCore::comparePositions): + (WebCore::rangeCompliantEquivalent): + (WebCore::isFirstPositionAfterTable): + (WebCore::isLastPositionBeforeTable): + * editing/visible_units.cpp: + (WebCore::previousBoundary): + (WebCore::nextBoundary): + (WebCore::startPositionForLine): + (WebCore::startOfLine): + (WebCore::endPositionForLine): + (WebCore::nextLinePosition): + (WebCore::startOfParagraph): + (WebCore::endOfParagraph): + * page/AccessibilityObject.cpp: + (WebCore::updateAXLineStartForVisiblePosition): + * page/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::indexForVisiblePosition): + * page/DOMSelection.cpp: + (WebCore::DOMSelection::anchorOffset): + (WebCore::DOMSelection::baseOffset): + (WebCore::DOMSelection::focusOffset): + (WebCore::DOMSelection::extentOffset): + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMousePressEventSingleClick): + * page/Frame.cpp: + (WebCore::Frame::selectionLayoutChanged): + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::indexForVisiblePosition): + * rendering/RenderTreeAsText.cpp: + (WebCore::writeSelection): + +2009-03-10 Darin Adler <darin@apple.com> + + Reviewed by Dan Bernstein. + + Bug 23564: REGRESSION (r39230-39286): crash loading page that changes <input> display type and then calls innerHTML + https://bugs.webkit.org/show_bug.cgi?id=23564 + rdar://problem/6537238 + + Test: fast/dom/HTMLElement/innerHTML-selection-crash.html + + * editing/markup.cpp: (WebCore::createMarkup): Added updateLayoutIgnorePendingStylesheets + call to the one of the two overloads of this function that wasn't calling it. This fixes + this crash and other possible crashes inside innerHTML. + +2009-03-10 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=24285 + Text resource loading checks for BOM twice + + This removes TextDecoder class, since its only purpose was to check for BOM, which is + already done in TextResourceDecoder. Callers that use TextEncoding::decode() won't get + BOM checked, but I didn't find any cases where it would significantly change behavior. + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.scons: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + Remove TextDecoder.{h,cpp}. + + * platform/text/TextDecoder.cpp: Removed. + * platform/text/TextDecoder.h: Removed. + + * loader/TextResourceDecoder.h: Instead of a TextDecoder object, keep TextEncoding and + TextCodec separately. + + * loader/TextResourceDecoder.cpp: + (WebCore::TextResourceDecoder::TextResourceDecoder): Updated for m_encoding being a member. + (WebCore::TextResourceDecoder::setEncoding): Ditto. + (WebCore::TextResourceDecoder::checkForBOM): Removed a FIXME saying that a BOM could override + even a user-chosen encoding - this is how it already worked due to TextDecoder checking for + BOM again. Made this function return the detected BOM length. + (WebCore::TextResourceDecoder::decode): Skip the BOM if it was found at the beginning of + a text resource. + (WebCore::TextResourceDecoder::flush): Reset m_checkedForBOM, so that re-decoding the same + resource again (as frequently done by CachedResource subclasses) will skip the BOM correctly. + + * platform/text/TextEncoding.cpp: (WebCore::TextEncoding::decode): + Use TextCodec directly without a TextDecoder wrapper. This means that this method no longer + checks for BOM, which was a counter-intuitive feature. + + * loader/CachedScript.cpp: + (WebCore::CachedScript::CachedScript): + (WebCore::CachedScript::setEncoding): + (WebCore::CachedScript::encoding): + (WebCore::CachedScript::script): + * loader/CachedScript.h: + * loader/appcache/ManifestParser.cpp: + (WebCore::parseManifest): + Use TextResourceDecoder, as TextEncoding::decode() no longer checks for BOM. + A side effect of this is that these resources will now be subject to encoding auto-detection. + + * loader/CachedFont.cpp: (WebCore::CachedFont::ensureSVGFontData): + * page/Page.cpp: (WebCore::Page::userStyleSheet): + Be sure to flush TextResourceDecoder, pushing any remaining bytes out, and making the decoder + re-usable (for repeated decoding of the same resource). + + * platform/text/TextEncodingRegistry.h: Updated comments for newTextCodec(). + +2009-03-10 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=24488 + An assertion failure when updating an offline application cache after emptying caches + + Emptying appcache cannot be performed automatically, so no test. + + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): Ensure that the cache is in disk + storage, even if the application wasn't updated server side. + +2009-03-10 Oliver Hunt <oliver@apple.com> + + Reviewed by Alexey Proskuryakov. + + <rdar://problem/6425807> Implement WorkerUtils.importScripts() + <https://bugs.webkit.org/show_bug.cgi?id=22721> + + Implement importScripts, currently uses a series of synchronous loads + to fetch the scripts, but this is simpler than a synchronous load of + multiple loads in parallel. In future we'll want to switch to parallel + loading, but this will do for now. + + Test: http/tests/workers/worker-importScripts.html + + * GNUmakefile.am: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSWorkerContextCustom.cpp: + (WebCore::JSWorkerContext::importScripts): + * bindings/js/ScriptValue.h: + (WebCore::ScriptValue::hasNoValue): + * bindings/js/WorkerScriptController.cpp: + (WebCore::WorkerScriptController::evaluate): + (WebCore::WorkerScriptController::setException): + * bindings/js/WorkerScriptController.h: + * dom/Document.cpp: + (WebCore::Document::scriptImported): + * dom/Document.h: + * dom/ScriptExecutionContext.h: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::scriptImported): + * inspector/InspectorController.h: + * inspector/InspectorResource.cpp: + (WebCore::InspectorResource::setScriptProperties): + * inspector/InspectorResource.h: + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::scriptImported): + (WebCore::WorkerContext::importScripts): + * workers/WorkerContext.h: + * workers/WorkerContext.idl: + * workers/WorkerImportScriptsClient.cpp: Added. + (WebCore::WorkerImportScriptsClient::didReceiveResponse): + (WebCore::WorkerImportScriptsClient::didReceiveData): + (WebCore::WorkerImportScriptsClient::didFinishLoading): + (WebCore::WorkerImportScriptsClient::didFail): + (WebCore::WorkerImportScriptsClient::didFailRedirectCheck): + (WebCore::WorkerImportScriptsClient::didReceiveAuthenticationCancellation): + * workers/WorkerImportScriptsClient.h: Added. + (WebCore::WorkerImportScriptsClient::WorkerImportScriptsClient): + (WebCore::WorkerImportScriptsClient::script): + (WebCore::WorkerImportScriptsClient::failed): + +2009-03-10 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=24462 + Move cross-origin access control code out of XMLHttpRequest + + Step 1: move preflight result cache and access control helper functions. + + No change in behavior, so no test. + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.scons: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * loader/CrossOriginAccessControl.cpp: Added. + (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): + (WebCore::isSimpleCrossOriginAccessRequest): + (WebCore::createAllowedCrossOriginResponseHeadersSet): + (WebCore::isOnAccessControlResponseHeaderWhitelist): + (WebCore::passesAccessControlCheck): + * loader/CrossOriginAccessControl.h: Added. + * loader/CrossOriginPreflightResultCache.cpp: Added. + (WebCore::parseAccessControlMaxAge): + (WebCore::addToAccessControlAllowList): + (WebCore::parseAccessControlAllowList): + (WebCore::CrossOriginPreflightResultCacheItem::parse): + (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod): + (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders): + (WebCore::CrossOriginPreflightResultCacheItem::allowsRequest): + (WebCore::CrossOriginPreflightResultCache::shared): + (WebCore::CrossOriginPreflightResultCache::appendEntry): + (WebCore::CrossOriginPreflightResultCache::canSkipPreflight): + * loader/CrossOriginPreflightResultCache.h: Added. + (WebCore::CrossOriginPreflightResultCacheItem::CrossOriginPreflightResultCacheItem): + (WebCore::CrossOriginPreflightResultCache::CrossOriginPreflightResultCache): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData): + (WebCore::XMLHttpRequest::createRequest): + (WebCore::XMLHttpRequest::makeCrossOriginAccessRequest): + (WebCore::XMLHttpRequest::makeSimpleCrossOriginAccessRequest): + (WebCore::XMLHttpRequest::makeCrossOriginAccessRequestWithPreflight): + (WebCore::XMLHttpRequest::didReceiveResponse): + (WebCore::XMLHttpRequest::didReceiveResponsePreflight): + * xml/XMLHttpRequest.h: + +2009-03-10 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=19797 + Bring the list of forbidden headers in sync with XMLHttpRequest spec draft + + Added new checks to http/tests/xmlhttprequest/set-dangerous-headers.html. + + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData): Added all headers from + XMLHttpRequest 2 draft. + +2009-03-10 Dan Bernstein <mitz@apple.com> + + Reviewed by Adele Peterson. + + - fix https://bugs.webkit.org/show_bug.cgi?id=23975 + <rdar://problem/6593610> REGRESSION: Scrollbar arrow not repainted + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::invalidateScrollbarRect): Corrected the vertical + scrollbar rect calculation. + +2009-03-09 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein, Oliver Hunt + + https://bugs.webkit.org/show_bug.cgi?id=24475 + + When repainting replaced elements, need to union the selection + and overflow rects because either may extend outside the other. + + Test: fast/repaint/transform-replaced-shadows.html + + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::clippedOverflowRectForRepaint): + +2009-03-09 Stephanie Lewis <slewis@apple.com> + + Fix build. + + * editing/Editor.cpp: + (WebCore::Editor::advanceToNextMisspelling): + (WebCore::markAllMisspellingsAndBadGrammarInRanges): + +2009-03-09 Kim Christensen <kimworking@gmail.com> + + Reviewed by Darin Fisher. + + https://bugs.webkit.org/show_bug.cgi?id=24276 + Dropdown / select boxes do not consider the windows task bar in Chromium. + + * platform/chromium/PopupMenuChromium.cpp: + (WebCore::PopupContainer::showPopup): + +2009-03-09 Dan Bernstein <mitz@apple.com> + + Reviewed by Adele Peterson and Dave Hyatt. + + - fix <rdar://problem/6654344> REGRESSION (r41041): Zillow.com has + misaligned edit fields + + Test: fast/forms/legend-display-none.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::adjustRenderStyle): Change the display + property of legend elements to 'block' unless it is 'none'. + * css/html4.css: Do not force the display property of legend elements to + 'block' using CSS, because that prevents style rules from setting it to + 'none'. + +2009-03-09 Alpha Lam <hclam@chromium.org> + + Reviewed by Dave Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=23024 + + Fix an incorrect criteria in the if statement that leaves references to + deleted floating objects in RenderBlock. + + Test: fast/block/float/crash-on-absolute-positioning.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout): + +2009-03-09 Mike Belshe <mike@belshe.com> + + Reviewed by Eric Seidel. + + Unify JSC/V8 idl file. + https://bugs.webkit.org/show_bug.cgi?id=24424 + + * page/Location.idl: + +2009-03-09 Mike Belshe <mike@belshe.com> + + Reviewed by Eric Seidel. + + Unify JSC/V8 for History.idl. + + * page/History.idl: + +2009-03-09 Mike Belshe <mike@belshe.com> + + Reviewed by Eric Seidel. + + Unify JSC/V8 implementations of DOMWindow.idl. + + * page/DOMWindow.idl: + +2009-03-09 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=24163 + + Implement mapping of FloatQuads through 3D transforms. + + Removed the redundant localToContainerQuad() methods, which can now + shared code with the old mapLocalToAbsolutePoint(), which was + renamed to mapLocalToContainer(). This can now convert a point, + and optionally a FloatQuad, which are carried along in the TransformState. + + Optimized TransformState to reduce to simple FloatPoint.move() + if there are no transforms, and to heap-allocate a transform only if + necessary to accumulate transforms (when using preserve-3d). + + Tested by 3d point mapping tests, and the inspector highlight (which now shows + the correct quads for 3d-transformed elements). + + * platform/graphics/transforms/TransformationMatrix.cpp: + (WebCore::TransformationMatrix::projectQuad): + (WebCore::TransformationMatrix::translateRight): + (WebCore::TransformationMatrix::translateRight3d): + * platform/graphics/transforms/TransformationMatrix.h: + * rendering/RenderBox.cpp: + (WebCore::RenderBox::mapLocalToContainer): + (WebCore::RenderBox::mapAbsoluteToLocalPoint): + * rendering/RenderBox.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::localToAbsolute): + (WebCore::RenderObject::absoluteToLocal): + (WebCore::RenderObject::mapLocalToContainer): + (WebCore::RenderObject::localToContainerQuad): + * rendering/RenderObject.h: + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::mapLocalToContainer): + * rendering/RenderTableCell.h: + * rendering/RenderView.cpp: + (WebCore::RenderView::mapLocalToContainer): + * rendering/RenderView.h: + * rendering/TransformState.cpp: + (WebCore::TransformState::move): + (WebCore::TransformState::applyTransform): + (WebCore::TransformState::flatten): + (WebCore::TransformState::mappedPoint): + (WebCore::TransformState::mappedQuad): + (WebCore::TransformState::flattenWithTransform): + (WebCore::HitTestingTransformState::mappedQuad): + * rendering/TransformState.h: + (WebCore::TransformState::TransformState): + (WebCore::TransformState::move): + (WebCore::TransformState::lastPlanarPoint): + (WebCore::TransformState::lastPlanarQuad): + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::preserves3D): + +2009-03-09 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=24433 + + During hit testing with transforms, if a layer has backface-visibility: hidden, + we need to check for it whether or not the layer has a transform, because it + might be an ancestor that is transformed. + + Test: transforms/3d/hit-testing/backface-no-transform-hit-test.html + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::hitTestLayer): + +2009-03-09 Laszlo Gombos <laszlo.1.gombos@nokia.com> + + Reviewed by George Staikos. + + https://bugs.webkit.org/show_bug.cgi?id=24353 + Allow to overrule default build options for Qt build. + + * WebCore.pro: Allow to overrule ENABLE_VIDEO and ENABLE_NETSCAPE_PLUGIN_API + +2009-03-09 Adam Treat <adam.treat@torchmobile.com> + + Reviewed by George Staikos. + + https://bugs.webkit.org/show_bug.cgi?id=24463 + WebCore::qstring is detaching and copying twice for every single + WebCore::TextRun that is processed and drawn. This elevates this method + to one of the top-ten most expensive methods in all of QtWebKit according + to profiling. This changes the method so that QString only detaches + when absolutely necessary. + + * platform/graphics/qt/FontQt.cpp: + (WebCore::qstring): + (WebCore::fixSpacing): + (WebCore::Font::drawComplexText): + (WebCore::Font::floatWidthForComplexText): + (WebCore::Font::offsetForPositionForComplexText): + (WebCore::Font::selectionRectForComplexText): + +2009-03-08 Mark Rowe <mrowe@apple.com> + + Reviewed by Oliver Hunt. + + Split ScrollAlignment and ScrollBehavior out of RenderLayer.h so that + Frame.h no longer needs to include it. This cuts the size of the symbols + for a debug build by around 3%. + + * dom/Element.cpp: + (WebCore::Element::scrollIntoView): + (WebCore::Element::scrollIntoViewIfNeeded): + * editing/Editor.cpp: + (WebCore::Editor::insertTextWithoutSendingTextEvent): + (WebCore::Editor::revealSelectionAfterEditingOperation): + * editing/SelectionController.cpp: + (WebCore::SelectionController::setSelection): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::gotoAnchor): + * page/ContextMenuController.cpp: + (WebCore::ContextMenuController::contextMenuItemSelected): + * page/Frame.cpp: + (WebCore::Frame::revealSelection): + (WebCore::Frame::revealCaret): + * page/Frame.h: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::getRectToExpose): + (WebCore::RenderLayer::autoscroll): + * rendering/RenderLayer.h: + * rendering/ScrollBehavior.cpp: Added. + (WebCore::): + * rendering/ScrollBehavior.h: Added. + (WebCore::): + (WebCore::ScrollAlignment::getVisibleBehavior): + (WebCore::ScrollAlignment::getPartialBehavior): + (WebCore::ScrollAlignment::getHiddenBehavior): + + Add the new files to the build systems: + * GNUmakefile.am: + * WebCore.base.exp: + * WebCore.pro: + * WebCore.scons: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + + Add includes that were previously pulled in by way of RenderLayer.h from Frame.h: + * dom/Clipboard.cpp: + * editing/EditorCommand.cpp: + * editing/InsertLineBreakCommand.cpp: + * editing/TypingCommand.cpp: + * html/HTMLFormControlElement.cpp: + * loader/archive/cf/LegacyWebArchive.cpp: + * loader/icon/IconLoader.cpp: + * page/animation/AnimationController.cpp: + * rendering/RenderSlider.cpp: + * rendering/RenderTextControl.cpp: + + +2009-03-08 Mark Rowe <mrowe@apple.com> + + Reviewed Dan Bernstein. + + Push the include of Frame.h out of RenderView.h and down to those files + that need it. This cuts the size of symbols for RenderFoo object files + by around 15% in a debug build. + + * bindings/objc/DOM.mm: + * rendering/RenderFileUploadControl.cpp: + * rendering/RenderInline.cpp: + * rendering/RenderObject.cpp: + * rendering/RenderReplaced.cpp: + * rendering/RenderText.cpp: + * rendering/RenderView.cpp: + (WebCore::RenderView::zoomFactor): + * rendering/RenderView.h: + +2009-03-08 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Dan Bernstein. + + Remove some unnecessary or redundant includes from files related to the JS bindings. + This cuts the size of the symbols for a debug build by around 3%. + + * bindings/js/JSCustomPositionCallback.cpp: + * bindings/js/JSCustomPositionErrorCallback.cpp: + * bindings/js/JSCustomSQLStatementCallback.cpp: + * bindings/js/JSCustomSQLStatementErrorCallback.cpp: + * bindings/js/JSCustomSQLTransactionCallback.cpp: + * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: + * bindings/js/JSCustomVoidCallback.cpp: + * bindings/js/JSCustomXPathNSResolver.cpp: + * bindings/js/JSDocumentCustom.cpp: + * bindings/js/JSPluginElementFunctions.cpp: + * bindings/js/JSSVGPODTypeWrapper.h: + +2009-03-08 Cameron Zwarich <cwzwarich@uwaterloo.ca> + + Reviewed by Oliver Hunt. + + Remove the unused methods previousHistoryItem(), setPreviousHistoryItem() + and provisionalHistoryItem() from FrameLoader. + + * WebCore.base.exp: + * WebCore.order: + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::frameLoadCompleted): + (WebCore::FrameLoader::loadItem): + * loader/FrameLoader.h: + +2009-03-08 Gustavo Noronha Silva <gns@gnome.org> + + Reviewed by Holger Freyther. + + Implement proper logging for the GTK+ port, inspired by the one in + Qt. We use the WEBKIT_DEBUG environment variable which was already + being used to decide whether to setup a logger for soup or not. + + * platform/gtk/LoggingGtk.cpp: + (WebCore::getChannelFromName): + (WebCore::InitializeLoggingChannelsIfNecessary): + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::ensureSessionIsInitialized): + +2009-03-07 Dan Bernstein <mitz@apple.com> + + Reviewed by Mark Rowe. + + - WebCore part of removing build-time and run-time support for legacy + versions of CFNetwork and Core Graphics + + * platform/graphics/win/FontCGWin.cpp: + (WebCore::Font::drawGlyphs): + * platform/graphics/win/FontCustomPlatformData.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + * platform/graphics/win/FontPlatformDataCGWin.cpp: + (WebCore::FontPlatformData::platformDataInit): + * platform/network/cf/FormDataStreamCFNet.cpp: + (WebCore::setHTTPBody): + (WebCore::httpBodyFromRequest): + * platform/network/cf/ResourceHandleCFNet.cpp: + (WebCore::didSendBodyData): + (WebCore::shouldUseCredentialStorageCallback): + (WebCore::ResourceHandle::start): + * platform/network/win/CookieJarCFNetWin.cpp: + (WebCore::filterCookies): + +2009-03-07 Adele Peterson <adele@apple.com> + + Reviewed by Dan Bernstein. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=24444 + No multiple JS property for <input type="file" multiple /> + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::multiple): + (WebCore::HTMLInputElement::setMultiple): + * html/HTMLInputElement.h: + * html/HTMLInputElement.idl: + +2009-03-07 Xan Lopez <xan@gnome.org> + + Reviewed by Holger Freyther. + + https://bugs.webkit.org/show_bug.cgi?id=24358 + [GTK] Scrollbars not clipped correctly + + ScrollView scrollbars in subframes are *not* native, so take that + into account again. + + * platform/gtk/ScrollbarGtk.cpp: + (ScrollbarGtk::getLocationInParentWindow): + (ScrollbarGtk::frameRectsChanged): + (ScrollbarGtk::paint): + * platform/gtk/ScrollbarGtk.h: + +2009-03-06 Peter Kasting <pkasting@google.com> + + Reviewed by Darin Fisher. + + https://bugs.webkit.org/show_bug.cgi?id=24405 + Horizontal scrolling on Windows was reversed from Mac (and intuition). + + * platform/gtk/WheelEventGtk.cpp: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + * platform/win/WheelEventWin.cpp: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + +2009-03-06 Peter Kasting <pkasting@google.com> + + Reviewed by Sam Weinig. + + Convert some C-style casts to static_cast<>()s. + + * platform/gtk/WheelEventGtk.cpp: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + * platform/mac/WheelEventMac.mm: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + * platform/win/WheelEventWin.cpp: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + * platform/wx/MouseWheelEventWx.cpp: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + +2009-03-06 Adele Peterson <adele@apple.com> + + Reviewed by Oliver Hunt. + + Fix for <rdar://problem/6607524> REGRESSION (Safari 3-4): I can't tab back to the URL field in an empty window (key loop is broken) + + I haven't been able to make a test for this since the problem is not reproducible within an empty iframe. + + * page/EventHandler.cpp: (WebCore::eventTargetNodeForDocument): We used to ensure that every html document had a body element. + That is no longer true, so we should return the document element for a truly empty document. + +2009-03-06 Jay Campan <jcampan@google.com> + + Reviewed by Darin Fisher. + + https://bugs.webkit.org/show_bug.cgi?id=24306 + + Adding a flag to ResourceRequestBase to indicate whether or not upload + progress notifications are needed for a resource. This is useful to + avoid sending these notifications when there are no consumers + (especially in the Chromium case where IPC is involved). + + * platform/network/ResourceRequestBase.h: + (WebCore::ResourceRequestBase::reportUploadProgress): + (WebCore::ResourceRequestBase::setReportUploadProgress): + (WebCore::ResourceRequestBase::ResourceRequestBase): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::loadRequestAsynchronously): + +2009-03-06 Dmitry Titov <dimich@chromium.org> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=24150 + Add virtual ScriptExecutionContext::encoding() + + Test: http/tests/workers/text-encoding.html + + * dom/Document.cpp: + (WebCore::Document::encoding): + * dom/Document.h: + (WebCore::Document::inputEncoding): + (WebCore::Document::charset): + (WebCore::Document::characterSet): + Add new virtual method and route DOM synonym functions on Document through it. + + * dom/ScriptExecutionContext.h: + * workers/Worker.cpp: + (WebCore::Worker::Worker): + (WebCore::Worker::notifyFinished): + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::WorkerContext): + (WebCore::WorkerContext::encoding): + (WebCore::WorkerContext::completeURL): Added comment on why this is different from Document::completeURL + * workers/WorkerContext.h: + (WebCore::WorkerContext::create): + * workers/WorkerContextProxy.h: + * workers/WorkerMessagingProxy.cpp: + (WebCore::WorkerMessagingProxy::startWorkerContext): + * workers/WorkerMessagingProxy.h: + * workers/WorkerThread.cpp: + (WebCore::WorkerThreadStartupData::create): + (WebCore::WorkerThreadStartupData::WorkerThreadStartupData): + (WebCore::WorkerThread::create): + (WebCore::WorkerThread::WorkerThread): + (WebCore::WorkerThread::workerThread): + * workers/WorkerThread.h: + All of the above route the 'encoding' parameter of parent context to the new + instance of WorkerContext - from Worker::notifyFinished() via WorkerMessagingProxy + through WorkerThread through WorkerThreadStartupData and into constructor of WorkerContext. + +2009-03-06 Peter Kasting <pkasting@google.com> + + Build bustage fix. + + * dom/Node.cpp: + (WebCore::Node::dispatchWheelEvent): + +2009-03-06 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Antti Koivisto. + + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::createQTMovieView): Delay callback while setting up movieview. + +2009-03-06 Douglas R. Davidson <ddavidso@apple.com> + + Reviewed by Justin Garcia. + + https://bugs.webkit.org/show_bug.cgi?id=24108 + + Update spelling and grammar checking to use the new combined text + checking (with automatic language identification) on Snow Leopard. + Tested manually in Mail and Safari; automated tests to come later. + + * editing/Editor.cpp: + (WebCore::findFirstMisspellingOrBadGrammarInRange): + (WebCore::Editor::advanceToNextMisspelling): + (WebCore::guessesForMisspelledOrUngrammaticalRange): + (WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection): + (WebCore::Editor::markMisspellingsAfterTypingToPosition): + (WebCore::markAllMisspellingsAndBadGrammarInRanges): + (WebCore::Editor::markMisspellingsAndBadGrammar): + * editing/Editor.h: + * loader/EmptyClients.h: + (WebCore::EmptyEditorClient::checkSpellingAndGrammarOfParagraph): + * page/EditorClient.h: + * page/Frame.cpp: + (WebCore::Frame::respondToChangedSelection): + * platform/ContextMenu.cpp: + (WebCore::ContextMenu::populate): + +2009-03-06 Peter Kasting <pkasting@google.com> + + Reviewed by Darin Fisher. + + https://bugs.webkit.org/show_bug.cgi?id=24407 + Windows scroll amount was too small, and wheel scroll distance + conversion code was overly complex. + + * page/EventHandler.cpp: + (WebCore::scrollAndAcceptEvent): + * platform/PlatformWheelEvent.h: + (WebCore::): + * platform/ScrollView.cpp: + (WebCore::ScrollView::wheelEvent): + * platform/Scrollbar.h: + * platform/gtk/WheelEventGtk.cpp: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + * platform/mac/WheelEventMac.mm: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + * platform/qt/WheelEventQt.cpp: + * platform/win/WheelEventWin.cpp: + (WebCore::horizontalScrollChars): + (WebCore::verticalScrollLines): + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + * platform/wx/MouseWheelEventWx.cpp: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + +2009-03-06 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Adam Roben. + + Generate valid bindings with HTML5 database support disabled. + + * inspector/InspectorController.idl: Added feature guard around + databaseTableNames definition. + +2009-03-04 Xan Lopez <xan@gnome.org> + + Reviewed by Holger Freyther. + + https://bugs.webkit.org/show_bug.cgi?id=24358 + [GTK] Scrollbars not clipped correctly + + Do not take into account the case of being a ScrollView scrollbar, + since those are native in our case. + + * platform/gtk/ScrollbarGtk.cpp: + (ScrollbarGtk::frameRectsChanged): + +2009-03-04 Xan Lopez <xan@gnome.org> + + Reviewed by Holger Freyther. + + https://bugs.webkit.org/show_bug.cgi?id=24358 + [GTK] Scrollbars not clipped correctly + + Move Widget::paint to ScrollbarGtk::paint, since it's scrollbar + specific and it's our only Widget anyway. + + * platform/gtk/ScrollbarGtk.cpp: + (ScrollbarGtk::paint): + * platform/gtk/ScrollbarGtk.h: + * platform/gtk/WidgetGtk.cpp: + +2009-03-04 Xan Lopez <xan@gnome.org> + + Reviewed by Holger Freyther. + + https://bugs.webkit.org/show_bug.cgi?id=24358 + [GTK] Scrollbars not clipped correctly + + Use correct clip rectangle and apply coordinate translation needed + for non-ScrollView scrollbars. + + We were ignoring the clip rectangle passed as parameter, which is + wrong in the case of non coalesced expose events. This, in turn, + uncovers the fact that we were not applying coordinate translation + to our position. + + * platform/gtk/WidgetGtk.cpp: + (WebCore::Widget::paint): + +2009-03-06 Eric Carlson <eric.carlson@apple.com> + + Build fix, no review + + * platform/graphics/chromium/MediaPlayerPrivateChromium.h: fix setSize declaration + +2009-03-06 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=22790 + Bug 22790: [Transforms] MediaPlayer::setRect() makes no sense with transforms + Replace media engine setRect with setSize since they don't use about the + position anyway. + + * platform/graphics/MediaPlayer.cpp: + (WebCore::NullMediaPlayerPrivate::setSize): Changed from setRect. + (WebCore::MediaPlayer::setSize): Ditto. + * platform/graphics/MediaPlayer.h: + (WebCore::MediaPlayer::size): Changed from rect(). + + * platform/graphics/MediaPlayerPrivate.h: Changed setRect to setSize. + + * platform/graphics/chromium/MediaPlayerPrivateChromium.h: Ditto. + + * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_size instead of m_rect + (WebCore::MediaPlayerPrivate::setSize): Changed from setRect + (WebCore::MediaPlayerPrivate::paint): update comment + * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: m_rect -> m_size. + + * platform/graphics/mac/MediaPlayerPrivateQTKit.h: m_rect + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_rect. + (WebCore::MediaPlayerPrivate::createQTMovieView): setRect-> setSize. + (WebCore::MediaPlayerPrivate::setSize): Changed from setRect + (WebCore::MediaPlayerPrivate::paint): Call view:setFrame: when in a media document so + the movie is drawn in the correct location. + + * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: + (WebCore::MediaPlayerPrivate::setSize): Changed from setRect + * platform/graphics/qt/MediaPlayerPrivatePhonon.h: + + * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: + (WebCore::MediaPlayerPrivate::setSize): Changed from setRect + * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: + + * rendering/RenderVideo.cpp: + (WebCore::RenderVideo::updatePlayer): Call setSize instead of setRect. + +2009-03-06 Darin Adler <darin@apple.com> + + Reviewed by Darin Fisher. + + Bug 24422: REGRESSION: null-URL crash in FrameLoader setting location.hash on new window + https://bugs.webkit.org/show_bug.cgi?id=24422 + rdar://problem/6402208 + + Test: fast/dom/location-new-window-no-crash.html + + The issue here is empty (or null) URLs. I picked the "schedule navigation" bottleneck + to add some checks for empty URLs. We could also put the empty URL checks at some + other bottleneck level and add more assertions over time. I tried adding a few more + assertions to functions like loadURL and hit them while running the regression tests, + so it's probably going to be a bit tricky to clean this up throughout the loader. + + * loader/FrameLoader.cpp: + (WebCore::ScheduledRedirection::ScheduledRedirection): Explicitly marked this struct + immutable by making all its members const. Added assertions about the arguments, + including that the URL is not empty. Initialized one uninitialized member in one of + the constructors. + (WebCore::FrameLoader::scheduleHTTPRedirection): Added an early exit to make this + a no-op if passed an empty URL. + (WebCore::FrameLoader::scheduleLocationChange): Ditto. + (WebCore::FrameLoader::scheduleRefresh): Ditto. + +2009-03-06 Gustavo Noronha Silva <gns@gnome.org> + + Reviewed by Holger Freyther. + + https://bugs.webkit.org/show_bug.cgi?id=24423 + Use new soup_message_body_set_accumulate API in soup backend + + Disable accumulating chunks for request_body on file uploads, + using the new soup API. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::ResourceHandle::startHttp): + +2009-03-06 Gustavo Noronha Silva <gns@gnome.org> + + Reviewed by Holger Freyther. + + Replace use of deprecated SOUP_MESSAGE_OVERWRITE_CHUNKS flag with + the new soup_message_body_set_accumulate API in soup. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::gotHeadersCallback): + (WebCore::ResourceHandle::startHttp): + +2009-03-06 Gustavo Noronha Silva <gns@gnome.org> + + Reviewed by Holger Freyther. + + https://bugs.webkit.org/show_bug.cgi?id=24051 + Soup backend needs content sniffing capabilities + + Perform content sniffing when using soup, so that we have a chance + of figuring out the Content-Type of the file if it's not sent by + the server. + + * platform/network/ResourceHandleInternal.h: + (WebCore::ResourceHandleInternal::ResourceHandleInternal): + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::gotHeadersCallback): + (WebCore::gotChunkCallback): + +2009-03-06 Hironori Bono <hbono@chromium.org> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=24342 + Cannot insert a Thai character after a Thai prepend character when using ICU 4.0 + + This change creates a new break iterator "cursorMovementIterator" for + moving cursors and use it when moving an input cursor. + In "TextBreakIteratorICU.cpp", this break iterator uses custom ruleset + based on the one of ICU 3.8. + On the other hand, in "TextBreakIteratorQt.cpp", this break iterator + just calls the characterBreakIterator() function. + + Test: editing/inserting/insert-thai-characters-001.html + + * platform/text/TextBreakIterator.h: Added a new function cursorMovementIterator(). + * platform/text/TextBreakIteratorICU.cpp: Implemented the cursorMovementIterator() function for ICU. + (WebCore::setUpIteratorWithRules): Ditto. + (WebCore::cursorMovementIterator): Ditto. + * platform/text/qt/TextBreakIteratorQt.cpp: Implemented the cursorMovementIterator() function for Qt. + (WebCore::cursorMovementIterator): Ditto. + * rendering/RenderText.cpp: Call the cursorMovementIterator() function when moving an input cursor. + (WebCore::RenderText::previousOffset): Ditto. + (WebCore::RenderText::nextOffset): Ditto. + +2009-03-05 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Oliver Hunt. + + <rdar://problem/6621701> Safari 4 Beta Breaks XMLHttpRequest Response Text With Special + Characters (a compatibility issue with widgets). + + Test: http/tests/xmlhttprequest/broken-xml-encoding.html + + Revert part of an Acid 3 fix - now we are no longer strict when decoding XMLHttpRequest XML + responses. + + * loader/TextResourceDecoder.cpp: + (WebCore::TextResourceDecoder::TextResourceDecoder): + (WebCore::TextResourceDecoder::decode): + (WebCore::TextResourceDecoder::flush): + * loader/TextResourceDecoder.h: + (WebCore::TextResourceDecoder::useLenientXMLDecoding): + Don't stop on XML decoding errors if useLenientXMLDecoding() was called. + + * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didReceiveData): Don't stop on XML + decoding errors. This behavior is now limited to other kinds of XML content. + +2009-03-05 Simone Fiorentino <simone.fiorentino@consulenti.fastweb.it> + + Bug 24382: request to add SH4 platform + + <https://bugs.webkit.org/show_bug.cgi?id=24382> + + Reviewed by David Kilzer. + + * platform/text/AtomicString.cpp: + (WebCore::equal): Aligned memory access on SH4 platform. + +2009-03-05 Jeremy Moskovich <jeremy@chromium.org> + + Reviewed by Simon Fraser. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=24215 + + Gears expects an object tag with display:none to instantiate the plugin, + so we add a workaround to make this work and fix Gears on WebKit trunk. + + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::rendererIsNeeded): + +2009-03-05 Avi Drissman <avi@chromium.org> + + Reviewed by Darin Fisher. + + Need to have Chromium Mac match Safari Mac's accesskey handling + https://bugs.webkit.org/show_bug.cgi?id=24404 + + * page/chromium/EventHandlerChromium.cpp: + (WebCore::EventHandler::accessKeyModifiers): Share access key modifiers with Mac Safari when building for the Mac. + +2009-03-05 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=24412 + + Fix crash when hit-testing elements with -webkit-transform-style: preserve-3d + but no transform. We need to make localTransformState if we see preserve-3d. + Also need to call update3DTransformedDescendantStatus() before we test + m_has3DTransformedDescendant. + + Test: transforms/3d/hit-testing/hit-preserves-3d.html + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::hitTestLayer): + +2009-03-05 Eric Seidel <eric@webkit.org> + + Reviewed by David Hyatt. + + Changes to RenderLayer destruction to hopefully help catch an elusive crasher + https://bugs.webkit.org/show_bug.cgi?id=24409 + + Added a new RenderBoxModelObject::destroyLayer() call which is + now the only way which RenderLayers should ever be destroyed. + This ensures that the pointer to the layer is cleared in the + RenderObject after destruction, allowing us to ASSERT in the + RenderBoxModelObject destructor. + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::~RenderBoxModelObject): + (WebCore::RenderBoxModelObject::destroyLayer): + (WebCore::RenderBoxModelObject::destroy): + (WebCore::RenderBoxModelObject::styleDidChange): + * rendering/RenderBoxModelObject.h: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::stackingContext): + (WebCore::RenderLayer::destroy): + (WebCore::RenderLayer::removeOnlyThisLayer): + * rendering/RenderLayer.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::destroy): + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::destroy): + +2009-03-05 Eric Seidel <eric@webkit.org> + + Reviewed by David Hyatt. + + Remove old, unused IE 5.5 scrollbar-* CSS properties. + Sort the unimplemented getComputedStyle properties so it's + easier to see which ones actually need implementation. + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + * css/CSSPropertyNames.in: + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + +2009-03-05 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Darin Adler. + + WebViewDidChangeSelectionNotifications weren't being sent for commands that change the selection's position + within the document without changing its position in the DOM. For example, pressing return in (caret marked by ^): + <div contentEditable="true"><div>^Hello</div></div> + Undo was being enabled, shouldDeleteDOMRange called, etc. when doing no-op deletes (a delete in an empty document + for example). + + Changes to layout tests demonstrate fix. + + * editing/EditCommand.cpp: + (WebCore::EditCommand::apply): Don't call applyEditing for a TypingCommand. The TypingCommand knows whether or + not it did work that needs to be applied. + * editing/Editor.cpp: + (WebCore::Editor::appliedEditing): Moved code (but did not alter) to changeSelectionAfterCommand. + (WebCore::Editor::unappliedEditing): Ditto. + (WebCore::Editor::reappliedEditing): Ditto. + (WebCore::Editor::changeSelectionAfterCommand): Moved code from *appliedEditing into here. Also call out to + EditorClient::respondToChangedSelection() for commands that changed the selection's position in the document + even if they did not change it's position in the DOM. Any TypingCommand that gets this far changed it's position + in the document. + * editing/Editor.h: + * editing/TypingCommand.cpp: + (WebCore::TypingCommand::TypingCommand): Removed unused m_appliedEditing. + (WebCore::TypingCommand::typingAddedToOpenCommand): Always apply editing. We won't get this far if we don't need to. + (WebCore::TypingCommand::deleteKeyPressed): Don't do any of the things that only make sense for Range selections, like + adding to the killring and responding to a change in selections if the delete was a no-op. + (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto. + * editing/TypingCommand.h: + +2009-03-05 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Adam Roben. + + Eliminate a ref-counting leak in InspectorController. + + * inspector/InspectorController.h: Made constructor private, added static create method. + * page/Page.cpp: + (WebCore::Page::Page): Change initializer to use static create method. + +2009-03-05 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Timothy Hatcher. + + https://bugs.webkit.org/show_bug.cgi?id=24355 + Add InspectorController.idl and convert InspectorController.cpp to use + JSC bindings. + + * DerivedSources.make: Added InspectorController.idl + * WebCore.xcodeproj/project.pbxproj: Added idl, bindings files. + * bindings/js/JSInspectorControllerCustom.cpp: Added. + * bindings/scripts/CodeGeneratorJS.pm: Added Array to no-header types. + * inspector/InspectorController.cpp: Removed hand-rolled bindings. + * inspector/InspectorController.h: Added platform and addSourceToFrame methods. + * inspector/InspectorController.idl: Added. + * page/Page.h: Changed member to RefPtr since InspectorController is now ref-counted. + +2009-03-05 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=24400 + Bug 24400: Remove "start", "end", "loopStart", "loopEnd", "currentLoop", and "playCount" + media element attributes + + Test: media/video-loop.html + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::HTMLMediaElement): + (WebCore::HTMLMediaElement::loadInternal): + (WebCore::HTMLMediaElement::setNetworkState): + (WebCore::HTMLMediaElement::seek): + (WebCore::HTMLMediaElement::playInternal): + (WebCore::HTMLMediaElement::loop): + (WebCore::HTMLMediaElement::setLoop): + (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): + (WebCore::HTMLMediaElement::endedPlayback): + (WebCore::HTMLMediaElement::updatePlayState): + * html/HTMLMediaElement.h: + * html/HTMLMediaElement.idl: + +2009-03-05 Steve Falkenburg <sfalken@apple.com> - 2009-02-19 Anders Carlsson <andersca@apple.com> + <rdar://problem/6651112> Safari asks about re-posting a form even when page is cached + + Reviewed by Ada Chan. + + * platform/network/cf/ResourceHandleCFNet.cpp: + (WebCore::ResourceHandle::willLoadFromCache): Ported from Mac version. + +2009-03-05 David Hyatt <hyatt@apple.com> + + Reviewed by Eric Seidel + + https://bugs.webkit.org/show_bug.cgi?id=24248 + + Make sure painting of overflow controls checks that visibility:visible is set on the block before + painting. Pixel tests caught this regression. + + Make sure resizer painting pushes a clip of the corner rect. It was relying on the clip layers happened + to do to their bounds (which had nothing to do with overflow). + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::paint): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::paintResizer): + +2009-03-05 Yong Li <yong.li@torchmobile.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=24386 + A faster implementation of extractMIMETypeFromMediaType. + + * platform/network/HTTPParsers.cpp: + (WebCore::extractMIMETypeFromMediaType): + +2009-03-05 Yong Li <yong.li@torchmobile.com> + + Reviewed by Antti Koivisto. + + https://bugs.webkit.org/show_bug.cgi?id=24392 + Do not get the current time for unless we're doing PRELOAD_DEBUG as this + can be unnecessarily expensive. + + * html/PreloadScanner.cpp: + (WebCore::PreloadScanner::write): + +2009-03-04 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=24327 + + When mapping points and hit testing through transforms, work + correctly when acclerated animations of transforms are running. + + Tested by LayoutTests/animations/animation-hit-test-transform.html, + which only failed when ACCELERATED_COMPOSITING was turned on. + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::currentTransform): + * rendering/RenderLayer.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::transformFromContainer): + +2009-03-05 Mike Belshe <mike@belshe.com> + + Reviewed by Darin Fisher. + + https://bugs.webkit.org/show_bug.cgi?id=24391 + Frame.cpp uses JSC specific includes + + * page/Frame.cpp: + +2009-03-05 Gustavo Noronha Silva <gns@gnome.org> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=24389 + WebKitGTK+ crashes when cancelling plugin loads + + Remove bogus calls to the client's didFinishLoading method from + our ResourceHandle::cancel implementation. Calling + didFinishLoading here is mostly inoffensive for most loads, but + causes crashes when plugin loads are cancelled. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::ResourceHandle::cancel): + +2009-03-05 Steve Falkenburg <sfalken@apple.com> + + Windows build fix. + + * WebCore.vcproj/QTMovieWin.vcproj: + +2009-03-05 Adam Treat <adam.treat@torchmobile.com> + + Build fix for when ENABLE_NETSCAPE_PLUGIN_API = 0. The method + ScriptController::jsObjectForPluginElement(HTMLPlugInElement*); is not + protected by an #if and uses HTMLPlugInElement so it must be included. + + * bindings/js/ScriptController.cpp: + +2009-03-05 Dimitri Glazkov <dglazkov@chromium.org> + + GTK Build fix. + + * inspector/ConsoleMessage.h: Use proper header. + +2009-03-05 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Timothy Hatcher. + + https://bugs.webkit.org/show_bug.cgi?id=24376 + Split InspectorController.cpp file into separate classes. + + * GNUmakefile.am: Modified to include new files. + * WebCore.pro: Ditto. + * WebCore.scons: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * WebCoreSources.bkl: Ditto. + * inspector/ConsoleMessage.cpp: Added. + * inspector/ConsoleMessage.h: Added. + * inspector/InspectorController.cpp: + * inspector/InspectorDOMStorageResource.cpp: Added. + * inspector/InspectorDOMStorageResource.h: Added. + * inspector/InspectorDatabaseResource.cpp: Added. + * inspector/InspectorDatabaseResource.h: Added. + * inspector/InspectorResource.cpp: Added. + * inspector/InspectorResource.h: Added. + +2009-03-05 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Darin Adler + + https://bugs.webkit.org/show_bug.cgi?id=24387 + Remove media element bufferingRate attribute. No test necessary as there + were none for this attribute. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::HTMLMediaElement): Don't initialize m_bufferingRate. + (WebCore::HTMLMediaElement::loadInternal): Ditto. + (WebCore::HTMLMediaElement::setNetworkState): Ditto. + (WebCore::HTMLMediaElement::progressEventTimerFired): Don't calculate m_bufferingRate. + * html/HTMLMediaElement.h: Remove m_bufferingRate. + * html/HTMLMediaElement.idl: Ditto. + +2009-03-05 Xan Lopez <xan@gnome.org> + + Reviewed by Mark Rowe. + + https://bugs.webkit.org/show_bug.cgi?id=24377 + [GTK] Comply better with coding style guidelines in ResourceHandleSoup + + Use C++ booleans, 0 instead of NULL, prefix boolean variables with + 'is', do not use 'else if' if the previous if had a return, delete + trailing whitespace, etc. + + * platform/network/ResourceHandleInternal.h: + (WebCore::ResourceHandleInternal::ResourceHandleInternal): + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): + (WebCore::fillResponseFromMessage): + (WebCore::restartedCallback): + (WebCore::finishedCallback): + (WebCore::parseDataUrl): + (WebCore::ensureSessionIsInitialized): + (WebCore::ResourceHandle::startHttp): + (WebCore::reportUnknownProtocolError): + (WebCore::ResourceHandle::start): + (WebCore::cleanupGioOperation): + (WebCore::closeCallback): + (WebCore::readCallback): + (WebCore::openCallback): + (WebCore::queryInfoCallback): + (WebCore::ResourceHandle::startGio): + +2009-03-04 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Eric Seidel + + https://bugs.webkit.org/show_bug.cgi?id=24328 + + If an element has backface-visibility: hidden, hit testing should not + hit the back sides of elements. Test for that by inverting the accumulated + transform and looking at the z vector. + + Tested by transforms/3d/hit-testing/backface-hit-test.html + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::hitTestLayer): + +2009-03-04 Adam Langley <agl@google.com> + + Reviewed by Darin Fisher. + + r41362 mistakenly added functions "RenderThemeWin::" into + RenderThemeChromiumGtk.cpp. When correcting this, I somehow changed + them to void return types. This patch switches them back to ints. + + https://bugs.webkit.org/show_bug.cgi?id=24360 + + * rendering/RenderThemeChromiumLinux.cpp: + (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingLeft): + (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingRight): + (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingTop): + (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingBottom): + +2009-03-04 Adam Langley <agl@google.com> + + Reviewed by Darin Fisher. + + Chromium Linux: change some metrics to better match Windows after + r41416. Aesthetically this may be worse, but web-compat is king. + + Also, the previous code had an off by one error when drawing + scrollbars which caused the scrollbar to overflow it's bounds by 1px + at the right and bottom edges. + + https://bugs.webkit.org/show_bug.cgi?id=24369 + + * rendering/RenderThemeChromiumLinux.cpp: + (WebCore::): + (WebCore::RenderThemeChromiumLinux::systemFont): + * platform/chromium/ScrollbarThemeChromiumLinux.cpp: + (WebCore::ScrollbarThemeChromium::paintTrackPiece): + +2009-03-04 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Roben. + + Add an ASSERT to better demonstrate the cause of the crash in + https://bugs.webkit.org/show_bug.cgi?id=23736 + + * loader/DocLoader.cpp: + (WebCore::DocLoader::~DocLoader): + +2009-03-04 David Levin <levin@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Bug 24337: Assert when doing sync XHR in a worker for a cacheable response. + <https://bugs.webkit.org/show_bug.cgi?id=24337> + + Tests: http/tests/xmlhttprequest/access-control-basic-denied-preflight-cache.html + http/tests/xmlhttprequest/workers/xmlhttprequest-file-not-found.html + + * loader/mac/ResourceLoaderMac.mm: + (WebCore::ResourceLoader::willCacheResponse): + An identifier is only asssigned if resource load callbacks are done. So don't send + willCacheResponse which uses identifier if resource load callbacks aren't being sent. + +2009-03-04 David Levin <levin@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Bug 24330: Sync xhr in workers should send an abort exception when the worker is terminated. + <https://bugs.webkit.org/show_bug.cgi?id=24330> + + Test: http/tests/xmlhttprequest/workers/abort-exception-assert.html + + * dom/ExceptionCode.cpp: + (WebCore::xmlHttpRequestExceptionNames): + Added missing ABORT_ERR whose absence caused an assert. + + * loader/WorkerThreadableLoader.cpp: + (WebCore::WorkerThreadableLoader::loadResourceSynchronously): + (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel): + Add more logic to handle the termination case for sync xhr. + +2009-03-04 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Antti Koivisto. + + https://bugs.webkit.org/show_bug.cgi?id=24364 + Add support for HTMLMediaElement canPlayType method. Make + MediaPlayer::supportsType take a ContentType instead of a + separate mime type and codecs parameter. + + Test: media/video-can-play-type.html + + * dom/DOMImplementation.cpp: + (WebCore::DOMImplementation::createDocument): + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::canPlayType): Add canPlayType method. + (WebCore::HTMLMediaElement::loadInternal): selectMediaURL returns a ContentType. + (WebCore::HTMLMediaElement::selectMediaURL): Return a ContentType instead of raw MIME type. + (WebCore::HTMLMediaElement::initialURL): selectMediaURL returns a ContentType. + * html/HTMLMediaElement.h: Add prototype. + * html/HTMLMediaElement.idl: Ditto. + * platform/graphics/MediaPlayer.cpp: + (WebCore::MediaPlayer::load): Take a ContentType instead of raw MIME type. + (WebCore::MediaPlayer::supportsType): Ditto. + * platform/graphics/MediaPlayer.h: + +2009-03-04 Antti Koivisto <antti@apple.com> + + Reviewed by Dave Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=24359 + Repaint throttling mechanism + + Excessive repainting can slow down page loadind. This implements a timer + based throttling mechanism. It is behind ENABLE(REPAINT_THROTTLING) and not + enabled by default. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::checkCompleted): + * page/EventHandler.cpp: + (WebCore::EventHandler::dispatchDragEvent): + (WebCore::EventHandler::dispatchMouseEvent): + (WebCore::EventHandler::keyEvent): + (WebCore::EventHandler::handleTextInputEvent): + * page/FrameView.cpp: + (WebCore::FrameView::FrameView): + (WebCore::FrameView::reset): + (WebCore::FrameView::repaintContentRectangle): + (WebCore::FrameView::beginDeferredRepaints): + (WebCore::FrameView::endDeferredRepaints): + (WebCore::FrameView::checkStopDelayingDeferredRepaints): + (WebCore::FrameView::doDeferredRepaints): + (WebCore::FrameView::updateDeferredRepaintDelay): + (WebCore::FrameView::resetDeferredRepaintDelay): + (WebCore::FrameView::adjustedDeferredRepaintDelay): + (WebCore::FrameView::deferredRepaintTimerFired): + (WebCore::FrameView::paintContents): + * page/FrameView.h: + +2009-03-04 Sam Weinig <sam@webkit.org> + + Rubber-stamped by Antti Koivisto. + + Remove LOW_BANDWIDTH_DISPLAY as it is not being used by any platforms. + + * dom/Document.cpp: + (WebCore::Document::Document): + * dom/Document.h: + (WebCore::Document::haveStylesheetsLoaded): + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::scriptHandler): + * loader/Cache.cpp: + (WebCore::Cache::requestResource): + * loader/CachedCSSStyleSheet.cpp: + (WebCore::CachedCSSStyleSheet::checkNotify): + * loader/DocLoader.h: + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::FrameLoader): + (WebCore::FrameLoader::requestFrame): + (WebCore::FrameLoader::stopLoading): + (WebCore::FrameLoader::begin): + (WebCore::FrameLoader::write): + (WebCore::FrameLoader::endIfNotLoadingMainResource): + (WebCore::FrameLoader::checkCompleted): + (WebCore::FrameLoader::requestObject): + (WebCore::FrameLoader::loadItem): + * loader/FrameLoader.h: + +2009-03-02 Xan Lopez <xan@gnome.org> + + Reviewed by Mark Rowe. + + https://bugs.webkit.org/show_bug.cgi?id=24287 + [GTK] Move auth dialog feature to WebKit/ + + Remove WebKitSoupAuthDialog files from build and stop using it. + + * GNUmakefile.am: + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::ensureSessionIsInitialized): + * platform/network/soup/webkit-soup-auth-dialog.c: Removed. + * platform/network/soup/webkit-soup-auth-dialog.h: Removed. + +2009-03-04 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=24361 + + Reinstate code that sets result.innerNode when hitTest() returns true, + but never filled in the innerNode. Fixes hit testing of generated content. + + Test: fast/css-generated-content/hit-test-generated-content.html + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::hitTestContents): + +2009-03-04 Adam Barth <abath@webkit.org> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=24356 + + Fix WebKit style for allowUniversalAccessFromFileURLs. + + * WebCore.base.exp: + * dom/Document.cpp: + (WebCore::Document::initSecurityContext): + * page/Settings.cpp: + (WebCore::Settings::Settings): + (WebCore::Settings::setAllowUniversalAccessFromFileURLs): + * page/Settings.h: + (WebCore::Settings::allowUniversalAccessFromFileURLs): + +2009-03-04 Brady Eidson <beidson@apple.com> + + Reviewed by Darin Adler + + <rdar://problem/6619630> Quick Look of vCards stuck on image of first card opened. + + I narrowed this down to http://trac.webkit.org/changeset/39304 which, among other things, + consolidated some of the various decision making pieces of the Cache into the new method + FrameLoader::cachePolicy(). + + Before 39304, when deciding whether to use an existing CachedResource, we checked if the FrameLoader + is reloading. If it is, we'd evict any existing resource then recreate it. Quick looks uses the + same URL for this image every time and expects it to be reloaded with each new card. + + The FrameLoader::isReloading() check did one thing - Ask the DocumentLoader if it's cache policy + is "ReloadIgnoringCacheData". This check was lost in the consolidation to the new method. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::cachePolicy): Restore the DocumentLoader's cachePolicy check as a possible + condition for returning CachePolicyReload. + +2009-03-04 Timothy Hatcher <timothy@apple.com> + + * English.lproj/localizedStrings.js: Update strings to include "DATABASES", + "LOCAL STORAGE" and "SESSION STORAGE". + +2009-03-04 Timothy Hatcher <timothy@apple.com> + + Fix a regression where the Web Inspector console would not animate + in or out correctly. + + Reviewed by Anders Carlsson. + + * inspector/front-end/inspector.css: Move a z-index to a child element + to get the correct stacking order during the animation. + +2009-03-03 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=24201, pathologically bad block layout. + + Make sure to factor clear deltas into y position estimates. Also avoid doing the comparison of + the final position against the y position estimate until after the clear has happened. This gets rid + of some duplicated cut/pasted code and also ensures a layout delta only has to be put in once. + + Reviewed by Dan Bernstein + + Added fast/block/float/nested-clearance.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::collapseMargins): + (WebCore::RenderBlock::clearFloatsIfNeeded): + (WebCore::RenderBlock::estimateVerticalPosition): + (WebCore::RenderBlock::layoutBlockChildren): + (WebCore::RenderBlock::getClearDelta): + * rendering/RenderBlock.h: + +2009-03-02 Kim Grönholm <kim.gronholm@nomovok.com> + + Reviewed by Simon Hausmann. + + Improvement to 3d transformations rendering in QtWebKit. QTransform is used + instead of QMatrix. This allows perspective transformations since QTransform is + a true 3x3 matrix. + + * platform/graphics/qt/GraphicsContextQt.cpp: Use QTransform instead of QMatrix everywhere. + (WebCore::GraphicsContext::getCTM): + (WebCore::GraphicsContext::restorePlatformState): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::translate): + (WebCore::GraphicsContext::rotate): + (WebCore::GraphicsContext::scale): + (WebCore::GraphicsContext::concatCTM): + * platform/graphics/qt/ImageQt.cpp: + (WebCore::Image::drawPattern): + * platform/graphics/qt/PathQt.cpp: + (WebCore::Path::translate): + (WebCore::Path::transform): + * platform/graphics/qt/PatternQt.cpp: + (WebCore::Pattern::createPlatformPattern): + * platform/graphics/qt/TransformationMatrixQt.cpp: + (WebCore::TransformationMatrix::operator QTransform): Replace the conversion operator + to QMatrix with one to QTransform. + * platform/graphics/transforms/TransformationMatrix.h: + * platform/graphics/qt/FontQt.cpp: + +2009-02-24 Laszlo Gombos <laszlo.1.gombos@nokia.com> + + Reviewed by Simon Hausmann. + + https://bugs.webkit.org/show_bug.cgi?id=24151 + Fix Qt/S60 build break + + * platform/FileSystem.h: Create a default case for non-win and non-mac Qt builds + * platform/qt/FileSystemQt.cpp: Ditto + (WebCore::unloadModule): + +2009-03-03 Mike Belshe <mike@belshe.com> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=21939 + Uninitialized ExceptionCode in DOMWindow::postMessage + + * dom/MessagePort.cpp: + (WebCore::MessagePort::postMessage): + +2009-03-03 David Kilzer <ddkilzer@apple.com> + + <rdar://problem/6581203> WebCore and WebKit should install the same set of headers during installhdrs phase as build phase + + Reviewed by Mark Rowe. + + The fix is to add INSTALLHDRS_COPY_PHASE = YES and + INSTALLHDRS_SCRIPT_PHASE = YES to WebCore.xcconfig, then to make + sure various build phase scripts work with the installhdrs build + phase. + + * Configurations/Base.xcconfig: Defined REAL_PLATFORM_NAME + based on PLATFORM_NAME to work around the missing definition on + Tiger. + * Configurations/WebCore.xcconfig: Added + JAVASCRIPTCORE_PRIVATE_HEADERS_DIR variable to simplify logic in + the "Generate Derived Sources" script. Added + INSTALLHDRS_COPY_PHASE = YES and INSTALLHDRS_SCRIPT_PHASE = YES. + + * WebCore.xcodeproj/project.pbxproj: + - Added shell code to prevent running "Check For Global + Initializers", "Check For Exit Time Destructors" and "Check + For Weak VTables" scripts during the installhdrs build phase. + - Made "Generate Derived Sources" work for the installhdrs build + phase. Also simplified setting of CREATE_HASH_TABLE by using + JAVASCRIPTCORE_PRIVATE_HEADERS_DIR. + +2009-03-02 Adam Langley <agl@google.com> + + Reviewed by Darin Fisher. + + Chromium Linux: Switch to using Skia to render widgets. + + In order to sandbox the Chromium renderer on Linux we need to remove + the X connection. GTK cannot render without an X connection so, for + now, we render widgets ourselves. + + Previously didn't use anti-alias fonts in order to match Windows font + rendering exactly. This was helpful when bootstrapping our layout + tests. Now, however, we are ready to enable it. + + https://bugs.webkit.org/show_bug.cgi?id=24244 + + * platform/chromium/ScrollbarThemeChromium.cpp: + (WebCore::ScrollbarThemeChromium::buttonSize): + * platform/chromium/ScrollbarThemeChromiumLinux.cpp: + (WebCore::ScrollbarThemeChromium::scrollbarThickness): + (WebCore::ScrollbarThemeChromium::paintTrackPiece): + (WebCore::ScrollbarThemeChromium::paintButton): + (WebCore::ScrollbarThemeChromium::paintThumb): + * platform/graphics/chromium/FontPlatformDataLinux.cpp: + (WebCore::FontPlatformData::setupPaint): + * platform/graphics/skia/PlatformContextSkia.cpp: + (PlatformContextSkia::PlatformContextSkia): + (PlatformContextSkia::~PlatformContextSkia): + * platform/graphics/skia/PlatformContextSkia.h: + * rendering/RenderThemeChromiumGtk.cpp: Removed. + * rendering/RenderThemeChromiumGtk.h: Removed. + * rendering/RenderThemeChromiumLinux.cpp: Added. + * rendering/RenderThemeChromiumLinux.h: Added. + +2009-03-03 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Fisher. + + https://bugs.webkit.org/show_bug.cgi?id=24261 + Fix return types. + + Test: LayoutTests/dom/svg/level3/xpath/XPathEvaluator_evaluate_TYPE_ERR.svg + + * bindings/v8/V8Binding.h: + (WebCore::toInt32): change return type to int + (WebCore::toFloat): change return type to float. + +2009-03-03 Anders Carlsson <andersca@apple.com> + + Reviewed by John Sullivan. + + https://bugs.webkit.org/show_bug.cgi?id=22884 + <rdar://problem/6449783> + modified layout test crashes Safari + + Null check NPStream before dereferencing it. + + * plugins/PluginView.cpp: + (WebCore::PluginView::destroyStream): + +2009-03-03 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Simon Fraser. + + Fix for <rdar://problem/6641045> + Don't call QTKit to get movie properties until movie metadata has been loaded. + + * platform/graphics/mac/MediaPlayerPrivateQTKit.h: + (WebCore::MediaPlayerPrivate::metaDataAvailable): defined + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::createQTTime): return default if !metaDataAvailable. + (WebCore::MediaPlayerPrivate::play): Ditto. + (WebCore::MediaPlayerPrivate::pause): Ditto. + (WebCore::MediaPlayerPrivate::duration): Ditto. + (WebCore::MediaPlayerPrivate::currentTime): Ditto. + (WebCore::MediaPlayerPrivate::seek): Ditto. + (WebCore::MediaPlayerPrivate::seekTimerFired): Ditto. + (WebCore::MediaPlayerPrivate::paused): Ditto. + (WebCore::MediaPlayerPrivate::seeking): Ditto. + (WebCore::MediaPlayerPrivate::naturalSize): Ditto. + (WebCore::MediaPlayerPrivate::hasVideo): Ditto. + (WebCore::MediaPlayerPrivate::setVolume): Ditto. + (WebCore::MediaPlayerPrivate::setRate): Ditto. + (WebCore::MediaPlayerPrivate::dataRate): Ditto. + (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto. + (WebCore::MediaPlayerPrivate::totalBytes): Ditto. + +2009-03-03 Kevin McCullough <kmccullough@apple.com> + + - Spelling fix. + + * page/Console.cpp: + (WebCore::Console::profile): + +2009-03-03 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Fisher. + + https://bugs.webkit.org/show_bug.cgi?id=23657 + Remove Database API callback IDLs from the project. + They were removed in r40633. + + * WebCore.xcodeproj/project.pbxproj: Removed IDL files from the project. + +2009-03-03 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Oliver Hunt. + + <rdar://problem/6639110> console.profile() doesn't work without a title + + * page/Console.cpp: + (WebCore::Console::profile): If there is no title assume this is a user + initiated profile and give it the next incremented title name. + +2009-03-03 Timothy Hatcher <timothy@apple.com> + + Fix a regression that broke dirxml and caused an ASSERT in debug builds. Also simplified + the console code and refactored things to have fewer code paths and duplication. + + rdar://problem/6367127 + https://bugs.webkit.org/show_bug.cgi?id=24329 + + Reviewed by Kevin McCullough. + + Test: manual-tests/inspector/console-dir.html + + * bindings/js/JSInspectedObjectWrapper.cpp: + (WebCore::JSInspectedObjectWrapper::wrap): Use the lexicalGlobalObject instead of dynamicGlobalObject + to fix an ASSERT about using a wrapper from the wrong ExecState. + * bindings/js/JSQuarantinedObjectWrapper.cpp: + (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper): Ditto. + (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom): Ditto. + * inspector/front-end/Console.js: + (WebInspector.Console.prototype._format): Remove the inline argument and add forceObjectFormat. + When forceObjectFormat is true, the only formatter used is _formatobject. + (WebInspector.Console.prototype._formatvalue): Remove the inline argument. + (WebInspector.Console.prototype._formatstring): Ditto. + (WebInspector.Console.prototype._formatregexp): Ditto. + (WebInspector.Console.prototype._formatarray): Ditto. + (WebInspector.Console.prototype._formatnode): Remove the inline argument and make a DOM tree instead of an anchor. + (WebInspector.Console.prototype._formatobject): Remove the inline argument and always make a property graph. + (WebInspector.Console.prototype._formaterror): Remove the inline argument. + (WebInspector.ConsoleMessage): Remove the case for MessageLevel.Node and + simplify the case for MessageLevel.Object to use the normal _format code path with the %O formatter. + (WebInspector.ConsoleMessage.prototype._format.formatForConsole): Don't pass an additional true argument for inline. + (WebInspector.ConsoleMessage.prototype._format.formatAsObjectForConsole): Added. Pass a true argument for forceObjectFormat. + (WebInspector.ConsoleMessage.prototype._format): Added support for the %O formatter. Use formatForConsole for all arguments. + (WebInspector.ConsoleMessage.prototype.toString): Add the other message levels. + * inspector/front-end/inspector.css: Tweak styles to look and work correctly. + * inspector/front-end/utilities.js: + (Object.type): Return "node" for Node objects. + (Object.describe): Handle the "node" type. + * page/Console.cpp: + (WebCore::printMessageSourceAndLevelPrefix): Fix an assert by adding the other message level types. + (WebCore::Console::dirxml): Use the standard log fuction since it prints a DOM tree for nodes by default. + * page/Console.h: + (WebCore::enum MessageLevel): Removed NodeMessageLevel. Added a FIXME. + +2009-03-03 Scott Violet <sky@google.com> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=24325 + Crash on replacing document contents during drop. + + Makes sure a node is in the document during a move before using it. + + Test: fast/events/crash-on-mutate-during-drop.html + + * editing/MoveSelectionCommand.cpp: + (WebCore::MoveSelectionCommand::doApply): + +2009-03-03 Jungshik Shin <jshin@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23028 + Enable dynamic web font support to Chromium on Windows. + Files that were omitted by mistake in the latest patch + that was landed. + + * loader/CachedFont.cpp: + (WebCore::CachedFont::~CachedFont): + (WebCore::CachedFont::ensureCustomFontData): + (WebCore::CachedFont::platformDataFromCustomData): + (WebCore::CachedFont::allClientsRemoved): + * platform/graphics/chromium/FontCustomPlatformData.cpp: + (WebCore::EOTStream::EOTStream): + (WebCore::createFontCustomPlatformData): + * platform/graphics/win/FontCustomPlatformData.cpp: + (WebCore::EOTStream::EOTStream): + (WebCore::createFontCustomPlatformData): + +2009-03-03 Gustavo Noronha Silva <gns@gnome.org> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=16826 + [Gtk] Implement WebKitDownload + + Make the Soup backend able to handle requests without a frame, + since we may have such things now that we support downloads. + + * platform/network/ResourceHandleInternal.h: + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::ResourceHandle::start): + +2009-03-03 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=24331 + Add custom V8 bindings for Element, Attr, HTMLFrame, and HTMLIFrame. + + * bindings/v8/custom/V8AttrCustom.cpp: Added. + * bindings/v8/custom/V8CustomBinding.cpp: Added. + * bindings/v8/custom/V8CustomBinding.h: Added attribute-checking helpers. + * bindings/v8/custom/V8ElementCustom.cpp: Added. + * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: Added. + * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: Added. + +2009-03-03 Brady Eidson <beidson@apple.com> + + Reviewed by Darin Adler + + <rdar://problem/6616664> - Quick looks of various file types is broken + + In http://trac.webkit.org/changeset/40553 there was an attempt to prevent NSURLRequest churn + for non-HTTP loads when the underlying ResourceRequest changed. Unfortunately it was a little + overzealous as the mainDocumentURL is relevant for all loads, not only HTTP/HTTPS loads. + + Partially reverted behavior to always set the mainDocumentURL in situations when we would've + before that patch. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::addExtraFieldsToRequest): + + * platform/network/ResourceRequestBase.cpp: + (WebCore::ResourceRequestBase::setMainDocumentURL): + +2009-03-03 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=24256 + + Added a WebCoreForceSoftwareAnimation flag. + + * platform/graphics/mac/GraphicsLayerCA.mm: + (WebCore::forceSoftwareAnimation): + (WebCore::GraphicsLayerCA::setOpacity): + (WebCore::GraphicsLayerCA::animateTransform): + (WebCore::GraphicsLayerCA::animateFloat): + +2009-03-02 Chris Marrin <cmarrin@apple.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=24257 + + Added prototype properties for several classes with constructors that + were missing them, including the one mentioned in the bug. + + Test: fast/dom/Window/custom-constructors.html + + * bindings/js/JSAudioConstructor.cpp: + (WebCore::JSAudioConstructor::JSAudioConstructor): + * bindings/js/JSDOMWindowBase.cpp: + (jsDOMWindowBaseWebKitCSSMatrix): + * bindings/js/JSImageConstructor.cpp: + (WebCore::JSImageConstructor::JSImageConstructor): + * bindings/js/JSOptionConstructor.cpp: + (WebCore::JSOptionConstructor::JSOptionConstructor): + * bindings/js/JSWebKitCSSMatrixConstructor.cpp: + (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): + * bindings/js/JSWebKitCSSMatrixConstructor.h: + * bindings/js/JSWebKitPointConstructor.cpp: + (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor): + * bindings/js/JSWorkerConstructor.cpp: + (WebCore::JSWorkerConstructor::JSWorkerConstructor): + +2009-03-03 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Fisher. + + https://bugs.webkit.org/show_bug.cgi?id=24321 + Add V8 bindings headers. + + * bindings/v8/V8Binding.h: Added. + * bindings/v8/V8Proxy.h: Added. + * bindings/v8/custom/V8CustomBinding.h: Added. + * bindings/v8/custom/V8CustomEventListener.h: Added. + +2009-03-03 Jungshik Shin <jshin@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23803 + Fix an 'off-by-1' error in ChromiumWin's font fallback. + + * platform/graphics/chromium/FontCacheChromiumWin.cpp: + (WebCore::FontCache::getFontDataForCharacters): + +2009-03-03 Jungshik Shin <jshin@chromium.org> + + Reviewed by Eric Seidel. + + http://bugs.webkit.org/show_bug.cgi?id=23028 + Enable dynamic web font support to Chromium on Windows: Part 1 + - Move OpenTypeUtilities.{cpp,h} to platform/graphics/opentype + from platform/graphics/win because both Windows port and Chromium Windows + port will use them. + - Adjust WebCore.vcproj accordingly. + + * WebCore.vcproj/WebCore.vcproj: + * platform/graphics/opentype: Added. + * platform/graphics/opentype/OpenTypeUtilities.cpp: Copied from WebCore/platform/graphics/win/OpenTypeUtilities.cpp. + * platform/graphics/opentype/OpenTypeUtilities.h: Copied from WebCore/platform/graphics/win/OpenTypeUtilities.h. + * platform/graphics/win/OpenTypeUtilities.cpp: Removed. + * platform/graphics/win/OpenTypeUtilities.h: Removed. + +2009-03-03 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=24312 + + Take 3D transforms into account when hit testing: + + 1. Maintain a bit on each RenderLayer that is set when the layer + has 3d descendants, so that we know when to fall into the slow + hit testing path. + + 2. Make a ref-counted HitTestingTransformState, which is used to store + an accumulated transform, and the hit test point, and hitTestRect + in the plane of the ancestor non-3d ('flattening') layer. + + It's ref-counted so we can heap allocate it (to avoid stack bloat), + and avoid copying when hitTestLayer calls itself after applying the transform. + + 3. Add logic to hitTestLayer to depth-test just direct descendants, if any have + 3D transforms, or to do deep depth-testing when traversing a preserves-3d + hierarchy. When hit, layers compute a z-offset from the ancestor flattening + layer, which allows for correct depth testing. + + The existing early-return codepath is unaffected when there are no 3d transforms + and no preserve-3d. + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::RenderLayer): + (WebCore::RenderLayer::updateTransform): + (WebCore::RenderLayer::dirty3DTransformedDescendantStatus): + (WebCore::RenderLayer::update3DTransformedDescendantStatus): + (WebCore::RenderLayer::hitTest): + (WebCore::computeZOffset): + (WebCore::RenderLayer::createLocalTransformState): + (WebCore::RenderLayer::hitTestLayer): + (WebCore::RenderLayer::hitTestContents): + * rendering/RenderLayer.h: + (WebCore::RenderLayer::preserves3D): + (WebCore::RenderLayer::has3DTransform): + (WebCore::RenderLayer::setHas3DTransformedDescendant): + (WebCore::RenderLayer::has3DTransformedDescendant): + * rendering/RenderLayerBacking.cpp: + * rendering/TransformState.cpp: + (WebCore::TransformState::flatten): + (WebCore::TransformState::mappedPoint): + (WebCore::HitTestingTransformState::move): + (WebCore::HitTestingTransformState::applyTransform): + (WebCore::HitTestingTransformState::flatten): + (WebCore::HitTestingTransformState::mappedPoint): + (WebCore::HitTestingTransformState::mappedQuad): + * rendering/TransformState.h: + (WebCore::TransformState::TransformState): + (WebCore::HitTestingTransformState::create): + (WebCore::HitTestingTransformState::move): + (WebCore::HitTestingTransformState::HitTestingTransformState): + +2009-03-03 Brett Wilson <brettw@chromium.org> + + Fix uninitialized memory reads in the Chromium Windows transparency + code that were identified by Purify, + + Reviewed by Darin Fisher. + + * platform/graphics/chromium/TransparencyWin.cpp: + (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers): + (WebCore::TransparencyWin::initializeNewContext): + +2009-03-03 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=24312 + + Factor the code that compute a transform relative to the container + into RenderObject::transformFromContainer(). + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::mapLocalToAbsolutePoint): + (WebCore::RenderBox::mapAbsoluteToLocalPoint): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::transformFromContainer): + * rendering/RenderObject.h: + +2009-03-03 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=24317 + + Always return |true| from RenderTextControlMultiLine::nodeAtPoint() if + the superclass found a node, otherwise we set the innerNode of the + HitTestResult, but don't actually report that we found a hit. + + * rendering/RenderTextControlMultiLine.cpp: + (WebCore::RenderTextControlMultiLine::nodeAtPoint): + +2009-03-03 Onne Gorter <onne.gorter@avinity.net> + + Reviewed by Anders Carlsson. + + https://bugs.webkit.org/show_bug.cgi?id=23707 + resizing plugins does not work, because the plugin never gets informed + + Make gtk plugins resize correctly, by sending them the setwindow event + correctly. Also ensure that all plugin eventing is done with correct + locking/calling. Mostly copied from mac implementation. + + manual test: manual-tests/gtk/plugin-resize-scroll.html + + * plugins/PluginView.h: + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::dispatchNPEvent): + ensure locking/calling for NPEvents + (WebCore::PluginView::updatePluginWidget): + if something changed, let setNPWindowIfNeeded handle it + (WebCore::PluginView::paint): + (WebCore::PluginView::handleKeyboardEvent): + (WebCore::PluginView::handleMouseEvent): + ensure calling conventions + (WebCore::PluginView::setNPWindowRect): + just pass control to setNPWindowIfNeeded + (WebCore::PluginView::setNPWindowIfNeeded): + event the plugin correctly of new window + (WebCore::PluginView::init): + init through the new setup + +2009-03-03 Mike Belshe <mike@belshe.com> + + Reviewed by Darin Fisher. + + https://bugs.webkit.org/show_bug.cgi?id=24311 + Make IDL returning DOMObject use [V8Custom] + + * dom/Document.idl: + * html/HTMLCanvasElement.idl: + +2009-03-02 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Adele Peterson + + https://bugs.webkit.org/show_bug.cgi?id=24313 + + If RenderTextControlSingleLine::nodeAtPoint() pokes a node into the + HitTestResult, then it had better well return |true|. And m_innerBlock + could never have been set as the hit node by the superclass, because + the superclass knows nothing about m_innerBlock. + + Test: fast/forms/input-hit-test-border.html + + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::nodeAtPoint): + +2009-03-02 Sam Weinig <sam@webkit.org> + + Reviewed by Mark Rowe. + + Enable Geolocation (except on Tiger and Leopard). + + * Configurations/WebCore.xcconfig: + +2009-03-02 Ojan Vafai <ojan@chromium.org> + + Reviewed by Adele Peterson. + + Fix https://bugs.webkit.org/show_bug.cgi?id=24307 + Null out m_highlightedNode on hideHighlight(). + Ran WebCore/manual-tests/inspector/highlight-nodes.html. + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::hideHighlight): + +2009-03-02 Sam Weinig <sam@webkit.org> + + Reviewed by Geoffrey Garen. + + Fix for <rdar://problem/6507404> Add Geolocation support. + + This is not yet turned on for any Mac platform. + + * WebCore.xcodeproj/project.pbxproj: + * page/Chrome.cpp: + (WebCore::Chrome::shouldAllowGeolocationForFrame): + * page/Chrome.h: + * page/ChromeClient.h: + (WebCore::ChromeClient::shouldAllowGeolocationForFrame): + * page/Geolocation.cpp: + (WebCore::Geolocation::Geolocation): + (WebCore::Geolocation::disconnectFrame): Remove call to setUsingGeolocation as the document + will not be alive at this point. + (WebCore::Geolocation::getCurrentPosition): Check if the embedding app allows geolocation and + return a PERMISSION_DENIED if not. + (WebCore::Geolocation::watchPosition): Ditto. + (WebCore::Geolocation::shouldAllowGeolocation): Perform request to embedding layer of whether + to allow geolocation and cache the result. + * page/Geolocation.h: + (WebCore::Geolocation::): + * platform/GeolocationService.cpp: + * platform/GeolocationService.h: + (WebCore::GeolocationService::~GeolocationService): + (WebCore::GeolocationService::stopUpdating): + * platform/mac/GeolocationServiceMac.h: Added. + (WebCore::GeolocationServiceMac::lastPosition): + (WebCore::GeolocationServiceMac::lastError): + * platform/mac/GeolocationServiceMac.mm: Added. + (WebCore::GeolocationService::create): + (WebCore::GeolocationServiceMac::GeolocationServiceMac): + (WebCore::GeolocationServiceMac::~GeolocationServiceMac): + (WebCore::GeolocationServiceMac::startUpdating): + (WebCore::GeolocationServiceMac::stopUpdating): + (WebCore::GeolocationServiceMac::suspend): + (WebCore::GeolocationServiceMac::resume): + (WebCore::GeolocationServiceMac::positionChanged): + (WebCore::GeolocationServiceMac::errorOccurred): + (-[WebCoreCoreLocationObserver initWithCallback:]): + (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]): + (-[WebCoreCoreLocationObserver locationManager:didFailWithError:]): + +2009-03-02 Kevin Ollivier <kevino@theolliviers.com> + + Build fixes for wxWidgets Mac trunk build. + + * platform/wx/wxcode/mac/carbon/fontprops.cpp: + (wxFontProperties::wxFontProperties): + (GetTextExtent): + * webcore-wx.bkl: + +2009-03-02 Kevin Ollivier <kevino@theolliviers.com> + + wxGTK missing header build fix. + + * platform/wx/wxcode/gtk/fontprops.cpp: + +2009-03-02 Dan Bernstein <mitz@apple.com> + + Reviewed by Adam Roben. + + - fix https://bugs.webkit.org/show_bug.cgi?id=21811 + REGRESSION: Windows Build Not Selecting Proper Font + + * platform/graphics/win/FontCacheWin.cpp: + (WebCore::createGDIFont): Added back code to verify that the created + HFONT has the requested face name. + +2009-03-02 Timothy Hatcher <timothy@apple.com> + + Fixes a regression caused by splitting the input and output of console commands. + + https://bugs.webkit.org/show_bug.cgi?id=24293 + + Reviewed by Kevin McCullough. + + * inspector/front-end/Console.js: + (WebInspector.Console.prototype.addMessage): Don't treat ConsoleCommandResult as a + normal ConsoleMessage when appending. This prevents resetting repeatCounts incorrectly. + +2009-03-02 Timothy Hatcher <timothy@apple.com> + + Make exception messages and logged Error objects display consistently. + + https://bugs.webkit.org/show_bug.cgi?id=18983 + + Reviewed by Adam Roben. + + * English.lproj/localizedStrings.js: Remove a string for line numbers. + * inspector/front-end/Console.js: + (WebInspector.Console.prototype._enterKeyPressed): Pass the exception + boolean to the ConsoleCommandResult constructor and don't pass level. + (WebInspector.Console.prototype._formatnode): Fix a className typo. + (WebInspector.Console.prototype._formaterror): Add an error-message + classed span around the message to show in red and remove the + console-message-url class from the link so it doesn't float right. + Instead enclose the link in parentheses and use displayNameForURL + to shorten the URL in the link. + (WebInspector.ConsoleMessage.prototype.toMessageElement): Simplify + how line numbers are shown since link underlining a string with + parentheses looks bad. + (WebInspector.ConsoleCommandResult): Take an exception boolean flag + instead of a level and get line and URL based on that flag. + * inspector/front-end/inspector.css: Tweaks to the styles. + +2009-03-02 Ojan Vafai <ojan@chromium.org> + + Reviewed by Adele Peterson. + + Bug 24048: extra windows button padding doesn't apply when there's no appearance + <https://bugs.webkit.org/show_bug.cgi?id=24048> + + Replace adjustButtonInnerStyle with buttonInternalPaddingLeft/Right/Top/Bottom. + + No tests added as existing tests already cover this behavior. + + * rendering/RenderButton.cpp: + (WebCore::RenderButton::setupInnerStyle): + * rendering/RenderTheme.cpp: + * rendering/RenderTheme.h: + (WebCore::RenderTheme::buttonInternalPaddingLeft): + (WebCore::RenderTheme::buttonInternalPaddingRight): + (WebCore::RenderTheme::buttonInternalPaddingTop): + * rendering/RenderThemeChromiumGtk.cpp: + (WebCore::RenderThemeWin::buttonInternalPaddingLeft): + (WebCore::RenderThemeWin::buttonInternalPaddingRight): + (WebCore::RenderThemeWin::buttonInternalPaddingTop): + (WebCore::RenderThemeWin::buttonInternalPaddingBottom): + * rendering/RenderThemeChromiumGtk.h: + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::RenderThemeChromiumWin::buttonInternalPaddingLeft): + (WebCore::RenderThemeChromiumWin::buttonInternalPaddingRight): + (WebCore::RenderThemeChromiumWin::buttonInternalPaddingTop): + (WebCore::RenderThemeChromiumWin::buttonInternalPaddingBottom): + * rendering/RenderThemeChromiumWin.h: + * rendering/RenderThemeWin.cpp: + (WebCore::RenderThemeWin::buttonInternalPaddingLeft): + (WebCore::RenderThemeWin::buttonInternalPaddingRight): + (WebCore::RenderThemeWin::buttonInternalPaddingTop): + (WebCore::RenderThemeWin::buttonInternalPaddingBottom): + * rendering/RenderThemeWin.h: + +2009-03-02 Adam Treat <adam.treat@torchmobile.com> + + Build fix for Qt port. Remove unnecessary assert. + + * platform/graphics/qt/ImageBufferQt.cpp: + (WebCore::ImageBuffer::putImageData): + +2009-03-02 Adam Treat <adam.treat@torchmobile.com> + + Reviewed by Adam Roben and previously by Eric Seidel and Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=24227 + Ensure that the checkForSolidColor() optimization is correctly triggered + for all cases of drawPattern. Currently, the optimization was not triggered + when the check had not been previously performed via a request for the + image's NativeImagePtr. + + Implement the Qt version of the checkForSolidColor() method. Combined with + the bug fix this reduces the time it takes to draw a repeating background + of a 1x1 image from ~50msecs to ~0msecs on my machine. + + * platform/graphics/BitmapImage.cpp: + (WebCore::BitmapImage::BitmapImage): + * platform/graphics/BitmapImage.h: + (WebCore::BitmapImage::mayFillWithSolidColor): + * platform/graphics/Image.h: + (WebCore::Image::mayFillWithSolidColor): + * platform/graphics/cairo/ImageCairo.cpp: + (WebCore::BitmapImage::BitmapImage): + (WebCore::BitmapImage::checkForSolidColor): + * platform/graphics/cg/ImageCG.cpp: + (WebCore::BitmapImage::BitmapImage): + (WebCore::BitmapImage::checkForSolidColor): + * platform/graphics/qt/ImageQt.cpp: + (WebCore::BitmapImage::checkForSolidColor): + * platform/graphics/skia/ImageSkia.cpp: + (WebCore::BitmapImage::checkForSolidColor): + * platform/graphics/wx/ImageWx.cpp: + (WebCore::BitmapImage::checkForSolidColor): + +2009-03-02 Gustavo Noronha Silva <gns@gnome.org> + + Unreviewed build fix; adding missing files to EXTRA_DIST, so that + they show up in the tarball. + + * GNUmakefile.am: + +2009-03-02 Dirk Schulze <krit@webkit.org> + + Reviewed by Holger Freyther. + + Added putImageData to Qt. Discussed with Ariya Hidayat. + + [Qt] lacks putImageData support in Canvas + https://bugs.webkit.org/show_bug.cgi?id=22186 + + * platform/graphics/qt/ImageBufferQt.cpp: + (WebCore::ImageBuffer::putImageData): + +2009-03-02 Timothy Hatcher <timothy@apple.com> + + Show exception messages again when evaluating bad expressions in the + Web Inspector's console. + + https://bugs.webkit.org/show_bug.cgi?id=19890 + + Reviewed by Oliver Hunt. + + * bindings/js/JSQuarantinedObjectWrapper.cpp: + (WebCore::JSQuarantinedObjectWrapper::transferExceptionToExecState): + Fix the order in which the exception is set and cleared now that the + exception is stored in the shared GlobalData, not per ExecState. + +2009-02-28 Timothy Hatcher <timothy@apple.com> + + Make input in the Web Inspector console print before any output + that might be added by the called function. + + https://bugs.webkit.org/show_bug.cgi?id=19931 + + Reviewed by Oliver Hunt. + + * inspector/front-end/Console.js: + (WebInspector.Console.prototype._enterKeyPressed): Add the command + message before evaluating the result. Associate the originating + command to the result, so if they are adjacent there is no divider. + (WebInspector.ConsoleCommand): No longer take a result. + (WebInspector.ConsoleCommand.prototype.toMessageElement): Result + code removed since it isn't used now. + (WebInspector.ConsoleCommandResult): Subclass ConsoleMessage. + (WebInspector.ConsoleCommandResult.prototype.toMessageElement): + Call the ConsoleMessage toMessageElement and add a style class. + * inspector/front-end/inspector.css: Add a new style class for + adjacent results to hide the divider. Also tweak the position of + the disclosure triangle for objects to not use the left margin. + +2009-03-01 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Oliver Hunt. + + Bug 24282: AX Palindrome error when asking for a specific index of the AXChildren array + <https://bugs.webkit.org/show_bug.cgi?id=24282> + + When fetching an array of elements with a range, attachment views need to be returned + instead of the actual attachment. + + * page/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]): + (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]): + +2009-03-01 Ojan Vafai <ojan@chromium.org> + + Reviewed by Eric Seidel. + + Bug 24251: Cleanup: replace positionForCoordinates with positionForPoint + <https://bugs.webkit.org/show_bug.cgi?id=24251> + + Make RenderObject::positionForCoordinate non-virtual and + RenderObject::positionForPoint virtual in preparation for + removing positionFor* from RenderObject/RenderText. + + * page/Frame.cpp: + (WebCore::Frame::visiblePositionForPoint): + * rendering/RenderBR.cpp: + (WebCore::RenderBR::positionForPoint): + * rendering/RenderBR.h: + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::positionForPoint): + * rendering/RenderBlock.h: + * rendering/RenderBox.cpp: + (WebCore::RenderBox::positionForPoint): + * rendering/RenderBox.h: + * rendering/RenderInline.cpp: + (WebCore::RenderInline::positionForPoint): + * rendering/RenderInline.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::positionForCoordinates): + (WebCore::RenderObject::positionForPoint): + * rendering/RenderObject.h: + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::positionForPoint): + * rendering/RenderReplaced.h: + * rendering/RenderSVGInlineText.cpp: + (WebCore::RenderSVGInlineText::positionForPoint): + * rendering/RenderSVGInlineText.h: + * rendering/RenderText.cpp: + (WebCore::RenderText::positionForPoint): + * rendering/RenderText.h: + +2009-03-01 Larry Ewing <lewing@novell.com> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=24080 + NPN_GetValue casting to the wrong type and writing outside bounds + + Make sure to cast the value to the correct type so that only + memory owned by the value is written to. + + * plugins/gtk/PluginViewGtk.cpp (PluginView::getValueStatic): + * plugins/qt/PluginViewQt.cpp (PluginView::getValueStatic): + * plugins/mac/PluginViewMac.cpp (PluginView::getValueStatic): + (PluginView::getValue): + +2009-03-01 Jeremy Moskovich <jeremy@chromium.org> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=24197 and + https://bugs.webkit.org/show_bug.cgi?id=23512 + + The Windows version of cgColor() is conditionally compiled using + !PLATFORM(MAC) change this to PLATFORM(WIN_OS) so that Chrome + can use the OS X version instead of the Windows version. + + Also rename cgColor() -> createCGColor() + + No observable change in behavior, so no test. + + * platform/graphics/Color.h: + * platform/graphics/cg/ColorCG.cpp: + (WebCore::createCGColor): + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::setPlatformShadow): + * platform/graphics/mac/ColorMac.mm: + (WebCore::createCGColor): + * platform/graphics/mac/GraphicsContextMac.mm: + (WebCore::GraphicsContext::drawFocusRing): + * platform/graphics/mac/GraphicsLayerCA.mm: + (WebCore::setLayerBorderColor): + (WebCore::setLayerBackgroundColor): + (WebCore::GraphicsLayerCA::setBackgroundColor): + * platform/graphics/win/GraphicsContextCGWin.cpp: + (WebCore::GraphicsContext::drawFocusRing): + * svg/graphics/filters/cg/SVGFEHelpersCg.mm: + (WebCore::ciColor): + +2009-03-01 David Levin <levin@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Bug 24271: XMLHttpRequest needs js bindings for Workers. + <https://bugs.webkit.org/show_bug.cgi?id=24271> + + Tests: http/tests/xmlhttprequest/workers/methods-async.html + http/tests/xmlhttprequest/workers/methods.html + + * bindings/js/JSWorkerContextBase.cpp: + (WebCore::JSWorkerContextBase::getOwnPropertySlot): + (jsWorkerContextBaseXMLHttpRequest): + (setJSWorkerContextBaseXMLHttpRequest): + Expose XMLHttpRequest to Workers. + + * bindings/js/JSWorkerContextBase.h: + + * bindings/js/JSXMLHttpRequestConstructor.cpp: + (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): + (WebCore::constructXMLHttpRequest): + (WebCore::JSXMLHttpRequestConstructor::mark): + Removed the dependencies on Document. + + * bindings/js/JSXMLHttpRequestConstructor.h: + (WebCore::JSXMLHttpRequestConstructor::scriptExecutionContext): + * dom/EventException.idl: + * dom/EventListener.idl: + Change to have the NoStaticTables attribute since they are used from XHR. + + * loader/WorkerThreadableLoader.cpp: + (WebCore::workerContextDidFinishLoading): + (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading): + Fixed identifier to be unsigned long. + + * loader/WorkerThreadableLoader.h: + * workers/WorkerThread.cpp: + (WebCore::WorkerThread::workerThread): + Stop active objects when the thread is getting shutdown so that xhr gets properly shutdown. + + * xml/XMLHttpRequestUpload.cpp: + + * xml/XMLHttpRequest.idl: + * xml/XMLHttpRequestException.idl: + * xml/XMLHttpRequestProgressEvent.idl: + * xml/XMLHttpRequestUpload.idl: + Change to have the NoStaticTables attribute since they are used from XHR. + +2009-03-01 Horia Olaru <olaru@adobe.com> + + Adding manual debugger test cases for bug. + + https://bugs.webkit.org/show_bug.cgi?id=21073 + + Reviewed by Kevin McCullough. + + * manual-tests/inspector/debugger-step-on-do-while-statements.html: Added. + * manual-tests/inspector/debugger-step-on-for-in-statements.html: Added. + * manual-tests/inspector/debugger-step-on-for-statements.html: Added. + * manual-tests/inspector/debugger-step-on-while-statements.html: Added. + * manual-tests/inspector/resources/loop-statements.js: Added. + +2009-03-01 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix <rdar://problem/6634768> Reproducible crash in RenderLayer::updateScrollCornerStyle() using full-page zoom at MobileMe Contacts + + Test: fast/events/scroll-during-zoom-change.html + + * dom/Document.cpp: + (WebCore::Document::recalcStyle): Pause scheduled events during style + reclaculation. Changes to the zoom property result in scroll events + being generated during style recalc, and those events need to be + deferred until the render tree is consistent. + * page/FrameView.cpp: + (WebCore::FrameView::layout): Changed to account for a case in which the + post-layout tasks trigger a nested layout, which reactivates the + post-layout task timer. + +2009-03-01 Ross Boucher <rboucher@gmail.com> + + Alphabetically sort scripts in the Script's panel file popup menu. + + https://bugs.webkit.org/show_bug.cgi?id=23395 + + Reviewed by Timothy Hatcher. + + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): + * inspector/front-end/utilities.js: + (insertionIndexForObjectInListSortedByFunction): + (indexOfObjectInListSortedByFunction): + +2009-03-01 Yael Aharon <yael.aharon@nokia.com> + + Pass securityOrigin->host() instead of securityOrigin->domain() to WebInspector + when creating databases, localStorage or sessionStorage. Changing document.domain + should have no affect on databases, localStorage and sessionStorage in Web Inspector. + + https://bugs.webkit.org/show_bug.cgi?id=23844 + + Reviewed by Timothy Hatcher. + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::addDOMStorageScriptResource): + (WebCore::InspectorController::didUseDOMStorage): + * storage/Database.cpp: + (WebCore::Database::openDatabase): + +2009-03-01 Gustavo Noronha Silva <gns@gnome.org> + + Reviewed by Holger Freyther. + + Avoid leaking errors when reporting GIO errors. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::readCallback): + (WebCore::openCallback): + (WebCore::queryInfoCallback): + +2009-03-01 Gustavo Noronha Silva <gns@gnome.org> + + Reviewed by Holger Freyther. + + Fixes crash when the GIO backend is given the URI for a directory. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::networkErrorForFile): + +2009-02-28 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Fisher. + + https://bugs.webkit.org/show_bug.cgi?id=24261 + Fix V8 custom binding scrubbing error. + + Test: fast/dom/TreeWalker/TreeWalker-currentNode.html + Test: traversal/exception-forwarding.html + TesT: traversal/stay-within-root.html + + * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: + * bindings/v8/custom/V8NodeIteratorCustom.cpp: + (WebCore::toV8): Replace v8::Undefined() return value with v8::Null(). + * bindings/v8/custom/V8TreeWalkerCustom.cpp: + (WebCore::toV8): Ditto. + +2009-02-28 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Fisher. + + https://bugs.webkit.org/show_bug.cgi?id=24261 + Fix V8 custom binding scrubbing error. + + Test: fast/dom/CSSStyleDeclaration/css-properties-case-sensitive.html + + * WebCore.xcodeproj/project.pbxproj: + * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: + (WebCore::cssPropertyName): Remove dubious checks, left over from + incomplete conversion of parameter from pointer to pass-by-ref. + (WebCore::NAMED_PROPERTY_GETTER): Initialize parameter. + (WebCore::NAMED_PROPERTY_SETTER): Ditto. + +2009-02-28 Xan Lopez <xan@gnome.org> + + Reviewed by Holger Freyther. + + https://bugs.webkit.org/show_bug.cgi?id=24263 + [GTK] ref ResourceHandle until we are finished with it + + Add a ref to the ResourceHandle in startHttp so we can keep it + alive untill all callbacks have been executed, and unref it when + soup tells us it's done with the SoupMessage (in + finishedCallback). Fixes a number of crashes when calling + didReceiveData whould crash because of the handle dying. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::finishedCallback): + (WebCore::ResourceHandle::startHttp): + +2009-02-28 Adam Bergkvist <adam.bergkvist@ericsson.com> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=24226 + [SOUP] HTTP status text is never set + + Set HTTP status text to SoupMessage reason_phrase. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::fillResponseFromMessage): + +2009-02-28 Dan Bernstein <mitz@apple.com> + + - fix malformed project file + + * WebCore.xcodeproj/project.pbxproj: + +2009-02-28 Dan Bernstein <mitz@apple.com> + + Reviewed by Oliver Hunt. + + - fix https://bugs.webkit.org/show_bug.cgi?id=23848 + <rdar://problem/6573250> REGRESSION: Crash when mouse cursor moves over a link on www.opportuno.de + + Test: fast/layers/inline-dirty-z-order-lists.html + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::styleWillChange): Moved the code that dirties a + layer's and its stacking context's z-order lists when the layer's + z-index or visibility change from here... + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::styleWillChange): ...to here, so that + it will apply to RenderInline too. + +2009-02-27 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by David Hyatt. + + Don't include TextResourceDecoder.h in Document.h + + This undoes inlining of Document::displayStringModifiedByEncoding() to avoid world rebuilds + when TextResourceDecoder.h is modified. Performance impact is expected to be negligible. + + * dom/Document.cpp: + (WebCore::Document::displayStringModifiedByEncoding): + (WebCore::Document::displayBufferModifiedByEncoding): + * dom/Document.h: + * WebCore.base.exp: + +2009-02-27 Matt Pennig <pennig@apple.com> + + Reviewed by David Hyatt. + + Resolves: https://bugs.webkit.org/show_bug.cgi?id=24107 + "Fixed elements have 0 as an offsetLeft property" + + Code also brings offsetLeft/Top in full conformance with the spec. + Added two tests, one for fixed-position elements, and one for <html>. + + Tests: fast/dom/Element/fixed-position-offset-parent.html + fast/dom/Element/offsetLeft-offsetTop-html.html + + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::offsetLeft): + (WebCore::RenderBoxModelObject::offsetTop): + +2009-02-27 Dean Jackson <dino@apple.com> + + Reviewed by Simon Fraser. + + renderer()->hasTransform() returns true for elements + with perspective, but no transform, so test for transform + when hit testing. This fixes ASSERT from + https://bugs.webkit.org/show_bug.cgi?id=24252 + + Test: transforms/no_transform_hit_testing.html + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::hitTestLayer): + +2009-02-27 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Fisher. + + Fix scrubbing error -- a reversed condition. + + * bindings/v8/ScriptValue.h: + (WebCore::ScriptValue::clear): Change early exit for empty value, not the opposite. + +2009-02-27 Jian Li <jianli@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Add confirmMessageFromWorkerObject to WorkerObjectProxy. + https://bugs.webkit.org/show_bug.cgi?id=24152 + + * workers/WorkerMessagingProxy.cpp: + (WebCore::MessageWorkerContextTask::performTask): + (WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject): + * workers/WorkerMessagingProxy.h: + * workers/WorkerObjectProxy.h: + +2009-02-27 Anders Carlsson <andersca@apple.com> + + Reviewed by David Hyatt. + + Revert r41295, the fix for https://bugs.webkit.org/show_bug.cgi?id=24227 + because it leads to assertion failures in the Mac port. + + * platform/graphics/BitmapImage.cpp: + (WebCore::BitmapImage::BitmapImage): + * platform/graphics/BitmapImage.h: + (WebCore::BitmapImage::mayFillWithSolidColor): + * platform/graphics/Image.h: + (WebCore::Image::mayFillWithSolidColor): + * platform/graphics/cairo/ImageCairo.cpp: + (WebCore::BitmapImage::BitmapImage): + * platform/graphics/cg/ImageCG.cpp: + (WebCore::BitmapImage::BitmapImage): + (WebCore::BitmapImage::checkForSolidColor): + * platform/graphics/qt/ImageQt.cpp: + (WebCore::BitmapImage::checkForSolidColor): + * platform/graphics/skia/ImageSkia.cpp: + (WebCore::BitmapImage::checkForSolidColor): + * platform/graphics/wx/ImageWx.cpp: + (WebCore::BitmapImage::checkForSolidColor): + +2009-02-27 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=20249 + + Add a preference to allow universal access from local URLs to mitigate + some attacks. Some clients still want to allow this access, so we + expose this as a preference. + + * WebCore.base.exp: + * dom/Document.cpp: + (WebCore::Document::initSecurityContext): + * page/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::SecurityOrigin): + * page/Settings.cpp: + (WebCore::Settings::Settings): + (WebCore::Settings::setAllowUniversalAccessFromFileUrls): + * page/Settings.h: + (WebCore::Settings::allowUniversalAccessFromFileUrls): + +2009-02-27 Adam Treat <adam.treat@torchmobile.com> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=24229 + If an image has no alpha channel there is no reason to use SourceOver. + + * platform/graphics/qt/ImageQt.cpp: + (WebCore::Image::drawPattern): + (WebCore::BitmapImage::draw): + +2009-02-27 Adam Treat <adam.treat@torchmobile.com> + + Reviewed by Eric Seidel and Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=24227 + Ensure that the checkForSolidColor() optimization is correctly triggered + for all cases of drawPattern. Currently, the optimization was not triggered + when the check had not been previously performed via a request for the + image's NativeImagePtr. + + Implement the Qt version of the checkForSolidColor() method. Combined with + the bug fix this reduces the time it takes to draw a repeating background + of a 1x1 image from ~50msecs to ~0msecs on my machine. + + * platform/graphics/BitmapImage.cpp: + (WebCore::BitmapImage::BitmapImage): + * platform/graphics/BitmapImage.h: + (WebCore::BitmapImage::mayFillWithSolidColor): + * platform/graphics/Image.h: + (WebCore::Image::mayFillWithSolidColor): + * platform/graphics/cairo/ImageCairo.cpp: + (WebCore::BitmapImage::BitmapImage): + * platform/graphics/cg/ImageCG.cpp: + (WebCore::BitmapImage::BitmapImage): + (WebCore::BitmapImage::checkForSolidColor): + * platform/graphics/qt/ImageQt.cpp: + (WebCore::BitmapImage::checkForSolidColor): + * platform/graphics/skia/ImageSkia.cpp: + (WebCore::BitmapImage::checkForSolidColor): + * platform/graphics/wx/ImageWx.cpp: + (WebCore::BitmapImage::checkForSolidColor): + +2009-02-27 Dirk Schulze <krit@webkit.org> + + Reviewed by Zack Rusin. + + Added support for gradients and pattern on Fonts for Qt. + + [Qt] gradients and patterns for FontQt + https://bugs.webkit.org/show_bug.cgi?id=24243 + + * platform/graphics/qt/FontQt.cpp: + (WebCore::Font::drawComplexText): + +2009-02-27 Jian Li <jianli@chromium.org> + + Reviewed by Alexey Proskuryakov. + + WorkerContextProxy::create in WorkerMessagingProxy.cpp should only be provided for non-Chromium platform. + https://bugs.webkit.org/show_bug.cgi?id=24113 + + * workers/WorkerMessagingProxy.cpp: + +2009-02-27 Yael Aharon <yael.aharon@nokia.com> + + Added a refresh button to storage views. + + https://bugs.webkit.org/show_bug.cgi?id=24040 + + Reviewed by Timothy Hatcher. + + * inspector/front-end/DOMStorageItemsView.js: + (WebInspector.DOMStorageItemsView): + (WebInspector.DOMStorageItemsView.prototype.get statusBarItems): + (WebInspector.DOMStorageItemsView.prototype.update): + (WebInspector.DOMStorageItemsView.prototype._refreshButtonClicked): + * inspector/front-end/DatabaseTableView.js: + (WebInspector.DatabaseTableView): + (WebInspector.DatabaseTableView.prototype.get statusBarItems): + (WebInspector.DatabaseTableView.prototype._refreshButtonClicked): + * inspector/front-end/DatabasesPanel.js: + (WebInspector.DatabasesPanel): + (WebInspector.DatabasesPanel.prototype.get statusBarItems): + (WebInspector.DatabasesPanel.prototype.reset): + (WebInspector.DatabasesPanel.prototype.showDatabase): + (WebInspector.DatabasesPanel.prototype.showDOMStorage): + (WebInspector.DatabasesPanel.prototype._updateSidebarWidth): + * inspector/front-end/inspector.css: + +2009-02-27 Yael Aharon <yael.aharon@nokia.com> + + Added support for editing/deleting localStorage and sessionStorage items + directly from Web Inspector. + + https://bugs.webkit.org/show_bug.cgi?id=23866. + + Reviewed by Timothy Hatcher. + + * WebCore.vcproj/WebCore.vcproj: + * inspector/front-end/DOMStorageDataGrid.js: Added. + (WebInspector.DOMStorageDataGrid): + (WebInspector.DOMStorageDataGrid.prototype._ondblclick): + (WebInspector.DOMStorageDataGrid.prototype._startEditing): + (WebInspector.DOMStorageDataGrid.prototype._editingCommitted): + (WebInspector.DOMStorageDataGrid.prototype._editingCancelled): + (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow): + * inspector/front-end/DOMStorageItemsView.js: + (WebInspector.DOMStorageItemsView): + (WebInspector.DOMStorageItemsView.prototype.get statusBarItems): + (WebInspector.DOMStorageItemsView.prototype.hide): + (WebInspector.DOMStorageItemsView.prototype.update): + (WebInspector.DOMStorageItemsView.prototype._deleteButtonClicked): + * inspector/front-end/DatabasesPanel.js: + (WebInspector.DatabasesPanel): + (WebInspector.DatabasesPanel.prototype.get statusBarItems): + (WebInspector.DatabasesPanel.prototype.reset): + (WebInspector.DatabasesPanel.prototype.showDOMStorage): + (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage): + (WebInspector.DatabasesPanel.prototype._updateSidebarWidth): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.css: + * inspector/front-end/inspector.html: + +2009-02-26 Brett Wilson <brettw@chromium.org> + + Fix Windows transparency for the Chromium port. Implement a helper + class for handling transparency on Windows. It allows semitransparent + ClearType and semitransparent form controls by making new layers in the + background. + + It also replaces the "ThemeHelper" which allows better + scaling and transforms on Windows form controls. In addition to the + functionality that the ThemeHelper did, but additionally handles the + antialiasing properly so that the form controls aren't composited on a + white square. + + https://bugs.webkit.org/show_bug.cgi?id=24101 + + Reviewed by Eric Seidel. + + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::): + (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter): + (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI): + (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter): + (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::drawGlyphs): + (WebCore::Font::drawGlyphs): + * platform/graphics/chromium/ThemeHelperChromiumWin.cpp: + * platform/graphics/chromium/ThemeHelperChromiumWin.h: + * platform/graphics/chromium/TransparencyWin.cpp: Added. + (WebCore::): + (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers): + (WebCore::TransparencyWin::OwnedBuffers::destBitmap): + (WebCore::TransparencyWin::OwnedBuffers::referenceBitmap): + (WebCore::TransparencyWin::OwnedBuffers::canHandleSize): + (WebCore::TransparencyWin::TransparencyWin): + (WebCore::TransparencyWin::~TransparencyWin): + (WebCore::TransparencyWin::init): + (WebCore::TransparencyWin::computeLayerSize): + (WebCore::TransparencyWin::setupLayer): + (WebCore::TransparencyWin::setupLayerForNoLayer): + (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer): + (WebCore::TransparencyWin::setupLayerForTextComposite): + (WebCore::TransparencyWin::setupLayerForWhiteLayer): + (WebCore::TransparencyWin::setupTransform): + (WebCore::TransparencyWin::setupTransformForKeepTransform): + (WebCore::TransparencyWin::setupTransformForUntransform): + (WebCore::TransparencyWin::setupTransformForScaleTransform): + (WebCore::TransparencyWin::setTextCompositeColor): + (WebCore::TransparencyWin::initializeNewContext): + (WebCore::TransparencyWin::compositeOpaqueComposite): + (WebCore::TransparencyWin::compositeTextComposite): + (WebCore::TransparencyWin::makeLayerOpaque): + * platform/graphics/chromium/TransparencyWin.h: Added. + (WebCore::TransparencyWin::): + (WebCore::TransparencyWin::context): + (WebCore::TransparencyWin::platformContext): + (WebCore::TransparencyWin::drawRect): + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::endTransparencyLayer): + * platform/graphics/skia/ImageSkia.cpp: + (WebCore::paintSkBitmap): + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::): + (WebCore::RenderThemeChromiumWin::paintButton): + (WebCore::RenderThemeChromiumWin::paintMenuList): + (WebCore::RenderThemeChromiumWin::paintTextFieldInternal): + +2009-02-27 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=24211 + Add ScheduledAction for V8. + + * bindings/v8/ScheduledAction.cpp: Added. + (WebCore::ScheduledAction::ScheduledAction): + (WebCore::ScheduledAction::~ScheduledAction): + (WebCore::ScheduledAction::execute): + * bindings/v8/ScheduledAction.h: Added. + (WebCore::ScheduledAction::ScheduledAction): + +2009-02-27 Zack Rusin <zack@kde.org> + + Reviewed by Nikolas Zimmermann. + + Qt: be more reasonable about scrolled lines + + cMouseWheelPixelsPerLineStep is currently a constant set to 13.3. it doesn't + match our metrics meaning that Qt scrolls by ~2 lines by default which is quite + irritating. so lets scroll vertically by the Qt set number of lines * Qt default + single step scroll + + * platform/qt/WheelEventQt.cpp: + +2009-02-27 Xan Lopez <xan@gnome.org> + + Rubber-stamped by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=24222 + [GTK] Remove checks for old glib versions + + libsoup, which is a hard dependency, needs at least glib 2.15.3, + so remove all glib checks for versions older than that. + + * platform/gtk/ContextMenuGtk.cpp: + (WebCore::ContextMenu::ContextMenu): + * platform/gtk/ContextMenuItemGtk.cpp: + (WebCore::ContextMenuItem::setSubMenu): + * platform/gtk/PopupMenuGtk.cpp: + (WebCore::PopupMenu::show): + * platform/gtk/WidgetGtk.cpp: + (WebCore::Widget::retainPlatformWidget): + * platform/network/soup/ResourceHandleSoup.cpp: + +2009-02-26 Dirk Schulze <krit@webkit.org> + + Reviewed by Oliver Hunt. + + Added support for Gradients and Patterns on filled or stroked Fonts + in Cairo. I also added support for globalAlpha on FontCairo. + + [CAIRO] SVG/Canvas fonts miss gradients/pattern support + https://bugs.webkit.org/show_bug.cgi?id=18617 + + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::drawTextInternal): + * platform/graphics/cairo/FontCairo.cpp: + (WebCore::Font::drawGlyphs): + +2009-02-26 Stephen White <senorblanco@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23957 + + Fix for SVG gradient and pattern text for Chromium/skia. + Added accessors for the fill and stroke gradients to + GraphicsContext. Changed the paintSkiaText function to take a + GraphicsContext, so we can check for gradients/patterns. + Changed the skiaDrawText function to set the SkPaint shader + correctly, and to scale up the gradient shader matrix to + encompass the entire text string. Also offset each glyph + separately, rather than transforming the canvas, so that the + gradient/pattern stays fixed relative to the text origin. + + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::getFillGradient): + (WebCore::GraphicsContext::getStrokeGradient): + (WebCore::GraphicsContext::getFillPattern): + (WebCore::GraphicsContext::getStrokePattern): + * platform/graphics/GraphicsContext.h: + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::Font::drawGlyphs): + * platform/graphics/chromium/UniscribeHelper.cpp: + (WebCore::UniscribeHelper::draw): + * platform/graphics/skia/SkiaFontWin.cpp: + (WebCore::windowsCanHandleTextDrawing): + (WebCore::skiaDrawText): + (WebCore::paintSkiaText): + * platform/graphics/skia/SkiaFontWin.h: + +2009-02-26 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=24208 + Add custom V8 bindings for Navigator, Clipboard, Document, and Node. + + * bindings/v8/custom/V8ClipboardCustom.cpp: Added. + (WebCore::ACCESSOR_GETTER): + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8DocumentCustom.cpp: Added. + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8NavigatorCustom.cpp: Added. + (WebCore::ACCESSOR_GETTER): + * bindings/v8/custom/V8NodeCustom.cpp: Added. + (WebCore::CALLBACK_FUNC_DECL): + +2009-02-26 Gustavo Noronha Silva <gns@gnome.org> + + Unreviewed build fix for building with GNOME Keyring enabled. + + * platform/network/soup/webkit-soup-auth-dialog.c: + (show_auth_dialog): + +2009-02-26 Xan Lopez <xan@gnome.org> + + Reviewed by Holger Freyther. + + https://bugs.webkit.org/show_bug.cgi?id=16947 + [GTK] Missing HTTP Auth challenge + + Add HTTP authentication dialog with optional GNOME Keyring + storage. + + * GNUmakefile.am: + * platform/network/ResourceHandleInternal.h: + (WebCore::ResourceHandleInternal::ResourceHandleInternal): + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::currentToplevelCallback): + (WebCore::ResourceHandle::startHttp): + (WebCore::ResourceHandle::start): + * platform/network/soup/webkit-soup-auth-dialog.c: Added. + (webkit_soup_auth_dialog_class_init): + (webkit_soup_auth_dialog_init): + (webkit_soup_auth_dialog_session_feature_init): + (free_authData): + (set_password_callback): + (response_callback): + (show_auth_dialog): + (find_password_callback): + (session_authenticate): + (attach): + * platform/network/soup/webkit-soup-auth-dialog.h: Added. + +2009-02-25 Ojan Vafai <ojan@chromium.org> and Eric Seidel <eric@webkit.org> + + Reviewed by Dave Hyatt. + + After Ojan's positionForCoordinates fix http://trac.webkit.org/changeset/41191 + svg/custom/pointer-events-image.svg and svg/custom/pointer-events-text.svg + started failing because Ojan's new code was now *correctly* calling through to + SVG asking for the closest text offset in the last line box, instead of + just returning the offset at the end of the last line box when clicking below a box. + + But! The SVG code was wrong, in that it returned the character offset of the last + character when you asked for a character offset after the end of the box, instead + it should return the offset *after* the last character. This patch fixes + that behavior by reordering the last two clauses in svgCharacterHitsPosition. + + The SVG positionForCoordinates function is still wrong, and I've added some FIXMEs + to document what's wrong. I've also cleaned up the code a bit so it's clearer + what it is doing (which also makes more obvious what's wrong with it). + + * rendering/RenderSVGInlineText.cpp: + (WebCore::RenderSVGInlineText::positionForCoordinates): + * rendering/SVGInlineTextBox.cpp: + (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::SVGInlineTextBoxClosestCharacterToPositionWalker): + (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback): + (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::offsetOfHitCharacter): + (WebCore::SVGInlineTextBox::closestCharacterToPosition): + (WebCore::SVGInlineTextBox::svgCharacterHitsPosition): + +2009-02-26 Darin Fisher <darin@chromium.org> + + Reviewed by Eric Seidel. + + Minor cleanup of ChromiumBridge: + Removing unused matchesMIMEType method and s/Javascript/JavaScript/ + + * platform/chromium/ChromiumBridge.h: + * platform/chromium/MimeTypeRegistryChromium.cpp: + (WebCore::MIMETypeRegistry::isSupportedImageMIMEType): + (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType): + (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType): + +2009-02-26 David Hyatt <hyatt@apple.com> + + Reviewed by Sam Weinig + + Fix text-bottom vertical alignment. It was incorrectly aligning the bottom of the descent instead of including + the line-height below the descent. + + Added fast/inline/vertical-align-text-bottom.html + + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::verticalPosition): + +2009-02-26 Dirk Schulze <krit@webkit.org> + + Reviewed by Eric Seidel. + + Make SVG Masking platform independet with the use of ImageBuffer::getImageData(), + ImageBuffer::putImageData() and GraphicsContext::clipToImageBuffer(). Every platform has + just to implement this three methods to support SVG Masking now. + + Make SVG Masking platform aware + https://bugs.webkit.org/show_bug.cgi?id=19243 + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * svg/graphics/SVGResourceMasker.cpp: + (WebCore::SVGResourceMasker::applyMask): + * svg/graphics/cairo/SVGResourceMaskerCairo.cpp: Removed. + * svg/graphics/cg/SVGResourceMaskerCg.cpp: Removed. + * svg/graphics/cg/SVGResourceMaskerCg.mm: Removed. + * svg/graphics/qt/SVGResourceMaskerQt.cpp: Removed. + * svg/graphics/skia/SVGResourceMaskerSkia.cpp: Removed. + +2009-02-26 Yong Li <yong.li@torchmobile.com> + + Reviewed by Darin Adler, Antti Koivisto and Alexey Proskuryakov. + + Test: http/tests/misc/slow-preload-cancel.html + + https://bugs.webkit.org/show_bug.cgi?id=24133 + Clear all pending preloads in the DocLoader object when we decide to + cancel its all requests. + + * loader/DocLoader.cpp: + (WebCore::DocLoader::clearPendingPreloads): + * loader/DocLoader.h: + * loader/loader.cpp: + (WebCore::Loader::cancelRequests): + +2009-02-26 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=24182 + Add NodeFilter, NodeIterator, and TreeWalker custom V8 bindings. + + * bindings/v8/custom/V8NodeFilterCustom.cpp: Added. + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8NodeIteratorCustom.cpp: Added. + (WebCore::toV8): + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8TreeWalkerCustom.cpp: Added. + (WebCore::toV8): + (WebCore::CALLBACK_FUNC_DECL): + +2009-02-26 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=23500 + KURL::parse() incorrectly compares its result to original string + + * platform/KURL.cpp: (WebCore::KURL::parse): Take string length into account. + +2009-02-26 Ojan Vafai <ojan@chromium.org> + + Reviewed by Kevin McCullough. + + Manual test for inspector node highlighting. + + * manual-tests/inspector/highlight-nodes.html: Added. + +2009-02-16 Anantanarayanan Iyengar <ananta@chromium.org> + + Reviewed by Darin Fisher. + + https://bugs.webkit.org/show_bug.cgi?id=23973 + ScrollView::scrollContents can be invoked during view shutdown. In + this scenario the FrameView::hostWindow method can return NULL, which + indicates that the frame/page is being destroyed. This causes a crash + when we try to dereference a NULL hostWindow pointer. Fix is to add a + NULL check for this. + + * platform/ScrollView.cpp: + (WebCore::ScrollView::scrollContents): + +2009-02-26 Rahul Kuchhal <kuchhal@chromium.org> + + Reviewed by Dave Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=24003 + Fix a crash caused by unsafe type conversion. + + Test: fast/block/positioning/absolute-in-inline-rtl-4.html + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::calcAbsoluteHorizontalValues): + +2009-02-26 Ojan Vafai <ojan@chromium.org> + + Reviewed by Adam Roben. + + https://bugs.webkit.org/show_bug.cgi?id=24202 + Have drawNodeHighlight clip instead of clearing. This makes it work for + both Safari and Chromium since Chromium draws the inspector highlighting + in the same buffer as the page. + + * inspector/InspectorController.cpp: + (WebCore::quadToPath): + (WebCore::drawOutlinedQuad): + (WebCore::drawOutlinedQuadWithClip): + (WebCore::drawHighlightForBox): + +2009-02-26 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein & Darin Adler + + Make sure the border/padding are properly omitted at the start of an inline that is a continuation. + + Added fast/inline/inline-continuation-borders.html + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): + +2009-02-26 Simon Fraser <simon.fraser@apple.com> + + Build fix, no review. + + Try to fix the wx build after r41218. + + * WebCoreSources.bkl: + +2009-02-26 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=19527 + ASSERTION FAILED: containerA && containerB + + Test: fast/dom/Range/bug-19527.html + + * dom/Range.cpp: + (WebCore::Range::isPointInRange): + (WebCore::Range::comparePoint): + Bring the behavior in line with current Firefox, making it impossible for these methods + to pass a null container to compareBoundaryPoints(). + +2009-02-26 Jonathon Jongsma <jonathon@quotidian.org> + + Reviewed by Holger Freyther. + + https://bugs.webkit.org/show_bug.cgi?id=20358 + + * platform/graphics/gtk/SimpleFontDataGtk.cpp: + (WebCore::SimpleFontData::smallCapsFontData): the small-caps font data + should set the computed size rather than the specified size, otherwise + the caps just get rendered normal size. + +2009-02-26 Benjamin Meyer <benjamin.meyer@torchmobile.com> + + Reviewed by George Staikos. + + https://bugs.webkit.org/show_bug.cgi?id=24062 + QNetworkCookieJar expects the url and not the policy url. Sending the + policy url will cause QNetworkCookieJar to behave incorrectly. One + example would be a cookie that does not have a path or domain. + QNetworkCookieJar will use the url it is given to fill in default values. + This allows setting cookies on the url of the main frame from an iFrame + when the cookie should be set on the url of the iFrame. + + Originally noticed on http://writer.zoho.com/jsp/home.jsp?serviceurl=/index.do + + * platform/qt/CookieJarQt.cpp: + (WebCore::setCookies): + +2009-02-26 Charles Wei <charles.wei@torchmobile.com.cn> + + Reviewed by George Staikos. + + make WebKit/Qt compile with SVG disabled + + * WebCore.pro: + * platform/graphics/qt/FontPlatformDataQt.cpp: + +2009-02-25 Gustavo Noronha Silva <gns@gnome.org> + + Unreviewed build fix. Add WebCore/workers to the list of paths + searched by the bindings generator perl script. + + * GNUmakefile.am: + +2009-02-25 Sam Weinig <sam@webkit.org> + + Reviewed by Geoffrey Garen. + + Add canvas to the list of RenderObjects that can mark a page as + visually not empty. + + * rendering/RenderHTMLCanvas.cpp: + (WebCore::RenderHTMLCanvas::RenderHTMLCanvas): + +2009-02-25 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Dave Hyatt. + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::nodeAtPoint): Remove assertion fired when child has layer + as RenderMedia with controls always has a layer. + +2009-02-25 Dan Bernstein <mitz@apple.com> + + Reviewed by Simon Fraser. + + - fix https://bugs.webkit.org/show_bug.cgi?id=24130 + <rdar://problem/6618196> Paint very slow when horizontally resizing + + Test: fast/gradients/background-clipped.html + + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintFillLayerExtended): Intersect the + destination rectangle passed to drawTiledImage() with the dirty + rectangle. This makes it more likely for the destination rect to be + contained in a single tile rect, which results in a faster code path + being taken down the road (just drawing a single tile instead of + tiling). + +2009-02-25 Ojan Vafai <ojan@chromium.org> + + Reviewed by Eric Seidel. + + Fix test regressions from positionForCoordinates patch. + https://bugs.webkit.org/show_bug.cgi?id=24148 + + * rendering/RenderBlock.cpp: + (WebCore::positionForPointWithInlineChildren): + Remove ASSERT that placeholder text codepath is hitting. + +2009-02-25 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin. + + Bug 24143: Crash occurs at WebCore::AccessibilityTable::isTableExposableThroughAccessibility() when applying a link in GMail + https://bugs.webkit.org/show_bug.cgi?id=24143 + + When an AX object is marked dirty, do not create AX elements while going up the parent chain. + Do not allow AXRenderObjects to remove their own IDs from the cache, all the cache to do that work + Make sure the AXObjectWrapper's have an object before calling them + In AXObjectCache, change get -> getOrCreate. Use get() to only retrieve an element if it exists + + Test: platform/mac-snowleopard/accessibility/table-updating.html + + * WebCore.base.exp: + * page/AXObjectCache.cpp: + (WebCore::AXObjectCache::~AXObjectCache): + (WebCore::AXObjectCache::get): + (WebCore::AXObjectCache::getOrCreate): + (WebCore::AXObjectCache::removeAXID): + (WebCore::AXObjectCache::handleActiveDescendantChanged): + (WebCore::AXObjectCache::handleAriaRoleChanged): + * page/AXObjectCache.h: + * page/AccessibilityImageMapLink.cpp: + (WebCore::AccessibilityImageMapLink::parentObject): + * page/AccessibilityListBox.cpp: + (WebCore::AccessibilityListBox::listBoxOptionAccessibilityObject): + (WebCore::AccessibilityListBox::doAccessibilityHitTest): + * page/AccessibilityListBoxOption.cpp: + (WebCore::AccessibilityListBoxOption::elementRect): + (WebCore::AccessibilityListBoxOption::parentObject): + * page/AccessibilityObject.cpp: + (WebCore::AccessibilityObject::detach): + (WebCore::AccessibilityObject::parentObjectIfExists): + (WebCore::replacedNodeNeedsCharacter): + (WebCore::AccessibilityObject::accessibilityObjectForPosition): + * page/AccessibilityObject.h: + * page/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::firstChild): + (WebCore::AccessibilityRenderObject::lastChild): + (WebCore::AccessibilityRenderObject::previousSibling): + (WebCore::AccessibilityRenderObject::nextSibling): + (WebCore::AccessibilityRenderObject::parentObjectIfExists): + (WebCore::AccessibilityRenderObject::parentObject): + (WebCore::AccessibilityRenderObject::isAttachment): + (WebCore::AccessibilityRenderObject::headingLevel): + (WebCore::AccessibilityRenderObject::anchorElement): + (WebCore::AccessibilityRenderObject::menuForMenuButton): + (WebCore::AccessibilityRenderObject::menuButtonForMenu): + (WebCore::AccessibilityRenderObject::checkboxOrRadioRect): + (WebCore::AccessibilityRenderObject::internalLinkElement): + (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers): + (WebCore::AccessibilityRenderObject::titleUIElement): + (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): + (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap): + (WebCore::AccessibilityRenderObject::getDocumentLinks): + (WebCore::AccessibilityRenderObject::doAccessibilityHitTest): + (WebCore::AccessibilityRenderObject::focusedUIElement): + (WebCore::AccessibilityRenderObject::activeDescendant): + (WebCore::AccessibilityRenderObject::observableObject): + (WebCore::AccessibilityRenderObject::childrenChanged): + (WebCore::AccessibilityRenderObject::addChildren): + * page/AccessibilityRenderObject.h: + (WebCore::AccessibilityRenderObject::setRenderObject): + * page/AccessibilityTable.cpp: + (WebCore::AccessibilityTable::addChildren): + (WebCore::AccessibilityTable::headerContainer): + (WebCore::AccessibilityTable::cellForColumnAndRow): + * page/AccessibilityTableCell.cpp: + (WebCore::AccessibilityTableCell::isTableCell): + (WebCore::AccessibilityTableCell::titleUIElement): + * page/AccessibilityTableColumn.cpp: + (WebCore::AccessibilityTableColumn::headerObjectForSection): + * page/AccessibilityTableRow.cpp: + (WebCore::AccessibilityTableRow::isTableRow): + * page/gtk/AccessibilityObjectWrapperAtk.cpp: + * page/mac/AXObjectCacheMac.mm: + (WebCore::AXObjectCache::postNotification): + (WebCore::AXObjectCache::postNotificationToElement): + * page/mac/AccessibilityObjectWrapper.mm: + (textMarkerForVisiblePosition): + (AXLinkElementForNode): + (nsStringForReplacedNode): + (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]): + (-[AccessibilityObjectWrapper accessibilityActionNames]): + (-[AccessibilityObjectWrapper accessibilityAttributeNames]): + (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]): + (-[AccessibilityObjectWrapper accessibilityHitTest:]): + (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]): + (-[AccessibilityObjectWrapper accessibilityIsIgnored]): + (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]): + (-[AccessibilityObjectWrapper accessibilityPerformPressAction]): + (-[AccessibilityObjectWrapper accessibilityPerformAction:]): + (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): + (-[AccessibilityObjectWrapper _accessibilityParentForSubview:]): + (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]): + (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]): + (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]): + +2009-02-25 Beth Dakin <bdakin@apple.com> + + Reviewed by Geoff Garen. + + Re-working of <rdar://problem/6487249> repro crash in + WebCore::CSSParser::parseFillImage copying entire contents of this + page + -and corresponding: https://bugs.webkit.org/show_bug.cgi?id=24172 + + Fixes a bunch of layout test failures I caused! + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + (WebCore::CSSParser::parseContent): + (WebCore::CSSParser::parseFillImage): + (WebCore::CSSParser::parseFontFaceSrc): + (WebCore::CSSParser::parseBorderImage): + +2009-02-25 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=24174 + Add more V8 custom bindings. + + * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: Added. + (WebCore::hasCSSPropertyNamePrefix): + (WebCore::cssPropertyName): + (WebCore::NAMED_PROPERTY_GETTER): + (WebCore::NAMED_PROPERTY_SETTER): + * bindings/v8/custom/V8DOMStringListCustom.cpp: Added. + (WebCore::INDEXED_PROPERTY_GETTER): + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8EventCustom.cpp: Added. + (WebCore::ACCESSOR_SETTER): + (WebCore::ACCESSOR_GETTER): + * bindings/v8/custom/V8HTMLDocumentCustom.cpp: Added. + (WebCore::NAMED_PROPERTY_DELETER): + (WebCore::NAMED_PROPERTY_SETTER): + (WebCore::NAMED_PROPERTY_GETTER): + * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp: Added. + (WebCore::NAMED_PROPERTY_GETTER): + * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Added. + (WebCore::INDEXED_PROPERTY_GETTER): + (WebCore::NAMED_PROPERTY_GETTER): + * bindings/v8/custom/V8NodeListCustom.cpp: Added. + (WebCore::NAMED_PROPERTY_GETTER): + * bindings/v8/custom/V8StyleSheetListCustom.cpp: Added. + (WebCore::NAMED_PROPERTY_GETTER): + +2009-02-25 Scott Violet <sky@google.com> + + Reviewed by Dave Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=24171 + Provides a RenderTheme method for getting the scroll bar size and + changes RenderListBox to use it. RenderTheme returns a size of regular, + and Mac's override to return small. Changes ScrollbarThemeChromium to + use the scrollbarsize of the scrollbar when getting the size + instead of passing in no-args. + + * platform/chromium/ScrollbarThemeChromium.cpp: + (WebCore::ScrollbarThemeChromium::trackRect): + (WebCore::ScrollbarThemeChromium::buttonSize): + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::createScrollbar): + * rendering/RenderTheme.h: + (WebCore::RenderTheme::scrollbarControlSizeForPart): + * rendering/RenderThemeChromiumMac.h: + (WebCore::RenderThemeChromiumMac::scrollbarControlSizeForPart): + * rendering/RenderThemeMac.h: + (WebCore::RenderThemeMac::scrollbarControlSizeForPart): + +2009-02-25 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin Adler. + + Fix for <rdar://problem/6487249> repro crash in + WebCore::CSSParser::parseFillImage copying entire contents of this + page + -and corresponding: https://bugs.webkit.org/show_bug.cgi?id=24172 + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): Null-check m_styleSheet + +2009-02-25 Adam Treat <adam.treat@torchmobile.com> + + Fix the Qt build. + + * WebCore.pro: + +2009-02-25 Jan Michael Alonzo <jmalonzo@webkit.org> + + Gtk build fix. Not reviewed. + + Add files to the build per r41218. + Rename WebkitPoint.h to WebKitPoint.h in DOMWindow.cpp + + * GNUmakefile.am: + * page/DOMWindow.cpp: + +2009-02-25 Zan Dobersek <zandobersek@gmail.com> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=24043 + When faced with URLs with unsupported protocol on Gtk port, + report the error through an idle function and return true, so + a proper resource handle is created. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::reportUnknownProtocolError): + (WebCore::ResourceHandle::start): + +2009-02-25 Steve Falkenburg <sfalken@apple.com> + + Windows build fix. + Use struct to forward declare ResourceRequest. + + * history/HistoryItem.h: + * inspector/InspectorController.h: + * loader/DocumentThreadableLoader.h: + * loader/FrameLoaderClient.h: + * loader/MainResourceLoader.h: + * loader/SubresourceLoader.h: + * loader/SubresourceLoaderClient.h: + * loader/ThreadableLoader.h: + * loader/WorkerThreadableLoader.h: + * platform/CrossThreadCopier.h: + * platform/network/ResourceHandle.h: + * platform/network/ResourceHandleClient.h: + * platform/network/ResourceRequestBase.h: + * platform/network/cf/ResourceRequestCFNet.h: + * xml/XMLHttpRequest.h: + +2009-02-25 Steve Falkenburg <sfalken@apple.com> + + Partial Windows build fix. + + * DerivedSources.cpp: + * WebCore.vcproj/WebCore.vcproj: + +2009-02-25 Dirk Schulze <krit@webkit.org> + + Reviewed by Oliver Hunt. + + Ported arcTo to Qt. Qt has no native support for arcTo. This changes + calculate the behavior of arcTo and draws it with lineTo and arc. + + [QT] implement Canvas arcTo + https://bugs.webkit.org/show_bug.cgi?id=23873 + + * platform/graphics/qt/PathQt.cpp: + (WebCore::Path::addArcTo): + +2009-02-25 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein + + Remove idl files from Resources, and sort. + + * WebCore.xcodeproj/project.pbxproj: + +2009-02-25 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=23943 + + Added webkitConvertPointFromNodeToPage and webkitConvertPointFromPageToNode on + the window object. Also added WebKitPoint object, which is passed in and out + of these functions. + + Test: fast/dom/Window/webkitConvertPoint.html + + * DerivedSources.make: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * bindings/js/JSDOMWindowBase.cpp: + (jsDOMWindowBaseWebKitPoint): + (setJSDOMWindowBaseWebKitPoint): + * bindings/js/JSWebKitPointConstructor.cpp: Added. + (WebCore::): + (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor): + (WebCore::constructWebKitPoint): + (WebCore::JSWebKitPointConstructor::getConstructData): + * bindings/js/JSWebKitPointConstructor.h: Added. + (WebCore::JSWebKitPointConstructor::classInfo): + * dom/Node.cpp: + (WebCore::Node::convertToPage): + (WebCore::Node::convertFromPage): + * dom/Node.h: + * page/DOMWindow.cpp: + (WebCore::DOMWindow::webkitConvertPointFromNodeToPage): + (WebCore::DOMWindow::webkitConvertPointFromPageToNode): + * page/DOMWindow.h: + * page/DOMWindow.idl: + * page/WebKitPoint.h: Added. + (WebCore::WebKitPoint::create): + (WebCore::WebKitPoint::x): + (WebCore::WebKitPoint::y): + (WebCore::WebKitPoint::setX): + (WebCore::WebKitPoint::setY): + (WebCore::WebKitPoint::WebKitPoint): + * page/WebKitPoint.idl: Added. + +2009-02-25 Jian Li <jianli@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Remove "#if ENABLE(WORKERS)" wrap from CrossThreadCopier files. + https://bugs.webkit.org/show_bug.cgi?id=24145 + + * platform/CrossThreadCopier.cpp: + * platform/CrossThreadCopier.h: + +2009-02-25 David Levin <levin@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Bug 23688: ThreadableLoader needs a sync implementation for Workers. + <https://bugs.webkit.org/show_bug.cgi?id=23688> + + No observable change in behavior, so no test. + + * loader/ThreadableLoader.cpp: + (WebCore::ThreadableLoader::loadResourceSynchronously): + * loader/ThreadableLoaderClientWrapper.h: + (WebCore::ThreadableLoaderClientWrapper::clearClient): + (WebCore::ThreadableLoaderClientWrapper::done): + (WebCore::ThreadableLoaderClientWrapper::didFinishLoading): + (WebCore::ThreadableLoaderClientWrapper::didFail): + (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck): + (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper): + Expose whether the loader is done (based on what callbacks were done). + + * loader/WorkerThreadableLoader.cpp: + (WebCore::WorkerThreadableLoader::WorkerThreadableLoader): + (WebCore::WorkerThreadableLoader::loadResourceSynchronously): + Each loader is given its own mode so that only its callbacks get through the run loop. + + The xhr spec says that the readystatechange events are synchronous, so in the case of a + nested sync xhr no readystatechange events should be fired for the outer xhr. + + (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): + + * loader/WorkerThreadableLoader.h: + (WebCore::WorkerThreadableLoader::create): + (WebCore::WorkerThreadableLoader::done): + + * workers/WorkerRunLoop.cpp: + (WebCore::WorkerRunLoop::WorkerRunLoop): + * workers/WorkerRunLoop.h: + (WebCore::WorkerRunLoop::createUniqueId): + Simple method to create a uniqueId on demand with respect to the run loop. + + * workers/WorkerThread.h: + +2009-02-25 David Levin <levin@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Bug 24089: ThreadableLoader::loadResourceSynchronously should do callbacks like the async code. + <https://bugs.webkit.org/show_bug.cgi?id=24089> + + Make threadable loader callbacks to happen during the sync load call. + + Changes the behavior of sync xhr for insecure redirects in two ways: + + Sends an error event instead of an abort event (which is the same as async xhr's behavior). + + Throws a network exception which is what other browsers do and what the spec + says to do (http://www.w3.org/TR/XMLHttpRequest/). + + * loader/DocumentThreadableLoader.cpp: + (WebCore::DocumentThreadableLoader::loadResourceSynchronously): + * loader/DocumentThreadableLoader.h: + * loader/ThreadableLoader.cpp: + (WebCore::ThreadableLoader::loadResourceSynchronously): + * loader/ThreadableLoader.h: + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::XMLHttpRequest): + (WebCore::XMLHttpRequest::loadRequestSynchronously): + (WebCore::XMLHttpRequest::loadRequestAsynchronously): + (WebCore::XMLHttpRequest::didFail): + (WebCore::XMLHttpRequest::didFailRedirectCheck): + * xml/XMLHttpRequest.h: + +2009-02-24 Chris Marrin <cmarrin@apple.com> + + Reviewed by David Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=23368 + + Added logic to correctly hit test accelerated layers. + + Tests: animations/animation-hit-test-transform.html + animations/animation-hit-test.html + transitions/transition-hit-test-transform.html + transitions/transition-hit-test.html + + * page/animation/KeyframeAnimation.cpp: + (WebCore::KeyframeAnimation::animate): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::hitTestLayer): + (WebCore::RenderLayer::updateClipRects): + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): + +2009-02-25 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=24067 + REGRESSION: Crash in WebCore::Document::initSecurityContext + + The crash started to happen when we removed a check for frame->document() being null. + However, the original document shouldn't be null here, because it is needed to alias + security origins. So, this patch fixes the crash by correcting security origin behavior. + + Test: http/tests/security/aboutBlank/window-open-self-about-blank.html + This tests for not crashing, and for inheriting the domain from the document being replaced. + Preserving the aliasing cannot be tested for automatically, because we'd need a non-trivial + domain to remove a prefix from. + + * loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): Create a new document before + clearing the frame, so that Document::initSecurityContext() could access the old one. + +2009-02-25 Jay Campan <jcampan@google.com> + + Reviewed by Darin Fisher. + + https://bugs.webkit.org/show_bug.cgi?id=24066 + + Items in drop-downs were not painted correctly. Makes sure the + PopupListBox invalidates in the coordinates of the window as this is + FramelessScrollView::invalidateRect paints to. + + * platform/chromium/PopupMenuChromium.cpp: + (WebCore::PopupListBox::invalidateRow): + +2009-02-24 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Anders Carlsson + + https://bugs.webkit.org/show_bug.cgi?id=15081 + + Make display:none work for applet, emebed and object elements + by calling rendererIsNeeded() on superclasses. + + Tests: fast/replaced/applet-display-none.html + fast/replaced/embed-display-none.html + fast/replaced/object-display-none.html + + * html/HTMLAppletElement.cpp: + (WebCore::HTMLAppletElement::rendererIsNeeded): + * html/HTMLElement.cpp: + (WebCore::HTMLElement::rendererIsNeeded): + * html/HTMLEmbedElement.cpp: + (WebCore::HTMLEmbedElement::rendererIsNeeded): + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::rendererIsNeeded): + +2009-02-24 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=24137 + + Fix localToAbsolute() and absoluteToLocal() to map points through 3d transforms, + taking perspective and transform-style: preserve-3d into account. + + In order to support transform-style: preserve-3d, which keeps elements in a + 3d space, we have to carry along an accumulated matrix in TransformState. + We also need to apply the perspective from the parent, if any, with the + appropriate origin. + + * GNUmakefile.am: + * WebCore.base.exp: + * WebCore.pro: + * WebCore.scons: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * platform/graphics/transforms/TransformationMatrix.cpp: + (WebCore::TransformationMatrix::translate): + (WebCore::TransformationMatrix::translate3d): + (WebCore::TransformationMatrix::translateRight3d): + * platform/graphics/transforms/TransformationMatrix.h: + * rendering/RenderBox.cpp: + (WebCore::RenderBox::mapLocalToAbsolutePoint): + (WebCore::RenderBox::mapAbsoluteToLocalPoint): + * rendering/RenderBox.h: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateTransform): + (WebCore::RenderLayer::perspectiveTransform): + (WebCore::RenderLayer::perspectiveOrigin): + * rendering/RenderLayer.h: + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): + * rendering/RenderLayerCompositor.cpp: + (WebCore::requiresCompositingLayerForTransform): + (WebCore::RenderLayerCompositor::layerHas3DContent): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::localToAbsolute): + (WebCore::RenderObject::absoluteToLocal): + (WebCore::RenderObject::mapLocalToAbsolutePoint): + (WebCore::RenderObject::mapAbsoluteToLocalPoint): + * rendering/RenderObject.h: + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::mapLocalToAbsolutePoint): + (WebCore::RenderTableCell::mapAbsoluteToLocalPoint): + * rendering/RenderTableCell.h: + * rendering/RenderView.cpp: + (WebCore::RenderView::mapLocalToAbsolutePoint): + (WebCore::RenderView::mapAbsoluteToLocalPoint): + * rendering/RenderView.h: + * rendering/TransformState.cpp: Added. + (WebCore::TransformState::move): + (WebCore::TransformState::applyTransform): + (WebCore::TransformState::flatten): + * rendering/TransformState.h: Added. + (WebCore::TransformState::): + (WebCore::TransformState::TransformState): + (WebCore::TransformState::move): + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::hasPerspective): + +2009-02-24 Sam Weinig <sam@webkit.org> + + Reviewed by David Hyatt. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=23990 + Regression (r40837): JavaScript image popup doesn't work + + Make the getClientRects and getBoundingClientRect methods return rects + relative to the viewport. + + Test: fast/dom/getBoundingClientRect-getClientRects-relative-to-viewport.html + + * dom/Element.cpp: + (WebCore::Element::getClientRects): + (WebCore::Element::getBoundingClientRect): + +2009-02-24 Ojan Vafai <ojan@chromium.org> + + Reviewed by Eric Seidel. + + SVG pages don't have a body or an html element! + Don't return early if there is no body. + + * editing/VisiblePosition.cpp: + (WebCore::VisiblePosition::canonicalPosition): + +2009-02-23 David Hyatt <hyatt@apple.com> + + Reviewed by Eric Seidel + + https://bugs.webkit.org/show_bug.cgi?id=23740, painting order wrong for normal flow elements with overflow: hidden + + This patch reworks the painting of overflow. There is now the concept of a "self-painting layer." All + layers are considered to be self-painting except for overflow layers that are normal flow (and that don't have + reflections or masks). + + If an overflow layer is not self-painting, then it ends up painted by its parent just like any other normal flow object. + The only difference is that the clip has to be pushed and popped when painting the object's children. + + The lightweight clipping scheme used for controls has been extended to cover overflow now in this simplified case. With + the code consolidated into reusable push/pop functions, all of the renderers that use overflow have been patched to + use the new functions. + + Hit testing has also been patched to check the overflow clip rect first before recurring into children. + + Scrollbar paint has been moved into RenderBlock for now, since none of the table objects support scrollbars + yet, and scrollbar hit testing was already there anyway. Now the two code paths are more symmetrical. + + Masks are now treated like normal flow layers (just like reflections). + + A couple of test cases have been added to fast/overflow to test the stacking order. + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::nodeAtPoint): + (WebCore::InlineFlowBox::paint): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::repaintOverhangingFloats): + (WebCore::RenderBlock::paint): + (WebCore::RenderBlock::paintChildren): + (WebCore::RenderBlock::paintObject): + (WebCore::RenderBlock::paintFloats): + (WebCore::RenderBlock::insertFloatingObject): + (WebCore::RenderBlock::floatRect): + (WebCore::RenderBlock::lowestPosition): + (WebCore::RenderBlock::rightmostPosition): + (WebCore::RenderBlock::leftmostPosition): + (WebCore::RenderBlock::addOverhangingFloats): + (WebCore::RenderBlock::nodeAtPoint): + (WebCore::RenderBlock::hitTestContents): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::nodeAtPoint): + (WebCore::RenderBox::pushContentsClip): + (WebCore::RenderBox::popContentsClip): + * rendering/RenderBox.h: + (WebCore::RenderBox::paintObject): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::hasSelfPaintingLayer): + * rendering/RenderBoxModelObject.h: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::paintLayer): + (WebCore::RenderLayer::hitTestLayer): + (WebCore::RenderLayer::shouldBeNormalFlowOnly): + (WebCore::RenderLayer::isSelfPaintingLayer): + * rendering/RenderLayer.h: + * rendering/RenderTable.cpp: + (WebCore::RenderTable::paint): + (WebCore::RenderTable::paintObject): + (WebCore::RenderTable::nodeAtPoint): + * rendering/RenderTable.h: + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::paint): + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::nodeAtPoint): + (WebCore::RenderTableRow::paint): + * rendering/RenderTableRow.h: + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::paint): + (WebCore::RenderTableSection::paintObject): + (WebCore::RenderTableSection::nodeAtPoint): + * rendering/RenderTableSection.h: + * rendering/RenderTreeAsText.cpp: + (WebCore::write): + (WebCore::writeLayers): + +2009-02-24 David Levin <levin@chromium.org> + + Reviewed by NOBODY (build fix). + + Attempted build fix for wx-mac. + + * WebCoreSources.bkl: + +2009-02-24 David Levin <levin@chromium.org> + + Reviewed by NOBODY (build fix). + + Attempted build fixes for qt-linux and wx-mac. + + * WebCore.pro: + * webcore-base.bkl: + +2009-02-24 Ojan Vafai <ojan@dhcp-172-31-134-214.sfo.corp.google.com> + + Reviewed by Sam Weinig. + + Fix null pointer error. If the node is the Document, then ownerDocument() + returns null, document() does not. + + * editing/VisiblePosition.cpp: + (WebCore::VisiblePosition::canonicalPosition): + +2009-02-24 Jian Li <jianli@chromium.org> + + Reviewed by NOBODY (attempted build fixes). + + Fix build break for Windows and Linux. + + * GNUmakefile.am: + * WebCore.vcproj/WebCore.vcproj: + +2009-02-24 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=24131 + Fix-up COM/RefCounted dichotomy in Chromium port. + + * page/chromium/AccessibilityObjectWrapper.h: + (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): Added + explicit setting of recount. + +2009-02-24 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=24141 + Add clarity to V8 interceptor helper function. + + * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp: + (WebCore::NAMED_PROPERTY_GETTER): Renamed to notHandledByInterceptor. + (WebCore::NAMED_PROPERTY_SETTER): Ditto. + (WebCore::INDEXED_PROPERTY_GETTER): Ditto. + (WebCore::INDEXED_PROPERTY_SETTER): Ditto. + +2009-02-24 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Eric Seidel + + Minor numeric cleanup: convert float literals to doubles. + + * platform/graphics/transforms/RotateTransformOperation.cpp: + (WebCore::RotateTransformOperation::blend): + +2009-02-24 Mark Mentovai <mark@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=24139 + Add missing include. + + * bindings/v8/ScriptInstance.h: + +2009-02-24 Jian Li <jianli@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Move worker related files from dom directory to worker directory under WebCore. + https://bugs.webkit.org/show_bug.cgi?id=24123 + + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.pro: + * WebCore.scons: + * WebCore.vcproj/MigrateIDLAndScripts: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/CrossThreadCopier.cpp: Renamed from WebCore/dom/CrossThreadCopier.cpp. + * platform/CrossThreadCopier.h: Renamed from WebCore/dom/CrossThreadCopier.h. + * workers/GenericWorkerTask.h: Renamed from WebCore/dom/GenericWorkerTask.h. + * workers/Worker.cpp: Renamed from WebCore/dom/Worker.cpp. + * workers/Worker.h: Renamed from WebCore/dom/Worker.h. + * workers/Worker.idl: Renamed from WebCore/dom/Worker.idl. + * workers/WorkerContext.cpp: Renamed from WebCore/dom/WorkerContext.cpp. + * workers/WorkerContext.h: Renamed from WebCore/dom/WorkerContext.h. + * workers/WorkerContext.idl: Renamed from WebCore/dom/WorkerContext.idl. + * workers/WorkerContextProxy.h: Renamed from WebCore/dom/WorkerContextProxy.h. + * workers/WorkerLocation.cpp: Renamed from WebCore/dom/WorkerLocation.cpp. + * workers/WorkerLocation.h: Renamed from WebCore/dom/WorkerLocation.h. + * workers/WorkerLocation.idl: Renamed from WebCore/dom/WorkerLocation.idl. + * workers/WorkerMessagingProxy.cpp: Renamed from WebCore/dom/WorkerMessagingProxy.cpp. + * workers/WorkerMessagingProxy.h: Renamed from WebCore/dom/WorkerMessagingProxy.h. + * workers/WorkerObjectProxy.h: Renamed from WebCore/dom/WorkerObjectProxy.h. + * workers/WorkerRunLoop.cpp: Renamed from WebCore/dom/WorkerRunLoop.cpp. + * workers/WorkerRunLoop.h: Renamed from WebCore/dom/WorkerRunLoop.h. + * workers/WorkerThread.cpp: Renamed from WebCore/dom/WorkerThread.cpp. + * workers/WorkerThread.h: Renamed from WebCore/dom/WorkerThread.h. + +2009-02-05 Ojan Vafai <ojan@chromium.org> and Eric Seidel <eric@webkit.org> + + Reviewed by Dave Hyatt. + + Make cursor positions match IE6/IE7/FF3 when clicking in margins/padding + around divs inside editable regions. + https://bugs.webkit.org/show_bug.cgi?id=23605 + + Fix clicks outside editable regions from focusing the editable region. + https://bugs.webkit.org/show_bug.cgi?id=23607 + + Removed editing/selection/contenteditable-click-outside.html as it's + not as useful as our new tests. + + Clean up RenderBlock::positionForCoordinates to remove dead code, + duplicate code, and generally make it more readable. + + Tests: editing/selection/click-in-margins-inside-editable-div.html + editing/selection/click-in-padding-with-multiple-line-boxes.html + editing/selection/click-outside-editable-div.html + + * editing/VisiblePosition.cpp: + (WebCore::VisiblePosition::canonicalPosition): + * rendering/RenderBlock.cpp: + (WebCore::positionForPointRespectingEditingBoundaries): + (WebCore::positionForPointWithInlineChildren): + (WebCore::RenderBlock::positionForCoordinates): + (WebCore::RenderBlock::updateFirstLetter): + +2009-02-24 Sam Weinig <sam@webkit.org> + + Reviewed by Geoffrey Garen. + + Related to <rdar://problem/6590295> + Allow disabling javascript: urls. + + * WebCore.base.exp: + * html/HTMLAnchorElement.cpp: + (WebCore::HTMLAnchorElement::parseMappedAttribute): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::executeIfJavaScriptURL): + * page/Page.cpp: + (WebCore::Page::Page): + (WebCore::Page::setJavaScriptURLsAreAllowed): + (WebCore::Page::javaScriptURLsAreAllowed): + * page/Page.h: + +2009-02-24 Simon Fraser <simon.fraser@apple.com> + + Fix build when ACCELERATED_COMPOSITING is turned on + (overflowList() -> normalFlowList()). + + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::hasNonCompositingContent): + (WebCore::RenderLayerBacking::paintIntoLayer): + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::calculateCompositedBounds): + (WebCore::RenderLayerCompositor::computeCompositingRequirements): + (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): + (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect): + (WebCore::RenderLayerCompositor::layerHas3DContent): + +2009-02-24 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler + + https://bugs.webkit.org/show_bug.cgi?id=24135 + + Round the FloatPoint returned by absoluteToLocal(), rather than + truncating it. + + * dom/MouseRelatedEvent.cpp: + (WebCore::MouseRelatedEvent::receivedTarget): + +2009-02-24 Beth Dakin <bdakin@apple.com> + + Reviewed by Sam Weinig. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=24004 REGRESSION: + Ordered list item marker misaligned when line height is not 1.2 + -and corresponding <rdar://problem/6602506> + + This is a regression from http://trac.webkit.org/changeset/40880 + where createInlineBox was taken off of RenderObject and moved to + RenderBox. The problem was that the RenderBox version still needs + to be virtual because there is still an existing implementation in + RenderListMarker. + + * rendering/RenderBox.h: + * rendering/RenderListMarker.cpp: + (WebCore::RenderListMarker::createInlineBox): + * rendering/RenderListMarker.h: + +2009-02-24 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=24128 + Upstream more V8 custom bindings: constructors, XSLTProcessor. + + * bindings/v8/custom/V8DOMParserConstructor.cpp: Added. + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8MessageChannelConstructor.cpp: Added. + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: Added. + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8XMLSerializerConstructor.cpp: Added. + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp: Added. + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8XSLTProcessorCustom.cpp: Added. + (WebCore::CALLBACK_FUNC_DECL): + +2009-02-24 David Levin <levin@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Bug 24090: WorkerThreadableLoader needs to be able to post tasks for a mode. + <https://bugs.webkit.org/show_bug.cgi?id=24090> + + No observable change in behavior, so no test. + + * dom/WorkerMessagingProxy.cpp: + (WebCore::WorkerMessagingProxy::postMessageToWorkerContext): + (WebCore::WorkerMessagingProxy::postTaskToWorkerContext): + Fixed the bug that m_unconfirmedMessageCount was getting incremented for non-message tasks. + + (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerContext): + + * dom/WorkerMessagingProxy.h: + * loader/ThreadableLoader.cpp: + (WebCore::ThreadableLoader::create): + * loader/WorkerThreadableLoader.cpp: + (WebCore::WorkerThreadableLoader::WorkerThreadableLoader): + (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): + (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData): + (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse): + (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData): + (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading): + (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail): + (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck): + (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation): + Changed these methods to post task using a mode. + + * loader/WorkerThreadableLoader.h: + (WebCore::WorkerThreadableLoader::create): + +2009-02-24 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=24091 + <rdar://problem/6468660> Start of redirect chain ends up as master entry in Application Cache + + Test: http/tests/appcache/access-via-redirect.php + + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): Use the URL we ended up with, + not the original one. + +2009-02-24 Jian Li <jianli@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Change to include WorkerObjectProxy.h instead of WorkerMessagingProxy.h in WorkerContext.cpp and WorkerScriptController.cpp. + https://bugs.webkit.org/show_bug.cgi?id=24112 + + * bindings/js/WorkerScriptController.cpp: + * dom/WorkerContext.cpp: + +2009-02-23 Antti Koivisto <antti@apple.com> + + Reviewed by Oliver Hunt. + + <rdar://problem/6613796> Extended text codecs registered on webview creation + + Comparing a text encoding with string "GBK" ended up constructing + TextEncoding("GBK") which in turn initialized all extended + text codecs. + + * platform/text/TextCodecICU.cpp: + (WebCore::TextCodecICU::decode): + +2009-02-23 Sam Weinig <sam@webkit.org> + + Fix Qt build. + + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::valueRealType): + +2009-02-23 Julien Chaffraix <jchaffraix@webkit.org> + + Reviewed by Darin Adler. + + Bug 23956: Safari crashes when cloneNode fails (cloning a XML element with an invalid nodeName) + + The crash occurred because Document::cloneNode would call Document::createElementNS. Unfortunately + element created with createElement could have a wrong nodeName (createElement sets the string as the + localName without checking for a prefix). + + The fix is to call Document::createElement(const QualifiedName&, bool) that will not do any checks on the QualifiedName + and will always succeed. + Also rolled-out the HTMLElement specialisation of clonedNode as it was equivalent to what is done now (added an ASSERT + to ensure that). + + Test: fast/dom/cloneNode.html + + * dom/Element.cpp: + (WebCore::Element::cloneNode): Call createElement(const QualifiedName&, bool) instead of createElementNS as it will + always return an element. + + * html/HTMLElement.cpp: + * html/HTMLElement.h: Removed HTMLElement::clonedNode as it is equivalent to what is now done. + +2009-02-23 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=24109 + Upstream V8 Script abstractions, all except ScriptController. + + * bindings/v8/ScriptCachedFrameData.h: Added. + (WebCore::ScriptCachedFrameData::ScriptCachedFrameData): + (WebCore::ScriptCachedFrameData::~ScriptCachedFrameData): + (WebCore::ScriptCachedFrameData::restore): + (WebCore::ScriptCachedFrameData::clear): + (WebCore::ScriptCachedFrameData::domWindow): + * bindings/v8/ScriptCallFrame.cpp: Added. + (WebCore::ScriptCallFrame::ScriptCallFrame): + (WebCore::ScriptCallFrame::~ScriptCallFrame): + (WebCore::ScriptCallFrame::argumentAt): + * bindings/v8/ScriptCallFrame.h: Added. + (WebCore::ScriptCallFrame::functionName): + (WebCore::ScriptCallFrame::sourceURL): + (WebCore::ScriptCallFrame::lineNumber): + (WebCore::ScriptCallFrame::argumentCount): + * bindings/v8/ScriptCallStack.cpp: Added. + (WebCore::ScriptCallStack::ScriptCallStack): + (WebCore::ScriptCallStack::~ScriptCallStack): + (WebCore::ScriptCallStack::at): + * bindings/v8/ScriptCallStack.h: Added. + (WebCore::ScriptCallStack::size): + * bindings/v8/ScriptInstance.cpp: Added. + (WebCore::V8ScriptInstance::V8ScriptInstance): + (WebCore::V8ScriptInstance::~V8ScriptInstance): + (WebCore::V8ScriptInstance::instance): + (WebCore::V8ScriptInstance::clear): + (WebCore::V8ScriptInstance::set): + * bindings/v8/ScriptInstance.h: Added. + (WebCore::V8ScriptInstance::create): + * bindings/v8/ScriptSourceCode.h: Added. + (WebCore::ScriptSourceCode::ScriptSourceCode): + (WebCore::ScriptSourceCode::isEmpty): + (WebCore::ScriptSourceCode::source): + (WebCore::ScriptSourceCode::url): + (WebCore::ScriptSourceCode::startLine): + * bindings/v8/ScriptState.h: Added. + (WebCore::ScriptState::hadException): + (WebCore::ScriptState::setException): + (WebCore::ScriptState::exception): + * bindings/v8/ScriptString.h: Added. + (WebCore::ScriptString::ScriptString): + (WebCore::ScriptString::operator String): + (WebCore::ScriptString::isNull): + (WebCore::ScriptString::size): + (WebCore::ScriptString::operator=): + (WebCore::ScriptString::operator+=): + * bindings/v8/ScriptValue.cpp: Added. + (WebCore::ScriptValue::getString): + * bindings/v8/ScriptValue.h: Added. + (WebCore::ScriptValue::ScriptValue): + (WebCore::ScriptValue::operator=): + (WebCore::ScriptValue::operator==): + (WebCore::ScriptValue::operator!=): + (WebCore::ScriptValue::isNull): + (WebCore::ScriptValue::isUndefined): + (WebCore::ScriptValue::clear): + (WebCore::ScriptValue::~ScriptValue): + (WebCore::ScriptValue::v8Value): + +2009-02-23 Adam Treat <adam.treat@torchmobile.com> + + Reviewed by Timothy Hatcher. + + https://bugs.webkit.org/show_bug.cgi?id=24106 + The Qt port is crashing on exit because the tear down procedure involves + the WebCore::InspectorController trying to access the JS execution context + for a page that is being deleted. This patch amends the inspector so + that it does not try and access the execution context of the WebCore::Page + in the midst of deletion. + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::inspectedPageDestroyed): + (WebCore::InspectorController::stopUserInitiatedProfiling): + +2009-02-23 David Levin <levin@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Bug 24088: ThreadableLoaderClient::didFailWillSendRequestCheck isn't wired up completely for workers and could use a better name. + <https://bugs.webkit.org/show_bug.cgi?id=24088> + + No observable change in behavior, so no test. + + * loader/DocumentThreadableLoader.cpp: + (WebCore::DocumentThreadableLoader::create): + * loader/ThreadableLoaderClient.h: + (WebCore::ThreadableLoaderClient::didFailRedirectCheck): + * loader/ThreadableLoaderClientWrapper.h: + (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck): + * loader/WorkerThreadableLoader.cpp: + (WebCore::workerContextDidFailRedirectCheck): + (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck): + * loader/WorkerThreadableLoader.h: + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::didFinishLoading): + * xml/XMLHttpRequest.h: + +2009-02-23 David Levin <levin@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Bug 24047: Need to simplify nested if's in WorkerRunLoop::runInMode + <https://bugs.webkit.org/show_bug.cgi?id=24047> + + Made a nested if inside of WorkerRunLoop::runInMode a lot simpler by + using only MessageQueue::waitForMessageFilteredWithTimeout instead + of three different MessageQueue methods. + + No observable change in behavior, so no test. + + * dom/WorkerRunLoop.cpp: + (WebCore::ModePredicate::operator()): + Minor clean-up to able to pass a const ref point for ModePredicate into runInMode. + (WebCore::WorkerRunLoop::runInMode): + * dom/WorkerRunLoop.h: + +2009-02-23 David Hyatt <hyatt@apple.com> + + In preparation for making layers for multicol objects (so that they can properly split child layers + into multiple columns), rename all of the "overflowOnly" and "overflowList" members and functions + of RenderLayer to use the term "normal flow" instead. + + Reviewed by Cameron Zwarich + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::RenderLayer): + (WebCore::RenderLayer::~RenderLayer): + (WebCore::RenderLayer::setHasVisibleContent): + (WebCore::RenderLayer::enclosingCompositingLayer): + (WebCore::RenderLayer::addChild): + (WebCore::RenderLayer::removeChild): + (WebCore::RenderLayer::paintLayer): + (WebCore::RenderLayer::hitTestLayer): + (WebCore::RenderLayer::dirtyNormalFlowList): + (WebCore::RenderLayer::updateNormalFlowList): + (WebCore::RenderLayer::collectLayers): + (WebCore::RenderLayer::updateLayerListsIfNeeded): + (WebCore::RenderLayer::shouldBeNormalFlowOnly): + (WebCore::RenderLayer::styleChanged): + * rendering/RenderLayer.h: + (WebCore::RenderLayer::isNormalFlowOnly): + (WebCore::RenderLayer::normalFlowList): + * rendering/RenderTreeAsText.cpp: + (WebCore::writeLayers): + +2009-02-23 David Hyatt <hyatt@apple.com> + + Fix the stacking order for column rules in multi-column layout. Column rules should paint as part of the background of an element, just + after all other components of the background have been painted. This allows negative z-index children to still paint on top of the + column rules (rather than ending up above the background of the box but behind the column rules). + + Reviewed by Eric Seidel + + Added fast/multicol/column-rules-stacking.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::paintColumnRules): + (WebCore::RenderBlock::paintColumnContents): + (WebCore::RenderBlock::paintObject): + * rendering/RenderBlock.h: + +2009-02-23 Adam Treat <adam.treat@torchmobile.com> + + Reviewed by David Hyatt. + + No testcases have been added or modified since this patch should not result in + a behavior change for ports that have layout tests enabled. + + Currently, the implementation of GraphicsContext::drawLineForText amongst + the various ports differ in that some of them are honoring the context's + strokeStyle when drawing a text-decoration and some of them are not. + For instance, Apple's Mac port *does not* honor the context's strokeStyle(), + but the Cairo implementation does and has an explicit workaround that + sets the strokeStyle() temporarily. + + This patch fixes so that all ports are consistent by explicitly making sure + to set the GraphicsContext strokeStyle to SolidStroke whenever + painting the text-decoration of an InlineFlowBox or InlineTextBox as these + should always use a solid stroke. + + This patch addresses these bugs: + https://bugs.webkit.org/show_bug.cgi?id=19364 + https://bugs.webkit.org/show_bug.cgi?id=15659 + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::paintTextDecorations): + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::paintDecoration): + +2009-02-23 Scott Violet <sky@google.com> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=24098 + Bugs in ClipboardChromium + + Fixes the following bugs in ClipboardChromium: + * It's possible for the extension to be empty, resulting in a bad file + name, for example, 'foo.' or just '.'. + * We weren't restricting the size of the file to MAX_PATH. + * We weren't removing characters that are invalid for file system names. + + * platform/chromium/ClipboardChromium.cpp: + (WebCore::writeImageToDataObject): + * platform/chromium/ClipboardChromium.h: + * platform/chromium/ClipboardChromiumLinux.cpp: Added. + (WebCore::ClipboardChromium::validateFileName): + * platform/chromium/ClipboardChromiumMac.cpp: Added. + (WebCore::ClipboardChromium::validateFileName): + * platform/chromium/ClipboardChromiumWin.cpp: Added. + (WebCore::isInvalidFileCharacter): + (WebCore::ClipboardChromium::validateFileName): + +2009-02-23 Thiago Macieira <thiago.macieira@nokia.com> + + Reviewed by Simon Hausmann. + + Fix the Copyright notices in a few files + + * platform/qt/RenderThemeQt.h: + +2009-02-23 Xan Lopez <xan@gnome.org> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=22624 + [SOUP][GTK] Need API to get SoupSession from WebKit. + + Allow to retrieve the Soup session and modify the code to take + into account users changing features on it. + + * platform/network/ResourceHandle.h: + * platform/network/soup/CookieJarSoup.cpp: + (WebCore::defaultCookieJar): + (WebCore::setDefaultCookieJar): + * platform/network/soup/CookieJarSoup.h: + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::createSoupSession): + (WebCore::ensureSessionIsInitialized): + (WebCore::ResourceHandle::startHttp): + (WebCore::ResourceHandle::cancel): + (WebCore::ResourceHandle::defaultSession): + +2009-02-23 Xan Lopez <xan@gnome.org> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=22624 + [SOUP][GTK] Need API to get SoupSession from WebKit. + + Remove CURL support. + + * GNUmakefile.am: + +2009-02-23 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Mark Rowe. + + Test: fast/dom/empty-hash-and-search.html + + https://bugs.webkit.org/show_bug.cgi?id=21147 + hash property returns incorrect value for links w/o hash + + Make hash() and search() behavior for empty and missing parts match IE and Firefox. + + * platform/KURL.cpp: + (WebCore::KURL::query): Changed to return query without '?', as it is already done for ref(). + (WebCore::KURL::prettyURL): Append the query with the question mark. + + * page/Location.cpp: + (WebCore::Location::search): Return an empty string if query is empty or missing. + (WebCore::Location::hash): Return an empty string for empty hashes, not only missing ones. + + * dom/WorkerLocation.cpp: + (WebCore::WorkerLocation::search): + (WebCore::WorkerLocation::hash): + Match document.location fixes above. + + * html/HTMLAnchorElement.cpp: + (WebCore::HTMLAnchorElement::hash): + (WebCore::HTMLAnchorElement::search): + Return an empty string for empty and missing parts. + +2009-02-23 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=20184 + SELECT with no name generates invalid query string + + Test: fast/forms/select-no-name.html + + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::appendFormData): Added a check for empty name. + +2009-02-23 Alexey Proskuryakov <ap@webkit.org> + + Apply review comments for the previous check-in (forgot to save the file, oops). + + * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChildren): + +2009-02-23 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=15707 + Crash when manipulating document from within an iframe onload function + + Test: fast/dom/onload-open.html + + * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChildren): Protect the container and + the current node, because anything can happen when dispatching events. + +2009-02-23 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=18970 + Numerically named input fields cause document.forms loop problems + + Test: fast/forms/numeric-input-name.html + + * bindings/scripts/CodeGeneratorJS.pm: Try index getter before name getter, even if the + latter overrides properties. + +2009-02-23 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=24059 + Tokenizer::write() return value is never used + + * dom/Tokenizer.h: + * dom/XMLTokenizer.cpp: + (WebCore::XMLTokenizer::write): + * dom/XMLTokenizer.h: + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::write): + * html/HTMLTokenizer.h: + * loader/FTPDirectoryDocument.cpp: + (WebCore::FTPDirectoryTokenizer::write): + * loader/ImageDocument.cpp: + (WebCore::ImageTokenizer::write): + * loader/MediaDocument.cpp: + (WebCore::MediaTokenizer::write): + * loader/PluginDocument.cpp: + (WebCore::PluginTokenizer::write): + * loader/TextDocument.cpp: + (WebCore::TextTokenizer::write): + Made write() return void, not bool. + +2009-02-20 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. + + Updated for JavaScriptCore changes to timeout checking. + + * bindings/js/JSCustomPositionCallback.cpp: + (WebCore::JSCustomPositionCallback::handleEvent): + * bindings/js/JSCustomPositionErrorCallback.cpp: + (WebCore::JSCustomPositionErrorCallback::handleEvent): + * bindings/js/JSCustomSQLStatementCallback.cpp: + (WebCore::JSCustomSQLStatementCallback::handleEvent): + * bindings/js/JSCustomSQLStatementErrorCallback.cpp: + (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): + * bindings/js/JSCustomSQLTransactionCallback.cpp: + (WebCore::JSCustomSQLTransactionCallback::handleEvent): + * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: + (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): + * bindings/js/JSCustomVoidCallback.cpp: + (WebCore::JSCustomVoidCallback::handleEvent): + * bindings/js/JSCustomXPathNSResolver.cpp: + (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::JSDOMWindowBase): + (WebCore::JSDOMWindowBase::commonJSGlobalData): + * bindings/js/JSEventListener.cpp: + (WebCore::JSAbstractEventListener::handleEvent): + * bindings/js/ScheduledAction.cpp: + (WebCore::ScheduledAction::executeFunctionInContext): + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::evaluate): + * bindings/js/WorkerScriptController.cpp: + (WebCore::WorkerScriptController::evaluate): + (WebCore::WorkerScriptController::forbidExecution): + * bindings/objc/WebScriptObject.mm: + (-[WebScriptObject callWebScriptMethod:withArguments:]): + (-[WebScriptObject evaluateWebScript:]): + * bridge/NP_jsobject.cpp: + (_NPN_InvokeDefault): + (_NPN_Invoke): + (_NPN_Evaluate): + (_NPN_Construct): + * bridge/jni/jni_jsobject.mm: + (JavaJSObject::call): + (JavaJSObject::eval): + +2009-02-21 Hironori Bono <hbono@chromium.org> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=23786 + [Chromium] line-break characters in a complex text are treated as zero-width spaces + + This change prevents the UniscribeHelper class from treating the line-break characters + as whitespaces. + + Tests: fast/text/international/bidi-linebreak-001.html + fast/text/international/bidi-linebreak-002.html + fast/text/international/bidi-linebreak-003.html + + * platform/graphics/chromium/UniscribeHelper.cpp: + (WebCore::UniscribeHelper::adjustSpaceAdvances): + Make the UniscribeHelper::adjustSpaceAdvances() function treat all characters in + the treatAsSpace() function (e.g. U+0020, U+000A, U+000D, U+00A0) as whitespaces, + so does when Chromium renders a simple text. + +2009-02-20 Julien Chaffraix <jchaffraix@webkit.org> + + Reviewed by Alexey Proskuryakov. + + Bug 23940: Use Document::createElement(const QualifiedName&, bool) when creating a known element inside WebCore + + Document::createElement(const QualifiedName&, bool) does not check for the prefix as opposed the the one taking an AtomicString + or Document::createElementNS. This is perfectly fine internally because we know the type of element created and the check is + unneeded. + + It also removes the use of an ExceptionCode argument which was here only to check that the prefix check was fine. Finally it + enables us to use some generated QualifiedName. + + * bindings/js/JSOptionConstructor.cpp: + (WebCore::constructHTMLOptionElement): + * dom/Document.cpp: + (WebCore::Document::setTitle): + * dom/XMLTokenizer.cpp: + (WebCore::createXHTMLParserErrorHeader): + (WebCore::XMLTokenizer::insertErrorMessageBlock): + * editing/CompositeEditCommand.cpp: + (WebCore::createBlockPlaceholderElement): + * editing/htmlediting.cpp: + (WebCore::createTabSpanElement): + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::setLength): + * loader/FTPDirectoryDocument.cpp: + (WebCore::FTPDirectoryTokenizer::appendEntry): + (WebCore::FTPDirectoryTokenizer::createTDForFilename): + (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate): + (WebCore::FTPDirectoryTokenizer::createBasicDocument): + * loader/ImageDocument.cpp: + (WebCore::ImageDocument::createDocumentStructure): + * loader/MediaDocument.cpp: + (WebCore::MediaTokenizer::createDocumentStructure): + * loader/PluginDocument.cpp: + (WebCore::PluginTokenizer::createDocumentStructure): + * loader/TextDocument.cpp: + (WebCore::TextTokenizer::write): + * page/Frame.cpp: + (WebCore::Frame::selectionComputedStyle): + (WebCore::Frame::styleForSelectionStart): + Document::createElement(const AtomicString&, ...) to Document::createElement(const QualifiedName&, ...) switch. + + * xml/XPathFunctions.cpp: + (WebCore::XPath::FunLang::evaluate): Re-use langAttr instead of creating a new attribute. + * page/DragController.cpp: + (WebCore::documentFragmentFromDragData): Use the HTMLAnchorElement directly to get rid of the static cast. + +2009-02-19 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=24060 + Fix up to accommodate for CanvasPixelArray return. + + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::ImageBuffer::getImageData): Added an extra data() to call. + (WebCore::ImageBuffer::putImageData): Ditto. + +2009-02-20 Eric Carlson <eric.carlson@apple.com> + + Simon Fraser + + https://bugs.webkit.org/show_bug.cgi?id=24042 + Bug 24042: MediaPlayer should cache plug-in proxy + + The changes in https://bugs.webkit.org/show_bug.cgi?id=23917 assume that + MediaPlayer will always have created the private media player object before + the plug-in is instantiated and calls back with the proxy object. This is not + true on all platforms because of threading latency, so MediaPlayer should + cache the plug-in proxy so it can pass it to the media engine at a later time. + + * platform/graphics/MediaPlayer.cpp: + (WebCore::NullMediaPlayerPrivate::setPoster): Null media engine implementation of proxy methods. + (WebCore::NullMediaPlayerPrivate::deliverNotification): Ditto. + (WebCore::NullMediaPlayerPrivate::setMediaPlayerProxy): Ditto. + (WebCore::MediaPlayer::MediaPlayer): Initialize m_playerProxy. + (WebCore::MediaPlayer::load): Pass m_playerProxy to newly created engine. + (WebCore::MediaPlayer::setMediaPlayerProxy): Cache m_playerProxy. + * platform/graphics/MediaPlayer.h: Declare m_playerProxy. + +2009-02-20 Eric Carlson <eric.carlson@apple.com> + + Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=24063 + Make it possible for a port to require a user gesture to play/pause an <audio> or <video> element + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::HTMLMediaElement): Rename m_loadRestrictions to m_Restrictions. + Initialize m_internalCall. + (WebCore::HTMLMediaElement::loadTimerFired): Increment m_internalCall around call to load(). + (WebCore::HTMLMediaElement::load): Call loadInternal if restrictions check out. + (WebCore::HTMLMediaElement::loadInternal): New, guts of old load() + (WebCore::HTMLMediaElement::setNetworkState): Fix bug introduced in r40943 + (WebCore::HTMLMediaElement::play): Call playInternal if restrictions check out. + (WebCore::HTMLMediaElement::playInternal): New, guts of old play() + (WebCore::HTMLMediaElement::pause): Call pauseInternal if restrictions check out. + (WebCore::HTMLMediaElement::pauseInternal): New, guts of old pause() + (WebCore::HTMLMediaElement::togglePlayState): Call playInternal/pauseInternal + (WebCore::HTMLMediaElement::deliverNotification): Remove unnecessary white space. + * html/HTMLMediaElement.h: Rename m_loadRestrictions to m_Restrictions, add m_internalCall, + add RequireUserGestureRateChangeRestriction. + +2009-02-20 Darin Fisher <darin@chromium.org> + + Fix build bustage in FileSystemWin.cpp. + + Need to return CString() instead of 0 since there are now two CString + constructors that take a pointer type. + + * platform/win/FileSystemWin.cpp: + (WebCore::openTemporaryFile): + +2009-02-20 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=23999 + Change license headers to accurately reflect code history. + + * platform/ContentType.cpp: + * platform/ContentType.h: + +2009-02-18 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Antti Koivisto. + + https://bugs.webkit.org/show_bug.cgi?id=23999 + Split off MIME type parsing into its own class. + + * GNUmakefile.am: Added ContentType sources. + * WebCore.pro: Ditto. + * WebCore.scons: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * WebCoreSources.bkl: Ditto. + * html/HTMLMediaElement.cpp: Changed to use ContentType. + (WebCore::HTMLMediaElement::selectMediaURL): + * platform/ContentType.cpp: Added. + (WebCore::ContentType::ContentType): + (WebCore::ContentType::parameter): + (WebCore::ContentType::type): + * platform/ContentType.h: Added. + (WebCore::ContentType::raw): + * platform/MIMETypeRegistry.cpp: + * platform/MIMETypeRegistry.h: + * platform/graphics/MediaPlayer.cpp: + (WebCore::MediaPlayer::load): + * rendering/style/ContentData.h: Renamed ContentType to StyleContentType. + * rendering/style/RenderStyleConstants.h: Ditto. + (WebCore::): + +2009-02-20 Holger Hans Peter Freyther <zecke@selfish.org> + + Unreviewed build fix. + + Use CString() instead of 0. + + * platform/gtk/FileSystemGtk.cpp: + (WebCore::openTemporaryFile): + * platform/qt/FileSystemQt.cpp: + (WebCore::openTemporaryFile): + +2009-02-20 Gustavo Noronha Silva <gns@gnome.org> + + Reviewed by Holger Freyther. + + When dealing with local files, use a path instead of an URI. GFile + has problems decoding URIs with percent signs on them. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::ResourceHandle::startGio): + +2009-02-20 Gustavo Noronha Silva <gns@gnome.org> + + Reviewed by Holger Freyther. + + Protect the ResourceHandle instance from being destroyed by + didReceiveData inside the GIO readCallback call, so that + cancelling caused by scripts is handled correctly. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::readCallback): + +2009-02-20 David Kilzer <ddkilzer@apple.com> + + Make IconDatabaseNone.cpp compile with -Wunused and pass check-for-exit-time-destructors + + Reviewed by Sam Weinig. + + * loader/icon/IconDatabaseNone.cpp: + (WebCore::IconDatabase::defaultDatabaseFilename): Use DEFINE_STATIC_LOCAL(). + (WebCore::IconDatabase::open): Commented out unused parameter. + (WebCore::IconDatabase::setPrivateBrowsingEnabled): Ditto. + (WebCore::IconDatabase::iconForPageURL): Ditto. + (WebCore::IconDatabase::iconURLForPageURL): Ditto. + (WebCore::IconDatabase::defaultIcon): Ditto. + (WebCore::IconDatabase::retainIconForPageURL): Ditto. + (WebCore::IconDatabase::releaseIconForPageURL): Ditto. + (WebCore::IconDatabase::setIconDataForIconURL): Ditto. + (WebCore::IconDatabase::setIconURLForPageURL): Ditto. + (WebCore::IconDatabase::setEnabled): Ditto. + (WebCore::IconDatabase::pageURLMappingCount): Added stub. + (WebCore::IconDatabase::retainedPageURLCount): Ditto. + (WebCore::IconDatabase::iconRecordCount): Ditto. + (WebCore::IconDatabase::iconRecordCountWithData): Ditto. + +2009-02-20 David Kilzer <ddkilzer@apple.com> + + Add comment to generated code when shadowing a built-in object + + Reviewed by Sam Weinig. + + * bindings/scripts/CodeGeneratorJS.pm: Added comment to + generated code output. + +2009-02-20 Avi Drissman <avi@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=24036 + Keyboard events need disambiguation on the Linux platform too. + + * platform/chromium/PlatformKeyboardEventChromium.cpp: + (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): + +2009-02-19 Darin Fisher <darin@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=24046 + + Several improvements to CString: + 1- Make it possible to initialize a CString from a CStringBuffer + 2- Make it possible to get a CStringBuffer from a CString + 3- Change CStringBuffer::data() to return a const pointer to ward off mutation + 4- Remove unused releaseBuffer() methods. + 5- Make CStringBuffer::create() private to force consumers to get a CStringBuffer from a CString. + + * platform/text/CString.cpp: + (WebCore::CString::init): + (WebCore::CString::mutableData): + (WebCore::CString::newUninitialized): + (WebCore::CString::copyBufferIfNeeded): + * platform/text/CString.h: + (WebCore::CStringBuffer::data): + (WebCore::CStringBuffer::length): + (WebCore::CStringBuffer::create): + (WebCore::CStringBuffer::mutableData): + (WebCore::CString::CString): + (WebCore::CString::buffer): + +2009-02-19 Dmitry Titov <dimich@chromium.org> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=24017 + Remove some usage of Document in Worker. + + * dom/WorkerContext.h: + (WebCore::WorkerContext::userAgent): + * dom/Document.cpp: + (WebCore::Document::userAgent): + * dom/Document.h: + * dom/ScriptExecutionContext.h: + Added virtual ScriptExecutionContext::userAgent(const KURL&). + Document implementation uses FrameLoader::userAgent and + WorkerContext receives the string on creation and stores it in a member. + + * dom/Worker.cpp: + (WebCore::Worker::Worker): + (WebCore::Worker::notifyFinished): + * dom/Worker.h: + (WebCore::Worker::create): + Instead of Document the Worker constructor now gets a ScriptExecutionContext. + Start using some methods on SEC (like completeURL() and userAgent()). + For others, explicitly case to Document and add a FIXME. + Remove Worker::document() too. + +2009-02-20 Gustavo Noronha Silva <gns@gnome.org> + + Rubber-stamped by Holger Freyther. + + Do not set httpStatus to SOUP_STATUS_OK when serving local files + to match other ports' behavior, fixing xmlhttprequest test + regressions. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::queryInfoCallback): + +2009-02-19 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + - WebCore part of fixing https://bugs.webkit.org/show_bug.cgi?id=24027 + Do not send loader callbacks during CSS styling + + Undo the iChat-specific quirk added in + <http://trac.webkit.org/changeset/41071>. Instead, always suspend memory + cache client callbacks during attach() and recalcStyle(). + + * WebCore.base.exp: Removed + Settings::setNeedsIChatMemoryCacheCallsQuirk(). + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::suspendPostAttachCallbacks): Disable memory + cache client callbacks and remember to enable them afterwards if needed. + (WebCore::ContainerNode::resumePostAttachCallbacks): Re-enable memory + cache client callbacks if they were disabled in + suspendPostAttachCallbacks(). + (WebCore::ContainerNode::attach): Use suspendPostAttachCallbacks() and + resumePostAttachCallbacks(). + * dom/ContainerNode.h: Made suspendPostAttachCallbacks() + and resumePostAttachCallbacks() non-static. + * dom/Document.cpp: + (WebCore::Document::dispatchImageLoadEventsNow): Reverted iChat-specific + workaround. + * page/Settings.cpp: Removed m_needsIChatMemoryCacheCallsQuirk and + related code. + (WebCore::Settings::Settings): + * page/Settings.h: + +2009-02-19 Holger Hans Peter Freyther <zecke@selfish.org> + + Unreviewed build fix. + + Build fix after r41092. Make the memoryUsage method + public. It will be shadowed by cf/mac and for curl/soup/qt + the implementation from ResourceResponseBase will be used. + + * platform/network/ResourceResponseBase.h: + (WebCore::ResourceResponseBase::memoryUsage): + +2009-02-19 Beth Dakin <bdakin@apple.com> + + Reviewed by Dave Hyatt. + + Fix for <rdar://problem/6077775> Should be able to specify + inactive ::selection color + + This patch makes the ::selction pseudo-element work with + the :window-inactive pseudo type. This was, a user can specify a + different ::selection style when a window is inactive. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::selectionBackgroundColor): + (WebCore::RenderObject::selectionForegroundColor): + +2009-02-19 Sam Weinig <sam@webkit.org> + + Reviewed by Beth Dakin. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=24044 + Update querySelector/querySelectorAll to match the latest spec + + Update querySelector and querySelectorAll to match the latest version + of the Selectors API spec. We now stringify null and undefined to "null" + and "undefined" respectively instead of to "". + + Test: fast/dom/SelectorAPI/undefined-null-stringify.html + + * dom/Document.idl: + * dom/DocumentFragment.idl: + * dom/Element.idl: + +2009-02-19 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Geoffrey Garen. + + https://bugs.webkit.org/show_bug.cgi?id=23732 + Rework CachedResource overhead accounting to allow platforms to diverge + in numbers. + + * loader/CachedResource.cpp: + (WebCore::CachedResource::overheadSize): Changed to ask ResourceResponse + for its size and to use actual URL size. + * platform/network/ResourceResponseBase.h: + (WebCore::ResourceResponseBase::size): Added default size method. + * platform/network/cf/ResourceResponse.h: + (WebCore::ResourceResponse::size): Added Win/CF size method + * platform/network/mac/ResourceResponse.h: + (WebCore::ResourceResponse::size): Added Mac size method. + +2009-02-19 Anders Carlsson <andersca@apple.com> Reviewed by Kevin Decker. @@ -14,11 +10332,167 @@ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::paint): -2009-02-18 Mark Rowe <mrowe@apple.com> +2009-02-19 David Hyatt <hyatt@apple.com> + + Fix a bug where reflections didn't work properly if opacity was < 1. Make sure that replaced elements + also consider reflections to be part of their visual overflow. This had already been done for blocks + and lines, but it wasn't being done yet for replaced elements. + + Also make sure that when the object being reflected has opacity < 1 that we don't end up popping the outer + transparency layer early. Since the reflected object paints twice, we don't want to end the transparency + layer it pushed until we're done painting the real object (rather than the reflection). + + Reviewed by Dan Bernstein + + Added fast/reflections/reflection-masks-opacity.html + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::paintLayer): + * rendering/RenderPartObject.cpp: + (WebCore::RenderPartObject::layout): + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::layout): + (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): + * rendering/RenderReplaced.h: + +2009-02-19 David Levin <levin@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Bug 23980: WorkerRunLoop needs a way to run in a given mode similar to CFRunLoopInMode. + <https://bugs.webkit.org/show_bug.cgi?id=23980> + + WorkerRunLoop has the ability to run in a mode which filters the tasks to be run. + * When WorkerRunLoop::runInMode is called, only task for that mode will run. + * When WorkerRunLoop::run is called (or the default mode is used), then all tasks + will run regardless of their posted mode. + + Here's a demonstration of the api: + + RefPtr<NameResolution> nameResolution = NameResolution::create(workerRunLoop); + + // Internally nameResolution will do workerRunLoop.postTaskForMode(task, "MyCoolMode") + // for any tasks that need to be run during this loop. + nameResolution->setTaskMode("MyCoolMode"); + + nameResolution->start(); + while (!nameResolution->done()) { + // Only tasks which are posted for "MyCoolMode" will run. + workerRunLoop.runInMode(context, "MyCoolMode"); + } + + No observable change in behavior, so no test. + + * dom/WorkerRunLoop.cpp: + (WebCore::ModePredicate::ModePredicate): + (WebCore::ModePredicate::operator()): + (WebCore::WorkerRunLoop::WorkerRunLoop): + (WebCore::WorkerRunLoop::~WorkerRunLoop): + (WebCore::WorkerRunLoop::setSharedTimer): + (WebCore::WorkerRunLoop::resetSharedTimer): + (WebCore::WorkerRunLoop::run): + (WebCore::WorkerRunLoop::runInMode): + (WebCore::WorkerRunLoop::postTask): + (WebCore::WorkerRunLoop::postTaskForMode): + * dom/WorkerRunLoop.h: + (WebCore::WorkerRunLoop::Task::create): + (WebCore::WorkerRunLoop::Task::mode): + (WebCore::WorkerRunLoop::Task::performTask): + (WebCore::WorkerRunLoop::Task::Task): + +2009-02-19 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=24034 + Fix up Selection->VisibleSelection change. + + * page/chromium/EventHandlerChromium.cpp: + (WebCore::EventHandler::passMousePressEventToSubframe): Renamed Selection + to VisibleSelection. + +2009-02-19 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=24041 + Correct Skia type conversion issues, fix Chromium Linux build. - Merge r41071. + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::Font::drawGlyphs): changed parameters to RGBA32, not WebCore::Color. - 2009-02-18 Dan Bernstein <mitz@apple.com> +2009-02-19 Jungshik Shin <jshin@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=20531 + Chromium-part follow-up to the patch landed in r40636 + for bug 20531. + Remove a static member function alternateFamilyName + from Chromium's Win/Linux ports of FontCache. In r40636, + alternateFamilyName was customized using #ifdef PLATFORM(WIN_OS). + So, there's no more need for the static member function per + platform. + + * platform/graphics/chromium/FontCacheChromiumWin.cpp: + * platform/graphics/chromium/FontCacheLinux.cpp: + +2009-02-19 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Adele Peterson. + + Call documentWillBecomeInactive() from Document::detach to ensure that + media elements are shut down, because they may be kept alive by references + from JS past document teardown. + + documentWillBecomeInactive() calls renderView()->willMoveOffscreen(), so no + need to do that in detach() as well. + + We no longer need to call documentWillBecomeInactive() from ~Page() (which + was added for <https://bugs.webkit.org/show_bug.cgi?id=21116>), since this + supersedes that change. + + * dom/Document.cpp: + (WebCore::Document::detach): + * page/Page.cpp: + (WebCore::Page::~Page): + +2009-02-19 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=24028 + Fix up Skia path changes. + + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::strokePath): Removed illegal indirection. + * platform/graphics/skia/PathSkia.cpp: + (WebCore::boundingBoxForCurrentStroke): Changed call name. + +2009-02-19 Gustavo Noronha Silva <gns@gnome.org> + + Reviewed by Alexey Proskuryakov. + + Ignore ports on local URLs. This fixes a regression in + fast/loader/file-URL-with-port-number.html + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::ResourceHandle::startGio): + +2009-02-19 Gustavo Noronha Silva <gns@gnome.org> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=24011 + KURL's setPort doesn't unset port if 0 is given + + Make setPort remove port if 0 is given to it, as promised by the + comment in KURL's header. + + * platform/KURL.cpp: + (WebCore::KURL::setPort): + +2009-02-18 Dan Bernstein <mitz@apple.com> Reviewed by Brady Eidson. @@ -50,11 +10524,356 @@ * page/Settings.h: (WebCore::Settings::needsIChatMemoryCacheCallsQuirk): Added this getter. -2009-02-16 Mark Rowe <mrowe@apple.com> +2009-02-18 Adam Roben <aroben@apple.com> + + Export WebCore::handCursor and Cursor.h + + Reviewed by John Sullivan. + + * WebCore.base.exp: Added WebCore::handCursor. + * WebCore.xcodeproj/project.pbxproj: Made Cursor.h private. + +2009-02-18 Ojan Vafai <ojan@chromium.org> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=23992 + REGRESSION: crash on windows loading http://www.stickam.com/liveStreams.do + + Unable to reduce to a layout test. + + * page/Frame.cpp: + (WebCore::Frame::contentRenderer): + +2009-02-18 Evan Stade <estade@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23861 + Stroke font outlines on chromium linux + + TEST=LayoutTests/svg/custom/pointer-events-text.svg + + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::Font::drawGlyphs): + +2009-02-18 Evan Stade <estade@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23860 + Resync some graphics/skia files with their chromium counterparts + + This comes from chromium patches <http://codereview.chromium.org/17633> + and <http://codereview.chromium.org/17454> + + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::clipPath): + (WebCore::GraphicsContext::fillPath): + * platform/graphics/skia/PlatformContextSkia.cpp: + (PlatformContextSkia::addPath): + (PlatformContextSkia::currentPath): + * platform/graphics/skia/PlatformContextSkia.h: + +2009-02-18 Gustavo Noronha Silva <gns@gnome.org> + + Unreviewed. + + Build fix after r41060. + + * GNUmakefile.am: + +2009-02-18 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=24005 + Add an include to fix Chromium build. + + * page/animation/AnimationController.cpp: Add UnusedParam.h include. + +2009-02-18 Gustavo Noronha Silva <gns@gnome.org> + + Reviewed by Holger Freyther. + + Fix symbols.filter location, and add other missing files to the + autotools build, so that make dist works. + + * GNUmakefile.am: + +2009-02-18 Zan Dobersek <zandobersek@gmail.com> + + Rubber-stamped by Holger Hans Peter Freyther. + + Allow POST method for local requests. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::ResourceHandle::startGio): + +2009-02-18 Gustavo Noronha Silva <gns@gnome.org> + + Reviewed by Holger Hans Peter Freyther. + + Use KURL in startGio instead of passing a string with the URL, so + that we can handle removing refs and queries more elegantly. This + is fixing more regressions that came from the curl->soup switch. + + Original work by Zan Dobersek. + + * platform/network/ResourceHandle.h: + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::ResourceHandle::start): + (WebCore::ResourceHandle::startGio): + +2009-02-18 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Alexey Proskuryakov. + + Implement ResourceHandle::loadResourceSynchronously in ResourceHandleSoup.cpp + + The implementation is needed to have synchronous loading, e.g. for + JavaScript interaction. This is fixing various regressions that + came from the curl->soup switch. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): + (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader): + (WebCore::WebCoreSynchronousLoader::didReceiveResponse): + (WebCore::WebCoreSynchronousLoader::didReceiveData): + (WebCore::WebCoreSynchronousLoader::didFinishLoading): + (WebCore::WebCoreSynchronousLoader::didFail): + (WebCore::WebCoreSynchronousLoader::run): + (WebCore::ResourceHandle::loadResourceSynchronously): + +2009-02-18 Xan Lopez <xan@gnome.org> + + Reviewed by Mark Rowe. + + https://bugs.webkit.org/show_bug.cgi?id=23989 + + Based on a patch by Bo Yang <techrazy.yang@gmail.com> + + Make the cursor cache global, that's all we really need and + otherwise we can miss cursor transitions in some situations (see + the bug for one testcase). Also remove some now useless code. + + * platform/Widget.h: + * platform/gtk/WidgetGtk.cpp: + (WebCore::Widget::Widget): + (WebCore::Widget::~Widget): + (WebCore::Widget::setCursor): + +2009-02-17 Adam Roben <aroben@apple.com> + + Windows build fix + + * loader/FrameLoader.cpp: + (WebCore::toPlugInElement): Don't rely on #if being processed before + ASSERT. + +2009-02-17 David Levin <levin@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Bug 23977: Unnecessary timer related headers in files. + <https://bugs.webkit.org/show_bug.cgi?id=23977> + + No observable change in behavior, so no test. + + * dom/Document.cpp: + * dom/WorkerRunLoop.cpp: + * dom/WorkerRunLoop.h: + +2009-02-17 Peter Abrahamsen <rainhead@gmail.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=23958 + <rdar://problem/6587815> + + Updated XMLHttpRequest with new header names from the latest Access + Control draft: http://www.w3.org/TR/access-control/ + - Access-Control-Origin becomes Access-Control-Allow-Origin + - Access-Control-Credentials becomes Access-Control-Allow-Credentials + + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::accessControlCheck): + +2009-02-17 Kevin Ollivier <kevino@theolliviers.com> + + wx build fix. Add missing constructor used for empty values. + + * platform/graphics/wx/FontPlatformData.h: + (WebCore::FontPlatformData::FontPlatformData): + +2009-02-17 Antti Koivisto <antti@apple.com> + + Reviewed by Dave Kilzer. + + <rdar://problem/6592446> dynamically updating page doesn't seem to draw when updated + + Need update after callback. + + * bindings/js/JSCustomPositionCallback.cpp: + (WebCore::JSCustomPositionCallback::handleEvent): + * bindings/js/JSCustomPositionErrorCallback.cpp: + (WebCore::JSCustomPositionErrorCallback::handleEvent): + +2009-02-17 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Antti Koivisto. + + https://bugs.webkit.org/show_bug.cgi?id=23917 + Allow a WebKit plug-in to act as a proxy for the <audio> and <video> + element. + + * DerivedSources.make: add media element proxy exports to .exp file when feature is defined. + + * WebCore.VideoProxy.exp: New, define the informal protocol exported by a media element proxy. + + * WebCore.xcodeproj/project.pbxproj: Add MediaPlayerProxy.h. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_needWidgetUpdate. + (WebCore::HTMLMediaElement::attributeChanged): Don't detach+attach when PLUGIN_PROXY_FOR_VIDEO, the + proxy plug-in handles the poster frame. + (WebCore::HTMLMediaElement::rendererIsNeeded): New logic for PLUGIN_PROXY_FOR_VIDEO. + (WebCore::HTMLMediaElement::createRenderer): Create RenderPartObject when PLUGIN_PROXY_FOR_VIDEO. + (WebCore::HTMLMediaElement::attach): Set m_needWidgetUpdate when PLUGIN_PROXY_FOR_VIDEO + (WebCore::HTMLMediaElement::load): Don't reallocate MediaPlayer when PLUGIN_PROXY_FOR_VIDEO, we keep the + same plug-in for the life of the element. + (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): update m_networkState when media player + network state changes to EMPTY, otherwise we can get out of sync with engine. + (WebCore::HTMLMediaElement::defaultEventHandler): pass event to widget when PLUGIN_PROXY_FOR_VIDEO + (WebCore::HTMLMediaElement::deliverNotification): New, deliver notification from proxy plug-in to + media player. + (WebCore::HTMLMediaElement::setMediaPlayerProxy): New, pass proxy object to media player. + (WebCore::HTMLMediaElement::initialURL): New, return the url from the "src" attr or the appropriate + <source> element to be used as the initial url for the proxy. + (WebCore::HTMLMediaElement::finishParsingChildren): New, allocate MediaPlayer and update widget. + * html/HTMLMediaElement.h: Declare new methods for proxy, add m_needWidgetUpdate. + (WebCore::HTMLMediaElement::setNeedWidgetUpdate): + + * html/HTMLVideoElement.cpp: + (WebCore::HTMLVideoElement::attach): Poster image is handled by proxy when PLUGIN_PROXY_FOR_VIDEO. + (WebCore::HTMLVideoElement::parseMappedAttribute): Ditto. + * html/HTMLVideoElement.h: + + * loader/FrameLoader.cpp: + (WebCore::toPlugInElement): Allow cast if element is <video> or <audio> + + * platform/graphics/MediaPlayer.cpp: + (WebCore::MediaPlayer::MediaPlayer): Remove white space. + (WebCore::MediaPlayer::setPoster): New, forward call to private player. + (WebCore::MediaPlayer::deliverNotification): Ditto. + (WebCore::MediaPlayer::setMediaPlayerProxy): Ditto. + * platform/graphics/MediaPlayer.h: + (WebCore::MediaPlayer::mediaPlayerClient): + + * platform/graphics/mac/MediaPlayerProxy.h: New, defines media player proxy interface. + + * rendering/RenderPart.cpp: + (WebCore::RenderPart::RenderPart): Change constructor to take Element* instead of Node* as a + non-element node doesn't need a renderer + * rendering/RenderPart.h: Ditto. + + * rendering/RenderPartObject.cpp: + (WebCore::RenderPartObject::RenderPartObject): Ditto. + (WebCore::RenderPartObject::updateWidget): Package params for proxy plug-in when element is + <video> or <audio>. + * rendering/RenderPartObject.h: + +2009-02-17 David Hyatt <hyatt@apple.com> + + Reviewed by Eric Seidel + + Fix for https://bugs.webkit.org/show_bug.cgi?id=23985 + + Don't allow legends to be anything but display:block. + + Added fast/forms/inline-ignored-on-legend.html + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * css/html4.css: + * html/HTMLLegendElement.cpp: + * html/HTMLLegendElement.h: + * rendering/RenderLegend.cpp: Removed. + * rendering/RenderLegend.h: Removed. + * wml/WMLInsertedLegendElement.cpp: + * wml/WMLInsertedLegendElement.h: + +2009-02-13 Brett Wilson <brettw@dhcp-172-22-71-167.mtv.corp.google.com> - Merge r41027. + Reviewed by Simon Fraser. - 2009-02-16 Dan Bernstein <mitz@apple.com> + https://bugs.webkit.org/attachment.cgi?id=27666 + Fix Chromium build build: forgotten include in RenderObject, sync + RenderTheme to the recent changes in RenderObject. + + * rendering/RenderObject.cpp: + * rendering/RenderThemeChromiumMac.mm: + (WebCore::RenderThemeChromiumMac::updatePressedState): + +2009-02-17 Gustavo Noronha Silva <gns@gnome.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=22966 + crash when destroying a webview that opened a page containing <script> + tags + + Fix m_group being set to 0 instead of to m_singlePageGroup when + GroupName is set to empty + + * page/Page.cpp: + (WebCore::Page::setGroupName): + +2009-02-16 Beth Dakin <bdakin@apple.com> + + Reviewed by Sam Weinig. + + Fix for <rdar://problem/6386623> + + I made m_numParsedProperties and m_maxParsedProperties unsigned + instead of int, and then added an early return from addPropery() if + m_maxParsedProperties exceeds the max value. + + * css/CSSParser.cpp: + (WebCore::CSSParser::addProperty): + (WebCore::CSSParser::rollbackLastProperties): + (WebCore::CSSParser::clearProperties): + (WebCore::CSSParser::createFontFaceRule): + (WebCore::CSSParser::deleteFontFaceOnlyValues): + * css/CSSParser.h: + +2009-02-16 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Mark Rowe. + + https://bugs.webkit.org/show_bug.cgi?id=16309 + HTML5: The third execCommand argument for insert{un}orderedlist should be ignored + + When we originally implemented this command, MSDN documentation said that IE set the + id attribute of inserted lists to the third argument to execCommand, but IE doesn't + do this nor do any other browsers. + + * editing/EditorCommand.cpp: + (WebCore::executeInsertOrderedList): + (WebCore::executeInsertUnorderedList): + * editing/IndentOutdentCommand.cpp: + (WebCore::IndentOutdentCommand::outdentParagraph): + * editing/InsertListCommand.cpp: + (WebCore::InsertListCommand::insertList): + (WebCore::InsertListCommand::InsertListCommand): + (WebCore::InsertListCommand::doApply): + * editing/InsertListCommand.h: + (WebCore::InsertListCommand::create): + +2009-02-16 Dan Bernstein <mitz@apple.com> Reviewed by Geoffrey Garen. @@ -67,11 +10886,2055 @@ pointer-events property in Dashboard backwards compatibility mode, in order to work around misuse of that property by the Stocks widget. -2009-02-11 Mark Rowe <mrowe@apple.com> +2009-02-16 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=15381 + execCommand justify modifies the contentEditable node + + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Avoid modifying not just + the body element, but any root editable element. + +2009-02-16 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Adele Peterson. + + Bug 23979: AX: alt tag not returned for <input type="image"> + https://bugs.webkit.org/show_bug.cgi?id=23979 + + Test: accessibility/input-image-alt.html + + * page/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::accessibilityDescription): + +2009-02-16 Kevin Watters <kevinwatters@gmail.com> + + Reviewed by Kevin Ollivier. + + The ref data is not properly set unless we use the CreateMatrix function. + + https://bugs.webkit.org/show_bug.cgi?id=23978 + + * platform/graphics/wx/TransformationMatrixWx.cpp: + (WebCore::TransformationMatrix::operator wxGraphicsMatrix): + +2009-02-16 Dan Bernstein <mitz@apple.com> + + Reviewed by John Sullivan. + + - fix <rdar://problem/6516829> FontPlatformData constructor passes NULL to CTFontCopyGraphicsFont and CTFontGetPlatformFont + + * platform/graphics/FontCache.cpp: + (WebCore::FontDataCacheKeyTraits::emptyValue): Changed to use the + FontPlatformData(float, bool, bool) constructor. + * platform/graphics/mac/FontCacheMac.mm: + (WebCore::FontCache::createFontPlatformData): Changed to pass a valid + NSFont to the FontPlatformData constructor, instead of implicitly + passing 0 and then calling setFont(). + * platform/graphics/mac/FontPlatformData.h: Made the NSFont parameter + of the constructor mandatory. + +2009-02-15 David Kilzer <ddkilzer@apple.com> + + Move duplicate caretWidth constants to RenderObject.h + + Reviewed by Dan Bernstein. + + No test since no change in behavior. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::localCaretRect): Removed caretWidth. + * rendering/RenderBox.cpp: + (WebCore::RenderBox::localCaretRect): Ditto. + * rendering/RenderObject.h: Added caretWidth definition. + * rendering/RenderText.cpp: + (WebCore::RenderText::localCaretRect): Removed caretWidth. + +2009-02-13 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23955 + V8HTMLPlugInCustom returns undefined, which fools interceptors. + + * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp: + (WebCore::NAMED_PROPERTY_GETTER): Use deferToInterceptor() return value. + (WebCore::NAMED_PROPERTY_SETTER): Ditto. + (WebCore::INDEXED_PROPERTY_GETTER): Ditto. + (WebCore::INDEXED_PROPERTY_SETTER): Ditto. + +2009-02-13 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23954 + Add V8 custom bindings for CanvasRenderingContext2D. + + * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: Added. + (WebCore::toV8): + (WebCore::toCanvasStyle): + (WebCore::ACCESSOR_GETTER): + (WebCore::ACCESSOR_SETTER): + +2009-02-13 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler and Dan Bernstein. + + <rdar://problem/6583187> + + * page/NavigatorBase.cpp: + Handle PPC64 and X86_64 as well. + +2009-02-13 Darin Adler <darin@apple.com> + + Reviewed by Mark Rowe. + + Fix broken tokenizer regression test that reflected a lifetime bug + in the document.write optimization. The test failure was trivial to + reproduce in COLLECT_ON_EVERY_ALLOCATION mode. + + * bindings/js/JSHTMLDocumentCustom.cpp: + (WebCore::documentWrite): Convert strings to String rather than passing + the pointer and length to SegmentedString. The optimization is thus + mostly gone. However, there are two ways to bring it back: 1) Apply + the patch that makes UString and String share the same buffers. + 2) Add a UString feature to SegmentedString; simple to do but might + risk slowing down normal document parsing. + +2009-02-13 Adam Treat <adam.treat@torchmobile.com> + + Caught by Darin Adler. + + No reason to check m_tokenizer twice for 0 in a row. + + * dom/Document.cpp: + (WebCore::Document::write): + +2009-02-13 Lyon Chen <lyon.chen@torchmobile.com> + + Reviewed by Dave Hyatt. + + Take into account y() + height() when calculating getLowerRightCorner. + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::getLowerRightCorner): + +2009-02-13 Antti Koivisto <antti@apple.com> + + Reviewed by Dave Hyatt. + + Most of this code was in RenderBox, restore the copyright lines. + + * rendering/RenderBoxModelObject.cpp: + * rendering/RenderBoxModelObject.h: + +2009-02-13 David Hyatt <hyatt@apple.com> + + Get rid of printBoxDecorations, since it is dead code. + + Reviewed by Dan Bernstein + + * rendering/RenderObject.h: + +2009-02-13 Adam Treat <adam.treat@torchmobile.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=23952 + Add Document::write overload which takes a SegmentedString since this + is what the tokenizer expects anyway. Modified JSHTMLDocument so it once + again calls Document::write instead of injecting the string directly into + the tokenizer. This ensures that all document.write's are funneled through + one method again, but should still be just as fast for JSHTMLDocumentCustom. + + * bindings/js/JSHTMLDocumentCustom.cpp: + (WebCore::documentWrite): + * dom/Document.cpp: + (WebCore::Document::write): + * dom/Document.h: + +2009-02-13 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser + + Remove updateWidgetPosition on RenderObject. Change RenderView's set of widgets + to have a tighter type: RenderWidget instead of RenderObject. Devirtualize + updateWidgetPosition, since all RenderWidgets (except for applets) are now + RenderParts also. + + * rendering/RenderObject.cpp: + * rendering/RenderObject.h: + * rendering/RenderPart.cpp: + * rendering/RenderPart.h: + * rendering/RenderView.cpp: + (WebCore::RenderView::updateWidgetPositions): + (WebCore::RenderView::addWidget): + (WebCore::RenderView::removeWidget): + * rendering/RenderView.h: + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::updateWidgetPosition): + * rendering/RenderWidget.h: + +2009-02-13 David Hyatt <hyatt@apple.com> + + Reviewed by Eric Seidel + + Remove isEditable() on RenderObject. It is dead code. + + * rendering/RenderObject.cpp: + * rendering/RenderObject.h: + +2009-02-13 David Hyatt <hyatt@apple.com> + + Reviewed by Eric Seidel + + Add isTextControl() to RenderObject. Patch call sites thats asked isTextField() || isTextArea() to just use + isTextControl() instead. + + Add a toRenderTextControl converter for doing checked casting to RenderTextControls. + + * dom/Document.cpp: + (WebCore::Document::setFocusedNode): + * dom/InputElement.cpp: + (WebCore::InputElement::updateSelectionRange): + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplacementFragment::ReplacementFragment): + * editing/TextIterator.cpp: + (WebCore::TextIterator::handleReplacedElement): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::selectionStart): + (WebCore::HTMLInputElement::selectionEnd): + (WebCore::HTMLInputElement::setSelectionStart): + (WebCore::HTMLInputElement::setSelectionEnd): + (WebCore::HTMLInputElement::select): + (WebCore::HTMLInputElement::defaultEventHandler): + (WebCore::HTMLInputElement::selection): + * html/HTMLTextAreaElement.cpp: + (WebCore::HTMLTextAreaElement::selectionStart): + (WebCore::HTMLTextAreaElement::selectionEnd): + (WebCore::HTMLTextAreaElement::setSelectionStart): + (WebCore::HTMLTextAreaElement::setSelectionEnd): + (WebCore::HTMLTextAreaElement::select): + (WebCore::HTMLTextAreaElement::setSelectionRange): + (WebCore::HTMLTextAreaElement::appendFormData): + (WebCore::HTMLTextAreaElement::updateValue): + (WebCore::HTMLTextAreaElement::selection): + * page/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::isNativeTextControl): + (WebCore::AccessibilityRenderObject::text): + (WebCore::AccessibilityRenderObject::selectedText): + (WebCore::AccessibilityRenderObject::selectedTextRange): + (WebCore::AccessibilityRenderObject::setSelectedTextRange): + (WebCore::AccessibilityRenderObject::visiblePositionForIndex): + (WebCore::AccessibilityRenderObject::indexForVisiblePosition): + (WebCore::AccessibilityRenderObject::observableObject): + * page/Frame.cpp: + (WebCore::Frame::notifyRendererOfSelectionChange): + * rendering/RenderObject.h: + (WebCore::RenderObject::isTextControl): + (WebCore::objectIsRelayoutBoundary): + * rendering/RenderTextControl.h: + (WebCore::RenderTextControl::isTextControl): + (WebCore::toRenderTextControl): + * rendering/TextControlInnerElements.cpp: + (WebCore::TextControlInnerTextElement::defaultEventHandler): + * wml/WMLInputElement.cpp: + (WebCore::WMLInputElement::select): + (WebCore::WMLInputElement::defaultEventHandler): + (WebCore::WMLInputElement::isConformedToInputMask): + +2009-02-13 David Hyatt <hyatt@apple.com> + + Get rid of isEdited/setEdited on RenderObject. Devirtualize isEdited/setEdited on RenderTextControl. + Callers were already asking if the renderer was a text field (or a text area), so it was especially + pointless to waste a second virtual function call after making one just to determine the object type. + + Reviewed by Simon Fraser + + * dom/Document.cpp: + (WebCore::Document::setFocusedNode): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::defaultEventHandler): + * rendering/RenderObject.h: + * rendering/RenderTextControl.h: + (WebCore::RenderTextControl::isEdited): + (WebCore::RenderTextControl::setEdited): + +2009-02-13 Scott Violet <sky@google.com> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23934 + Skia platform doesn't render text decoration shadows. + + Makes Skia render text decoration shadows correctly. We weren't + preparing the SkPaint correctly and didn't have a couple of checks + CG has. Additionally makes the fillColor/strokeColor methods + consistent. + + This behavior is covered by existing layout tests (see bug for list). + + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::Font::drawGlyphs): + (WebCore::Font::drawComplexText): + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::drawLineForText): + * platform/graphics/skia/PlatformContextSkia.cpp: + (PlatformContextSkia::effectiveFillColor): + (PlatformContextSkia::effectiveStrokeColor): + * platform/graphics/skia/PlatformContextSkia.h: + +2009-02-12 Darin Fisher <darin@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23944 + KURLGoogle's pre-parsed canonicalSpec constructor should take a CString + + * platform/KURL.h: + * platform/KURLGoogle.cpp: + (WebCore::KURLGooglePrivate::setUtf8): + (WebCore::KURLGooglePrivate::setAscii): + (WebCore::KURLGooglePrivate::init): + (WebCore::KURLGooglePrivate::replaceComponents): + (WebCore::KURL::KURL): + * platform/KURLGooglePrivate.h: + +2009-02-13 David Hyatt <hyatt@apple.com> + + Remove leftmost/rightmost/lowestPosition from RenderObject. They only need to be called on boxes. + + Reviewed by Dan Bernstein + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::lowestPosition): + (WebCore::RenderBlock::rightmostPosition): + (WebCore::RenderBlock::leftmostPosition): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::computeScrollDimensions): + * rendering/RenderMedia.cpp: + (WebCore::RenderMedia::lowestPosition): + (WebCore::RenderMedia::rightmostPosition): + (WebCore::RenderMedia::leftmostPosition): + * rendering/RenderObject.h: + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::lowestPosition): + (WebCore::RenderTableSection::rightmostPosition): + (WebCore::RenderTableSection::leftmostPosition): + +2009-02-12 Simon Fraser <simon.fraser@apple.com> + + Fix build with ACCELERATED_COMPOSITING turned on. + + toRenderBox()->x() asserts for a layer on an inline; use + m_owningLayer->renderBoxX() instead. + + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::paintIntoLayer): + +2009-02-12 Darin Adler <darin@apple.com> - Merge r40847. + Reviewed by Oliver Hunt. + + Speed up document.write a bit. + + * bindings/js/JSHTMLDocumentCustom.cpp: + (WebCore::documentWrite): Added. Uses SegmentedString to avoid conversion from + UString to String and to avoid appending strings. Also added code to handle + newlines efficiently. + (WebCore::JSHTMLDocument::write): Changed to use documentWrite. + (WebCore::JSHTMLDocument::writeln): Ditto. + + * dom/Document.cpp: + (WebCore::Document::prepareToWrite): Added. Refactored the initialization part + of write into a separate function for use in the JavaScript binding. + (WebCore::Document::write): Changed to call prepareToWrite. + + * dom/Document.h: Added declaration for prepareToWrite. + +2009-02-13 Prasanth Ullattil <pullatti@trolltech.com> + + Reviewed by Simon Hausmann. + + Fixes crash in the Qt port on Windows with comboboxes + + The focusWidget in the input context is not reset properly. + The QApplication::setFocusWidget() wont reset the IC if the reason is + PopupFocusReason, this is not ideal. For the time being we are going + to do this from webkit itself. + + * platform/qt/QWebPopup.cpp: + (WebCore::QWebPopup::hidePopup): + +2009-02-12 Kevin Ollivier <kevino@theolliviers.com> + + wx build fix, typo while tweaking last patch for commit. + + * platform/wx/wxcode/gtk/fontprops.cpp: + (GetTextExtent): + +2009-02-12 miggilin <mr.diggilin@gmail.com> + + Reviewed by Kevin Ollivier. + + Use Cairo/PANGO to fix text measurements and implement proper + non-kerned text drawing on wxGTK. + + https://bugs.webkit.org/show_bug.cgi?id=17727 + + * platform/graphics/GlyphBuffer.h: + * platform/graphics/wx/FontPlatformDataWx.cpp: + (WebCore::fontWeightToWxFontWeight): + * platform/graphics/wx/SimpleFontDataWx.cpp: + (WebCore::SimpleFontData::platformWidthForGlyph): + * platform/wx/wxcode/fontprops.h: + * platform/wx/wxcode/gtk/fontprops.cpp: + (wxFontProperties::wxFontProperties): + (GetTextExtent): + * platform/wx/wxcode/gtk/non-kerned-drawing.cpp: + (WebCore::pangoFontMap): + (WebCore::createPangoFontForFont): + (WebCore::createScaledFontForFont): + (WebCore::pango_font_get_glyph): + (WebCore::drawTextWithSpacing): + * platform/wx/wxcode/non-kerned-drawing.h: + +2009-02-12 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser + + https://bugs.webkit.org/show_bug.cgi?id=23942 + + Hook up 3D CSS transforms to the accelerated compositor backend. + Not enabled by default. + + * page/animation/AnimationBase.cpp: + (WebCore::blendFunc): + (WebCore::ensurePropertyMap): + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimationPrivate::updateTransitions): + * page/animation/ImplicitAnimation.cpp: + (WebCore::ImplicitAnimation::willNeedService): + * page/animation/KeyframeAnimation.cpp: + (WebCore::KeyframeAnimation::willNeedService): + * platform/graphics/GraphicsLayer.cpp: + (WebCore::GraphicsLayer::TransformValueList::makeFunctionList): + (WebCore::GraphicsLayer::dumpProperties): + * platform/graphics/mac/GraphicsLayerCA.mm: + (WebCore::copyTransform): + (WebCore::getValueFunctionNameForTransformOperation): + (WebCore::GraphicsLayerCA::animateTransform): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::updateBoxModelInfoFromStyle): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateTransform): + (WebCore::RenderLayer::hasTransformStyle3D): + (WebCore::RenderLayer::hasPerspective): + (WebCore::RenderLayer::perspectiveTransform): + * rendering/RenderLayer.h: + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::updateGraphicsLayers): + (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): + (WebCore::RenderLayerBacking::computeTransformOrigin): + (WebCore::RenderLayerBacking::computePerspectiveOrigin): + * rendering/RenderLayerBacking.h: + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::has3DContent): + (WebCore::requiresCompositingLayerForTransform): + (WebCore::RenderLayerCompositor::requiresCompositingLayer): + (WebCore::RenderLayerCompositor::layerHas3DContent): + * rendering/RenderLayerCompositor.h: + +2009-02-12 David Hyatt <hyatt@apple.com> + + Reviewed by Eric Seidel + + Get rid of containingBlockHeight(), since it had only one implementation (despite being virtual) and just returned + containingBlock()->availableHeight(). The latter reads better anyway. Rename containingBlockWidth() to + containingBlockWidthForContent() and move it to RenderBoxModelObject. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::localCaretRect): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::containingBlockWidthForContent): + (WebCore::RenderBox::calcWidth): + (WebCore::RenderBox::calcReplacedWidthUsing): + * rendering/RenderBox.h: + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::relativePositionOffsetX): + (WebCore::RenderBoxModelObject::relativePositionOffsetY): + (WebCore::RenderBoxModelObject::containingBlockWidthForContent): + * rendering/RenderBoxModelObject.h: + * rendering/RenderInline.cpp: + (WebCore::RenderInline::marginLeft): + (WebCore::RenderInline::marginRight): + * rendering/RenderObject.cpp: + * rendering/RenderObject.h: + * rendering/RenderSVGContainer.cpp: + (WebCore::RenderSVGContainer::calcReplacedWidth): + +2009-02-12 Simon Fraser <simon.fraser@apple.com> + + Fix non-Mac builds by adding Matrix3DTransformOperation.* and + PerspectiveTransformOperation.*. Cleaned out some cruft in + the WebCore.vcproj fle. + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.scons: + * WebCore.vcproj/WebCore.vcproj: + +2009-02-12 David Smith <catfish.man@gmail.com> + + Reviewed by Dave Hyatt. + + Fix https://bugs.webkit.org/show_bug.cgi?id=23935 + Nested :not() and non-simple selectors in :not() should be invalid + + * css/CSSGrammar.y: Reject nested :not() + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ASSERT() rather than checking, since the parser enforces it now + +2009-02-12 Kevin Ollivier <kevino@theolliviers.com> + + wx build fixes. + + * WebCoreSources.bkl: + +2009-02-12 Simon Fraser <simon.fraser@apple.com> + + Fix build with ACCELERATED_COMPOSITING turned on. + + Need to cast toRenderBox() in order to call overflowClipRect(). + + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): + +2009-02-12 Oliver Hunt <oliver@apple.com> + + Reviewed by NOBODY (Build fix). + + Fix windows build. + + * css/CSSParser.h: + +2009-02-12 David Hyatt <hyatt@apple.com> + + Rename getOverflowClipRect and getClipRect to overflowClipRect and clipRect. Move them to RenderBox, since these methods + only apply to boxes. Devirtualize clipRect, since it was not subclassed. Move controlClip stuff to RenderBox also. + + Reviewed by Simon Fraser + + * editing/Editor.cpp: + (WebCore::Editor::insideVisibleArea): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::overflowClipRect): + (WebCore::RenderBox::clipRect): + * rendering/RenderBox.h: + (WebCore::RenderBox::hasControlClip): + (WebCore::RenderBox::controlClipRect): + * rendering/RenderForeignObject.cpp: + (WebCore::RenderForeignObject::paint): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::calculateClipRects): + (WebCore::RenderLayer::calculateRects): + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): + * rendering/RenderObject.h: + (WebCore::RenderObject::hasClip): + (WebCore::RenderObject::hasOverflowClip): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::overflowClipRect): + * rendering/RenderTable.h: + +2009-02-12 Simon Fraser <simon.fraser@apple.com> + + Fix build with ACCELERATED_COMPOSITING turned on (simple copy/paste error) + + * platform/graphics/mac/GraphicsLayerCA.mm: + (WebCore::GraphicsLayerCA::setBasicAnimation): + +2009-02-12 Julien Chaffraix <jchaffraix@webkit.org> + + Not reviewed. + + Release build fix when VIDEO is disabled (it should also + help the builds with WORKERS or XSLT disabled). + + * bindings/js/JSDOMWindowBase.cpp: + (jsDOMWindowBaseAudio): Added an UNUSED_PARAM for exec and slot when + VIDEO is disabled. + (jsDOMWindowBaseWorker): Ditto for WORKERS. + (jsDOMWindowBaseXSLTProcessor): Ditto for XSLT. + +2009-02-12 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=23923 + Implement mediaPlayerVolumeChanged so a media engine can report autonomous volume changes. + Supporting this requires that we know when we are processing a media engine callback so + we don't turn around and tell the media player to change the volume when it is reporting + a volume change. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::HTMLMediaElement): initialize m_processingMediaPlayerCallback + (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): call begin/endProcessingMediaPlayerCallback + (WebCore::HTMLMediaElement::setNetworkState): logic split out of mediaPlayerNetworkStateChanged + to make it easier to maintain m_processingMediaPlayerCallback. + (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged): call begin/endProcessingMediaPlayerCallback + (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Ditto. + (WebCore::HTMLMediaElement::mediaPlayerRepaint): Ditto. + (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged): New + (WebCore::HTMLMediaElement::updateVolume): Don't change media engine volume if we are processing + a callback from the engine. + * html/HTMLMediaElement.h: + (WebCore::HTMLMediaElement::processingMediaPlayerCallback): New, return true if (m_processingMediaPlayerCallback>0) + (WebCore::HTMLMediaElement::beginProcessingMediaPlayerCallback): New, increment m_processingMediaPlayerCallback + (WebCore::HTMLMediaElement::endProcessingMediaPlayerCallback): New, decrement m_processingMediaPlayerCallback + +2009-02-12 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Simon Fraser. + + Support MPEG content on Mac and Windows. + <rdar://problem/5917509> + https://bugs.webkit.org/show_bug.cgi?id=23495 + + Test: media/audio-mpeg-supported.html + + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): + + * platform/graphics/win/QTMovieWin.cpp: + (QTMovieWin::disableUnsupportedTracks): + + * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: fix typo added in r40925 + +2009-02-12 David Hyatt <hyatt@apple.com> + + Reviewed by Sam Weinig + + Move containsFloats, hasOverhangingFloats, shrinkToAvoidFloats and avoidsFloats down to + RenderBox, since these methods only apply to boxes. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::collapseMargins): + (WebCore::RenderBlock::clearFloatsIfNeeded): + (WebCore::RenderBlock::layoutBlockChildren): + (WebCore::RenderBlock::clearFloats): + (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout): + (WebCore::RenderBlock::calcBlockPrefWidths): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::containsFloats): + (WebCore::RenderBlock::hasOverhangingFloats): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::shrinkToAvoidFloats): + (WebCore::RenderBox::avoidsFloats): + * rendering/RenderBox.h: + * rendering/RenderObject.cpp: + * rendering/RenderObject.h: + (WebCore::RenderObject::isFloatingOrPositioned): + * rendering/RenderView.h: + +2009-02-12 Chris Marrin <cmarrin@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=23908 + + Added parsing of 3d transform functions and properties + (perspective, perspective-origin, transform-style-3d, + and backface-visibility). + + Test: transforms/3d/cssmatrix-3d-interface.xhtml + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::): + (WebCore::computedTransform): + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSMutableStyleDeclaration.cpp: + (WebCore::CSSMutableStyleDeclaration::getPropertyValue): + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + (WebCore::CSSParser::parseFillProperty): + (WebCore::CSSParser::parseTransformOriginShorthand): + (WebCore::TransformOperationInfo::TransformOperationInfo): + (WebCore::CSSParser::parseTransform): + (WebCore::CSSParser::parseTransformOrigin): + (WebCore::CSSParser::parsePerspectiveOrigin): + * css/CSSParser.h: + * css/CSSPrimitiveValue.h: + (WebCore::CSSPrimitiveValue::isUnitTypeLength): + * css/CSSPropertyNames.in: + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::adjustRenderStyle): + (WebCore::convertToLength): + (WebCore::CSSStyleSelector::applyProperty): + (WebCore::CSSStyleSelector::mapFillSize): + (WebCore::CSSStyleSelector::mapFillXPosition): + (WebCore::CSSStyleSelector::mapFillYPosition): + (WebCore::getTransformOperationType): + (WebCore::CSSStyleSelector::createTransformOperations): + * css/CSSValueKeywords.in: + * css/WebKitCSSTransformValue.cpp: + (WebCore::WebKitCSSTransformValue::cssText): + * css/WebKitCSSTransformValue.h: + (WebCore::WebKitCSSTransformValue::): + * css/WebKitCSSTransformValue.idl: + * platform/graphics/transforms/Matrix3DTransformOperation.cpp: + * platform/graphics/transforms/Matrix3DTransformOperation.h: + * platform/graphics/transforms/PerspectiveTransformOperation.cpp: + * platform/graphics/transforms/PerspectiveTransformOperation.h: + * platform/graphics/transforms/RotateTransformOperation.cpp: + (WebCore::RotateTransformOperation::blend): + * platform/graphics/transforms/RotateTransformOperation.h: + (WebCore::RotateTransformOperation::RotateTransformOperation): + * platform/graphics/transforms/ScaleTransformOperation.h: + (WebCore::ScaleTransformOperation::ScaleTransformOperation): + * platform/graphics/transforms/TransformOperation.h: + (WebCore::TransformOperation::is3DOperation): + * platform/graphics/transforms/TransformOperations.h: + (WebCore::TransformOperations::has3DOperation): + * platform/graphics/transforms/TranslateTransformOperation.h: + (WebCore::TranslateTransformOperation::TranslateTransformOperation): + +2009-02-12 Kevin Ollivier <kevino@theolliviers.com> + + wx build fix. + + * webcore-base.bkl: + +2009-02-12 Brady Eidson <beidson@apple.com> + + Reviewed by Darin Adler + + Fix potential ref-count or null-deref problems with C++ objects as Obj-C members. + + * platform/mac/SharedBufferMac.mm: Change to use RefPtr<> instead of ref()/deref(). + (-[WebCoreSharedBufferData dealloc]): + (-[WebCoreSharedBufferData finalize]): + (-[WebCoreSharedBufferData initWithSharedBuffer:]): + +2009-02-12 David Hyatt <hyatt@apple.com> + + Remove calcWidth from RenderObject. Nobody ever called it on RenderObjects. + + Reviewed by Sam Weinig + + * rendering/RenderObject.h: + +2009-02-12 David Hyatt <hyatt@apple.com> + + Reviewed by Mark Rowe + + Fix for regression where form controls would paint yellow highlights. The containsComposition check needs to + null check node() now. + + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::paint): + +2009-02-12 Simon Fraser <simon.fraser@apple.com> + + Build fix + + Change Animation::setDirection() to take the new enum value, and fix + the single caller. + + Fix build error in MediaPlayerPrivateQTKit.h. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::mapAnimationDirection): + * platform/animation/Animation.h: + (WebCore::Animation::setDirection): + * platform/graphics/mac/MediaPlayerPrivateQTKit.h: + +2009-02-12 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser + + Remove the overrideSize methods from RenderObject. Devirtualize all of the accessors on RenderBox. + + * rendering/RenderBox.h: + * rendering/RenderObject.h: + +2009-02-12 Eric Carlson <eric.carlson@apple.com> + + Darin Adler, Antti Koivisto, Holger Hans Peter Freyther + + Bug 23797: A platform should be able to use more than one media engine for <video> and <audio> + https://bugs.webkit.org/show_bug.cgi?id=23797 + + * WebCore.xcodeproj/project.pbxproj: add MediaPlayerPrivate.h + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::load): selectMediaURL now also returns a MIME type, pass it to + MediaPlayer::load so it can choose the right media engine + (WebCore::HTMLMediaElement::selectMediaURL): renamed from pickMedia. use MIMETypeRegistry + functions to strip params from the url and extract the codecs parameter. call + MediaPlayer::supportsType to see if we can open the file since only a media engine can + answer questions about supported type+codecs. + * html/HTMLMediaElement.h: + + * platform/MIMETypeRegistry.cpp: + (WebCore::MIMETypeRegistry::getParameterFromMIMEType): New, find and return a MIME type parameter + (WebCore::MIMETypeRegistry::stripParametersFromMIMEType): New, strip all parameters from a MIME type + * platform/MIMETypeRegistry.h: + + * platform/graphics/MediaPlayer.cpp: + (WebCore::NullMediaPlayerPrivate::NullMediaPlayerPrivate): + (WebCore::NullMediaPlayerPrivate::load): + (WebCore::NullMediaPlayerPrivate::cancelLoad): + (WebCore::NullMediaPlayerPrivate::play): + (WebCore::NullMediaPlayerPrivate::pause): + (WebCore::NullMediaPlayerPrivate::naturalSize): + (WebCore::NullMediaPlayerPrivate::hasVideo): + (WebCore::NullMediaPlayerPrivate::setVisible): + (WebCore::NullMediaPlayerPrivate::duration): + (WebCore::NullMediaPlayerPrivate::currentTime): + (WebCore::NullMediaPlayerPrivate::seek): + (WebCore::NullMediaPlayerPrivate::seeking): + (WebCore::NullMediaPlayerPrivate::setEndTime): + (WebCore::NullMediaPlayerPrivate::setRate): + (WebCore::NullMediaPlayerPrivate::paused): + (WebCore::NullMediaPlayerPrivate::setVolume): + (WebCore::NullMediaPlayerPrivate::networkState): + (WebCore::NullMediaPlayerPrivate::readyState): + (WebCore::NullMediaPlayerPrivate::maxTimeSeekable): + (WebCore::NullMediaPlayerPrivate::maxTimeBuffered): + (WebCore::NullMediaPlayerPrivate::dataRate): + (WebCore::NullMediaPlayerPrivate::totalBytesKnown): + (WebCore::NullMediaPlayerPrivate::totalBytes): + (WebCore::NullMediaPlayerPrivate::bytesLoaded): + (WebCore::NullMediaPlayerPrivate::setRect): + (WebCore::NullMediaPlayerPrivate::paint): + (WebCore::createNullMediaPlayer): + Do nothing media player so MediaPlayer doesn't have to NULL check before calling current engine. + + (WebCore::MediaPlayerFactory::MediaPlayerFactory): New, factory constructor. + (WebCore::installedMediaEngines): New, returns vector of all installed engines. + (WebCore::addMediaEngine): New, add a media engine to the cache. + (WebCore::chooseBestEngineForTypeAndCodecs): New, return an engine that might support a MIME type. + (WebCore::MediaPlayer::MediaPlayer): create NULL media player so we have a default. Initialize m_currentMediaEngine. + (WebCore::MediaPlayer::~MediaPlayer): don't need to delete m_private, it is now an OwnPtr. + (WebCore::MediaPlayer::load): Take MIME type as well as url, since we need it to find the right + media engine. If no MIME type is provided, try to devine one from the url. Choose a media engine + based on the MIME type and codecs parameter. + (WebCore::MediaPlayer::currentTime): Remove excess white space. + (WebCore::MediaPlayer::supportsType): Take codecs param as well as MIME type. Return enum so we can + indicate "maybe" condition. + (WebCore::MediaPlayer::getSupportedTypes): Build up list of MIME types by consulting all engines. + (WebCore::MediaPlayer::isAvailable): return true if any media engine is installed. + + * platform/graphics/MediaPlayer.h: + (WebCore::MediaPlayer::): + (WebCore::MediaPlayer::frameView): accessor function. + + * platform/graphics/MediaPlayerPrivate.h: New, declares abstract interface for media engines. + (WebCore::MediaPlayerPrivateInterface::~MediaPlayerPrivateInterface): + (WebCore::MediaPlayerPrivateInterface::totalBytesKnown): + + * platform/graphics/chromium/MediaPlayerPrivateChromium.h: Add support for engine factory + + * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivate::create): New, media engine factory function + (WebCore::MediaPlayerPrivate::registerMediaEngine): Register engine with MediaPlayer factory + (WebCore::MediaPlayerPrivate::load): URL is a const String. + (WebCore::MediaPlayerPrivate::duration): Declare const. + (WebCore::MediaPlayerPrivate::naturalSize): Ditto. + (WebCore::MediaPlayerPrivate::hasVideo): Ditto. + (WebCore::MediaPlayerPrivate::networkState): Ditto. + (WebCore::MediaPlayerPrivate::readyState): Ditto. + (WebCore::MediaPlayerPrivate::maxTimeBuffered): Ditto. + (WebCore::MediaPlayerPrivate::maxTimeSeekable): Ditto. + (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto. + (WebCore::MediaPlayerPrivate::bytesLoaded): Ditto. + (WebCore::MediaPlayerPrivate::totalBytesKnown): Ditto. + (WebCore::MediaPlayerPrivate::totalBytes): Ditto. + (WebCore::MediaPlayerPrivate::supportsType): Return MediaPlayer::SupportsType enum instead of bool. + * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: + (WebCore::MediaPlayerPrivate::isAvailable): + + * platform/graphics/mac/MediaPlayerPrivateQTKit.h: + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivateQTKit::create): New, media engine factory function + (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Register engine with MediaPlayer factory + (WebCore::MediaPlayerPrivate::createQTMovieView): don't access MediaPlayer->m_frameView directly, + use accessor function. + (WebCore::MediaPlayerPrivate::setUpVideoRendering): Ditto. + (WebCore::MediaPlayerPrivate::paint): Ditto. + (WebCore::mimeTypeCache): New. + (WebCore::MediaPlayerPrivate::getSupportedTypes): New, media engine factory function. + (WebCore::MediaPlayerPrivate::supportsType): return MediaPlayer::SupportsType enum instead of bool + (-[WebCoreMovieObserver initWithCallback:]): fix formatting + + * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: + (WebCore::MediaPlayerPrivate::create): + (WebCore::MediaPlayerPrivate::registerMediaEngine): + (WebCore::MediaPlayerPrivate::supportsType): + (WebCore::MediaPlayerPrivate::load): URL is a const String. + * platform/graphics/qt/MediaPlayerPrivatePhonon.h: + (WebCore::MediaPlayerPrivate::isAvailable): + + * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: + (WebCore::MediaPlayerPrivate::create): New, media engine factory function + (WebCore::MediaPlayerPrivate::registerMediaEngine): New, register engine with MediaPlayer factory + (WebCore::MediaPlayerPrivate::load): URL is a const String. + (WebCore::MediaPlayerPrivate::paint): don't access MediaPlayer->m_frameView directly, + use accessor function. + (WebCore::mimeTypeCache): New. + (WebCore::MediaPlayerPrivateQTWin::getSupportedTypes): New, media engine factory function. + (WebCore::MediaPlayerPrivateQTWin::supportsType): return MediaPlayer::SupportsType enum instead of bool + * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: + +2009-02-12 Julien Chaffraix <jchaffraix@webkit.org> + + Reviewed by Darin Adler. + + Test: fast/dom/prefixed-image-tag.xhtml + + Bug 23915: Remove setPrefix work-around in Document::createElement(QualifiedName, bool) + + Instead we now directly propage the QualifiedName inside the generated Factory. + + Test: fast/dom/prefixed-image-tag.xhtml + + * dom/Document.cpp: + (WebCore::Document::createElement): Removed the setPrefix work-around + and replaced it with an ASSERT to catch mistakes inside the Factory code. + Remove the unneeded ExceptionCode argument. + + (WebCore::Document::createElementNS): Removed ExceptionCode argument. + * dom/Document.h: Updated the signature. + * dom/XMLTokenizerLibxml2.cpp: + (WebCore::XMLTokenizer::startElementNs): Removed ExceptionCode argument. + * dom/XMLTokenizerQt.cpp: Ditto. + (WebCore::XMLTokenizer::parseStartElement): Ditto. + + * dom/make_names.pl: Implemented the QualifiedName propogation logic + in the Factory. + +2009-02-12 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=23188 + + Define enum values for Animation::direction(), and one for + IterationCountInfinite to make the code more self-documenting. + + Order the member vars of Animation to optimize packing. + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * platform/animation/Animation.cpp: + (WebCore::Animation::Animation): + (WebCore::Animation::operator=): + (WebCore::Animation::animationsMatch): + * platform/animation/Animation.h: + (WebCore::Animation::): + (WebCore::Animation::direction): + (WebCore::Animation::initialAnimationDirection): + * platform/graphics/mac/GraphicsLayerCA.mm: + (WebCore::GraphicsLayerCA::setBasicAnimation): + (WebCore::GraphicsLayerCA::setKeyframeAnimation): + +2009-02-12 Christian Dywan <christian@twotoasts.de> + + Reviewed by Holger Freyther. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::ResourceHandle::startHttp): Don't use O_CLOEXEC for now. + +2009-02-12 Julien Chaffraix <jchaffraix@webkit.org> - 2009-02-10 Jon Honeycutt <jhoneycutt@apple.com> + Reviewed by Darin Adler. + + Bug 23826: Potential bug with before/after rule while moving element from one document to another + + Moved the document before/after toggle from the constructor to insertedIntoDocument. + + Test: fast/css-generated-content/beforeAfter-interdocument.html + + * html/HTMLQuoteElement.cpp: + (WebCore::HTMLQuoteElement::HTMLQuoteElement): + (WebCore::HTMLQuoteElement::insertedIntoDocument): + * html/HTMLQuoteElement.h: + +2009-02-12 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser + + Fix for https://bugs.webkit.org/show_bug.cgi?id=23912 + + I have no idea why this broke. As far as I can tell the old code never should have worked in + the first place. Add code to handleWheelEvent that will find an enclosing renderer for a node + in order to attempt a wheel scroll. + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleWheelEvent): + +2009-02-12 David Hyatt <hyatt@apple.com> + + Move the functions that paint borders, box shadows and border images into RenderBoxModelObject. drawBorder and drawBorderArc, because they are used + for outlines as well as borders, need to stay in RenderObject. Rename them to drawLineForBoxSide and drawArcForBoxSide in order to reflect their + more generic use. Rename the BorderSide struct to BoxSide, since the concept of "side" is just a rectangle concept and not a border concept. + + Reviewed by Simon Fraser + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::paintFillLayer): + (WebCore::InlineFlowBox::paintBoxShadow): + (WebCore::InlineFlowBox::paintBoxDecorations): + (WebCore::InlineFlowBox::paintMask): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::paintColumns): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintNinePieceImage): + (WebCore::RenderBoxModelObject::paintBorder): + (WebCore::RenderBoxModelObject::paintBoxShadow): + * rendering/RenderBoxModelObject.h: + * rendering/RenderFieldset.cpp: + (WebCore::RenderFieldset::paintBorderMinusLegend): + * rendering/RenderInline.cpp: + (WebCore::RenderInline::paintOutlineForLine): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::drawLineForBoxSide): + (WebCore::RenderObject::drawArcForBoxSide): + (WebCore::RenderObject::paintOutline): + * rendering/RenderObject.h: + (WebCore::): + (WebCore::RenderObject::hasBoxDecorations): + * rendering/RenderTableCell.cpp: + (WebCore::CollapsedBorders::addBorder): + (WebCore::RenderTableCell::paintCollapsedBorder): + +2009-02-12 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Simon Fraser + + Bug 18322: video element should have ui when scripting is disabled + https://bugs.webkit.org/show_bug.cgi?id=18322 + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::controls): always return 'true' when JavaScript is disabled. + * manual-tests/media-controls-when-javascript-disabled.html: Added. + +2009-02-12 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23906 + Add custom V8 bindings for HTMLPlugInElement. + + * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp: Added. + (WebCore::NAMED_PROPERTY_GETTER): + (WebCore::NAMED_PROPERTY_SETTER): + (WebCore::CALLBACK_FUNC_DECL): + (WebCore::INDEXED_PROPERTY_GETTER): + (WebCore::INDEXED_PROPERTY_SETTER): + +2009-02-12 Gustavo Noronha Silva <gns@gnome.org> + + Reviewed by Mark Rowe. + + [GTK] Soup backend must handle upload of multiple files + https://bugs.webkit.org/show_bug.cgi?id=18343 + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::): + (WebCore::freeFileMapping): + (WebCore::ResourceHandle::startHttp): Support multipart request bodies + mmap'ing files to be uploaded. + +2009-02-12 Adam Treat <adam.treat@torchmobile.com> + + Fix the Qt build following r40871 which changed RenderObject::element() + into RenderObject::node(). + + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::getMediaElementFromRenderObject): + (WebCore::RenderThemeQt::getMediaControlForegroundColor): + +2009-02-12 Alexey Proskuryakov <ap@webkit.org> + + Build fix. + + * platform/graphics/transforms/RotateTransformOperation.cpp: Include <algorithm>. + +2009-02-12 Jian Li <jianli@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Change worker code to use different proxy class pointers. + https://bugs.webkit.org/show_bug.cgi?id=23859 + + This is a step towards using separate proxies in multi-process implementation. + + * bindings/js/WorkerScriptController.cpp: + (WebCore::WorkerScriptController::evaluate): + * dom/Worker.cpp: + (WebCore::Worker::Worker): + (WebCore::Worker::~Worker): + (WebCore::Worker::postMessage): + (WebCore::Worker::terminate): + (WebCore::Worker::hasPendingActivity): + (WebCore::Worker::notifyFinished): + (WebCore::Worker::dispatchMessage): + * dom/Worker.h: + * dom/WorkerContext.cpp: + (WebCore::WorkerContext::~WorkerContext): + (WebCore::WorkerContext::reportException): + (WebCore::WorkerContext::addMessage): + (WebCore::WorkerContext::postMessage): + (WebCore::WorkerContext::dispatchMessage): + * dom/WorkerContext.h: + * dom/WorkerContextProxy.h: + * dom/WorkerMessagingProxy.cpp: + (WebCore::MessageWorkerContextTask::performTask): + (WebCore::MessageWorkerTask::performTask): + (WebCore::WorkerContextProxy::create): + (WebCore::WorkerMessagingProxy::WorkerMessagingProxy): + (WebCore::WorkerMessagingProxy::~WorkerMessagingProxy): + (WebCore::WorkerMessagingProxy::startWorkerContext): + (WebCore::postConsoleMessageTask): + (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject): + (WebCore::WorkerMessagingProxy::workerThreadCreated): + * dom/WorkerMessagingProxy.h: + * dom/WorkerObjectProxy.h: + * dom/WorkerThread.cpp: + (WebCore::WorkerThread::create): + (WebCore::WorkerThread::WorkerThread): + (WebCore::WorkerThread::workerThread): + * dom/WorkerThread.h: + (WebCore::WorkerThread::workerObjectProxy): + * loader/WorkerThreadableLoader.cpp: + (WebCore::WorkerThreadableLoader::WorkerThreadableLoader): + +2009-02-12 David Levin <levin@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Bug 23688: ThreadableLoader needs a sync implementation for Workers. + <https://bugs.webkit.org/show_bug.cgi?id=23688> + + Add ResourceError to ThreadableLoaderClient. + + No observable change in behavior, so no test. + + * loader/DocumentThreadableLoader.cpp: + (WebCore::DocumentThreadableLoader::create): + (WebCore::DocumentThreadableLoader::willSendRequest): + (WebCore::DocumentThreadableLoader::didFail): + * loader/ThreadableLoaderClient.h: + (WebCore::ThreadableLoaderClient::didFail): + (WebCore::ThreadableLoaderClient::didFailWillSendRequestCheck): + * loader/ThreadableLoaderClientWrapper.h: + (WebCore::ThreadableLoaderClientWrapper::didFail): + * loader/WorkerThreadableLoader.cpp: + (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): + (WebCore::workerContextDidFail): + (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail): + * loader/WorkerThreadableLoader.h: + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::didFail): + (WebCore::XMLHttpRequest::didFailWillSendRequestCheck): + * xml/XMLHttpRequest.h: + +2009-02-11 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + Fix the build on Leopard with ACCELERATED_COMPOSITING turned on. + + * WebCore.xcodeproj/project.pbxproj: + FloatPoint3D needs to be a private header, since it's included by GraphicsLayer.h + * platform/graphics/mac/GraphicsLayerCA.mm: + (WebCore::getTransformFunctionValue): + (WebCore::caValueFunctionSupported): + (WebCore::GraphicsLayerCA::setAnchorPoint): + (WebCore::GraphicsLayerCA::setPreserves3D): + (WebCore::GraphicsLayerCA::setContentsToImage): + (WebCore::GraphicsLayerCA::setBasicAnimation): + (WebCore::GraphicsLayerCA::setKeyframeAnimation): + * rendering/RenderLayer.h: + (WebCore::RenderLayer::isRootLayer): + Fix isRootLayer to return true for the renderView's layer, not the root + renderer's layer. + +2009-02-11 Adele Peterson <adele@apple.com> + + Reviewed by Oliver Hunt. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=23910 + <rdar://problem/6160546> REGRESSION: In Full page mode, movie controller hides when I drag the knob if movie is playing + + * rendering/RenderMedia.cpp: (WebCore::RenderMedia::forwardEvent): + When we get a mouseOut event, consider the mouse as still within the RenderMedia if the relatedTarget is a descendant. + +2009-02-11 David Hyatt <hyatt@apple.com> + + Remove all of the inline box wrapper functions from RenderObject, since they only apply to RenderBox. Devirtualize the functions. + Patch all of the call sites to convert to a RenderBox. + + Reviewed by Simon Fraser + + * dom/Position.cpp: + (WebCore::nextRenderedEditable): + (WebCore::previousRenderedEditable): + (WebCore::Position::getInlineBoxAndOffset): + * rendering/InlineBox.cpp: + (WebCore::InlineBox::deleteLine): + (WebCore::InlineBox::extractLine): + (WebCore::InlineBox::attachLine): + * rendering/RenderLineBoxList.cpp: + (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild): + * rendering/RenderObject.cpp: + * rendering/RenderObject.h: + * rendering/RenderObjectChildList.cpp: + (WebCore::RenderObjectChildList::removeChildNode): + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::textWithHardLineBreaks): + +2009-02-11 David Hyatt <hyatt@apple.com> + + Eliminate createInlineBox and dirtyLineBoxes from RenderObject. These functions have been devirtualized. + The single call site now calls a helper function that just bit checks and casts before calling the correct + type. RenderBlock's dirtyLineBoxes function was dead code (caused by the RenderFlow deletion), so it has + just been removed. + + Reviewed by Eric Seidel + + * rendering/RenderBR.cpp: + * rendering/RenderBR.h: + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::createRootInlineBox): + * rendering/RenderBlock.h: + * rendering/RenderBox.cpp: + (WebCore::RenderBox::createInlineBox): + * rendering/RenderBox.h: + * rendering/RenderCounter.cpp: + * rendering/RenderCounter.h: + * rendering/RenderInline.cpp: + (WebCore::RenderInline::createInlineFlowBox): + * rendering/RenderInline.h: + * rendering/RenderObject.cpp: + * rendering/RenderObject.h: + * rendering/RenderSVGInlineText.cpp: + (WebCore::RenderSVGInlineText::createTextBox): + * rendering/RenderSVGInlineText.h: + (WebCore::RenderSVGInlineText::isSVGText): + * rendering/RenderText.cpp: + (WebCore::RenderText::createTextBox): + (WebCore::RenderText::createInlineTextBox): + * rendering/RenderText.h: + * rendering/bidi.cpp: + (WebCore::createInlineBoxForRenderer): + (WebCore::RenderBlock::createLineBoxes): + (WebCore::RenderBlock::constructLine): + (WebCore::RenderBlock::layoutInlineChildren): + +2009-02-11 Chris Marrin <cmarrin@apple.com> + + Reviewed by Dave Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=23905 + + Adds support for 3D CSS properties (transform-style-3d, perspective, + perspective-origin, and backface-visibility) to RenderStyle and friends + + * platform/graphics/transforms/TransformOperation.h + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::diff): + (WebCore::RenderStyle::applyTransform): + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::transformOriginZ): + (WebCore::InheritedFlags::hasTransformRelatedProperty): + (WebCore::InheritedFlags::transformStyle3D): + (WebCore::InheritedFlags::backfaceVisibility): + (WebCore::InheritedFlags::perspective): + (WebCore::InheritedFlags::perspectiveOriginX): + (WebCore::InheritedFlags::perspectiveOriginY): + (WebCore::InheritedFlags::setTransformOriginZ): + (WebCore::InheritedFlags::setTransformStyle3D): + (WebCore::InheritedFlags::setBackfaceVisibility): + (WebCore::InheritedFlags::setPerspective): + (WebCore::InheritedFlags::setPerspectiveOriginX): + (WebCore::InheritedFlags::setPerspectiveOriginY): + (WebCore::InheritedFlags::initialTransformOriginZ): + (WebCore::InheritedFlags::initialTransformStyle3D): + (WebCore::InheritedFlags::initialBackfaceVisibility): + (WebCore::InheritedFlags::initialPerspective): + (WebCore::InheritedFlags::initialPerspectiveOriginX): + (WebCore::InheritedFlags::initialPerspectiveOriginY): + * rendering/style/RenderStyleConstants.h: + (WebCore::): + * rendering/style/StyleRareNonInheritedData.cpp: + (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): + (WebCore::StyleRareNonInheritedData::operator==): + * rendering/style/StyleRareNonInheritedData.h: + * rendering/style/StyleTransformData.cpp: + (WebCore::StyleTransformData::StyleTransformData): + (WebCore::StyleTransformData::operator==): + * rendering/style/StyleTransformData.h: + +2009-02-11 Simon Fraser <simon.fraser@apple.com> + + No review. + + Fix ACCELERATED_COMPOSITING build. + + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::createGraphicsLayer): + (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::updateLayerCompositingState): + +2009-02-11 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=23862 + + Add a bit on RenderStyle that gets set when running accelerated + transitions of transform or opacity. These ensure that styles + compare as different during the transition, so that interruption + can be detected reliably. + + * page/animation/ImplicitAnimation.cpp: + (WebCore::ImplicitAnimation::animate): + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::isRunningAcceleratedAnimation): + (WebCore::InheritedFlags::setIsRunningAcceleratedAnimation): + * rendering/style/StyleRareNonInheritedData.cpp: + (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): + (WebCore::StyleRareNonInheritedData::operator==): + * rendering/style/StyleRareNonInheritedData.h: + +2009-02-11 David Hyatt <hyatt@apple.com> + + Eliminate the virtual position() function from RenderObject. Rename the position() overrides + in RenderText and RenderBox to positionLineBox and devirtualize them. + + Patch the one call site to just check for isText() and isBox() and call the methods directly. + + Remove some unnecessary overrides of position() on table sections and rows. + + Reviewed by Simon Fraser + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::positionLineBox): + * rendering/RenderBox.h: + * rendering/RenderObject.h: + * rendering/RenderSVGRoot.cpp: + * rendering/RenderSVGRoot.h: + * rendering/RenderTableRow.h: + (WebCore::RenderTableRow::lineHeight): + * rendering/RenderTableSection.h: + (WebCore::RenderTableSection::lineHeight): + * rendering/RenderText.cpp: + (WebCore::RenderText::positionLineBox): + * rendering/RenderText.h: + * rendering/bidi.cpp: + (WebCore::RenderBlock::computeVerticalPositionsForLine): + +2009-02-11 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23901 + Add HTML options/collections V8 custom bindings. + + * bindings/v8/custom/V8HTMLCollectionCustom.cpp: Added. + (WebCore::getNamedItems): + (WebCore::getItem): + (WebCore::NAMED_PROPERTY_GETTER): + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8HTMLFormElementCustom.cpp: Added. + (WebCore::NAMED_PROPERTY_GETTER): + * bindings/v8/custom/V8HTMLInputElementCustom.cpp: + (WebCore::ACCESSOR_GETTER): + (WebCore::ACCESSOR_SETTER): + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + (WebCore::ACCESSOR_SETTER): + * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: Added. + (WebCore::CALLBACK_FUNC_DECL): + (WebCore::removeElement): + * bindings/v8/custom/V8HTMLSelectElementCustom.h: Added. + * bindings/v8/custom/V8NamedNodesCollection.cpp: Added. + (WebCore::V8NamedNodesCollection::item): + (WebCore::V8NamedNodesCollection::itemWithName): + * bindings/v8/custom/V8NamedNodesCollection.h: Added. + (WebCore::V8NamedNodesCollection::V8NamedNodesCollection): + (WebCore::V8NamedNodesCollection::length): + +2009-02-11 Dimitri Dupuis-latour <dupuislatour@apple.com> + + Added a preference to disable some Inspector's panels (rdar://6419624, rdar://6419645). + This is controlled via the 'WebKitInspectorHiddenPanels' key; if nothing is specified, all panels are shown. + + Reviewed by Timothy Hatcher. + + * inspector/InspectorClient.h: + * inspector/InspectorController.cpp: + (WebCore::hiddenPanels): + (WebCore::InspectorController::hiddenPanels): + (WebCore::InspectorController::windowScriptObjectAvailable): + * inspector/InspectorController.h: + * inspector/front-end/inspector.js: + (WebInspector.loaded): + * loader/EmptyClients.h: + (WebCore::EmptyInspectorClient::hiddenPanels): + +2009-02-11 David Hyatt <hyatt@apple.com> + + Combine RenderObject::element() and RenderObject::node() into a single function. + node() now has the "anonymous bit" checking behavior of element() and will + return 0 for anonymous content. This patch switches all callers of element() + to node() and patches old callers of node() to deal with situations where they + did not expect node() to be 0. A bunch of node() calls were calling stuff on + Document that they clearly didn't intend, so overall this is a nice improvement. + + Reviewed by Sam Weinig + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::getUpperLeftCorner): + * dom/Element.cpp: + (WebCore::Element::offsetParent): + * dom/Position.cpp: + (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight): + * editing/ModifySelectionListLevel.cpp: + (WebCore::getStartEndListChildren): + (WebCore::IncreaseSelectionListLevelCommand::doApply): + (WebCore::DecreaseSelectionListLevelCommand::doApply): + * editing/TextIterator.cpp: + (WebCore::TextIterator::advance): + * editing/VisiblePosition.cpp: + (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): + (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): + * editing/visible_units.cpp: + (WebCore::startPositionForLine): + (WebCore::endPositionForLine): + * page/AXObjectCache.cpp: + (WebCore::AXObjectCache::get): + * page/AccessibilityList.cpp: + (WebCore::AccessibilityList::isUnorderedList): + (WebCore::AccessibilityList::isOrderedList): + (WebCore::AccessibilityList::isDefinitionList): + * page/AccessibilityListBox.cpp: + (WebCore::AccessibilityListBox::doAccessibilityHitTest): + * page/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::isPasswordField): + (WebCore::AccessibilityRenderObject::isFileUploadButton): + (WebCore::AccessibilityRenderObject::isInputImage): + (WebCore::AccessibilityRenderObject::isMultiSelect): + (WebCore::AccessibilityRenderObject::isControl): + (WebCore::AccessibilityRenderObject::getAttribute): + (WebCore::AccessibilityRenderObject::anchorElement): + (WebCore::AccessibilityRenderObject::actionElement): + (WebCore::AccessibilityRenderObject::mouseButtonListener): + (WebCore::AccessibilityRenderObject::helpText): + (WebCore::AccessibilityRenderObject::textUnderElement): + (WebCore::AccessibilityRenderObject::hasIntValue): + (WebCore::AccessibilityRenderObject::intValue): + (WebCore::AccessibilityRenderObject::labelElementContainer): + (WebCore::AccessibilityRenderObject::title): + (WebCore::AccessibilityRenderObject::accessibilityDescription): + (WebCore::AccessibilityRenderObject::boundingBoxRect): + (WebCore::AccessibilityRenderObject::checkboxOrRadioRect): + (WebCore::AccessibilityRenderObject::titleUIElement): + (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): + (WebCore::AccessibilityRenderObject::text): + (WebCore::AccessibilityRenderObject::ariaSelectedTextDOMRange): + (WebCore::AccessibilityRenderObject::accessKey): + (WebCore::AccessibilityRenderObject::setSelectedTextRange): + (WebCore::AccessibilityRenderObject::url): + (WebCore::AccessibilityRenderObject::isFocused): + (WebCore::AccessibilityRenderObject::setFocused): + (WebCore::AccessibilityRenderObject::setValue): + (WebCore::AccessibilityRenderObject::isEnabled): + (WebCore::AccessibilityRenderObject::visiblePositionRange): + (WebCore::AccessibilityRenderObject::index): + (WebCore::AccessibilityRenderObject::activeDescendant): + (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged): + (WebCore::AccessibilityRenderObject::observableObject): + (WebCore::AccessibilityRenderObject::roleValue): + (WebCore::AccessibilityRenderObject::canSetFocusAttribute): + (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren): + * page/AccessibilityTable.cpp: + (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): + (WebCore::AccessibilityTable::title): + * page/AccessibilityTableCell.cpp: + (WebCore::AccessibilityTableCell::titleUIElement): + * page/AccessibilityTableColumn.cpp: + (WebCore::AccessibilityTableColumn::headerObjectForSection): + * page/AccessibilityTableRow.cpp: + (WebCore::AccessibilityTableRow::headerObject): + * page/EventHandler.cpp: + (WebCore::EventHandler::dispatchMouseEvent): + (WebCore::EventHandler::canMouseDownStartSelect): + (WebCore::EventHandler::canMouseDragExtendSelect): + (WebCore::EventHandler::shouldDragAutoNode): + * page/Frame.cpp: + (WebCore::Frame::searchForLabelsAboveCell): + (WebCore::Frame::setFocusedNodeIfNeeded): + * page/FrameView.cpp: + (WebCore::FrameView::updateOverflowStatus): + * page/animation/AnimationBase.cpp: + (WebCore::AnimationBase::updateStateMachine): + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::updateAnimationTimer): + (WebCore::AnimationController::cancelAnimations): + (WebCore::AnimationController::updateAnimations): + * page/animation/KeyframeAnimation.cpp: + (WebCore::KeyframeAnimation::KeyframeAnimation): + (WebCore::KeyframeAnimation::endAnimation): + * page/mac/AccessibilityObjectWrapper.mm: + (blockquoteLevel): + (AXAttributeStringSetHeadingLevel): + * page/mac/FrameMac.mm: + (WebCore::Frame::searchForNSLabelsAboveCell): + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::verticallyAlignBoxes): + (WebCore::InlineFlowBox::paint): + (WebCore::shouldDrawTextDecoration): + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::paintDocumentMarkers): + * rendering/RenderBR.cpp: + (WebCore::RenderBR::positionForCoordinates): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): + (WebCore::RenderBlock::handleRunInChild): + (WebCore::RenderBlock::paintObject): + (WebCore::RenderBlock::isSelectionRoot): + (WebCore::RenderBlock::rightmostPosition): + (WebCore::RenderBlock::positionForBox): + (WebCore::RenderBlock::positionForRenderer): + (WebCore::RenderBlock::positionForCoordinates): + (WebCore::RenderBlock::hasLineIfEmpty): + (WebCore::RenderBlock::updateFirstLetter): + (WebCore::RenderBlock::updateHitTestResult): + (WebCore::RenderBlock::addFocusRingRects): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::styleWillChange): + (WebCore::RenderBox::updateBoxModelInfoFromStyle): + (WebCore::RenderBox::paintRootBoxDecorations): + (WebCore::RenderBox::positionForCoordinates): + * rendering/RenderButton.cpp: + (WebCore::RenderButton::updateFromElement): + (WebCore::RenderButton::canHaveChildren): + * rendering/RenderCounter.cpp: + (WebCore::planCounter): + * rendering/RenderFieldset.cpp: + (WebCore::RenderFieldset::findLegend): + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutVerticalBox): + * rendering/RenderForeignObject.cpp: + (WebCore::RenderForeignObject::translationForAttributes): + (WebCore::RenderForeignObject::calculateLocalTransform): + * rendering/RenderFrame.h: + (WebCore::RenderFrame::element): + * rendering/RenderImage.cpp: + (WebCore::RenderImage::paintReplaced): + (WebCore::RenderImage::imageMap): + (WebCore::RenderImage::nodeAtPoint): + (WebCore::RenderImage::updateAltText): + * rendering/RenderInline.cpp: + (WebCore::RenderInline::cloneInline): + (WebCore::RenderInline::updateHitTestResult): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::isTransparent): + (WebCore::RenderLayer::scrollToOffset): + (WebCore::RenderLayer::resize): + (WebCore::RenderLayer::createScrollbar): + (WebCore::RenderLayer::updateOverflowStatus): + (WebCore::RenderLayer::updateScrollInfoAfterLayout): + (WebCore::RenderLayer::enclosingElement): + (WebCore::RenderLayer::updateHoverActiveState): + (WebCore::RenderLayer::updateScrollCornerStyle): + (WebCore::RenderLayer::updateResizerStyle): + * rendering/RenderLayer.h: + (WebCore::RenderLayer::isRootLayer): + * rendering/RenderListItem.cpp: + (WebCore::getParentOfFirstLineBox): + * rendering/RenderMarquee.cpp: + (WebCore::RenderMarquee::marqueeSpeed): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::RenderObject): + (WebCore::RenderObject::isBody): + (WebCore::RenderObject::isHR): + (WebCore::RenderObject::isHTMLMarquee): + (WebCore::RenderObject::isEditable): + (WebCore::RenderObject::addPDFURLRect): + (WebCore::RenderObject::showTreeForThis): + (WebCore::RenderObject::draggableNode): + (WebCore::RenderObject::hasOutlineAnnotation): + (WebCore::RenderObject::positionForCoordinates): + (WebCore::RenderObject::updateDragState): + (WebCore::RenderObject::updateHitTestResult): + (WebCore::RenderObject::getUncachedPseudoStyle): + (WebCore::RenderObject::getTextDecorationColors): + (WebCore::RenderObject::caretMaxOffset): + (WebCore::RenderObject::offsetParent): + * rendering/RenderObject.h: + (WebCore::RenderObject::isRoot): + (WebCore::RenderObject::isInlineContinuation): + (WebCore::RenderObject::node): + (WebCore::RenderObject::setNode): + * rendering/RenderObjectChildList.cpp: + (WebCore::RenderObjectChildList::destroyLeftoverChildren): + * rendering/RenderPart.cpp: + (WebCore::RenderPart::updateWidgetPosition): + * rendering/RenderPartObject.cpp: + (WebCore::RenderPartObject::updateWidget): + (WebCore::RenderPartObject::viewCleared): + * rendering/RenderPath.cpp: + (WebCore::RenderPath::calculateLocalTransform): + (WebCore::RenderPath::layout): + (WebCore::RenderPath::paint): + (WebCore::RenderPath::drawMarkersIfNeeded): + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::positionForCoordinates): + (WebCore::RenderReplaced::isSelected): + * rendering/RenderSVGGradientStop.cpp: + (WebCore::RenderSVGGradientStop::gradientElement): + * rendering/RenderSVGImage.cpp: + (WebCore::RenderSVGImage::calculateLocalTransform): + * rendering/RenderSVGInlineText.cpp: + (WebCore::RenderSVGInlineText::positionForCoordinates): + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::layout): + (WebCore::RenderSVGRoot::applyContentTransforms): + (WebCore::RenderSVGRoot::paint): + (WebCore::RenderSVGRoot::calcViewport): + (WebCore::RenderSVGRoot::absoluteTransform): + * rendering/RenderSVGText.cpp: + (WebCore::RenderSVGText::calculateLocalTransform): + (WebCore::RenderSVGText::layout): + * rendering/RenderSVGTextPath.cpp: + (WebCore::RenderSVGTextPath::layoutPath): + (WebCore::RenderSVGTextPath::startOffset): + (WebCore::RenderSVGTextPath::exactAlignment): + (WebCore::RenderSVGTextPath::stretchMethod): + * rendering/RenderSVGTransformableContainer.cpp: + (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): + * rendering/RenderSVGViewportContainer.cpp: + (WebCore::RenderSVGViewportContainer::calcViewport): + (WebCore::RenderSVGViewportContainer::viewportTransform): + (WebCore::RenderSVGViewportContainer::nodeAtPoint): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::addChild): + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::updateFromElement): + (WebCore::RenderTableCell::calcPrefWidths): + * rendering/RenderTableCol.cpp: + (WebCore::RenderTableCol::updateFromElement): + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::addChild): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::addChild): + * rendering/RenderText.cpp: + (WebCore::RenderText::originalText): + (WebCore::RenderText::positionForCoordinates): + * rendering/RenderTextControlMultiLine.cpp: + (WebCore::RenderTextControlMultiLine::nodeAtPoint): + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::nodeAtPoint): + * rendering/RenderTextFragment.cpp: + (WebCore::RenderTextFragment::originalText): + (WebCore::RenderTextFragment::previousCharacter): + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::isActive): + (WebCore::RenderTheme::isChecked): + (WebCore::RenderTheme::isIndeterminate): + (WebCore::RenderTheme::isEnabled): + (WebCore::RenderTheme::isFocused): + (WebCore::RenderTheme::isPressed): + (WebCore::RenderTheme::isReadOnlyControl): + (WebCore::RenderTheme::isHovered): + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::updatePressedState): + (WebCore::RenderThemeMac::paintMediaFullscreenButton): + (WebCore::RenderThemeMac::paintMediaMuteButton): + (WebCore::RenderThemeMac::paintMediaPlayButton): + (WebCore::RenderThemeMac::paintMediaSeekBackButton): + (WebCore::RenderThemeMac::paintMediaSeekForwardButton): + (WebCore::RenderThemeMac::paintMediaSliderTrack): + (WebCore::RenderThemeMac::paintMediaSliderThumb): + (WebCore::RenderThemeMac::paintMediaTimelineContainer): + (WebCore::RenderThemeMac::paintMediaCurrentTime): + (WebCore::RenderThemeMac::paintMediaTimeRemaining): + * rendering/RenderThemeSafari.cpp: + (WebCore::RenderThemeSafari::paintMediaMuteButton): + (WebCore::RenderThemeSafari::paintMediaPlayButton): + (WebCore::RenderThemeSafari::paintMediaSliderTrack): + * rendering/RenderTreeAsText.cpp: + (WebCore::operator<<): + (WebCore::writeSelection): + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::setWidgetGeometry): + (WebCore::RenderWidget::updateWidgetPosition): + (WebCore::RenderWidget::nodeAtPoint): + * rendering/RootInlineBox.cpp: + (WebCore::isEditableLeaf): + * rendering/SVGRenderSupport.cpp: + (WebCore::prepareToRenderSVGContent): + * rendering/SVGRenderTreeAsText.cpp: + (WebCore::write): + * rendering/SVGRootInlineBox.cpp: + (WebCore::SVGRootInlineBox::buildLayoutInformation): + (WebCore::SVGRootInlineBox::layoutInlineBoxes): + (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): + (WebCore::SVGRootInlineBox::buildTextChunks): + * rendering/style/SVGRenderStyle.cpp: + (WebCore::SVGRenderStyle::cssPrimitiveToLength): + * svg/SVGFont.cpp: + (WebCore::SVGTextRunWalker::walk): + (WebCore::floatWidthOfSubStringUsingSVGFont): + (WebCore::Font::drawTextUsingSVGFont): + * svg/SVGTextContentElement.cpp: + (WebCore::findInlineTextBoxInTextChunks): + * svg/graphics/SVGPaintServer.cpp: + (WebCore::SVGPaintServer::fillPaintServer): + (WebCore::SVGPaintServer::strokePaintServer): + +2009-02-11 Brady Eidson <beidson@apple.com> + + Reviewed by Darin Adler + + <rdar://problem/3541409> - Further FrameLoader and page cache cleanup + + * history/CachedFrame.cpp: + (WebCore::CachedFrame::restore): Moved updatePlatformScriptObjects() here. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::commitProvisionalLoad): Rolled opened() into this method. This method was + the only caller and - in the future - will benefit from doing parts of opened()'s work differently. + (WebCore::FrameLoader::open): Split off per-frame logic into open(CachedFrame&) method. + (WebCore::FrameLoader::closeAndRemoveChild): Added. Do the non-tree related cleanup that + FrameTree::removeChild() used to do. + (WebCore::FrameLoader::detachFromParent): Call ::closeAndRemoveChild() instead. + (WebCore::FrameLoader::cachePageForHistoryItem): Perform the "can cache page" check here. + * loader/FrameLoader.h: + + * page/FrameTree.cpp: + (WebCore::FrameTree::removeChild): Just remove the Frame from the tree. Closing it and other + cleanup is the responsibility of the FrameLoader. + * page/FrameTree.h: + (WebCore::FrameTree::detachFromParent): Added to just clear a Frame's parent pointer + +2009-02-11 Scott Violet <sky@google.com> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23882 + GraphicsContextSkia draws round rects as solid rects + + Fixes two bugs in Skia's GraphicsContext::fillRoundedRect: + . fillRoundedRect had an extra call to fillRect, resulting in always + drawing a solid rectangle. + . if the total radius along a given axis is greater than the size of + the axis to draw, a solid rect should be drawn. + + The layout tests LayoutTests/fast/css/shadow-multiple.html and + LayoutTests/fast/box-shadow/basic-shadows.html cover this. + + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::fillRoundedRect): + +2009-02-11 Julien Chaffraix <jchaffraix@webkit.org> + + Reviewed by Eric Seidel. + + Bug 23536: Auto-generate HTMLElementFactory + + Remove the HTMLElementFactory files. Farewell. + + * html/HTMLElementFactory.cpp: Removed. + * html/HTMLElementFactory.h: Removed. + +2009-02-11 Julien Chaffraix <jchaffraix@webkit.org> + + Reviewed by Eric Seidel. + + Bug 23536: Auto-generate HTMLElementFactory + + Make the platform auto-generate the HTMLElementFactory. + + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.pro: + * WebCore.scons: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * webcore-base.bkl: + +2009-02-11 Sam Weinig <sam@webkit.org> + + Reviewed by David Hyatt. + + Remove unneeded ASSERTS. + + * rendering/RenderBox.h: + (WebCore::RenderBox::width): + (WebCore::RenderBox::height): + (WebCore::RenderBox::size): + (WebCore::RenderBox::frameRect): + +2009-02-11 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + Add function to RenderStyle to ask whether a background image has been specified. + + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::hasBackgroundImage): + +2009-02-11 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=23548 + + When opacity or transform change on an object which has a compositing layer, + avoid repainting the layer. + + Added a new StyleDifference value, StyleDifferenceRecompositeLayer, which indicates + that the only thing styleChanged() has to do is to update composited properties of + the layer. RenderStyle::diff() now has an out param for a bitmask of "context sensitive" + properties, currently for opacity and transform. When one of these changes, we need + to see if we have a compositing layer before we decide whether to layout/repaint, + or just update the composited layer, via adjustStyleDifference(). + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::adjustStyleDifference): + (WebCore::RenderObject::setStyle): + (WebCore::RenderObject::styleDidChange): + * rendering/RenderObject.h: + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::diff): + * rendering/style/RenderStyle.h: + * rendering/style/RenderStyleConstants.h: + (WebCore::): + +2009-02-11 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + <rdar://problem/6562920> Pasted text should be normalized to NFC + + Testing requires putting non-HTML content in pasteboard, so it cannot be done with WebKit alone. + + * platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::plainText): Route the text through + -[NSString precomposedStringWithCanonicalMapping]. + +2009-02-10 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=23883 + + Added new TransformOperation subclasses and methods to existing ones + to support 3D. + + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/transforms/IdentityTransformOperation.h: + (WebCore::IdentityTransformOperation::isAffine): + * platform/graphics/transforms/Matrix3DTransformOperation.cpp: Added. + (WebCore::Matrix3DTransformOperation::blend): + * platform/graphics/transforms/Matrix3DTransformOperation.h: Added. + (WebCore::Matrix3DTransformOperation::create): + (WebCore::Matrix3DTransformOperation::isIdentity): + (WebCore::Matrix3DTransformOperation::isAffine): + (WebCore::Matrix3DTransformOperation::getOperationType): + (WebCore::Matrix3DTransformOperation::isSameType): + (WebCore::Matrix3DTransformOperation::operator==): + (WebCore::Matrix3DTransformOperation::apply): + (WebCore::Matrix3DTransformOperation::Matrix3DTransformOperation): + * platform/graphics/transforms/MatrixTransformOperation.h: + (WebCore::MatrixTransformOperation::isAffine): + (WebCore::MatrixTransformOperation::apply): + * platform/graphics/transforms/PerspectiveTransformOperation.cpp: Added. + (WebCore::PerspectiveTransformOperation::blend): + * platform/graphics/transforms/PerspectiveTransformOperation.h: Added. + (WebCore::PerspectiveTransformOperation::create): + (WebCore::PerspectiveTransformOperation::isIdentity): + (WebCore::PerspectiveTransformOperation::isAffine): + (WebCore::PerspectiveTransformOperation::getOperationType): + (WebCore::PerspectiveTransformOperation::isSameType): + (WebCore::PerspectiveTransformOperation::operator==): + (WebCore::PerspectiveTransformOperation::apply): + (WebCore::PerspectiveTransformOperation::PerspectiveTransformOperation): + * platform/graphics/transforms/RotateTransformOperation.cpp: + (WebCore::RotateTransformOperation::blend): + * platform/graphics/transforms/RotateTransformOperation.h: + (WebCore::RotateTransformOperation::create): + (WebCore::RotateTransformOperation::angle): + (WebCore::RotateTransformOperation::isAffine): + (WebCore::RotateTransformOperation::operator==): + (WebCore::RotateTransformOperation::apply): + (WebCore::RotateTransformOperation::RotateTransformOperation): + * platform/graphics/transforms/ScaleTransformOperation.cpp: + (WebCore::ScaleTransformOperation::blend): + * platform/graphics/transforms/ScaleTransformOperation.h: + (WebCore::ScaleTransformOperation::create): + (WebCore::ScaleTransformOperation::z): + (WebCore::ScaleTransformOperation::isIdentity): + (WebCore::ScaleTransformOperation::isAffine): + (WebCore::ScaleTransformOperation::operator==): + (WebCore::ScaleTransformOperation::apply): + (WebCore::ScaleTransformOperation::ScaleTransformOperation): + * platform/graphics/transforms/SkewTransformOperation.h: + (WebCore::SkewTransformOperation::isAffine): + * platform/graphics/transforms/TransformOperation.h: + (WebCore::TransformOperation::): + (WebCore::TransformOperation::is3DOperation): + * platform/graphics/transforms/TransformOperations.h: + (WebCore::TransformOperations::isAffine): + (WebCore::TransformOperations::has3DOperation): + * platform/graphics/transforms/TranslateTransformOperation.cpp: + (WebCore::TranslateTransformOperation::blend): + * platform/graphics/transforms/TranslateTransformOperation.h: + (WebCore::TranslateTransformOperation::create): + (WebCore::TranslateTransformOperation::z): + (WebCore::TranslateTransformOperation::isIdentity): + (WebCore::TranslateTransformOperation::isAffine): + (WebCore::TranslateTransformOperation::operator==): + (WebCore::TranslateTransformOperation::apply): + (WebCore::TranslateTransformOperation::TranslateTransformOperation): + +2009-02-11 David Hyatt <hyatt@apple.com> + + Move createAnonymousBlock() to RenderBlock. Since anonymous blocks are always parented to some other block, + we can move this function to RenderBlock. Fix a couple of call sites as a result of this restriction. + + Reviewed by Simon Fraser + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::createAnonymousBlock): + * rendering/RenderBlock.h: + * rendering/RenderInline.cpp: + (WebCore::RenderInline::childBecameNonInline): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::handleDynamicFloatPositionChange): + * rendering/RenderObject.h: + +2009-02-11 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=23895 + + Remove two complete nonsense lines that I accidentally added from a cut and paste error. This + restores the original logic. + + Reviewed by Simon Fraser + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): + +2009-02-11 David Hyatt <hyatt@apple.com> + + Rename getBaselineOfFirstLineBox to firstLineBoxBaseline. Rename getBaselineOfLastLineBox to + lastLineBoxBaseline. Remove the functions from RenderObject and add them to RenderBox instead. + + Reviewed by Eric Seidel + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::baselinePosition): + (WebCore::RenderBlock::firstLineBoxBaseline): + (WebCore::RenderBlock::lastLineBoxBaseline): + * rendering/RenderBlock.h: + * rendering/RenderBox.h: + (WebCore::RenderBox::firstLineBoxBaseline): + (WebCore::RenderBox::lastLineBoxBaseline): + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutHorizontalBox): + * rendering/RenderObject.h: + * rendering/RenderTable.cpp: + (WebCore::RenderTable::firstLineBoxBaseline): + * rendering/RenderTable.h: + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::baselinePosition): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::firstLineBoxBaseline): + * rendering/RenderTableSection.h: + +2009-02-11 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Simon Fraser + + https://bugs.webkit.org/show_bug.cgi?id=23877 + Allow port to disable progress events from <video> and <audio> elements + + * html/HTMLMediaElement.cpp: Initialize m_sendProgressEvents. + (WebCore::HTMLMediaElement::HTMLMediaElement): Don't post progress events if m_sendProgressEvents is false. + (WebCore::HTMLMediaElement::initAndDispatchProgressEvent): Ditto. + (WebCore::HTMLMediaElement::load): Ditto. + * html/HTMLMediaElement.h: Add m_sendProgressEvents + +2009-02-11 Adam Roben <aroben@apple.com> + + Windows build fix + + * DerivedSources.cpp: Removed SVGElementFactory.cpp, since including + it leads to ambiguities for symbols like "aTag", which exist in both + the HTMLNames and SVGNames namespaces. + + * WebCore.vcproj/WebCore.vcproj: Added SVGElementFactory.cpp to the + project directly. VS also decided to reformat this file a little bit. + +2009-02-10 Julien Chaffraix <jchaffraix@webkit.org> + + Reviewed by Eric Seidel. + + Bug 23536: Auto-generate HTMLElementFactory + + Those are the last auto-generation bits needed to have a working generated HTMLElementFactory: + + - Added a new option mapToTagName that enables a tag to use another's options and tagName (<image> + uses imgTag for example) and wired the code generation to be consistent with the current factory. + + - Disabled dashboard compatibility check for HTMLElementFactory as it would make at least one test case fail. + + - Pass the QualifiedName down to the Element constructor for shared constructors to make the generated code as + close as possible to the current one. We will pass the QualifiedName for all Element in a forthcoming patch. + + * dom/make_names.pl: Did all the above points and tweaked the code generation to match the current HTMLElementFactory + as closely as possible. + + * html/HTMLElementFactory.cpp: + (WebCore::quoteConstructor): + * html/HTMLQuoteElement.cpp: + (WebCore::HTMLQuoteElement::HTMLQuoteElement): Moved setUsesBeforeAfterRules to HTMLQuoteElement' constructor because some + part of the code creates elements without using the HTMLElementFactory. Also added a FIXME as it is not the right place. + + * html/HTMLTagNames.in: Corrected <image> parameters. + +2009-02-10 David Hyatt <hyatt@apple.com> + + Fix for pixel test regression in fast/text. Make sure not to add in + the borderTop and paddingTop of the block to the baseline when painting + strict mode text decorations. + + Reviewed by Mark Rowe + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::paintTextDecorations): + * rendering/InlineFlowBox.h: + +2009-02-10 Jon Honeycutt <jhoneycutt@apple.com> + + Windows build fix after r40837. + + Not reviewed. + + * DerivedSources.cpp: + +2009-02-10 Jon Honeycutt <jhoneycutt@apple.com> <rdar://6349412> REGRESSION(r37204): Page is not repainted during and after pan scrolling @@ -82,11 +12945,832 @@ (WebCore::ScrollView::scrollContents): Don't repaint the pan scroll icon rect immediately; we will paint after the view has been scrolled. -2009-02-11 Mark Rowe <mrowe@apple.com> +2009-02-10 Oliver Hunt <oliver@apple.com> + + Reviewed by Adele Peterson. + + <rdar://problem/6156755> onMouseOver events do not fire properly for cross frame drag and drop + + This problem was caused by incorrectly ignoring whether or not the + default behaviour of the mousedown event was suppressed. If a + mousedown handler in a frame prevents default handling then the + subsequent mousemove events fired for the drag should not be + captured by that frame, should the mouse move out of its bounds. + + Test: fast/events/mouse-drag-from-frame.html + + * page/EventHandler.cpp: + (WebCore::EventHandler::EventHandler): + (WebCore::EventHandler::clear): + (WebCore::EventHandler::handleMouseReleaseEvent): + Reset new m_capturesDragging flag + + (WebCore::EventHandler::handleMousePressEvent): + Respect the m_capturesDragging flag when we propagate + a mousedown event to a subframe. + + * page/EventHandler.h: + (WebCore::EventHandler::capturesDragging): + +2009-02-10 Kevin Ollivier <kevino@theolliviers.com> + + wx build fixes for recent changes to TransformationMatrix and DOMElement. + + * WebCoreSources.bkl: + * dom/Element.cpp: + * platform/graphics/transforms/TransformationMatrix.h: + * platform/graphics/wx/TransformationMatrixWx.cpp: + (WebCore::TransformationMatrix::operator wxGraphicsMatrix): + +2009-02-10 David Hyatt <hyatt@apple.com> + + Some renames on line boxes. xPos()/yPos() -> x()/y(). setXPos()/setYPos() -> setX()/setY(). m_object/object() -> m_renderer/renderer(). textObject() -> textRenderer(). + + Reviewed by Sam Weinig + + * dom/Position.cpp: + (WebCore::Position::upstream): + (WebCore::Position::downstream): + * editing/VisiblePosition.cpp: + (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): + (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): + (WebCore::VisiblePosition::localCaretRect): + * editing/visible_units.cpp: + (WebCore::startPositionForLine): + (WebCore::endPositionForLine): + (WebCore::previousLinePosition): + (WebCore::nextLinePosition): + * rendering/EllipsisBox.cpp: + (WebCore::EllipsisBox::paint): + (WebCore::EllipsisBox::nodeAtPoint): + * rendering/InlineBox.cpp: + (WebCore::InlineBox::showTreeForThis): + (WebCore::InlineBox::height): + (WebCore::InlineBox::caretMinOffset): + (WebCore::InlineBox::caretMaxOffset): + (WebCore::InlineBox::deleteLine): + (WebCore::InlineBox::extractLine): + (WebCore::InlineBox::attachLine): + (WebCore::InlineBox::adjustPosition): + (WebCore::InlineBox::paint): + (WebCore::InlineBox::nodeAtPoint): + (WebCore::InlineBox::selectionState): + (WebCore::InlineBox::canAccommodateEllipsis): + * rendering/InlineBox.h: + (WebCore::InlineBox::InlineBox): + (WebCore::InlineBox::renderer): + (WebCore::InlineBox::setX): + (WebCore::InlineBox::x): + (WebCore::InlineBox::setY): + (WebCore::InlineBox::y): + (WebCore::InlineBox::topOverflow): + (WebCore::InlineBox::bottomOverflow): + (WebCore::InlineBox::leftOverflow): + (WebCore::InlineBox::rightOverflow): + (WebCore::InlineBox::visibleToHitTesting): + (WebCore::InlineBox::boxModelObject): + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::height): + (WebCore::InlineFlowBox::addToLine): + (WebCore::InlineFlowBox::removeLineBoxFromRenderObject): + (WebCore::InlineFlowBox::extractLineBoxFromRenderObject): + (WebCore::InlineFlowBox::attachLineBoxToRenderObject): + (WebCore::InlineFlowBox::rendererLineBoxes): + (WebCore::InlineFlowBox::onEndChain): + (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): + (WebCore::InlineFlowBox::placeBoxesHorizontally): + (WebCore::InlineFlowBox::verticallyAlignBoxes): + (WebCore::InlineFlowBox::adjustMaxAscentAndDescent): + (WebCore::verticalPositionForBox): + (WebCore::InlineFlowBox::computeLogicalBoxHeights): + (WebCore::InlineFlowBox::placeBoxesVertically): + (WebCore::InlineFlowBox::nodeAtPoint): + (WebCore::InlineFlowBox::paint): + (WebCore::InlineFlowBox::paintFillLayer): + (WebCore::InlineFlowBox::paintBoxShadow): + (WebCore::InlineFlowBox::paintBoxDecorations): + (WebCore::InlineFlowBox::paintMask): + (WebCore::InlineFlowBox::paintTextDecorations): + * rendering/InlineFlowBox.h: + (WebCore::InlineFlowBox::borderLeft): + (WebCore::InlineFlowBox::borderRight): + (WebCore::InlineFlowBox::borderTop): + (WebCore::InlineFlowBox::borderBottom): + (WebCore::InlineFlowBox::baseline): + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::height): + (WebCore::InlineTextBox::selectionState): + (WebCore::InlineTextBox::selectionRect): + (WebCore::InlineTextBox::deleteLine): + (WebCore::InlineTextBox::extractLine): + (WebCore::InlineTextBox::attachLine): + (WebCore::InlineTextBox::placeEllipsisBox): + (WebCore::InlineTextBox::isLineBreak): + (WebCore::InlineTextBox::nodeAtPoint): + (WebCore::InlineTextBox::paint): + (WebCore::InlineTextBox::selectionStartEnd): + (WebCore::InlineTextBox::paintSelection): + (WebCore::InlineTextBox::paintCompositionBackground): + (WebCore::InlineTextBox::paintCustomHighlight): + (WebCore::InlineTextBox::paintDecoration): + (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): + (WebCore::InlineTextBox::paintTextMatchMarker): + (WebCore::InlineTextBox::paintDocumentMarkers): + (WebCore::InlineTextBox::paintCompositionUnderline): + (WebCore::InlineTextBox::textPos): + (WebCore::InlineTextBox::offsetForPosition): + (WebCore::InlineTextBox::positionForOffset): + * rendering/InlineTextBox.h: + (WebCore::InlineTextBox::textRenderer): + * rendering/ListMarkerBox.cpp: + (WebCore::ListMarkerBox::isText): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::paintEllipsisBoxes): + (WebCore::RenderBlock::lowestPosition): + (WebCore::RenderBlock::rightmostPosition): + (WebCore::RenderBlock::leftmostPosition): + (WebCore::RenderBlock::positionForBox): + (WebCore::RenderBlock::positionForCoordinates): + (WebCore::RenderBlock::getBaselineOfFirstLineBox): + (WebCore::RenderBlock::getBaselineOfLastLineBox): + (WebCore::RenderBlock::adjustForBorderFit): + (WebCore::RenderBlock::addFocusRingRects): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::paintCustomHighlight): + (WebCore::RenderBox::position): + (WebCore::RenderBox::containingBlockWidthForPositioned): + (WebCore::RenderBox::calcAbsoluteHorizontalValues): + (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintFillLayerExtended): + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutVerticalBox): + * rendering/RenderInline.cpp: + (WebCore::RenderInline::absoluteRects): + (WebCore::RenderInline::absoluteQuads): + (WebCore::RenderInline::offsetLeft): + (WebCore::RenderInline::offsetTop): + (WebCore::RenderInline::linesBoundingBox): + (WebCore::RenderInline::relativePositionedInlineOffset): + (WebCore::RenderInline::addFocusRingRects): + (WebCore::RenderInline::paintOutline): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::localBoundingBox): + * rendering/RenderSVGTSpan.cpp: + (WebCore::RenderSVGTSpan::absoluteRects): + (WebCore::RenderSVGTSpan::absoluteQuads): + * rendering/RenderSVGText.cpp: + (WebCore::RenderSVGText::absoluteRects): + (WebCore::RenderSVGText::absoluteQuads): + (WebCore::RenderSVGText::relativeBBox): + * rendering/RenderSVGTextPath.cpp: + (WebCore::RenderSVGTextPath::absoluteRects): + (WebCore::RenderSVGTextPath::absoluteQuads): + * rendering/RenderText.cpp: + (WebCore::RenderText::absoluteRects): + (WebCore::RenderText::absoluteRectsForRange): + (WebCore::RenderText::absoluteQuads): + (WebCore::RenderText::absoluteQuadsForRange): + (WebCore::RenderText::localCaretRect): + (WebCore::RenderText::linesBoundingBox): + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::height): + (WebCore::RootInlineBox::clearTruncation): + (WebCore::RootInlineBox::placeEllipsis): + (WebCore::RootInlineBox::paintEllipsisBox): + (WebCore::RootInlineBox::addHighlightOverflow): + (WebCore::RootInlineBox::paintCustomHighlight): + (WebCore::RootInlineBox::paint): + (WebCore::RootInlineBox::nodeAtPoint): + (WebCore::RootInlineBox::childRemoved): + (WebCore::RootInlineBox::fillLineSelectionGap): + (WebCore::RootInlineBox::block): + (WebCore::isEditableLeaf): + (WebCore::RootInlineBox::closestLeafChildForXPos): + (WebCore::RootInlineBox::setVerticalOverflowPositions): + * rendering/RootInlineBox.h: + (WebCore::RootInlineBox::bottomOverflow): + (WebCore::RootInlineBox::floats): + (WebCore::RootInlineBox::setHorizontalOverflowPositions): + (WebCore::RootInlineBox::setVerticalSelectionPositions): + * rendering/SVGCharacterLayoutInfo.cpp: + (WebCore::SVGCharacterLayoutInfo::addLayoutInformation): + * rendering/SVGInlineTextBox.cpp: + (WebCore::SVGInlineTextBox::calculateGlyphWidth): + (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback): + (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback): + (WebCore::SVGInlineTextBox::svgCharacterHitsPosition): + (WebCore::SVGInlineTextBox::nodeAtPoint): + (WebCore::SVGInlineTextBox::paintCharacters): + (WebCore::SVGInlineTextBox::paintSelection): + (WebCore::SVGInlineTextBox::paintDecoration): + * rendering/SVGRenderTreeAsText.cpp: + (WebCore::writeSVGInlineTextBox): + * rendering/SVGRootInlineBox.cpp: + (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker): + (WebCore::SVGRootInlineBoxPaintWalker::chunkStartCallback): + (WebCore::SVGRootInlineBoxPaintWalker::chunkEndCallback): + (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupFillCallback): + (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupStrokeCallback): + (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback): + (WebCore::SVGRootInlineBox::paint): + (WebCore::cummulatedWidthOfInlineBoxCharacterRange): + (WebCore::cummulatedHeightOfInlineBoxCharacterRange): + (WebCore::svgTextRunForInlineTextBox): + (WebCore::cummulatedWidthOrHeightOfTextChunk): + (WebCore::applyTextAnchorToTextChunk): + (WebCore::SVGRootInlineBox::buildLayoutInformation): + (WebCore::SVGRootInlineBox::layoutInlineBoxes): + (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): + (WebCore::SVGRootInlineBox::buildTextChunks): + * rendering/bidi.cpp: + (WebCore::RenderBlock::constructLine): + (WebCore::RenderBlock::computeVerticalPositionsForLine): + (WebCore::RenderBlock::layoutInlineChildren): + (WebCore::RenderBlock::checkLinesForTextOverflow): + * svg/SVGTextContentElement.cpp: + (WebCore::cumulativeCharacterRangeLength): + (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): + (WebCore::findInlineTextBoxInTextChunks): + +2009-02-10 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + Clean up "fallbackAnimating" logic in AnimationBase. This flag indicates + that animation of an accelerated property must run in software for some reason. + + Also remove use of private headers in GraphicsLayerCA related to a case + where we may have to fall back on software animation of transform. + + * page/animation/AnimationBase.cpp: + (WebCore::AnimationBase::blendProperties): + * page/animation/AnimationBase.h: + * page/animation/ImplicitAnimation.cpp: + (WebCore::ImplicitAnimation::animate): + * page/animation/KeyframeAnimation.cpp: + (WebCore::KeyframeAnimation::animate): + * platform/graphics/mac/GraphicsLayerCA.h: + * platform/graphics/mac/GraphicsLayerCA.mm: + (WebCore::getValueFunctionNameForTransformOperation): + (WebCore::caValueFunctionSupported): + (WebCore::GraphicsLayerCA::setBackgroundColor): + (WebCore::GraphicsLayerCA::setOpacity): + (WebCore::GraphicsLayerCA::animateTransform): + (WebCore::GraphicsLayerCA::animateFloat): + (WebCore::GraphicsLayerCA::setBasicAnimation): + (WebCore::GraphicsLayerCA::setKeyframeAnimation): + +2009-02-10 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + Move enclosingCompositingLayer() from RenderObject to RenderLayer, since it + relates to the RenderLayer z-order/overflow structure, rather than the render tree + parent chain. Add a convenience method, ancestorCompositingLayer(), which finds + the enclosing layer excluding self. + + Fix enclosingCompositingLayer() to correctly look at stacking context and overflow + lists. + + Check for documentBeingDestroyed() in a few places to avoid work on document + teardown. + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::enclosingCompositingLayer): + (WebCore::RenderLayer::setParent): + (WebCore::RenderLayer::dirtyZOrderLists): + (WebCore::RenderLayer::dirtyOverflowList): + * rendering/RenderLayer.h: + (WebCore::RenderLayer::ancestorCompositingLayer): + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::updateLayerCompositingState): + (WebCore::RenderLayerCompositor::calculateCompositedBounds): + (WebCore::RenderLayerCompositor::layerWillBeRemoved): + (WebCore::RenderLayerCompositor::clippedByAncestor): + * rendering/RenderLayerCompositor.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::containerForRepaint): + * rendering/RenderObject.h: + +2009-02-10 David Hyatt <hyatt@apple.com> + + Rename xPos() and yPos() on RenderLayer to x() and y() to match RenderBox. Rename setPos to setLocation. + + Reviewed by Simon Fraser + + * dom/MouseRelatedEvent.cpp: + (WebCore::MouseRelatedEvent::receivedTarget): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateLayerPosition): + (WebCore::RenderLayer::convertToLayerCoords): + * rendering/RenderLayer.h: + (WebCore::RenderLayer::x): + (WebCore::RenderLayer::y): + (WebCore::RenderLayer::setLocation): + * rendering/RenderTreeAsText.cpp: + (WebCore::write): + (WebCore::externalRepresentation): + +2009-02-10 Darin Fisher <darin@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23879 + Add missing PLATFORM(SKIA) changes to TransformationMatrix.h + + * platform/graphics/transforms/TransformationMatrix.h: + +2009-02-10 Sam Weinig <sam@webkit.org> + + Reviewed by David Hyatt. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=15897 + Please implement getBoundingClientRect and getClientRects + <rdar://problem/6139669> + + Cursory implementation of Element.getBoundingClientRect and + Element.getClientRects. Adds necessary infrastructure classes + ClientRect and ClientRectList. + + Tests: fast/dom/getBoundingClientRect.html + fast/dom/getClientRects.html + + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * dom/ClientRect.cpp: Added. + (WebCore::ClientRect::ClientRect): + * dom/ClientRect.h: Added. + (WebCore::ClientRect::create): + (WebCore::ClientRect::top): + (WebCore::ClientRect::right): + (WebCore::ClientRect::bottom): + (WebCore::ClientRect::left): + (WebCore::ClientRect::width): + (WebCore::ClientRect::height): + * dom/ClientRect.idl: Added. + * dom/ClientRectList.cpp: Added. + (WebCore::ClientRectList::ClientRectList): + (WebCore::ClientRectList::~ClientRectList): + (WebCore::ClientRectList::length): + (WebCore::ClientRectList::item): + * dom/ClientRectList.h: Added. + (WebCore::ClientRectList::create): + * dom/ClientRectList.idl: Added. + * dom/Element.cpp: + (WebCore::Element::getClientRects): + (WebCore::Element::getBoundingClientRect): + * dom/Element.h: + * dom/Element.idl: + * page/DOMWindow.idl: + * rendering/RenderInline.cpp: + (WebCore::RenderInline::absoluteRects): + (WebCore::RenderInline::absoluteQuads): - Merge r40808. +2009-02-10 David Hyatt <hyatt@apple.com> - 2009-02-09 Dan Bernstein <mitz@apple.com> + Get rid of capsLockStateMayHaveChanged on RenderObject. It is only implemented by one class (text fields), + so devirtualize and just query at the single call site. + + Reviewed by Eric Seidel + + * page/EventHandler.cpp: + (WebCore::EventHandler::capsLockStateMayHaveChanged): + * rendering/RenderObject.h: + * rendering/RenderTextControlSingleLine.h: + +2009-02-10 David Hyatt <hyatt@apple.com> + + Shrink the size of all RenderObjects (except for RenderInlines) by 4 bytes. This patch moves the cached vertical position member to RenderInlines, + since they were the only objects being queried across multiple lines. + + Reviewed by Sam Weinig + + * rendering/InlineFlowBox.cpp: + (WebCore::verticalPositionForBox): + (WebCore::InlineFlowBox::computeLogicalBoxHeights): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::verticalPosition): + * rendering/RenderBoxModelObject.h: + * rendering/RenderInline.cpp: + (WebCore::RenderInline::RenderInline): + (WebCore::RenderInline::verticalPositionFromCache): + * rendering/RenderInline.h: + (WebCore::RenderInline::invalidateVerticalPosition): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::RenderObject): + * rendering/RenderObject.h: + * rendering/RenderText.cpp: + * rendering/RenderText.h: + * rendering/bidi.cpp: + (WebCore::RenderBlock::layoutInlineChildren): + +2009-02-10 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Mark Rowe. + + https://bugs.webkit.org/show_bug.cgi?id=23868 + Fix code style issues: removed 80-col wrapping, incorrect include style, if statement body on same line. + + * bindings/v8/custom/V8HTMLInputElementCustom.cpp: + * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: + +2009-02-10 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23868 + Add HTMLInputElement and HTMLOptionsCollection V8 custom bindings. + + * bindings/v8/custom/V8HTMLInputElementCustom.cpp: Added. + (WebCore::ACCESSOR_GETTER): + (WebCore::ACCESSOR_SETTER): + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: Added. + (WebCore::ACCESSOR_GETTER): + (WebCore::ACCESSOR_SETTER): + +2009-02-10 Adam Roben <aroben@apple.com> + + Fix Bug 23871: Assertion failure beneath WebCore::openFunc when + running http/tests/security/xss-DENIED-xsl-document-redirect.xml + + <https://bugs.webkit.org/show_bug.cgi?id=23871> + + Reviewed by Alexey Proskuryakov. + + Covered by existing tests. + + * dom/XMLTokenizerLibxml2.cpp: + (WebCore::openFunc): Use the two-parameter KURL constructor so that + the string will be parsed. libxml2 gives us a UTF-8-encoded string + that needs to be parsed. + +2009-02-10 David Hyatt <hyatt@apple.com> + + Shrink the size of all replaced elements (images, form controls, plugins) by 4 bytes by packing the + overflow boolean into the RenderObject base class. + + Reviewed by Sam Weinig + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::RenderObject): + * rendering/RenderObject.h: + (WebCore::RenderObject::replacedHasOverflow): + (WebCore::RenderObject::setReplacedHasOverflow): + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::RenderReplaced): + (WebCore::RenderReplaced::~RenderReplaced): + (WebCore::RenderReplaced::adjustOverflowForBoxShadow): + (WebCore::RenderReplaced::overflowHeight): + (WebCore::RenderReplaced::overflowWidth): + (WebCore::RenderReplaced::overflowLeft): + (WebCore::RenderReplaced::overflowTop): + (WebCore::RenderReplaced::overflowRect): + * rendering/RenderReplaced.h: + +2009-02-10 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=23870 + Make it possible for a port to require a user gesture for an <audio> or <video> element + to load a url. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_loadRestrictions. + (WebCore::HTMLMediaElement::attributeChanged): Only one attribute can change so put an "else" between tests. + (WebCore::HTMLMediaElement::load): Return INVALID_STATE_ERR if RequireUserGestureLoadRestriction is set + and we are not preocessing a user gesture. + (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): Remove unnecessary white space. + (WebCore::HTMLMediaElement::play): Ditto. + (WebCore::HTMLMediaElement::endScrubbing): Remove unnecessary braces added in r40789. + (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Cache currentTime() in a local instead of calling it + multiple times. + (WebCore::HTMLMediaElement::processingUserGesture): New. + * html/HTMLMediaElement.h: + (WebCore::HTMLMediaElement::): Define LoadRestrictions, add m_loadRestrictions. + +2009-02-10 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Sam Weinig. + + Remove the SVG checks from FloatPoint3D as it is used + by TransformationMatrix. + + * platform/graphics/FloatPoint3D.cpp: + * platform/graphics/FloatPoint3D.h: + +2009-02-10 David Hyatt <hyatt@apple.com> + + Remove the m_baseline member variable from all line boxes, since it can easily be computed when needed and did not need to be cached. + + Reviewed by Sam Weinig + + * rendering/EllipsisBox.cpp: + (WebCore::EllipsisBox::paint): + (WebCore::EllipsisBox::nodeAtPoint): + * rendering/EllipsisBox.h: + (WebCore::EllipsisBox::EllipsisBox): + * rendering/InlineBox.h: + (WebCore::InlineBox::InlineBox): + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::verticallyAlignBoxes): + (WebCore::InlineFlowBox::computeLogicalBoxHeights): + (WebCore::InlineFlowBox::placeBoxesVertically): + (WebCore::InlineFlowBox::paintTextDecorations): + * rendering/InlineFlowBox.h: + (WebCore::InlineFlowBox::marginBorderPaddingLeft): + (WebCore::InlineFlowBox::marginBorderPaddingRight): + (WebCore::InlineFlowBox::marginLeft): + (WebCore::InlineFlowBox::marginRight): + (WebCore::InlineFlowBox::borderLeft): + (WebCore::InlineFlowBox::borderRight): + (WebCore::InlineFlowBox::borderTop): + (WebCore::InlineFlowBox::borderBottom): + (WebCore::InlineFlowBox::paddingLeft): + (WebCore::InlineFlowBox::paddingRight): + (WebCore::InlineFlowBox::paddingTop): + (WebCore::InlineFlowBox::paddingBottom): + (WebCore::InlineFlowBox::includeLeftEdge): + (WebCore::InlineFlowBox::includeRightEdge): + (WebCore::InlineFlowBox::baseline): + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::paint): + (WebCore::InlineTextBox::paintDecoration): + (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): + (WebCore::InlineTextBox::paintCompositionUnderline): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::getBaselineOfFirstLineBox): + (WebCore::RenderBlock::getBaselineOfLastLineBox): + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::baselinePosition): + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::placeEllipsis): + * rendering/SVGInlineTextBox.cpp: + (WebCore::SVGInlineTextBox::paintDecoration): + * rendering/SVGRootInlineBox.cpp: + (WebCore::applyTextAnchorToTextChunk): + (WebCore::SVGRootInlineBox::layoutInlineBoxes): + +2009-02-10 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=23867 + Eliminate obsolete frame->document() checks + + * page/FrameView.cpp: (WebCore::FrameView::paintContents): Apparently due to a typo + (document vs. !document), fillWithRed was always set to false, and other branches were + never taken. Removing the check for document restores debug-only red color filling. + + * loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): Only call dispatchWindowObjectAvailable() + after a document is created. A client can do anything in its delegate method, so we'd need + to have frame->document() checks otherwise. DumpRenderTree uses this delegate to add its + custom property, and it was crashing due to null document in JSDOMWindowBase::getOwnPropertySlot(). + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::getOwnPropertySlot): + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::addEventListener): + (WebCore::JSDOMWindow::removeEventListener): + * bindings/js/JSNavigatorCustom.cpp: + (WebCore::needsYouTubeQuirk): + * bindings/js/ScheduledAction.cpp: + (WebCore::ScheduledAction::execute): + * bindings/js/ScriptControllerMac.mm: + (WebCore::updateRenderingForBindings): + * dom/Document.cpp: + (WebCore::Document::initSecurityContext): + * editing/Editor.cpp: + (WebCore::Editor::deleteWithDirection): + (WebCore::Editor::dispatchCPPEvent): + (WebCore::Editor::applyStyle): + (WebCore::Editor::applyParagraphStyle): + * editing/EditorCommand.cpp: + (WebCore::Editor::Command::execute): + (WebCore::Editor::Command::isEnabled): + (WebCore::Editor::Command::state): + (WebCore::Editor::Command::value): + * editing/SelectionController.cpp: + (WebCore::SelectionController::recomputeCaretRect): + (WebCore::SelectionController::selectFrameElementInParentIfFullySelected): + (WebCore::SelectionController::selectAll): + (WebCore::SelectionController::setFocused): + * inspector/InspectorController.cpp: + (WebCore::getResourceDocumentNode): + * inspector/JavaScriptDebugServer.cpp: + (WebCore::JavaScriptDebugServer::setJavaScriptPaused): + * loader/DocumentLoader.cpp: + (WebCore::canonicalizedTitle): + (WebCore::DocumentLoader::stopLoading): + (WebCore::DocumentLoader::isLoadingInAPISense): + (WebCore::DocumentLoader::subresource): + (WebCore::DocumentLoader::getSubresources): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::urlSelected): + (WebCore::FrameLoader::stop): + (WebCore::FrameLoader::iconURL): + (WebCore::FrameLoader::executeIfJavaScriptURL): + (WebCore::FrameLoader::clear): + (WebCore::FrameLoader::endIfNotLoadingMainResource): + (WebCore::FrameLoader::restoreDocumentState): + (WebCore::FrameLoader::gotoAnchor): + (WebCore::FrameLoader::loadDone): + (WebCore::FrameLoader::checkCompleted): + (WebCore::FrameLoader::checkCallImplicitClose): + (WebCore::FrameLoader::scheduleRefresh): + (WebCore::FrameLoader::outgoingOrigin): + (WebCore::FrameLoader::canCachePageContainingThisFrame): + (WebCore::FrameLoader::logCanCacheFrameDecision): + (WebCore::FrameLoader::updatePolicyBaseURL): + (WebCore::FrameLoader::setPolicyBaseURL): + (WebCore::FrameLoader::frameDetached): + (WebCore::FrameLoader::shouldScrollToAnchor): + (WebCore::FrameLoader::saveDocumentState): + * loader/archive/cf/LegacyWebArchive.cpp: + (WebCore::LegacyWebArchive::create): + * loader/icon/IconFetcher.cpp: + (WebCore::IconFetcher::create): + * loader/icon/IconLoader.cpp: + (WebCore::IconLoader::startLoading): + * page/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::visiblePositionForPoint): + * page/Chrome.cpp: + (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): + (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::sessionStorage): + (WebCore::DOMWindow::alert): + (WebCore::DOMWindow::confirm): + (WebCore::DOMWindow::prompt): + (WebCore::DOMWindow::scrollX): + (WebCore::DOMWindow::scrollY): + (WebCore::DOMWindow::getMatchedCSSRules): + (WebCore::DOMWindow::openDatabase): + (WebCore::DOMWindow::scrollBy): + (WebCore::DOMWindow::scrollTo): + * page/EventHandler.cpp: + (WebCore::EventHandler::allowDHTMLDrag): + (WebCore::EventHandler::scrollOverflow): + (WebCore::EventHandler::handleMousePressEvent): + (WebCore::EventHandler::handleMouseDoubleClickEvent): + (WebCore::EventHandler::handleMouseMoveEvent): + (WebCore::EventHandler::handleMouseReleaseEvent): + (WebCore::EventHandler::updateDragAndDrop): + (WebCore::EventHandler::handleWheelEvent): + (WebCore::EventHandler::sendContextMenuEvent): + (WebCore::EventHandler::capsLockStateMayHaveChanged): + (WebCore::EventHandler::sendResizeEvent): + (WebCore::EventHandler::sendScrollEvent): + * page/FocusController.cpp: + (WebCore::deepFocusableNode): + (WebCore::FocusController::advanceFocus): + * page/Frame.cpp: + (WebCore::Frame::setFocusedNodeIfNeeded): + (WebCore::Frame::shouldApplyTextZoom): + (WebCore::Frame::shouldApplyPageZoom): + (WebCore::Frame::setZoomFactor): + (WebCore::Frame::setPrinting): + (WebCore::Frame::reapplyStyles): + (WebCore::Frame::isContentEditable): + (WebCore::Frame::computeAndSetTypingStyle): + (WebCore::Frame::selectionComputedStyle): + (WebCore::Frame::applyEditingStyleToBodyElement): + (WebCore::Frame::removeEditingStyleFromBodyElement): + (WebCore::Frame::contentRenderer): + (WebCore::Frame::styleForSelectionStart): + (WebCore::Frame::setSelectionFromNone): + (WebCore::Frame::findString): + (WebCore::Frame::markAllMatchesForText): + (WebCore::Frame::setMarkedTextMatchesAreHighlighted): + (WebCore::Frame::documentTypeString): + (WebCore::Frame::shouldClose): + (WebCore::Frame::respondToChangedSelection): + * page/FrameView.cpp: + (WebCore::FrameView::~FrameView): + (WebCore::FrameView::createScrollbar): + (WebCore::FrameView::layout): + (WebCore::FrameView::layoutTimerFired): + (WebCore::FrameView::scheduleRelayout): + (WebCore::FrameView::needsLayout): + (WebCore::FrameView::unscheduleRelayout): + (WebCore::FrameView::windowClipRect): + * page/Geolocation.cpp: + (WebCore::Geolocation::disconnectFrame): + * page/Page.cpp: + (WebCore::networkStateChanged): + (WebCore::Page::~Page): + (WebCore::Page::unmarkAllTextMatches): + (WebCore::Page::setMediaVolume): + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::updateRenderingDispatcherFired): + * page/mac/EventHandlerMac.mm: + (WebCore::EventHandler::currentKeyboardEvent): + (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks): + * page/mac/FrameMac.mm: + (WebCore::Frame::dashboardRegionsDictionary): + (WebCore::Frame::setUserStyleSheetLocation): + (WebCore::Frame::setUserStyleSheet): + * storage/LocalStorageArea.cpp: + (WebCore::LocalStorageArea::dispatchStorageEvent): + * storage/SessionStorageArea.cpp: + (WebCore::SessionStorageArea::dispatchStorageEvent): + * svg/graphics/SVGImage.cpp: + (WebCore::SVGImage::setContainerSize): + (WebCore::SVGImage::usesContainerSize): + (WebCore::SVGImage::size): + (WebCore::SVGImage::hasRelativeWidth): + (WebCore::SVGImage::hasRelativeHeight): + Removed frame->document() checks. + +2009-02-10 Adam Treat <adam.treat@torchmobile.com> + + Reviewed by George Staikos. + + Attempt to fix the Qt build after r40791. + + * rendering/RenderSVGRoot.cpp: + +2009-02-10 Adam Treat <adam.treat@torchmobile.com> + + Reviewed by George Staikos. + + Minor code cleanup. + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::replaceChild): + +2009-02-10 Adam Treat <adam.treat@torchmobile.com> + + Fix Qt build following r40793. + + * editing/qt/EditorQt.cpp: + +2009-02-10 Feng Qian <feng@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Fix crashes when accessing navigator object of a deleted frame. + https://bugs.webkit.org/show_bug.cgi?id=23626 + A layout test is added: fast/dom/navigator-detached-no-crash.html + + * page/Navigator.cpp: + (WebCore::Navigator::cookieEnabled): + (WebCore::Navigator::javaEnabled): + +2009-02-10 Sverrir Berg <sverrir@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23630 + Add complex font rendering using Skia instead of Windows ScriptTextOut. + This adds support for enhanced webkit styles when drawing complex + glyphs. + + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::Font::drawGlyphs): + (WebCore::Font::drawComplexText): + * platform/graphics/chromium/UniscribeHelper.cpp: + (WebCore::containsMissingGlyphs): + (WebCore::UniscribeHelper::draw): + (WebCore::UniscribeHelper::shape): + * platform/graphics/chromium/UniscribeHelper.h: + * platform/graphics/skia/SkiaFontWin.cpp: + (WebCore::windowsCanHandleTextDrawing): + (WebCore::skiaDrawText): + (WebCore::paintSkiaText): + * platform/graphics/skia/SkiaFontWin.h: + +2009-02-10 Darin Fisher <darin@chromium.org> + + Revert r40797 as requested by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=23809 + + * bindings/scripts/CodeGeneratorJS.pm: + * dom/Document.idl: + * html/HTMLCanvasElement.idl: + +2009-02-09 Darin Fisher <darin@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23855 + Fix TransformationMatrixSkia.cpp and GraphicsContextSkia.cpp bustage + + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::getCTM): + * platform/graphics/skia/TransformationMatrixSkia.cpp: + (WebCore::TransformationMatrix::operator SkMatrix): + +2009-02-09 Dan Bernstein <mitz@apple.com> Reviewed by Dave Hyatt. @@ -98,11 +13782,634 @@ otherwise that function returns incorrect results for the default UI font at a certain size. -2009-02-11 Mark Rowe <mrowe@apple.com> +2009-02-09 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser + + https://bugs.webkit.org/show_bug.cgi?id=23689 + + Added 3D functions to WebKitCSSMatrix. This depends on the 3D functions + added to TransformationMatrix in https://bugs.webkit.org/show_bug.cgi?id=6868 + + Test: transforms/3d/cssmatrix-3d-interface.xhtml + + * css/WebKitCSSMatrix.cpp: + * css/WebKitCSSMatrix.h: + * css/WebKitCSSMatrix.idl: + +2009-02-09 Mark Rowe <mrowe@apple.com> + + Reviewed by Darin Adler. + + Fix <https://bugs.webkit.org/show_bug.cgi?id=23858> + Bug 23858: Crash when removing a HTMLSelectElement from the document from inside its focus event handler + + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Don't store the renderer in a local variable + as it can be invalidated by any of the calls to focus() within the function. Instead, retrieve it and + null-check it when it is needed. + +2009-02-09 David Hyatt <hyatt@apple.com> + + Remove the m_height member from InlineBox. This shaves 4 bytes off of all inline boxes. Unfortunately SVG + sets heights that are independent of the renderer or of the font, and so all SVG boxes have to retain m_height + member variables. + + height() on InlineBox is now a virtual function that does a dynamic computation (including shrinking boxes + with no text children). For SVG boxes there is also a non-virtual setHeight function for updating the + m_height member variable like before. + + Reviewed by Darin Adler + + * rendering/EllipsisBox.cpp: + (WebCore::EllipsisBox::nodeAtPoint): + * rendering/EllipsisBox.h: + (WebCore::EllipsisBox::EllipsisBox): + * rendering/InlineBox.cpp: + (WebCore::InlineBox::height): + (WebCore::InlineBox::root): + * rendering/InlineBox.h: + (WebCore::InlineBox::InlineBox): + (WebCore::InlineBox::isInlineFlowBox): + (WebCore::InlineBox::isRootInlineBox): + (WebCore::InlineBox::topOverflow): + (WebCore::InlineBox::bottomOverflow): + (WebCore::InlineBox::leftOverflow): + (WebCore::InlineBox::rightOverflow): + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::height): + (WebCore::InlineFlowBox::adjustMaxAscentAndDescent): + (WebCore::InlineFlowBox::computeLogicalBoxHeights): + (WebCore::InlineFlowBox::placeBoxesVertically): + (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren): + (WebCore::InlineFlowBox::nodeAtPoint): + * rendering/InlineFlowBox.h: + (WebCore::InlineFlowBox::isInlineFlowBox): + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::height): + (WebCore::InlineTextBox::nodeAtPoint): + (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): + (WebCore::InlineTextBox::paintCompositionUnderline): + * rendering/InlineTextBox.h: + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::height): + (WebCore::RootInlineBox::placeEllipsis): + (WebCore::RootInlineBox::setVerticalOverflowPositions): + * rendering/RootInlineBox.h: + (WebCore::RootInlineBox::isRootInlineBox): + (WebCore::RootInlineBox::topOverflow): + (WebCore::RootInlineBox::bottomOverflow): + (WebCore::RootInlineBox::leftOverflow): + (WebCore::RootInlineBox::rightOverflow): + (WebCore::RootInlineBox::selectionBottom): + (WebCore::RootInlineBox::Overflow::Overflow): + (WebCore::RootInlineBox::setVerticalSelectionPositions): + * rendering/SVGInlineFlowBox.h: + (WebCore::SVGInlineFlowBox::SVGInlineFlowBox): + (WebCore::SVGInlineFlowBox::height): + (WebCore::SVGInlineFlowBox::setHeight): + * rendering/SVGInlineTextBox.cpp: + (WebCore::SVGInlineTextBox::SVGInlineTextBox): + * rendering/SVGInlineTextBox.h: + (WebCore::SVGInlineTextBox::height): + (WebCore::SVGInlineTextBox::setHeight): + * rendering/SVGRootInlineBox.cpp: + (WebCore::SVGRootInlineBox::layoutInlineBoxes): + * rendering/SVGRootInlineBox.h: + (WebCore::SVGRootInlineBox::SVGRootInlineBox): + (WebCore::SVGRootInlineBox::height): + (WebCore::SVGRootInlineBox::setHeight): + +2009-02-09 Eric Seidel <eric@webkit.org> + + Reviewed by Sam Weinig. + + Document our Selection DOM extensions + (in preparation for re-writing Selection to work with ranges) + + * page/DOMSelection.cpp: + (WebCore::DOMSelection::type): + * page/DOMSelection.h: + * page/DOMSelection.idl: + +2009-02-09 Eric Seidel <eric@webkit.org> + + Attempt to fix wx build + + * WebCoreSources.bkl: change Selection to VisibleSelection + +2009-02-06 Darin Fisher <darin@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23809 + Return CanvasRenderingContext2D instead of DOMObject in IDL to avoid V8 #ifdefs + + * bindings/scripts/CodeGeneratorJS.pm: + * dom/Document.idl: + * html/HTMLCanvasElement.idl: + +2009-02-09 Dirk Schulze <krit@webkit.org> + + Reviewed by Eric Seidel. + + Transform the gradient instead of the context for most platforms and + transform the context after CGContextReplacePathWithStrokedPath for CG. + + REGRESSION: SVG gradient transformation/BoundingBox can cause ugly stroke thickness + https://bugs.webkit.org/show_bug.cgi?id=23547 + + * platform/graphics/Gradient.h: + (WebCore::Gradient::setGradientSpaceTransform): + (WebCore::Gradient::gradientSpaceTransform): + * platform/graphics/cairo/GradientCairo.cpp: + (WebCore::Gradient::platformGradient): + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + * platform/graphics/skia/GradientSkia.cpp: + (WebCore::Gradient::platformGradient): + * svg/graphics/SVGPaintServerGradient.cpp: + (WebCore::SVGPaintServerGradient::SVGPaintServerGradient): + (WebCore::clipToTextMask): + (WebCore::SVGPaintServerGradient::setup): + (WebCore::SVGPaintServerGradient::teardown): + +2009-02-09 Sam Weinig <sam@webkit.org> + + Reviewed by David Hyatt. + + Fix the highlight when inspecting inline elements. + + * inspector/InspectorController.cpp: + (WebCore::drawHighlightForBox): + (WebCore::drawHighlightForLineBoxes): + (WebCore::InspectorController::drawNodeHighlight): + +2009-02-09 Eric Seidel <eric@webkit.org> + + Fix the gtk build by adding VisibleSelection and removing Selection. + + * GNUmakefile.am: + +2009-02-09 Eric Seidel <eric@webkit.org> + + Reviewed by Dave Hyatt. + + Rename Selection to VisibleSelection to allow us to separate + the selections the user works with from the ones used by + the JS editing APIs. + https://bugs.webkit.org/show_bug.cgi?id=23852 + + No functional changes, thus no tests. + + * WebCore.base.exp: + * WebCore.pro: + * WebCore.scons: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/Element.cpp: + (WebCore::Element::updateFocusAppearance): + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::updateStartEnd): + (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement): + * editing/BreakBlockquoteCommand.cpp: + (WebCore::BreakBlockquoteCommand::doApply): + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::inputText): + (WebCore::CompositeEditCommand::deleteSelection): + (WebCore::CompositeEditCommand::rebalanceWhitespace): + (WebCore::CompositeEditCommand::pushAnchorElementDown): + (WebCore::CompositeEditCommand::pushPartiallySelectedAnchorElementsDown): + (WebCore::CompositeEditCommand::moveParagraphs): + (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): + (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): + * editing/CompositeEditCommand.h: + * editing/CreateLinkCommand.cpp: + (WebCore::CreateLinkCommand::doApply): + * editing/DeleteButtonController.cpp: + (WebCore::enclosingDeletableElement): + (WebCore::DeleteButtonController::respondToChangedSelection): + * editing/DeleteButtonController.h: + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): + (WebCore::DeleteSelectionCommand::clearTransientState): + (WebCore::DeleteSelectionCommand::doApply): + * editing/DeleteSelectionCommand.h: + (WebCore::DeleteSelectionCommand::create): + * editing/EditCommand.cpp: + (WebCore::EditCommand::setStartingSelection): + (WebCore::EditCommand::setEndingSelection): + * editing/EditCommand.h: + (WebCore::EditCommand::startingSelection): + (WebCore::EditCommand::endingSelection): + * editing/Editor.cpp: + (WebCore::Editor::selectionForCommand): + (WebCore::Editor::respondToChangedSelection): + (WebCore::Editor::respondToChangedContents): + (WebCore::Editor::applyStyle): + (WebCore::Editor::applyParagraphStyle): + (WebCore::Editor::appliedEditing): + (WebCore::Editor::unappliedEditing): + (WebCore::Editor::reappliedEditing): + (WebCore::Editor::insertTextWithoutSendingTextEvent): + (WebCore::Editor::selectComposition): + (WebCore::Editor::confirmComposition): + (WebCore::Editor::advanceToNextMisspelling): + (WebCore::Editor::markMisspellingsAfterTypingToPosition): + (WebCore::markMisspellingsOrBadGrammar): + (WebCore::Editor::markMisspellings): + (WebCore::Editor::markBadGrammar): + (WebCore::Editor::rangeForPoint): + (WebCore::Editor::transpose): + * editing/Editor.h: + * editing/EditorCommand.cpp: + (WebCore::expandSelectionToGranularity): + (WebCore::executeSwapWithMark): + (WebCore::enabledVisibleSelection): + (WebCore::enabledVisibleSelectionAndMark): + (WebCore::enableCaretInEditableText): + * editing/FormatBlockCommand.cpp: + (WebCore::FormatBlockCommand::modifyRange): + (WebCore::FormatBlockCommand::doApply): + * editing/IndentOutdentCommand.cpp: + (WebCore::IndentOutdentCommand::indentRegion): + (WebCore::IndentOutdentCommand::outdentRegion): + (WebCore::IndentOutdentCommand::doApply): + * editing/InsertLineBreakCommand.cpp: + (WebCore::InsertLineBreakCommand::doApply): + * editing/InsertListCommand.cpp: + (WebCore::InsertListCommand::modifyRange): + (WebCore::InsertListCommand::doApply): + * editing/InsertParagraphSeparatorCommand.cpp: + (WebCore::InsertParagraphSeparatorCommand::doApply): + * editing/InsertTextCommand.cpp: + (WebCore::InsertTextCommand::performTrivialReplace): + (WebCore::InsertTextCommand::input): + * editing/ModifySelectionListLevel.cpp: + (WebCore::getStartEndListChildren): + (WebCore::canIncreaseListLevel): + (WebCore::canDecreaseListLevel): + * editing/MoveSelectionCommand.cpp: + (WebCore::MoveSelectionCommand::doApply): + * editing/RemoveFormatCommand.cpp: + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplacementFragment::ReplacementFragment): + (WebCore::ReplaceSelectionCommand::doApply): + (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): + * editing/Selection.cpp: Removed. + * editing/Selection.h: Removed. + * editing/SelectionController.cpp: + (WebCore::SelectionController::moveTo): + (WebCore::SelectionController::setSelection): + (WebCore::SelectionController::nodeWillBeRemoved): + (WebCore::SelectionController::clear): + (WebCore::SelectionController::setBase): + (WebCore::SelectionController::setExtent): + (WebCore::SelectionController::selectFrameElementInParentIfFullySelected): + (WebCore::SelectionController::selectAll): + (WebCore::SelectionController::setSelectedRange): + * editing/SelectionController.h: + (WebCore::SelectionController::selection): + (WebCore::SelectionController::selectionType): + * editing/TypingCommand.cpp: + (WebCore::TypingCommand::insertText): + (WebCore::TypingCommand::deleteKeyPressed): + (WebCore::TypingCommand::forwardDeleteKeyPressed): + * editing/TypingCommand.h: + * editing/VisiblePosition.cpp: + (WebCore::VisiblePosition::honorEditableBoundaryAtOrBefore): + (WebCore::VisiblePosition::honorEditableBoundaryAtOrAfter): + * editing/VisibleSelection.cpp: Added. + (WebCore::VisibleSelection::VisibleSelection): + (WebCore::VisibleSelection::selectionFromContentsOfNode): + (WebCore::VisibleSelection::setBase): + (WebCore::VisibleSelection::setExtent): + (WebCore::VisibleSelection::firstRange): + (WebCore::VisibleSelection::toNormalizedRange): + (WebCore::VisibleSelection::expandUsingGranularity): + (WebCore::makeSearchRange): + (WebCore::VisibleSelection::appendTrailingWhitespace): + (WebCore::VisibleSelection::setBaseAndExtentToDeepEquivalents): + (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity): + (WebCore::VisibleSelection::updateSelectionType): + (WebCore::VisibleSelection::validate): + (WebCore::VisibleSelection::setWithoutValidation): + (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries): + (WebCore::VisibleSelection::isContentEditable): + (WebCore::VisibleSelection::isContentRichlyEditable): + (WebCore::VisibleSelection::rootEditableElement): + (WebCore::VisibleSelection::shadowTreeRootNode): + (WebCore::VisibleSelection::debugPosition): + (WebCore::VisibleSelection::formatForDebugger): + (WebCore::VisibleSelection::showTreeForThis): + (showTree): + * editing/VisibleSelection.h: Added. + (WebCore::VisibleSelection::): + (WebCore::VisibleSelection::selectionType): + (WebCore::VisibleSelection::setAffinity): + (WebCore::VisibleSelection::affinity): + (WebCore::VisibleSelection::base): + (WebCore::VisibleSelection::extent): + (WebCore::VisibleSelection::start): + (WebCore::VisibleSelection::end): + (WebCore::VisibleSelection::visibleStart): + (WebCore::VisibleSelection::visibleEnd): + (WebCore::VisibleSelection::isNone): + (WebCore::VisibleSelection::isCaret): + (WebCore::VisibleSelection::isRange): + (WebCore::VisibleSelection::isCaretOrRange): + (WebCore::VisibleSelection::isBaseFirst): + (WebCore::VisibleSelection::granularity): + (WebCore::operator==): + (WebCore::operator!=): + * editing/htmlediting.cpp: + (WebCore::selectionForParagraphIteration): + (WebCore::avoidIntersectionWithNode): + * editing/htmlediting.h: + * editing/markup.cpp: + (WebCore::createMarkup): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::selection): + * html/HTMLInputElement.h: + * html/HTMLTextAreaElement.cpp: + (WebCore::HTMLTextAreaElement::selection): + * html/HTMLTextAreaElement.h: + * page/AccessibilityObject.cpp: + (WebCore::AccessibilityObject::selection): + (WebCore::AccessibilityObject::visiblePositionRangeForUnorderedPositions): + * page/AccessibilityObject.h: + * page/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::selection): + (WebCore::AccessibilityRenderObject::setSelectedTextRange): + (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine): + (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange): + (WebCore::AccessibilityRenderObject::doAXRangeForLine): + * page/AccessibilityRenderObject.h: + * page/DOMSelection.cpp: + (WebCore::DOMSelection::anchorNode): + (WebCore::DOMSelection::anchorOffset): + (WebCore::DOMSelection::focusNode): + (WebCore::DOMSelection::focusOffset): + (WebCore::DOMSelection::collapseToEnd): + (WebCore::DOMSelection::collapseToStart): + (WebCore::DOMSelection::getRangeAt): + (WebCore::DOMSelection::addRange): + * page/DOMSelection.h: + * page/DragController.cpp: + (WebCore::DragController::tryDocumentDrag): + (WebCore::setSelectionToDragCaret): + (WebCore::DragController::concludeEditDrag): + (WebCore::prepareClipboardForImageDrag): + (WebCore::DragController::startDrag): + (WebCore::DragController::placeDragCaret): + * page/EditorClient.h: + * page/EventHandler.cpp: + (WebCore::EventHandler::selectClosestWordFromMouseEvent): + (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): + (WebCore::EventHandler::handleMousePressEventTripleClick): + (WebCore::EventHandler::handleMousePressEventSingleClick): + (WebCore::EventHandler::updateSelectionForMouseDrag): + (WebCore::EventHandler::handleMouseReleaseEvent): + * page/Frame.cpp: + (WebCore::Frame::mark): + (WebCore::Frame::setMark): + (WebCore::Frame::selectionLayoutChanged): + (WebCore::Frame::shouldChangeSelection): + (WebCore::Frame::shouldDeleteSelection): + (WebCore::Frame::revealSelection): + (WebCore::Frame::setSelectionFromNone): + (WebCore::Frame::findString): + (WebCore::Frame::respondToChangedSelection): + * page/Frame.h: + * page/Page.cpp: + (WebCore::Page::selection): + * page/Page.h: + * page/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper textMarkerRangeForSelection]): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::fillInlineSelectionGaps): + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::setSelectionRange): + (WebCore::RenderTextControl::selection): + * rendering/RenderTextControl.h: + * rendering/RenderTreeAsText.cpp: + (WebCore::writeSelection): + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::fillLineSelectionGap): + * svg/SVGTextContentElement.cpp: + (WebCore::SVGTextContentElement::selectSubString): + +2009-02-09 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Dave Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=23806 + Fix a regression crash where an empty src value and a "text/html" type + on an EMBED element did not finish ResourceRequest initialization due to + an early return. + + Test: fast/loader/empty-embed-src-attribute.html + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::addExtraFieldsToRequest): + +2009-02-09 Rob Buis <rwlbuis@gmail.com> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23816 + Clean up RenderSVGRoot.cpp + + Clean up RenderSVGRoot.cpp. + + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::paint): + (WebCore::RenderSVGRoot::calcViewport): + +2009-02-09 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Antti Koivisto + + https://bugs.webkit.org/show_bug.cgi?id=23737 + Make it possible to control media element playback without knowing so many + internal implementation details. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::togglePlayState): New, toggle between playing and paused state. + (WebCore::HTMLMediaElement::beginScrubbing): New, pause as necessary for scrubbing mode. + (WebCore::HTMLMediaElement::endScrubbing): New, resume playback if paused for scrubbing mode. + * html/HTMLMediaElement.h: + + (WebCore::HTMLMediaElement::hasVideo): New, added so clients don't need to access MediaPlayer directly. + * html/HTMLVideoElement.h: + + (WebCore::HTMLVideoElement::hasVideo): New. + + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlPlayButtonElement::defaultEventHandler): Use new media element + togglePlayState method. + (WebCore::MediaControlTimelineElement::defaultEventHandler): Tell media element when scrubbing + begins and ends so it can deal with pausing logic. Don't call setCurrentTime unless the time + will change. + + * rendering/RenderMedia.cpp: + (WebCore::RenderMedia::updateControls): Ask media element if it is able to play instead of including + internal logic here. + (WebCore::RenderMedia::updateControlVisibility): Ditto. + +2009-02-09 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Antti Koivisto + + Change RenderPart and RenderPartObject constructors to take a Node* + instead of a HTMLFrameOwnerElement* since that is all then need. + + * rendering/RenderPart.cpp: + (WebCore::RenderPart::RenderPart): take Node* instead of HTMLFrameOwnerElement* + * rendering/RenderPart.h: + * rendering/RenderPartObject.cpp: + (WebCore::RenderPartObject::RenderPartObject): take Node* instead of HTMLFrameOwnerElement* + * rendering/RenderPartObject.h: + +2009-02-09 Dan Bernstein <mitz@apple.com> + + - fix -Wmissing-prototypes builds + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::isHeaderElement): Marked this function static. + (WebCore::haveSameTagName): Ditto. + * editing/markup.cpp: + (WebCore::isSpecialAncestorBlock): Ditto. + * platform/graphics/transforms/TransformationMatrix.cpp: + (WebCore::makeMapBetweenRects): Removed unused function. + * platform/graphics/transforms/TransformationMatrix.h: Removed unused + declaration of private member makeMapBetweenRects(). + +2009-02-09 Adam Treat <adam.treat@torchmobile.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=23850 + Code cleanup of HTMLParser class which was using a mix of m_* and bare + class member variable names which helps to obfuscate the code. Also + changed a few of the static helper functions to take a const pointer type + as they should not be modifying the node. + + * html/HTMLParser.cpp: + (WebCore::HTMLParser::HTMLParser): + (WebCore::HTMLParser::~HTMLParser): + (WebCore::HTMLParser::reset): + (WebCore::HTMLParser::setCurrent): + (WebCore::HTMLParser::parseToken): + (WebCore::HTMLParser::parseDoctypeToken): + (WebCore::isTableSection): + (WebCore::isTablePart): + (WebCore::isTableRelated): + (WebCore::HTMLParser::insertNode): + (WebCore::HTMLParser::handleError): + (WebCore::HTMLParser::textCreateErrorCheck): + (WebCore::HTMLParser::commentCreateErrorCheck): + (WebCore::HTMLParser::headCreateErrorCheck): + (WebCore::HTMLParser::bodyCreateErrorCheck): + (WebCore::HTMLParser::framesetCreateErrorCheck): + (WebCore::HTMLParser::formCreateErrorCheck): + (WebCore::HTMLParser::isindexCreateErrorCheck): + (WebCore::HTMLParser::noscriptCreateErrorCheck): + (WebCore::HTMLParser::pCloserStrictCreateErrorCheck): + (WebCore::HTMLParser::mapCreateErrorCheck): + (WebCore::HTMLParser::getNode): + (WebCore::HTMLParser::allowNestedRedundantTag): + (WebCore::HTMLParser::processCloseTag): + (WebCore::HTMLParser::isInline): + (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): + (WebCore::HTMLParser::reopenResidualStyleTags): + (WebCore::HTMLParser::pushBlock): + (WebCore::HTMLParser::popBlock): + (WebCore::HTMLParser::popOneBlockCommon): + (WebCore::HTMLParser::popOneBlock): + (WebCore::HTMLParser::moveOneBlockToStack): + (WebCore::HTMLParser::checkIfHasPElementInScope): + (WebCore::HTMLParser::popInlineBlocks): + (WebCore::HTMLParser::freeBlock): + (WebCore::HTMLParser::createHead): + (WebCore::HTMLParser::handleIsindex): + (WebCore::HTMLParser::startBody): + (WebCore::HTMLParser::finished): + (WebCore::HTMLParser::reportErrorToConsole): + * html/HTMLParser.h: + +2009-02-09 Alexey Proskuryakov <ap@webkit.org> + + Applying review comment on a second location. + + * rendering/RenderText.cpp: (WebCore::RenderText::nextOffset): + Use "ifdef BUILDING_ON_TIGER". + +2009-02-09 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=23845 + editing/deleting/backward-deletion.html fails on Tiger + + * rendering/RenderText.cpp: + (WebCore::RenderText::previousOffset): + (WebCore::RenderText::nextOffset): + Work around a bug in older ICU versions by hardcoding narrow voiced marks. + +2009-02-09 Adam Roben <aroben@apple.com> - Merge r40778. + Windows build fix + + * WebCore.vcproj/WebCore.vcproj: Fix the XML syntax. + +2009-02-09 Jian Li <jianli@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Make WorkerMessagingProxy derive from two base proxy classes. + https://bugs.webkit.org/show_bug.cgi?id=23777 + + * bindings/js/WorkerScriptController.cpp: + (WebCore::WorkerScriptController::evaluate): + * dom/Worker.cpp: + (WebCore::Worker::terminate): + (WebCore::Worker::hasPendingActivity): + * dom/WorkerContext.cpp: + (WebCore::WorkerContext::reportException): + * dom/WorkerMessagingProxy.cpp: + (WebCore::WorkerThreadActivityReportTask::performTask): + (WebCore::WorkerMessagingProxy::postExceptionToWorkerObject): + (WebCore::WorkerMessagingProxy::workerObjectDestroyed): + (WebCore::WorkerMessagingProxy::terminateWorkerContext): + (WebCore::WorkerMessagingProxy::confirmWorkerThreadMessage): + (WebCore::WorkerMessagingProxy::reportPendingActivity): + (WebCore::WorkerMessagingProxy::reportPendingActivityInternal): + (WebCore::WorkerMessagingProxy::hasPendingActivity): + * dom/WorkerMessagingProxy.h: - 2009-02-08 David Hyatt <hyatt@apple.com> +2009-02-09 Jian Li <jianli@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Introduce 2 base classes to split WorkerMessagingProxy. + https://bugs.webkit.org/show_bug.cgi?id=23776 + + * GNUmakefile.am: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/WorkerContextProxy.h: Added. + (WebCore::WorkerContextProxy::~WorkerContextProxy): + * dom/WorkerObjectProxy.h: Added. + (WebCore::WorkerObjectProxy::~WorkerObjectProxy): + +2009-02-08 David Hyatt <hyatt@apple.com> Fix for https://bugs.webkit.org/show_bug.cgi?id=23839 @@ -116,11 +14423,852 @@ * rendering/RenderBlock.cpp: (WebCore::RenderBlock::handleRunInChild): -2009-02-11 Mark Rowe <mrowe@apple.com> +2009-02-08 David Hyatt <hyatt@apple.com> + + Fix for https://bugs.webkit.org/show_bug.cgi?id=23832, crash when inspecting an image using the + Web inspector. + + Reviewed by Mark Rowe + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::absoluteRectsForRange): + (WebCore::RenderObject::absoluteQuadsForRange): + +2009-02-08 Dirk Schulze <krit@webkit.org> + + Unreviewed Qt build fix. + + TransformationMatrix changes in r40761 broke QT build. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::getCTM): + (WebCore::GraphicsContext::scale): + +2009-02-08 Dirk Schulze <krit@webkit.org> + + Reviewed by Holger Freyther. + + This is a follow up of the last commit. It cleans up TransformationMatrix.h + and convert to a series of #elif. + + * platform/graphics/transforms/TransformationMatrix.h: + +2009-02-08 Gustavo Noronha Silva <gns@gnome.org> + + Reviewed by Simon Fraser. + + [CAIRO] build broken by TransformationMatrix rework + https://bugs.webkit.org/show_bug.cgi?id=23831 + + Fixed cairo build after the TransformationMatrix rework done in + revision 40761. + + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::getCTM): + (WebCore::GraphicsContext::concatCTM): + * platform/graphics/cairo/TransformationMatrixCairo.cpp: + (WebCore::TransformationMatrix::operator cairo_matrix_t): + * platform/graphics/transforms/TransformationMatrix.h: + +2009-02-07 David Hyatt <hyatt@apple.com> + + Shrink the size of all InlineTextBoxes and all InlineBoxes (for images and replaced elements) by four bytes. + Change the overflow variable on InlineFlowBoxes into a short and move the bits for InlineFlowBoxes out of the + base InlineBox class. Since the number of bits in the base class was 35, shoving the 3 bits for InlineFlowBoxes + back down into that class (into the 16 bits exposed by making the overflow variable into a short), all text + boxes and image boxes shrink by 4 bytes. + + Reviewed by Anders + + * rendering/InlineBox.h: + (WebCore::InlineBox::InlineBox): + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::placeBoxesHorizontally): + (WebCore::InlineFlowBox::computeLogicalBoxHeights): + (WebCore::InlineFlowBox::placeBoxesVertically): + * rendering/InlineFlowBox.h: + (WebCore::InlineFlowBox::InlineFlowBox): + (WebCore::InlineFlowBox::maxHorizontalVisualOverflow): + (WebCore::InlineFlowBox::hasTextChildren): + +2009-02-07 Dean Jackson <dino@apple.com> + + Attempted build fix for Qt. Not reviewed. - Merge r40729. + TransformationMatrix changes in r40761 broke non-Apple builds. - 2009-02-06 Dan Bernstein <mitz@apple.com> + * platform/graphics/qt/TransformationMatrixQt.cpp: + (WebCore::TransformationMatrix::operator QMatrix): + * platform/graphics/transforms/TransformationMatrix.h: + +2009-02-07 David Hyatt <hyatt@apple.com> + + This patch changes the base class of RenderInline from RenderBox to RenderBoxModelObject. This shift + in base class knocks 32 bytes off the size of every RenderInline. All of the necessary functions + for both RenderInline and RenderBox have either been pulled up into RenderBoxModelObject for sharing + or split into two functions (one in each derived class). + + Reviewed by Anders and Antti + + * dom/Element.cpp: + (WebCore::Element::offsetLeft): + (WebCore::Element::offsetTop): + (WebCore::Element::offsetWidth): + (WebCore::Element::offsetHeight): + (WebCore::Element::offsetParent): + (WebCore::Element::clientWidth): + (WebCore::Element::clientHeight): + (WebCore::Element::scrollWidth): + (WebCore::Element::scrollHeight): + * dom/Node.cpp: + (WebCore::Node::renderBox): + (WebCore::Node::renderBoxModelObject): + * dom/Node.h: + * html/HTMLAnchorElement.cpp: + (WebCore::HTMLAnchorElement::isKeyboardFocusable): + * rendering/InlineBox.h: + (WebCore::InlineBox::boxModelObject): + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::marginLeft): + (WebCore::InlineFlowBox::marginRight): + (WebCore::InlineFlowBox::placeBoxesHorizontally): + (WebCore::InlineFlowBox::computeLogicalBoxHeights): + (WebCore::InlineFlowBox::placeBoxesVertically): + (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren): + * rendering/InlineFlowBox.h: + (WebCore::InlineFlowBox::borderLeft): + (WebCore::InlineFlowBox::borderRight): + (WebCore::InlineFlowBox::paddingLeft): + (WebCore::InlineFlowBox::paddingRight): + * rendering/RenderBlock.cpp: + (WebCore::getBorderPaddingMargin): + (WebCore::RenderBlock::calcInlinePrefWidths): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::imageChanged): + (WebCore::RenderBox::calcReplacedWidthUsing): + (WebCore::RenderBox::calcReplacedHeightUsing): + (WebCore::RenderBox::containingBlockWidthForPositioned): + (WebCore::RenderBox::containingBlockHeightForPositioned): + (WebCore::RenderBox::calcAbsoluteHorizontal): + (WebCore::RenderBox::calcAbsoluteHorizontalValues): + (WebCore::RenderBox::calcAbsoluteVertical): + (WebCore::RenderBox::calcAbsoluteVerticalValues): + (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): + (WebCore::RenderBox::calcAbsoluteVerticalReplaced): + (WebCore::RenderBox::positionForCoordinates): + * rendering/RenderBox.h: + (WebCore::RenderBox::borderBoundingBox): + (WebCore::RenderBox::offsetHeight): + (WebCore::RenderBox::marginTop): + (WebCore::RenderBox::marginBottom): + (WebCore::RenderBox::marginLeft): + (WebCore::RenderBox::marginRight): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::offsetLeft): + (WebCore::RenderBoxModelObject::offsetTop): + (WebCore::RenderBoxModelObject::paddingTop): + (WebCore::RenderBoxModelObject::paddingBottom): + (WebCore::RenderBoxModelObject::paddingLeft): + (WebCore::RenderBoxModelObject::paddingRight): + (WebCore::RenderBoxModelObject::paintFillLayerExtended): + (WebCore::RenderBoxModelObject::calculateBackgroundSize): + (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): + * rendering/RenderBoxModelObject.h: + (WebCore::RenderBoxModelObject::borderTop): + (WebCore::RenderBoxModelObject::borderBottom): + (WebCore::RenderBoxModelObject::borderLeft): + (WebCore::RenderBoxModelObject::borderRight): + (WebCore::RenderBoxModelObject::hasHorizontalBordersPaddingOrMargin): + (WebCore::RenderBoxModelObject::hasHorizontalBordersOrPadding): + (WebCore::RenderBoxModelObject::childBecameNonInline): + (WebCore::RenderBoxModelObject::isBoxModelObject): + * rendering/RenderInline.cpp: + (WebCore::RenderInline::RenderInline): + (WebCore::RenderInline::destroy): + (WebCore::RenderInline::styleDidChange): + (WebCore::nextContinuation): + (WebCore::RenderInline::continuationBefore): + (WebCore::RenderInline::addChildIgnoringContinuation): + (WebCore::RenderInline::splitInlines): + (WebCore::RenderInline::splitFlow): + (WebCore::RenderInline::addChildToContinuation): + (WebCore::RenderInline::absoluteRects): + (WebCore::RenderInline::offsetLeft): + (WebCore::RenderInline::offsetTop): + (WebCore::RenderInline::marginLeft): + (WebCore::RenderInline::marginRight): + (WebCore::RenderInline::positionForCoordinates): + (WebCore::RenderInline::clippedOverflowRectForRepaint): + (WebCore::RenderInline::rectWithOutlineForRepaint): + (WebCore::RenderInline::computeRectForRepaint): + (WebCore::RenderInline::updateDragState): + (WebCore::RenderInline::childBecameNonInline): + (WebCore::RenderInline::updateHitTestResult): + (WebCore::RenderInline::imageChanged): + (WebCore::RenderInline::addFocusRingRects): + * rendering/RenderInline.h: + (WebCore::RenderInline::marginTop): + (WebCore::RenderInline::marginBottom): + (WebCore::RenderInline::continuation): + (WebCore::RenderInline::setContinuation): + * rendering/RenderLineBoxList.cpp: + (WebCore::RenderLineBoxList::paint): + (WebCore::RenderLineBoxList::hitTest): + * rendering/RenderLineBoxList.h: + * rendering/RenderObject.cpp: + (WebCore::addLayers): + (WebCore::RenderObject::removeLayers): + (WebCore::RenderObject::moveLayers): + (WebCore::RenderObject::findNextLayer): + (WebCore::RenderObject::enclosingLayer): + (WebCore::RenderObject::enclosingCompositingLayer): + (WebCore::RenderObject::setLayerNeedsFullRepaint): + (WebCore::RenderObject::handleDynamicFloatPositionChange): + (WebCore::RenderObject::destroy): + (WebCore::RenderObject::offsetParent): + * rendering/RenderObject.h: + (WebCore::RenderObject::isInlineContinuation): + * rendering/RenderSVGTSpan.cpp: + (WebCore::RenderSVGTSpan::absoluteRects): + (WebCore::RenderSVGTSpan::absoluteQuads): + * rendering/RenderSVGTextPath.cpp: + (WebCore::RenderSVGTextPath::absoluteRects): + (WebCore::RenderSVGTextPath::absoluteQuads): + * rendering/RenderTreeAsText.cpp: + (WebCore::operator<<): + * rendering/RenderView.cpp: + (WebCore::RenderView::setBestTruncatedAt): + * rendering/RenderView.h: + * rendering/bidi.cpp: + (WebCore::getBorderPaddingMargin): + (WebCore::inlineWidth): + (WebCore::RenderBlock::layoutInlineChildren): + (WebCore::inlineFlowRequiresLineBox): + (WebCore::requiresLineBox): + (WebCore::RenderBlock::findNextLineBreak): + * wml/WMLAElement.cpp: + (WebCore::WMLAElement::isKeyboardFocusable): + +2009-02-07 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Timothy Hatcher <timothy@hatcher.name> + + Partial fix for <https://bugs.webkit.org/show_bug.cgi?id=21051> + Include localStorage and sessionStorage in DatabasesPanel. + + * WebCore.vcproj/WebCore.vcproj: + * inspector/InspectorController.cpp: + (WebCore::InspectorDOMStorageResource::create): + (WebCore::InspectorDOMStorageResource::setScriptObject): + (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource): + (WebCore::InspectorController::populateScriptObjects): + (WebCore::InspectorController::addDOMStorageScriptResource): + (WebCore::InspectorController::removeDOMStorageScriptResource): + (WebCore::InspectorController::resetScriptObjects): + (WebCore::InspectorController::didCommitLoad): + (WebCore::InspectorController::didUseDOMStorage): + * inspector/InspectorController.h: + * inspector/front-end/DOMStorage.js: Added. + (WebInspector.DOMStorage): + (WebInspector.DOMStorage.prototype.get domStorage): + (WebInspector.DOMStorage.prototype.set domStorage): + (WebInspector.DOMStorage.prototype.get domain): + (WebInspector.DOMStorage.prototype.set domain): + (WebInspector.DOMStorage.prototype.get isLocalStorage): + (WebInspector.DOMStorage.prototype.set isLocalStorage): + * inspector/front-end/DOMStorageItemsView.js: Added. + (WebInspector.DOMStorageItemsView): + (WebInspector.DOMStorageItemsView.prototype.show): + (WebInspector.DOMStorageItemsView.prototype.update): + * inspector/front-end/DatabaseQueryView.js: + (WebInspector.DatabaseQueryView): + * inspector/front-end/DatabaseTableView.js: + (WebInspector.DatabaseTableView): + (WebInspector.DatabaseTableView.prototype._queryFinished): + (WebInspector.DatabaseTableView.prototype._queryError): + * inspector/front-end/DatabasesPanel.js: + (WebInspector.DatabasesPanel): + (WebInspector.DatabasesPanel.prototype.reset): + (WebInspector.DatabasesPanel.prototype.addDatabase): + (WebInspector.DatabasesPanel.prototype.addDOMStorage): + (WebInspector.DatabasesPanel.prototype.showDatabase): + (WebInspector.DatabasesPanel.prototype.showDOMStorage): + (WebInspector.DatabasesPanel.prototype.closeVisibleView): + (WebInspector.DatabasesPanel.prototype.updateDatabaseTables): + (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage): + (WebInspector.DatabasesPanel.prototype._updateSidebarWidth): + (WebInspector.DOMStorageSidebarTreeElement): + (WebInspector.DOMStorageSidebarTreeElement.prototype.onselect): + (WebInspector.DOMStorageSidebarTreeElement.prototype.get mainTitle): + (WebInspector.DOMStorageSidebarTreeElement.prototype.set mainTitle): + (WebInspector.DOMStorageSidebarTreeElement.prototype.get subtitle): + (WebInspector.DOMStorageSidebarTreeElement.prototype.set subtitle): + * inspector/front-end/Images/domStorage.png: Added. + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.css: + * inspector/front-end/inspector.html: + * inspector/front-end/inspector.js: + (WebInspector.addDOMStorage): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::sessionStorage): + (WebCore::DOMWindow::localStorage): + +2009-02-07 Feng Qian <feng@chromium.org> + + Reviewed by Eric Seidel <eric@webkit.org> + + Put #if ENABLE(PAN_SCROLLING) around EventHandler::setPanScrollCursor. + https://bugs.webkit.org/show_bug.cgi?id=23574 + + * page/EventHandler.cpp: + * page/EventHandler.h: + +2009-02-07 Zalan Bujtas <zbujtas@gmail.com> + + Reviewed by Rob Buis <rwlbuis@gmail.com> + + https://bugs.webkit.org/show_bug.cgi?id=23788 + call style()->isOriginalDisplayInlineType() on RenderBox instead of RenderObject. + + * rendering/bidi.cpp: + (WebCore::RenderBlock::skipLeadingWhitespace): + +2009-02-07 Rob Buis <rwlbuis@gmail.com> + + Reviewed by Darin. + + https://bugs.webkit.org/show_bug.cgi?id=3248 + Bug 3248: Mouse events on OPTION element seem to be ignored + + Support mouse events on options in a select when it forms a list box. + + Test: fast/forms/option-mouseevents.html + + * html/HTMLSelectElement.cpp: Convert to coords relative to the list box. + (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): + * rendering/RenderListBox.cpp: Handle hit testing for option elements. + (WebCore::RenderListBox::nodeAtPoint): + * rendering/RenderListBox.h: + +2009-02-07 Adam Treat <adam.treat@torchmobile.com> + + Prospective build fix for all non-Apple platforms. + + * platform/graphics/transforms/TransformationMatrix.h: + +2009-02-06 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=6868 + + I have not only made TransformationMatrix platform independent + but I've also added 3D methods, which will be used when I update + WebKitCSSMatrix to include 3D (see https://bugs.webkit.org/show_bug.cgi?id=23689). + I am now keeping a full 4x4 matrix in TransformationMatrix. I'm also doing all + the math as doubles rather than floats. This makes a TransformationMatrix + go from 24 bytes to 128 bytes, but I don't think this class is used enough to + make this overhead will be significant. + + The change from floats to doubles has caused some differences in rounding and + display (sometimes things that displayed as -0.0 now display as 0.0 or vice versa), + so I've had to change some LayoutTest results in the SVG tests. + + * platform/graphics/FloatPoint.cpp: + (WebCore::FloatPoint::matrixTransform): + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::getCTM): + * platform/graphics/cg/TransformationMatrixCG.cpp: + (WebCore::TransformationMatrix::operator CGAffineTransform): + * platform/graphics/transforms/TransformationMatrix.cpp: + (WebCore::determinant2x2): + (WebCore::determinant3x3): + (WebCore::determinant4x4): + (WebCore::adjoint): + (WebCore::inverse): + (WebCore::transposeMatrix4): + (WebCore::v4MulPointByMatrix): + (WebCore::v3Length): + (WebCore::v3Scale): + (WebCore::v3Dot): + (WebCore::v3Combine): + (WebCore::v3Cross): + (WebCore::decompose): + (WebCore::slerp): + (WebCore::TransformationMatrix::scale): + (WebCore::TransformationMatrix::rotateFromVector): + (WebCore::TransformationMatrix::flipX): + (WebCore::TransformationMatrix::flipY): + (WebCore::makeMapBetweenRects): + (WebCore::TransformationMatrix::projectPoint): + (WebCore::TransformationMatrix::mapPoint): + (WebCore::TransformationMatrix::mapRect): + (WebCore::TransformationMatrix::mapQuad): + (WebCore::TransformationMatrix::scale3d): + (WebCore::TransformationMatrix::rotate3d): + (WebCore::TransformationMatrix::translate): + (WebCore::TransformationMatrix::translate3d): + (WebCore::TransformationMatrix::skew): + (WebCore::TransformationMatrix::applyPerspective): + (WebCore::TransformationMatrix::multLeft): + (WebCore::TransformationMatrix::multVecMatrix): + (WebCore::TransformationMatrix::isInvertible): + (WebCore::TransformationMatrix::inverse): + (WebCore::blendFloat): + (WebCore::TransformationMatrix::blend): + (WebCore::TransformationMatrix::decompose): + (WebCore::TransformationMatrix::recompose): + * platform/graphics/transforms/TransformationMatrix.h: + (WebCore::TransformationMatrix::TransformationMatrix): + (WebCore::TransformationMatrix::setMatrix): + (WebCore::TransformationMatrix::operator =): + (WebCore::TransformationMatrix::makeIdentity): + (WebCore::TransformationMatrix::isIdentity): + (WebCore::TransformationMatrix::map): + (WebCore::TransformationMatrix::m11): + (WebCore::TransformationMatrix::setM11): + (WebCore::TransformationMatrix::m12): + (WebCore::TransformationMatrix::setM12): + (WebCore::TransformationMatrix::m13): + (WebCore::TransformationMatrix::setM13): + (WebCore::TransformationMatrix::m14): + (WebCore::TransformationMatrix::setM14): + (WebCore::TransformationMatrix::m21): + (WebCore::TransformationMatrix::setM21): + (WebCore::TransformationMatrix::m22): + (WebCore::TransformationMatrix::setM22): + (WebCore::TransformationMatrix::m23): + (WebCore::TransformationMatrix::setM23): + (WebCore::TransformationMatrix::m24): + (WebCore::TransformationMatrix::setM24): + (WebCore::TransformationMatrix::m31): + (WebCore::TransformationMatrix::setM31): + (WebCore::TransformationMatrix::m32): + (WebCore::TransformationMatrix::setM32): + (WebCore::TransformationMatrix::m33): + (WebCore::TransformationMatrix::setM33): + (WebCore::TransformationMatrix::m34): + (WebCore::TransformationMatrix::setM34): + (WebCore::TransformationMatrix::m41): + (WebCore::TransformationMatrix::setM41): + (WebCore::TransformationMatrix::m42): + (WebCore::TransformationMatrix::setM42): + (WebCore::TransformationMatrix::m43): + (WebCore::TransformationMatrix::setM43): + (WebCore::TransformationMatrix::m44): + (WebCore::TransformationMatrix::setM44): + (WebCore::TransformationMatrix::a): + (WebCore::TransformationMatrix::setA): + (WebCore::TransformationMatrix::b): + (WebCore::TransformationMatrix::setB): + (WebCore::TransformationMatrix::c): + (WebCore::TransformationMatrix::setC): + (WebCore::TransformationMatrix::d): + (WebCore::TransformationMatrix::setD): + (WebCore::TransformationMatrix::e): + (WebCore::TransformationMatrix::setE): + (WebCore::TransformationMatrix::f): + (WebCore::TransformationMatrix::setF): + (WebCore::TransformationMatrix::multiply): + (WebCore::TransformationMatrix::rotate): + (WebCore::TransformationMatrix::skewX): + (WebCore::TransformationMatrix::skewY): + (WebCore::TransformationMatrix::hasPerspective): + (WebCore::TransformationMatrix::): + (WebCore::TransformationMatrix::isAffine): + (WebCore::TransformationMatrix::operator==): + (WebCore::TransformationMatrix::operator*=): + (WebCore::TransformationMatrix::operator*): + * rendering/RenderForeignObject.cpp: + (WebCore::RenderForeignObject::nodeAtPoint): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateTransform): + * rendering/RenderPath.cpp: + (WebCore::RenderPath::mapAbsolutePointToLocal): + * rendering/RenderSVGImage.cpp: + (WebCore::RenderSVGImage::nodeAtPoint): + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::nodeAtPoint): + * rendering/RenderSVGText.cpp: + (WebCore::RenderSVGText::nodeAtPoint): + * rendering/RenderSVGViewportContainer.cpp: + (WebCore::RenderSVGViewportContainer::nodeAtPoint): + * svg/SVGAnimateMotionElement.cpp: + (WebCore::SVGAnimateMotionElement::resetToBaseValue): + (WebCore::SVGAnimateMotionElement::calculateAnimatedValue): + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::viewport): + * svg/SVGTransform.cpp: + (SVGTransform::setTranslate): + (SVGTransform::setScale): + (SVGTransform::setRotate): + (SVGTransform::setSkewX): + (SVGTransform::setSkewY): + * svg/graphics/SVGResourceMarker.cpp: + (WebCore::SVGResourceMarker::draw): + +2009-02-07 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Tor Arne Vestbø. + + For the Qt port implement Image::drawPattern via + BitmapImage::drawPatterns' implementation and implement + Gradient::fill. + + This partially fixes rendering of generated gradient content. + + * platform/graphics/BitmapImage.h: Remove the drawPattern + implementation for the Qt port in BitmapImage, it's been moved to + Image::drawPattern. + * platform/graphics/qt/GradientQt.cpp: + (WebCore::Gradient::fill): Implement using a simple fillRect. + * platform/graphics/qt/ImageQt.cpp: + (WebCore::Image::drawPattern): Moved implementation from + BitmapImage::drawPattern. + +2009-02-06 Eric Seidel <eric@webkit.org> + + Reviewed by Justin Garcia. + + DOMSelection.getRangeAt() returns a different range than the selection + https://bugs.webkit.org/show_bug.cgi?id=23601 + + Rename toRange to toNormalizedRange and add new firstRange which returns an unmodified range + + Test: fast/dom/Selection/getRangeAt.html + + * WebCore.base.exp: + * dom/InputElement.cpp: + (WebCore::InputElement::handleBeforeTextInsertedEvent): + * editing/DeleteButtonController.cpp: + (WebCore::enclosingDeletableElement): + * editing/Editor.cpp: + (WebCore::Editor::selectedRange): + (WebCore::Editor::fontForSelection): + (WebCore::Editor::applyStyleToSelection): + (WebCore::Editor::applyParagraphStyleToSelection): + (WebCore::Editor::insertTextWithoutSendingTextEvent): + (WebCore::Editor::insertLineBreak): + (WebCore::Editor::insertParagraphSeparator): + (WebCore::Editor::ignoreSpelling): + (WebCore::Editor::isSelectionUngrammatical): + (WebCore::Editor::guessesForUngrammaticalSelection): + (WebCore::markMisspellingsOrBadGrammar): + (WebCore::Editor::rangeForPoint): + * editing/EditorCommand.cpp: + (WebCore::expandSelectionToGranularity): + (WebCore::executeDeleteToMark): + (WebCore::executeSelectToMark): + * editing/RemoveFormatCommand.cpp: + (WebCore::RemoveFormatCommand::doApply): + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplacementFragment::ReplacementFragment): + * editing/Selection.cpp: + (WebCore::Selection::firstRange): + (WebCore::Selection::toNormalizedRange): + * editing/Selection.h: + * editing/SelectionController.h: + (WebCore::SelectionController::toNormalizedRange): + * editing/TypingCommand.cpp: + (WebCore::TypingCommand::deleteKeyPressed): + (WebCore::TypingCommand::forwardDeleteKeyPressed): + * editing/markup.cpp: + (WebCore::createMarkup): + * loader/archive/cf/LegacyWebArchive.cpp: + (WebCore::LegacyWebArchive::createFromSelection): + * page/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::ariaSelectedTextDOMRange): + * page/ContextMenuController.cpp: + (WebCore::ContextMenuController::contextMenuItemSelected): + * page/DOMSelection.cpp: + (WebCore::DOMSelection::getRangeAt): + (WebCore::DOMSelection::addRange): + (WebCore::DOMSelection::deleteFromDocument): + (WebCore::DOMSelection::containsNode): + (WebCore::DOMSelection::toString): + * page/DragController.cpp: + (WebCore::setSelectionToDragCaret): + (WebCore::DragController::concludeEditDrag): + (WebCore::DragController::startDrag): + * page/EventHandler.cpp: + (WebCore::EventHandler::dispatchMouseEvent): + * page/Frame.cpp: + (WebCore::Frame::selectedText): + (WebCore::Frame::shouldChangeSelection): + (WebCore::Frame::shouldDeleteSelection): + (WebCore::Frame::selectionComputedStyle): + (WebCore::Frame::selectionTextRects): + (WebCore::Frame::findString): + (WebCore::Frame::respondToChangedSelection): + * platform/ContextMenu.cpp: + (WebCore::selectionContainsPossibleWord): + +2009-02-06 Brady Eidson <beidson@apple.com> + + Reviewed by Dan Bernstein + + <rdar://problem/6563402> - Workaround a case where ::didReceiveData() might be called on a ResourceHandleClient + before ::didReceiveResponse(). + + No layout test, as we don't have a concrete way to reproduce these conditions. To that effect, I've added an ASSERT + to catch the conditions before the workaround takes effect in case any WebKit Debug-build developer runs across + this case and can come up with something more reproducible. + + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::didReceiveData): If the response is null create a dummy response. This is much + like the FrameLoader::init() response that is used for initial document creation. + +2009-02-06 Geoffrey Garen <ggaren@apple.com> + + Build fix. + + * WebCore.base.exp: + +2009-02-06 Xan Lopez <xan@gnome.org> + + Reviewed by Holger Freyther. + + https://bugs.webkit.org/show_bug.cgi?id=23621 + + Do not use m_scrollOffset to check if we are setting the same + value than we already have. + + m_scrollOffset starts at 0 for ScrollView, so when opening a new + page and scrolling to 0 (the usual case) the check will fail and + we won't update the adjustment value, resulting in a possibly + mispositioned scrollbar. Use the adjustment value directly + instead, which is what we are updating anyway. + + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::platformHandleHorizontalAdjustment): + (WebCore::ScrollView::platformHandleVerticalAdjustment): + +2009-02-06 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Oliver Hunt. + + https://bugs.webkit.org/show_bug.cgi?id=23800 + Header elements are not always preserved during paste + + At paste time, don't merge out of header elements. At copy time, be sure to include + headers in the list of special common ancestor blocks, so that copying a paragraph or less + of content inside a header will include the header element in the copied markup. + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::areSameHeaderElements): + (WebCore::ReplaceSelectionCommand::shouldMerge): + * editing/markup.cpp: + (WebCore::isSpecialAncestorBlock): + (WebCore::createMarkup): + +2009-02-06 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. + + Part III of <rdar://problem/6552272>. + + Make redirect data available to WebKit. (I tried having WebKit track this + data for itself, but that went wrong -- it's just too hard to figure + out the weird corners of the WebCore loader from within another framework.) + + * loader/DocumentLoader.cpp: + (WebCore::DocumentLoader::DocumentLoader): + * loader/DocumentLoader.h: Store a flag indicating whether we created + a global history entry. If we didn't, then we know that the next redirect + should not link to us, since we're not in history. + + (WebCore::DocumentLoader::clientRedirectSourceForHistory): + (WebCore::DocumentLoader::clientRedirectDestinationForHistory): + (WebCore::DocumentLoader::setClientRedirectSourceForHistory): + (WebCore::DocumentLoader::serverRedirectSourceForHistory): + (WebCore::DocumentLoader::serverRedirectDestinationForHistory): + (WebCore::DocumentLoader::didCreateGlobalHistoryEntry): + (WebCore::DocumentLoader::setDidCreateGlobalHistoryEntry): Added accessors + to help WebKit wade through the muck of WebCore history. + + * loader/EmptyClients.h: + (WebCore::EmptyFrameLoaderClient::updateGlobalHistoryRedirectLinks): Renamed + this client function to say what it does, instead of when it's called. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::load): + (WebCore::FrameLoader::loadWithNavigationAction): In the case of a redirect, + store a link to the previous history URL in the new DocumentLoader, so + it can update WebKit with that link when the load commits. + + (WebCore::FrameLoader::updateHistory*): Use our new flags and names, + described above. + + * loader/FrameLoader.h: + (WebCore::FrameLoader::documentLoader): + (WebCore::FrameLoader::policyDocumentLoader): + (WebCore::FrameLoader::provisionalDocumentLoader): + (WebCore::FrameLoader::state): Inlined a few trivial functions because + performance mistakes give me the itches. + + * loader/FrameLoaderClient.h: Renamed this client function to say what + it does, instead of when it's called. + +2009-02-06 Eric Seidel <eric@webkit.org> + + Reviewed by Justin Garcia. + + Minor refactoring and cleanup to Selection code + https://bugs.webkit.org/show_bug.cgi?id=23774 + + No functional changes, thus no tests. + + * editing/Editor.cpp: + (WebCore::Editor::applyStyle): + (WebCore::Editor::applyParagraphStyle): + * editing/Selection.cpp: + (WebCore::Selection::Selection): + (WebCore::Selection::setBaseAndExtentToDeepEquivalents): + (WebCore::Selection::setStartAndEndFromBaseAndExtentRespectingGranularity): + (WebCore::Selection::updateSelectionType): + (WebCore::Selection::validate): + (WebCore::Selection::setWithoutValidation): + (WebCore::Selection::adjustSelectionToAvoidCrossingEditingBoundaries): + * editing/Selection.h: + (WebCore::Selection::): + (WebCore::Selection::selectionType): + (WebCore::Selection::extent): + (WebCore::Selection::isNone): + (WebCore::Selection::isCaret): + (WebCore::Selection::isRange): + (WebCore::Selection::isCaretOrRange): + * editing/SelectionController.h: + (WebCore::SelectionController::selectionType): + * editing/TypingCommand.cpp: + (WebCore::TypingCommand::deleteKeyPressed): + (WebCore::TypingCommand::forwardDeleteKeyPressed): + * page/Frame.cpp: + (WebCore::Frame::revealSelection): + +2009-02-06 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23801 + Add custom V8 bindings for SVG. + + * bindings/v8/custom/V8SVGElementInstanceCustom.cpp: Added. + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8SVGLengthCustom.cpp: Added. + (WebCore::ACCESSOR_GETTER): + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8SVGMatrixCustom.cpp: Added. + (WebCore::CALLBACK_FUNC_DECL): + +2009-02-06 David Levin <levin@chromium.org> + + Reviewed by Eric Seidel. + + Bug 23792: unused param is used in RenderLayer.cpp but not #include'd + <https://bugs.webkit.org/show_bug.cgi?id=23792> + + Add include file for UnusedParam which is used in this file. + + * rendering/RenderLayer.cpp: + +2009-02-06 David Levin <levin@chromium.org> + + Reviewed by Eric Seidel. + + <https://bugs.webkit.org/show_bug.cgi?id=23741> + + Bug 23798: KURLGoogle needs support for protocolInHTTPFamily + <https://bugs.webkit.org/show_bug.cgi?id=23798> + + Add protocolInHTTPFamily() to the KURLGoogle implementation. + This is another chromium build fix to mirror r40553. + + While in this file, I did some style fixes and consistency fixes: + + fixed many_occurences_of_underscoring_naming + + usages of NULL + + comparisons to 0 + + changed the copyright remove an extraneous , and capitalize the (C) + which was suggested for other files that I've submitted. + + No observable change in behavior, so no test. + + * platform/KURL.h: + (WebCore::KURL::protocolInHTTPFamily): + * platform/KURLGoogle.cpp: + (WebCore::KURLCharsetConverter::ConvertFromUTF16): + (WebCore::lowerCaseEqualsASCII): + (WebCore::KURLGooglePrivate::KURLGooglePrivate): + (WebCore::KURLGooglePrivate::setUtf8): + (WebCore::KURLGooglePrivate::setAscii): + (WebCore::KURLGooglePrivate::init): + (WebCore::KURLGooglePrivate::initProtocolInHTTPFamily): + (WebCore::KURLGooglePrivate::copyTo): + (WebCore::KURLGooglePrivate::replaceComponents): + (WebCore::KURL::KURL): + (WebCore::KURL::createCFURL): + (WebCore::KURL::isEmpty): + (WebCore::KURL::protocolInHTTPFamily): + (WebCore::KURL::query): + (WebCore::decodeURLEscapeSequences): + (WebCore::KURL::protocolIs): + (WebCore::encodeWithURLEscapeSequences): + (WebCore::KURL::invalidate): + (WebCore::equalIgnoringRef): + * platform/KURLGooglePrivate.h: + +2009-02-06 David Kilzer <ddkilzer@apple.com> + + Bug 23741: StyleRareNonInheritedData::operator==() should not compare ContentData objects by pointer + + Reviewed by Darin Adler. + + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::contentDataEquivalent): Moved method to + WebCore::StyleRareNonInheritedData class. + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::contentDataEquivalent): Replaced declaration + with inline method that calls contentDataEquivalent() on + WebCore::StyleRareNonInheritedData instead. + * rendering/style/StyleRareNonInheritedData.cpp: + (WebCore::StyleRareNonInheritedData::operator==): This is the bug fix! + Replaced pointer comparison of ContentData objects with call to + StyleRareNonInheritedData::contentDataEquivalent(). + (WebCore::StyleRareNonInheritedData::contentDataEquivalent): Added. + * rendering/style/StyleRareNonInheritedData.h: + (WebCore::StyleRareNonInheritedData::contentDataEquivalent): Added + declaration. + +2009-02-06 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Eric Seidel + + Factor code that checks whether the object is rooted in + repaint() and repaintRectangle() into a common isRooted() + method. + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::repaint): + (WebCore::RenderObject::repaintRectangle): + (WebCore::RenderObject::isRooted): + * rendering/RenderObject.h: + +2009-02-06 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Eric Seidel + + Expose an isRootLayer() method on RenderLayer that works whether the + layer is rooted or not, and use that in a few places in the + accelerated compositing code. + + * rendering/RenderLayer.h: + (WebCore::RenderLayer::isRootLayer): + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::paintingGoesToWindow): + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): + (WebCore::RenderLayerCompositor::requiresCompositingLayer): + +2009-02-06 Dan Bernstein <mitz@apple.com> Reviewed by Darin Adler. @@ -148,11 +15296,121 @@ * platform/graphics/wx/SimpleFontDataWx.cpp: (WebCore::SimpleFontData::platformDestroy): Ditto. -2009-02-06 Mark Rowe <mrowe@apple.com> +2009-02-06 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Eric Seidel + + Make RenderStyle::transitionForProperty() const. + + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::transitionForProperty): + * rendering/style/RenderStyle.h: + +2009-02-06 Simon Fraser <simon.fraser@apple.com> + + Fix build when ACCELERATED_COMPOSITING is turned on. - Merge r40712. + Remove font smoothing changes that will be committed + separately. - 2009-02-05 Maciej Stachowiak <mjs@apple.com> and Brady Eidson <beidson@apple.com> + * platform/graphics/mac/WebLayer.mm: + (WebCore::if): + +2009-02-06 Anders Carlsson <andersca@apple.com> + + Build fix. + + * bridge/npapi.h: + +2009-02-06 Darin Fisher <darin@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23790 + Custom -> JSCCustom in SVGPointList.idl + + * svg/SVGPointList.idl: + +2009-02-06 Anantanarayanan Iyengar <ananta@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23309 + Fix whitespace indent errors. The rest of the original patch has already + landed. + + * platform/graphics/cairo/ImageSourceCairo.cpp: + (WebCore::ImageSource::clear): + * platform/graphics/cg/ImageSourceCG.cpp: + (WebCore::ImageSource::clear): + * platform/graphics/qt/ImageSourceQt.cpp: + (WebCore::ImageSource::clear): + * platform/graphics/wx/ImageSourceWx.cpp: + (WebCore::ImageSource::clear): + +2009-02-06 Dirk Schulze <krit@webkit.org> + + Reviewed by Simon Hausmann. + + Fix bug in clearRect(). Use fillRect() instead of eraseRect() to get + the context transparent. + + [QT] clearRect fill's a given rect with white + https://bugs.webkit.org/show_bug.cgi?id=23728 + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::clearRect): + +2009-02-06 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=23781 + + When the document is attached and detached, and when it becomes active/inactive + (e.g. coming out or going into the page cache) we need to call + RenderView::didMoveOnscreen()/willMoveOffscreen() to hook and unhook the composited + layers. + + Also, if Document::recalcStyle() does not do a layout, it needs to + update the compositing layers. + + * dom/Document.cpp: + (WebCore::Document::updateRendering): + (WebCore::Document::updateLayout): + (WebCore::Document::attach): + (WebCore::Document::detach): + (WebCore::Document::documentWillBecomeInactive): + (WebCore::Document::documentDidBecomeActive): + +2009-02-06 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Tor Arne Vestbø. + + Added support for different ownership models for wrapped QObjects in + the JavaScript environment. + + * bindings/js/ScriptControllerQt.cpp: + (WebCore::ScriptController::createScriptInstanceForWidget): Specify + QtOwnership for scriptable widgets. + * bridge/npruntime_internal.h: Add "NormalState" to the list of + undef'ed macros as an included Qt header uses "NormalState" as value + in an enum. + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtInstance::QtInstance): Save and initialize ownership + member. + (JSC::Bindings::QtInstance::~QtInstance): Respect + QScriptEngine::ValueOwnership policy with regards to wrapped m_object. + (JSC::Bindings::QtInstance::getQtInstance): Pass the ownership down to + the instance. + * bridge/qt/qt_instance.h: + (JSC::Bindings::QtInstance::create): Ditto. + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::convertQVariantToValue): Use QtOwnership for + automatically wrapped QObjects. + (JSC::Bindings::QtConnectionObject::execute): Ditto. + +2009-02-05 Maciej Stachowiak <mjs@apple.com> and Brady Eidson <beidson@apple.com> Reviewed by Dan Bernstein and Geoff Garen. @@ -187,11 +15445,1678 @@ (WebCore::HistoryItem::weeklyVisitCounts): Ditto for weekly counts. * WebCore.base.exp: Add new symbols and sort. -2009-02-06 Mark Rowe <mrowe@apple.com> +2009-02-05 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + <rdar://problem/6438271> Improve backspace handling of accented characters + + Test: platform/mac/editing/deleting/backward-delete.html + + This change makes WebKit behave like AppKit on the Mac. Other platforms are not affected, + because the current behavior matches their standards (tested on Windows, assumed elsewhere). + + * dom/Position.cpp: + (WebCore::Position::previous): + (WebCore::Position::next): + (WebCore::Position::uncheckedPreviousOffsetForBackwardDeletion): + * dom/Position.h: + Added a new option for previous(), used to move to a next position for backward deletion. + Renamed EUsingComposedCharacters to PositionMoveType. + + * editing/TypingCommand.cpp: (WebCore::TypingCommand::deleteKeyPressed): + Use previous(BackwardDeletion) to find a proper range to delete. Also, simplified a check + surrounding this code a little. + + * editing/htmlediting.cpp: + (WebCore::nextVisuallyDistinctCandidate): + (WebCore::previousVisuallyDistinctCandidate): + Adjusted for renamed enum values. + + * rendering/RenderObject.cpp: + * rendering/RenderObject.h: + * rendering/RenderText.h: + Added previousOffsetForBackwardDeletion(). + + * rendering/RenderText.cpp: (WebCore::RenderText::previousOffsetForBackwardDeletion): + On PLATFORM(MAC), use an algorithm that matches the one AppKit has for backward deletion. + +2009-02-05 Adam Roben <aroben@apple.com> + + Fix a crash in RenderWidget::destroy when navigating away from a page + with an <iframe> + + This was a regression caused by r40679 + + Reviewed by Dave Hyatt. + + Tested by many many tests. + + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::destroy): Only deref the RenderWidget after we + finish accessing its members. + +2009-02-05 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Anders Carlsson + + getAnimatedStyleForRenderer() should not create a new + CompositeAnimation if the object isn't already animating, and + it should just fall back to returning renderer->style(). + + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer): + +2009-02-05 Simon Fraser <simon.fraser@apple.com> + + Fix build when ACCELERATED_COMPOSITING is turned on. + + Give RenderLayerBacking some love after the great + RenderBoxModelObject split. + + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::updateLayerTransform): + (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): + (WebCore::RenderLayerBacking::contentsBox): + (WebCore::RenderLayerBacking::paintIntoLayer): + (WebCore::RenderLayerBacking::startAnimation): + (WebCore::RenderLayerBacking::startTransition): + * rendering/RenderLayerBacking.h: + (WebCore::RenderLayerBacking::renderer): + +2009-02-05 Simon Fraser <simon.fraser@apple.com> + + Fix build when ACCELERATED_COMPOSITING is turned on. + + writeIndent() needs to be static to avoid warnings on some OSes, + and remove unused CAToTransform3D() method. + + * platform/graphics/GraphicsLayer.cpp: + (WebCore::writeIndent): + * platform/graphics/mac/GraphicsLayerCA.mm: + +2009-02-05 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Anders Carlsson + + Add some methods to the TransformOperation classes that are required + by GraphicsLayer when ACCELERATED_COMPOSITING is turned on. + + * platform/graphics/transforms/MatrixTransformOperation.h: + (WebCore::MatrixTransformOperation::create): + (WebCore::MatrixTransformOperation::MatrixTransformOperation): + * platform/graphics/transforms/ScaleTransformOperation.h: + (WebCore::ScaleTransformOperation::x): + (WebCore::ScaleTransformOperation::y): + * platform/graphics/transforms/TranslateTransformOperation.h: + (WebCore::TranslateTransformOperation::x): + (WebCore::TranslateTransformOperation::y): + +2009-02-05 Simon Fraser <simon.fraser@apple.com> + + Minor clenaup: fix brace style in CompositeAnimationPrivate::updateTransitions(), + and correct a usage of UNUSED_PARAM(). + + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimationPrivate::updateTransitions): + * page/animation/ImplicitAnimation.cpp: + (WebCore::ImplicitAnimation::startAnimation): + +2009-02-05 Simon Fraser <simon.fraser@apple.com> + + Fix build when ACCELERATED_COMPOSITING is turned on. + + animationOfPropertyIsAccelerated() needs to be public because + it is called from AnimationController. + + * page/animation/AnimationBase.h: + +2009-02-05 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Anders Carlsson + + Fix mis-typed enum value which is hidden inside #ifdefs so didn't break + the build. + + * page/FrameView.cpp: + (WebCore::FrameView::updateCompositingLayers): + +2009-02-05 Sam Weinig <sam@webkit.org> + + Reviewed by Geoffrey Garen. + + Fix missing checked toRenderBlock casts. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::clearFloats): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::availableHeightUsing): + +2009-02-05 Sam Weinig <sam@webkit.org> + + Patch from Darin Adler. + Reviewed by Sam Weinig. + + Fix case where we were casting to RenderView. + + No test case possible. + + * editing/mac/SelectionControllerMac.mm: + (WebCore::SelectionController::notifyAccessibilityForSelectionChange): + +2009-02-05 Aaron Boodman <aa@chromium.org> + + Reviewed by Dave Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=23708 + Adds documentElementAvailable() callback to FrameLoaderClient. + + * dom/XMLTokenizerLibxml2.cpp: + (WebCore::XMLTokenizer::startElementNs): + Add call to dispatchDocumentElementAvailable() + * dom/XMLTokenizerQt.cpp: + (WebCore::XMLTokenizer::parseStartElement): + Ditto. + * html/HTMLParser.cpp: + (WebCore::HTMLParser::insertNode): + Ditto. + * loader/EmptyClients.h: + (WebCore::EmptyFrameLoaderClient::documentElementAvailable): + Stub out documentElementAvailable(). + * loader/FrameLoader.cpp: + documentElementAvailable() callback plumbing. + * loader/FrameLoader.h: + Ditto. + * loader/FrameLoaderClient.h: + Add new documentElementAvailable() callback. + +2009-02-05 Scott Violet <sky@google.com> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23766 + CanvasRenderingContext2D::setShadow needs else for other platforms. + + Implements the CMYK variant of CanvasRenderingContext2D::setShadow for + other platforms using the CMYK color constructor. + + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::setShadow): + +2009-02-05 Scott Violet <sky@google.com> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23687 + Wires up Skia'a ImageBuffer::toDataURL to support pngs. + This helps Chromium pass a couple of layout tests. + + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::ImageBuffer::toDataURL): + * platform/image-encoders: Added. + * platform/image-encoders/skia: Added. + * platform/image-encoders/skia/PNGImageEncoder.cpp: Added. + (WebCore::): + (WebCore::PngEncoderState::EncoderWriteCallback): + (WebCore::PngEncoderState::ConvertBGRAtoRGB): + (WebCore::PngEncoderState::PngWriteStructDestroyer::PngWriteStructDestroyer): + (WebCore::PngEncoderState::PngWriteStructDestroyer::~PngWriteStructDestroyer): + (WebCore::PNGImageEncoder::encode): + * platform/image-encoders/skia/PNGImageEncoder.h: Added. + +2009-02-05 Sam Weinig <sam@webkit.org> + + Reviewed by Darin Adler. + + Fix missing checked cast. + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::containingBlock): + +2009-02-05 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> + + Not reviewed. Fix WML enabled builds. + + FrameLoader::load() got an additional 'lockHistory' parameter, pass 'false'. + + * wml/WMLGoElement.cpp: + (WebCore::WMLGoElement::executeTask): + +2009-02-05 Scott Violet <sky@google.com> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23625 + Additional fix: Skia platform doesn't render text to a canvas or support clipping to an image buffer + + Fixes three bugs in PlatformContextSkia: + + * When a new layer was started clipped to an image we used the + assignment operator to copy the SkBitmap. If the SkBitmap owns it's + pixels, this is not the right thing to do. Instead we need to create + a copy of the image. + * State holds an SkBitmap by value. State's copy constructor does a + memcpy. This is confusing and subtle, I've converted to use a member + initializer list which I think is clearer and less error prone. + * When creating a new layer there is no need to copy the clip image. + + * platform/graphics/skia/PlatformContextSkia.cpp: + (PlatformContextSkia::State::State): + (PlatformContextSkia::save): + (PlatformContextSkia::beginLayerClippedToImage): + +2009-02-05 Scott Violet <sky@google.com> + + Reviewed by George Staikos. + + https://bugs.webkit.org/show_bug.cgi?id=23462 + Changes call from setFillColor to setStrokeColor. + + * html/CanvasStyle.cpp: + (WebCore::CanvasStyle::applyStrokeColor): + +2009-02-05 David Hyatt <hyatt@apple.com> + + Fix crash on svg custom stop test. A virtual function didn't get patched properly. + + Reviewed by Sam Weinig + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::clippedOverflowRectForRepaint): + * rendering/RenderSVGGradientStop.h: + (WebCore::RenderSVGGradientStop::clippedOverflowRectForRepaint): + +2009-02-05 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=23765 + + Add toRenderBoxModelObject() so that we can cast objects that + can have layers. + + Fix getComputedStyle to return the current value of style + properties that are undergoing accelerated animations, by + asking the AnimationController if the property has accelerated + animations, and, if so, asking it to generate an appropriate + style. + + Tightened up some type safety (CSSPropertyID), and code clarity + (replace bool with enum). + + * WebCore.xcodeproj/project.pbxproj: + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::hasCompositedLayer): + (WebCore::computedTransform): + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::isAnimatingPropertyOnRenderer): + (WebCore::AnimationController::isAnimatingPropertyOnRenderer): + (WebCore::AnimationController::supportsAcceleratedAnimationOfProperty): + * page/animation/AnimationController.h: + * page/animation/AnimationControllerPrivate.h: + * page/animation/ImplicitAnimation.cpp: + (WebCore::ImplicitAnimation::startAnimation): + (WebCore::ImplicitAnimation::endAnimation): + * page/animation/KeyframeAnimation.cpp: + (WebCore::KeyframeAnimation::startAnimation): + (WebCore::KeyframeAnimation::endAnimation): + * rendering/RenderBoxModelObject.h: + (WebCore::RenderBoxModelObject::isBoxModelObject): + (WebCore::toRenderBoxModelObject): + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::updateLayerTransform): + * rendering/RenderObject.h: + (WebCore::RenderObject::isBoxModelObject): + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::applyTransform): + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::): + +2009-02-05 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23767 + Add custom V8 bindings for HTML5 database. + + * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: Added. + (WebCore::V8CustomSQLStatementCallback::V8CustomSQLStatementCallback): + (WebCore::V8CustomSQLStatementCallback::~V8CustomSQLStatementCallback): + (WebCore::V8CustomSQLStatementCallback::handleEvent): + * bindings/v8/custom/V8CustomSQLStatementCallback.h: Added. + (WebCore::V8CustomSQLStatementCallback::create): + * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: Added. + (WebCore::V8CustomSQLStatementErrorCallback::V8CustomSQLStatementErrorCallback): + (WebCore::V8CustomSQLStatementErrorCallback::~V8CustomSQLStatementErrorCallback): + (WebCore::V8CustomSQLStatementErrorCallback::handleEvent): + * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h: Added. + (WebCore::V8CustomSQLStatementErrorCallback::create): + * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: Added. + (WebCore::V8CustomSQLTransactionCallback::V8CustomSQLTransactionCallback): + (WebCore::V8CustomSQLTransactionCallback::~V8CustomSQLTransactionCallback): + (WebCore::V8CustomSQLTransactionCallback::handleEvent): + * bindings/v8/custom/V8CustomSQLTransactionCallback.h: Added. + (WebCore::V8CustomSQLTransactionCallback::create): + * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: Added. + (WebCore::V8CustomSQLTransactionErrorCallback::V8CustomSQLTransactionErrorCallback): + (WebCore::V8CustomSQLTransactionErrorCallback::~V8CustomSQLTransactionErrorCallback): + (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent): + * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h: Added. + (WebCore::V8CustomSQLTransactionErrorCallback::create): + * bindings/v8/custom/V8CustomVoidCallback.cpp: Added. + (WebCore::V8CustomVoidCallback::V8CustomVoidCallback): + (WebCore::V8CustomVoidCallback::~V8CustomVoidCallback): + (WebCore::V8CustomVoidCallback::handleEvent): + (WebCore::invokeCallback): + * bindings/v8/custom/V8CustomVoidCallback.h: Added. + (WebCore::V8CustomVoidCallback::create): + * bindings/v8/custom/V8DatabaseCustom.cpp: Added. + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: Added. + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8SQLTransactionCustom.cpp: Added. + (WebCore::CALLBACK_FUNC_DECL): + +2009-02-05 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23747 + Add Chromium threading-related files. + + * platform/chromium/TemporaryLinkStubs.cpp: Removed theading-related stubs. + +2009-02-05 Sam Weinig <sam@webkit.org> + + Reviewed by Adam Roben. + + Add toRenderButton methods for casting RenderObjects to RenderButtons. The methods will assert if the object + is not a RenderButton. Also add a toRenderButton method that takes a RenderButton but returns void and that + is unimplemented. This method will catch anyone trying to do a cast when the object is already a RenderButton. + + * rendering/RenderButton.h: + (WebCore::RenderButton::isRenderButton): + (WebCore::toRenderButton): + * rendering/RenderFileUploadControl.cpp: + (WebCore::RenderFileUploadControl::paintObject): + * rendering/RenderObject.h: + (WebCore::RenderObject::isRenderButton): + +2009-02-05 David Hyatt <hyatt@apple.com> + + Move the m_layer member variable of RenderBox up into RenderBoxModelObject. Refactor styleDidChange' + of RenderObject, RenderBoxModelObject and RenderBox to get more of the code in the correct subclass. + In order to set the various RenderObject bits properly prior to the test for whether a layer is + required, I added an additional method, updateBoxModelInfoAfterStyleChange, that is responsible + for setting all of the bits. + + Eliminate hasStaticX/Y, staticX/Y, and setStaticX/Y from the render tree. Move hasStaticX/Y to + RenderStyle, and just use the corresponding layer() methods for the + staticX/Y getters/setters. + + Reviewed by Sam Weinig + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): + (WebCore::RenderBlock::adjustPositionedBlock): + (WebCore::RenderBlock::layoutOnlyPositionedObjects): + (WebCore::RenderBlock::layoutPositionedObjects): + (WebCore::RenderBlock::paintObject): + (WebCore::RenderBlock::nodeAtPoint): + (WebCore::RenderBlock::offsetForContents): + (WebCore::RenderBlock::calcPrefWidths): + (WebCore::RenderBlock::baselinePosition): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::RenderBox): + (WebCore::RenderBox::destroy): + (WebCore::RenderBox::styleWillChange): + (WebCore::RenderBox::styleDidChange): + (WebCore::RenderBox::updateBoxModelInfoFromStyle): + (WebCore::RenderBox::scrollWidth): + (WebCore::RenderBox::scrollHeight): + (WebCore::RenderBox::scrollLeft): + (WebCore::RenderBox::scrollTop): + (WebCore::RenderBox::setScrollLeft): + (WebCore::RenderBox::setScrollTop): + (WebCore::RenderBox::getOverflowClipRect): + (WebCore::RenderBox::localToAbsolute): + (WebCore::RenderBox::absoluteToLocal): + (WebCore::RenderBox::localToContainerQuad): + (WebCore::RenderBox::position): + (WebCore::RenderBox::computeRectForRepaint): + (WebCore::RenderBox::calcAbsoluteHorizontal): + (WebCore::RenderBox::calcAbsoluteVertical): + (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): + (WebCore::RenderBox::calcAbsoluteVerticalReplaced): + * rendering/RenderBox.h: + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::RenderBoxModelObject): + (WebCore::RenderBoxModelObject::destroy): + (WebCore::RenderBoxModelObject::styleWillChange): + (WebCore::RenderBoxModelObject::styleDidChange): + (WebCore::RenderBoxModelObject::updateBoxModelInfoFromStyle): + * rendering/RenderBoxModelObject.h: + (WebCore::RenderBoxModelObject::layer): + (WebCore::RenderBoxModelObject::requiresLayer): + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutBlock): + (WebCore::RenderFlexibleBox::layoutHorizontalBox): + (WebCore::RenderFlexibleBox::layoutVerticalBox): + * rendering/RenderInline.cpp: + (WebCore::RenderInline::updateBoxModelInfoFromStyle): + (WebCore::RenderInline::styleDidChange): + (WebCore::RenderInline::relativePositionedInlineOffset): + * rendering/RenderInline.h: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::setStaticY): + (WebCore::RenderLayer::updateLayerPosition): + * rendering/RenderLayer.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::setStyle): + (WebCore::RenderObject::styleDidChange): + * rendering/RenderObject.h: + (WebCore::RenderObject::markContainingBlocksForLayout): + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::paint): + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::destroy): + * rendering/bidi.cpp: + (WebCore::appendRunsForObject): + (WebCore::RenderBlock::layoutInlineChildren): + (WebCore::RenderBlock::skipTrailingWhitespace): + (WebCore::RenderBlock::skipLeadingWhitespace): + (WebCore::RenderBlock::findNextLineBreak): + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::hasStaticX): + (WebCore::InheritedFlags::hasStaticY): + +2009-02-05 Sam Weinig <sam@webkit.org> + + Fix the windows build. + + * bindings/scripts/CodeGeneratorCOM.pm: + * dom/Node.idl: + +2009-02-05 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + Update to match Gecko. + + * bridge/npapi.h: + * plugins/npfunctions.h: + +2009-02-05 Sam Weinig <sam@webkit.org> + + Reviewed by Darin Adler. + + Finish merging EventTargetNode up into Node. + + This also fixes a small recently introduced issue where EventListeners + would not be removed from the document if they were attached to comment + nodes outside of the documentElement. + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.scons: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * bindings/js/JSEventTargetNodeCustom.cpp: Removed. + * bindings/js/JSNodeCustom.cpp: + (WebCore::JSNode::addEventListener): + (WebCore::JSNode::removeEventListener): + (WebCore::JSNode::pushEventHandlerScope): + * bindings/scripts/CodeGenerator.pm: + * dom/CharacterData.cpp: + (WebCore::CharacterData::CharacterData): + (WebCore::CharacterData::rendererIsNeeded): + * dom/CharacterData.h: + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::willRemove): + (WebCore::ContainerNode::attach): + (WebCore::ContainerNode::detach): + (WebCore::ContainerNode::insertedIntoDocument): + (WebCore::ContainerNode::removedFromDocument): + (WebCore::ContainerNode::setFocus): + (WebCore::ContainerNode::setActive): + (WebCore::ContainerNode::setHovered): + (WebCore::dispatchChildInsertionEvents): + (WebCore::dispatchChildRemovalEvents): + * dom/ContainerNode.h: + (WebCore::ContainerNode::ContainerNode): + * dom/Document.cpp: + (WebCore::Document::removeAllEventListenersFromAllNodes): + (WebCore::Document::removeAllDisconnectedNodeEventListeners): + (WebCore::Document::setFocusedNode): + * dom/EventTargetNode.cpp: Removed. + * dom/EventTargetNode.h: Removed. + * dom/Node.cpp: + (WebCore::Node::scriptExecutionContext): + (WebCore::Node::eventListeners): + (WebCore::Node::insertedIntoDocument): + (WebCore::Node::removedFromDocument): + (WebCore::Node::willMoveToNewOwnerDocument): + (WebCore::Node::didMoveToNewOwnerDocument): + (WebCore::updateSVGElementInstancesAfterEventListenerChange): + (WebCore::Node::addEventListener): + (WebCore::Node::removeEventListener): + (WebCore::Node::removeAllEventListenersSlowCase): + (WebCore::Node::handleLocalEvents): + (WebCore::eventTargetAsSVGElementInstance): + (WebCore::eventTargetRespectingSVGTargetRules): + (WebCore::Node::dispatchEvent): + (WebCore::Node::dispatchGenericEvent): + (WebCore::Node::dispatchSubtreeModifiedEvent): + (WebCore::Node::dispatchWindowEvent): + (WebCore::Node::dispatchUIEvent): + (WebCore::Node::dispatchKeyEvent): + (WebCore::Node::dispatchMouseEvent): + (WebCore::Node::dispatchSimulatedMouseEvent): + (WebCore::Node::dispatchSimulatedClick): + (WebCore::Node::dispatchWheelEvent): + (WebCore::Node::dispatchWebKitAnimationEvent): + (WebCore::Node::dispatchWebKitTransitionEvent): + (WebCore::Node::dispatchFocusEvent): + (WebCore::Node::dispatchBlurEvent): + (WebCore::Node::dispatchEventForType): + (WebCore::Node::dispatchProgressEvent): + (WebCore::Node::dispatchStorageEvent): + (WebCore::Node::removeInlineEventListenerForType): + (WebCore::Node::setInlineEventListenerForType): + (WebCore::Node::setInlineEventListenerForTypeAndAttribute): + (WebCore::Node::inlineEventListenerForType): + (WebCore::Node::disabled): + (WebCore::Node::defaultEventHandler): + (WebCore::Node::onabort): + (WebCore::Node::setOnabort): + (WebCore::Node::onblur): + (WebCore::Node::setOnblur): + (WebCore::Node::onchange): + (WebCore::Node::setOnchange): + (WebCore::Node::onclick): + (WebCore::Node::setOnclick): + (WebCore::Node::oncontextmenu): + (WebCore::Node::setOncontextmenu): + (WebCore::Node::ondblclick): + (WebCore::Node::setOndblclick): + (WebCore::Node::onerror): + (WebCore::Node::setOnerror): + (WebCore::Node::onfocus): + (WebCore::Node::setOnfocus): + (WebCore::Node::oninput): + (WebCore::Node::setOninput): + (WebCore::Node::onkeydown): + (WebCore::Node::setOnkeydown): + (WebCore::Node::onkeypress): + (WebCore::Node::setOnkeypress): + (WebCore::Node::onkeyup): + (WebCore::Node::setOnkeyup): + (WebCore::Node::onload): + (WebCore::Node::setOnload): + (WebCore::Node::onmousedown): + (WebCore::Node::setOnmousedown): + (WebCore::Node::onmousemove): + (WebCore::Node::setOnmousemove): + (WebCore::Node::onmouseout): + (WebCore::Node::setOnmouseout): + (WebCore::Node::onmouseover): + (WebCore::Node::setOnmouseover): + (WebCore::Node::onmouseup): + (WebCore::Node::setOnmouseup): + (WebCore::Node::onmousewheel): + (WebCore::Node::setOnmousewheel): + (WebCore::Node::onbeforecut): + (WebCore::Node::setOnbeforecut): + (WebCore::Node::oncut): + (WebCore::Node::setOncut): + (WebCore::Node::onbeforecopy): + (WebCore::Node::setOnbeforecopy): + (WebCore::Node::oncopy): + (WebCore::Node::setOncopy): + (WebCore::Node::onbeforepaste): + (WebCore::Node::setOnbeforepaste): + (WebCore::Node::onpaste): + (WebCore::Node::setOnpaste): + (WebCore::Node::ondragenter): + (WebCore::Node::setOndragenter): + (WebCore::Node::ondragover): + (WebCore::Node::setOndragover): + (WebCore::Node::ondragleave): + (WebCore::Node::setOndragleave): + (WebCore::Node::ondrop): + (WebCore::Node::setOndrop): + (WebCore::Node::ondragstart): + (WebCore::Node::setOndragstart): + (WebCore::Node::ondrag): + (WebCore::Node::setOndrag): + (WebCore::Node::ondragend): + (WebCore::Node::setOndragend): + (WebCore::Node::onreset): + (WebCore::Node::setOnreset): + (WebCore::Node::onresize): + (WebCore::Node::setOnresize): + (WebCore::Node::onscroll): + (WebCore::Node::setOnscroll): + (WebCore::Node::onsearch): + (WebCore::Node::setOnsearch): + (WebCore::Node::onselect): + (WebCore::Node::setOnselect): + (WebCore::Node::onselectstart): + (WebCore::Node::setOnselectstart): + (WebCore::Node::onsubmit): + (WebCore::Node::setOnsubmit): + (WebCore::Node::onunload): + (WebCore::Node::setOnunload): + * dom/Node.h: + * editing/Editor.cpp: + (WebCore::Editor::dispatchCPPEvent): + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::handleLocalEvents): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::defaultEventHandler): + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::notifyFinished): + * loader/MediaDocument.cpp: + (WebCore::MediaDocument::defaultEventHandler): + * page/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::mouseButtonListener): + * page/EventHandler.cpp: + (WebCore::EventHandler::dispatchDragEvent): + (WebCore::EventHandler::updateMouseEventTargetNode): + (WebCore::EventHandler::dispatchMouseEvent): + (WebCore::EventHandler::handleWheelEvent): + (WebCore::EventHandler::canMouseDownStartSelect): + (WebCore::EventHandler::canMouseDragExtendSelect): + (WebCore::eventTargetNodeForDocument): + (WebCore::EventHandler::keyEvent): + * page/FrameView.cpp: + (WebCore::FrameView::scheduleEvent): + (WebCore::FrameView::updateOverflowStatus): + * page/FrameView.h: + * page/Page.cpp: + (WebCore::networkStateChanged): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::scrollToOffset): + (WebCore::RenderLayer::updateOverflowStatus): + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::valueChanged): + * rendering/RenderMedia.h: + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::selectionChanged): + * svg/SVGElementInstance.h: + (WebCore::SVGElementInstance::toNode): + * xml/XPathExpression.cpp: + (WebCore::XPathExpression::evaluate): + * xml/XPathResult.cpp: + (WebCore::XPathResult::XPathResult): + +2009-02-05 Adam Treat <adam.treat@torchmobile.com> + + Fix the Qt build now that EventTargetNode.idl was removed in r40672. + + * WebCore.pro: + +2009-02-05 Scott Violet <sky@google.com> + + Reviewed by Sam Weinig. + + Bug 23462: Add RGB -> CMYK conversion algorithm + <https://bugs.webkit.org/show_bug.cgi?id=23462> + + Adds an RGB -> CMYK converter. This isn't perfect, but better than + nothing. + + * html/CanvasStyle.cpp: + (WebCore::CanvasStyle::applyStrokeColor): + (WebCore::CanvasStyle::applyFillColor): + (WebCore::CanvasStyle::cmykToRGB): + * html/CanvasStyle.h: + +2009-02-04 Sam Weinig <sam@webkit.org> + + Reviewed by Darin Adler. + + First stage of merging EventTargetNode up into Node. The intent of this change + is to both simplify the inheritance hierarchy (at the same time making it more + closely match the spec which states that all Nodes are EventTargets) and save + 4 bytes per Node that the polymorphic multiple-inheritance was costing us. + + This does the bare minimum to get things compiling, the next patch will clean + + * DerivedSources.make: + * WebCore.base.exp: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSDocumentCustom.cpp: + (WebCore::JSDocument::mark): + * bindings/js/JSEventListener.cpp: + (WebCore::JSLazyEventListener::parseCode): + * bindings/js/JSEventTarget.cpp: + (WebCore::toEventTarget): + * bindings/js/JSEventTarget.h: + * bindings/js/JSEventTargetNodeCustom.cpp: + (WebCore::JSNode::addEventListener): + (WebCore::JSNode::removeEventListener): + (WebCore::JSNode::pushEventHandlerScope): + * bindings/js/JSStyleSheetCustom.cpp: + * bindings/scripts/CodeGeneratorJS.pm: + * bindings/scripts/CodeGeneratorObjC.pm: + * dom/Attr.idl: + * dom/CharacterData.h: + * dom/CharacterData.idl: + * dom/Document.idl: + * dom/DocumentFragment.idl: + * dom/Element.idl: + * dom/EventTarget.cpp: + (WebCore::EventTarget::toNode): + * dom/EventTarget.h: + * dom/EventTarget.idl: + * dom/EventTargetNode.cpp: + (WebCore::Node::scriptExecutionContext): + (WebCore::Node::eventListeners): + (WebCore::Node::insertedIntoDocument): + (WebCore::Node::removedFromDocument): + (WebCore::Node::willMoveToNewOwnerDocument): + (WebCore::Node::didMoveToNewOwnerDocument): + (WebCore::Node::addEventListener): + (WebCore::Node::removeEventListener): + (WebCore::Node::removeAllEventListenersSlowCase): + (WebCore::Node::handleLocalEvents): + (WebCore::Node::dispatchEvent): + (WebCore::Node::dispatchGenericEvent): + (WebCore::Node::dispatchSubtreeModifiedEvent): + (WebCore::Node::dispatchWindowEvent): + (WebCore::Node::dispatchUIEvent): + (WebCore::Node::dispatchKeyEvent): + (WebCore::Node::dispatchMouseEvent): + (WebCore::Node::dispatchSimulatedMouseEvent): + (WebCore::Node::dispatchSimulatedClick): + (WebCore::Node::dispatchWheelEvent): + (WebCore::Node::dispatchWebKitAnimationEvent): + (WebCore::Node::dispatchWebKitTransitionEvent): + (WebCore::Node::dispatchFocusEvent): + (WebCore::Node::dispatchBlurEvent): + (WebCore::Node::dispatchEventForType): + (WebCore::Node::dispatchProgressEvent): + (WebCore::Node::dispatchStorageEvent): + (WebCore::Node::removeInlineEventListenerForType): + (WebCore::Node::setInlineEventListenerForType): + (WebCore::Node::setInlineEventListenerForTypeAndAttribute): + (WebCore::Node::inlineEventListenerForType): + (WebCore::Node::disabled): + (WebCore::Node::defaultEventHandler): + (WebCore::Node::onabort): + (WebCore::Node::setOnabort): + (WebCore::Node::onblur): + (WebCore::Node::setOnblur): + (WebCore::Node::onchange): + (WebCore::Node::setOnchange): + (WebCore::Node::onclick): + (WebCore::Node::setOnclick): + (WebCore::Node::oncontextmenu): + (WebCore::Node::setOncontextmenu): + (WebCore::Node::ondblclick): + (WebCore::Node::setOndblclick): + (WebCore::Node::onerror): + (WebCore::Node::setOnerror): + (WebCore::Node::onfocus): + (WebCore::Node::setOnfocus): + (WebCore::Node::oninput): + (WebCore::Node::setOninput): + (WebCore::Node::onkeydown): + (WebCore::Node::setOnkeydown): + (WebCore::Node::onkeypress): + (WebCore::Node::setOnkeypress): + (WebCore::Node::onkeyup): + (WebCore::Node::setOnkeyup): + (WebCore::Node::onload): + (WebCore::Node::setOnload): + (WebCore::Node::onmousedown): + (WebCore::Node::setOnmousedown): + (WebCore::Node::onmousemove): + (WebCore::Node::setOnmousemove): + (WebCore::Node::onmouseout): + (WebCore::Node::setOnmouseout): + (WebCore::Node::onmouseover): + (WebCore::Node::setOnmouseover): + (WebCore::Node::onmouseup): + (WebCore::Node::setOnmouseup): + (WebCore::Node::onmousewheel): + (WebCore::Node::setOnmousewheel): + (WebCore::Node::onbeforecut): + (WebCore::Node::setOnbeforecut): + (WebCore::Node::oncut): + (WebCore::Node::setOncut): + (WebCore::Node::onbeforecopy): + (WebCore::Node::setOnbeforecopy): + (WebCore::Node::oncopy): + (WebCore::Node::setOncopy): + (WebCore::Node::onbeforepaste): + (WebCore::Node::setOnbeforepaste): + (WebCore::Node::onpaste): + (WebCore::Node::setOnpaste): + (WebCore::Node::ondragenter): + (WebCore::Node::setOndragenter): + (WebCore::Node::ondragover): + (WebCore::Node::setOndragover): + (WebCore::Node::ondragleave): + (WebCore::Node::setOndragleave): + (WebCore::Node::ondrop): + (WebCore::Node::setOndrop): + (WebCore::Node::ondragstart): + (WebCore::Node::setOndragstart): + (WebCore::Node::ondrag): + (WebCore::Node::setOndrag): + (WebCore::Node::ondragend): + (WebCore::Node::setOndragend): + (WebCore::Node::onreset): + (WebCore::Node::setOnreset): + (WebCore::Node::onresize): + (WebCore::Node::setOnresize): + (WebCore::Node::onscroll): + (WebCore::Node::setOnscroll): + (WebCore::Node::onsearch): + (WebCore::Node::setOnsearch): + (WebCore::Node::onselect): + (WebCore::Node::setOnselect): + (WebCore::Node::onselectstart): + (WebCore::Node::setOnselectstart): + (WebCore::Node::onsubmit): + (WebCore::Node::setOnsubmit): + (WebCore::Node::onunload): + (WebCore::Node::setOnunload): + * dom/EventTargetNode.h: + (WebCore::toEventTargetNode): + (WebCore::EventTargetNodeCast): + * dom/EventTargetNode.idl: Removed. + * dom/MouseEvent.cpp: + (WebCore::MouseEvent::MouseEvent): + (WebCore::MouseEvent::initMouseEvent): + (WebCore::MouseEvent::toElement): + (WebCore::MouseEvent::fromElement): + * dom/MouseEvent.h: + (WebCore::MouseEvent::create): + (WebCore::MouseEvent::relatedTarget): + * dom/Node.cpp: + (WebCore::Node::~Node): + * dom/Node.h: + (WebCore::Node::isEventTargetNode): + (WebCore::Node::toNode): + (WebCore::Node::removeAllEventListeners): + (WebCore::Node::refEventTarget): + (WebCore::Node::derefEventTarget): + * dom/Node.idl: + * page/EventHandler.h: + * page/FrameView.h: + * xml/XPathResult.h: + (WebCore::XPathResult::create): + +2009-02-04 David Hyatt <hyatt@apple.com> + + Convert RenderLayer from having a RenderBox* m_renderer to having a RenderBoxModelObject*. The + container-relative repaint methods all had to be changed as a result to use RenderBoxModelObject* also. + + All of RenderLayer.cpp now uses what will be the new style for dealing with an object that can be a block + or an inline flow. x()/y()/width()/height() can't be queried on an inline flow, nor can many other + properties (like scrollWidth() / scrollHeight()), so the code has to be tightened up to convert to RenderBox + under the right conditions. + + There was a bogus subtraction of renderer()->y() in localBounding box for RenderInlines. Since y was always + 0, this subtraction wasn't necessary. It has been removed. + + Reviewed by Adam Roben + + * page/animation/AnimationBase.cpp: + * rendering/RenderBR.h: + (WebCore::RenderBR::selectionRectForRepaint): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::selectionGapRectsForRepaint): + (WebCore::RenderBlock::rectWithOutlineForRepaint): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::selectionRectForRepaint): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::outlineBoundsForRepaint): + (WebCore::RenderBox::localToContainerQuad): + (WebCore::RenderBox::clippedOverflowRectForRepaint): + (WebCore::RenderBox::computeRectForRepaint): + * rendering/RenderBox.h: + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::relativePositionOffsetX): + (WebCore::RenderBoxModelObject::relativePositionOffsetY): + * rendering/RenderBoxModelObject.h: + (WebCore::RenderBoxModelObject::relativePositionOffset): + * rendering/RenderForeignObject.cpp: + (WebCore::RenderForeignObject::computeRectForRepaint): + * rendering/RenderForeignObject.h: + * rendering/RenderInline.cpp: + (WebCore::RenderInline::clippedOverflowRectForRepaint): + (WebCore::RenderInline::rectWithOutlineForRepaint): + * rendering/RenderInline.h: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::RenderLayer): + (WebCore::RenderLayer::updateLayerPositions): + (WebCore::RenderLayer::updateTransform): + (WebCore::RenderLayer::setHasVisibleContent): + (WebCore::RenderLayer::updateLayerPosition): + (WebCore::RenderLayer::scrollToOffset): + (WebCore::RenderLayer::scrollRectToVisible): + (WebCore::resizerCornerRect): + (WebCore::RenderLayer::scrollbarCornerPresent): + (WebCore::RenderLayer::invalidateScrollbarRect): + (WebCore::RenderLayer::positionOverflowControls): + (WebCore::RenderLayer::computeScrollDimensions): + (WebCore::RenderLayer::updateScrollInfoAfterLayout): + (WebCore::RenderLayer::paintScrollCorner): + (WebCore::RenderLayer::paintResizer): + (WebCore::RenderLayer::isPointInResizeControl): + (WebCore::RenderLayer::hitTestOverflowControls): + (WebCore::RenderLayer::paintLayer): + (WebCore::RenderLayer::hitTestLayer): + (WebCore::RenderLayer::localBoundingBox): + * rendering/RenderLayer.h: + (WebCore::RenderLayer::renderer): + (WebCore::RenderLayer::renderBox): + (WebCore::RenderLayer::renderBoxX): + (WebCore::RenderLayer::renderBoxY): + * rendering/RenderListMarker.cpp: + (WebCore::RenderListMarker::selectionRectForRepaint): + * rendering/RenderListMarker.h: + * rendering/RenderMarquee.cpp: + (WebCore::RenderMarquee::computePosition): + (WebCore::RenderMarquee::timerFired): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::containerForRepaint): + (WebCore::RenderObject::repaintUsingContainer): + (WebCore::RenderObject::repaint): + (WebCore::RenderObject::repaintRectangle): + (WebCore::RenderObject::repaintAfterLayoutIfNeeded): + (WebCore::RenderObject::rectWithOutlineForRepaint): + (WebCore::RenderObject::clippedOverflowRectForRepaint): + (WebCore::RenderObject::computeRectForRepaint): + (WebCore::RenderObject::localToContainerQuad): + * rendering/RenderObject.h: + (WebCore::RenderObject::selectionRectForRepaint): + (WebCore::RenderObject::outlineBoundsForRepaint): + * rendering/RenderPath.cpp: + (WebCore::RenderPath::clippedOverflowRectForRepaint): + (WebCore::RenderPath::outlineBoundsForRepaint): + * rendering/RenderPath.h: + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::selectionRectForRepaint): + (WebCore::RenderReplaced::clippedOverflowRectForRepaint): + * rendering/RenderReplaced.h: + * rendering/RenderSVGContainer.cpp: + (WebCore::RenderSVGContainer::clippedOverflowRectForRepaint): + (WebCore::RenderSVGContainer::outlineBoundsForRepaint): + * rendering/RenderSVGContainer.h: + * rendering/RenderSVGHiddenContainer.cpp: + (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint): + * rendering/RenderSVGHiddenContainer.h: + * rendering/RenderSVGImage.cpp: + (WebCore::RenderSVGImage::clippedOverflowRectForRepaint): + * rendering/RenderSVGImage.h: + * rendering/RenderSVGInlineText.cpp: + (WebCore::RenderSVGInlineText::selectionRectForRepaint): + (WebCore::RenderSVGInlineText::computeRepaintRectForRange): + * rendering/RenderSVGInlineText.h: + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint): + * rendering/RenderSVGRoot.h: + * rendering/RenderSVGText.cpp: + (WebCore::RenderSVGText::clippedOverflowRectForRepaint): + * rendering/RenderSVGText.h: + * rendering/RenderSelectionInfo.h: + (WebCore::RenderSelectionInfoBase::repaintContainer): + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::clippedOverflowRectForRepaint): + (WebCore::RenderTableCell::computeRectForRepaint): + (WebCore::RenderTableCell::localToContainerQuad): + * rendering/RenderTableCell.h: + * rendering/RenderTableCol.cpp: + (WebCore::RenderTableCol::clippedOverflowRectForRepaint): + * rendering/RenderTableCol.h: + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::clippedOverflowRectForRepaint): + * rendering/RenderTableRow.h: + * rendering/RenderText.cpp: + (WebCore::RenderText::clippedOverflowRectForRepaint): + (WebCore::RenderText::selectionRectForRepaint): + * rendering/RenderText.h: + * rendering/RenderTreeAsText.cpp: + (WebCore::write): + * rendering/RenderView.cpp: + (WebCore::RenderView::localToContainerQuad): + (WebCore::RenderView::computeRectForRepaint): + * rendering/RenderView.h: + +2009-02-05 Alexey Proskuryakov <ap@webkit.org> + + Build fix. + + * page/animation/KeyframeAnimation.h: A function prototype had two "fromStyle" arguments. + +2009-02-05 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Alexey Proskuryakov. + Landed by Simon Hausmann. + + https://bugs.webkit.org/show_bug.cgi?id=23733 + + Use a 2 arguments constructor for KURL to avoid ASSERT failure. + + * page/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::createFromDatabaseIdentifier): + +2009-02-04 Feng Qian <feng@chromium.org> + + Reviewed by Darin Adler. + + Add Android-specific files to WebCore/editing directory. + https://bugs.webkit.org/show_bug.cgi?id=23294 + + * editing/android: Added. + * editing/android/EditorAndroid.cpp: Added. + (WebCore::Editor::newGeneralClipboard): + +2009-02-04 Dean Jackson <dino@apple.com> + + Reviewed by Darin Adler. + + Remove -webkit-animation-play-state + The AnimationController still has the code to execute the property, but + it is no longer parsed or recorded. + https://bugs.webkit.org/show_bug.cgi?id=22907 + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::): + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + (WebCore::CSSParser::parseAnimationProperty): + * css/CSSParser.h: + * css/CSSPropertyNames.in: + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * css/CSSStyleSelector.h: + * platform/animation/Animation.h: + * rendering/style/RenderStyleConstants.h: + +2009-02-04 Tor Arne Vestbø <tavestbo@trolltech.com> + + Reviewed by Darin Adler. + + Make sure we don't load on removing the media element from the document + https://bugs.webkit.org/show_bug.cgi?id=22105 + + Test: media/remove-from-document-no-load.html + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::removedFromDocument): + +2009-02-04 David Hyatt <hyatt@apple.com> + + Add a new RenderBoxModelObject class that will eventually act as the direct base class for RenderInlines. For + now just adding the class and putting it in between RenderObject and RenderBox in the hierarchy. RenderInline remains + derived from RenderBox for now. + + Reviewed by Sam Weinig + + * WebCore.xcodeproj/project.pbxproj: + * rendering/RenderBox.cpp: + (WebCore::RenderBox::RenderBox): + (WebCore::RenderBox::destroy): + (WebCore::RenderBox::styleWillChange): + (WebCore::RenderBox::styleDidChange): + (WebCore::RenderBox::computeRectForRepaint): + * rendering/RenderBox.h: + * rendering/RenderBoxModelObject.cpp: Added. + (WebCore::RenderBoxModelObject::RenderBoxModelObject): + (WebCore::RenderBoxModelObject::~RenderBoxModelObject): + * rendering/RenderBoxModelObject.h: Added. + * rendering/RenderObject.h: + +2009-02-04 Chris Marrin <cmarrin@apple.com> + + Reviewed by Dave Hyatt + + Added accelerated animation support to AnimationController and friends. The primary + changes are: + * accelerated animations get their start time from the compositing engine, so we + wait for a callback (notifyAnimationStarted()) in order to get the start time. + * if software and accelerated animations start in the same cycle, they all need + to use the same start time, which is that of the accelerated animations. + + Added AnimationControllerPrivate to preserve the encapsulation under + AnimationController. + + * GNUmakefile.am: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * page/animation/AnimationBase.cpp: + (WebCore::PropertyWrapperBase::animationIsAccelerated): + (WebCore::PropertyWrapperAcceleratedOpacity::PropertyWrapperAcceleratedOpacity): + (WebCore::PropertyWrapperAcceleratedOpacity::animationIsAccelerated): + (WebCore::PropertyWrapperAcceleratedOpacity::blend): + (WebCore::PropertyWrapperAcceleratedTransform::PropertyWrapperAcceleratedTransform): + (WebCore::PropertyWrapperAcceleratedTransform::animationIsAccelerated): + (WebCore::PropertyWrapperAcceleratedTransform::blend): + (WebCore::ensurePropertyMap): + (WebCore::AnimationBase::AnimationBase): + (WebCore::AnimationBase::~AnimationBase): + (WebCore::AnimationBase::blendProperties): + (WebCore::AnimationBase::animationOfPropertyIsAccelerated): + (WebCore::AnimationBase::updateStateMachine): + (WebCore::AnimationBase::fireAnimationEventsIfNeeded): + (WebCore::AnimationBase::willNeedService): + (WebCore::AnimationBase::getTimeToNextEvent): + (WebCore::AnimationBase::goIntoEndingOrLoopingState): + (WebCore::AnimationBase::beginAnimationUpdateTime): + * page/animation/AnimationBase.h: + (WebCore::AnimationBase::onAnimationStartResponse): + (WebCore::AnimationBase::getAnimatedStyle): + (WebCore::AnimationBase::isAnimatingProperty): + (WebCore::AnimationBase::endAnimation): + (WebCore::AnimationBase::isFallbackAnimating): + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): + (WebCore::AnimationControllerPrivate::accessCompositeAnimation): + (WebCore::AnimationControllerPrivate::addNodeChangeToDispatch): + (WebCore::AnimationControllerPrivate::animationTimerFired): + (WebCore::AnimationControllerPrivate::pauseAnimationAtTime): + (WebCore::AnimationControllerPrivate::pauseTransitionAtTime): + (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime): + (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer): + (WebCore::AnimationControllerPrivate::styleAvailable): + (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList): + (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList): + (WebCore::AnimationControllerPrivate::startTimeResponse): + (WebCore::AnimationController::getAnimatedStyleForRenderer): + (WebCore::AnimationController::notifyAnimationStarted): + (WebCore::AnimationController::endAnimationUpdate): + * page/animation/AnimationController.h: + * page/animation/AnimationControllerPrivate.h: Added. + (WebCore::AnimationControllerPrivate::hasAnimations): + (WebCore::AnimationControllerPrivate::setBeginAnimationUpdateTime): + (WebCore::AnimationControllerPrivate::endAnimationUpdate): + (WebCore::AnimationControllerPrivate::receivedStartTimeResponse): + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimationPrivate::CompositeAnimationPrivate): + (WebCore::CompositeAnimationPrivate::animationControllerPriv): + (WebCore::CompositeAnimationPrivate::updateTransitions): + (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations): + (WebCore::CompositeAnimationPrivate::animate): + (WebCore::CompositeAnimationPrivate::getAnimatedStyle): + (WebCore::CompositeAnimationPrivate::addToStartTimeResponseWaitList): + (WebCore::CompositeAnimationPrivate::removeFromStartTimeResponseWaitList): + (WebCore::CompositeAnimation::CompositeAnimation): + (WebCore::CompositeAnimation::animationControllerPriv): + (WebCore::CompositeAnimation::getAnimatedStyle): + (WebCore::CompositeAnimation::addToStartTimeResponseWaitList): + (WebCore::CompositeAnimation::removeFromStartTimeResponseWaitList): + * page/animation/CompositeAnimation.h: + (WebCore::CompositeAnimation::create): + * page/animation/ImplicitAnimation.cpp: + (WebCore::ImplicitAnimation::shouldSendEventForListener): + (WebCore::ImplicitAnimation::animate): + (WebCore::ImplicitAnimation::getAnimatedStyle): + (WebCore::ImplicitAnimation::startAnimation): + (WebCore::ImplicitAnimation::endAnimation): + (WebCore::ImplicitAnimation::sendTransitionEvent): + (WebCore::ImplicitAnimation::willNeedService): + * page/animation/ImplicitAnimation.h: + * page/animation/KeyframeAnimation.cpp: + (WebCore::KeyframeAnimation::getKeyframeAnimationInterval): + (WebCore::KeyframeAnimation::animate): + (WebCore::KeyframeAnimation::getAnimatedStyle): + (WebCore::KeyframeAnimation::startAnimation): + (WebCore::KeyframeAnimation::endAnimation): + (WebCore::KeyframeAnimation::shouldSendEventForListener): + (WebCore::KeyframeAnimation::sendAnimationEvent): + (WebCore::KeyframeAnimation::willNeedService): + * page/animation/KeyframeAnimation.h: + * platform/graphics/GraphicsLayerClient.h: + * platform/graphics/mac/GraphicsLayerCA.mm: + (-[WebAnimationDelegate animationDidStart:]): + * rendering/RenderLayerBacking.h: + +2009-02-04 Dimitri Glazkov <dglazkov@chromium.org> + + Not reviewed, build fix. + + Remove duplicate definition of msSans in FontCache::alternateFamilyName. + + * platform/graphics/FontCache.cpp: + (WebCore::alternateFamilyName): + +2009-02-04 Eric Seidel <eric@webkit.org> + + Reviewed by George Staikos. + + Reverse the meaning of the if check so that Android + (dpad devices) do not scroll on focus and normal platforms do + http://trac.webkit.org/changeset/40647 + + This was caught by George Staikos, and I wrote the patch. + + * dom/Element.cpp: + (WebCore::Element::updateFocusAppearance): + +2009-02-04 David Hyatt <hyatt@apple.com> + + Eliminate RenderContainer. + + Reviewed by Sam and Anders + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::RenderBlock): + (WebCore::RenderBlock::destroy): + (WebCore::RenderBlock::styleWillChange): + (WebCore::RenderBlock::styleDidChange): + (WebCore::RenderBlock::addChild): + (WebCore::RenderBlock::dirtyLineBoxes): + (WebCore::RenderBlock::createInlineBox): + (WebCore::RenderBlock::removeChild): + (WebCore::RenderBlock::setSelectionState): + (WebCore::RenderBlock::avoidsFloats): + (WebCore::RenderBlock::positionForCoordinates): + (WebCore::RenderBlock::calcInlinePrefWidths): + (WebCore::RenderBlock::baselinePosition): + (WebCore::RenderBlock::getBaselineOfFirstLineBox): + (WebCore::RenderBlock::getBaselineOfLastLineBox): + (WebCore::RenderBlock::rectWithOutlineForRepaint): + (WebCore::RenderBlock::hoverAncestor): + (WebCore::RenderBlock::updateDragState): + (WebCore::RenderBlock::localCaretRect): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::virtualChildren): + (WebCore::RenderBlock::children): + * rendering/RenderContainer.cpp: Removed. + * rendering/RenderContainer.h: Removed. + * rendering/RenderFrameSet.cpp: + (WebCore::RenderFrameSet::RenderFrameSet): + (WebCore::RenderFrameSet::nodeAtPoint): + (WebCore::RenderFrameSet::layout): + * rendering/RenderFrameSet.h: + (WebCore::RenderFrameSet::virtualChildren): + (WebCore::RenderFrameSet::children): + * rendering/RenderInline.cpp: + (WebCore::RenderInline::RenderInline): + (WebCore::RenderInline::destroy): + (WebCore::RenderInline::styleDidChange): + (WebCore::nextContinuation): + (WebCore::RenderInline::continuationBefore): + (WebCore::RenderInline::addChildIgnoringContinuation): + (WebCore::RenderInline::splitInlines): + (WebCore::RenderInline::splitFlow): + (WebCore::RenderInline::addChildToContinuation): + (WebCore::RenderInline::offsetLeft): + (WebCore::RenderInline::offsetTop): + (WebCore::RenderInline::positionForCoordinates): + (WebCore::RenderInline::clippedOverflowRectForRepaint): + (WebCore::RenderInline::rectWithOutlineForRepaint): + (WebCore::RenderInline::updateDragState): + (WebCore::RenderInline::childBecameNonInline): + * rendering/RenderInline.h: + (WebCore::RenderInline::virtualChildren): + (WebCore::RenderInline::children): + (WebCore::RenderInline::continuation): + (WebCore::RenderInline::setContinuation): + * rendering/RenderLineBoxList.h: + * rendering/RenderObject.h: + * rendering/RenderObjectChildList.h: + * rendering/RenderSVGInlineText.cpp: + (WebCore::RenderSVGInlineText::computeRepaintRectForRange): + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::RenderSVGRoot): + (WebCore::RenderSVGRoot::applyContentTransforms): + (WebCore::RenderSVGRoot::paint): + (WebCore::RenderSVGRoot::absoluteTransform): + (WebCore::RenderSVGRoot::nodeAtPoint): + (WebCore::RenderSVGRoot::position): + * rendering/RenderSVGRoot.h: + (WebCore::RenderSVGRoot::virtualChildren): + (WebCore::RenderSVGRoot::children): + * rendering/RenderSVGText.cpp: + (WebCore::RenderSVGText::absoluteRects): + (WebCore::RenderSVGText::absoluteQuads): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::addChild): + (WebCore::RenderTable::removeChild): + * rendering/RenderTableCol.cpp: + (WebCore::RenderTableCol::RenderTableCol): + * rendering/RenderTableCol.h: + (WebCore::RenderTableCol::virtualChildren): + (WebCore::RenderTableCol::children): + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::RenderTableRow): + (WebCore::RenderTableRow::destroy): + (WebCore::RenderTableRow::styleWillChange): + (WebCore::RenderTableRow::addChild): + * rendering/RenderTableRow.h: + (WebCore::RenderTableRow::virtualChildren): + (WebCore::RenderTableRow::children): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::RenderTableSection): + (WebCore::RenderTableSection::destroy): + (WebCore::RenderTableSection::addChild): + (WebCore::RenderTableSection::removeChild): + (WebCore::RenderTableSection::lowestPosition): + (WebCore::RenderTableSection::rightmostPosition): + (WebCore::RenderTableSection::leftmostPosition): + * rendering/RenderTableSection.h: + (WebCore::RenderTableSection::virtualChildren): + (WebCore::RenderTableSection::children): + +2009-02-04 Mads Adger <mad@chromium.org> + + Reviewed by Antti Koivisto. + + Bug 23180 Reading freed memory at DocumentLoader::checkForPendingPreloads + https://bugs.webkit.org/show_bug.cgi?id=23180 + + Added a protector for the document potentially holding on the last reference to the loader we are interating with. + + * loader/loader.cpp: + (WebCore::Loader::Host::didFinishLoading): + (WebCore::Loader::Host::didFail): + +2009-02-04 Cary Clark <caryclark@google.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=23163 + Don't scroll to show current focus on devices that use + directional pads for navigation. + + * dom/Element.cpp: + (WebCore::Element::updateFocusAppearance): + +2009-02-04 Cary Clark <caryclark@google.com> + + Reviewed by Darin Adler. + + Change RenderBlock::columnGap() access permissions from protected to + public. ANDROID creates an array of focus rectangles for navigation + with a trackball or directional pad, and needs access to the column gap + to implement this logic. + + Android has no testing harness @ webkit.org, thus no tests. + + * rendering/RenderBlock.h: + +2009-02-04 Cary Clark <caryclark@google.com> + + Reviewed by Darin Adler and Eric Seidel. + + Fixes: https://bugs.webkit.org/show_bug.cgi?id=22917 + + Add ENABLE_ON_FIRST_TEXTAREA_FOCUS_SELECT_ALL to permit the ANDROID + platform to select all when focusing on a textarea. This matches + the user interface guidelines other applications on the platform. + + * html/HTMLTextAreaElement.cpp: + (WebCore::HTMLTextAreaElement::updateFocusAppearance): + +2009-02-04 Beth Dakin <bdakin@apple.com> + + Reviewed by Dave Hyatt. + + Fix for <rdar://problem/6386112> Some inline-elements are not + becoming proper dashboard-regions + + RenderInline needs its own implementation of addDashboardRegions + because otherwise all of the coordinate calculations are + inaccurate. + + * rendering/RenderInline.cpp: + (WebCore::RenderInline::addDashboardRegions): + * rendering/RenderInline.h: + * rendering/RenderObject.h: + +2009-02-04 David Hyatt <hyatt@apple.com> + + Move addChild/removeChild from RenderContainer to RenderObject. + + Reviewed by Sam Weinig + + * rendering/RenderContainer.cpp: + * rendering/RenderContainer.h: + * rendering/RenderObject.cpp: + (WebCore::updateListMarkerNumbers): + (WebCore::RenderObject::addChild): + (WebCore::RenderObject::removeChild): + * rendering/RenderObject.h: + (WebCore::RenderObject::addChildIgnoringContinuation): + * rendering/RenderSVGContainer.cpp: + * rendering/RenderSVGContainer.h: + +2009-02-04 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig + + <rdar://problem/3541409> - Further HistoryItem / BF cache cleanup + + * history/CachedFrame.cpp: + (WebCore::CachedFrame::CachedFrame): + (WebCore::CachedFrame::restore): + * history/CachedFrame.h: + + * history/CachedPage.cpp: + (WebCore::CachedPage::restore): + * history/CachedPage.h: + (WebCore::CachedPage::mainFrameView): + + * history/HistoryItem.cpp: + (WebCore::HistoryItem::HistoryItem): + (WebCore::HistoryItem::~HistoryItem): + * history/HistoryItem.h: + (WebCore::HistoryItem::isInPageCache): + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::open): + +2009-02-04 Peter Kasting <pkasting@google.com> + + Reviewed by David Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=23743 + Fix memory corruption with open-source GIF decoders. + + * platform/image-decoders/ImageDecoder.h: + (WebCore::RGBA32Buffer::clear): + * platform/image-decoders/gif/GIFImageDecoder.cpp: + (WebCore::GIFImageDecoder::clearFrameBufferCache): + * platform/image-decoders/skia/GIFImageDecoder.cpp: + (WebCore::GIFImageDecoder::clearFrameBufferCache): + (WebCore::GIFImageDecoder::initFrameBuffer): + * platform/image-decoders/skia/ImageDecoder.h: + (WebCore::RGBA32Buffer::clear): + +2009-02-04 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=23360 + + When using accelerated compositing, make repaints use the correct + repaint container. Hook up the RenderLayerCompositor in RenderView, + and add to RenderView a method that repaints both the view + contents, and any intersecting composited layers. + + Make enclosingCompositingLayer() a method on RenderObject, and update + the compositor to use that. Add a helper method on the compositor to + get the non-self compositing ancestor: ancestorCompositingLayer(). + + Call repaintRectangleInViewAndCompositedLayers() in places that don't do + container-relative repainting: selection redraw on focus change, caret, + and widget updates. + + Fix a bug in RenderLayerCompositor where the m_compositingLayersNeedUpdate flag + would get cleared for partial updates, thus preventing subsequent full updates. + + Fix a bug in RenderLayer::ensureBacking() that made new backing every time. + + * WebCore.xcodeproj/project.pbxproj: + * editing/SelectionController.cpp: + (WebCore::SelectionController::recomputeCaretRect): + (WebCore::SelectionController::invalidateCaretRect): + (WebCore::SelectionController::focusedOrActiveStateChanged): + * rendering/RenderInline.cpp: + (WebCore::RenderInline::clippedOverflowRectForRepaint): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::RenderLayer): + (WebCore::RenderLayer::compositor): + (WebCore::RenderLayer::updateLayerPositions): + (WebCore::RenderLayer::removeChild): + (WebCore::RenderLayer::ensureBacking): + * rendering/RenderLayer.h: + (WebCore::RenderLayer::backing): + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): + (WebCore::RenderLayerBacking::paintIntoLayer): + (WebCore::RenderLayerBacking::notifyTransitionStarted): + (WebCore::RenderLayerBacking::notifyAnimationStarted): + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::updateCompositingLayers): + (WebCore::RenderLayerCompositor::updateLayerCompositingState): + (WebCore::RenderLayerCompositor::layerWillBeRemoved): + (WebCore::RenderLayerCompositor::ancestorCompositingLayer): + (WebCore::RenderLayerCompositor::clippedByAncestor): + * rendering/RenderLayerCompositor.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::enclosingCompositingLayer): + (WebCore::RenderObject::containingBlockWidth): + (WebCore::RenderObject::containingBlockHeight): + (WebCore::RenderObject::containerForRepaint): + (WebCore::RenderObject::repaintUsingContainer): + * rendering/RenderObject.h: + * rendering/RenderView.cpp: + (WebCore::RenderView::shouldRepaint): + (WebCore::RenderView::repaintViewRectangle): + (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers): + (WebCore::RenderView::setMaximalOutlineSize): + (WebCore::RenderView::usesCompositing): + (WebCore::RenderView::compositor): + (WebCore::RenderView::didMoveOnscreen): + (WebCore::RenderView::willMoveOffscreen): + * rendering/RenderView.h: + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::updateWidgetPosition): + +2009-02-04 Sam Weinig <sam@webkit.org> + + Reviewed by David Hyatt. + + Add toRenderImage methods for casting RenderObjects to RenderImages. The methods will assert if the object + is not a RenderImage. Also add a toRenderImage method that takes a RenderImage but returns void and that + is unimplemented. This method will catch anyone trying to do a cast when the object is already a RenderImage. + + * html/HTMLAnchorElement.cpp: + (WebCore::HTMLAnchorElement::defaultEventHandler): + * html/HTMLEmbedElement.cpp: + (WebCore::HTMLEmbedElement::attach): + * html/HTMLImageElement.cpp: + (WebCore::HTMLImageElement::parseMappedAttribute): + (WebCore::HTMLImageElement::attach): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::parseMappedAttribute): + (WebCore::HTMLInputElement::attach): + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::attach): + * html/HTMLVideoElement.cpp: + (WebCore::HTMLVideoElement::attach): + * loader/ImageLoader.cpp: + (WebCore::ImageLoader::setImage): + (WebCore::ImageLoader::updateFromElement): + (WebCore::ImageLoader::notifyFinished): + * page/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): + (WebCore::AccessibilityRenderObject::addChildren): + * page/DragController.cpp: + (WebCore::getCachedImage): + (WebCore::getImage): + * platform/mac/PasteboardMac.mm: + (WebCore::Pasteboard::writeImage): + * rendering/RenderImage.h: + (WebCore::toRenderImage): + * wml/WMLImageElement.cpp: + (WebCore::WMLImageElement::parseMappedAttribute): + (WebCore::WMLImageElement::attach): + +2009-02-04 Jungshik Shin <jshin@chromium.org> + + Reviewed by Eric Seidel and Dave Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=20531 + + Make alternateFamilyName customized for Windows and Chromium. + + * platform/graphics/FontCache.cpp: + (WebCore::alternateFamilyName): + +2009-02-04 Jungshik Shin <jshin@chromium.org> + + Reviewed by Eric Seidel. + + This comes from Chromium patch (http://codereview.chromium.org/17624). + + Add m_disableFontFallback to UniscriberHelper class and set it + to true when filling up glyph pages for non-BMP code points. + When it's set true, UniscriberHelper does not do its own font + fallback. Neither does it do glyph placement. Font fallback + will be taken care of in the simple script font path and glyph + placement is not necessary for simple scripts. + + Layout test is missing at the moment due to the lack of freely + distributable font covering a non-BMP code page. A test page + is available at http://i18nl10n.com/webkit/nonbmp2.html + + See also https://bugs.webkit.org/show_bug.cgi?id=23602 + + * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: + (WebCore::fillNonBMPGlyphs): + * platform/graphics/chromium/UniscribeHelper.cpp: + (WebCore::UniscribeHelper::UniscribeHelper): + (WebCore::UniscribeHelper::shape): + (WebCore::UniscribeHelper::fillShapes): + * platform/graphics/chromium/UniscribeHelper.h: + (WebCore::UniscribeHelper::setDisableFontFallback): + +2009-02-04 Sam Weinig <sam@webkit.org> + + Reviewed by David Hyatt. + + Remove some unnecessary #includes of RenderStyle.h + + * css/CSSPrimitiveValueMappings.h: + * css/SVGCSSComputedStyleDeclaration.cpp: + * dom/Node.h: + * rendering/PointerEventsHitRules.h: + * rendering/RenderImageGeneratedContent.h: + * rendering/RenderMarquee.h: + * rendering/RenderScrollbar.h: + +2009-02-04 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Sam Weinig. - Merge r40629. + https://bugs.webkit.org/show_bug.cgi?id=23657 + Clean up WebCore/storage IDLs. - 2009-02-04 David Hyatt <hyatt@apple.com> + * storage/SQLError.idl: Changed to match spec. + * storage/SQLResultSet.idl: Changed to match spec. + * storage/SQLStatementCallback.idl: Removed. + * storage/SQLStatementErrorCallback.idl: Removed. + * storage/SQLTransactionCallback.idl: Removed. + * storage/SQLTransactionErrorCallback.idl: Removed. + +2009-02-04 David Hyatt <hyatt@apple.com> Fix for https://bugs.webkit.org/show_bug.cgi?id=23734, blank content on blogs.msdn.com. @@ -220,11 +17145,204 @@ (WebCore::RenderTableSection::calcRowHeight): (WebCore::RenderTableSection::layoutRows): -2009-02-06 Mark Rowe <mrowe@apple.com> +2009-02-04 Sam Weinig <sam@webkit.org> + + Reviewed by David Hyatt. + + Rename RenderStyle::Diff to StyleDifference and move it to + RenderStyleConstants.h. + + * rendering/RenderBR.cpp: + (WebCore::RenderBR::styleDidChange): + * rendering/RenderBR.h: + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::styleWillChange): + (WebCore::RenderBlock::styleDidChange): + * rendering/RenderBlock.h: + * rendering/RenderBox.cpp: + (WebCore::RenderBox::styleWillChange): + (WebCore::RenderBox::styleDidChange): + * rendering/RenderBox.h: + * rendering/RenderButton.cpp: + (WebCore::RenderButton::styleWillChange): + (WebCore::RenderButton::styleDidChange): + * rendering/RenderButton.h: + * rendering/RenderFieldset.cpp: + (WebCore::RenderFieldset::styleDidChange): + * rendering/RenderFieldset.h: + * rendering/RenderFileUploadControl.cpp: + (WebCore::RenderFileUploadControl::styleDidChange): + * rendering/RenderFileUploadControl.h: + * rendering/RenderInline.cpp: + (WebCore::RenderInline::styleDidChange): + * rendering/RenderInline.h: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::styleChanged): + * rendering/RenderLayer.h: + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::updateLayerCompositingState): + (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): + * rendering/RenderLayerCompositor.h: + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::styleDidChange): + * rendering/RenderListBox.h: + * rendering/RenderListItem.cpp: + (WebCore::RenderListItem::styleDidChange): + * rendering/RenderListItem.h: + * rendering/RenderListMarker.cpp: + (WebCore::RenderListMarker::styleWillChange): + (WebCore::RenderListMarker::styleDidChange): + * rendering/RenderListMarker.h: + * rendering/RenderMenuList.cpp: + (WebCore::RenderMenuList::styleDidChange): + * rendering/RenderMenuList.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::setStyle): + (WebCore::RenderObject::styleWillChange): + (WebCore::RenderObject::styleDidChange): + * rendering/RenderObject.h: + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::styleDidChange): + * rendering/RenderReplaced.h: + * rendering/RenderSVGGradientStop.cpp: + (WebCore::RenderSVGGradientStop::styleDidChange): + * rendering/RenderSVGGradientStop.h: + * rendering/RenderSVGInlineText.cpp: + (WebCore::RenderSVGInlineText::styleDidChange): + * rendering/RenderSVGInlineText.h: + * rendering/RenderScrollbarPart.cpp: + (WebCore::RenderScrollbarPart::styleWillChange): + (WebCore::RenderScrollbarPart::styleDidChange): + * rendering/RenderScrollbarPart.h: + * rendering/RenderSlider.cpp: + (WebCore::RenderSlider::styleDidChange): + * rendering/RenderSlider.h: + * rendering/RenderTable.cpp: + (WebCore::RenderTable::styleDidChange): + * rendering/RenderTable.h: + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::styleWillChange): + (WebCore::RenderTableCell::styleDidChange): + * rendering/RenderTableCell.h: + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::styleWillChange): + * rendering/RenderTableRow.h: + * rendering/RenderText.cpp: + (WebCore::RenderText::styleDidChange): + * rendering/RenderText.h: + (WebCore::RenderText::styleWillChange): + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::styleDidChange): + * rendering/RenderTextControl.h: + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::styleDidChange): + * rendering/RenderTextControlSingleLine.h: + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::styleDidChange): + * rendering/RenderWidget.h: + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::diff): + (WebCore::RenderStyle::setClip): + * rendering/style/RenderStyle.h: + * rendering/style/RenderStyleConstants.h: + (WebCore::): + +2009-02-03 Sam Weinig <sam@webkit.org> - Merge r40623. + Reviewed by David Hyatt. - 2009-02-04 David Kilzer <ddkilzer@apple.com> + Move PseudoId enum out of RenderStyle and into RenderStyleConstants.h + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::matchRulesForList): + (WebCore::CSSStyleSelector::initForStyleResolve): + (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker): + (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): + (WebCore::CSSStyleSelector::styleForElement): + (WebCore::CSSStyleSelector::pseudoStyleForElement): + (WebCore::CSSStyleSelector::checkSelector): + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): + (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass): + (WebCore::CSSStyleSelector::applyProperty): + * css/CSSStyleSelector.h: + * dom/Node.cpp: + (WebCore::Node::diff): + * page/FrameView.cpp: + (WebCore::FrameView::createScrollbar): + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::paint): + * rendering/MediaControlElements.cpp: + (WebCore::MediaTextDisplayElement::MediaTextDisplayElement): + (WebCore::MediaTimeDisplayElement::MediaTimeDisplayElement): + (WebCore::MediaControlInputElement::MediaControlInputElement): + (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): + (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): + (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): + (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): + (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): + * rendering/MediaControlElements.h: + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::styleDidChange): + (WebCore::RenderBlock::updateBeforeAfterContent): + (WebCore::RenderBlock::firstLineBlock): + (WebCore::RenderBlock::updateFirstLetter): + * rendering/RenderBlock.h: + * rendering/RenderBox.cpp: + (WebCore::RenderBox::isAfterContent): + * rendering/RenderButton.cpp: + (WebCore::RenderButton::updateBeforeAfterContent): + * rendering/RenderButton.h: + * rendering/RenderFileUploadControl.cpp: + (WebCore::RenderFileUploadControl::createButtonStyle): + * rendering/RenderInline.cpp: + (WebCore::RenderInline::styleDidChange): + (WebCore::isAfterContent): + (WebCore::RenderInline::addChildIgnoringContinuation): + (WebCore::RenderInline::splitInlines): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::createScrollbar): + (WebCore::RenderLayer::updateScrollCornerStyle): + (WebCore::RenderLayer::updateResizerStyle): + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::createScrollbar): + * rendering/RenderMedia.cpp: + (WebCore::RenderMedia::createPanel): + (WebCore::RenderMedia::createTimelineContainer): + * rendering/RenderMenuList.cpp: + (WebCore::RenderMenuList::createScrollbar): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::selectionBackgroundColor): + (WebCore::RenderObject::selectionForegroundColor): + (WebCore::RenderObject::firstLineStyleSlowCase): + (WebCore::RenderObject::getCachedPseudoStyle): + (WebCore::RenderObject::getUncachedPseudoStyle): + * rendering/RenderObject.h: + (WebCore::RenderObject::isAnonymousBlock): + * rendering/RenderObjectChildList.cpp: + (WebCore::RenderObjectChildList::destroyLeftoverChildren): + (WebCore::beforeAfterContainer): + (WebCore::RenderObjectChildList::invalidateCounters): + (WebCore::RenderObjectChildList::updateBeforeAfterContent): + * rendering/RenderObjectChildList.h: + * rendering/RenderScrollbar.cpp: + (WebCore::RenderScrollbar::getScrollbarPseudoStyle): + (WebCore::pseudoForScrollbarPart): + * rendering/RenderScrollbar.h: + * rendering/RenderSlider.cpp: + (WebCore::RenderSlider::createThumbStyle): + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::createInnerTextStyle): + (WebCore::RenderTextControlSingleLine::createResultsButtonStyle): + (WebCore::RenderTextControlSingleLine::createCancelButtonStyle): + (WebCore::RenderTextControlSingleLine::createScrollbar): + * rendering/style/RenderStyle.cpp: + (WebCore::pseudoBit): + * rendering/style/RenderStyle.h: + (WebCore::): + * rendering/style/RenderStyleConstants.h: + (WebCore::): + +2009-02-04 David Kilzer <ddkilzer@apple.com> CrashTracer: [REGRESSION] 53 crashes in Safari at com.apple.WebCore: WebCore::LegacyWebArchive::create + 2706 @@ -237,27 +17355,177 @@ Check for the value returned from WebCore::IconDatabase::iconForPageURL(), not WebCore::Image::data(). -2009-02-06 Mark Rowe <mrowe@apple.com> +2009-02-04 David Hyatt <hyatt@apple.com> - Merge r40537. + Rename removeFromObjectLists and move it into RenderBox, since it only applies to boxes. - 2009-02-03 David Kilzer <ddkilzer@apple.com> + Reviewed by Adam Roben - CrashTracer: [REGRESSION] 53 crashes in Safari at com.apple.WebCore: WebCore::LegacyWebArchive::create + 2706 + * rendering/RenderBox.cpp: + (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists): + (WebCore::RenderBox::styleWillChange): + * rendering/RenderBox.h: + * rendering/RenderContainer.cpp: + (WebCore::RenderContainer::removeChild): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::styleWillChange): + * rendering/RenderObject.h: + * rendering/RenderSVGContainer.cpp: + (WebCore::RenderSVGContainer::removeChild): - <rdar://problem/6509514> +2009-02-04 Jeremy Moskovich <jeremy@chromium.org> - Reviewed by Adam Roben. + Reviewed by Dave Hyatt. - * loader/archive/cf/LegacyWebArchive.cpp: - (WebCore::LegacyWebArchive::create): Null check the value returned - from WebCore::IconDatabase::iconForPageURL(). + https://bugs.webkit.org/show_bug.cgi?id=23471 + Fix text-overflow:ellipsis; for RTL case. + + Test: fast/css/text-overflow-ellipses.html + + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::placeEllipsisBox): Add support for rtl placement. + (WebCore::InlineTextBox::paintDecoration): Correctly draw decorations + for rtl truncation. + +2009-02-04 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=23700 + Upstream local changes to due to unforking of SimpleFontData + (corresponds to Chromium check-in http://src.chromium.org/viewvc/chrome?view=rev&revision=8646). + + * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: + (WebCore::fillBMPGlyphs): Removed extra checks for ZWS chars. + +2009-02-04 David Hyatt <hyatt@apple.com> + + <rdar://problem/6554115> REGRESSION (r40475): World leak (JS global object) after viewing a photo on Facebook + + Fix a ginormous leak. (GINORMOUS!) Make sure to disconnect the event listeners attached to the Document, + because, like, they point to a lot of stuff... like ... everything... + + Reviewed by Darin Adler + + * dom/Document.cpp: + (WebCore::Document::removeAllEventListenersFromAllNodes): + +2009-02-04 Darin Fisher <darin@chromium.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=23731 + Add JSCCustom and V8Custom as extended IDL attributes + + This helps avoid having to add #ifdefs to the IDL files to support V8 bindings. + + * bindings/scripts/CodeGeneratorJS.pm: + * dom/Document.idl: + * dom/Node.idl: + * svg/SVGPathSegList.idl: + * svg/SVGPointList.idl: + * svg/SVGTransformList.idl: + +2009-02-04 Dan Bernstein <mitz@apple.com> + + - build fix + + * rendering/RenderImageGeneratedContent.h: + +2009-02-04 miggilin <mr.diggilin@gmail.com> + + Reviewed by Kevin Ollivier. + + Switch to using a ref-counted wxFont pointer for FontPlatformData to fix a crash + with assigning to uninitialized HashTable buckets. + + https://bugs.webkit.org/show_bug.cgi?id=23669 + + * platform/graphics/SimpleFontData.h: + (WebCore::SimpleFontData::getWxFont): + * platform/graphics/wx/FontPlatformData.h: + (WebCore::): + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::font): + (WebCore::FontPlatformData::operator==): + * platform/graphics/wx/FontPlatformDataWx.cpp: + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::computeHash): + (WebCore::FontPlatformData::~FontPlatformData): + * platform/graphics/wx/SimpleFontDataWx.cpp: + (WebCore::SimpleFontData::platformInit): + (WebCore::SimpleFontData::determinePitch): + (WebCore::SimpleFontData::platformWidthForGlyph): + * platform/wx/wxcode/gtk/non-kerned-drawing.cpp: + (WebCore::drawTextWithSpacing): + +2009-02-04 David Hyatt <hyatt@apple.com> + + Fix a crash in generated content when a generated image with an already-cached background image gets + created. It's not completely clear how to reproduce this crash. + + Reviewed by Adam Roben + + * rendering/RenderImageGeneratedContent.h: + (WebCore::RenderImageGeneratedContent::imagePtr): + +2009-02-04 Simon Hausmann <simon.hausmann@nokia.com> + + Unreviewed Qt build fix. + + Changed ASSERT(image) to ASSERT(!image.isNull()). + + * platform/graphics/qt/ImageBufferQt.cpp: + (WebCore::ImageBuffer::getImageData): + +2009-02-04 Trenton Schulz <trenton.schulz@nokia.com> + + Reviewed by Simon Hausmann. + + Fix implementation of PluginViewMac::invalidateRect to update only the + specified rect, not the entire browser window. + + * plugins/mac/PluginViewMac.cpp: + (WebCore::PluginView::invalidateRect): + +2009-02-04 Holger Hans Peter Freyther <zecke@selfish.org> + + Rubber stamped by Mark Rowe. + + FramePrivate was removed in r40024 remove the forward + declaration as well. + + * page/Frame.h: + +2009-02-04 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=23426 -2009-02-06 Mark Rowe <mrowe@apple.com> + Make isFrameSet virtual and by default return false. Reimplement + it in HTMLDocument. - Merge r40606. + * dom/Document.cpp: + * dom/Document.h: + (WebCore::Document::isFrameSet): + * html/HTMLDocument.cpp: + (WebCore::HTMLDocument::isFrameSet): + * html/HTMLDocument.h: + +2009-02-03 Oliver Hunt <oliver@apple.com> + + Reviewed by John Sullivan. - 2009-02-03 David Hyatt <hyatt@apple.com> + <rdar://problem/6554092> Slow script dialog starts coming up over and over again + + Work around <rdar://problem/6554067> by consuming any exceptions that are + thrown by _web_localizedDescription + + * platform/network/mac/ResourceErrorMac.mm: + (WebCore::ResourceError::platformLazyInit): + +2009-02-03 David Hyatt <hyatt@apple.com> Move the isRenderInline checks for clientWidth/Height and scrollWidth/Height to the DOM element versions of the functions. Since internal render tree usage doesn't ever (incorrectly) call these @@ -277,53 +17545,900 @@ (WebCore::RenderBox::scrollWidth): (WebCore::RenderBox::scrollHeight): -2009-02-06 Mark Rowe <mrowe@apple.com> +2009-02-03 Brad Garcia <bgarcia@google.com> + + Reviewed by Eric Seidel. - Merge r40502. + https://bugs.webkit.org/show_bug.cgi?id=20443 + Remove call to canResize when trying to determine if pointer + is within a frame. + Also removed the implementation of canResize as it is no longer used. - 2009-02-02 David Hyatt <hyatt@apple.com> + Test: fast/frames/frame-dead-region.html - Make sure scrollWidth/Height just return 0 for inline flows. + * rendering/RenderFrameSet.cpp: + (WebCore::RenderFrameSet::nodeAtPoint): + * rendering/RenderFrameSet.h: + +2009-02-03 David Hyatt <hyatt@apple.com> + + Reduce the number of calls to virtualChildren (indirectly made via RenderObject::firstChild()). + This is a small gain on the PLT. + + Reviewed by Mark Rowe + + * rendering/bidi.cpp: + (WebCore::inlineWidth): + (WebCore::bidiNext): + +2009-02-03 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=23628 + + Fix selection repainting to do container-relative repaints. RenderView now + repaints the selection using the containerForRepaint() for each RenderSelectionInfo. + selectionRect() is now a wrapper for selectionRectForRepaint() with no container. + + Pull SelectionInfo out of RenderObject.h, and BlockSelectionInfo out + of RenderBlock.h and move them into RenderSelectionInfo.h, with some + sharing and refactoring. + + RenderBlock::selectionGapRectsForRepaint() is not yet container-aware. + + * GNUmakefile.am: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * rendering/RenderBR.h: + (WebCore::RenderBR::selectionRectForRepaint): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::selectionGapRectsForRepaint): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::selectionRectForRepaint): + * rendering/RenderListMarker.cpp: + (WebCore::RenderListMarker::paint): + (WebCore::RenderListMarker::selectionRectForRepaint): + * rendering/RenderListMarker.h: + * rendering/RenderObject.h: + (WebCore::RenderObject::selectionRect): + (WebCore::RenderObject::selectionRectForRepaint): + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::selectionRectForRepaint): + * rendering/RenderReplaced.h: + * rendering/RenderSVGInlineText.cpp: + (WebCore::RenderSVGInlineText::absoluteRects): + (WebCore::RenderSVGInlineText::absoluteQuads): + (WebCore::RenderSVGInlineText::selectionRectForRepaint): + (WebCore::RenderSVGInlineText::computeRepaintRectForRange): + * rendering/RenderSVGInlineText.h: + * rendering/RenderSelectionInfo.h: Added. + (WebCore::RenderSelectionInfoBase::RenderSelectionInfoBase): + (WebCore::RenderSelectionInfoBase::object): + (WebCore::RenderSelectionInfoBase::repaintContainer): + (WebCore::RenderSelectionInfoBase::state): + (WebCore::RenderSelectionInfo::RenderSelectionInfo): + (WebCore::RenderSelectionInfo::repaint): + (WebCore::RenderSelectionInfo::rect): + (WebCore::RenderBlockSelectionInfo::RenderBlockSelectionInfo): + (WebCore::RenderBlockSelectionInfo::repaint): + (WebCore::RenderBlockSelectionInfo::block): + (WebCore::RenderBlockSelectionInfo::rects): + * rendering/RenderText.cpp: + (WebCore::RenderText::selectionRectForRepaint): + * rendering/RenderText.h: + * rendering/RenderView.cpp: + (WebCore::RenderView::selectionBounds): + (WebCore::RenderView::setSelection): + * rendering/RenderView.h: + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::paint): + +2009-02-03 David Hyatt <hyatt@apple.com> + + Add inline capacity back to CSSMutableStyleDeclaration now that the bug in Vector has been fixed. + + Reviewed by Darin Adler & Sam Weinig + + * css/CSSMutableStyleDeclaration.cpp: + (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet): + * css/CSSMutableStyleDeclaration.h: + +2009-02-03 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=13490 + Implement execCommand("styleWithCSS", ...) + + Determine whether or not to use HTML formatting tags for styling on the new + boolean on Editor instead of whether or not the document is quirks mode. + + * editing/ApplyStyleCommand.cpp: + (WebCore::StyleChange::StyleChange): + (WebCore::StyleChange::init): + (WebCore::ApplyStyleCommand::applyBlockStyle): + (WebCore::ApplyStyleCommand::applyTextDecorationStyle): + (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): + * editing/Editor.cpp: + (WebCore::Editor::Editor): + (WebCore::Editor::clear): + * editing/Editor.h: + (WebCore::Editor::setShouldStyleWithCSS): + (WebCore::Editor::shouldStyleWithCSS): + * editing/EditorCommand.cpp: + (WebCore::executeStyleWithCSS): + (WebCore::stateStyleWithCSS): + (WebCore::CommandEntry::): + +2009-02-03 Dirk Schulze <krit@webkit.org> + + Reviewed by Sam Weinig. + + This is a follow up of r40546. Call toImage() once speeds up ImageBuffer::getImageData() + + * platform/graphics/qt/ImageBufferQt.cpp: + (WebCore::ImageBuffer::getImageData): + +2009-02-03 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + - Fix for <rdar://problem/6549743> + + On Tiger, create an autorelease pool before creating the NSGraphicsContext and drain it immediately + after the call to -[NSView displayRectIgnoringOpacity:inContext:]. + + * platform/mac/WidgetMac.mm: + (WebCore::Widget::paint): + +2009-02-03 David Hyatt <hyatt@apple.com> + + Back this change out since it is causing layout tests to crash. There is something subtle going on + here. + + Reviewed by Darin Adler + + * css/CSSMutableStyleDeclaration.cpp: + (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet): + * css/CSSMutableStyleDeclaration.h: + +2009-02-03 David Hyatt <hyatt@apple.com> + + Give the properties vector of mutable style declarations an initial inline capacity to reduce malloc churn. + + Reviewed by Sam Weinig + + * css/CSSMutableStyleDeclaration.cpp: + (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet): + * css/CSSMutableStyleDeclaration.h: + +2009-02-03 David Hyatt <hyatt@apple.com> + + Avoid creating extra copies of NSURLRequests for non-HTTP URLs. Only mark platform requests + as needing updating when HTTP fields change if the scheme of the URL is actually HTTP or HTTPS. + Thus cuts down significantly on the number of copied NSURLRequests and is about a 1% gain on the PLT. + + Reviewed by Darin Adler + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::addExtraFieldsToRequest): + * platform/KURL.cpp: + (WebCore::KURL::invalidate): + (WebCore::KURL::KURL): + * platform/KURL.h: + (WebCore::KURL::isHTTPOrHTTPS): + * platform/network/ResourceRequestBase.cpp: + (WebCore::ResourceRequestBase::setCachePolicy): + (WebCore::ResourceRequestBase::setTimeoutInterval): + (WebCore::ResourceRequestBase::setMainDocumentURL): + (WebCore::ResourceRequestBase::setHTTPMethod): + (WebCore::ResourceRequestBase::setHTTPHeaderField): + (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray): + (WebCore::ResourceRequestBase::setHTTPBody): + (WebCore::ResourceRequestBase::setAllowHTTPCookies): + +2009-02-03 Xan Lopez <xan@gnome.org> + + Reviewed by Holger Freyther. + + https://bugs.webkit.org/show_bug.cgi?id=23711 + + Add manual test for floating divs with scrollbars. + + * manual-tests/gtk/floatingdiv.html: Added. + +2009-02-03 Xan Lopez <xan@gnome.org> + + Reviewed by Holger Freyther. + + https://bugs.webkit.org/show_bug.cgi?id=23711 + + There's no need to hold an extra ref to the scrollbar, calling + setPlatformWidget takes ownership of it. + + Also do not disconnect the signals when destroying the widget, + it's superfluous. + + * platform/gtk/ScrollbarGtk.cpp: + (ScrollbarGtk::ScrollbarGtk): + * platform/gtk/ScrollbarGtk.h: + +2009-02-03 Xan Lopez <xan@gnome.org> + + Reviewed by Holger Freyther. + + https://bugs.webkit.org/show_bug.cgi?id=23711 + + Declare scrollBar as GtkWidget* to avoid needless + casting. + + * platform/gtk/ScrollbarGtk.cpp: + (ScrollbarGtk::ScrollbarGtk): + (ScrollbarGtk::~ScrollbarGtk): + +2009-02-03 Xan Lopez <xan@gnome.org> + + Reviewed by Holger Freyther. + + https://bugs.webkit.org/show_bug.cgi?id=23711 + + Properly calculate the scrollbar location for their + usage in RenderLayout. + + * platform/gtk/ScrollbarGtk.cpp: + (ScrollbarGtk::frameRectsChanged): + +2009-02-03 David Hyatt <hyatt@apple.com> + + Rename addLineBoxRects to absoluteRectsForRange, and do the same thing for the corresponding quads methods. Move the RenderContainer implementations + of these methods up to RenderObject. Reviewed by Beth Dakin - * rendering/RenderBox.cpp: - (WebCore::RenderBox::scrollWidth): - (WebCore::RenderBox::scrollHeight): + * bindings/objc/DOM.mm: + (-[DOMNode lineBoxRects]): + * dom/Range.cpp: + (WebCore::Range::addLineBoxRects): + * inspector/InspectorController.cpp: + (WebCore::InspectorController::drawNodeHighlight): + * rendering/RenderContainer.cpp: + * rendering/RenderContainer.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::absoluteRectsForRange): + (WebCore::RenderObject::absoluteQuadsForRange): + * rendering/RenderObject.h: + * rendering/RenderText.cpp: + (WebCore::RenderText::absoluteRectsForRange): + (WebCore::RenderText::absoluteQuadsForRange): + * rendering/RenderText.h: + +2009-02-03 Dirk Schulze <krit@webkit.org> + + Reviewed by Sam Weinig and Oliver Hunt. + + Added getImageData() support for QtWebKit. + + [QT] lacks getImageData / putImageData support in Canvas + https://bugs.webkit.org/show_bug.cgi?id=22186 + + * platform/graphics/qt/ImageBufferQt.cpp: + (WebCore::ImageBuffer::getImageData): + +2009-02-03 Eric Roman <eroman@chromium.org> + + Reviewed by Holger Freyther. + + Fix FrameChromium.cpp following r40473 which moved Frame::adjustPageHeight to FrameView::adjustPageHeight. + + * page/chromium/FrameChromium.cpp: + (WebCore::computePageRectsForFrame): + +2009-02-02 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=23358 + + Hook accelerated compositing into RenderLayer. + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::RenderLayer): + (WebCore::RenderLayer::~RenderLayer): + Init and clean up backing and the hasCompositingDescendant bit. + + (WebCore::RenderLayer::compositor): + Shortcut to get to the RenderLayerCompositor. + + (WebCore::RenderLayer::updateLayerPositions): + We need to let full repaints propagate to all compositing layers, and + update the backing after layout here. + + (WebCore::RenderLayer::transparentAncestor): + (WebCore::transparencyClipBox): + (WebCore::RenderLayer::beginTransparencyLayers): + Account for the fact that opacity may be rendered via the compositing + layer sometimes. + + (WebCore::RenderLayer::addChild): + (WebCore::RenderLayer::removeChild): + (WebCore::RenderLayer::removeOnlyThisLayer): + Tell the compositor when the RenderLayer hierarchy changes. + + (WebCore::RenderLayer::scrollToOffset): + Update layer geometry after scrolling. + + (WebCore::RenderLayer::paintLayer): + We short-circuit painting on composited layers, because these layers + are painted on a callback from the compositing system. + + (WebCore::RenderLayer::hitTestLayer): + Only apply transforms if we are rendering them in software. + + (WebCore::RenderLayer::localBoundingBox): + (WebCore::RenderLayer::boundingBox): + (WebCore::RenderLayer::absoluteBoundingBox): + Refactor bounding box code that we can compute local, and ancestor-relative + bounding box, as well as absolute. + + (WebCore::RenderLayer::ensureBacking): + (WebCore::RenderLayer::clearBacking): + RenderLayerBacking creation and destruction. + + (WebCore::RenderLayer::setParent): + Tell the compositor when the RenderLayer hierarchy changes. + + (WebCore::RenderLayer::dirtyZOrderLists): + (WebCore::RenderLayer::dirtyStackingContextZOrderLists): + (WebCore::RenderLayer::dirtyOverflowList): + When the z-order and overflow lists change, we need to tell the + compositor that the composited layers need to be rejiggered soon. + + (WebCore::RenderLayer::updateZOrderLists): + Whitespace cleanup. + + (WebCore::RenderLayer::setBackingNeedsRepaint): + (WebCore::RenderLayer::setBackingNeedsRepaintInRect): + Dirty composited layer contents for painting. + + (WebCore::RenderLayer::styleChanged): + Update the layer backing after style changes. + + * rendering/RenderLayer.h: + (WebCore::RenderLayer::isComposited): + (WebCore::RenderLayer::backing): + Accessors for testing and getting the backing for this RenderLayer. + + (WebCore::RenderLayer::paintsWithTransparency): + (WebCore::RenderLayer::paintsWithTransform): + Transform and opacity can be applied via the compositing layer, or rendered + in software. These methods tell us if we need to account for them in the + non-compositing path. + + (WebCore::RenderLayer::hasCompositingDescendant): + (WebCore::RenderLayer::setHasCompositingDescendant): + Maintain a bit to tell if this layer has composited descendants. + +2009-02-03 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=23365 + + Hook up accelerated compositing layers the native + view system on Mac. + + * WebCore.base.exp: + Export new Page methods. + + * page/ChromeClient.h: + (WebCore::ChromeClient::attachRootGraphicsLayer): + (WebCore::ChromeClient::setNeedsOneShotDrawingSynchronization): + New methods for attaching/detaching the root GraphicsLayer, and + synchronizing layer changes with window drawing. + + * page/FrameView.h: + * page/FrameView.cpp: + (WebCore::FrameView::updateCompositingLayers): + (WebCore::FrameView::setNeedsOneShotDrawingSynchronization): + (WebCore::FrameView::didMoveOnscreen): + (WebCore::FrameView::willMoveOffscreen): + New methods to update the compositing layer hierarchy, + and pass-throughs to the RenderLayerCompositor. + + (WebCore::FrameView::layout): + Update compositing layers after layout() and updateLayerPositions(). + + * page/Page.cpp: + (WebCore::Page::didMoveOnscreen): + (WebCore::Page::willMoveOffscreen): + * page/Page.h: + New methods to allow the native view system to tell the Page when it + starts to be presented on-screen, and when it will be hidden. + + * rendering/RenderLayerCompositor.h: + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::updateLayerCompositingState): + (WebCore::RenderLayerCompositor::didMoveOnscreen): + (WebCore::RenderLayerCompositor::willMoveOffscreen): + (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): + Rename 'attached' methods to 'moveOnscreen/moveOffscreen' to match + the calls through from Page, FrameView. + + (WebCore::RenderLayerCompositor::layerWillBeRemoved): + Dont' try to repaint or update layers if the document is being torn + down. + + * rendering/RenderView.cpp: + (WebCore::RenderView::didMoveOnscreen): + (WebCore::RenderView::willMoveOffscreen): + * rendering/RenderView.h: + New methods. + +2009-02-03 Dirk Schulze <krit@webkit.org> + + Reviewed by Holger Hans Peter Freyther. + + Fixed getImageData and putImageData and respect pre- + multiplied colors. + + Cairo's ImageBuffer::getImageData() does not handle alpha=0 case correctly + https://bugs.webkit.org/show_bug.cgi?id=21575 + + * platform/graphics/cairo/ImageBufferCairo.cpp: + (WebCore::ImageBuffer::getImageData): + (WebCore::ImageBuffer::putImageData): + +2009-02-03 Dan Bernstein <mitz@apple.com> + + Reviewed by Brady Eidson. + + - fix <rdar://problem/6550530> REGRESSION (r40508): Window opened with window.open has no initial history item (global and back/forward) + + Test: fast/history/window-open.html + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::createWindow): Pass the missing lockBackForwardList parameter + to FrameLoader::changeLocation(). -2009-02-03 Mark Rowe <mrowe@apple.com> +2009-02-03 Adam Treat <adam.treat@torchmobile.com> - Merge r40516. + Fix the Qt build after r40536. - 2009-02-02 Geoffrey Garen <ggaren@apple.com> + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::convertQVariantToValue): + +2009-02-03 Dan Bernstein <mitz@apple.com> + + - fix -Wmissing-prototypes builds + + * loader/WorkerThreadableLoader.cpp: + (WebCore::workerContextDidSendData): Marked this function static. + (WebCore::workerContextDidReceiveResponse): Ditto. + (WebCore::workerContextDidReceiveData): Ditto. + (WebCore::workerContextDidFinishLoading): Ditto. + (WebCore::workerContextDidFail): Ditto. + (WebCore::workerContextDidGetCancelled): Ditto. + (WebCore::workerContextDidReceiveAuthenticationCancellation): Ditto. + +2009-02-03 David Kilzer <ddkilzer@apple.com> + + CrashTracer: [REGRESSION] 53 crashes in Safari at com.apple.WebCore: WebCore::LegacyWebArchive::create + 2706 + + <rdar://problem/6509514> + + Reviewed by Adam Roben. + + * loader/archive/cf/LegacyWebArchive.cpp: + (WebCore::LegacyWebArchive::create): Null check the value returned + from WebCore::IconDatabase::iconForPageURL(). + +2009-02-03 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Tor Arne Vestbø. + + Fix conversion of QByteArray to JavaScript and back. Instead of + converting it to a String (data loss!) we now map it to JSByteArray. + + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::): + (JSC::Bindings::valueRealType): Added JSByteArray as converstion type. + (JSC::Bindings::convertValueToQVariant): Convert from JSByteArray to + QVariant(QByteArray). + (JSC::Bindings::convertQVariantToValue): Convert from + QVariant::ByteArray to jsByteArray. + +2009-02-03 Alexey Proskuryakov <ap@webkit.org> Build fix. - * plugins/PluginView.cpp: - (WebCore::PluginView::performRequest): + * GNUmakefile.am: Removed WorkerTask.{h,cpp}. + +2009-02-03 Dmitry Titov <dimich@chromium.org> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=22718 + Implement WindowTimers interface in Workers. + + This patch moves timeoutID from Document to ScriptExecutionContext + and exposes JS methods setTimeout/setInterval/clearTimeout/clearInterval inside of a Worker. + Also added a test for those methods. + + Test: fast/workers/worker-timeout.html + + * bindings/js/JSWorkerContextCustom.cpp: + (WebCore::setTimeoutOrInterval): + Creates ScheduledAction and calls WorkerContext::installTimeout to actually add a timer. -2009-02-03 Mark Rowe <mrowe@apple.com> + (WebCore::JSWorkerContext::setTimeout): + (WebCore::JSWorkerContext::clearTimeout): + (WebCore::JSWorkerContext::setInterval): + (WebCore::JSWorkerContext::clearInterval): + Added methods exposed to JS. - Merge r40514. + * dom/Document.cpp: + * dom/Document.h: + * dom/ScriptExecutionContext.cpp: + (WebCore::ScriptExecutionContext::addTimeout): + (WebCore::ScriptExecutionContext::removeTimeout): + (WebCore::ScriptExecutionContext::findTimeout): + * dom/ScriptExecutionContext.h: + The timerID map moves from Document to ScriptExecutionContext, + to be available to Document and to WorkerContext. - 2009-02-02 Geoffrey Garen <ggaren@apple.com> + * dom/WorkerContext.cpp: + (WebCore::WorkerContext::installTimeout): Adds a DOMTimeout. + (WebCore::WorkerContext::removeTimeout): Removes a DOMTimeout. + * dom/WorkerContext.h: + + * page/DOMTimer.cpp: + (WebCore::DOMTimer::DOMTimer): + (WebCore::DOMTimer::~DOMTimer): + (WebCore::DOMTimer::removeById): + Code change here reflects move of timeoutID map to the ScriptExecutionContext. + Some checks and casts are no longer needed. + +2009-02-03 Dmitry Titov <dimich@chromium.org> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=23560 + Implement SharedTimer for Workers. + + * dom/WorkerRunLoop.cpp: + Added private class WorkerSharedTimer that implements SharedTimer interface for worker threads. + (WebCore::WorkerSharedTimer::WorkerSharedTimer): + (WebCore::WorkerSharedTimer::setFiredFunction): + (WebCore::WorkerSharedTimer::setFireTime): + (WebCore::WorkerSharedTimer::stop): + (WebCore::WorkerSharedTimer::isActive): + (WebCore::WorkerSharedTimer::fireTime): + (WebCore::WorkerSharedTimer::fire): + (WebCore::WorkerRunLoop::WorkerRunLoop): + Initializes a WorkerSharedTimer instance. + (WebCore::WorkerRunLoop::~WorkerRunLoop): + The destructor is here so compiler is ok with having OwnPtr<WorkerSharedTimer> in .h file w/o defining WorkerSharedTimer. + (WebCore::WorkerRunLoop::run): + Set/reset shared timer interface on ThreadTimers, use MessageQueue::waitForMessageTimed() if timer is active. + * dom/WorkerRunLoop.h: + Add member of type OwnPtr<WorkerSharedTimer> + +2009-02-03 Steve Falkenburg <sfalken@apple.com> Build fix. - * WebCore.base.exp: + * WebCore.vcproj/WebCore.vcproj: + +2009-02-03 Alexey Proskuryakov <ap@webkit.org> + + Windows build fix. + + * dom/CrossThreadCopier.h: Changed forward declarations to use struct instead of class where + appropriate. + +2009-02-02 David Levin <levin@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Bug 23636: Make the async api of ThreadableLoader functional for the worker context. + <https://bugs.webkit.org/show_bug.cgi?id=23636> + + Enable the async portion of ThreadableLoader for workers. + + No observable change in behavior, so no test. + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.scons: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * dom/CrossThreadCopier.h: + * dom/GenericWorkerTask.h: + * dom/WorkerThread.cpp: + * loader/ThreadableLoader.cpp: + (WebCore::ThreadableLoader::create): + * loader/ThreadableLoaderClient.h: + (WebCore::ThreadableLoaderClient::didFinishLoading): + * loader/ThreadableLoaderClientWrapper.h: Added. + (WebCore::ThreadableLoaderClientWrapper::create): + (WebCore::ThreadableLoaderClientWrapper::clearClient): + (WebCore::ThreadableLoaderClientWrapper::didSendData): + (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse): + (WebCore::ThreadableLoaderClientWrapper::didReceiveData): + (WebCore::ThreadableLoaderClientWrapper::didFinishLoading): + (WebCore::ThreadableLoaderClientWrapper::didFail): + (WebCore::ThreadableLoaderClientWrapper::didGetCancelled): + (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation): + (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper): + * loader/WorkerThreadableLoader.cpp: Added. + (WebCore::WorkerThreadableLoader::WorkerThreadableLoader): + (WebCore::WorkerThreadableLoader::~WorkerThreadableLoader): + (WebCore::WorkerThreadableLoader::cancel): + (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): + (WebCore::WorkerThreadableLoader::MainThreadBridge::~MainThreadBridge): + (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): + (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadDestroy): + (WebCore::WorkerThreadableLoader::MainThreadBridge::destroy): + (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCancel): + (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel): + (WebCore::WorkerThreadableLoader::MainThreadBridge::clearClientWrapper): + (WebCore::workerContextDidSendData): + (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData): + (WebCore::workerContextDidReceiveResponse): + (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse): + (WebCore::workerContextDidReceiveData): + (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData): + (WebCore::workerContextDidFinishLoading): + (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading): + (WebCore::workerContextDidFail): + (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail): + (WebCore::workerContextDidGetCancelled): + (WebCore::WorkerThreadableLoader::MainThreadBridge::didGetCancelled): + (WebCore::workerContextDidReceiveAuthenticationCancellation): + (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation): + * loader/WorkerThreadableLoader.h: Added. + (WebCore::WorkerThreadableLoader::create): + (WebCore::WorkerThreadableLoader::refThreadableLoader): + (WebCore::WorkerThreadableLoader::derefThreadableLoader): + +2009-02-02 David Levin <levin@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Bug 23636: Make the async api of ThreadableLoader functional for the worker context. + <https://bugs.webkit.org/show_bug.cgi?id=23636> + + No observable change in behavior, so no test. + + * WebCore.xcodeproj/project.pbxproj: + * dom/Worker.cpp: + * dom/Worker.h: + * dom/WorkerContext.cpp: + (WebCore::WorkerContext::addMessage): + (WebCore::WorkerContext::postTask): + (WebCore::WorkerContext::postTaskToWorkerObject): + * dom/WorkerContext.h: + * dom/WorkerMessagingProxy.cpp: + (WebCore::MessageWorkerContextTask::performTask): + (WebCore::WorkerMessagingProxy::postMessageToWorkerContext): + (WebCore::WorkerMessagingProxy::postTaskToWorkerContext): + Expose postTaskToWorkerContext for use by the worker object thread. + + (WebCore::WorkerMessagingProxy::postTaskToWorkerObject): + Change the name of postTaskToParentContext to postTaskToWorkerObject for consistency + with postMessageToWorkerObject. + + * dom/WorkerMessagingProxy.h: + * dom/WorkerRunLoop.cpp: + (WebCore::WorkerRunLoop::run): + (WebCore::WorkerRunLoop::postTask): + * dom/WorkerRunLoop.h: + * dom/WorkerTask.cpp: Removed. + * dom/WorkerTask.h: Removed. + Removed WorkerTask and replaced with the existing ScriptExecutionContext::Task. + + The resulted in the class going away along with an adapter that made + a ScriptExecutionContext::Task look like a WorkerTask. + + * dom/WorkerThread.cpp: + * dom/WorkerThread.h: + +2009-02-02 David Levin <levin@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Bug 23618: Templated worker tasks should be more error proof to use. + <https://bugs.webkit.org/show_bug.cgi?id=23618> + + Add the generic worker tasks templates needed for the WorkerThreadableLoader. + + No observable change in behavior, so no test. + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.scons: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * dom/CrossThreadCopier.cpp: Added. + * dom/CrossThreadCopier.h: Added. + (WebCore::CrossThreadCopierPassThrough::copy): + * dom/GenericWorkerTask.h: + Stop doing the WorkerMessagingProxy::askedToTerminate call automatically + in performTask because was not obvious that it would be done and not always needed. + + (WebCore::GenericWorkerTask1::create): + (WebCore::GenericWorkerTask1::GenericWorkerTask1): + (WebCore::GenericWorkerTask1::performTask): + (WebCore::GenericWorkerTask2::create): + (WebCore::GenericWorkerTask2::GenericWorkerTask2): + (WebCore::GenericWorkerTask2::performTask): + (WebCore::GenericWorkerTask3::create): + (WebCore::GenericWorkerTask3::GenericWorkerTask3): + (WebCore::GenericWorkerTask3::performTask): + (WebCore::GenericWorkerTask4::create): + (WebCore::GenericWorkerTask4::GenericWorkerTask4): + (WebCore::GenericWorkerTask4::performTask): + (WebCore::GenericWorkerTask5::create): + (WebCore::GenericWorkerTask5::GenericWorkerTask5): + (WebCore::GenericWorkerTask5::performTask): + (WebCore::GenericWorkerTask6::create): + (WebCore::GenericWorkerTask6::GenericWorkerTask6): + (WebCore::GenericWorkerTask6::performTask): + (WebCore::GenericWorkerTask7::create): + (WebCore::GenericWorkerTask7::GenericWorkerTask7): + (WebCore::GenericWorkerTask7::performTask): + (WebCore::createCallbackTask): + * dom/WorkerContext.cpp: + (WebCore::addMessageTask): + (WebCore::WorkerContext::addMessage): + * dom/WorkerMessagingProxy.h: + (WebCore::WorkerMessagingProxy::askedToTerminate): + +2009-02-02 Sam Weinig <sam@webkit.org> + + Reviewed by David "The Barnabas Jones" Hyatt. + + Move removeChildNode, appendChildNode and insertChildNode from + RenderContainer into RenderObjectChildList. Make moveChildNode + static in RenderBlock, as that was the only user. + + * rendering/RenderBlock.cpp: + (WebCore::moveChild): + (WebCore::RenderBlock::makeChildrenNonInline): + (WebCore::RenderBlock::removeChild): + (WebCore::RenderBlock::handleRunInChild): + * rendering/RenderContainer.cpp: + (WebCore::RenderContainer::addChild): + (WebCore::RenderContainer::removeChild): + * rendering/RenderContainer.h: + * rendering/RenderInline.cpp: + (WebCore::RenderInline::splitInlines): + (WebCore::RenderInline::splitFlow): + (WebCore::RenderInline::childBecameNonInline): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::handleDynamicFloatPositionChange): + * rendering/RenderObject.h: + (WebCore::RenderObject::createsAnonymousWrapper): + * rendering/RenderObjectChildList.cpp: + (WebCore::updateListMarkerNumbers): + (WebCore::RenderObjectChildList::removeChildNode): + (WebCore::RenderObjectChildList::appendChildNode): + (WebCore::RenderObjectChildList::insertChildNode): + * rendering/RenderObjectChildList.h: + * rendering/RenderSVGContainer.cpp: + (WebCore::RenderSVGContainer::addChild): + (WebCore::RenderSVGContainer::removeChild): + * rendering/RenderSVGContainer.h: + * rendering/RenderTable.cpp: + (WebCore::RenderTable::removeChild): + * rendering/RenderTable.h: + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::removeChild): + * rendering/RenderTableSection.h: + +2009-02-02 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Alder. + + https://bugs.webkit.org/show_bug.cgi?id=23697 + Leaks seen on Worker tests + + * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal): + Zero out m_workerThread, so that the proxy could be deleted once workerObjectDestroyed() + is called. + +2009-02-02 David Hyatt <hyatt@apple.com> + + Move positionForCoordinates up from RenderContainer into RenderBox. + + Reviewed by Sam Weinig + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::positionForCoordinates): + * rendering/RenderBox.h: + * rendering/RenderContainer.cpp: + * rendering/RenderContainer.h: + +2009-02-02 Hiroaki Nakamura <hnakamur@gmail.com> + + Reviewed by Adam Roben. + + Fixes https://bugs.webkit.org/show_bug.cgi?id=15813 + Modify pre-build step to properly handle the errorlevel + shell command. + + * WebCore.vcproj/WebCore.vcproj: Change errorlevel handling + for all targets so prefast is only enabled in builds + where /analyze is available. + +2009-02-02 David Hyatt <hyatt@apple.com> + + Refactor the handling of before/after content and generated content. Move most of the functions from + RenderContainer into RenderObjectChildList. + + Reviewed by Sam Weinig + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::updateBeforeAfterContent): + * rendering/RenderBlock.h: + * rendering/RenderBox.cpp: + (WebCore::RenderBox::isAfterContent): + * rendering/RenderBox.h: + * rendering/RenderButton.cpp: + (WebCore::RenderButton::updateBeforeAfterContent): + * rendering/RenderContainer.cpp: + * rendering/RenderContainer.h: + * rendering/RenderCounter.cpp: + (WebCore::destroyCounterNodeChildren): + * rendering/RenderInline.cpp: + (WebCore::RenderInline::styleDidChange): + (WebCore::RenderInline::addChildIgnoringContinuation): + (WebCore::RenderInline::splitInlines): + * rendering/RenderObject.h: + * rendering/RenderObjectChildList.cpp: + (WebCore::beforeAfterContainer): + (WebCore::findBeforeAfterParent): + (WebCore::invalidateCountersInContainer): + (WebCore::RenderObjectChildList::invalidateCounters): + (WebCore::RenderObjectChildList::updateBeforeAfterContent): + * rendering/RenderObjectChildList.h: + +2009-02-02 Dmitry Titov <dimich@chromium.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=23661 + Fix Chromium build. + + * history/HistoryItem.h: need to include <wtf/OwnPtr.h> + + * rendering/RenderThemeChromiumMac.mm: + (WebCore::RenderThemeChromiumMac::adjustMenuListStyle): isEnabled() is now on FormControlElement. + +2009-02-02 Geoffrey Garen <ggaren@apple.com> + + Build fix. -2009-02-03 Mark Rowe <mrowe@apple.com> + * plugins/PluginView.cpp: + (WebCore::PluginView::performRequest): + +2009-02-02 Geoffrey Garen <ggaren@apple.com> - Merge r40508. + Build fix. + + * WebCore.base.exp: - 2009-02-02 Geoffrey Garen <ggaren@apple.com> +2009-02-02 Geoffrey Garen <ggaren@apple.com> Reviewed by Sam Weinig. Track redirects in global history. * WebCore.base.exp: Renamed some exports. - + * bindings/js/JSDOMWindowBase.cpp: (WebCore::createWindow): (windowProtoFuncOpen): @@ -362,7 +18477,7 @@ * loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::updateGlobalHistoryForRedirectWithoutHistoryItem): Stubbed out a client function to keep things building. - + * loader/FrameLoader.cpp: (WebCore::isBackForwardLoadType): (WebCore::FrameLoader::restoreDocumentState): Renamed FrameLoadTypeRedirect => @@ -393,13 +18508,13 @@ (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): (WebCore::FrameLoader::loadItem): Updated for extra parameter and rename. - + (WebCore::FrameLoader::updateHistory*): Notify WebKit about redirect navigations even if they don't create new history items, so we can track the redirect in the existing history item. * loader/FrameLoader.h: See above. - + * loader/FrameLoaderClient.h: New client interface used by FrameLoader::updateHistory* to record a redirect even if it doesn't create a new history item of its own. @@ -412,29 +18527,998 @@ * svg/graphics/SVGImage.cpp: (WebCore::SVGImage::dataChanged): Updated for extra parameter. -2009-02-03 Mark Rowe <mrowe@apple.com> +2009-02-02 David Hyatt <hyatt@apple.com> - Merge r40380. + Make calcPrefWidths non-abstract on RenderBox and just give it RenderContainer's implementation. + Remove RenderSVGContainer's implementation, since it was never called. - 2009-01-29 Sam Weinig <sam@webkit.org> + Reviewed by Beth Dakin - Reviewed by Mark Rowe. + * rendering/RenderBox.cpp: + (WebCore::RenderBox::minPrefWidth): + * rendering/RenderBox.h: + (WebCore::RenderBox::calcPrefWidths): + * rendering/RenderContainer.h: + (WebCore::RenderContainer::moveChildNode): + * rendering/RenderSVGContainer.h: - First step in tracking the urls a HistoryItem was redirected through. +2009-02-02 Anders Carlsson <andersca@apple.com> - * WebCore.base.exp: + Reviewed by Sam Weinig. + + Add jsObjectForPluginElement to ScriptController, and have createScriptObjectForPluginElement call it. + + * WebCore.LP64.exp: + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::createScriptObjectForPluginElement): + (WebCore::ScriptController::jsObjectForPluginElement): + * bindings/js/ScriptController.h: + +2009-02-02 Darin Fisher <darin@chromium.org> + + Reviewed by Eric Seidel (and Ojan Vafai). + + https://bugs.webkit.org/show_bug.cgi?id=23696 + Select element doesn't show new value when focus is switched in + onchange event. + + Fix PopupMenuChromium to hide itself before calling valueChanged. This + better matches the behavior of the other ports. + + * platform/chromium/PopupMenuChromium.cpp: + (WebCore::PopupListBox::create): + (WebCore::PopupContainer::PopupContainer): + (WebCore::PopupContainer::showPopup): + (WebCore::PopupContainer::hidePopup): + (WebCore::PopupListBox::abandon): + (WebCore::PopupListBox::acceptIndex): + (WebCore::PopupMenu::show): + (WebCore::PopupMenu::hide): + +2009-02-02 David Hyatt <hyatt@apple.com> + + Make sure scrollWidth/Height just return 0 for inline flows. + + Reviewed by Beth Dakin + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::scrollWidth): + (WebCore::RenderBox::scrollHeight): + +2009-02-02 Darin Adler <darin@apple.com> + + Reviewed by Dave Hyatt. + + Bug 23676: Speed up uses of reserveCapacity on new vectors by adding a new reserveInitialCapacity + https://bugs.webkit.org/show_bug.cgi?id=23676 + + * bindings/js/JSCSSStyleDeclarationCustom.cpp: + (WebCore::cssPropertyName): + * css/CSSMutableStyleDeclaration.cpp: + (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration): + (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet): + * css/CSSPrimitiveValue.cpp: + (WebCore::CSSPrimitiveValue::cssText): + * css/CSSStyleDeclaration.cpp: + (WebCore::CSSStyleDeclaration::copyPropertiesInSet): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::sortMatchedRules): + * dom/Document.cpp: + (WebCore::Document::formElementsState): + * dom/NamedAttrMap.h: + (WebCore::NamedAttrMap::reserveInitialCapacity): + * editing/TextIterator.cpp: + (WebCore::CharacterIterator::string): + (WebCore::SearchBuffer::SearchBuffer): + (WebCore::plainTextToMallocAllocatedBuffer): + * editing/markup.cpp: + (WebCore::joinMarkups): * history/HistoryItem.cpp: (WebCore::HistoryItem::HistoryItem): - (WebCore::HistoryItem::addRedirectURL): - (WebCore::HistoryItem::redirectURLs): - (WebCore::HistoryItem::setRedirectURLs): - * history/HistoryItem.h: + * html/HTMLTokenizer.cpp: + (WebCore::Token::addAttribute): + * loader/appcache/DOMApplicationCache.cpp: + (WebCore::DOMApplicationCache::items): + * page/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::toString): + * page/mac/AccessibilityObjectWrapper.mm: + (convertToVector): + * platform/graphics/FontCache.cpp: + (WebCore::FontCache::purgeInactiveFontData): + (WebCore::FontCache::invalidate): + * platform/network/FormData.cpp: + (WebCore::FormData::deepCopy): + * platform/network/HTTPHeaderMap.cpp: + (WebCore::HTTPHeaderMap::copyData): + * platform/network/ResourceRequestBase.cpp: + (WebCore::ResourceRequestBase::copyData): + * platform/network/mac/FormDataStreamMac.mm: + (WebCore::formCreate): + * xml/XPathNodeSet.cpp: + (WebCore::XPath::NodeSet::sort): + Use reserveInitialCapacity instead of of reserveCapacity in all these call sites, + which are working on new vectors that are guaranteed not to be empty. + +2009-02-26 Jon Honeycutt <jhoneycutt@apple.com> + + Build fix after r40486. + + Rubber-stamped by Ada Chan. + + * dom/Document.h: Changed HitTestRequest to a class from a struct. + * page/EventHandler.h: Ditto. + * rendering/EllipsisBox.h: Ditto. + * rendering/InlineBox.h: Ditto. + * rendering/InlineFlowBox.h: Ditto. + * rendering/RenderLayer.h: Ditto. + +2009-02-02 Darin Adler <darin@apple.com> + + Reviewed by Anders Carlsson. + + Bug 23694: REGRESSION: Running svg/custom tests crashes, randomly, depending on the order of tests + https://bugs.webkit.org/show_bug.cgi?id=23694 + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::insertedIntoDocument): Added back the call through to EventTargetNode. + (WebCore::ContainerNode::removedFromDocument): Ditto. + * dom/EventTargetNode.cpp: + (WebCore::EventTargetNode::insertedIntoDocument): Changed this to not call through to Node. + (WebCore::EventTargetNode::removedFromDocument): Ditto. + * dom/Node.cpp: + (WebCore::Node::insertedIntoDocument): Updated comment. + (WebCore::Node::removedFromDocument): Ditto. + +2009-02-02 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + More plug-in cleanup. + + * WebCore.NPAPI.exp: + Add new symbols. + + * bindings/objc/DOM.mm: + * bindings/objc/DOMPrivate.h: + Remove methods that WebKit doesn't use anymore. + +2009-02-02 Jay Campan <jcampan@chromium.org> + + Reviewed by Eric Seidel. + + Clean up PopupMenuChromium a little. + https://bugs.webkit.org/show_bug.cgi?id=23653 + + No functional changes, only code cleanup, thus no tests. + + * platform/chromium/PopupMenuChromium.cpp: + (WebCore::): + (WebCore::PopupListBox::PopupListBox): + (WebCore::PopupContainer::create): + (WebCore::PopupContainer::PopupContainer): + (WebCore::PopupContainer::showPopup): + (WebCore::PopupListBox::handleKeyEvent): + (WebCore::PopupListBox::isSelectableItem): + (WebCore::PopupListBox::selectNextRow): + (WebCore::PopupListBox::selectPreviousRow): + (WebCore::PopupMenu::show): + * platform/chromium/PopupMenuChromium.h: + +2009-02-02 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Change createPlugin to take a HTMLPlugInElement, and createJavaAppletWidget to take a HTMLAppletElement. + + * WebCore.xcodeproj/project.pbxproj: + * loader/EmptyClients.h: + (WebCore::EmptyFrameLoaderClient::createPlugin): + (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget): + * loader/FrameLoader.cpp: + (WebCore::toPlugInElement): + (WebCore::FrameLoader::loadPlugin): + (WebCore::FrameLoader::loadItem): + * loader/FrameLoader.h: + * loader/FrameLoaderClient.h: + +2009-02-02 Genevieve Mak <gen@staikos.net> + + Reviewed by George Staikos. + + https://bugs.webkit.org/show_bug.cgi?id=23508 + Returns Blank Page for all "about" protocols + + * loader/MainResourceLoader.cpp: + Fix shouldLoadAsEmptyDocument() to return a blank page for an empty + url or about:blank only (for now, exclusively for Torch Mobile platform). + +2009-02-02 Brent Fulgham <bfulgham@webkit.org> + + Reviewed by George Staikos. + + Fixes https://bugs.webkit.org/show_bug.cgi?id=23691. + Correct build break caused by @r40366 by moving the + common code implmentations from GraphicsContextCGWin.cpp + into the base Windows class (GraphicsContextWin.cpp). Also + move inTransparencyLayer since it is identical in both + children. + + * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: + Added member m_shouldIncludeChildWindows to Windows version, + similar to GraphicsContextPlatformPrivateCG.h. + * platform/graphics/win/GraphicsContextCGWin.cpp: Remove the + implementations of shouldIncludeChildWindows, + setShouldIncludeChildWindows, and inTransparencyLayer. + * platform/graphics/win/GraphicsContextCairoWin.cpp: Remove + the implementation of inTransparencyLayer. + * platform/graphics/win/GraphicsContextWin.cpp: Move common code + from GraphicsContextCGWin.cpp and GraphicsContextCairoWin.cpp. + (WebCore::GraphicsContext::inTransparencyLayer): + (WebCore::GraphicsContext::setShouldIncludeChildWindows): + (WebCore::GraphicsContext::shouldIncludeChildWindows): + +2009-02-02 Darin Adler <darin@apple.com> + + Try to fix Wx build, and maybe Chromium build too. + + * WebCore.scons: Added IdentifierRep.cpp. + * WebCoreSources.bkl: Ditto. + +2009-02-02 Darin Adler <darin@apple.com> + + Try to fix Wx build. + + * html/HTMLAreaElement.cpp: Added missing include of "Path.h". + +2009-02-02 Adam Treat <adam.treat@torchmobile.com> + + Reviewed by Nikolas Zimmermann. + + https://bugs.webkit.org/show_bug.cgi?id=23587 + Refactor HitTestRequest to eliminate all the ugly boolean arguments and + use an enum bitflag instead. Cleanup all the code that constructs the + various HitTestRequests to make the code more readable. + + * dom/Document.cpp: + (WebCore::Document::elementFromPoint): + (WebCore::Document::prepareMouseEvent): + * editing/SelectionController.cpp: + (WebCore::SelectionController::contains): + * page/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::visiblePositionForPoint): + (WebCore::AccessibilityRenderObject::doAccessibilityHitTest): + * page/EventHandler.cpp: + (WebCore::EventHandler::eventMayStartDrag): + (WebCore::EventHandler::updateSelectionForMouseDrag): + (WebCore::EventHandler::hitTestResultAtPoint): + (WebCore::EventHandler::handleMousePressEvent): + (WebCore::EventHandler::handleMouseDoubleClickEvent): + (WebCore::EventHandler::handleMouseMoveEvent): + (WebCore::EventHandler::handleMouseReleaseEvent): + (WebCore::EventHandler::updateDragAndDrop): + (WebCore::EventHandler::handleWheelEvent): + (WebCore::EventHandler::sendContextMenuEvent): + (WebCore::EventHandler::hoverTimerFired): + (WebCore::EventHandler::handleDrag): + * page/EventHandler.h: + * rendering/HitTestRequest.h: + (WebCore::HitTestRequest::): + (WebCore::HitTestRequest::HitTestRequest): + (WebCore::HitTestRequest::readOnly): + (WebCore::HitTestRequest::active): + (WebCore::HitTestRequest::mouseMove): + (WebCore::HitTestRequest::mouseUp): + (WebCore::HitTestRequest::ignoreClipping): + * rendering/RenderFrameSet.cpp: + (WebCore::RenderFrameSet::nodeAtPoint): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::hitTest): + (WebCore::RenderLayer::hitTestLayer): + (WebCore::RenderLayer::updateHoverActiveState): + +2009-02-02 George Staikos <george.staikos@torchmobile.com> + + Reviewed by Niko Zimmermann. + + Fix WML build by including the inlined renderStyle(). + + * wml/WMLOptGroupElement.cpp: + * wml/WMLOptionElement.cpp: + +2009-02-02 Darin Adler <darin@apple.com> + + Reviewed by Niko Zimmermann. + + Bug 23686: REGRESSION (r40475): Failure in fast/xpath/4XPath/Core/test_core_functions.html + https://bugs.webkit.org/show_bug.cgi?id=23686 + rdar://problem/6547971 + + Also fix other XPath tests that are crashing. + + * xml/XPathFunctions.cpp: + (WebCore::XPath::FunLang::evaluate): Fix order of arguments when creating QualifiedName. + * xml/XPathStep.cpp: + (WebCore::XPath::Step::nodesInAxis): Use createAttrIfNeeded() rather than attr() since we + need to make Attr nodes here. Yuck! + +2009-02-02 Yichao Yin <yichao.yin@torchmobile.com.cn> + + Reviewed by Niko Zimmermann. + + Test: wml/input-format.html + + * wml/WMLInputElement.cpp: + (WebCore::WMLInputElement::WMLInputElement): + (WebCore::formatCodes): + (WebCore::WMLInputElement::dispatchBlurEvent): + (WebCore::WMLInputElement::parseMappedAttribute): + (WebCore::WMLInputElement::attach): + (WebCore::WMLInputElement::defaultEventHandler): + (WebCore::WMLInputElement::init): + (WebCore::WMLInputElement::validateInputMask): + (WebCore::WMLInputElement::isConformedToInputMask): + (WebCore::WMLInputElement::cursorPositionToMaskIndex): + * wml/WMLInputElement.h: + +2009-02-02 Brent Fulgham <bfulgham@webkit.org> + + Build fix only, no review. + + Fixes https://bugs.webkit.org/show_bug.cgi?id=23685. + Correct build break caused by @r40473. + + * page/win/FrameWin.cpp: Correct access for adjustPageHeight. + (WebCore::computePageRectsForFrame): + +2009-02-02 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> + + Not reviewed. Fix WML enabled builds. + FrameLoader::urlSelected() got a new parameter: lockBackForwardList. Pass 'false', as HTMLAnchorElement does. + + * wml/WMLAElement.cpp: + (WebCore::WMLAElement::defaultEventHandler): + +2009-02-02 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + <rdar://problem/6451610> Reloading a AppCache page doesn't ever hit the server + + Not easily testable. + + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::ApplicationCacheGroup::createResourceHandle): A new method that creates a resource + handle in a manner that is closer to what CachedResource does. We now make conditional + requests for better performance, and set max-age to ensure that stale responses are not used. + (WebCore::ApplicationCacheGroup::update): Use the new createResourceHandle() method. + (WebCore::ApplicationCacheGroup::didReceiveResponse): If the response code for the resource + is 304, take it from the newest cache. + (WebCore::ApplicationCacheGroup::didFail): Pre-compute request URL. + (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Don't create a resource for + the manifest if the response code was 304 - it won't be needed. + (WebCore::ApplicationCacheGroup::didReceiveManifestData): Replaced an assertion that + m_manifestResource is not null with a check. + (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): Treat null m_manifestResource as + an indication that the response was 304. + (WebCore::ApplicationCacheGroup::startLoadingEntry): Use createResourceHandle(). + + * loader/appcache/ApplicationCacheGroup.h: Added createResourceHandle(). + +2009-02-01 Darin Adler <darin@apple.com> + + Reviewed by Dave Hyatt. + + Bug 23674: Speed up some things based on profiling the page load test + https://bugs.webkit.org/show_bug.cgi?id=23674 + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::canShareStyleWithElement): Use the newly named cssTarget instead + of the old name, getCSSTarget. + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto. + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::insertedIntoDocument): Moved code from Node in here rather than + calling through to EventTargetNode::insertedIntoDocument. + (WebCore::ContainerNode::removedFromDocument): Ditto. + (WebCore::ContainerNode::insertedIntoTree): Tweaked a bit. + (WebCore::ContainerNode::removedFromTree): Ditto. + + * dom/ContainerNode.h: Moved the constructor definition here and made it inline. + + * dom/Document.cpp: + (WebCore::Document::removeAllEventListenersFromAllNodes): Iterate the document element and + its contents only to avoid the document type node. This allows us to remove the virtual + function call to isEventTargetNode from the loop. + (WebCore::Document::setCSSTarget): Changed argument to be an Element rather than Node. + + * dom/Document.h: Changed CSS target to be an Element rather than a Node. Renamed + getCSSTarget to cssTarget. + + * dom/EventTargetNode.cpp: + (WebCore::EventTargetNode::removeAllEventListenersSlowCase): Renamed and turned the + rare data check into an assertion. + + * dom/EventTargetNode.h: Made the fast case of removeAllEventListeners be inline. + Also moved the constructor definition here and made it inline. And added toEventTargetNode, + matching the design of the render tree checked casts. Later we can migrate all callers + from EventTargetNodeCast to toEventTargetNode. + + * dom/NamedAttrMap.cpp: + (WebCore::NamedAttrMap::detachAttributesFromElement): Added. Factored out from + clearAttributes, so we could use this loop in cases where we're not clearing the attributes. + (WebCore::NamedAttrMap::~NamedAttrMap): Call detachAttributesFromElement instead of + clearAttributes here. + (WebCore::NamedAttrMap::clearAttributes): Call detachAttributesFromElement here. + (WebCore::NamedAttrMap::detachFromElement): Call detachAttributesFromElement instead of + clearAttributes. We don't need to clear the attributes array just because the element is + going away, so don't. + (WebCore::NamedAttrMap::virtualLength): Added. + + * dom/NamedAttrMap.h: Made all the virtual functions inherited from NamedNodeMap be private. + These are all unnecessarily inefficient for use outside the DOM. Changed length to be a + non-virtual function. This was a fairly hot function. + + * dom/NamedMappedAttrMap.cpp: + (WebCore::NamedMappedAttrMap::setClass): Changed to use element() function now that the + m_element data member is private. + + * dom/NamedMappedAttrMap.h: Made a few functions private. Made the + hasMappedAttributes function non-virtual. + + * dom/NamedNodeMap.h: Made length a non-virtual inline function that calls a virtual + function, name virtualLength. This lets NamedAttrMap::length be a non-virtual function. + + * dom/Node.cpp: + (WebCore::Node::insertedIntoDocument): Removed call to insertedIntoTree, since it's + only non-empty in subclasses of ContainerNode. + (WebCore::Node::removedFromDocument): Ditto. Also removed setCSSTarget. Since a CSS + target has to be an Element, this can be moved down to ContainerNode (or it could be + moved down to Element for that matter). + + * dom/QualifiedName.cpp: + (WebCore::QualifiedName::QualifiedName): Removed double initialization of m_impl. + + * dom/QualifiedName.h: Moved the destructor, copy constructor, assignment operator, and + setPrefix function definitions into the header and made them inline. + + * html/HTMLAreaElement.cpp: + (WebCore::HTMLAreaElement::mapMouseEvent): Updated since the stored region is now + an OwnPtr. + (WebCore::HTMLAreaElement::accessKey): Use AtomicString. + (WebCore::HTMLAreaElement::setAccessKey): Ditto. + (WebCore::HTMLAreaElement::alt): Ditto. + (WebCore::HTMLAreaElement::setAlt): Ditto. + (WebCore::HTMLAreaElement::coords): Ditto. + (WebCore::HTMLAreaElement::setCoords): Ditto. + (WebCore::HTMLAreaElement::setHref): Ditto. + (WebCore::HTMLAreaElement::shape): Ditto. + (WebCore::HTMLAreaElement::setShape): Ditto. + (WebCore::HTMLAreaElement::setTarget): Ditto. + + * html/HTMLAreaElement.h: Use AtomicString in the getter and setter DOM operations. + Change the region data member to be an OwnPtr<Path> instead of a Path to optimize + the common case where an area element is parsed but never hit-tested. This could + also have been done by changing the Path class's null case to be more efficient, + but this seems fine. + + * html/HTMLViewSourceDocument.cpp: + (WebCore::HTMLViewSourceDocument::createContainingTable): Use addAttribute instead + of insertAttribute. + (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Ditto. + (WebCore::HTMLViewSourceDocument::addLine): Ditto. + (WebCore::HTMLViewSourceDocument::addLink): Ditto. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::gotoAnchor): Use cssTarget under its new name instead + of its old name getCSSTarget. + + * platform/graphics/GlyphWidthMap.cpp: + (WebCore::GlyphWidthMap::locatePageSlowCase): Refactored from locatePage. + + * platform/graphics/GlyphWidthMap.h: Made most of this class inline. + Changed m_pages to use OwnPtr. + + * platform/text/PlatformString.h: Remove include no longer needed since + StringImpl.h includes it. + + * platform/text/StringImpl.cpp: + (WebCore::StringImpl::createStrippingNullCharactersSlowCase): Refactored + from createStrippingNullCharacters. + * platform/text/StringImpl.h: Moved the definition of + createStrippingNullCharacters here and made it inline. + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::firstLineStyleSlowCase): Refactored from + firstLineStyle. + + * rendering/RenderObject.h: Moved the definition of the firstLineStyle + function here and made it inline. Moved the definition of the + documentBeingDestroyed function here and made it inline. + + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::getCTM): Use getAttributeItem instead of + getNamedItem here since it accomplishes the same thing but is more efficient. + (WebCore::SVGSVGElement::getScreenCTM): Ditto. + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::getPresentationAttribute): Ditto. + + * xml/XPathFunctions.cpp: + (WebCore::XPath::FunLang::evaluate): Use getAttributeItem instead of + getNamedItemNS. + + * xml/XPathStep.cpp: + (WebCore::XPath::Step::nodesInAxis): Use attributeItem instead of item here. + +2009-02-02 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Darin Adler. + + Move Frame::forceLayout, Frame::adjustPageHeight and Frame::forceLayoutWithPageWidthRange to FrameView + + https://bugs.webkit.org/show_bug.cgi?id=23428 + + FrameView::forceLayout could be killed but the comment might + contain a value over the the plain FrameView::layout... + + Adjust the WebCore/WebKit consumers of these methods. + + * WebCore.base.exp: + * page/Frame.cpp: + (WebCore::Frame::setPrinting): + * page/Frame.h: + * page/FrameView.cpp: + (WebCore::FrameView::forceLayout): + (WebCore::FrameView::forceLayoutWithPageWidthRange): + (WebCore::FrameView::adjustPageHeight): + * page/FrameView.h: + * page/PrintContext.cpp: + (WebCore::PrintContext::computePageRects): + +2009-02-01 Dan Bernstein <mitz@apple.com> + + Reviewed by John Sullivan. + + - fix <rdar://problem/6546625> REGRESSION (r40432): iframes added to global history at haaretz.co.il + + Fixes http/tests/navigation/multiple-back-forward-entries.html + + r40432 added a parameter to FrameLoader::scheduleLocationChange() and + failed to update all call sites. + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::createWindow): Pass the lockBackForwardHistory parameter, + giving it the same value as the lockHistory parameter. + (windowProtoFuncOpen): Ditto. + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::setLocation): Ditto. + * bindings/js/JSDocumentCustom.cpp: + (WebCore::JSDocument::setLocation): Ditto. + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::requestFrame): Ditto. + +2009-01-31 Dan Bernstein <mitz@apple.com> + + Reviewed by Oliver Hunt. + + - fix <rdar://problem/6546549> Eliminate some RenderText::width() overhead from findNextLineBreak() + + On the PLT, this results in 0.36x the number of virtual function calls + to RenderText::width() and 0.69x the number of calls to + Font::isFixedPitch(), but makes 1.0004x the number of calls to + Font::width(). + + * rendering/RenderText.cpp: + (WebCore::RenderText::width): Replaced bounds checks on 'from' and 'len' + with an assertion. + * rendering/bidi.cpp: + (WebCore::textWidth): Added this inlined helper function which calls + Font::width() directly in the non-fixed-pitch, non-full-range case, and + otherwise calls RenderText::width(). + (WebCore::RenderBlock::findNextLineBreak): Cache whether the font has + fixed pitch (in which case RenderText::width() will be called in order + to take advantage of the widthFromCache() optimization for fixed-pitch + fonts). Replaced all calls to RenderText::width() with calls to the + textWidth() helper function. + +2009-01-31 David Hyatt <hyatt@apple.com> + + Inline all of the setNeedsLayout method and its associated functions. Also inline setChildNeedsLayout + and setNeedsPositionedMovementLayout. + + Reviewed by Dan Bernstein + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::setLayerNeedsFullRepaint): + * rendering/RenderObject.h: + (WebCore::RenderObject::setNeedsLayout): + (WebCore::RenderObject::setChildNeedsLayout): + (WebCore::RenderObject::setNeedsPositionedMovementLayout): + (WebCore::objectIsRelayoutBoundary): + (WebCore::RenderObject::markContainingBlocksForLayout): + +2009-01-31 Darin Adler <darin@apple.com> + + Fix Mac build. + + * loader/FrameLoader.cpp: Moved FrameLoaderClient::hasHTMLView in here. + We need it to not be an inline. Sadly, FrameLoaderClient.cpp was prematurely + deleted and I don't want to bring it back just to fix the build. + + * loader/FrameLoaderClient.h: Rearrange virtual functions and corrected + a possibly-confusing comment. + +2009-01-31 Adam Treat <adam.treat@torchmobile.com> + + Reviewed by David Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=23664 + Remove unused dead code from RenderTable class. The dead code includes + two enums and the associated member variables as well as one getter function. + + * rendering/RenderTable.cpp: + (WebCore::RenderTable::RenderTable): + * rendering/RenderTable.h: + +2009-01-31 David Hyatt <hyatt@apple.com> + + More removal of code from RenderContainer. Move removeLeftoverAnonymousBlock down into RenderBlock. + Move destroyLeftoverChildren into the RenderObjectChildList. Convert all containers to use the + RenderObjectChildList. + + Reviewed by Sam Weinig + + * WebCore.xcodeproj/project.pbxproj: + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::destroy): + (WebCore::RenderBlock::addChild): + (WebCore::RenderBlock::removeLeftoverAnonymousBlock): + (WebCore::RenderBlock::layoutPositionedObjects): + (WebCore::RenderBlock::childBecameNonInline): + * rendering/RenderBlock.h: + * rendering/RenderBox.cpp: + (WebCore::RenderBox::layout): + * rendering/RenderBox.h: + (WebCore::RenderBox::firstChildBox): + (WebCore::RenderBox::lastChildBox): + * rendering/RenderContainer.cpp: + (WebCore::RenderContainer::addChild): + (WebCore::RenderContainer::removeChildNode): + (WebCore::RenderContainer::updateBeforeAfterContentForContainer): + (WebCore::RenderContainer::appendChildNode): + (WebCore::RenderContainer::insertChildNode): + (WebCore::RenderContainer::positionForCoordinates): + (WebCore::RenderContainer::addLineBoxRects): + (WebCore::RenderContainer::collectAbsoluteLineBoxQuads): + * rendering/RenderContainer.h: + (WebCore::RenderContainer::virtualChildren): + (WebCore::RenderContainer::children): + * rendering/RenderInline.cpp: + (WebCore::RenderInline::destroy): + * rendering/RenderInline.h: + (WebCore::RenderInline::layout): + * rendering/RenderMedia.cpp: + (WebCore::RenderMedia::destroy): + (WebCore::RenderMedia::children): + * rendering/RenderMedia.h: + (WebCore::RenderMedia::virtualChildren): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::destroy): + (WebCore::RenderObject::layout): + * rendering/RenderObject.h: + (WebCore::RenderObject::firstChild): + (WebCore::RenderObject::lastChild): + (WebCore::RenderObject::virtualChildren): + (WebCore::RenderObject::canHaveChildren): + * rendering/RenderObjectChildList.cpp: Added. + (WebCore::RenderObjectChildList::destroyLeftoverChildren): + * rendering/RenderObjectChildList.h: + * rendering/RenderReplaced.h: + (WebCore::RenderReplaced::canHaveChildren): + * rendering/RenderSVGContainer.cpp: + (WebCore::RenderSVGContainer::RenderSVGContainer): + (WebCore::RenderSVGContainer::destroy): + (WebCore::RenderSVGContainer::removeChildNode): + (WebCore::RenderSVGContainer::appendChildNode): + (WebCore::RenderSVGContainer::insertChildNode): + * rendering/RenderSVGContainer.h: + (WebCore::RenderSVGContainer::virtualChildren): + (WebCore::RenderSVGContainer::children): + +2009-01-31 David Hyatt <hyatt@apple.com> + + Fix for https://bugs.webkit.org/show_bug.cgi?id=11363 + + Remove the hacks in table code around the DeleteButtonController and fix tables so that positioned children don't get wrapped in anonymous objects. + With the removal of a non-positioned DeleteButtonController renderer, table layout can be tightened up to only lay out table sections. Table section + layout is tightened up to ignore non-table rows. When a table has multiple captions, only the real one will do a layout now. The other ones will + be properly ignored. + + Reviewed by Oliver Hunt + + * editing/DeleteButtonController.cpp: + (WebCore::DeleteButtonController::createDeletionUI): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::addChild): + (WebCore::RenderTable::layout): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::layout): + * rendering/RenderTableSection.h: + +2009-01-31 Adam Treat <adam.treat@torchmobile.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=23663 + Add a void toRenderBox() method which catches unnecessary casts at compile + time and also fix the four cases where this was happening. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::determineHorizontalPosition): + * rendering/RenderBox.h: + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutHorizontalBox): + * rendering/RenderInline.cpp: + (WebCore::RenderInline::updateHitTestResult): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateLayerPosition): + +2009-01-30 Adam Barth <abarth@webkit.org> + + Reviewed by Sam Weinig. + + Add a pref to disable web security. + + * WebCore.base.exp: + * dom/Document.cpp: + (WebCore::Document::initSecurityContext): + * page/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::SecurityOrigin): + (WebCore::SecurityOrigin::canAccess): + (WebCore::SecurityOrigin::canRequest): + (WebCore::SecurityOrigin::grantUniversalAccess): + * page/SecurityOrigin.h: + * page/Settings.cpp: + (WebCore::Settings::Settings): + (WebCore::Settings::setWebSecurityEnabled): + * page/Settings.h: + (WebCore::Settings::isWebSecurityEnabled): + +2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org> + + Build fix. + + Move the inline virtual destructor after a non-inline virtual + function so that the symbol for the vtable is not marked as a + weakly exported symbol. + + This trick was previously used at revision 36122 in JSObject.h + + * loader/FrameLoaderClient.h: + (WebCore::FrameLoaderClient::~FrameLoaderClient): + +2009-01-30 Oliver Hunt <oliver@apple.com> + + Reviewed by Stephanie Lewis + + Inline SimpleFontData::widthForGlyph for a minor page load improvement. + + * platform/graphics/SimpleFontData.cpp: + * platform/graphics/SimpleFontData.h: + (WebCore::SimpleFontData::widthForGlyph): + +2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org> + + Build fix for WX and maybe even Windows. + + * WebCore.vcproj/WebCore.vcproj: + * WebCoreSources.bkl: + +2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Darin Adler. + + Move Frame::sendResizeEvent and Frame::sendScrollEvent to EventHandler + + Carry out the move and catch up in two call sites. + + * WebCore.base.exp: + * page/EventHandler.cpp: + (WebCore::EventHandler::sendResizeEvent): + (WebCore::EventHandler::sendScrollEvent): + * page/EventHandler.h: + * page/Frame.cpp: + * page/Frame.h: + * page/FrameView.cpp: + (WebCore::FrameView::performPostLayoutTasks): + (WebCore::FrameView::valueChanged): + +2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Darin Adler. + + Move Frame::isFrameSet to Document::isFrameSet + + Changed the FrameLoader callsite. I assume that as this + point m_frame.document() might return a null pointer. Change + the condition to either not having a document or not having a + frame set. This should be semantically equivalent to the + old code. + + Make Document::body() const to be able to call it from within + Document::isFrameSet. Leave the isHTMLDocument() check as this + is a stronger condition than simply having a HTMLElement in the + DOM. + + * WebCore.base.exp: + * dom/Document.cpp: + (WebCore::Document::isFrameSet): + (WebCore::Document::body): + * dom/Document.h: + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::shouldScrollToAnchor): + * loader/archive/cf/LegacyWebArchive.cpp: + (WebCore::LegacyWebArchive::createFromSelection): + * page/Frame.cpp: + * page/Frame.h: + +2009-01-30 Aurelian Maga <aurelianmaga@yahoo.com> + + Reviewed by Holger Freyther. + + [GTK] Logic fixes and build fixes + + https://bugs.webkit.org/show_bug.cgi?id=22022 + + Catch up with the internal GeoLocation API and fix the logic of + the previous version. + + * platform/gtk/GeolocationServiceGtk.cpp: + (WebCore::GeolocationServiceGtk::startUpdating): + (WebCore::GeolocationServiceGtk::updateLocationInformation): + (WebCore::GeolocationServiceGtk::position_changed): + +2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Nikolas Zimmermann. + + [GTK] Implement GeolocationService using the Geoclue library + + https://bugs.webkit.org/show_bug.cgi?id=22022 + + Untested implementation of the GeolocationService using the geoclue + library. Velocity handling is completely missing and the accuracy + handling might be wrong. + + * platform/gtk/GeolocationServiceGtk.cpp: + (WTF::GeoclueAccuracy): + (WebCore::GeolocationServiceGtk::GeolocationServiceGtk): + (WebCore::GeolocationServiceGtk::~GeolocationServiceGtk): + (WebCore::GeolocationServiceGtk::startUpdating): + (WebCore::GeolocationServiceGtk::stopUpdating): + (WebCore::GeolocationServiceGtk::suspend): + (WebCore::GeolocationServiceGtk::resume): + (WebCore::GeolocationServiceGtk::lastPosition): + (WebCore::GeolocationServiceGtk::lastError): + (WebCore::GeolocationServiceGtk::updateLocationInformation): + (WebCore::GeolocationServiceGtk::updatePosition): + (WebCore::GeolocationServiceGtk::position_changed): + (WebCore::GeolocationServiceGtk::setError): + * platform/gtk/GeolocationServiceGtk.h: + +2009-01-30 Mark Rowe <mrowe@apple.com> + + Build fix. Declare preferredSize as static. + + * platform/text/cf/StringImplCF.cpp: + (WebCore::StringWrapperCFAllocator::preferredSize): + +2009-01-30 Darin Adler <darin@apple.com> + + Reviewed by Mark Rowe. + + Bug 23622: create CFString and NSString objects from WebCore::String without copying the characters + https://bugs.webkit.org/show_bug.cgi?id=23622 + + * platform/text/cf/StringImplCF.cpp: + (WebCore::StringWrapperCFAllocator::allocator): Added. Returns the allocator. + (WebCore::StringWrapperCFAllocator::retain): Added. Callback for allocator. + (WebCore::StringWrapperCFAllocator::release): Ditto. + (WebCore::StringWrapperCFAllocator::copyDescription): Ditto. + (WebCore::StringWrapperCFAllocator::allocate): Ditto. + (WebCore::StringWrapperCFAllocator::reallocate): Ditto. + (WebCore::StringWrapperCFAllocator::deallocate): Ditto. + (WebCore::StringWrapperCFAllocator::preferredSize): Ditto. + (WebCore::StringWrapperCFAllocator::create): Added. Creates the allocator, but + returns 0 if garbage collection is enabled. + (WebCore::StringImpl::createCFString): Use StringWrapperCFAllocator if possible. + + * platform/text/mac/StringImplMac.mm: + (WebCore::StringImpl::operator NSString *): Use CFString and toll-free bridging, + rather than using NSString directly. This lets NSString benefit from the above. + +2009-01-30 Darin Adler <darin@apple.com> + + * page/Frame.cpp: + (WebCore::Frame::createView): Fix debug build by removing get() from assert. + +2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Simon Hausmann. + + https://bugs.webkit.org/show_bug.cgi?id=22056 + + Kill FrameLoaderClient.cpp, move the code over to Frame::createView + + FrameLoaderClient is supposed to be an interface, move the + to be shared code to Frame which is a controller and is + allowed to create a FrameView. + + * GNUmakefile.am: + * WebCore.base.exp: + * WebCore.pro: + * WebCore.xcodeproj/project.pbxproj: + * loader/FrameLoaderClient.cpp: Removed. + * loader/FrameLoaderClient.h: + (WebCore::FrameLoaderClient::~FrameLoaderClient): + * page/Frame.cpp: + (WebCore::Frame::createView): + * page/Frame.h: + +2009-01-30 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=23357 + + New files to support accelerated compositing at the RenderLayer + level. + + * WebCore.xcodeproj/project.pbxproj: + New files added to project, and run through the sort script. + + * rendering/RenderLayerBacking.cpp: Added. + * rendering/RenderLayerBacking.h: Added. + New object to store compositing-related data for a single + RenderLayer. + + * rendering/RenderLayerCompositor.cpp: Added. + * rendering/RenderLayerCompositor.h: Added. + Per-RenderView controller object for compositing hierarchy + maintenance. + +2009-01-30 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=23356 + + Add new files related to accelerated compositing: + + * WebCore.xcodeproj/project.pbxproj: + Add the files to the project. Also add ColorCG.cpp, for the + Color(CGColorRef) constructor. + + * platform/graphics/GraphicsLayer.cpp: Added. + * platform/graphics/GraphicsLayer.h: Added. + GraphicsLayer is a platform abstraction for a hardware-backed + layer. -2009-02-03 Mark Rowe <mrowe@apple.com> + * platform/graphics/GraphicsLayerClient.h: Added. + Client of GraphicsLayer, allowing GraphicsLayer to call out + to WebCore code. - Merge r40432. + * platform/graphics/mac/GraphicsLayerCA.h: Added. + * platform/graphics/mac/GraphicsLayerCA.mm: Added. + Mac Core Animation implementation of GraphicsLayer. - 2009-01-30 Geoffrey Garen <ggaren@apple.com> + * platform/graphics/mac/WebLayer.h: Added. + * platform/graphics/mac/WebLayer.mm: Added. + * platform/graphics/mac/WebTiledLayer.h: Added. + * platform/graphics/mac/WebTiledLayer.mm: Added. + Subclasses of CALayer and CATiledLayer -- helpers for the + GraphicsLayerCA implementation. + +2009-01-30 Geoffrey Garen <ggaren@apple.com> Reviewed by Sam Weinig. @@ -490,11 +19574,73 @@ * svg/SVGAElement.cpp: (WebCore::SVGAElement::defaultEventHandler): -2009-02-03 Mark Rowe <mrowe@apple.com> +2009-01-30 Sam Weinig <sam@webkit.org> + + Reviewed by Dan Bernstein. + + Fix for <rdar://problem/6545095> + ASSERTION FAILED: RenderBlock.h:519: !o || o->isRenderBlock() + + Test: fast/block/float/crash-replaced-display-block.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlockChildren): Move RenderBlock only code into + isRenderBlock if-statement. + +2009-01-30 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Oliver Hunt. + + Bug 23656: AX hierarchy for iFrames is incorrect + https://bugs.webkit.org/show_bug.cgi?id=23656 - Merge r40424. + The AX hierarchy when an iFrame was present was incorrect. A different scroll area was + returned when going down compared to when going up. - 2009-01-30 Geoffrey Garen <ggaren@apple.com> + * page/mac/AccessibilityObjectWrapper.mm: + (convertToNSArray): + +2009-01-30 Adam Treat <adam.treat@torchmobile.com> + + Fix Qt build to include new class IdentifierRep introduced in revision 40412. + + * WebCore.pro: + +2009-01-30 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Make IdentifierRep.h a private header, and add symbols needed by WebKit to WebCore.LP64.exp. + + * WebCore.LP64.exp: + * WebCore.xcodeproj/project.pbxproj: + +2009-01-30 Sam Weinig <sam@webkit.org> + + Commit files I forgot to in the previous commit. + + * page/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::layoutCount): + * page/Frame.cpp: + (WebCore::Frame::contentRenderer): + (WebCore::Frame::forceLayoutWithPageWidthRange): + * page/FrameView.cpp: + (WebCore::FrameView::layout): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::nodeAtPoint): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::repaintUsingContainer): + (WebCore::RenderObject::repaint): + (WebCore::RenderObject::repaintRectangle): + (WebCore::RenderObject::view): + (WebCore::RenderObject::scheduleRelayout): + (WebCore::RenderObject::maximalOutlineSize): + * rendering/SVGRenderSupport.cpp: + (WebCore::clampImageBufferSizeToViewport): + * svg/SVGLength.cpp: + (WebCore::SVGLength::PercentageOfViewport): + +2009-01-30 Geoffrey Garen <ggaren@apple.com> Reviewed by Darin Adler. @@ -547,125 +19693,338 @@ (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): (WebCore::FrameLoader::loadItem): Use the lockHistory parameter. -2009-02-03 Mark Rowe <mrowe@apple.com> +2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org> - Merge r40376. + Reviewed by Mark Rowe. - 2009-01-29 Geoffrey Garen <ggaren@apple.com> + [Gtk+] Use AccessibilityObject::stringValue for the AtkObject name - Reviewed by Oliver Hunt. + https://bugs.webkit.org/show_bug.cgi?id=21546 - Cleaned up some naming in ScheduledRedirection. + The API documentation at http://library.gnome.org/devel/atk/stable/AtkText.html + states that: "AtkObjects whose text content is simple, unattributed, and very + brief may expose that content via atk_object_get_name instead" - * loader/FrameLoader.cpp: - (WebCore::ScheduledRedirection::ScheduledRedirection): + As we are currently not able to always provide a AtkTextInterface + implementation this will make the whole content available to accerciser, + and other tools. -2009-02-03 Mark Rowe <mrowe@apple.com> + * page/gtk/AccessibilityObjectWrapperAtk.cpp: - Merge r40373. +2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org> - 2009-01-29 Geoffrey Garen <ggaren@apple.com> + Unreviewed build fix. - Reviewed by Oliver Hunt. + Include string.h for strdup. - Removed an unused case of "lockHistory" to help make the other cases - clearer. + * bridge/IdentifierRep.h: - * page/FrameLoadRequest.h: - (WebCore::FrameLoadRequest::FrameLoadRequest): +2009-01-30 Sam Weinig <sam@webkit.org> -2009-02-03 Mark Rowe <mrowe@apple.com> + Reviewed by Dan Bernstein. - Merge r40353. + Add toRenderView methods for casting RenderObjects to RenderViews. The methods will assert if the object + is not a RenderView. - 2009-01-28 Geoffrey Garen <ggaren@apple.com> + * dom/Document.cpp: + (WebCore::Document::renderView): + * editing/SelectionController.cpp: + (WebCore::SelectionController::nodeWillBeRemoved): + (WebCore::SelectionController::recomputeCaretRect): + (WebCore::SelectionController::invalidateCaretRect): + (WebCore::SelectionController::focusedOrActiveStateChanged): + * editing/mac/SelectionControllerMac.mm: + (WebCore::SelectionController::notifyAccessibilityForSelectionChange): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::styleDidChange): + (WebCore::RenderBox::repaintLayerRectsForImage): + (WebCore::RenderBox::availableHeightUsing): + * rendering/RenderView.h: + (WebCore::toRenderView): - Reviewed by Sam Weinig. +2009-01-30 Simon Fraser <simon.fraser@apple.com> - Merged FrameLoadTypeReloadAllowingStaleData with FrameLoadTypeReload. + Reviewed by Dave Hyatt - Technically, selecting View->Text Encoding->[Non-Default Encoding] on - a page with frames may now be slightly slower than it used to be. Oh well. + https://bugs.webkit.org/show_bug.cgi?id=23360 - * loader/FrameLoader.cpp: - (WebCore::isBackForwardLoadType): - (WebCore::FrameLoader::restoreDocumentState): Subbed in FrameLoadTypeReload. + Really use the container-relative repaint rect methods + for repaint during layout - (WebCore::FrameLoader::loadURLIntoChildFrame): No need to account for - non-back-forward navigations anymore. + * rendering/RenderObject.h: + (WebCore::RenderObject::LayoutRepainter::LayoutRepainter): - (WebCore::FrameLoader::canCachePage): - (WebCore::FrameLoader::logCanCachePageDecision): - (WebCore::FrameLoader::reloadWithOverrideEncoding): - (WebCore::FrameLoader::transitionToCommitted): - (WebCore::FrameLoader::loadItem): Subbed in FrameLoadTypeReload. +2009-01-30 Anders Carlsson <andersca@apple.com> - * loader/FrameLoader.h: Renamed reloadAllowingStaleData => reloadWithOverrideEncoding, - since that's what it actually does. + Reviewed by Darin Adler. -2009-02-03 Mark Rowe <mrowe@apple.com> + Get rid of PrivateIdentifier and use IdentifierRep instead. - Merge r40558. + * bridge/NP_jsobject.cpp: + (_NPN_Invoke): + (_NPN_GetProperty): + (_NPN_SetProperty): + (_NPN_RemoveProperty): + (_NPN_HasProperty): + (_NPN_HasMethod): + * bridge/c/c_instance.cpp: + (JSC::Bindings::CInstance::getPropertyNames): + * bridge/c/c_utility.cpp: + (JSC::Bindings::convertNPStringToUTF16): + * bridge/c/c_utility.h: + * bridge/npruntime.cpp: + (_NPN_GetStringIdentifier): + (_NPN_GetStringIdentifiers): + (_NPN_GetIntIdentifier): + (_NPN_IdentifierIsString): + (_NPN_UTF8FromIdentifier): + (_NPN_IntFromIdentifier): - 2009-02-03 Anders Carlsson <andersca@apple.com> +2009-01-30 Anders Carlsson <andersca@apple.com> - Reviewed by Kevin Decker. + Reviewed by Sam Weinig and Darin Adler. - - Fix for <rdar://problem/6549743> + Make IdentifierRep a real class, add necessary class methods. - On Tiger, create an autorelease pool before creating the NSGraphicsContext and drain it immediately - after the call to -[NSView displayRectIgnoringOpacity:inContext:]. + * bridge/IdentifierRep.cpp: + (WebCore::identifierSet): + Returns a set of all identifiers. - * platform/mac/WidgetMac.mm: - (WebCore::Widget::paint): + (WebCore::IdentifierRep::isValid): + Return whether an identifier is valid, meaning that it's present in the + set of identifiers. -2009-02-03 Mark Rowe <mrowe@apple.com> + * bridge/IdentifierRep.h: + (WebCore::IdentifierRep::isString): + (WebCore::IdentifierRep::number): + (WebCore::IdentifierRep::string): + (WebCore::IdentifierRep::IdentifierRep): + (WebCore::IdentifierRep::): - Merge r40541. +2009-01-30 Anders Carlsson <andersca@apple.com> - 2009-02-03 Dan Bernstein <mitz@apple.com> + Reviewed by Sam Weinig. - Reviewed by Brady Eidson. + Add IdentifierRep which will be used by both plug-in implementations. - - fix <rdar://problem/6550530> REGRESSION (r40508): Window opened with window.open has no initial history item (global and back/forward) + * GNUmakefile.am: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bridge/IdentifierRep.cpp: Added. + (WebCore::IdentifierRep::IdentifierRep): + (WebCore::IdentifierRep::): + (WebCore::intIdentifierMap): + (WebCore::identifierRep): + (WebCore::stringIdentifierMap): + * bridge/IdentifierRep.h: Added. + * bridge/c/c_utility.h: + * platform/text/PlatformString.h: + * platform/text/String.cpp: + (WebCore::String::fromUTF8WithLatin1Fallback): - Test: fast/history/window-open.html +2009-01-30 Sam Weinig <sam@webkit.org> - * bindings/js/JSDOMWindowBase.cpp: - (WebCore::createWindow): Pass the missing lockBackForwardList parameter - to FrameLoader::changeLocation(). + Reviewed by David Hyatt. -2009-02-03 Mark Rowe <mrowe@apple.com> + Add toRenderInline methods for casting RenderObjects to RenderInlines. The methods will assert if the object + is not a RenderInline. - Merge r40472. + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::removeLineBoxFromRenderObject): + (WebCore::InlineFlowBox::extractLineBoxFromRenderObject): + (WebCore::InlineFlowBox::attachLineBoxToRenderObject): + (WebCore::InlineFlowBox::rendererLineBoxes): + (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): + (WebCore::InlineFlowBox::paint): + * rendering/LayoutState.cpp: + (WebCore::LayoutState::LayoutState): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::paintObject): + (WebCore::RenderBlock::addFocusRingRects): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::offsetFromContainer): + (WebCore::RenderBox::computeRectForRepaint): + (WebCore::RenderBox::containingBlockWidthForPositioned): + (WebCore::RenderBox::containingBlockHeightForPositioned): + (WebCore::RenderBox::calcAbsoluteHorizontalValues): + (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): + * rendering/RenderContainer.cpp: + (WebCore::RenderContainer::updateBeforeAfterContentForContainer): + * rendering/RenderInline.cpp: + (WebCore::RenderInline::inlineContinuation): + (WebCore::nextContinuation): + (WebCore::RenderInline::splitInlines): + * rendering/RenderInline.h: + (WebCore::toRenderInline): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateLayerPosition): + (WebCore::RenderLayer::boundingBox): + * rendering/RenderLineBoxList.cpp: + (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild): + * rendering/RenderText.h: + * rendering/RenderTreeAsText.cpp: + (WebCore::operator<<): + * rendering/bidi.cpp: + (WebCore::RenderBlock::createLineBoxes): + (WebCore::RenderBlock::layoutInlineChildren): - 2009-02-01 Dan Bernstein <mitz@apple.com> +2009-01-30 Darin Fisher <darin@chromium.org> - Reviewed by John Sullivan. + Reviewed by Eric Seidel. - - fix <rdar://problem/6546625> REGRESSION (r40432): iframes added to global history at haaretz.co.il + https://bugs.webkit.org/show_bug.cgi?id=23647 + Fix PLATFORM(SKIA)'s ImageSource::clear method to match other ports - Fixes http/tests/navigation/multiple-back-forward-entries.html + * platform/graphics/skia/ImageSourceSkia.cpp: + (WebCore::ImageSource::clear): - r40432 added a parameter to FrameLoader::scheduleLocationChange() and - failed to update all call sites. +2009-01-30 David Hyatt <hyatt@apple.com> + + Add toRenderBlock methods for casting RenderObjects to RenderBlocks. The methods will assert if the object + is not a RenderBlock. Also add a toRenderBlock method that takes a RenderBlock but returns void and that + is unimplemented. This method will catch anyone trying to do a cast when the object is already a RenderBlock. + + Making this change caught a bad cast in RenderBlock::layoutBlockChildren, so that is also fixed by this + patch with a containsFloats() check. + + Reviewed by Darin Adler + + * dom/PositionIterator.cpp: + (WebCore::PositionIterator::isCandidate): + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded): + * editing/Editor.cpp: + (WebCore::Editor::hasBidiSelection): + * page/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::anchorElement): + (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::styleWillChange): + (WebCore::RenderBlock::removeChild): + (WebCore::RenderBlock::layoutBlock): + (WebCore::RenderBlock::collapseMargins): + (WebCore::RenderBlock::clearFloatsIfNeeded): + (WebCore::RenderBlock::layoutBlockChildren): + (WebCore::RenderBlock::fillBlockSelectionGaps): + (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout): + (WebCore::RenderBlock::firstLineBlock): + (WebCore::getLineAtIndex): + (WebCore::getHeightForLineCount): + (WebCore::RenderBlock::lineCount): + (WebCore::RenderBlock::adjustForBorderFit): + (WebCore::RenderBlock::clearTruncation): + * rendering/RenderBlock.h: + (WebCore::toRenderBlock): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::offsetFromContainer): + (WebCore::RenderBox::computeRectForRepaint): + (WebCore::RenderBox::calcReplacedHeightUsing): + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutHorizontalBox): + (WebCore::RenderFlexibleBox::layoutVerticalBox): + * rendering/RenderInline.cpp: + (WebCore::RenderInline::inlineContinuation): + (WebCore::nextContinuation): + (WebCore::RenderInline::positionForCoordinates): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateScrollInfoAfterLayout): + * rendering/RenderListItem.cpp: + (WebCore::getParentOfFirstLineBox): + (WebCore::RenderListItem::positionListMarker): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::containingBlock): + (WebCore::RenderObject::computeRectForRepaint): + (WebCore::RenderObject::removeFromObjectLists): + (WebCore::RenderObject::getTextDecorationColors): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::addChild): + (WebCore::RenderTable::recalcSections): + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::styleDidChange): + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight): + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::block): + * rendering/bidi.cpp: + (WebCore::RenderBlock::createLineBoxes): + +2009-01-30 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig + + - Let CachedFrame handle the suspending/resuming of active DOM objects itself instead of + relying on some outside force. + - Clear the previous history item inside FrameLoader instead of relying on multiple + FrameLoaderClients to do it. + + * history/CachedFrame.cpp: + (WebCore::CachedFrame::CachedFrame): Suspend active DOM objects here. + (WebCore::CachedFrame::restore): Resume those DOM objects here. + * history/CachedFrame.h: + (WebCore::CachedFrame::domWindow): - * bindings/js/JSDOMWindowBase.cpp: - (WebCore::createWindow): Pass the lockBackForwardHistory parameter, - giving it the same value as the lockHistory parameter. - (windowProtoFuncOpen): Ditto. - * bindings/js/JSDOMWindowCustom.cpp: - (WebCore::JSDOMWindow::setLocation): Ditto. - * bindings/js/JSDocumentCustom.cpp: - (WebCore::JSDocument::setLocation): Ditto. * loader/FrameLoader.cpp: - (WebCore::FrameLoader::requestFrame): Ditto. + (WebCore::FrameLoader::commitProvisionalLoad): Let CachedFrame creation handle the + suspending of active DOM objects. + (WebCore::FrameLoader::open): Let CachedFrame::restore() handle resuming those DOM objects. + (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Call frameLoadCompleted() instead + of performing a client call by itself. + (WebCore::FrameLoader::frameLoadCompleted): + +2009-01-30 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + <rdar://problem/6448823> Application Cache is kept after a private browsing session + + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::ApplicationCacheGroup::selectCache): + (WebCore::ApplicationCacheGroup::update): + Cache update will not be started if private browsing is enabled. Existing cache version + from disk database will be used. + + * loader/appcache/ApplicationCacheGroup.h: Made postListenerTask() static, in order to call + it when refusing to update from selectCache(). + + * loader/appcache/ApplicationCache.cpp: + (WebCore::ApplicationCache::addDynamicEntry): + (WebCore::ApplicationCache::removeDynamicEntry): + Added reminders about private browsing to unimplemented methods. + +2009-01-30 Laszlo Gombos <laszlo.1.gombos@nokia.com> + + Reviewed by Simon Hausmann. + + Bug 23580: GNU mode RVCT compilation support + <https://bugs.webkit.org/show_bug.cgi?id=23580> + + * html/PreloadScanner.cpp: Use COMPILER(GCC) instead of __GNUC__. + +2009-01-30 David Levin <levin@chromium.org> -2009-02-03 Mark Rowe <mrowe@apple.com> + Reviewed by Alexey Proskuryakov. + + Bug 23616: Various "template helpers" should be consolidated from isolated files in JavaScriptCore. + <https://bugs.webkit.org/show_bug.cgi?id=23616> + + Added forwarding header. + + * ForwardingHeaders/wtf/TypeTraits.h: Added. + +2009-01-30 David Levin <levin@chromium.org> - Merge r40397. + Reviewed by Alexey Proskuryakov. + + Bug 23599: ResourceError needs to be copyable for use in another thread. + <https://bugs.webkit.org/show_bug.cgi?id=23599> + + Add ResourceErrorBase::copy method. (Not yet used.) + + * platform/network/ResourceErrorBase.cpp: + (WebCore::ResourceErrorBase::copy): + * platform/network/ResourceErrorBase.h: - 2009-01-29 Stephanie Lewis <slewis@apple.com> +2009-01-29 Stephanie Lewis <slewis@apple.com> RS by Oliver Hunt. @@ -673,11 +20032,460 @@ * WebCore.order: -2009-02-03 Mark Rowe <mrowe@apple.com> +2009-01-29 Dmitry Titov <dimich@chromium.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=23488 + + Make TimerBase thread-aware (for Workers). + Added new class ThreadTimers - it keeps a heap of all timers for a thread (previously kept in a static global). + Pointer to instance of ThreadTimers is stored in GlobalThreadData. + Most static methods of TimerBase went to ThreadTimers. + + The TimerBase functionality did not change (it maintains the timer heap which computes the nearest firing). + + Added new abstract class SharedTimer, so worker threads can provide their own implementation (will be implemented on WorkerRunLoop). + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.scons: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + Added new ThreadTimers.cpp to build files. + + * platform/SharedTimer.h: + (WebCore::SharedTimer::~SharedTimer): + (WebCore::MainThreadSharedTimer::setFiredFunction): + (WebCore::MainThreadSharedTimer::setFireTime): + (WebCore::MainThreadSharedTimer::stop): + Added abstract SharedTimer and MainThreadSharedTimer which redirects to the existing port-supplied functions. + + * platform/ThreadGlobalData.cpp: + (WebCore::ThreadGlobalData::ThreadGlobalData): + (WebCore::ThreadGlobalData::~ThreadGlobalData): + * platform/ThreadGlobalData.h: + (WebCore::ThreadGlobalData::threadTimers): + Added ThreadTimers to ThreadGlobalData. + + * platform/ThreadTimers.cpp: Added. + (WebCore::mainThreadSharedTimer): + Static getter for a MainThreadSharedTimer singleton. + + (WebCore::ThreadTimers::ThreadTimers): + (WebCore::ThreadTimers::setSharedTimer): + (WebCore::ThreadTimers::updateSharedTimer): + (WebCore::ThreadTimers::collectFiringTimers): + (WebCore::ThreadTimers::fireTimers): + (WebCore::ThreadTimers::sharedTimerFired): + (WebCore::ThreadTimers::sharedTimerFiredInternal): + (WebCore::ThreadTimers::fireTimersInNestedEventLoop): + ThreadTimers implementation. Most of the code is moved from previous static functions on TimerBase. + Need a new class so each thread may get ts own copy of the timer heap. + + * platform/ThreadTimers.h: Added. + (WebCore::ThreadTimers::timerHeap): + (WebCore::ThreadTimers::timersReadyToFire): + + * platform/Timer.cpp: + (WebCore::timerHeap): + (WebCore::timersReadyToFire): + (WebCore::TimerHeapElement::TimerHeapElement): + (WebCore::TimerHeapElement::checkConsistency): + (WebCore::TimerHeapElement::operator=): + (WebCore::TimerHeapIterator::checkConsistency): + (WebCore::TimerBase::TimerBase): + (WebCore::TimerBase::~TimerBase): + (WebCore::TimerBase::isActive): + (WebCore::TimerBase::checkHeapIndex): + (WebCore::TimerBase::heapDelete): + (WebCore::TimerBase::heapDeleteMin): + (WebCore::TimerBase::heapInsert): + (WebCore::TimerBase::heapPopMin): + (WebCore::TimerBase::setNextFireTime): + (WebCore::TimerBase::fireTimersInNestedEventLoop): + Now instead of static timer heap these use accessor functions that pull thread-specific heap instance. + + * platform/Timer.h: + static methods moved to ThreadTimers. + +2009-01-29 David Hyatt <hyatt@apple.com> + + Beginning of work to eliminate RenderContainer and make containership "pluggable" into any spot in the render tree. The first step is to create + the new object that will handle children: RenderObjectChildList and move RenderContainer's member variables into it. Subsequent patches will begin + moving RenderContainer's functionality into RenderObjectChildList. + + Reviewed by Eric Seidel + + * WebCore.xcodeproj/project.pbxproj: + * rendering/RenderContainer.cpp: + (WebCore::RenderContainer::RenderContainer): + (WebCore::RenderContainer::destroyLeftoverChildren): + (WebCore::RenderContainer::addChild): + (WebCore::RenderContainer::removeChildNode): + (WebCore::RenderContainer::updateBeforeAfterContentForContainer): + (WebCore::RenderContainer::appendChildNode): + (WebCore::RenderContainer::insertChildNode): + (WebCore::RenderContainer::layout): + (WebCore::RenderContainer::removeLeftoverAnonymousBlock): + (WebCore::RenderContainer::positionForCoordinates): + (WebCore::RenderContainer::addLineBoxRects): + (WebCore::RenderContainer::collectAbsoluteLineBoxQuads): + * rendering/RenderContainer.h: + (WebCore::RenderContainer::firstChild): + (WebCore::RenderContainer::lastChild): + (WebCore::RenderContainer::firstChildBox): + (WebCore::RenderContainer::lastChildBox): + * rendering/RenderObjectChildList.h: Added. + (WebCore::RenderObjectChildList::RenderObjectChildList): + (WebCore::RenderObjectChildList::firstChild): + (WebCore::RenderObjectChildList::lastChild): + (WebCore::RenderObjectChildList::setFirstChild): + (WebCore::RenderObjectChildList::setLastChild): + +2009-01-29 Jungshik Shin <jshin@chromium.org> + + Reviewed by Alexey Proskuryakov. + + http://bugs.webkit.org/show_bug.cgi?id=23598 + Replace smart-quotes in UTF-8 with ASCII double-quotes to avoid + the compilation error on CJK Windows + + * wml/WMLTableElement.cpp: + (WebCore::WMLTableElement::parseMappedAttribute): + +2009-01-29 Darin Fisher <darin@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23627 + Fix the PLATFORM(SKIA) build. + + * svg/graphics/SVGPaintServer.cpp: + (WebCore::SVGPaintServer::teardown): + +2009-01-29 Scott Violet <sky@google.com> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23625 + Skia platform doesn't render text to a canvas or support clipping to an image buffer + + Fixes two bugs in Skia rendering to a canvas: + . Text was not rendered at all. This is because we never properly + fixed up the alpha values. The fix is to create a layer when + rendering text to a layer. + . We were not honoring clipping to an image buffer. + + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::Font::drawGlyphs): + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::clipToImageBuffer): + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::ImageBuffer::ImageBuffer): + * platform/graphics/skia/PlatformContextSkia.cpp: + (PlatformContextSkia::PlatformContextSkia): + (PlatformContextSkia::setDrawingToImageBuffer): + (PlatformContextSkia::isDrawingToImageBuffer): + (PlatformContextSkia::beginLayerClippedToImage): + (PlatformContextSkia::restore): + (PlatformContextSkia::applyClipFromImage): + * platform/graphics/skia/PlatformContextSkia.h: + +2009-01-29 Sam Weinig <sam@webkit.org> + + Reviewed by Mark Rowe. + + First step in tracking the urls a HistoryItem was redirected through. + + * WebCore.base.exp: + * history/HistoryItem.cpp: + (WebCore::HistoryItem::HistoryItem): + (WebCore::HistoryItem::addRedirectURL): + (WebCore::HistoryItem::redirectURLs): + (WebCore::HistoryItem::setRedirectURLs): + * history/HistoryItem.h: + +2009-01-29 Dirk Schulze <krit@webkit.org> + + Reviewed by Nikolas Zimmermann, Eric Seidel. + + Just transform the pattern directly instead of transforming the context fixes this + problem. Texts or strokes are no longer affected by transformations. + + SVG pattern transformation/BoundingBox can cause ugly stroke thickness or text positions + https://bugs.webkit.org/show_bug.cgi?id=23472 + + Test: svg/custom/pattern-with-transformation.svg + + * platform/graphics/Pattern.h: + (WebCore::Pattern::setPatternSpaceTransform): + * platform/graphics/cairo/PatternCairo.cpp: + (WebCore::Pattern::createPlatformPattern): + * platform/graphics/cg/PatternCG.cpp: + (WebCore::Pattern::createPlatformPattern): + * platform/graphics/qt/PatternQt.cpp: + (WebCore::Pattern::createPlatformPattern): + * svg/graphics/SVGPaintServerPattern.cpp: + (WebCore::SVGPaintServerPattern::setup): + +2009-01-29 David Hyatt <hyatt@apple.com> + + Move the line box list member out of RenderFlow and down into RenderBlock and RenderInline. Eliminate RenderFlow from the tree. + + Reviewed by Sam Weinig + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * html/HTMLAnchorElement.cpp: + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::rendererLineBoxes): + (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): + * rendering/InlineFlowBox.h: + * rendering/LayoutState.cpp: + (WebCore::LayoutState::LayoutState): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::RenderBlock): + (WebCore::RenderBlock::destroy): + (WebCore::RenderBlock::styleWillChange): + (WebCore::RenderBlock::styleDidChange): + (WebCore::RenderBlock::dirtyLineBoxes): + (WebCore::RenderBlock::removeChild): + (WebCore::RenderBlock::setSelectionState): + (WebCore::RenderBlock::avoidsFloats): + (WebCore::RenderBlock::positionForCoordinates): + (WebCore::RenderBlock::calcInlinePrefWidths): + (WebCore::RenderBlock::baselinePosition): + (WebCore::RenderBlock::getBaselineOfFirstLineBox): + (WebCore::RenderBlock::getBaselineOfLastLineBox): + (WebCore::RenderBlock::rectWithOutlineForRepaint): + (WebCore::RenderBlock::hoverAncestor): + (WebCore::RenderBlock::updateDragState): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::lineBoxes): + (WebCore::RenderBlock::firstLineBox): + (WebCore::RenderBlock::lastLineBox): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::offsetFromContainer): + (WebCore::RenderBox::computeRectForRepaint): + (WebCore::RenderBox::containingBlockWidthForPositioned): + (WebCore::RenderBox::calcAbsoluteHorizontalValues): + (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): + * rendering/RenderBox.h: + * rendering/RenderFlow.cpp: Removed. + * rendering/RenderFlow.h: Removed. + * rendering/RenderInline.cpp: + (WebCore::RenderInline::RenderInline): + (WebCore::RenderInline::destroy): + (WebCore::RenderInline::styleDidChange): + (WebCore::RenderInline::addChildIgnoringContinuation): + (WebCore::RenderInline::cloneInline): + (WebCore::RenderInline::splitInlines): + (WebCore::RenderInline::offsetLeft): + (WebCore::RenderInline::offsetTop): + (WebCore::RenderInline::positionForCoordinates): + (WebCore::RenderInline::rectWithOutlineForRepaint): + (WebCore::RenderInline::updateDragState): + (WebCore::RenderInline::relativePositionedInlineOffset): + * rendering/RenderInline.h: + (WebCore::RenderInline::lineBoxes): + (WebCore::RenderInline::firstLineBox): + (WebCore::RenderInline::lastLineBox): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateLayerPosition): + * rendering/RenderLineBoxList.cpp: + (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild): + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::rendererLineBoxes): + * rendering/RootInlineBox.h: + * rendering/bidi.cpp: + (WebCore::RenderBlock::createLineBoxes): + * wml/WMLAElement.cpp: + +2009-01-29 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Oliver Hunt. + + Cleaned up some naming in ScheduledRedirection. + + * loader/FrameLoader.cpp: + (WebCore::ScheduledRedirection::ScheduledRedirection): + +2009-01-29 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Update to use new API. + + * platform/graphics/mac/FontCustomPlatformData.cpp: + (WebCore::FontCustomPlatformData::~FontCustomPlatformData): + (WebCore::createFontCustomPlatformData): + +2009-01-29 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Nikolas Zimmermann. + + https://bugs.webkit.org/show_bug.cgi?id=23619 + ASSERT(!error.isNull()) in DocumentLoader::mainReceivedError() when an SVG image load + is cancelled + + Covered by existing tests (as a random crash). + + * loader/EmptyClients.h: + (WebCore::EmptyFrameLoaderClient::cancelledError): + (WebCore::EmptyFrameLoaderClient::blockedError): + (WebCore::EmptyFrameLoaderClient::cannotShowURLError): + (WebCore::EmptyFrameLoaderClient::interruptForPolicyChangeError): + (WebCore::EmptyFrameLoaderClient::cannotShowMIMETypeError): + (WebCore::EmptyFrameLoaderClient::fileDoesNotExistError): + (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError): + Create non-null errors. + +2009-01-29 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Oliver Hunt. + + Removed an unused case of "lockHistory" to help make the other cases + clearer. + + * page/FrameLoadRequest.h: + (WebCore::FrameLoadRequest::FrameLoadRequest): + +2009-01-29 David Hyatt <hyatt@apple.com> + + Move all of the contination insertion code from RenderFlow to RenderInline. addChildToFlow is renamed to addChildIgnoringContinuation, and it has been moved to + RenderContainer so that it can still be called on either blocks or inlines. The base class implementation in RenderContainer is what RenderBlock uses. RenderInline + subclasses it to do all the work it used to do in addChildToFlow. + + RenderBlock's old addChildToFlow can just become addChild. This simplification is possible because addChild was actually never being called on anonymous + block continuations. + + The code dealing with anonymous table parts in the old addChildWithContinuation method can now be removed as a result with no harmful side effects. Falling through to the + base class and ignoring a block continuation makes the right thing happen. + + addChildWithContinuation moved to RenderInline and has been renamed to addChildToContinuation. + + Reviewed by Eric Seidel + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::addChild): + * rendering/RenderBlock.h: + * rendering/RenderContainer.h: + (WebCore::RenderContainer::addChildIgnoringContinuation): + * rendering/RenderFlow.cpp: + * rendering/RenderFlow.h: + * rendering/RenderInline.cpp: + (WebCore::RenderInline::styleDidChange): + (WebCore::RenderInline::addChild): + (WebCore::nextContinuation): + (WebCore::RenderInline::continuationBefore): + (WebCore::RenderInline::addChildIgnoringContinuation): + (WebCore::RenderInline::splitInlines): + (WebCore::RenderInline::splitFlow): + (WebCore::RenderInline::addChildToContinuation): + (WebCore::RenderInline::childBecameNonInline): + * rendering/RenderInline.h: + (WebCore::RenderInline::continuation): + (WebCore::RenderInline::setContinuation): + +2009-01-29 Brady Eidson <beidson@apple.com> + + Reviewed by Oliver Hunt + + <rdar://problem/6337157> hyundaiusa.com closes window or tab during load + + Test: fast/loader/subframe-self-close.html + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::close): Only allow mainframes to close the window. + +2009-01-29 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> + + Reviewed by David Hyatt. + + Fixes: https://bugs.webkit.org/show_bug.cgi?id=23539 + + Remove several virtual functions from Node & Element related to form control / input elements, + that shouldn't reside there, but move to approriate locations, in the new form control / + input element abstract base classes. - Merge r40368. + Remove the isControl() method from Node, as it's redundant - isFormControlElement() provides the same information. + Move isEnabled( / isReadOnlyControl() / isTextControl() from Node to FormControlElement. + Move isAutofilled() / isChecked() / isIndeterminate() from Node to InputElement. + Move isInputTypeHidden() / isPasswordField() from Element to InputElement. - 2009-01-29 Alexey Proskuryakov <ap@webkit.org> + Querying these methods requires using the toInputElement/toFormControlElement casting helper functions + to cast Element pointers to InputElement/FormControlElement pointers. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::canShareStyleWithElement): + (WebCore::CSSStyleSelector::adjustRenderStyle): + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): + * dom/Element.h: + (WebCore::Element::isFormControlElementWithState): + * dom/FormControlElement.h: + * dom/InputElement.h: + * dom/Node.h: + * editing/TextIterator.cpp: + (WebCore::TextIterator::advance): + * html/HTMLFormControlElement.cpp: + (WebCore::HTMLFormControlElement::attach): + * html/HTMLFormControlElement.h: + (WebCore::HTMLFormControlElement::isTextControl): + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::CheckedRadioButtons::removeButton): + * html/HTMLInputElement.h: + (WebCore::HTMLInputElement::isAutofilled): + * page/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::isPasswordField): + (WebCore::AccessibilityRenderObject::isIndeterminate): + (WebCore::AccessibilityRenderObject::isChecked): + (WebCore::AccessibilityRenderObject::isControl): + (WebCore::AccessibilityRenderObject::isEnabled): + (WebCore::AccessibilityRenderObject::canSetFocusAttribute): + * page/mac/AccessibilityObjectWrapper.mm: + (textMarkerForVisiblePosition): + * platform/ContextMenu.cpp: + (WebCore::ContextMenu::populate): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::resize): + * rendering/RenderMenuList.cpp: + (WebCore::RenderMenuList::itemIsEnabled): + * rendering/RenderTextControl.cpp: + (WebCore::updateUserModifyProperty): + (WebCore::RenderTextControl::adjustInnerTextStyle): + (WebCore::RenderTextControl::updateFromElement): + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::isChecked): + (WebCore::RenderTheme::isIndeterminate): + (WebCore::RenderTheme::isEnabled): + (WebCore::RenderTheme::isReadOnlyControl): + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::adjustMenuListStyle): + * wml/WMLFormControlElement.cpp: + (WebCore::WMLFormControlElement::isFocusable): + * wml/WMLFormControlElement.h: + (WebCore::WMLFormControlElement::isEnabled): + (WebCore::WMLFormControlElement::isReadOnlyControl): + (WebCore::WMLFormControlElement::isTextControl): + * wml/WMLInputElement.cpp: + (WebCore::WMLInputElement::isKeyboardFocusable): + (WebCore::WMLInputElement::isMouseFocusable): + * wml/WMLInputElement.h: + (WebCore::WMLInputElement::isAutofilled): + +2009-01-29 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> + + Not reviewed. Fix WML build - apply same fix as HTMLAnchorElement received. + + * wml/WMLAElement.cpp: + (WebCore::WMLAElement::isKeyboardFocusable): + +2009-01-29 Alexey Proskuryakov <ap@webkit.org> Reviewed by Anders Carlsson. @@ -697,11 +20505,23 @@ (WebCore::ApplicationCacheGroup::didReceiveResponse): Fixed to check for redirects correctly. (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Ditto. -2009-02-03 Mark Rowe <mrowe@apple.com> +2009-01-29 David Hyatt <hyatt@apple.com> - Merge r40366. + Move dirtyLinesFromChangedChild into RenderLineBoxList so that it can be shared by RenderBlock and RenderInline. - 2009-01-29 Adam Roben <aroben@apple.com> + Reviewed by Sam Weinig + + * rendering/RenderBlock.h: + (WebCore::RenderBlock::dirtyLinesFromChangedChild): + * rendering/RenderFlow.cpp: + * rendering/RenderFlow.h: + * rendering/RenderInline.h: + (WebCore::RenderInline::dirtyLinesFromChangedChild): + * rendering/RenderLineBoxList.cpp: + (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild): + * rendering/RenderLineBoxList.h: + +2009-01-29 Adam Roben <aroben@apple.com> Fix Bug 23623: Windowed Flash instances aren't captured when a WebView receives a WM_PRINTCLIENT message @@ -762,22 +20582,73 @@ (WebCore::PluginView::init): Call setUpOffscreenPaintingHooks to make our WM_PRINTCLIENT trick work. -2009-02-03 Mark Rowe <mrowe@apple.com> +2009-01-29 David Hyatt <hyatt@apple.com> + + Move RenderFlow::destroy down into RenderBlock and RenderInline. + + Reviewed by Anders Carlsson + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::destroy): + * rendering/RenderFlow.cpp: + * rendering/RenderFlow.h: + * rendering/RenderInline.cpp: + (WebCore::RenderInline::destroy): + +2009-01-29 David Kilzer <ddkilzer@apple.com> + + Remove semi-colons from the end of ObjC method implementations + + Rubber-stamped by Adam Roben. + + $ find WebCore -name \*.m -o -name \*.mm -exec perl -e 'undef $/; $s = <>; while ($s =~ m/[\n\r][-+].*;[\s\r\n]+\{/g) { print "$ARGV: $&\n"; }' {} \; + + * bridge/testbindings.mm: + +2009-01-29 Adam Treat <adam.treat@torchmobile.com> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=23609 + Use the two-arg constructor for implicit QUrl->KURL conversion as the + single argument ctors assume that KURL::parse has already been called + and assert if the parse results in a different string. This was causing + an assert for QUrl's with no path and without a trailing slash. + + * platform/qt/KURLQt.cpp: + (WebCore::KURL::KURL): + +2009-01-29 Alexey Proskuryakov <ap@webkit.org> - Merge r40358. + Rubber-stamped by Darin Adler. + + Renamed ApplicationCacheResource::Implicit to Master, because that's the word HTML5 uses, + and it describes the meaning better. + + * loader/appcache/ApplicationCache.cpp: + * loader/appcache/ApplicationCacheGroup.cpp: + * loader/appcache/ApplicationCacheResource.cpp: + * loader/appcache/ApplicationCacheResource.h: - 2009-01-29 Alexey Proskuryakov <ap@webkit.org> +2009-01-29 Alexey Proskuryakov <ap@webkit.org> Release build fix. * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache): Got rid of a variable that wasn't used in release builds. -2009-02-03 Mark Rowe <mrowe@apple.com> +2009-01-29 David Hyatt <hyatt@apple.com> - Merge r40356. + Get rid of createAnonymousFlow. It was only called in one spot, so just inline the code. - 2009-01-29 Alexey Proskuryakov <ap@webkit.org> + Reviewed by Oliver Hunt + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::updateFirstLetter): + * rendering/RenderFlow.cpp: + * rendering/RenderFlow.h: + +2009-01-29 Alexey Proskuryakov <ap@webkit.org> Reviewed by Anders Carlsson. @@ -792,11 +20663,7 @@ (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Fail if response code isn't 2xx. -2009-02-03 Mark Rowe <mrowe@apple.com> - - Merge r40355. - - 2009-01-29 Alexey Proskuryakov <ap@webkit.org> +2009-01-29 Alexey Proskuryakov <ap@webkit.org> Reviewed by Anders Carlsson. @@ -809,11 +20676,7 @@ line. Removed code that replaced nulls with 0xFFFD characters, because there is no such requirement in the spec. -2009-02-03 Mark Rowe <mrowe@apple.com> - - Merge r40354. - - 2009-01-28 Alexey Proskuryakov <ap@webkit.org> +2009-01-28 Alexey Proskuryakov <ap@webkit.org> Reviewed by Anders Carlsson. @@ -881,11 +20744,81 @@ (WebCore::ApplicationCacheGroup::postListenerTask): Rewrote the update algorithm. -2009-02-03 Mark Rowe <mrowe@apple.com> +2009-01-28 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. - Merge r40343. + Merged FrameLoadTypeReloadAllowingStaleData with FrameLoadTypeReload. - 2009-01-28 David Hyatt <hyatt@apple.com> + Technically, selecting View->Text Encoding->[Non-Default Encoding] on + a page with frames may now be slightly slower than it used to be. Oh well. + + * loader/FrameLoader.cpp: + (WebCore::isBackForwardLoadType): + (WebCore::FrameLoader::restoreDocumentState): Subbed in FrameLoadTypeReload. + + (WebCore::FrameLoader::loadURLIntoChildFrame): No need to account for + non-back-forward navigations anymore. + + (WebCore::FrameLoader::canCachePage): + (WebCore::FrameLoader::logCanCachePageDecision): + (WebCore::FrameLoader::reloadWithOverrideEncoding): + (WebCore::FrameLoader::transitionToCommitted): + (WebCore::FrameLoader::loadItem): Subbed in FrameLoadTypeReload. + + * loader/FrameLoader.h: Renamed reloadAllowingStaleData => reloadWithOverrideEncoding, + since that's what it actually does. + +2009-01-28 David Hyatt <hyatt@apple.com> + + Move hit testing and painting of lines from RenderFlow into RenderLineBoxList. + + Reviewed by Oliver Hunt + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::paintContents): + (WebCore::RenderBlock::hitTestContents): + * rendering/RenderFlow.cpp: + * rendering/RenderFlow.h: + * rendering/RenderInline.cpp: + (WebCore::RenderInline::paint): + (WebCore::RenderInline::nodeAtPoint): + * rendering/RenderLineBoxList.cpp: + (WebCore::RenderLineBoxList::paint): + (WebCore::RenderLineBoxList::hitTest): + * rendering/RenderLineBoxList.h: + +2009-01-28 David Hyatt <hyatt@apple.com> + + Fix SVG pixel test regressions. I wish I could say that I understand this fix, but I don't. For + some reason the original code returned 0 for RenderSVGInlineText::yPos() and somehow my literal + replacement of yPos() with the body of that method changed the results. I am completely baffled, + but all SVG pixel tests pass again when I just take the code out. + + Reviewed by Oliver Hunt + + * rendering/RenderSVGInlineText.cpp: + (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange): + +2009-01-28 David Hyatt <hyatt@apple.com> + + Move dirtyLineBoxes from RenderFlow to RenderInline and RenderBlock. + + Reviewed by Oliver Hunt + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::dirtyLineBoxes): + * rendering/RenderBlock.h: + * rendering/RenderFlow.cpp: + * rendering/RenderFlow.h: + * rendering/RenderInline.cpp: + (WebCore::RenderInline::dirtyLineBoxes): + * rendering/RenderInline.h: + * rendering/RenderLineBoxList.cpp: + (WebCore::RenderLineBoxList::dirtyLineBoxes): + * rendering/RenderLineBoxList.h: + +2009-01-28 David Hyatt <hyatt@apple.com> Back out my change to scrollWidth/Height from an earlier checkin since it broke stuff. The current behavior is not correct, but this will need to be investigated before being changed again. @@ -894,11 +20827,51 @@ (WebCore::RenderBox::scrollWidth): (WebCore::RenderBox::scrollHeight): -2009-02-03 Mark Rowe <mrowe@apple.com> +2009-01-28 David Hyatt <hyatt@apple.com> + + Move paintOutline and paintOutlineWithLine from RenderFlow to RenderInline, since they only apply to inlines. Tighten up all of the code that + called paintOutline to use RenderInline as the type instead of RenderFlow. + + Reviewed by cpst + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::paint): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::paintObject): + (WebCore::RenderBlock::addContinuationWithOutline): + (WebCore::RenderBlock::paintContinuationOutlines): + * rendering/RenderFlow.cpp: + (WebCore::RenderFlow::paintLines): + * rendering/RenderFlow.h: + * rendering/RenderInline.cpp: + (WebCore::RenderInline::paintOutline): + (WebCore::RenderInline::paintOutlineForLine): + * rendering/RenderInline.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::paintOutline): + * rendering/RenderObject.h: + (WebCore::RenderObject::PaintInfo::PaintInfo): + +2009-01-28 Darin Fisher <darin@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23596 + XMLHttpRequest.cpp no longer compiles without USE(JSC) + + * xml/XMLHttpRequest.cpp: + +2009-01-28 Darin Fisher <darin@chromium.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=23597 + Make it possible to compile Database.cpp when USE(JSC) is not defined - Merge r40335. + * storage/Database.cpp: + (WebCore::Database::Database): - 2009-01-28 Dan Bernstein <mitz@apple.com> +2009-01-28 Dan Bernstein <mitz@apple.com> Reviewed by Darin Adler. @@ -913,11 +20886,35 @@ at the time) and subsequently having to be fetched asynchronously from the database when the page-to-icon mapping was established. -2009-02-03 Mark Rowe <mrowe@apple.com> +2009-01-28 David Hyatt <hyatt@apple.com> + + Move addFocusRingRects from RenderFlow down into RenderBlock and RenderInline. + + Reviewed by Oliver Hunt + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::addFocusRingRects): + * rendering/RenderBlock.h: + * rendering/RenderFlow.cpp: + * rendering/RenderFlow.h: + * rendering/RenderInline.cpp: + (WebCore::RenderInline::addFocusRingRects): + * rendering/RenderInline.h: + +2009-01-28 David Hyatt <hyatt@apple.com> + + Move localCaretRect from RenderFlow into RenderBlock, since it only applied to blocks anyway and + was misplaced from the start. - Merge r40332. + Reviewed by Antti Koivisto. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::localCaretRect): + * rendering/RenderBlock.h: + * rendering/RenderFlow.cpp: + * rendering/RenderFlow.h: - 2009-01-28 Sam Weinig <sam@webkit.org> +2009-01-28 Sam Weinig <sam@webkit.org> Reviewed by Geoff Garen. @@ -925,13 +20922,204 @@ * ForwardingHeaders/debugger/DebuggerActivation.h: Added. -2009-02-03 Mark Rowe <mrowe@apple.com> +2009-01-28 David Hyatt <hyatt@apple.com> + + Move createInlineBox out of RenderFlow and down into RenderInline and RenderBlock. + + Reviewed by Beth Dakin + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::createInlineBox): + * rendering/RenderBlock.h: + * rendering/RenderFlow.cpp: + * rendering/RenderFlow.h: + * rendering/RenderInline.cpp: + (WebCore::RenderInline::createInlineBox): + * rendering/RenderInline.h: + * rendering/bidi.cpp: + +2009-01-28 David Hyatt <hyatt@apple.com> + + Move calcMargins from RenderFlow to RenderInline, since it was only ever called on RenderInlines. + + Reviewed by Oliver Hunt + + * rendering/RenderFlow.cpp: + * rendering/RenderFlow.h: + * rendering/RenderInline.h: + (WebCore::RenderInline::calcMargins): + * rendering/bidi.cpp: + (WebCore::RenderBlock::layoutInlineChildren): + +2009-01-28 David Hyatt <hyatt@apple.com> + + Refactor the first and last line box member variables from RenderFlow. Encapsulate them into a new class called RenderLineBoxList that manages all modifications to + the list. This change will make it easier to give RenderInline and RenderBlock separate versions of the line box list without having to duplicate very much code. + + Reviewed by Oliver Hunt + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::deleteLine): + (WebCore::InlineFlowBox::removeLineBoxFromRenderObject): + (WebCore::InlineFlowBox::extractLine): + (WebCore::InlineFlowBox::extractLineBoxFromRenderObject): + (WebCore::InlineFlowBox::attachLine): + (WebCore::InlineFlowBox::attachLineBoxToRenderObject): + * rendering/InlineFlowBox.h: + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::deleteLineBoxTree): + * rendering/RenderFlow.cpp: + (WebCore::RenderFlow::destroy): + (WebCore::RenderFlow::dirtyLineBoxes): + (WebCore::RenderFlow::createInlineBox): + * rendering/RenderFlow.h: + (WebCore::RenderFlow::RenderFlow): + (WebCore::RenderFlow::lineBoxes): + (WebCore::RenderFlow::firstLineBox): + (WebCore::RenderFlow::lastLineBox): + * rendering/RenderLineBoxList.cpp: Added. + (WebCore::RenderLineBoxList::~RenderLineBoxList): + (WebCore::RenderLineBoxList::appendLineBox): + (WebCore::RenderLineBoxList::deleteLineBoxTree): + (WebCore::RenderLineBoxList::extractLineBox): + (WebCore::RenderLineBoxList::attachLineBox): + (WebCore::RenderLineBoxList::removeLineBox): + (WebCore::RenderLineBoxList::deleteLineBoxes): + (WebCore::RenderLineBoxList::checkConsistency): + * rendering/RenderLineBoxList.h: Added. + (WebCore::RenderLineBoxList::RenderLineBoxList): + (WebCore::RenderLineBoxList::firstLineBox): + (WebCore::RenderLineBoxList::lastLineBox): + (WebCore::RenderLineBoxList::checkConsistency): + * rendering/RenderSVGInline.cpp: + (WebCore::RenderSVGInline::createInlineBox): + * rendering/RenderSVGText.cpp: + (WebCore::RenderSVGText::createInlineBox): + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::removeLineBoxFromRenderObject): + (WebCore::RootInlineBox::extractLineBoxFromRenderObject): + (WebCore::RootInlineBox::attachLineBoxToRenderObject): + * rendering/RootInlineBox.h: + * rendering/bidi.cpp: + (WebCore::RenderBlock::layoutInlineChildren): + +2009-01-28 David Kilzer <ddkilzer@apple.com> + + Clean up FontPlatformData constructor + + Reviewed by David Hyatt. + + * platform/graphics/mac/FontPlatformData.h: Updated copyright. + (WebCore::FontPlatformData::FontPlatformData): Provide readable + names for constructor arguments and reformat member variables. + * platform/graphics/mac/FontPlatformDataMac.mm: Updated copyright. + (WebCore::FontPlatformData::FontPlatformData): Provide readable + names for constructor arguments and reformat member variables. + +2009-01-28 Tony Chang <tony@chromium.org> + + Reviewed by David Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=23593 + Compile fixes for RenderThemeChromiumMac and RenderThemeChromiumWin. + This is a follow up for hyatt's RenderBox changes. + + * rendering/RenderThemeChromiumMac.mm: + (WebCore::RenderThemeChromiumMac::baselinePosition): + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::RenderThemeChromiumWin::paintMenuList): + +2009-01-28 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=23582 + + Fix assertions when inline elements have both opacity (or something + else that creates a RenderLayer), and transform by ensuring that + setHasTransform() is only called for non-inline or replaced elements. + We also have to ensure that RenderReplicas will get transforms applied + to them by lying about them being replaced. + + Tests: fast/transforms/transform-on-inline.html + fast/transforms/transform-table-row.html + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::styleDidChange): + * rendering/RenderReplica.cpp: + (WebCore::RenderReplica::RenderReplica): + * rendering/RenderTableRow.h: + (WebCore::RenderTableRow::requiresLayer): + +2009-01-28 Hironori Bono <hbono@chromium.org> + + Reviewed by Justin Garcia. + + https://bugs.webkit.org/show_bug.cgi?id=18835 + Spelling underlines disappear when they shouldn't + + The WebCore::InsertLineBreakCommand::doApply() function splits a text node + without copying existing markers. To fix this bug, change code which + manually splits a text node into a CompositeEditCommand::splitTextNode() call. + + Test: editing/spelling/spelling-linebreak.html + + * editing/InsertLineBreakCommand.cpp: + (WebCore::InsertLineBreakCommand::doApply): - Merge r40313. +2009-01-28 David Hyatt <hyatt@apple.com> - 2009-01-28 David Hyatt <hyatt@apple.com> + Move the m_lineHeight member variable out of RenderFlow and down into RenderBlock and RenderInline. Shift the line height computation into RenderStyle so + that it isn't repeated in three places. - Fix for + Reviewed by Sam Weinig + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::RenderBlock): + (WebCore::RenderBlock::lineHeight): + * rendering/RenderBlock.h: + * rendering/RenderFlow.cpp: + * rendering/RenderFlow.h: + (WebCore::RenderFlow::RenderFlow): + * rendering/RenderInline.cpp: + (WebCore::RenderInline::RenderInline): + (WebCore::RenderInline::lineHeight): + * rendering/RenderInline.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::lineHeight): + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::computedLineHeight): + +2009-01-28 Zachary Kuznia <zork@chromiuum.org> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=22070 + Add an option to allow scripts to close windows. + + * page/Settings.cpp: + (WebCore::Settings::Settings): + (WebCore::Settings::setAllowScriptsToCloseWindows): + * page/Settings.h: + (WebCore::Settings::allowScriptsToCloseWindows): + +2009-01-28 Adam Langley <agl@google.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=23573 + Make PlatformWidget on chromium an intptr_t to match changes made in Chromium + + * platform/chromium/PlatformWidget.h: + +2009-01-28 David Hyatt <hyatt@apple.com> + + Fix for <rdar://problem/6531287> REGRESSION: CrashTracer: [USER] 12 crashes in Safari at com.apple.WebCore • WebCore::RenderBlock::removeFloatingObject + 59 @@ -941,11 +21129,255 @@ * rendering/RenderBlock.cpp: (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout): -2009-02-03 Mark Rowe <mrowe@apple.com> +2009-01-27 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=23576 + + Work towards eliminating RenderFlow from the tree. + + Move the m_continuation variable down from RenderFlow into RenderInline and RenderBlock. Since a block can only have an inline continuation following it, the type + of the member and methods reflect this (inlineContinuation() and m_inlineContinuation). Since an inline can have either a block or an inline continuation following it, + a base class of RenderBox* is used for the type of object returned (in anticipation of the removal of RenderFlow). + + Since moving the continuation variable down into the subclasses increased the size of RenderInline and RenderBlock by 4 bytes, this patch also moves all of the bitfield + members of RenderFlow up to RenderObject. Since they fit within the available bits on RenderObject, this patch actually results in a net savings of 4 bytes on RenderInlines + and RenderBlocks! + + One bitfield member was eliminated rather than moved: m_firstLine. This was really more of a state variable used during line layout only, so I removed it as a member + and just passed firstLine down to various methods as needed. Doing so uncovered some potential bugs where the first line state was not being respected when querying for + line offsets. + + Continuations have been completely hidden from all files except for RenderFlow, RenderBlock and RenderInline. All of the code that referenced continuations directly + from base classes has been refactored to use virtual methods on RenderBlock and RenderInline instead. + + RenderFlow still has a common addChildWithContinuation method that is used by both blocks and inlines. Since refactoring that method will be pretty tricky, I've held + off on that for a later patch. + + Reviewed by Oliver Hunt + + * html/HTMLAnchorElement.cpp: + (WebCore::HTMLAnchorElement::isKeyboardFocusable): + * page/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::anchorElement): + (WebCore::AccessibilityRenderObject::boundingBoxRect): + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): + (WebCore::InlineFlowBox::paint): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::RenderBlock): + (WebCore::RenderBlock::~RenderBlock): + (WebCore::RenderBlock::destroy): + (WebCore::RenderBlock::addChildToFlow): + (WebCore::RenderBlock::makeChildrenNonInline): + (WebCore::RenderBlock::removeChild): + (WebCore::RenderBlock::layoutBlock): + (WebCore::RenderBlock::expandsToEncloseOverhangingFloats): + (WebCore::RenderBlock::collapseMargins): + (WebCore::RenderBlock::determineHorizontalPosition): + (WebCore::RenderBlock::setCollapsedBottomMargin): + (WebCore::RenderBlock::layoutOnlyPositionedObjects): + (WebCore::RenderBlock::paintObject): + (WebCore::RenderBlock::addContinuationWithOutline): + (WebCore::RenderBlock::setSelectionState): + (WebCore::RenderBlock::shouldPaintSelectionGaps): + (WebCore::RenderBlock::fillSelectionGaps): + (WebCore::RenderBlock::leftSelectionOffset): + (WebCore::RenderBlock::rightSelectionOffset): + (WebCore::RenderBlock::leftOffset): + (WebCore::RenderBlock::leftRelOffset): + (WebCore::RenderBlock::rightOffset): + (WebCore::RenderBlock::rightRelOffset): + (WebCore::RenderBlock::lineWidth): + (WebCore::RenderBlock::lowestPosition): + (WebCore::RenderBlock::rightmostPosition): + (WebCore::RenderBlock::leftmostPosition): + (WebCore::RenderBlock::getClearDelta): + (WebCore::RenderBlock::nodeAtPoint): + (WebCore::RenderBlock::offsetForContents): + (WebCore::RenderBlock::availableWidth): + (WebCore::RenderBlock::setDesiredColumnCountAndWidth): + (WebCore::RenderBlock::desiredColumnWidth): + (WebCore::RenderBlock::desiredColumnCount): + (WebCore::RenderBlock::columnRects): + (WebCore::RenderBlock::layoutColumns): + (WebCore::RenderBlock::adjustPointToColumnContents): + (WebCore::RenderBlock::adjustRectForColumns): + (WebCore::RenderBlock::absoluteRects): + (WebCore::RenderBlock::absoluteQuads): + (WebCore::RenderBlock::rectWithOutlineForRepaint): + (WebCore::RenderBlock::hoverAncestor): + (WebCore::RenderBlock::updateDragState): + (WebCore::RenderBlock::outlineStyleForRepaint): + (WebCore::RenderBlock::childBecameNonInline): + (WebCore::RenderBlock::updateHitTestResult): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::rightOffset): + (WebCore::RenderBlock::leftOffset): + (WebCore::RenderBlock::inlineContinuation): + (WebCore::RenderBlock::setInlineContinuation): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::absoluteRects): + (WebCore::RenderBox::absoluteQuads): + (WebCore::RenderBox::addFocusRingRects): + (WebCore::RenderBox::containingBlockWidth): + * rendering/RenderBox.h: + (WebCore::RenderBox::collapsedMarginBottom): + (WebCore::RenderBox::childBecameNonInline): + * rendering/RenderContainer.cpp: + (WebCore::RenderContainer::updateBeforeAfterContentForContainer): + (WebCore::RenderContainer::removeLeftoverAnonymousBlock): + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutVerticalBox): + * rendering/RenderFlow.cpp: + (WebCore::nextContinuation): + (WebCore::RenderFlow::continuationBefore): + (WebCore::RenderFlow::addChildWithContinuation): + (WebCore::RenderFlow::addChild): + (WebCore::RenderFlow::destroy): + (WebCore::RenderFlow::addFocusRingRects): + * rendering/RenderFlow.h: + (WebCore::RenderFlow::RenderFlow): + * rendering/RenderInline.cpp: + (WebCore::RenderInline::RenderInline): + (WebCore::RenderInline::destroy): + (WebCore::RenderInline::inlineContinuation): + (WebCore::RenderInline::styleDidChange): + (WebCore::RenderInline::addChildToFlow): + (WebCore::RenderInline::cloneInline): + (WebCore::RenderInline::splitInlines): + (WebCore::RenderInline::splitFlow): + (WebCore::RenderInline::positionForCoordinates): + (WebCore::RenderInline::rectWithOutlineForRepaint): + (WebCore::RenderInline::updateDragState): + (WebCore::RenderInline::childBecameNonInline): + (WebCore::RenderInline::updateHitTestResult): + * rendering/RenderInline.h: + (WebCore::RenderInline::isRenderInline): + (WebCore::RenderInline::continuation): + (WebCore::RenderInline::setContinuation): + * rendering/RenderListItem.cpp: + (WebCore::RenderListItem::positionListMarker): + * rendering/RenderListMarker.cpp: + (WebCore::RenderListMarker::RenderListMarker): + (WebCore::RenderListMarker::setSelectionState): + * rendering/RenderListMarker.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::RenderObject): + (WebCore::RenderObject::repaintAfterLayoutIfNeeded): + (WebCore::RenderObject::rectWithOutlineForRepaint): + (WebCore::RenderObject::handleDynamicFloatPositionChange): + (WebCore::RenderObject::updateDragState): + (WebCore::RenderObject::updateHitTestResult): + (WebCore::RenderObject::getTextDecorationColors): + (WebCore::RenderObject::adjustRectForOutlineAndShadow): + * rendering/RenderObject.h: + (WebCore::RenderObject::isInlineBlockOrInlineTable): + (WebCore::RenderObject::childrenInline): + (WebCore::RenderObject::setChildrenInline): + (WebCore::RenderObject::hasColumns): + (WebCore::RenderObject::setHasColumns): + (WebCore::RenderObject::cellWidthChanged): + (WebCore::RenderObject::setCellWidthChanged): + (WebCore::RenderObject::isInlineContinuation): + (WebCore::RenderObject::hoverAncestor): + (WebCore::RenderObject::outlineStyleForRepaint): + (WebCore::RenderObject::setHasMarkupTruncation): + (WebCore::RenderObject::hasMarkupTruncation): + (WebCore::RenderObject::selectionState): + (WebCore::RenderObject::setSelectionState): + (WebCore::RenderObject::hasSelectedChildren): + (WebCore::RenderObject::isTopMarginQuirk): + (WebCore::RenderObject::isBottomMarginQuirk): + (WebCore::RenderObject::setTopMarginQuirk): + (WebCore::RenderObject::setBottomMarginQuirk): + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::RenderReplaced): + (WebCore::RenderReplaced::setSelectionState): + * rendering/RenderReplaced.h: + (WebCore::RenderReplaced::canBeSelectionLeaf): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::calcWidth): + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::updateWidth): + (WebCore::RenderTableCell::layout): + * rendering/RenderText.cpp: + (WebCore::RenderText::RenderText): + (WebCore::RenderText::localCaretRect): + (WebCore::RenderText::setSelectionState): + * rendering/RenderText.h: + (WebCore::RenderText::canBeSelectionLeaf): + * rendering/RenderView.cpp: + (WebCore::RenderView::updateHitTestResult): + * rendering/RenderView.h: + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::selectionTop): + * rendering/bidi.cpp: + (WebCore::RenderBlock::createLineBoxes): + (WebCore::RenderBlock::constructLine): + (WebCore::RenderBlock::computeHorizontalPositionsForLine): + (WebCore::RenderBlock::layoutInlineChildren): + (WebCore::RenderBlock::determineStartPosition): + (WebCore::RenderBlock::skipTrailingWhitespace): + (WebCore::RenderBlock::skipLeadingWhitespace): + (WebCore::RenderBlock::fitBelowFloats): + (WebCore::RenderBlock::findNextLineBreak): + (WebCore::RenderBlock::checkLinesForTextOverflow): + +2009-01-28 Adam Treat <adam.treat@torchmobile.com> + + Reviewed by Nikolas Zimmermann and George Staikos. + + https://bugs.webkit.org/show_bug.cgi?id=23557 + Allow option of hit testing frame content without clipping to the visible + viewport. + + * WebCore.base.exp: + * page/EventHandler.cpp: + (WebCore::EventHandler::hitTestResultAtPoint): + * page/EventHandler.h: + * rendering/HitTestRequest.h: + (WebCore::HitTestRequest::HitTestRequest): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::hitTest): + +2009-01-28 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Holger Freyther. + + Fix the build with Qt on Windows. + + Make sure that the QTWEBKIT_EXPORT macro becomes the Q_DECL_EXPORT macro + instead of the import macro when building the dll, by defining + QT_MAKEDLL. + + SystemTimeWin.cpp is needed on Windows for userIdleTime(), which for the + other Qt platforms comes from TemporaryLinkStubs.cpp. + + * WebCore.pro: + +2009-01-28 Ariya Hidayat <ariya.hidayat@trolltech.com> + + Reviewed by Simon Hausmann. + + [Qt] Speed-up clipping: avoid calling expensive QPainter::clipRegion(). + Beside, the check is not necessary since QPainter::setClipRect() will + work just fine if there is no clip region yet. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::clip): + +2009-01-28 Darin Fisher <darin@chromium.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=23546 + Upstream GoogleURL implementation of KURL - Merge r40305. + * platform/KURL.h: + * platform/KURLGoogle.cpp: Added. + * platform/KURLGooglePrivate.h: Added. - 2009-01-27 Darin Adler <darin@apple.com> +2009-01-27 Darin Adler <darin@apple.com> Reviewed by Sam Weinig. @@ -961,11 +21393,7 @@ even if we don't have a plug-in that implements Active X, existing clients, such as Safari, don't expect that. -2009-02-03 Mark Rowe <mrowe@apple.com> - - Merge r40304. - - 2009-01-27 Dan Bernstein <mitz@apple.com> +2009-01-27 Dan Bernstein <mitz@apple.com> Reviewed by Steve Falkenburg. @@ -976,6 +21404,261 @@ (WebCore::Font::drawGlyphs): Changed to use GDI rather than Core Graphics if the client has turned font smoothing off. +2009-01-27 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=23360 + + Use the new container-relative repaint methods to compute + post-layout repaints, and repaints using RenderLayer's + cached repaintRect() relative to that container, rather than + using absolute coords. + + Replaced lots of boilerplate old/new rect code in various + layout methods with a stack-based LayoutRepainter class, and + fixed a bug in RenderTable which set didFullRepaint to + 'true' every time. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutBlock): + * rendering/RenderForeignObject.cpp: + (WebCore::RenderForeignObject::layout): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateLayerPositions): + (WebCore::RenderLayer::setHasVisibleContent): + * rendering/RenderLayer.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::repaintUsingContainer): + (WebCore::RenderObject::repaint): + (WebCore::RenderObject::repaintRectangle): + (WebCore::RenderObject::repaintAfterLayoutIfNeeded): + * rendering/RenderObject.h: + (WebCore::RenderObject::LayoutRepainter::LayoutRepainter): + (WebCore::RenderObject::LayoutRepainter::repaintAfterLayout): + (WebCore::RenderObject::LayoutRepainter::checkForRepaint): + * rendering/RenderPath.cpp: + (WebCore::RenderPath::layout): + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::layout): + * rendering/RenderSVGContainer.cpp: + (WebCore::RenderSVGContainer::layout): + * rendering/RenderSVGImage.cpp: + (WebCore::RenderSVGImage::layout): + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::layout): + * rendering/RenderSVGText.cpp: + (WebCore::RenderSVGText::layout): + * rendering/RenderSVGViewportContainer.cpp: + (WebCore::RenderSVGViewportContainer::layout): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::layout): + * rendering/bidi.cpp: + (WebCore::RenderBlock::layoutInlineChildren): + +2009-01-27 Brady Eidson <beidson@apple.com> + + Reviewed by Darin Adler + + <rdar://problem/3541409> - More groundwork and cleanup for CachedFrames + + * history/CachedFrame.cpp: + (WebCore::CachedFrame::CachedFrame): Make the savePlatformDataToCachedFrame() client call here, + and add the code for caching subframes. + (WebCore::CachedFrame::clear): + * history/CachedFrame.h: Change to be RefCounted + (WebCore::CachedFrame::create): + (WebCore::CachedFrame::url): + + * history/CachedPage.cpp: + (WebCore::CachedPage::CachedPage): + (WebCore::CachedPage::restore): + * history/CachedPage.h: + (WebCore::CachedPage::document): + (WebCore::CachedPage::documentLoader): + (WebCore::CachedPage::view): + (WebCore::CachedPage::url): + (WebCore::CachedPage::domWindow): + (WebCore::CachedPage::cachedMainFrame): + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::cachePageForHistoryItem): Move the platform data saving into the + CachedFrame itself. + +2009-01-27 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + Flip the arguments of computeRectForRepaint() from + computeRectForRepaint(IntRect&, RenderBox* repaintContainer, bool) + to + computeRectForRepaint(RenderBox* repaintContainer, IntRect&, bool) + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::clippedOverflowRectForRepaint): + (WebCore::RenderBox::computeRectForRepaint): + * rendering/RenderBox.h: + * rendering/RenderForeignObject.cpp: + (WebCore::RenderForeignObject::computeRectForRepaint): + * rendering/RenderForeignObject.h: + * rendering/RenderInline.cpp: + (WebCore::RenderInline::clippedOverflowRectForRepaint): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::computeRectForRepaint): + * rendering/RenderObject.h: + (WebCore::RenderObject::computeAbsoluteRepaintRect): + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::clippedOverflowRectForRepaint): + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::clippedOverflowRectForRepaint): + (WebCore::RenderTableCell::computeRectForRepaint): + * rendering/RenderTableCell.h: + * rendering/RenderView.cpp: + (WebCore::RenderView::computeRectForRepaint): + * rendering/RenderView.h: + +2009-01-27 David Kilzer <ddkilzer@apple.com> + + Add missing header guards to AccessibilityObjectWrapper.h + + Reviewed by Anders Carlsson. + + * page/mac/AccessibilityObjectWrapper.h: Added missing header guards. + +2009-01-27 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=23567 + + Fix crash of svg/custom/stop-crash.svg testcase because of + infinite recursion, as I missed replacing absoluteClippedOverflowRect() + with clippedOverflowRectForRepaint() in RenderSVGGradientStop. + + Also fix a missed conversion in RenderTableCol, and add a couple + of comments. + + * rendering/RenderSVGGradientStop.h: + (WebCore::RenderSVGGradientStop::clippedOverflowRectForRepaint): + * rendering/RenderSVGImage.cpp: + (WebCore::RenderSVGImage::imageChanged): + * rendering/RenderTableCol.cpp: + (WebCore::RenderTableCol::clippedOverflowRectForRepaint): + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::layout): + +2009-01-27 Adele Peterson <adele@apple.com> + + RS by Dave Hyatt + + Use the textfield appearance for search fields in themeWin.css so the border/background + styling will work correctly on these fields. + + * css/themeWin.css: + +2009-01-27 Dan Bernstein <mitz@apple.com> + + - build fix + + * bindings/js/JSHTMLInputElementCustom.cpp: + (WebCore::JSHTMLInputElement::setSelectionStart): + (WebCore::JSHTMLInputElement::setSelectionEnd): + (WebCore::JSHTMLInputElement::setSelectionRange): + +2009-01-27 Dan Bernstein <mitz@apple.com> + + - build fix + + * platform/graphics/Gradient.cpp: + (WebCore::Gradient::setSpreadMethod): + +2009-01-27 Paul Godavari <paul@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=23561 + Explicitly send the MIME type from an image dragged from a web + page to the desktop, to Chromium so that it can properly generate + a file name. + + * platform/chromium/ChromiumDataObject.cpp: + (WebCore::ChromiumDataObject::clear): + (WebCore::ChromiumDataObject::hasData): + * platform/chromium/ChromiumDataObject.h: + * platform/chromium/ClipboardChromium.cpp: + (WebCore::writeImageToDataObject): + +2009-01-27 Mads Ager <ager@chromium.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=23300 + Follow Firefox in throwing exceptions when using selection + functions on HTMLInputElements that cannot have selection. + + This requires custom setSelectionRange, setSelectionStart and + setSelectionEnd implementations, but it gets rid of the custom + getOwnPropertySlot. + + * bindings/js/JSHTMLInputElementCustom.cpp: + (WebCore::JSHTMLInputElement::selectionStart): + (WebCore::JSHTMLInputElement::selectionEnd): + (WebCore::JSHTMLInputElement::setSelectionRange): + * html/HTMLInputElement.idl: + +2009-01-27 Evan Stade <estade@chromium.org> + + Reviewed by Nikolas Zimmermann. + + https://bugs.webkit.org/show_bug.cgi?id=23435 + Make spreadMethod a member of Gradient rather than GraphicsContext. + Implement spreadMethod for Skia. + + * platform/graphics/Gradient.cpp: + (WebCore::Gradient::Gradient): + * platform/graphics/Gradient.h: + (WebCore::Gradient::setSpreadMethod): + (WebCore::Gradient::spreadMethod): + * platform/graphics/GraphicsContext.cpp: + * platform/graphics/GraphicsContext.h: + * platform/graphics/GraphicsContextPrivate.h: + * platform/graphics/GraphicsTypes.h: + (WebCore::): + * platform/graphics/cairo/GradientCairo.cpp: + (WebCore::Gradient::platformGradient): + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + * platform/graphics/qt/GradientQt.cpp: + (WebCore::Gradient::platformGradient): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + * platform/graphics/skia/GradientSkia.cpp: + (WebCore::Gradient::platformGradient): + * svg/SVGLinearGradientElement.cpp: + (WebCore::SVGLinearGradientElement::buildGradient): + * svg/SVGRadialGradientElement.cpp: + (WebCore::SVGRadialGradientElement::buildGradient): + * svg/graphics/SVGPaintServerGradient.cpp: + (WebCore::SVGPaintServerGradient::SVGPaintServerGradient): + (WebCore::SVGPaintServerGradient::setup): + (WebCore::SVGPaintServerGradient::externalRepresentation): + * svg/graphics/SVGPaintServerGradient.h: + +2009-01-27 Ariya Hidayat <ariya.hidayat@trolltech.com> + + Rubber-stamped by Simon Hausmann. + + http://www.qtsoftware.com/developer/task-tracker/index_html?id=238662&method=entry + + [Qt] Map function keys F1 to F24. + + * platform/qt/PlatformKeyboardEventQt.cpp: + (WebCore::windowsKeyCodeForKeyEvent): + 2009-01-27 Brady Eidson <beidson@apple.com> Reviewed by Dan Bernstein @@ -1080,7 +21763,7 @@ 2009-01-26 Simon Fraser <simon.fraser@apple.com> Reviewed by David Hyatt - + Back out r40285, because it was checked in with no bug number, no testcase, is rendering change that did not get thorough review, and broke the Mac build. @@ -1099,7 +21782,7 @@ -Make the recently added back/forward cache logging much better by actually walking the entire frame tree and indenting the resulting output. - -Fix a null-termination bug in HistoryItem tree logging + -Fix a null-termination bug in HistoryItem tree logging * history/HistoryItem.cpp: (WebCore::HistoryItem::showTreeWithIndent): @@ -1168,7 +21851,7 @@ 2009-01-26 Anders Carlsson <andersca@apple.com> Fix 64-bit build. - + * WebCore.LP64.exp: 2009-01-26 Dmitry Titov <dimich@chromium.org> @@ -1581,7 +22264,7 @@ Fix for <rdar://problem/6525392> REGRESSION (r40180): Scroll wheel events over text scroll the page instead of the ancestor overflow (23525) - + Make sure that we always call scroll() on the nearest enclosing RenderBox. No test case is possible here, since wheel scrolling is currently untestable (the offset varies from machine to machine). @@ -1880,7 +22563,7 @@ https://bugs.webkit.org/show_bug.cgi?id=23467 Change styleAvailable functionality to be a linked list - rather than scanning every CompositeAnimation for + rather than scanning every CompositeAnimation for Animations that are waiting for styleAvailable. This has potential for large performance improvement in cases where there are many animations firing at once. But it will also @@ -2217,7 +22900,7 @@ Bug 23509: Crash at -[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:] https://bugs.webkit.org/show_bug.cgi?id=23509 - + Add null checking in makeRange instead of AX code * editing/VisiblePosition.cpp: @@ -2271,7 +22954,7 @@ Reviewed by Kevin Ollivier. - Fix drawing in situations where sub-portions of the bitmap are to be + Fix drawing in situations where sub-portions of the bitmap are to be drawn to the screen. * platform/graphics/wx/ImageWx.cpp: @@ -2288,10 +22971,10 @@ 2009-01-23 Eric Carlson <eric.carlson@apple.com> Reviewed by Adele Peterson - + Fix for https://bugs.webkit.org/show_bug.cgi?id=23407 - Implement QTMovieWin::hasVideo so the controller on an audio-only <video> element + Implement QTMovieWin::hasVideo so the controller on an audio-only <video> element is never hidden (as with an <audio> element). Test: media/video-controls-visible-audio-only.html @@ -2417,7 +23100,7 @@ Bug 23509: Crash at -[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:] https://bugs.webkit.org/show_bug.cgi?id=23509 - + Add null checking around next/previous sentence retrieval in AX code * page/AccessibilityObject.cpp: @@ -2603,7 +23286,7 @@ 2009-01-23 Anders Carlsson <andersca@apple.com> Fix tyop. - + * editing/markup.cpp: (WebCore::joinMarkups): @@ -2613,11 +23296,11 @@ * Configurations/Base.xcconfig: Fix GCC 4.0 build. - + * editing/markup.cpp: (WebCore::joinMarkups): Pass a const reference to the vector. - + * html/HTMLElement.cpp: * platform/text/String.cpp: Add comments indicating that these functions are for use in the debugger. @@ -2627,7 +23310,7 @@ Reviewed by Sam Weinig. Turn on -Wmissing-prototypes and fix the resulting warnings. - + * Configurations/Base.xcconfig: * bindings/js/JSHistoryCustom.cpp: (WebCore::nonCachingStaticBackFunctionGetter): @@ -3209,7 +23892,7 @@ add extra space above and below the content of a cell. This system was not confined to the table code and spilled out into all the other RenderObjects. The y-position of the table cell box was set to the outer edge of the cell, but the y() method of RenderBox lied and added in borderTopExtra(). height() also excluded the extra space, so did not accurately reflect the true size of the cell. - + With the new system, the table cell box is completely accurate. The extra space becomes part of the padding of the cell. Padding has been reworked so that additional intrinsic padding can be added on to the specified padding from style. Only the table code has to deal with the extra cell padding. @@ -3223,7 +23906,7 @@ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Make CSSComputedStyleDeclaration ask for padding values that exclude the built-in intrinsic padding. This ensures that getComputedStyle continues to give the right answer. - + * dom/ContainerNode.cpp: (WebCore::ContainerNode::getLowerRightCorner): * editing/visible_units.cpp: @@ -3232,18 +23915,18 @@ * rendering/LayoutState.cpp: (WebCore::LayoutState::LayoutState): Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls. - + * rendering/RenderBlock.cpp: (WebCore::RenderBlock::overflowRect): Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls. - + (WebCore::RenderBlock::layoutBlock): (WebCore::RenderBlock::expandsToEncloseOverhangingFloats): The expandsToEncloseOverhangingFloats logic has been reworked. Table cells and fieldsets did not properly handle floats that spilled into the bottom padding. The resulting box needed to not only expand to encompass the float, but also needed to place the full bottom padding after the float. The switch to make the extra table cell space into padding exposed this issue. No extra layout test is required, since an existing table layout test exposes this issue and progresses to match Firefox with this change. - + (WebCore::RenderBlock::selectionGapRects): (WebCore::RenderBlock::paintSelection): (WebCore::RenderBlock::fillSelectionGaps): @@ -3251,7 +23934,7 @@ (WebCore::RenderBlock::positionForCoordinates): (WebCore::RenderBlock::offsetForContents): Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls. - + * rendering/RenderBlock.h: Add the new simplified method for expanding to encompass overhanging floats. The method has been devirtualized and made to include all of the cases (and not just a subset). @@ -3266,7 +23949,7 @@ (WebCore::RenderBox::absoluteToLocal): (WebCore::RenderBox::localToAbsoluteQuad): Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls. - + * rendering/RenderBox.h: (WebCore::RenderBox::y): (WebCore::RenderBox::location): @@ -3313,10 +23996,10 @@ (WebCore::RenderTableCell::paddingTop): (WebCore::RenderTableCell::paddingBottom): The new paddingTop() and paddingBottom() methods on table cells include the extra intrinsic padding. - + (WebCore::RenderTableCell::setOverrideSize): When a table's override size gets altered, the intrinsic padding needs to be cleared. - + (WebCore::RenderTableCell::absoluteClippedOverflowRect): (WebCore::RenderTableCell::computeAbsoluteRepaintRect): (WebCore::RenderTableCell::baselinePosition): @@ -3325,7 +24008,7 @@ (WebCore::RenderTableCell::paintBoxDecorations): (WebCore::RenderTableCell::paintMask): Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls. - + * rendering/RenderTableCell.h: (WebCore::RenderTableCell::setIntrinsicPaddingTop): (WebCore::RenderTableCell::setIntrinsicPaddingBottom): @@ -3334,21 +24017,21 @@ (WebCore::RenderTableCell::intrinsicPaddingTop): (WebCore::RenderTableCell::intrinsicPaddingBottom): Add new helper methods for getting/setting a cell's intrinsic padding. - + * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::calcRowHeight): calcRowHeight has been modified to exclude the intrinsic padding when calculating the base height of rows prior to flexing. Because a cell now includes that extra space, it has to be subtracted out in this method. - + (WebCore::RenderTableSection::layoutRows): Modify the code that sets up the intrinsic padding so that it does a relayout if the intrinsic padding changes. There was also an error where the baseline position mismatched leading to negative intrinsic padding being added in (this error exists in ToT). The code now properly ignores cells that don't establish a baseline. A number of tests progress with this change. - + * rendering/RenderText.cpp: (WebCore::RenderText::addLineBoxRects): Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls. - + * rendering/RenderTreeAsText.cpp: (WebCore::operator<<): (WebCore::writeTextRun): @@ -3358,6 +24041,18 @@ 2009-01-22 Eric Seidel <eric@webkit.org> + Reviewed by Darin Adler. + + Remove <strong>/<em> tags when toggling bold/italic since IE inserts them instead of <b>/<i> + https://bugs.webkit.org/show_bug.cgi?id=23486 + + Test: editing/execCommand/toggle-styles.html + + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::isHTMLStyleNode): + +2009-01-22 Eric Seidel <eric@webkit.org> + Reviewed by Justin Garcia. Remove <span> turds left by editing commands @@ -4215,7 +24910,7 @@ * WebCore.LP64.exp: Add some bridge related symbols. - + * WebCore.xcodeproj/project.pbxproj: Make runtime_object.h a private header. @@ -4302,7 +24997,7 @@ Fix for https://bugs.webkit.org/show_bug.cgi?id=23317 The high CPU usage was really from repeatedly firing transitions caused - by a bug in the way we handle background-color animations. If animating + by a bug in the way we handle background-color animations. If animating from a valid background color to no background color, we sometimes left (based on timing) the background color as transparent black, but valid rather than invalid, which it should be. Fixing that got rid of the @@ -4368,7 +25063,7 @@ Reviewed by Beth Dakin. - Bug 23443: Table accessibility should be re-enabled after fixing crash that occurs at WebCore::AccessibilityTable::isTableExposableThroughAccessibility() + Bug 23443: Table accessibility should be re-enabled after fixing crash that occurs at WebCore::AccessibilityTable::isTableExposableThroughAccessibility() https://bugs.webkit.org/show_bug.cgi?id=23443 Test: accessibility/table-modification-crash.html @@ -4411,7 +25106,7 @@ Fix execCommand() 'super' and 'sub' commands to add <sup> and <sub> in quirks mode, and to toggle when called twice https://bugs.webkit.org/show_bug.cgi?id=17733 - + Test changed: editing/execCommand/toggle-styles-expected.txt * editing/ApplyStyleCommand.cpp: @@ -4811,7 +25506,7 @@ Bug 23438: Provide a default value to the .in file parser - Added the default value 1 as it simplifies some of + Added the default value 1 as it simplifies some of the format by removing some "=1" that were awkward. This was suggested by Darin Adler as par of a previous @@ -4835,32 +25530,32 @@ * bridge/c/c_class.cpp: * bridge/c/c_class.h: Get rid of CClass::name(). - + * bridge/jni/jni_class.h: Get rid of JavaClass::name(). - + * bridge/objc/objc_class.h: * bridge/objc/objc_class.mm: Get rid of ObjcClass::name(). - + * bridge/objc/objc_instance.h: Get rid of supportsSetValueOfUndefinedField. - + * bridge/objc/objc_instance.mm: (ObjcInstance::setValueOfUndefinedField): Fold supportsSetValueOfUndefinedField into setValueOfUndefinedField. - + * bridge/runtime.cpp: Get rid of getValueOfField and setValueOfField. - + * bridge/runtime.h: (JSC::Bindings::Instance::setValueOfUndefinedField): Have this return a bool and get rid of supportsSetValueOfUndefinedField - + * bridge/runtime_object.cpp: (JSC::RuntimeObjectImp::fieldGetter): Call Field::valueFromInstance on the field. - + (JSC::RuntimeObjectImp::put): Call Field::setValueToInstance on the field. @@ -5434,7 +26129,7 @@ Build fix: remove duplicate entries in the Xcode project, and sort the project with sort-Xcode-project-file . - + * WebCore.xcodeproj/project.pbxproj: 2009-01-19 Simon Fraser <simon.fraser@apple.com> @@ -5456,11 +26151,11 @@ * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: Add CSSPropertyLonghand.h/cpp. - + * css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::removeShorthandProperty): Move CSSPropertyLonghand to its own file. - + * css/CSSPropertyLonghand.cpp: Added. (WebCore::initShorthandMap): (WebCore::longhandForProperty): @@ -5666,7 +26361,7 @@ Reviewed by Kevin Decker. Allow plug-in views to return an instance directly. - + * bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::createScriptInstanceForWidget): @@ -5822,7 +26517,7 @@ 2009-01-18 Eric Carlson <eric.carlson@apple.com> - Build fix for !ENABLE(VIDEO) following r40016. + Build fix for !ENABLE(VIDEO) following r40016. * rendering/RenderSlider.cpp: (WebCore::RenderSlider::mouseEventIsInThumb): @@ -5924,16 +26619,16 @@ * WebCore.xcodeproj/project.pbxproj: add mediaControlsQT.css * css/CSSPrimitiveValueMappings.h: - (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): add MediaTimelineContainerPart, + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): add MediaTimelineContainerPart, CSSValueMediaCurrentTimeDisplay, and CSSValueMediaTimeRemainingDisplay * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): include new media controller element styles - * css/CSSSelector.h: + * css/CSSSelector.h: (WebCore::CSSSelector::): Ditto. * css/CSSStyleSelector.cpp: - (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): include new media + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): include new media controller element styles * css/CSSValueKeywords.in: add keywords for new media time display controls @@ -5977,7 +26672,7 @@ * rendering/RenderMedia.h: Updated * rendering/RenderSlider.cpp: - (WebCore::RenderSlider::mouseEventIsInThumb): When slider is media timeline control, call + (WebCore::RenderSlider::mouseEventIsInThumb): When slider is media timeline control, call element hitTest() method instead of assuming it is rectangular * rendering/RenderSlider.h: make mouseEventIsInThumb virtual @@ -6190,9 +26885,9 @@ 2009-01-16 Steve Falkenburg <sfalken@apple.com> <rdar://problem/6502511> Safari crashes if it's running while the desktop theme is changed. - + This was caused by mismatched ENABLE definitions across WebCore and WebKit. - + Several virtual methods were added to RenderTheme.h, conditionalized by ENABLE(VIDEO). In addition to adding ENABLE_VIDEO to WebKit, this change also adds ENABLE_DATABASE and ENABLE_ICONDATABASE to Windows WebCore/WebKit, and adds ENABLE_WORKERS, and several ENABLE_SVG_ flags to WebKit on Windows. @@ -6518,7 +27213,7 @@ Reviewed by Sam Weinig. Clean up the bridge code and get rid of Field::name() and Method::name(). - + * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::invokeMethod): * bridge/c/c_runtime.cpp: @@ -6607,9 +27302,9 @@ which causes an infinite loop. I fixed this by deferring the setChanged to the next run loop iteration. That made it not infinite loop, but it still retriggers the transition forever. The problem is that there is both an 'all' and specific transition - on 'opacity'. This tickled a bug in AnimationController which causes the opacity + on 'opacity'. This tickled a bug in AnimationController which causes the opacity transition to get constantly cancelled and then retriggered. The problem is that - the specific opacity transition has a duration of 0. I got rid of the logic to + the specific opacity transition has a duration of 0. I got rid of the logic to flush out 0 duration transitions and it is no longer constantly triggered. The logic to flush them was just an optimization, and you really need to keep them around to make the logic to override earlier animations by later ones work. And there is @@ -6755,22 +27450,22 @@ 2009-01-15 Justin Garcia <justin.garcia@apple.com> Reviewed by Oliver Hunt. - + <rdar://problem/6444148> Styling a selection that ends in a line break can sometimes style what's after the break If the range to style ended at [node, 0] or inside node (and if for some reason the node didn't get split), applyInlineStyle would style node. * editing/ApplyStyleCommand.cpp: - (WebCore::ApplyStyleCommand::applyInlineStyle): Rename pastLast to pastEndNode, since it doesn't come from + (WebCore::ApplyStyleCommand::applyInlineStyle): Rename pastLast to pastEndNode, since it doesn't come from Range::pastLastNode() anymore. pastEndNode is the node after the last one that is fully selected, since the work done in the loop that follows should only be performed on fully selected nodes. * editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply): Explicitly handle insertion into containers and after non-text nodes. Those were handled accidently before. * editing/htmlediting.cpp: - (WebCore::caretMaxOffset): In various places we call this with a container and expect to be given the number - of children in that container, so I changed it to match that. RenderBR and RenderObject::caretMaxOffset() should + (WebCore::caretMaxOffset): In various places we call this with a container and expect to be given the number + of children in that container, so I changed it to match that. RenderBR and RenderObject::caretMaxOffset() should also be eliminated since maxDeepOffset handles non-text nodes. 2009-01-15 Anders Carlsson <andersca@apple.com> @@ -6803,7 +27498,7 @@ 2009-01-15 Anders Carlsson <andersca@apple.com> Another attempt at fixing the Qt build. - + * bridge/qt/qt_instance.cpp: (JSC::Bindings::QtInstance::getOwnPropertySlot): (JSC::Bindings::QtInstance::put): @@ -6872,7 +27567,7 @@ Reviewed by Geoffrey Garen. Make Instance::createRuntimeObject a virtual function and override it for QtInstance. - + * bindings/js/JSPluginElementFunctions.cpp: (WebCore::getRuntimeObject): * bridge/c/c_utility.cpp: @@ -7093,13 +27788,13 @@ No new tests added. In the future, we need to update DumpRenderTree to be able to run with different RenderThemes and we'll need a separate set of results for different themes. - + * css/themeWin.css: Renable search fields. Added new rules for sub-element placement. - + * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::textBlockWidth): Consider margin set on the sub-elements when computing the desired width for the text block. - + * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::supportsFocus): Treat SearchFieldPart the same as TextFieldPart. (WebCore::RenderThemeWin::determineState): ditto. @@ -7290,10 +27985,10 @@ 2009-01-14 Dimitri Glazkov <dglazkov@chromium.org> Reviewed by Eric Seidel. - + https://bugs.webkit.org/show_bug.cgi?id=23321 Upstream more bits of graphics/chromium. - + * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp: Added. (WebCore::FontPlatformData::FontPlatformData): (WebCore::FontPlatformData::operator=): @@ -8090,7 +28785,7 @@ Reviewed by Simon Hausmann. [Qt] Make sure media elements dispatch the 'loaded' event - + We assume that when Phonon goes into paused state that we have the complete media file. Once we do media loading ourselves we can distinguish between loading the first frame and the complete media. @@ -8191,12 +28886,12 @@ Reviewed by Simon Hausmann. Change how themes adjust mediaControls.css to match html4/quicks.css - + Instead of providing the full style sheet, the themes provide extra overrides to the default style defined in UserAgentStyleSheetsData. - + https://bugs.webkit.org/show_bug.cgi?id=23210 - + Also, merge WebKitResources.qrc and WebCoreResources.qrc to speed up build time for the Qt port. @@ -8248,13 +28943,13 @@ Reviewed by Darin Adler Fix for <https://bugs.webkit.org/show_bug.cgi?id=22096> - Bug 22096: REGRESSION (r35879) scrolldelay is counted in seconds + Bug 22096: REGRESSION (r35879) scrolldelay is counted in seconds instead of miliseconds Test: fast/css/webkit-marquee-speed-unit-in-quirksmode.html * css/CSSParser.cpp: - (WebCore::CSSParser::validUnit): treat unitless values in quirks mode + (WebCore::CSSParser::validUnit): treat unitless values in quirks mode as miliseconds instead of seconds. 2009-01-12 David Hyatt <hyatt@apple.com> @@ -8283,7 +28978,7 @@ !ENABLE(SVG_FONTS) build fix. Move defaultUnitsPerEm into a non-SVG header so it can be used by all builds. - + * platform/graphics/Font.h: * platform/graphics/SimpleFontData.cpp: * svg/SVGFontFaceElement.cpp: @@ -8345,7 +29040,7 @@ In RenderBox::repaintLayerRectsForImage(), the repaint rect does not have to be computed in absolute coordintes. Instead, we compute a repaintRect relative to the RenderObject, which can repaint itself. - + * rendering/RenderBox.cpp: (WebCore::RenderBox::repaintLayerRectsForImage): @@ -8410,14 +29105,14 @@ (WebCore::FontCache::FontCache): 2009-01-12 Eric Roman <eroman@chromium.org> - + Reviewed by Darin Adler. - + Fix some bugs with Selection::appendTrailingWhitespace(). https://bugs.webkit.org/show_bug.cgi?id=23232 - + Test: editing/selection/doubleclick-whitespace-crash.html - + * editing/Selection.cpp: (WebCore::makeSearchRange): (WebCore::Selection::appendTrailingWhitespace): @@ -8874,12 +29569,12 @@ Reviewed by Oliver Hunt https://bugs.webkit.org/show_bug.cgi?id=23242 - + Fix CanvasRenderingContext2D::transform to do a pre-multiply, rather than a post-multiply into m_transform. This bug did not affect drawing, but did cause m_transform to be incorrect, which impacted willDraw(), and isPointInPath. - + Test: fast/canvas/canvas-incremental-repaint-2.html * html/CanvasRenderingContext2D.cpp: @@ -9000,7 +29695,7 @@ Checking whether malloc can allocate memory or not. If it can't, CRASH macro is invoked (like in fastMalloc). - + * bridge/npruntime.cpp: (_NPN_GetStringIdentifier): (_NPN_GetIntIdentifier): @@ -9041,7 +29736,7 @@ Test: editing/selection/extend-selection-bidi.html * rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::fillLineSelectionGap): - Make this function not assume a contiguous visual LTR selection range. + Make this function not assume a contiguous visual LTR selection range. 2009-01-11 Dmitry Titov <dimich@chromium.org> @@ -9130,7 +29825,7 @@ * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::styleForElement): call theme()->styleSheetForMediaControls to - get the media controller style sheet + get the media controller style sheet * rendering/MediaControlElements.cpp: (WebCore::MediaControlInputElement::hitTest): Added @@ -9150,11 +29845,11 @@ Reviewed by Dan Bernstein https://bugs.webkit.org/show_bug.cgi?id=23222 - + We need to disable LayoutState when an object has transforms, because LayoutState is not transform-aware and therefore repaint rects can be computed incorrectly. - + Test: fast/repaint/transform-disable-layoutstate.html * rendering/RenderBlock.cpp: @@ -9209,7 +29904,7 @@ Fix infinite recursion in clientPaddingLeft and clientPaddingRight. This changes the code back to how it was before RenderTextControlSingleLine was split out from RenderTextControl. - + No test added since this code is only exercised when trying to place a search field's recent searches popup menu. * rendering/RenderTextControlSingleLine.cpp: @@ -9291,7 +29986,7 @@ 2009-01-09 Anders Carlsson <andersca@apple.com> Fix build. - + * WebCore.LP64.exp: 2009-01-09 Dimitri Glazkov <dglazkov@chromium.org> @@ -9500,7 +30195,7 @@ Reviewed by Simon Hausmann. Prevent qmake from generating duplicate rules for embedded stylesheets - + The STYLESHEETS_EMBED variable used to contain only one file name, but now that it is a list of files we need to change it to be a dependency for the stylesheet generator instead of the input. @@ -9621,7 +30316,7 @@ Add ImageSourceSkia to platform/graphics/skia https://bugs.webkit.org/show_bug.cgi?id=23200 - + ImageSourceSkia is mostly a hack to support our ICO decoder model. See ImageSourceSkia.h for more explanation. Eventually we'd like to make our ICO @@ -9712,9 +30407,9 @@ Reviewed by Oliver Hunt. - Fix <rdar://problem/6467206> + Fix <rdar://problem/6467206> Resources loaded from the memory cache do not get correctly inserted into the DocLoader resource map (22994) - + Use CachedResourceHandle in document resource map so resources get updated correctly when using using cache validation conditionals. @@ -10021,7 +30716,7 @@ Reviewed by Darin Adler. - Part one of + Part one of https://bugs.webkit.org/show_bug.cgi?id=23165 Add support for application cache dynamic entries @@ -10055,7 +30750,7 @@ * loader/appcache/ApplicationCache.h: Added a list of pending dynamic entry actions, to be used in the near future. - * loader/appcache/DOMApplicationCache.idl: Updated for spec changes. Instead of length + * loader/appcache/DOMApplicationCache.idl: Updated for spec changes. Instead of length attribute and item(), we now have an items attribute that returns a DOMStringList, and a hasItem convenience method. @@ -10201,7 +30896,7 @@ 2009-01-07 Anders Carlsson <andersca@apple.com> Another build fix. - + * WebCore.LP64.exp: 2008-12-16 David Hyatt <hyatt@apple.com> @@ -10288,7 +30983,7 @@ Reviewed by Oliver Hunt. <rdar://problem/6391734> SnowLeopard: Crash doing Copy Image from context menu - + Can't create an automated test case for specific contextual menu items yet and a normal Copy doesn't cause a crash. @@ -10945,18 +31640,18 @@ animations/simultaneous-start-transform.html Fixed https://bugs.webkit.org/show_bug.cgi?id=22870 - + I added calls beginAnimationUpdate() and endAnimationUpdate() calls to AnimationController. These are called by Document at the start - and end of the recalcStyle cycle. Right now, I'm just using the + and end of the recalcStyle cycle. Right now, I'm just using the beginAnimationUpdate() method to reset an animation time value. The first time the animation time is accessed after this reset I set it to the currentTime. So all animations in that cycle get the same - start time. + start time. The test cases checked in test this, but in the case of the 'left' test it actually doesn't make any difference in most cases. This is - because values are clamped to whole pixels, so the start times would + because values are clamped to whole pixels, so the start times would have to be pretty far off for the test to fail using the old currentTime() model. Still, under really heavy load, it's possible for the test to fail without these changes. @@ -11012,9 +31707,9 @@ Reviewed by Sam Weinig. - Add a way for frame loader clients to always create a PluginDocument, regardless of + Add a way for frame loader clients to always create a PluginDocument, regardless of the real document MIME type. - + * loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): (WebCore::FrameLoader::shouldUsePlugin): @@ -11083,7 +31778,7 @@ 2009-01-06 David Smith <catfish.man@gmail.com> Reviewed by Darin Adler. - + https://bugs.webkit.org/show_bug.cgi?id=23129 Devirtualize Node::childNodes(). @@ -11148,18 +31843,18 @@ Reviewed by Dave Hyatt https://bugs.webkit.org/show_bug.cgi?id=22985 - + Add an assertion that clip rects are being used when painting with the same rootLayer that they were computed with. - + Fix two issues detected by the assertion: RenderLayer::updateClipRects() should not unconditionally update the clip rects on its parent, but stop when reaching rootLayer (just like calculateClipRects()). - + We need to pass the temporaryClipRects flag down through reflection painting to handle the case of nested reflections. - + Also use temporary clip rects in RenderTreeAsText, since that code does not reset the painting root for transformed layers, so cached clip rects will not match those used for painting. @@ -11223,17 +31918,17 @@ Implement 'pointer-events' for HTML content. This involved adding a new value 'auto' which behaves as 'visiblePainted' - in SVG content. - + in SVG content. + Moved the property out of the SVG CSS code and into - the general CSS (both parsing and RenderStyle). - + the general CSS (both parsing and RenderStyle). + Changes to the hit testing functionality of the Render tree, - specifically the nodeAtPoint methods. Where they used to + specifically the nodeAtPoint methods. Where they used to test for visibility, they now use a helper function defined on base classes (RenderObject and InlineBox) that checks both visibility and pointer-events. - + https://bugs.webkit.org/show_bug.cgi?id=11395 Tests: fast/events/pointer-events-2.html @@ -11310,7 +32005,7 @@ Reviewed by Gavin Barraclough. - CanvasPixelArray performance is too slow + CanvasPixelArray performance is too slow <https://bugs.webkit.org/show_bug.cgi?id=23123> Remove the WebCore CanvasPixelArray implementation and replace @@ -11365,18 +32060,18 @@ 2009-01-05 Anders Carlsson <andersca@apple.com> Build fix. - + * plugins/PluginView.h: (WebCore::PluginManualLoader::~PluginManualLoader): 2009-01-05 Anders Carlsson <andersca@apple.com> Reviewed by Kevin Decker. - - Add an abstract PluginManualLoader class and make PluginView inherit from it. - + + Add an abstract PluginManualLoader class and make PluginView inherit from it. + Add some error checking that currently exists in WebKit (but not for long!) - + * plugins/PluginView.cpp: (WebCore::PluginView::didReceiveResponse): (WebCore::PluginView::didReceiveData): @@ -11674,7 +32369,7 @@ Reviewed by Darin Adler https://bugs.webkit.org/show_bug.cgi?id=23090 - + If an object gets a Layout hint, and the style change will result in the creation of a RenderLayer, then we need to repaint the old position of the object. This was done for transform, but we have to test opacity too. @@ -11757,9 +32452,9 @@ Reverse the order in the icon database main thread loop to write the pending icons to the database before trying - to read any requested icons. This ensures that a requested icon + to read any requested icons. This ensures that a requested icon has the correct data when read. - + * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::syncThreadMainLoop): @@ -11776,7 +32471,7 @@ https://bugs.webkit.org/show_bug.cgi?id=23025 DOMTimer lifetime cleanup: timeoutMap methods on Document now do not delete the timer. Instead, all 3 places that delete timers do it directly calling 'delete' and then timer's dtor removes the ID from the timeoutMap. - Note that in case the context is destroyed and timers are deleted at once, the check in ~DOMTimer() prevents + Note that in case the context is destroyed and timers are deleted at once, the check in ~DOMTimer() prevents unnecessary HashMap remove in case the Document is being destroyed. * bindings/js/DOMTimer.cpp: @@ -11847,10 +32542,10 @@ Reviewed by Darin Adler https://bugs.webkit.org/show_bug.cgi?id=23082 - + Fix GIF animation by ensuring that the signature of startAnimation() in the base class matches the method in BitmapImage. - + Test: fast/backgrounds/animated-gif-as-background.html * platform/graphics/Image.h: @@ -11859,10 +32554,10 @@ 2009-01-02 David Smith <catfish.man@gmail.com> Reviewed by Darin Adler. - + https://bugs.webkit.org/show_bug.cgi?id=22699 Enable NodeList caching for getElementsByTagName - + test: fast/dom/getelementsbytagnamens-mixed-namespaces.html * dom/Document.cpp: @@ -11878,7 +32573,7 @@ (WebCore::MappedAttributeHash::hash): Use WTF::stringHashingStartValue * dom/TagNodeList.cpp: (WebCore::TagNodeList::TagNodeList): Add a NodeList cache argument - * dom/TagNodeList.h: + * dom/TagNodeList.h: (WebCore::TagNodeList::create): Add a NodeList cache argument * platform/text/StringHash.h: (WebCore::CaseFoldingHash::hash): Use WTF::stringHashingStartValue @@ -11889,7 +32584,7 @@ Reviewed by Darin Adler - Fix for https://bugs.webkit.org/show_bug.cgi?id=23066 & <rdar://problem/6028417> + Fix for https://bugs.webkit.org/show_bug.cgi?id=23066 & <rdar://problem/6028417> Full Page Zoom: a <video> element that doesn't include width/height attribute does not scale * rendering/RenderVideo.cpp: @@ -11954,7 +32649,7 @@ Reviewed by Darin Adler Use an OwnPtr for m_chromeClient. - + * svg/graphics/SVGImage.cpp: (WebCore::SVGImage::~SVGImage): (WebCore::SVGImage::dataChanged): @@ -11973,7 +32668,7 @@ a rect parameter for the changed rect, allowing incremental repaints. Fix RenderImage::imageChanged to take advantage of this changedRect to only repaint the changed parts of the image. - + This also enables incremental painting for canvas-as-image, so add tests for that too. @@ -12217,11 +32912,11 @@ Reviewed by Darin Adler, Oliver Hunt https://bugs.webkit.org/show_bug.cgi?id=23065 - + Enable incremental painting of canvas. This turns incremental painting back on, and fixes issues with stroke width and miters, calling willDraw() for strokeText and fillText, and taking shadows into account. - + Test: fast/canvas/canvas-incremental-repaint.html * html/CanvasRenderingContext2D.cpp: @@ -12388,11 +33083,11 @@ Reviewed by Darin Adler https://bugs.webkit.org/show_bug.cgi?id=23042 - + Rather than doing a repaint() inside of computeAbsoluteRepaintRect() when there is a reflection, compute the location of the rect inside the reflection and take the union of the unreflected and reflected rects. - + Test: fast/repaint/reflection-redraw.html * rendering/RenderBox.cpp: @@ -12552,9 +33247,9 @@ Reviewed by Brady Eidson. Fix for https://bugs.webkit.org/show_bug.cgi?id=21797 - <rdar://problem/6310682> REGRESSION: Crash in CFHTTPCookieStorageCopy beneath WebCore::cookies() when + <rdar://problem/6310682> REGRESSION: Crash in CFHTTPCookieStorageCopy beneath WebCore::cookies() when running fast/dom/document-attribute-js-null.html and http/tests/security/cookies/create-document.html - + Return early if the document is trying to get or set a cookie with an empty cookie url. * dom/Document.cpp: @@ -12840,7 +33535,7 @@ Prepare to add create/remove timeout methods to JSWorkerContext by moving timer-specific code from JSDOMWindowBase to DOMTimer. Moved everything JS-related from DOMTimer to ScheduledAction. - Now ScheduledAction is what it wanted to be all the time: a JS engine-specific + Now ScheduledAction is what it wanted to be all the time: a JS engine-specific container for timer callback that knows how to invoke it. DOMTimer is not anymore JS-specific. @@ -12950,9 +33645,9 @@ Reviewed by Oliver Hunt. <rdar://problem/6465669> Frequent !isPurgeable() assertion in WebCore::CachedResource::addClient - + Disallow turning resources that are being revalidated to purgable state. - + No test, the condition is difficult to produce in DRT. * loader/CachedCSSStyleSheet.cpp: @@ -13049,10 +33744,10 @@ Reviewed by Dan Bernstein https://bugs.webkit.org/show_bug.cgi?id=22941 - + If the document element has opacity, we need to erase the view background to white before painting. - + Test: fast/backgrounds/opacity-on-document-element.html * rendering/RenderView.cpp: @@ -13063,10 +33758,10 @@ Reviewed by Dan Bernstein https://bugs.webkit.org/show_bug.cgi?id=21910 - + Fix SVGImage painting by ensuring that the SVGImage resizes its FrameView correctly. Otherwise the FrameView is left at 0x0, and nothing paints. - + * svg/graphics/SVGImage.cpp: (WebCore::SVGImage::draw): @@ -13977,7 +34672,7 @@ Reviewed by Kevin Ollivier. Add Context Menu support to wx bindings. - + https://bugs.webkit.org/show_bug.cgi?id=22675 * platform/ContextMenu.h: @@ -13994,12 +34689,12 @@ Reviewed by Darin Adler. - Temporary band-aide fix for <rdar://problem/6372481> In Gmail, a - crash occurs at - AccessibilityTable::isTableExposableThroughAccessibility() when + Temporary band-aide fix for <rdar://problem/6372481> In Gmail, a + crash occurs at + AccessibilityTable::isTableExposableThroughAccessibility() when attempting to create a link in a rich text message - We need to disable Accessibility Tables until we get this fixed for + We need to disable Accessibility Tables until we get this fixed for real to prevent rampant crashing. * page/AccessibilityTable.cpp: @@ -14010,10 +34705,10 @@ Reviewed by Darin Adler https://bugs.webkit.org/show_bug.cgi?id=22938 - + When the document element is transformed, we need to paint the view background to avoid unpainted areas. - + Test: fast/transforms/transformed-document-element.html * rendering/RenderView.cpp: @@ -14131,7 +34826,7 @@ storage is disallowed, all authentication challenges are sent to the client. - let the FrameLoaderClient decide whether to use the credential - storage. + storage. * loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::shouldUseCredentialStorage): Added. @@ -14141,7 +34836,7 @@ to the FrameLoaderClient. * loader/FrameLoader.h: Declared shouldUseCredentialStorage(). * loader/FrameLoaderClient.h: Declared shouldUseCredentialStorage(). - * loader/ResourceLoader.cpp: + * loader/ResourceLoader.cpp: (WebCore::ResourceLoader::shouldUseCredentialStorage): Added. Calls through to the FrameLoader. * loader/ResourceLoader.h: @@ -14215,7 +34910,7 @@ Reviewed by John Sullivan. - Add new FrameLoaderClient method to indicate the first visually + Add new FrameLoaderClient method to indicate the first visually non-empty layout based on an heuristic. Right now that heuristic is the first layout after an image, text or plugin has been added to the render tree, but I can imagine it becoming much smarter. @@ -14389,7 +35084,7 @@ If JavaScript is not currently executing, the handleEvent member function of JSAbstractEventListener should set the dynamic global object to the global object of the context in which the event occurred. - + If this is not set, then JavaScriptCore will simply take the global object of the context where the event handler function was created, which may be a different frame. This will cause the popup blocker to incorrectly block @@ -14405,13 +35100,13 @@ Reviewed by Dave Hyatt https://bugs.webkit.org/show_bug.cgi?id=22570 - + Add the ability to compute clip rects independently from - caching them on the RenderLayer. When painting reflections, use + caching them on the RenderLayer. When painting reflections, use such temporarily computed clipRects, otherwise the layer may cache clipRects which are invalid, since they have been computed with a rootLayer that is not the one usually used to paint. - + Test: fast/reflections/reflection-overflow-hidden.html * rendering/RenderLayer.cpp: @@ -14441,7 +35136,7 @@ https://bugs.webkit.org/show_bug.cgi?id=22618 - Fix MinGW QtWebKit linking problems and also make the + Fix MinGW QtWebKit linking problems and also make the QtWebKit build system more robust. * WebCore.pro: @@ -14554,9 +35249,9 @@ Reviewed by Geoff Garen. - Change HTTPHeaderMap to use an AtomicString as its key. + Change HTTPHeaderMap to use an AtomicString as its key. Shaves ~1MB off of the Mozilla Memory Test - No functionality difference + No functionality difference * WebCore.xcodeproj/project.pbxproj: * inspector/InspectorController.cpp: @@ -14645,7 +35340,7 @@ Fix for https://bugs.webkit.org/show_bug.cgi?id=22871 <rdar://problem/6417316> RenderThemeWin buttons are too short/thin - * rendering/RenderButton.cpp: (WebCore::RenderButton::setupInnerStyle): + * rendering/RenderButton.cpp: (WebCore::RenderButton::setupInnerStyle): Check if the button's style (not the new inner style) has appearance set to determine whether we should set padding on the inner style. 2008-12-15 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> @@ -14725,7 +35420,7 @@ * bindings/js/JSGeolocationCustom.cpp: (WebCore::createPositionOptions): Added. Extracts the enableHighAccuracy - and timeout fields from a vanilla JS object in order to create the + and timeout fields from a vanilla JS object in order to create the PositionOptions object, checking for exceptions as necessary. (WebCore::JSGeolocation::getCurrentPosition): Use createPositionOptions instead of toPositionOptions. @@ -14847,13 +35542,13 @@ Reviewed by Darin Adler. When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation" - https://bugs.webkit.org/show_bug.cgi?id=17998 - - - Enable conditional revalidation for reloads by default. + https://bugs.webkit.org/show_bug.cgi?id=17998 + + - Enable conditional revalidation for reloads by default. - Add a parameter to FrameLoader::reload() for forcing end-to-end reload. - - To avoid duplicating state remove m_cachePolicy variables from FrameLoader and DocLoader. + - To avoid duplicating state remove m_cachePolicy variables from FrameLoader and DocLoader. Instead synthezise the policy on demand. - + This speeds up reloads and makes them use way less bandwidth. * WebCore.base.exp: @@ -14864,10 +35559,10 @@ (WebCore::DocLoader::checkForReload): Support CachePolicyRevalidate. (WebCore::DocLoader::requestResource): (WebCore::DocLoader::cachePolicy): - * loader/DocLoader.h: Get rid of m_cachePolicy member. + * loader/DocLoader.h: Get rid of m_cachePolicy member. * loader/FrameLoader.cpp: - (WebCore::ScheduledRedirection::ScheduledRedirection): - Add parameter to differentiate refresh from other types of redirects. + (WebCore::ScheduledRedirection::ScheduledRedirection): + Add parameter to differentiate refresh from other types of redirects. m_cachePolicy was used for signaling this before. (WebCore::isBackForwardLoadType): (WebCore::FrameLoader::FrameLoader): @@ -14883,11 +35578,11 @@ (WebCore::FrameLoader::redirectionTimerFired): (WebCore::FrameLoader::canCachePage): (WebCore::FrameLoader::loadURL): - (WebCore::FrameLoader::reload): + (WebCore::FrameLoader::reload): Differentiate between revalidation and reload. No need to use setHTTPHeaderField here, addExtraFieldsToRequest will set the headers. (WebCore::FrameLoader::transitionToCommitted): - (WebCore::FrameLoader::cachePolicy): Determine the cache policy based on current load type. + (WebCore::FrameLoader::cachePolicy): Determine the cache policy based on current load type. (WebCore::FrameLoader::checkLoadCompleteForThisFrame): (WebCore::FrameLoader::addExtraFieldsToRequest): Set Cache-control: no-cache for FrameLoadTypeReloadFromOrigin (WebCore::FrameLoader::shouldScrollToAnchor): @@ -14898,7 +35593,7 @@ * loader/FrameLoader.h: * loader/FrameLoaderTypes.h: Add FrameLoadTypeReloadFromOrigin (WebCore::): - * loader/NavigationAction.cpp: + * loader/NavigationAction.cpp: (WebCore::navigationType): Support FrameLoadTypeReloadFromOrigin * loader/loader.cpp: (WebCore::Loader::Host::servePendingRequests): @@ -15291,7 +35986,7 @@ * platform/win/DragImageCGWin.cpp: (WebCore::deallocContext): Add a generic CGContextRef destructor. * platform/win/DragImageCairoWin.cpp: - (WebCore::deallocContext): Add a generic cairo_* destructor. + (WebCore::deallocContext): Add a generic cairo_* destructor. (WebCore::allocImage): New implementation to allocate a Cairo surface of a specified size. (WebCore::createCairoContextFromBitmap): New implementation to @@ -15310,7 +36005,7 @@ WebKitCSSKeyframesRule to Window object. This required generating constructors for the event interfaces. - + https://bugs.webkit.org/show_bug.cgi?id=20560 * dom/WebKitAnimationEvent.idl: @@ -15373,19 +36068,19 @@ Delete the previous timer-queue timer in the main thread, just prior to scheduling a new timer. The code previously called DeleteTimerQueueTimer in the timer callback proc. - + The new technique simplifies the code, since we now create and delete timers on the same thread, and don't access the timer queue or timer handles in the callback. This allows us to remove some mutex use, and more importantly, it solves a race condition that was occuring between ChangeTimerQueueTimer and DeleteTimerQueueTimer. - + Since the timer callback isn't passed the timer handle, we were retrieving that handle via a global. If the timer callback code was entered, but then a new timer was immediately scheduled (prior to the callback acquiring the mutex and calling DeleteTimerQueueTimer), there was a small window where the timer could be re-scheduled via ChangeTimerQueueTimer and then immediately deleted once the already running callback acquired the mutex and then called DeleteTimerQueueTimer. This resulted in the newly scheduled timer never firing. - + Reviewed by Oliver Hunt. * platform/win/SharedTimerWin.cpp: @@ -15522,7 +36217,7 @@ Reviewed by Simon Hausmann. Implement ImageSource::filenameExtension() for the Qt port - + We're using QImageReader::imageFormat().toLower() to check that the image format is supported, and if it is we store the resulting extension when creating the ImageDecoderQt. @@ -15541,11 +36236,11 @@ Reviewed by Geoff Garen Account for the size of the response and request headers as well as other overhead - when calculating the size a resource takes up in the cache. Halts unbounded + when calculating the size a resource takes up in the cache. Halts unbounded growth in the cache. Reduced stress test memory high water marks by > 50%. - Uses estimates gathered from the stress test to set the overhead size. - A version of the patch was created that calculated most of the sizes, but it was + Uses estimates gathered from the stress test to set the overhead size. + A version of the patch was created that calculated most of the sizes, but it was decided that the patch was still at a basic level an estimate. What gains it made in accuracy was offset by the complexity involved in creating and updating the estimate. @@ -15722,7 +36417,7 @@ I had to add one more bit of code. When animation timers used to fire the animation events. This would always happen from the RunLoop, so any style changes that happened in the event handler would get picked up on the next updateRendering() call. But now the start - event is generated during the styleIsAvailable() call, which is in the middle of the + event is generated during the styleIsAvailable() call, which is in the middle of the updateRendering() cycle. And calling an event handler in the middle of updateRendering() is not allowed and causes style changes to get missed. We already have a mechanism in AnimationController to defer updateRendering() calls. So I added logic to defer all @@ -16081,7 +36776,7 @@ Reviewed by Antti Koivisto <rdar://problem/6431224> - + When updating the value of a slider, don't mark the parents as needing layout, because the size of the slider can never change. This fixes full-page repaints in some cases. @@ -16093,7 +36788,7 @@ Potential build fix. The forward declaration of FloatPoint should be inside the WebCore namespace. - + * platform/graphics/FloatPoint3D.h: 2008-12-10 Simon Fraser <simon.fraser@apple.com> @@ -16105,7 +36800,7 @@ Cleanup FloatPoint3D: inline the getters and setters, fix a potential divide-by-zero in normalize(), and add a FloatPoint constructor. - + * platform/graphics/FloatPoint3D.cpp: (WebCore::FloatPoint3D::FloatPoint3D): (WebCore::FloatPoint3D::normalize): @@ -16197,7 +36892,7 @@ Part of https://bugs.webkit.org/show_bug.cgi?id=22570 - + Rename methods on RenderLayer for clarity: clearClipRects -> clearClipRectsIncludingDescendants clearClipRect -> clearClipRects @@ -16219,7 +36914,7 @@ 2008-12-10 Kevin Ollivier <kevino@theolliviers.com> wx build fix after the script call stack/frame additions. - + * WebCoreSources.bkl: 2008-12-10 Srinivasa Rao M. Hamse <msrinirao@gmail.com> @@ -16459,7 +37154,7 @@ * bindings/js/ScriptValue.h: Added isNull and isUndefined * bindings/scripts/CodeGeneratorJS.pm: Add handling for CustomArgumentHandling attribute. - * inspector/InspectorController.cpp: Refactored to use + * inspector/InspectorController.cpp: Refactored to use ScriptCallFrame and ScriptCallStack. (WebCore::ConsoleMessage::ConsoleMessage): (WebCore::InspectorController::addMessageToConsole): @@ -16914,11 +37609,11 @@ Fix issues which break reading inline style for -webkit-transition and -webkit-transform-origin. - + Test: fast/css/transform-inline-style.html * css/CSSMutableStyleDeclaration.cpp: - (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Add cases + (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Add cases for CSSPropertyWebkitTransformOrigin and CSSPropertyWebkitTransition so that these shorthand properties are returned correctly. * css/CSSParser.cpp: @@ -16935,12 +37630,12 @@ https://bugs.webkit.org/show_bug.cgi?id=22717 Make CSS values use less memory - + Share CSSPrimitiveValue objects for commonly used values including - idents - colors - small integers - + This reduces the amount CSSPrimitiveValue instances by > 80%. * css/CSSPrimitiveValue.cpp: @@ -16960,11 +37655,11 @@ Get CSSValues off from the common StyleBase base class. They don't need a parent pointer or anything else there and there is no real reason to have them in same data structures with other CSSOM objects. - - Disabled (instead of refactoring around the lack of common base) the ability - to have style declaration blocks as CSS variable values. They don't exist in - the spec so I wasn't sure if they have future or not. It would not be hard to - get them back. CSS variables are in any case an experimental feature and + + Disabled (instead of refactoring around the lack of common base) the ability + to have style declaration blocks as CSS variable values. They don't exist in + the spec so I wasn't sure if they have future or not. It would not be hard to + get them back. CSS variables are in any case an experimental feature and not enabled by default. * css/CSSInitialValue.h: @@ -17064,9 +37759,9 @@ https://bugs.webkit.org/show_bug.cgi?id=22379 Make CSSOM use less memory - + Use vector instead of a double linked list for properties in CSSMutableStyleDeclaration. - + Taught setter functions to use existing slots to avoid memory moves, plus some other optimizations. @@ -17141,7 +37836,7 @@ Fix logic related to repainting when transform changes: If an object has a layer, and the transform changes, then we need to do a repaintIncludingDescendants(), not just a repaint. - + Test: fast/repaint/transform-repaint-descendants.html * rendering/RenderObject.cpp: @@ -17167,7 +37862,7 @@ Reviewed by Dave Hyatt https://bugs.webkit.org/show_bug.cgi?id=15671 - + Fix caret rendering to behave correctly with transforms: * Rename caretRect() methods to localCaretRect() and absoluteCaretBounds() as appropriate @@ -17505,7 +38200,7 @@ Bug 22579: Providing a function to ScrollbarClient.h which allows us to get at the tickmarks without relying on high-level WebCore types, as requested by Dave Hyatt. - + No functional changes, thus no test cases. * page/FrameView.cpp: @@ -17655,9 +38350,9 @@ Reviewed by Kevin Ollivier. Add a MIME mapping for the .htm extension to wx and GTK ports. - + https://bugs.webkit.org/show_bug.cgi?id=22668 - + * platform/gtk/MIMETypeRegistryGtk.cpp: (WebCore::): * platform/wx/MimeTypeRegistryWx.cpp: @@ -17669,7 +38364,7 @@ Implement basic text paste support in wx and add notImplemented stubs to catch other methods. - + https://bugs.webkit.org/show_bug.cgi?id=22667 * platform/wx/PasteboardWx.cpp: @@ -17701,7 +38396,7 @@ Reviewed by Kevin Ollivier. Turn off styled controls until we can implement them properly. - + https://bugs.webkit.org/show_bug.cgi?id=22662 * platform/wx/RenderThemeWx.cpp: @@ -17992,7 +38687,7 @@ makes it unnecessary to 'serialize' them into special PausedTimeouts instance, so pause/resumeTimeouts implementation in JSDOMWindowBase can also be removed. Also, moving TimeoutMap from JSDOMWindowBase to Document matches lifetime - of timeouts and makes it possible to not roundtrip them via PausedTimeouts + of timeouts and makes it possible to not roundtrip them via PausedTimeouts every time when JSDOMWindow wrapper is destroyed while the page is in the b/f cache. Timeouts are now paused with other ActiveDOMObjects: @@ -18021,7 +38716,7 @@ * bindings/js/DOMTimer.h: * bindings/js/JSDOMBinding.cpp: ActiveDOMObject can have no JS wrapper - (WebCore::markActiveObjectsForContext): + (WebCore::markActiveObjectsForContext): * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::~JSDOMWindowBase): @@ -18050,7 +38745,7 @@ * inspector/JavaScriptDebugServer.h: * loader/FrameLoader.cpp: - (WebCore::FrameLoader::commitProvisionalLoad): + (WebCore::FrameLoader::commitProvisionalLoad): removed clearAllTimeouts since all ActiveDOMObjects will be stopped in FrameLoader::clear(); I don't see how the old comment can be correct - the code in the same method proceeds to invoke 'onunload' and then calls into client which can be external code and can cause any active object created in onunload @@ -18067,13 +38762,13 @@ Reviewed by Beth Dakin. <rdar://problem/6018653> Extra blank line when pasting paragraph in plain text - + In SnowLeopard, Mail occasionally adds an empty, unstyled paragraph at the end of pasted content so that users don't get stuck with non-standard pargraph spacing. This content threw off our handling of interchange newlines. Any interchange newline, regardless of it's position in the incoming fragment was considered to be - "at the start" of the fragment, and would result in us inserting in a newline before - inserted content. This patch makes the checks for interchange newlines more strict, + "at the start" of the fragment, and would result in us inserting in a newline before + inserted content. This patch makes the checks for interchange newlines more strict, and treats interchange newlines found elsewhere as normal <br>s. * editing/ReplaceSelectionCommand.cpp: @@ -18475,7 +39170,7 @@ Reduce size of the CSSSelector by 3/8 by moving rarely used fields to a rare data struct. Browsing around with some instrumentation showed that ~0.1% of all selectors encountered had rare data. - + This also eliminates the CSSNthSelector subclass which will make possible to store CSSSelectors in an array instead of a linked list for futher memory savings. @@ -18595,11 +39290,11 @@ Reviewed by Dave Hyatt https://bugs.webkit.org/show_bug.cgi?id=22472 - + Override absoluteClippedOverflowRect() in RenderReplaced to return a rect that is large enough to encompass the selection, so that the repainting of selected replaced elements works correctly. - + Test: fast/repaint/selected-replaced.html * rendering/RenderReplaced.cpp: @@ -18651,7 +39346,7 @@ Bug 22596: Some elements don't report AXBlockQuoteLevel https://bugs.webkit.org/show_bug.cgi?id=22596 - + Reviewed by John Sullivan. * page/mac/AccessibilityObjectWrapper.mm: @@ -18687,14 +39382,14 @@ Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=22538 - + startsWith uses find which searches through the whole string if no match is found. Using reverseFind with an index of 0 has the benefit of only searching for the match at the beginning of the string. This may only be a small benefit in the overall program, but it may help in some cases when the string is big. No observable change in behavior, so no test. - + * platform/text/StringImpl.h: (WebCore::StringImpl::startsWith): @@ -18779,7 +39474,7 @@ Move securityOrigin() from Document and WorkerContext into ScriptExecutionContext. No observable change in behavior, so no test. - + * dom/Document.cpp: (WebCore::Document::open): (WebCore::Document::domain): @@ -18795,7 +39490,7 @@ (WebCore::WorkerContext::WorkerContext): * dom/WorkerContext.h: These changes are for the move of securityOrigin(). - + * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::createRequest): (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest): @@ -18824,22 +39519,22 @@ Reviewed by Dan Bernstein. - Fix for https://bugs.webkit.org/show_bug.cgi?id=13736 REGRESSION - (r19811): Using the down arrow in a textarea gets "stuck" at the + Fix for https://bugs.webkit.org/show_bug.cgi?id=13736 REGRESSION + (r19811): Using the down arrow in a textarea gets "stuck" at the end of a wrapped line And corresponding: <rdar://problem/5347931> - The basic problem here is that Position::getInlineBoxAndOffset() - failed to look beyond a single renderer. This patch looks for a - better match beyond the first renderer when the affinity is - downstream and we failed to find a "perfect" match. + The basic problem here is that Position::getInlineBoxAndOffset() + failed to look beyond a single renderer. This patch looks for a + better match beyond the first renderer when the affinity is + downstream and we failed to find a "perfect" match. * dom/Position.cpp: (WebCore::isNonTextLeafChild): (WebCore::searchAheadForBetterMatch): (WebCore::Position::getInlineBoxAndOffset): - This is a fix I made based on code inspection. It looks like the - old code here and skipped over the parent as a possible match. + This is a fix I made based on code inspection. It looks like the + old code here and skipped over the parent as a possible match. * rendering/RenderObject.cpp: (WebCore::RenderObject::nextInPreOrderAfterChildren): @@ -18852,7 +39547,7 @@ * WebCore.vcproj/WebCore.vcproj: 1. Add files from the wml directory to the set of windows files. - 2. Extend include paths with new wml directory. + 2. Extend include paths with new wml directory. 3. Add new autogenerated WML files to DerivedSources. 4. Alphabetize preprocesor includes (holdover from earlier debugging). @@ -18860,7 +39555,7 @@ Revise node/selection image fix. Moved updateLayout call so selection rect is fetched after the layout. - + Reviewed by Adam Roben. * page/win/FrameCGWin.cpp: @@ -18888,7 +39583,7 @@ Reviewed by Dan Bernstein https://bugs.webkit.org/show_bug.cgi?id=22581 - + Fix the painting of the caps lock indicator for transformed text inputs, by replacing a call to absoluteContentBox() with code that computes the painting rect for the input contents. @@ -19098,7 +39793,7 @@ them. So now the pointer is valid throughout the entire sequence of callback code. The testcase for https://bugs.webkit.org/show_bug.cgi?id=22052 also exhibits a - crash which this patch fixes. + crash which this patch fixes. * page/animation/AnimationBase.cpp: (WebCore::AnimationBase::updateStateMachine): @@ -19281,7 +39976,7 @@ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22549 - Add <do> element support. It provides a way to bind a task element to a <template>/<card> element. + Add <do> element support. It provides a way to bind a task element to a <template>/<card> element. Changes numerous of layout tests which contain <do> elements, as they render as buttons now. * WebCore.xcodeproj/project.pbxproj: @@ -19479,7 +40174,7 @@ upper-case glyph defined in the set of available fonts. This changes Font.cpp to check if the font being used exists before trying to apply the small-caps variant. - + Test: fast/css/small-caps-crash.html * platform/graphics/Font.cpp: @@ -20008,7 +40703,7 @@ 2008-11-25 Kevin Ollivier <kevino@theolliviers.com> wx build fix - we don't support PurgeableBuffer on Leopard for now. - + * platform/PurgeableBuffer.h: 2008-11-25 Antti Koivisto <antti@apple.com> @@ -20017,7 +40712,7 @@ Fix https://bugs.webkit.org/show_bug.cgi?id=22483 Assertion failure in CachedResource::makePurgeable during layout tests - + Deleting SVG image can re-enter destroyDecodedData. * loader/CachedImage.cpp: @@ -20084,7 +40779,7 @@ http/tests/misc/url-in-utf32be.html http/tests/misc/url-in-utf32le.html http/tests/misc/url-in-utf7.html - + * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): * loader/TextResourceDecoder.cpp: @@ -20114,13 +40809,13 @@ 2008-11-24 Antti Koivisto <antti@apple.com> Reviewed by Darin Adler. - + Fix for https://bugs.webkit.org/show_bug.cgi?id=22073 REGRESSION(r33544): Palace in the Sky crashes WebKit - + HTMLTokenizer::m_hasScriptsWaitingForStylesheets would still be set while - there were no scripts left to execute. - + there were no scripts left to execute. + If m_hasScriptsWaitingForStylesheets becomes true during script execution bail out from executing more scripts synchronously. @@ -20187,11 +40882,11 @@ https://bugs.webkit.org/show_bug.cgi?id=22214 Keep dead resources in memory cache in purgeable memory. <rdar://problem/6333088> - + OS X 10.5 has purgeable memory kernel facility that allows marking reserved memory areas as less important. Under memory pressure system can steal pages that have been marked purgeable for (hopefully) better uses. This is ideal for caches. - + Only resources larger than 16KB will be moved to the purgeable memory. * WebCore.base.exp: @@ -20426,7 +41121,7 @@ Bug 22461: AccessibilityListBox::doAccessibilityHitTest() signature does not match the base class https://bugs.webkit.org/show_bug.cgi?id=22461 - + Changing AccessibilityListBox to use its parent's signature for hit testing * page/AccessibilityListBox.cpp: @@ -20447,8 +41142,8 @@ http://bugs.webkit.org/show_bug.cgi?id=18703 "Changing the 'size' property on a text input does not affect its length" - Text fields would not repaint themselves after having their "size" - attributes modified. This fix tells the object to recalculate its + Text fields would not repaint themselves after having their "size" + attributes modified. This fix tells the object to recalculate its width and repaint itself when its "size" attribute is parsed. Test: fast/js/text-field-resize.html @@ -20461,7 +41156,7 @@ Reviewed by Darin Adler Followup from changes for https://bugs.webkit.org/show_bug.cgi?id=22433 - + Make RenderView::selectionRect() private to cause compile-time errors if someone tries to call it. @@ -20472,7 +41167,7 @@ Reviewed by Dan Bernstein Via: https://bugs.webkit.org/show_bug.cgi?id=22433 - + Rename RenderView::selectionRect() to selectionBounds(), to remove longstanding ambiguity with the base class selectionRect() method. Do the same on Frame for consistency with RenderView. Assert @@ -20774,7 +41469,7 @@ Improve wx image drawing performance considerably when using wxGraphicsContext by avoiding unnecessary copies and drawing. - + https://bugs.webkit.org/show_bug.cgi?id=22404 * platform/graphics/wx/ImageWx.cpp: @@ -20787,7 +41482,7 @@ Reviewed by Kevin Ollivier. Implementation of AffineTransform::mapRect for wx. - + https://bugs.webkit.org/show_bug.cgi?id=22401 * platform/graphics/wx/AffineTransformWx.cpp: @@ -20798,20 +41493,20 @@ Reviewed by Darin Adler. <rdar://problem/5381788> Match NSTextView editing behavior at the end of hyperlink text - - Change link editing behavior to match TextEdit and MS Word when editing before and after - a link (Pages has two caret positions at link boundaries, Thunderbird and FF behave like we + + Change link editing behavior to match TextEdit and MS Word when editing before and after + a link (Pages has two caret positions at link boundaries, Thunderbird and FF behave like we used to, so it's difficult to get out of link editing mode): When inserting before or after a link, always insert content outside of the link. This - makes it impossible to get stuck in link editing mode, while making it slightly more - difficult to edit link labels. WebKit editors that care about this can add UI for editing + makes it impossible to get stuck in link editing mode, while making it slightly more + difficult to edit link labels. WebKit editors that care about this can add UI for editing link labels, like GMail and GoogleDocs have done. We never actually had any bugs complaining - about how it was difficult to edit link labels at the start/end, the code was just introduced + about how it was difficult to edit link labels at the start/end, the code was just introduced with another bug fix without much thought. - - Don't remember removed links anymore, no other editor does this and it made it + + Don't remember removed links anymore, no other editor does this and it made it difficult/impossible to get out of link editing mode. This code was added to fix - <rdar://problem/4069359>, which is fixed instead by removing the styles from an + <rdar://problem/4069359>, which is fixed instead by removing the styles from an enclosing anchor element from those styles that we remember when we delete content. * editing/CompositeEditCommand.cpp: @@ -20896,7 +41591,7 @@ RenderBox::absoluteClippedOverflowRect() needs to inflate the rect by maximalOutlineSize(), since a child might have an outline which projects outside the parent overflowRect(). - + We also need to ensure that maximalOutlineSize() is updated early in styleDidChange, so that it is valid for these repaints. @@ -20958,12 +41653,12 @@ Reviewed by Darin Adler. Bug 22388: Add JSInterfaceName to the .in files - https://bugs.webkit.org/show_bug.cgi?id=22388 + https://bugs.webkit.org/show_bug.cgi?id=22388 Add JSInterfaceName that is similar to interfaceName but for the JS wrappers. JSInterfaceName is always equal to interfaceName unless explicitly set. - + * dom/make_names.pl: * html/HTMLTagNames.in: * svg/svgtags.in: @@ -21173,12 +41868,12 @@ Reviewed by Dan Bernstein https://bugs.webkit.org/show_bug.cgi?id=19623 - + When an non-layer object gained a transform, it would only repaint the bounds of the new layer, which could result in redraw artifacts if the new layer was smaller. So if we're gaining a transform, we repaint. - + Test: fast/repaint/change-transform.html * rendering/RenderObject.cpp: @@ -21186,7 +41881,7 @@ 2008-11-20 Adele Peterson <adele@apple.com> - Reviewed by Darin Adler. + Reviewed by Darin Adler. Fix for <rdar://problem/6111436> Support upload progress events on Windows @@ -21199,7 +41894,7 @@ Reviewed by Darin Adler. <rdar://problem/2610675> Blank line that is quoted can't be deleted - + If the caret is in an empty quoted paragraph, and either there is nothing before that paragraph, or what is before is unquoted, and the user presses delete, unquote that paragraph. @@ -21253,7 +41948,7 @@ computed values for transform-origin-x, transform-origin-y, and just return transform-origin instead. Return "none" for default animation-name, and fix the initial value. - + Tests: animations/computed-style.html transforms/computed-style-origin.html @@ -21269,25 +41964,25 @@ 2008-11-20 Justin Garcia <justin.garcia@apple.com> Reviewed by Beth Dakin. - + Preparation for: <rdar://problem/2610675> Blank line that is quoted can't be deleted - + To fix this we need to make changes to the code that creates selections to delete when the user does a backward or forward delete with a caret selection. For certain caret positions, we now want to remove something other than the standard "caret extended - backward/forward by one unit". The problem is that there were two pieces of code - responsible for doing this, one in Editor::deleteWithDirection, and another inside - TypingCommand::deleteKeyPressed. The code in deleteWithDirection is a recent - addition (r19172), and adding it there caused regressions because it prevented the - code in deleteKeyPressed from ever running. The regressions were never caught because + backward/forward by one unit". The problem is that there were two pieces of code + responsible for doing this, one in Editor::deleteWithDirection, and another inside + TypingCommand::deleteKeyPressed. The code in deleteWithDirection is a recent + addition (r19172), and adding it there caused regressions because it prevented the + code in deleteKeyPressed from ever running. The regressions were never caught because JS deletion uses deleteKeyPressed while manual deletion uses deleteWithDirection. - + This patch removes selection creation code from deleteWithDirection so that deleteKeyPressed can handle it. That required moving code to handle the kill ring down into deleteKeyPressed. - - Follow up patches will fix <rdar://problem/2610675>, and attempt to eliminate the rest of the - discrepancies between the behavior of JS deletions and manual deletions, so that we + + Follow up patches will fix <rdar://problem/2610675>, and attempt to eliminate the rest of the + discrepancies between the behavior of JS deletions and manual deletions, so that we have better test coverage. * editing/Editor.cpp: @@ -21378,11 +42073,11 @@ it into the coords of the part's renderer (which is the one that is painting). To do this we need to compute an offset relative to some container, so expose a method on RenderObject for that. - + Also fix the location at which the search popup shows up to take transforms into account, and fix the math that is used to figure out if the search results button, or the cancel button should get the mouse events. - + Test: fast/forms/search-transformed.html * rendering/RenderBox.h: @@ -21431,7 +42126,7 @@ https://bugs.webkit.org/show_bug.cgi?id=22379 Make CSSOM use less memory - + - Shrink CSSProperty by half by using bitfields. - Get rid of m_strictParsing field in StyleBase by moving it up to CSSStyleSheet and CSSMutableStyleDeclaration. This reduces size of many highly popular objects. @@ -21458,7 +42153,7 @@ https://bugs.webkit.org/show_bug.cgi?id=22373 Ports busted by addition of ScriptValue.{h,cpp} - + * plugins/PluginView.cpp: (WebCore::PluginView::performRequest): @@ -21506,11 +42201,11 @@ Reviewed by Justin Garcia. - Fix for <rdar://problem/5472507> Remove color property when a user + Fix for <rdar://problem/5472507> Remove color property when a user sets color to black - This patch prevents us from inserting font nodes during the - ApplyStyleCommand if they will not change the computed style of an + This patch prevents us from inserting font nodes during the + ApplyStyleCommand if they will not change the computed style of an element. * editing/ApplyStyleCommand.cpp: @@ -21522,9 +42217,9 @@ 2008-11-19 Simon Fraser <simon.fraser@apple.com> Reviewed by Antti Koivisto - + https://bugs.webkit.org/show_bug.cgi?id=22111 - + Fix hit testing in controls on transformed video elements by replacing absoluteBoundingBoxRect().contains() with code that maps the point into local coords, taking @@ -21542,7 +42237,7 @@ Reviewed by Darin Adler https://bugs.webkit.org/show_bug.cgi?id=22348 - + Need to educate style sharing about autofill, so that style does not get shared between input elements that are autofilled, and those that are not. Setting autofill should also do a setChanged on the node. @@ -22219,7 +42914,7 @@ 2008-11-17 Geoffrey Garen <ggaren@apple.com> Reviewed by Sam Weinig. - + Updated for JavaScriptCore renames. * WebCore.pro: @@ -22230,8 +42925,8 @@ Reviewed by Beth Dakin. <rdar://problem/4922709> Copying less than a paragraph of quoted text and pasting it doesn't retain quote level - - There was code to intentionally avoid quoting pasted content if less than a paragraph of + + There was code to intentionally avoid quoting pasted content if less than a paragraph of it was copied. That was added for <rdar://problem/5006779>, but was unnecessary because that bug was about Paste and Match style for single paragraphs. And quote stripping for Paste and Match style is handled elsewhere. @@ -22242,7 +42937,7 @@ 2008-11-17 Geoffrey Garen <ggaren@apple.com> Reviewed by Sam Weinig. - + Updated for JavaScriptCore rename. * ForwardingHeaders/interpreter/CallFrame.h: Copied from WebCore/ForwardingHeaders/runtime/ExecState.h. @@ -22294,7 +42989,7 @@ 2008-11-17 Geoffrey Garen <ggaren@apple.com> Reviewed by Sam Weinig. - + Updated for JavaScriptCore renames. * ForwardingHeaders/VM: Removed. @@ -22339,7 +43034,7 @@ Remove use of static C++ objects that are destroyed at exit time (destructors) Find some missing DEFINE_STATIC_LOCAL use cases. - + * bindings/js/JSSVGPODTypeWrapper.h: (WebCore::PODTypeWrapperCacheInfoTraits::emptyValue): (WebCore::JSSVGDynamicPODTypeWrapperCache::dynamicWrapperHashMap): @@ -22365,11 +43060,11 @@ Reviewed by Dan Bernstein https://bugs.webkit.org/show_bug.cgi?id=22118 - - Fix resize corner tracking in transformed elements by using + + Fix resize corner tracking in transformed elements by using mapping the point into local coords using absoluteToLocal, rather than convertToLayerCoords. - + Test: fast/css/resize-corner-tracking-transformed.html * page/EventHandler.h: @@ -22732,7 +43427,7 @@ Reviewed by Timothy Hatcher. Initialize m_networkStateChangedFunction to 0 as otherwise the check for null will fail. - + https://bugs.webkit.org/show_bug.cgi?id=22284 * platform/network/NetworkStateNotifier.h: @@ -22769,7 +43464,7 @@ 2008-11-15 Geoffrey Garen <ggaren@apple.com> Reviewed by Sam Weinig. - + Updated for JavaScriptCore renames. * bindings/js/JSNodeCustom.cpp: @@ -22797,10 +43492,10 @@ https://bugs.webkit.org/show_bug.cgi?id=21810 Remove use of static C++ objects that are destroyed at exit time (destructors) - Create DEFINE_STATIC_LOCAL macro. Change static local objects to leak to avoid - exit-time destructor. Update code that was changed to fix this issue that ran - into a gcc bug (<rdar://problem/6354696> Codegen issue with C++ static reference - in gcc build 5465). Also typdefs for template types needed to be added in some + Create DEFINE_STATIC_LOCAL macro. Change static local objects to leak to avoid + exit-time destructor. Update code that was changed to fix this issue that ran + into a gcc bug (<rdar://problem/6354696> Codegen issue with C++ static reference + in gcc build 5465). Also typdefs for template types needed to be added in some cases so the type could make it through the macro successfully. Basically code of the form: @@ -23182,7 +43877,7 @@ https://bugs.webkit.org/show_bug.cgi?id=22264 Need to update to latest Geolocation spec (13 November 2008) - + Update to new error code constants and values. * page/Geolocation.cpp: Use new named ErrorCode enums @@ -23197,23 +43892,23 @@ Reviewed by Justin Garcia. - Fix (again) for <rdar://problem/5089327> Too much indentation when + Fix (again) for <rdar://problem/5089327> Too much indentation when pasting quoted paragraphs - This patch goes back to Justin's original approach to fix this bug, - written in revision 38273. That fix was mostly rolled out by - revision 38310 because of styling issues created by the addition of - extra blockquote nodes. This patch again goes back to Justin's - original fix because of cases we discovered the newer fix could not - possibly cover. This version of the patch minimizes the styling - issues of extra blockquotes by opting into the merge start code. + This patch goes back to Justin's original approach to fix this bug, + written in revision 38273. That fix was mostly rolled out by + revision 38310 because of styling issues created by the addition of + extra blockquote nodes. This patch again goes back to Justin's + original fix because of cases we discovered the newer fix could not + possibly cover. This version of the patch minimizes the styling + issues of extra blockquotes by opting into the merge start code. * editing/ReplaceSelectionCommand.cpp: - (WebCore::hasMatchingQuoteLevel): We want shouldMergeStart to - return true when the quoting level of the end of the inserted - content matches the quoting level of the end of the existing + (WebCore::hasMatchingQuoteLevel): We want shouldMergeStart to + return true when the quoting level of the end of the inserted + content matches the quoting level of the end of the existing content. - (WebCore::ReplaceSelectionCommand::shouldMergeStart): Now calls + (WebCore::ReplaceSelectionCommand::shouldMergeStart): Now calls hasMatchingQuoteLevel (WebCore::ReplaceSelectionCommand::doApply): @@ -23303,15 +43998,15 @@ Reviewed by Beth Dakin. <rdar://problem/4230923> "Make Plain Text" doesn't reset text alignment in single paragraph messages - + When applying block styles, we would add block properties to the body element, and Mail's Make Plain Text feature isn't equipped to remove those. This could have been fixed on our side, but this change has the advantage that it fixes the bug on Tiger, where Mail does not plan future updates. - + We have code that puts the paragraphs that we're operating on into blocks of their own before - adding or removing block properties from the blocks that enclose them. We need to run this code + adding or removing block properties from the blocks that enclose them. We need to run this code when the enclosing block is the body element. - + * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::insertNewDefaultParagraphElementAt): Added, moved code from moveParagraphContents to here. @@ -23375,11 +44070,11 @@ * platform/text/AtomicString.cpp: (WebCore::AtomicString::add): - + 2008-11-13 Justin Garcia <justin.garcia@apple.com> Reviewed by Darin Adler. - + https://bugs.webkit.org/show_bug.cgi?id=18620 Long hang under TextIterator::advance() when loading http://www.lsvd.de/ @@ -23387,8 +44082,8 @@ we create VisiblePositions unnecessarily. * editing/TextIterator.cpp: - (WebCore::TextIterator::shouldRepresentNodeOffsetZero): Don't proceed to VisiblePosition - creation if m_node is unrendered or invisible. The answers wouldn't have much meaning + (WebCore::TextIterator::shouldRepresentNodeOffsetZero): Don't proceed to VisiblePosition + creation if m_node is unrendered or invisible. The answers wouldn't have much meaning and would be wasteful. Also fixed some comments to reflect the fact that this function isn't specifically about emitting a newline. @@ -23669,15 +44364,15 @@ it may be the bounding outline box of a transformed element, and fix it to respect transforms by mapping the outline box to an absolute quad and taking the enclosing rect. - + RenderBox::localToAbsoluteQuad() can no longer assert that there is no LayoutState, but LayoutState cannot be used during quad mapping (it knows nothing about transforms). - + Finally, fix a bug in RenderBox::localToAbsoluteQuad() which was getting borderTopExtra() from the object, rather than its container (as localToAbsolute() does). - + Test: fast/repaint/transform-absolute-child.html * rendering/RenderBlock.cpp: @@ -23718,14 +44413,14 @@ https://bugs.webkit.org/show_bug.cgi?id=21942 https://bugs.webkit.org/show_bug.cgi?id=18557 - + Add methods which can be used to map renderer-local rectangles to quads in absolute coordinates, taking transforms into account: localToAbsoluteQuad() converts a local rect into an absolute quad. collectAbsoluteLineBoxQuads() is an analogue of addLineBoxRects() that works with quads. absoluteQuads() is an analogue of absoluteRects(), for quads. - + Use the quad methods to fix the inspector highlight for transformed elements. @@ -23848,7 +44543,7 @@ https://bugs.webkit.org/show_bug.cgi?id=17840 Patch 2 - + Code cleanup in RenderBox::computeAbsoluteRepaintRect(). * rendering/RenderBox.cpp: @@ -23872,24 +44567,24 @@ (WebCore::RenderBox::computeAbsoluteRepaintRect): 2008-11-12 Justin Garcia <justin.garcia@apple.com> - + Reviewed by Beth Dakin. - + <rdar://problem/5495723> Selecting and deleting quoted text quotes other text <rdar://problem/4775313> Deleting lines from the bottom of a messages leaves the last blank line quoted - - We don't want to merge into a block if it will mean changing the quote level of content after deleting - selections that contain a whole number paragraphs plus a line break, since it is unclear to most users + + We don't want to merge into a block if it will mean changing the quote level of content after deleting + selections that contain a whole number paragraphs plus a line break, since it is unclear to most users that such a selection actually ends at the start of the next paragraph. Instead we want to completely - remove the selected paragraph(s) and all evidence of the first one's quote level. This matches TextEdit behavior + remove the selected paragraph(s) and all evidence of the first one's quote level. This matches TextEdit behavior for indented paragraphs. - + * editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::initializePositionData): For the selections described above, do not try to merge after the deletion. Instead try and prune the start block or blocks if they've been emptied so that we remove evidence of the deleted paragraphs' quote level. - (WebCore::DeleteSelectionCommand::mergeParagraphs): Try and prune the start block(s) if necessary. Also - make sure that the caret is placed correctly so that it ends up on the same line that the deleted selection + (WebCore::DeleteSelectionCommand::mergeParagraphs): Try and prune the start block(s) if necessary. Also + make sure that the caret is placed correctly so that it ends up on the same line that the deleted selection started on, instead of one higher. * editing/DeleteSelectionCommand.h: * editing/htmlediting.cpp: @@ -24104,22 +44799,22 @@ Reviewed by Darin Adler. - Fix for <rdar://problem/5089327> Too much indentation when pasting + Fix for <rdar://problem/5089327> Too much indentation when pasting quoted paragraphs - This patch re-addresses pasting blockquotes into blockquotes. It - backs out most of revision 38273. 38273 fixed the bug by inserting - the pasted content as a sibling blockquote node to the pre-existing - blockquote node. The problem with that is that by default, - blockquotes have a giant margin, so visually, this can be weird. - This patch instead inserts the pasted content as siblings of the - the content already inside the outer blockquote, and then removes - the blockquote node from the pasted content itself, so that it + This patch re-addresses pasting blockquotes into blockquotes. It + backs out most of revision 38273. 38273 fixed the bug by inserting + the pasted content as a sibling blockquote node to the pre-existing + blockquote node. The problem with that is that by default, + blockquotes have a giant margin, so visually, this can be weird. + This patch instead inserts the pasted content as siblings of the + the content already inside the outer blockquote, and then removes + the blockquote node from the pasted content itself, so that it doesn't nest itself into the outer blockquote. * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): - Move contains() from Element to Node since there is nothing + Move contains() from Element to Node since there is nothing Element-specific about it. * dom/Element.cpp: * dom/Element.h: @@ -24193,7 +44888,7 @@ PatternCairo needs to invert the pattern matrix because of transformation from user space to pattern space. - Give a identity matrix to pattern for Qt and Cairo. Because the + Give a identity matrix to pattern for Qt and Cairo. Because the context is transformed already. [CAIRO][QT] Canvas transformations applied twice to Patterns @@ -24240,15 +44935,15 @@ Reviewed by Beth Dakin. - <rdar://problem/4037481> REGRESSION (Mail): pasting quoted text + <rdar://problem/4037481> REGRESSION (Mail): pasting quoted text into quoted text yields double-quoting - - Don't nest inserted content in Mail blockquotes. Perform a + + Don't nest inserted content in Mail blockquotes. Perform a BreakBlockquoteCommand if we're in one and insert the incoming fragment between the split blockquotes. * editing/ReplaceSelectionCommand.cpp: - (WebCore::ReplaceSelectionCommand::shouldMerge): Renamed from -> + (WebCore::ReplaceSelectionCommand::shouldMerge): Renamed from -> source and to -> destination. (WebCore::ReplaceSelectionCommand::doApply): @@ -24399,10 +45094,10 @@ 2008-11-08 Antti Koivisto <antti@apple.com> Reviewed by Sam Weinig. - + Fix https://bugs.webkit.org/show_bug.cgi?id=22141 REGRESSION: Safari error page is not fully styled when loaded from cache - + Reset text decoder on flush so it does not pass through the BOM when it is reused. Test: fast/encoding/css-cached-bom.html @@ -24411,7 +45106,7 @@ (WebCore::TextResourceDecoder::flush): 2008-11-08 Kevin Ollivier <kevino@theolliviers.com> - + Reviewed by Mark Rowe. Send URL errors to stderr rather than stdout. While debugging wx DumpRenderTree, @@ -24422,7 +45117,7 @@ 2008-11-08 Kevin Ollivier <kevino@theolliviers.com> - wx build fixes after addition of JSCore parser and bycompiler dirs. + wx build fixes after addition of JSCore parser and bycompiler dirs. * webcore-base.bkl: * webcore-wx.bkl: @@ -24432,13 +45127,13 @@ Reviewed by Dan Bernstein https://bugs.webkit.org/show_bug.cgi?id=21906 - + Override addFocusRingRects() in RenderTextControl to avoid the RenderFlow behavior of recursing on descendent renderers. RenderTextControl should only ever need a simple focus rect. - + This fixes focus ring issues with transforms on text controls. - + Test: fast/transforms/transformed-focused-text-input.html * rendering/RenderTextControl.cpp: @@ -24532,7 +45227,7 @@ Reviewed by Dan Bernstein https://bugs.webkit.org/show_bug.cgi?id=22122 - + Use a stack-based object to simplify the pushLayoutState/popLayoutState code. LayoutStateMaintainer either pushes in the constructor, or allows an explicit push() later. Both cases require an explicit pop(). @@ -24608,10 +45303,10 @@ Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=22093 - + Delaying the text decoding caused regression since the decoding - also determines the encoding in case of @charset rule. - + also determines the encoding in case of @charset rule. + Decode immediately in data() and keep the decoded string around during the checkNotify(). @@ -24666,7 +45361,7 @@ NPN_HasPropertyUPP and NPN_HasMethodUPP entries in NPNetscapeFuncs are NULL Export _NPN_HasMethod and _NPN_HasProperty. - + * WebCore.NPAPI.exp: 2008-11-06 Simon Fraser <simon.fraser@apple.com> @@ -24674,7 +45369,7 @@ Reviewed by Antti Koivisto https://bugs.webkit.org/show_bug.cgi?id=15678 - + Fix transformed menu selects to show the popup in the correct location. @@ -24762,7 +45457,7 @@ 2008-11-06 Steve Falkenburg <sfalken@apple.com> Fix failed assert at launch caused by unintialized data member. - + Reviewed by Maciej Stachowiak. * platform/network/win/NetworkStateNotifierWin.cpp: @@ -24991,10 +45686,10 @@ Reviewed by Dave Hyatt https://bugs.webkit.org/show_bug.cgi?id=21870 - + Implement absoluteToLocal() to convert a point from absolute to local coordinates, optionally taking transforms into account. - + Use this to set offsetX/offsetY in mouse events, thus fixing offsetX/offsetY in events on elements with transforms. @@ -25187,15 +45882,15 @@ 2008-11-05 Antti Koivisto <antti@apple.com> Reviewed by Dan Bernstein. - + https://bugs.webkit.org/show_bug.cgi?id=22093 Don't keep decoded stylesheet data in cache - + <rdar://problem/6343588> Don't keep decoded stylesheet string around in the cache. There are no sharing benefits and performance benefits are negligible (no measured PLT impact). Reduces memory consumption of - style sheet data in cache by 2/3 in common case. + style sheet data in cache by 2/3 in common case. * loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::sheetText): @@ -25291,10 +45986,10 @@ Reviewed by Beth Dakin. <rdar://problem/5480736> In Mail and Gmail, copied indented text pastes with line break - - As a rule, we don't allow merges out of blockquotes. In the bug, we are inserting a text node + + As a rule, we don't allow merges out of blockquotes. In the bug, we are inserting a text node between two blockquotes. Because the start merge moves the text node into a blockquote, when we - determine whether or not we should do the end merge, it incorrectly appears as though the end merge + determine whether or not we should do the end merge, it incorrectly appears as though the end merge is merging out of a blockquote. The fix is to determine whether or not we should do the end merge before we do the start merge, so that the start merge doesn't effect our decision. @@ -25406,7 +46101,7 @@ Reviewed by Dan Bernstein. Remove two global destructors from CoreTextController. - + * platform/graphics/mac/CoreTextController.cpp: (WebCore::CoreTextController::collectCoreTextRunsForCharacters): @@ -25557,12 +46252,12 @@ reported by zdobersek in #webkit. 2008-11-04 Darin Fisher <darin@chromium.org> - + Reviewed by Anders Carlsson. - + No need to clobber all ResourceRequest fields in FrameLoader::reload() https://bugs.webkit.org/show_bug.cgi?id=21949 - + * loader/FrameLoader.cpp: (WebCore::FrameLoader::reload): @@ -26220,7 +46915,7 @@ When computing the bounds of the transparency layer, we need to map the clipRect through the enclosing transform. - + Test: fast/layers/opacity-transforms.html * rendering/RenderLayer.cpp: @@ -26232,7 +46927,7 @@ https://bugs.webkit.org/show_bug.cgi?id=22053 - Added additional support needed for the NPDrawingModelCoreAnimation drawing model. + Added additional support needed for the NPDrawingModelCoreAnimation drawing model. * bridge/npapi.h: @@ -26446,7 +47141,7 @@ WebCore Windows part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload. https://bugs.webkit.org/show_bug.cgi?id=22008 - * platform/FileChooser.cpp: (WebCore::FileChooser::chooseIcon): + * platform/FileChooser.cpp: (WebCore::FileChooser::chooseIcon): Rename newIconForFile and newIconForFiles to createIconForFile and createIconForFiles. * platform/graphics/Icon.h: ditto. * platform/graphics/gtk/IconGtk.cpp: @@ -26465,9 +47160,9 @@ (WebCore::Icon::createIconForFile): ditto. (WebCore::Icon::createIconForFiles): Add creation of an icon for multiple files. - * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration): + * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration): Improve icon creation code to match new code in Icon::createIconForFiles - + 2008-10-31 Timothy Hatcher <timothy@apple.com> Add manual tests that check breakpoints on a blockless body of "for" loops. @@ -26627,7 +47322,7 @@ Reviewed by Sam Weinig https://bugs.webkit.org/show_bug.cgi?id=21967 - + For some platforms the GeolocationService must be suspended and resumed. * page/Geolocation.cpp: @@ -26646,7 +47341,7 @@ Reviewed by Sam Weinig https://bugs.webkit.org/show_bug.cgi?id=21966 - + The Geolocation spec was updated on 10/27/2008. This brings WebCore up to date. http://dev.w3.org/geo/api/spec-source.html @@ -26680,15 +47375,15 @@ <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line * editing/BreakBlockquoteCommand.cpp: - (WebCore::BreakBlockquoteCommand::doApply): - Don't store the endingSelection() in selection, just call endingSelection() in the few places it's + (WebCore::BreakBlockquoteCommand::doApply): + Don't store the endingSelection() in selection, just call endingSelection() in the few places it's needed. This function is cheap since it just returns a reference to a Selection instead of creating one. Don't store an affinity. In the one place that it was used, isLastVisiblePositionInNode(VisiblePosition(pos, affinity), topBlockquote), we now use visiblePos (in order to avoid VisiblePosition creation). - Set pos after we delete the current selection (if there is one), and be consistent about what we set + Set pos after we delete the current selection (if there is one), and be consistent about what we set pos to. Before, we upstream()ed it if there was a selection to delete and left it alone otherwise. In fact... - ...we need to use downstream() for pos so that when a caret is at the boundary between two nodes, pos is - in the first node that we want to move. This fixes the bug, since it lets code that checks for the case + ...we need to use downstream() for pos so that when a caret is at the boundary between two nodes, pos is + in the first node that we want to move. This fixes the bug, since it lets code that checks for the case where the caret is between text and a br work correctly. 2008-10-30 Yael Aharon <yael.aharon@nokia.com> @@ -26715,10 +47410,10 @@ <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line * editing/BreakBlockquoteCommand.cpp: - (WebCore::BreakBlockquoteCommand::doApply): Added comments. Don't need to use newStartNode. If the - startNode needs to change, change it. Afterwords, check to make sure that it hasn't left topBlockquote. - This is slightly stricter than before, where we just made sure that it still had a topBlockquote. This - doesn't really fix a bug, since we can't really get into a situation where we move to a different + (WebCore::BreakBlockquoteCommand::doApply): Added comments. Don't need to use newStartNode. If the + startNode needs to change, change it. Afterwords, check to make sure that it hasn't left topBlockquote. + This is slightly stricter than before, where we just made sure that it still had a topBlockquote. This + doesn't really fix a bug, since we can't really get into a situation where we move to a different topBlockquote, but it simplifies the code. 2008-10-30 Dirk Schulze <vbs85@gmx.de> @@ -26884,7 +47579,7 @@ Some preparation for: <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line - + Added an early return to avoid a level of if-nesting. No other changes. We probably don't need to rebalance whitespace before the early return but for now don't risk any change in behavior I'll revisit that later. @@ -26895,7 +47590,7 @@ 2008-10-29 Kevin Ollivier <kevino@theolliviers.com> wx build fixes after addition of runtime and ImageBuffer changes. - + * platform/graphics/wx/ImageBufferData.h: Added. * platform/graphics/wx/ImageBufferWx.cpp: (WebCore::ImageBufferData::ImageBufferData): @@ -27043,7 +47738,7 @@ (WebCore::Document::~Document): Moved active object and MessagePort tracking up to ScriptExecutionContext, to share code with workers. - + * dom/Document.h: (WebCore::Document::isDocument): (WebCore::Document::refScriptExecutionContext): @@ -27116,8 +47811,8 @@ * editing/Editor.cpp: (WebCore::Editor::ignoreSpelling): Remove misspelling markers from the word. - (WebCore::Editor::learnSpelling): Added a FIXME about <rdar://problem/5396072>, which - will probably require a change more complicated than just marking the learned word as + (WebCore::Editor::learnSpelling): Added a FIXME about <rdar://problem/5396072>, which + will probably require a change more complicated than just marking the learned word as misspelled. I'll address it with a separate patch. * editing/EditorCommand.cpp: (WebCore::executeIgnoreSpelling): Added. @@ -27564,10 +48259,10 @@ 2008-10-27 Kevin Watters <kevinwatters@gmail.com> Reviewed by Kevin Ollivier. - + Update the active state as well as the focused state as both need to be true for the caret to be drawn. - + https://bugs.webkit.org/show_bug.cgi?id=21900 * WebView.cpp: @@ -27655,7 +48350,7 @@ Reviewed by Sam Weinig. No need to call release if the connection is null. - + * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::start): @@ -27664,9 +48359,9 @@ Reviewed by Kevin Decker. <rdar://problem/6322650> Crash in fast/loader/simultaneous-reloads-assert.html - + Make sure to null check the NSURLConnection object. - + * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::start): (WebCore::ResourceHandle::setDefersLoading): @@ -27708,7 +48403,7 @@ 2008-10-25 Geoffrey Garen <ggaren@apple.com> Not reviewed. - + Try to fix Mac debug build on the buildbot. * platform/FileChooser.cpp: @@ -27837,40 +48532,40 @@ Reviewed by Sam Weinig. <rdar://problem/5440917> Support NPN_Construct - + * WebCore.NPAPI.exp: Export _NPN_Construct. - + * bridge/NP_jsobject.cpp: (_NPN_Construct): Implement this. - + * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::supportsConstruct): (JSC::Bindings::CInstance::invokeConstruct): Have this call the appropriate NPClass method. - + * bridge/npruntime.h: Add NPN_Construct. * bridge/npruntime_impl.h: Add _NPN_Construct. - + * bridge/runtime.h: (JSC::Bindings::Instance::supportsConstruct): (JSC::Bindings::Instance::invokeConstruct): New methods. - + * bridge/runtime_object.cpp: (JSC::callRuntimeConstructor): Call the native instance. - + (JSC::RuntimeObjectImp::getConstructData): Implement this. - + * bridge/runtime_object.h: Add new method declarations. - + * plugins/gtk/PluginPackageGtk.cpp: (WebCore::PluginPackage::load): * plugins/qt/PluginPackageQt.cpp: @@ -27912,9 +48607,9 @@ This is consistent with the direction HTML5 will be going in the future. The initial implementation here will show "n files" as the text next to the control when multiple files are selected. You can view - the individual files in a tooltip for now. Improvements to this control will come later. + the individual files in a tooltip for now. Improvements to this control will come later. - Web developers will be able to access the FileList from the HTMLInputElement element, where they can get a base name and a size for each file. + Web developers will be able to access the FileList from the HTMLInputElement element, where they can get a base name and a size for each file. These FileList Files can also be sent in an XMLHTTPRequest. * manual-tests/post-multi-file-upload.html: Added. @@ -27932,7 +48627,7 @@ but we don't want to break the behavior for existing websites that may rely on this. (WebCore::HTMLInputElement::setValue): ditto. (WebCore::HTMLInputElement::setValueFromRenderer): This is no longer used for file upload controls. setFileListFromRenderer is used instead. - (WebCore::HTMLInputElement::setFileListFromRenderer): Added. + (WebCore::HTMLInputElement::setFileListFromRenderer): Added. * html/HTMLInputElement.h: * page/Chrome.cpp: (WebCore::Chrome::setToolTip): Show a tooltip with the file name list for the multi-file upload control. @@ -28002,9 +48697,9 @@ Reviewed by Sam Weinig. https://bugs.webkit.org/show_bug.cgi?id=21475 - + Provide support for the Geolocation API - + http://dev.w3.org/geo/api/spec-source.html Test: geolocation/geolocation-not-implemented.html @@ -28119,7 +48814,7 @@ Reviewed by Darin Adler https://bugs.webkit.org/show_bug.cgi?id=21818 - + Add HashTraits for AtomicString so that AtomicString can be used as the key for a HashMap or HashSet. @@ -28147,7 +48842,7 @@ Add WebKitCSSKeyframeRule and WebKitCSSKeyframesRule to the switch in _wrapCSSRule. - + * bindings/objc/DOMCSS.mm: (+[DOMCSSRule _wrapCSSRule:WebCore::]): @@ -28453,9 +49148,9 @@ Reviewed by Sam Weinig. https://bugs.webkit.org/show_bug.cgi?id=21475 - + Provide support for the Geolocation API - + http://dev.w3.org/geo/api/spec-source.html Test: geolocation/geolocation-not-implemented.html @@ -28678,7 +49373,7 @@ Reviewed by Oliver Hunt. * platform/network/curl/ResourceRequest.h: A better implementation - of CFURLRequest, rather than void*. This gives better compatibility + of CFURLRequest, rather than void*. This gives better compatibility with the WebKit.idl interface. (WebCore::ResourceRequest::cfURLRequest): @@ -28878,7 +49573,7 @@ - fix https://bugs.webkit.org/show_bug.cgi?id=21809 - Remove PLATFORM(MAC) wrapping USE(ATSUI). It's redundant and inhibits + Remove PLATFORM(MAC) wrapping USE(ATSUI). It's redundant and inhibits its use for PLATFORM(CHROMIUM) in the future. * platform/graphics/SimpleFontData.h: @@ -28886,7 +49581,7 @@ 2008-10-22 David Smith <catfish.man@gmail.com> Reviewed by Anders Carlsson. - + https://bugs.webkit.org/show_bug.cgi?id=19974 getElementsByClassName not live enough @@ -28959,11 +49654,11 @@ <rdar://6261773> - autocomplete="off" doesn't work on Windows - Visual Studio makes a poor decision regarding the combination of enums and bitfields, such that a - statement like "m_autocomplete = Off" followed by "return m_autocomplete == Off" would return "false" + Visual Studio makes a poor decision regarding the combination of enums and bitfields, such that a + statement like "m_autocomplete = Off" followed by "return m_autocomplete == Off" would return "false" instead of the much more correct "true." - - In the past we have worked around this by declaring the bitfield member as an unsigned instead + + In the past we have worked around this by declaring the bitfield member as an unsigned instead of the enum type. For more discussion, see http://trac.webkit.org/changeset/25329 @@ -29047,11 +49742,11 @@ Make sure that the AtomicString that identifies a set of animation keyframes stays live by keeping a copy in the WebKitCSSKeyframesRule. - + Also call styleSheetChanged() when the keyframes name changes, but add an internal method that doesn't call styleSheetChanged() for use during normal stylesheet parsing. - + Test: animations/change-keyframes-name.html * css/CSSGrammar.y: @@ -29183,14 +49878,14 @@ Reviewed by Darin Adler. - Fix for https://bugs.webkit.org/show_bug.cgi?id=20352 - REGRESSION(r31030-31055): Choosing "Print window" from frame set + Fix for https://bugs.webkit.org/show_bug.cgi?id=20352 + REGRESSION(r31030-31055): Choosing "Print window" from frame set prints blank page and corresponding: <rdar://problem/6142398> - viewHeight() and viewWidth() only return valuable information if we - are not printing. Everywhere else in the code, we make sure we are - not printing before we call these functions. Adding a check for + viewHeight() and viewWidth() only return valuable information if we + are not printing. Everywhere else in the code, we make sure we are + not printing before we call these functions. Adding a check for printing here fixes this bug, and framesets print again. * rendering/RenderFrameSet.cpp: @@ -29213,7 +49908,7 @@ Add a comment explaining layoutDelta(), and an assertion that checks that delta changes were correctly paired during layout. - + * rendering/RenderView.cpp: (WebCore::RenderView::layout): * rendering/RenderView.h: @@ -29269,9 +49964,9 @@ Fix https://bugs.webkit.org/show_bug.cgi?id=21763 REGRESSION (r36108-r36113): Can't load picture content on wired.com galleries <rdar://problem/6285025 - + If we get 304 response we need to explicitly check if that completes the frame load. - + No test case, simulating the condition is pretty difficult. * loader/loader.cpp: @@ -29282,9 +49977,9 @@ Reviewed by Mark Rowe. Work around <rdar://problem/6301728>. - + Don't assert that loads are deferred when we're using CFNetwork on Mac or Windows. - + * loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::didReceiveResponse): (WebCore::MainResourceLoader::didReceiveData): @@ -29295,13 +49990,13 @@ Reviewed by Adele Peterson. - Speculative fix for <rdar://problem/6242585> CrashTracer: [USER] 19 + Speculative fix for <rdar://problem/6242585> CrashTracer: [USER] 19 crashes in Safari at com.apple.WebCore WebCore::ScrollView::visibleContentRect const + 153 - d->m_view can be null and is null-checked at other points in the - code. The logs indicate that this crash occurs when closing a - window containing a PDF, so in case where we crash, the PDF's view + d->m_view can be null and is null-checked at other points in the + code. The logs indicate that this crash occurs when closing a + window containing a PDF, so in case where we crash, the PDF's view is probably already null. So the fix is to simply add a null-check. * page/Frame.cpp: @@ -29532,7 +50227,7 @@ Reviewed by Jon Honeycutt - Fix a crash in Accessibility where a table section was being + Fix a crash in Accessibility where a table section was being referenced without first checking if it was null https://bugs.webkit.org/show_bug.cgi?id=21721 @@ -29650,7 +50345,7 @@ (WebCore::JavaScriptDebugServer::recompileAllJSFunctionsSoon): (WebCore::JavaScriptDebugServer::didAddListener): (WebCore::JavaScriptDebugServer::didRemoveListener): - * inspector/JavaScriptDebugServer.h: Exported an API for recompiling, + * inspector/JavaScriptDebugServer.h: Exported an API for recompiling, used by the Settings object. * page/Settings.cpp: @@ -30491,9 +51186,9 @@ 2008-10-17 Kevin Watters <kevinwatters@gmail.com> Reviewed by Kevin Ollivier - + Fix wx port's scrollbar and drawing handling after recent changes. - + https://bugs.webkit.org/show_bug.cgi?id=21720 * platform/ScrollView.h: @@ -31032,7 +51727,7 @@ https://bugs.webkit.org/show_bug.cgi?id=21587 NPN_PluginThreadAsyncCall does not work properly - + * plugins/PluginMainThreadScheduler.cpp: (WebCore::PluginMainThreadScheduler::dispatchCalls): Make sure to set m_callPending to false once the queue has been cleared. @@ -31155,7 +51850,7 @@ Reviewed by Sam Weinig. - Implement didSendBodyData delegate method, and use older code path when that delegate doesn't exist. + Implement didSendBodyData delegate method, and use older code path when that delegate doesn't exist. * platform/network/ResourceHandle.h: * platform/network/mac/FormDataStreamMac.mm: (WebCore::formRead): @@ -31240,11 +51935,11 @@ Reviewed by Darin Adler, tweaked and landed by Beth. - * WebCore.base.exp: Exposes two functions to be able to create a - selection from a point on the screen. Also exposes the new + * WebCore.base.exp: Exposes two functions to be able to create a + selection from a point on the screen. Also exposes the new TextIterator::currentNode function. * WebCore/editing/TextIterator.cpp: - (TextIterator::currentNode) : New function that returns the current + (TextIterator::currentNode) : New function that returns the current text node or NULL if there is no text node. 2008-10-15 Marco Barisione <marco.barisione@collabora.co.uk> @@ -31487,7 +52182,7 @@ 2008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com> Reviewed by Simon. - + Fix QtWebKit scrollbar painting errors * platform/qt/ScrollbarThemeQt.cpp: @@ -31508,7 +52203,7 @@ Reviewed by Simon. Use style-painter to draw scrollbars in ScrollbarThemeQt - + This has the benefit of setting up the painter properly without antialiasing and saving and restoring the brush. It also ensures that we use the style of the QWebView over the QApplication style @@ -31589,7 +52284,7 @@ 2008-10-13 Maciej Stachowiak <mjs@apple.com> Rubber stamped by Mark Rowe. - + - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default * Configurations/DebugRelease.xcconfig: @@ -31621,7 +52316,7 @@ Links from image maps were not being included in the web area's AXLinkUIElements attribute. The position of image map links was being reported incorrectly and the parent-chain hierarchy for image map links was incorrect because image map links did not have a reference - to their parent image. + to their parent image. Test: accessibility/document-links.html @@ -31845,7 +52540,7 @@ but changes \r, \n, and \r\n to a single space. Tests: editing/pasteboard/paste-multiline-text-input.html - + * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::constrainValue): @@ -31887,8 +52582,8 @@ Reviewed by Alp Toker. - Add version parsing for Flash, and the PluginQuirkDontSetNullWindowHandleOnDestroy - plugin quirk if Flash 10 or newer since at least in b218, setting a NULL window + Add version parsing for Flash, and the PluginQuirkDontSetNullWindowHandleOnDestroy + plugin quirk if Flash 10 or newer since at least in b218, setting a NULL window handler on destroy crashes WebKit <https://bugs.webkit.org/show_bug.cgi?id=19859> * plugins/gtk/PluginPackageGtk.cpp: @@ -32283,7 +52978,7 @@ Reviewed by Darin Adler https://bugs.webkit.org/show_bug.cgi?id=21538 - + The blendFunc() for TransformOperations should never mess with the operation lists by replacing some ops with identity, otherwise the lists no longer match and transitions break. @@ -32301,7 +52996,7 @@ Fix re-targetting a running transition; if the target property changes, we do need to make a new ImplicitAnimation. - + Test: transitions/retargetted-transition.html * page/animation/CompositeAnimation.cpp: @@ -32532,7 +53227,7 @@ Redesigned how animation events are sent in order to get rid of AnimationEventDispatcher. ImplicitAnimation and KeyframeAnimation - are now ref counted. While calling the event handler, I keep a + are now ref counted. While calling the event handler, I keep a reference to this class to avoid it getting destroyed out from under me. I also moved most of the functionality of CompositeAnimation to @@ -32648,7 +53343,7 @@ Media controls should not show when element is not visible https://bugs.webkit.org/show_bug.cgi?id=21155 - + Reviewed by Adele Peterson. * html/HTMLMediaElement.cpp: @@ -32905,7 +53600,7 @@ Gradient clips were not getting cleared after filling the gradient, this was causing nothing to draw in Canvex https://bugs.webkit.org/show_bug.cgi?id=21498 - + Tests forthcoming. * WebCore.xcodeproj/project.pbxproj: @@ -32917,10 +53612,10 @@ 2008-10-09 Eric Seidel <eric@webkit.org> Reviewed by Oliver Hunt. - + Fix transformed patterns https://bugs.webkit.org/show_bug.cgi?id=21498 - + Test: fast/canvas/patternfill-repeat.html * WebCore.xcodeproj/project.pbxproj: @@ -33329,7 +54024,7 @@ Reviewed by Antti Koivisto. <rdar://problem/6273887> Crash in ApplicationCacheGroup - + Make sure to stop loading even before a cache update is in progress so that the manifest load will be stopped. @@ -33431,7 +54126,7 @@ scrollbar-corner scrollbar-thumb scrollbar-track - + These elements will work with all the usual pseudo-classes (:hover, :active, :enabled, :disabled, etc.) and with the following new pseudo-classes: scrollbar-active @@ -33439,7 +54134,7 @@ scrollbar-forward scrollbar-horizontal scrollbar-vertical - + Reviewed by Adele * css/CSSSelector.cpp: @@ -33572,7 +54267,7 @@ 2008-10-06 Jeremy Moskovich <jeremy@chromium.org> Reviewed by Dan Bernstein. - + Added C++ forward declaration for the NSURLAuthenticationChallenge class so that the m_currentMacChallenge variable doesn't cause a compilation error when ResourceHandleInternal.h is included from a C++ file. @@ -33590,7 +54285,7 @@ https://bugs.webkit.org/show_bug.cgi?id=21416 Add missing null checks identified by Application Verifier. - + Reviewed by Darin Adler. * platform/win/SharedTimerWin.cpp: @@ -33634,7 +54329,7 @@ 2008-10-03 Steve Falkenburg <sfalken@apple.com> <rdar://problem/6249833> Fix default button appearance - + Reviewed by Adele Peterson. * rendering/RenderThemeWin.cpp: @@ -33714,7 +54409,7 @@ SVG should support ascent and descent properties <font-face> instead of <font>! https://bugs.webkit.org/show_bug.cgi?id=21365 - + Tested by many many existing SVG tests. * svg/SVGFontFaceElement.cpp: @@ -33829,7 +54524,7 @@ The solution is to track whether we are entering or reentering the parsing of a script element. We do this simply by 0 checking scriptStartLineno, - and resetting it after we complete parsing of each script element. + and resetting it after we complete parsing of each script element. Test: http/tests/incremental/pause-in-script-element.pl @@ -34461,11 +55156,11 @@ 2008-10-03 David Hyatt <hyatt@apple.com> https://bugs.webkit.org/show_bug.cgi?id=21340 - + Remove "containingWindow()/setContainingWindow()" from Widget. HostWindow covers this now. - + Reviewed by Dan Bernstein & Darin Adler - + * platform/ScrollView.cpp: (WebCore::ScrollView::addChild): * platform/Widget.cpp: @@ -34532,7 +55227,7 @@ Reviewed by Dan Bernstein. - Fix for <rdar://problem/6012018> + Fix for <rdar://problem/6012018> https://bugs.webkit.org/show_bug.cgi?id=21335 CrashTracer: [USER] 4959 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 8 @@ -34562,7 +55257,7 @@ 2008-10-03 David Hyatt <hyatt@apple.com> Remove addToDirtyRegion. - + Reviewed by Oliver Hunt * page/Chrome.cpp: @@ -34577,7 +55272,7 @@ Reviewed by Maciej Stachowiak. - - fix a CachedResource leak introduced in r37176 + - fix a CachedResource leak introduced in r37176 Undo r37176 and instead allow pruneDeadResources() to be re-entered, but afterwards bail out of the outer pruneDeadResources(). @@ -34594,7 +55289,7 @@ Fix Gtk adjustments so that they are properly checked again before creating horizontal/vertical scrollbars. - + Reviewed by Oliver Hunt * platform/ScrollView.cpp: @@ -34649,16 +55344,16 @@ 2008-10-02 David Hyatt <hyatt@apple.com> https://bugs.webkit.org/show_bug.cgi?id=21328 - + Make widget invalidation more cross-platform. - + (1) Make invalidateRect a pure virtual function on Widget. All leaf widgets must now implement this function. - + (2) Scrollbars now send invalidations through the ScrollbarClient. windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call. This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected. - + (3) Plugins now have the native window invalidation code for windowed plugins. Windowless plugins do a repaintRectangle on the plugin's renderer. - + (4) FrameViews now do a repaintRectangle on their owner element's renderer. Reviewed by Sam Weinig @@ -34733,7 +55428,7 @@ Reviewed by Dave Hyatt - Fix RenderFileUploadControl::setStyle() and + Fix RenderFileUploadControl::setStyle() and RenderMenuList::setStyle() to not touch the style; replace with html4.css and CSSStyleSelector changes. @@ -34754,9 +55449,9 @@ Clean up code that changes the RenderStyle passed in to table renderer setStyle() methods. - + https://bugs.webkit.org/show_bug.cgi?id=21287 - + Tests: fast/table/floating-th.html fast/table/table-display-types-strict.html fast/table/table-display-types.html @@ -34844,7 +55539,7 @@ - fix a Database leak that resulted in Document leaks * storage/Database.cpp: - (WebCore::Database::openDatabase): Account for the fact that RefCounted + (WebCore::Database::openDatabase): Account for the fact that RefCounted objects start out with a ref count of 1. 2008-10-02 Sam Weinig <sam@webkit.org> @@ -34859,7 +55554,7 @@ 2008-10-02 David Hyatt <hyatt@apple.com> https://bugs.webkit.org/show_bug.cgi?id=21314 - + Make scrollBackingStore cross-platform. Reviewed by Sam Weinig @@ -34942,14 +55637,14 @@ 2008-10-01 David Hyatt <hyatt@apple.com> https://bugs.webkit.org/show_bug.cgi?id=21298 - + Make updateScrollbars cross-platform. For now a stubbed out scrollContents function is invoked to do the scrolling of the backing store. Next patch - will make that cross-platform. - + will make that cross-platform. + The ScrollView now implements ScrollbarClient, which means that there was a clash of windowClipRect methods from the multiple inheritance. For now I solved this by adding a Scrollbar* to the ScrollbarClient version of the method, but longer term windowClipRect is going to be removed from ScrollbarClient (when Widget invalidation gets rewritten). - + Reviewed by Sam Weinig * page/FrameView.cpp: @@ -35043,7 +55738,7 @@ (WebCore::XMLHttpRequest::detachRequests): (WebCore::XMLHttpRequest::setPendingActivity): (WebCore::XMLHttpRequest::unsetPendingActivity): - Moved XMLHttpRequest tracking from a global map to Document. + Moved XMLHttpRequest tracking from a global map to Document. * bindings/js/JSDOMBinding.cpp: (WebCore::wrapperSet): @@ -35131,7 +55826,7 @@ 2008-10-02 Geoffrey Garen <ggaren@apple.com> Not reviewed. - + Try to fix Windows build. * WebCore.vcproj/WebCore.vcproj: @@ -35202,7 +55897,7 @@ (WebCore::JavaScriptDebugServer::didExecuteProgram): (WebCore::JavaScriptDebugServer::didReachBreakpoint): * page/JavaScriptDebugServer.h: - * page/inspector/ScriptsPanel.js: Renamed internal uses of sourceId and + * page/inspector/ScriptsPanel.js: Renamed internal uses of sourceId and sourceIdentifier to sourceID. 2008-10-01 Dan Bernstein <mitz@apple.com> @@ -35275,7 +55970,7 @@ 2008-10-01 Evan Martin <evan@chromium.org> Reviewed by Eric Seidel. - + https://bugs.webkit.org/show_bug.cgi?id=20669 * css/makeprop.pl: @@ -35295,7 +55990,7 @@ - fix an assertion failure in http/tests/security/canvas-remote-read-svg-image.html due to re-entry into Cache::pruneDeadResources() * loader/Cache.cpp: - (WebCore::Cache::remove): Disable pruning temporarily during + (WebCore::Cache::remove): Disable pruning temporarily during CachedResource deletion. 2008-10-01 Dan Bernstein <mitz@apple.com> @@ -35435,9 +56130,9 @@ 2008-10-01 David Hyatt <hyatt@apple.com> https://bugs.webkit.org/show_bug.cgi?id=21282 - + Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now. - + Reviewed by Adam Roben * loader/EmptyClients.h: @@ -35649,7 +56344,7 @@ Reviewed by Sam Weinig. - fix HTMLViewSourceDocument leaks by breaking a ref cycle which - was fixed in r17249 and re-introduced in r31435. + was fixed in r17249 and re-introduced in r31435. * html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument): @@ -35665,7 +56360,7 @@ More for https://bugs.webkit.org/show_bug.cgi?id=21122 Autogenerate JS event listeners - - Make EventListener getter/setters names in c++ files match those in + - Make EventListener getter/setters names in c++ files match those in JS (ie. onLoadListener -> onload). - Add standard way to access the frame associated with the EventTarget for EventListener lookup. @@ -35855,12 +56550,12 @@ Reviewed by Darin Adler. - Fix for https://bugs.webkit.org/show_bug.cgi?id=20396 Abort caused + Fix for https://bugs.webkit.org/show_bug.cgi?id=20396 Abort caused by failed allocation due to invalid counter/attr and corresponding: <rdar://problem/6152371> * css/CSSParser.cpp: - (WebCore::CSSParser::parseCounterContent): The spec indicates that + (WebCore::CSSParser::parseCounterContent): The spec indicates that only identifiers should be accepted here. 2008-09-30 Kevin McCullough <kmccullough@apple.com> @@ -35894,7 +56589,7 @@ (3) Used on Qt, but implemented incorrectly to cause a full repaint for no reason. (4) Used on Gtk, but implemented incorrectly to cause a full repaint for no reason. (5) Used on wx, but probably not needed (since wx has platform widgets like Mac). - + There is now a paint method on HostWindow that does an immediate mode repaint of an empty rect to cause the display/flush to happen if needed (thus saving an extra method on ChromeClient). With the changes to this method, the new behavior is as follows: @@ -35903,10 +56598,10 @@ (3) Nothing happens on Qt, but only because they have not implemented immediate mode updating. (4) Gtk now behaves like Windows and will process updates but not do any incorrect additional invalidation. (5) Not used on wx - + This method was originally added for Windows. It's not clear the display/flush is really even necessary on the other platforms. At the very least stopping unnecessary full invalidations on Qt/Gtk is a good thing. :) - + Reviewed by Sam Weinig * ChangeLog: @@ -35977,7 +56672,7 @@ 2008-09-30 Dave Hyatt <hyatt@apple.com> http://bugs.webkit.org/show_bug.cgi?id=21250 - + Rename updateContents to repaintContentRectangle and make it cross-platform by always sending repaints up through the ChromeClient. @@ -36192,8 +56887,8 @@ Reviewed by Anders Carlsson. - * bridge/npapi.h: Tweaked NPNVariable enum. NPNVsupportsCocoaBool, NPNVsupportsCarbonBool are now in the 3000 range instead of - 2000. + * bridge/npapi.h: Tweaked NPNVariable enum. NPNVsupportsCocoaBool, NPNVsupportsCarbonBool are now in the 3000 range instead of + 2000. 2008-09-29 Dan Bernstein <mitz@apple.com> @@ -36286,7 +56981,7 @@ Reviewed by Anders Carlsson - Fix RenderStyle leak in animation code, and assert that + Fix RenderStyle leak in animation code, and assert that keyframe resolution in CSSStyleSelector is not going to clobber m_style. @@ -36301,7 +56996,7 @@ Fixed https://bugs.webkit.org/show_bug.cgi?id=20995 Rewrite keyframe resolution to be like styleForElement() - + Test: animations/lineheight-animation.html * css/CSSStyleSelector.cpp: @@ -36353,7 +57048,7 @@ Clean up fix in PropertyWrapperGetter::equals https://bugs.webkit.org/show_bug.cgi?id=21011 - + Test: transitions/override-transition-crash.html * page/animation/AnimationBase.cpp: @@ -36948,10 +57643,10 @@ fix https://bugs.webkit.org/show_bug.cgi?id=20994 <rdar://problem/6171023> HTMLVideoElement width and height attributes are now unsigned - + HTML5 spec says HTMLVideoElement width and height attributes should be unsigned. Convert all unsigned media attributes from string with toUInt() instead of toInt(). - + * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::playCount): convert from attribute with toUInt(). @@ -37002,7 +57697,7 @@ There was a lot wrong with 17589, so more patches will be coming to deal with the fallout of this patch (which should never have landed in the first place). - + Reviewed by Tim Hatcher, Sam Weinig * platform/win/ScrollViewWin.cpp: @@ -37767,7 +58462,7 @@ Reviewed by Antti https://bugs.webkit.org/show_bug.cgi?id=21116 - <rdar://problem/5726325> Audio from <video> can still be heard after navigating + <rdar://problem/5726325> Audio from <video> can still be heard after navigating back to page with <video>, then closing tab Rename willSaveToCache/didRestoreFromCache callbacks to documentWillBecomeInactive/ @@ -37864,8 +58559,8 @@ The solution to this is to make sure we cache these constructors in the same way as all the other DOM constructors. To achieve this without causing any refcount cycles it is necessary to replace the - refcounted document pointer in the Image, MessageChannel, Option, - XMLHttpRequest, and Audio constructor objects with a reference to + refcounted document pointer in the Image, MessageChannel, Option, + XMLHttpRequest, and Audio constructor objects with a reference to the document's JS wrapper. Tests: fast/dom/constructors-cached-navigate.html @@ -37958,7 +58653,7 @@ 2008-09-25 David Hyatt <hyatt@apple.com> https://bugs.webkit.org/show_bug.cgi?id=21133 - + Rename resizeContents method on ScrollView to setContentsSize (to match contentsSize()). Make it cross-platform. @@ -38153,15 +58848,15 @@ 2008-09-25 David Smith <catfish.man@gmail.com> Reviewed by Darin Adler. - + https://bugs.webkit.org/show_bug.cgi?id=20980 Split off uncommonly used data from Node similar to ElementRareData - + Saves an OwnPtr and a short on Node, as well as providing room for an isContainer bit, which in turn allows inlining firstChild(), lastChild(), childNodeCount(), and childNode() for a 5-10+% performance win on SlickSpeed and assorted speedups on other tests. - * WebCore.base.exp: + * WebCore.base.exp: * WebCore.xcodeproj/project.pbxproj: * dom/ChildNodeList.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc... * dom/ContainerNode.cpp: Set isContainer to true @@ -38172,7 +58867,7 @@ (WebCore::Node::containerFirstChild): ditto (WebCore::Node::containerLastChild): ditto * dom/Element.cpp: Most of the changes here are moving ElementRareData to ElementRareData.h and NodeRareData.h - (WebCore::Element::Element): + (WebCore::Element::Element): (WebCore::Element::~Element): (WebCore::Element::rareData): (WebCore::Element::ensureRareData): Renamed from createRareData @@ -38343,9 +59038,9 @@ https://bugs.webkit.org/show_bug.cgi?id=21052 Generalize id selector special case for querySelectorAll - + By checking the element we get with getElementById against the selector, we can use the special case in many more circumstances. - Changes results on http://native.khan.mozilla.org + Changes results on http://native.khan.mozilla.org from #title: 2ms h1#title: 55ms @@ -38355,7 +59050,7 @@ #title: 1ms h1#title: 2ms div #title: 5ms - + * dom/Node.cpp: (WebCore::Node::querySelector): * dom/SelectorNodeList.cpp: @@ -38519,7 +59214,7 @@ 2008-09-25 Eric Carlson <eric.carlson@apple.com> Reviewed by Eric Seidel. - + <rdar://problem/6171047> HTMLMediaElement "begin" event is now "loadstart" https://bugs.webkit.org/show_bug.cgi?id=21003 @@ -38656,10 +59351,10 @@ 2008-09-25 David Smith <catfish.man@gmail.com> Reviewed by Eric Seidel - + fix https://bugs.webkit.org/show_bug.cgi?id=21091 Regression: querySelector matches tag names case sensitively - + Tests: fast/dom/SelectorAPI/caseTag.html fast/dom/SelectorAPI/caseTagX.xhtml @@ -38746,7 +59441,7 @@ Reviewed by Dan Bernstein. Test: editing/spelling/inline_spelling_markers.html - + - https://bugs.webkit.org/show_bug.cgi?id=20092 Spelling markers positioned incorrectly in RTL text @@ -39397,7 +60092,7 @@ Fix for bug 21012. The Aqua scrollbar was returning the wrong track rect on Windows Aqua theme. Make sure to not accidentally fall into the vertical scrollbar case for horizontal scrollbars. :) - + Reviewed by Sam Weinig * platform/mac/ScrollbarThemeMac.mm: @@ -39410,11 +60105,11 @@ Reviewed by Sam Weinig. - Fix for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add Contact" + Fix for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add Contact" link at gmail does not support AXPress action and corresponding: <rdar://problem/6216178> - I fixed this bug by making AccessibilityObject::anchorElement + I fixed this bug by making AccessibilityObject::anchorElement support ARIA links. * page/AccessibilityImageMapLink.cpp: @@ -39439,7 +60134,7 @@ Bug 20949: Catch repeated messages in Inspector Controller to limit memory usage - - Store the repeat count in the Console Message object, in the + - Store the repeat count in the Console Message object, in the Inspector Controller and JS ConsoleMessage object. * page/InspectorController.cpp: @@ -39626,7 +60321,7 @@ ~2% speedup on EarleyBoyer (WebCore updates.) - + * bindings/js/JSQuarantinedObjectWrapper.h: (WebCore::JSQuarantinedObjectWrapper::createStructureID): @@ -39669,7 +60364,7 @@ 2008-09-23 Eric Seidel <eric@webkit.org> No review, build fix only. - + Third time's the charm, eh? My local build is sadly still not done... * platform/graphics/AffineTransform.cpp: remove extra & @@ -39849,7 +60544,7 @@ transition end event when -webkit-transition-property: all puts wrong propertyName in event https://bugs.webkit.org/show_bug.cgi?id=20903 - + * page/animation/ImplicitAnimation.cpp: (WebCore::ImplicitAnimation::sendTransitionEvent): @@ -39914,7 +60609,7 @@ - speed up instanceof operator by replacing implementsHasInstance method with a TypeInfo flag Partial work towards <https://bugs.webkit.org/show_bug.cgi?id=20818> - + 2.2% speedup on EarleyBoyer benchmark. * bindings/js/JSQuarantinedObjectWrapper.cpp: @@ -39933,11 +60628,11 @@ Reviewed by Dave Hyatt. Based on initial work by Darin Adler. - + - replace masqueradesAsUndefined virtual method with a flag in TypeInfo - use this to JIT inline code for eq_null and neq_null https://bugs.webkit.org/show_bug.cgi?id=20823 - + * WebCore.xcodeproj/project.pbxproj: * WebCore.vcproj/WebCore.vcproj: * bindings/js/JSCSSStyleDeclarationCustom.cpp: @@ -40062,7 +60757,7 @@ - introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID https://bugs.webkit.org/show_bug.cgi?id=20981 - + * bindings/js/JSAudioConstructor.cpp: (WebCore::JSAudioConstructor::JSAudioConstructor): * bindings/js/JSCSSStyleDeclarationCustom.cpp: @@ -40125,7 +60820,7 @@ 2008-09-21 Steve Falkenburg <sfalken@apple.com> Removed unnecessary nested timer check. - + Rubber-stamped by Dan Bernstein. * platform/win/SharedTimerWin.cpp: @@ -40135,14 +60830,14 @@ Improve timer resolution on WinXP. https://bugs.webkit.org/show_bug.cgi?id=20979 - + Removed last-chance timer. It should not be necessary. Change timeEndPeriod timer to fire in 300ms instead of 20ms. Calling timeBeginPeriod/timeEndPeriod too often throws off accuracy. Remove Vista checks. We now run the same code on both XP and Vista. - + Call through to JSC::getCurrentUTCTimeWithMicroseconds from WebCore::currentTime. The code previously called GetSystemTimeAsFileTime, which is always low-resolution on XP, even within timeBeginPeriod(1). - + Reviewed by Maciej Stachowiak. * platform/win/SharedTimerWin.cpp: @@ -40276,7 +60971,7 @@ Reviewed by Dan Bernstein. Fix memory leak. - + https://bugs.webkit.org/show_bug.cgi?id=20505 * platform/wx/wxcode/mac/carbon/fontprops.cpp: @@ -40568,7 +61263,7 @@ 2008-09-19 David Hyatt <hyatt@apple.com> - Add support for hit testing of all five possible scrollbar button placements. + Add support for hit testing of all five possible scrollbar button placements. Reviewed by Sam Weinig @@ -40712,7 +61407,7 @@ Fix for <rdar://problem/6231308> crash in AutoTableLayout - The code assumes later on that a TableSection's grid's row vector + The code assumes later on that a TableSection's grid's row vector will never be empty. So make 1 the minimum number of columns. * rendering/RenderTableSection.cpp: @@ -40742,7 +61437,7 @@ 2008-09-19 Steve Falkenburg <sfalken@apple.com> Roll out r36626. It is causing variance in SunSpider numbers on XP. - + Rubber stamped by Mark Rowe. * platform/win/SharedTimerWin.cpp: @@ -40972,7 +61667,7 @@ (WebCore::CoreTextController::CoreTextController): Added a mayUseNaturalWritingDirection parameter. (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Changed - to force the bidi embedding level whenever + to force the bidi embedding level whenever m_mayUseNaturalWritingDirectrion is false. Since this is now a common case, made the typesetter options dictionaries static. * platform/graphics/mac/CoreTextController.h: @@ -41030,7 +61725,7 @@ <rdar://problem/6213171> WebKit should use new array-centric methods for AX performance - Implement a few AX API methods that will be called by AppKit, which will + Implement a few AX API methods that will be called by AppKit, which will speed up access to accessibility objects * page/mac/AccessibilityObjectWrapper.mm: @@ -41280,7 +61975,7 @@ https://bugs.webkit.org/show_bug.cgi?id=20690 Invoke WebCore::prefetchDNS() on host names that appear in - in the href of hyperlinks and <link rel="dns-prefetch">. This + in the href of hyperlinks and <link rel="dns-prefetch">. This can be used to implement DNS prefetching. * WebCore.vcproj/WebCore.vcproj: @@ -41603,7 +62298,7 @@ Reviewed by Beth Dakin - <rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA + <rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA role specifies otherwise If a <table> isn't an AXTable, the rows and cells should default to AccessibilityRenderObject @@ -41630,7 +62325,7 @@ 2008-09-18 Steve Falkenburg <sfalken@apple.com> Use higher-resolution timers on all variants of Windows. - + Reviewed by Darin Adler. * platform/win/SharedTimerWin.cpp: @@ -41669,17 +62364,17 @@ Reviewed by Dave Hyatt. - Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon + Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit- dashboard-region= and corresponding: <rdar://problem/6174100> - This patch makes CSSParserValue::createCSSValue handle unknown + This patch makes CSSParserValue::createCSSValue handle unknown identifiers. * css/CSSParserValues.cpp: - (WebCore::CSSParserValue::createCSSValue): If we have an identifier - with no id (an unknown identifier) create a CSSPrimitiveValue of + (WebCore::CSSParserValue::createCSSValue): If we have an identifier + with no id (an unknown identifier) create a CSSPrimitiveValue of type CSS_PARSER_IDENTIFIER * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cssText): @@ -41868,7 +62563,7 @@ <rdar://problem/5722310> gracefully handle too many console messages (20904) - - Keep track of the most previous message and then compare it to the + - Keep track of the most previous message and then compare it to the subsequent messages as they come in. If there are multiple of the same message create a count that indicates the current number. @@ -41960,7 +62655,7 @@ Rubber-stamped with love by David Hyatt. - Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation, + Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation, ScaleTransformOperation, SkewTransformOperation, StyleTransformData, TransformOperation, TransformOperations and TranslateTransformOperation out of RenderStyle.h/cpp @@ -42176,7 +62871,7 @@ 2008-09-17 Steve Falkenburg <sfalken@apple.com> Add back isFrameView check to fix failed assertion during scroll bar teardown. - + Reviewed by Dave Hyatt. * platform/Scrollbar.cpp: @@ -42255,7 +62950,7 @@ This is a better fix for: Invalid CSS code crashes Safari https://bugs.webkit.org/show_bug.cgi?id=20512 - The spec indicates that the only valid input for a counter is a + The spec indicates that the only valid input for a counter is a number or an identifier. So that is exactly what we allow. * css/CSSParser.cpp: @@ -42278,7 +62973,7 @@ Reviewed by Adele Peterson. - Patch for <rdar://problem/6133884> + Patch for <rdar://problem/6133884> Calling window.resizeTo() on a subframe shouldn't change the window size Test: fast/dom/Window/window-resize-and-move-sub-frame.html @@ -42293,13 +62988,13 @@ Reviewed by Adam Roben. - Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS - code crashes Safari + Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS + code crashes Safari and corresponding: <rdar://problem/6173832> - Reading through the spec, it seems like a function is not valid - input for a counter. So this patch checks for that and bails in the - case of invalid input. + Reading through the spec, it seems like a function is not valid + input for a counter. So this patch checks for that and bails in the + case of invalid input. * css/CSSParser.cpp: (WebCore::CSSParser::parseCounterContent): @@ -42308,9 +63003,9 @@ Reviewed by Antti Koivisto. - Fix <rdar://problem/6227089> + Fix <rdar://problem/6227089> Crash in WebCore::Frame::setNeedsReapplyStyles() - + View is null checked elsewhere too. * page/Frame.cpp: @@ -42853,7 +63548,7 @@ Convert Qt over to its ScrollbarTheme. Add cross-platform support for jumping the thumb location directly to a pressed location on the track (this is done with the middle mouse on Qt and with Shift-Click on Windows). - + Reviewed by Sam Weinig * platform/ScrollBar.cpp: @@ -42896,9 +63591,9 @@ 2008-09-15 David Smith <catfish.man@gmail.com> Reviewed by Sam Weinig. - + https://bugs.webkit.org/show_bug.cgi?id=20180 - + Cache the result of parsing the an+b expression in :nth-child(an+b). Roughly a 2x speedup for :nth-child on SlickSpeed. * GNUmakefile.am: Add CSSNthSelector @@ -42948,10 +63643,10 @@ Completely switch Windows scrollbars over to ScrollbarTheme. The Aqua windows scrollbar and native scrollbar now share most of their code. - + Also removing mini size scrollbar support, since it would have crashed Windows had it ever been used, and it also is never used in our code anyway. - + Reviewed by Sam Weinig * WebCore.vcproj/WebCore.vcproj: @@ -42996,7 +63691,7 @@ Lists are now exposed through AX. On the mac (in SnowLeopard) they use two new subroles AXContentList for <ul>, <ol> and AXDefinitionList for <dl> - Inside the definition list, each <dt> "term" has an accessibility description ("term"), + Inside the definition list, each <dt> "term" has an accessibility description ("term"), as does each <dd> tag ("definition") Test: accessibility/lists.html @@ -43184,7 +63879,7 @@ Convert PlatformScrollbarWin to use ScrollbarTheme for hit testing. PlatformScrollbarQt/Gtk still need to be converted. - + Reviewed by Sam Weinig * platform/ScrollBar.cpp: @@ -43372,12 +64067,12 @@ Reviewed by Maciej. - <rdar://problem/6163988> + <rdar://problem/6163988> https://bugs.webkit.org/show_bug.cgi?id=20457 Canvas: createPattern crashes WebKit in WTF::RefPtr<WebCore::Image>::operator!() const + 9 with a 1D pattern - + Check the width and height and throw an exception if any of them are 0. - + * html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::createPattern): @@ -43432,11 +64127,11 @@ Reviewed by Dave Hyatt. https://bugs.webkit.org/show_bug.cgi?id=20180 - + >2x speedup on querySelector[All] with :nth-child by removing the collectRulesOnly argument on SelectorChecker. With collectRulesOnly set to true (the default) an optimization is turned off, and no callers were intentionally leaving it true. querySelector[All] assumed that the default was probably the right way to go, and so ended up being slow. - + * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::CSSStyleSelector): (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker): @@ -43446,7 +64141,7 @@ Refactor PlatformScrollbarWin's painting so that it is now done by ScrollbarThemeWin. PlatformScrollbarSafari is still painting itself (a subsequent patch will move its painting into ScrollbarThemeSafari). - + Reviewed by Sam Weinig * platform/ScrollBar.h: @@ -43556,7 +64251,7 @@ Add a new ScrollbarThemeComposite base class that is shared by ScrollbarThemeSafari and ScrollbarThemeWin. Any scrollbar that wants to render by ScrollbarPart can subclass from this theme. - + Reviewed by Sam Weinig * WebCore.vcproj/WebCore.vcproj: @@ -43726,7 +64421,7 @@ Remove scrollbar's setRect method. Clients can now just call setFrameGeometry (the corresponding Widget) method to set the dimensions of a scrollbar. - + Reviewed by Sam Weinig * platform/ScrollBar.h: @@ -43761,7 +64456,7 @@ 2008-09-13 Dave Hyatt <hyatt@apple.com> Remove setEnabled() from all Scrollbar classes that were just using their Widget base class methods. - + Reviewed by Sam Weinig * platform/ScrollBar.h: @@ -43838,17 +64533,17 @@ (WebCore::FontCache::getLastResortFallbackFont): Removed an outdated comment (the user's preferred standard font is included in the search thanks to code in FontCache::getFontData()) and changed to return the - LastResort font. + LastResort font. 2008-09-13 Dave Hyatt <hyatt@apple.com> This patch adds ScrollbarTheme to the build. ScrollbarTheme is similar to RenderTheme (but for scrollbars only). For now ScrollbarTheme just handles returning the size of scrollbars. Subsequent patches will move rendering and hit testing functionality into this class. - + Implemented ScrollbarTheme subclasses for four ports (Mac, Win, Gtk, Qt). The wxWidgets port does not implement scrollbars yet, so I added a temporary link stub to keep things compiling on wx. - + Reviewed by Sam Weinig * GNUmakefile.am: @@ -43950,7 +64645,7 @@ Move the member variables of PlatformScrollbar up into Scrollbar. Move autoscroll timer handling up into scrollbar. Make sure a bunch of cross-platform code now just uses "Scrollbar" instead of "PlatformScrollbar." - + Reviewed by Sam Weinig * WebCore.vcproj/WebCore.vcproj: @@ -44071,7 +64766,7 @@ * page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint): Hit testing again on the main frame will only work if we aren't already on the main frame. If we are already on the main frame, that will - cause infinite recursion. This change checks that we're not already on the main frame before hit testing again. + cause infinite recursion. This change checks that we're not already on the main frame before hit testing again. 2008-09-12 Kevin McCullough <kmccullough@apple.com> @@ -44122,7 +64817,7 @@ Preparation for major scrollbar rearchitecture. Eliminate the concept of non-widget based scrollbars (which we never supported anyway). Make Scrollbar derive from Widget directly. Remove all the isWidget and hasPlatformScrollbars guards. - + Reviewed by Tim Hatcher * platform/ScrollBar.h: @@ -44245,7 +64940,7 @@ Reviewed by Darin https://bugs.webkit.org/show_bug.cgi?id=20180 - + This speeds up :nth-child matching as tested by querySelectorAll by around 10% by inlining the common case of Node::renderStyle(). Many thanks to mitzpettel and othermaciej for suggestions and help. * WebCore.xcodeproj/project.pbxproj: Add NodeRenderStyle.h @@ -44379,7 +65074,7 @@ 2008-09-09 Dave Hyatt <hyatt@apple.com Resurrect PlatformScrollbarWin. - + Reviewed by Adam Roben * WebCore.vcproj/WebCore.vcproj: @@ -44464,7 +65159,7 @@ Make the Windows classic case work again. Overlap in slider constants and other constants broke the push state for buttons and checkboxes. Make sure to check the RenderObject's appearance value to make sure it's really a slider thumb to resolve this conflict. - + Reviewed by Adam Roben * rendering/RenderThemeWin.cpp: @@ -44489,11 +65184,11 @@ RenderThemeWin that does not have any Skia dependencies should provide a good basis for a potential merge of Google Chrome's RenderThemeWin (to help us see where the Skia stuff can be cut and to see what changes have been made as compared with the old RenderThemeWin). - + Fix CSS2 system fonts to properly set both the rendering mode (so that they properly pick up GDI vs. CG text rendering modes) and the printer font setting (so that OS X system fonts properly pick up screen vs. printer advancement rounding). - + Reviewed by Adam/Sam * css/CSSStyleSelector.cpp: @@ -44610,7 +65305,7 @@ Reviewed by Alexey Proskuryakov. - Try MIME charset names before trying IANA names + Try MIME charset names before trying IANA names ( https://bugs.webkit.org/show_bug.cgi?id=17537 ) With this change, shorter and more widely used names (preferred MIME @@ -44618,8 +65313,8 @@ document.inputEncoding rather than IANA names. This helps fixing bug 18085 in addition to web developers who are more familiar with MIME names. For instance, EUC-JP, ISO-8859-X and US-ASCII will be - returned instead of Extended_UNIX_Code_Packed_Format_for_Japanese, - ISO-8859-X:19xx, and ANSI_X3.4-1968. It also replaces IBM8xx with cp8xx. + returned instead of Extended_UNIX_Code_Packed_Format_for_Japanese, + ISO-8859-X:19xx, and ANSI_X3.4-1968. It also replaces IBM8xx with cp8xx. Note that cp/IBM 8xx are extremly rare in today's web. Even if they're used, the former is still recognized as aliases to the latter so that there's very little, if any, to worry about. @@ -44723,12 +65418,12 @@ Reviewed by Maciej. <rdar://problem/5850387> Showing bookmarks reloads Google Reader instead. - + In some cases, timeouts scheduled by a page in the onunload handler could fire even when the page had been unloaded and replaced by a non-HTML representation based view (such as the bookmarks view). - + Fix this by clearing timeouts for pages that aren't cached when the provisional load is committed. - + * bindings/js/JSDOMWindowBase.h: * loader/FrameLoader.cpp: (WebCore::FrameLoader::commitProvisionalLoad): @@ -45235,7 +65930,7 @@ (WebCore::): Added NodeMessageLevel. * page/Console.idl: Added console.dirxml. * page/inspector/Console.js: A NodeMessage creates a ElementsTreeOutline. - * page/inspector/ElementsPanel.js: Modified to use ElementsTreeOutline. The ElementsTreeOutline + * page/inspector/ElementsPanel.js: Modified to use ElementsTreeOutline. The ElementsTreeOutline in the ElementsPanel has includeRootDOMNode and selectEnabled set to true. * page/inspector/ElementsTreeOutline.js: Added. (WebInspector.ElementsTreeOutline): A subclass of TreeOutline for displaying a DOM node tree. @@ -45296,19 +65991,19 @@ Reviewed by Dave Hyatt. - <rdar://problem/6187043> + <rdar://problem/6187043> Don't parse full HTML user agent style sheet unless it is actually needed - <rdar://problem/6131889> + <rdar://problem/6131889> WebView is significantly more expensive to create recently - + Parsing the html4.css takes significant amount of time and memory (~50kb) on application startup. Some clients may never use most of the rules. - - With this patch we use simplified UA stylesheet until we hit something it can't handle. + + With this patch we use simplified UA stylesheet until we hit something it can't handle. This avoids full stylesheet parsing on application startup (due to empty document construction) - and also makes it possible for clients with very simple demands (divs and spans only) never to load + and also makes it possible for clients with very simple demands (divs and spans only) never to load the full style. - + It also delays view source style parsing until it is used. * css/CSSStyleSelector.cpp: @@ -45342,7 +66037,7 @@ Fix <rdar://problem/6201644> https://bugs.webkit.org/show_bug.cgi?id=20493 Crash after OK in dialog box and reloading page in secure mode - + Limited loader only fix since the general timer fix is causing problems on Windows. * loader/loader.cpp: @@ -45526,7 +66221,7 @@ 2008-09-05 Antti Koivisto <antti@apple.com> Build fixes. - + * WebCore.xcodeproj/project.pbxproj: * svg/graphics/filters/SVGFEImage.cpp: (WebCore::FEImage::cachedImage): @@ -45541,17 +66236,17 @@ Implement HTTP 1.1 "Specific end-to-end revalidation" for WebCore memory cache. This patch does not yet enable it for the biggest use case, reloading. However it is good for general browsing as well. Doing this in WebCore level as opposed to relying on disk cache has big benefit that - we avoid re-decoding resources, especially images. - + we avoid re-decoding resources, especially images. + To be exact the enabled case is not actually the "Specific end-to-end revalidation" since it does not include CacheControl: max-age=0 header. That would be added in reload case. - + The approach for revalidation is to kick the original resource out from the memory cache and create a new CachedResource that represents the revalidation request. In case - we get 304 back for the request we put the original resource back to the cache, update + we get 304 back for the request we put the original resource back to the cache, update its expiration date and switch the clients registered to revalidation resource to be clients of the original resource. - + All heap allocated CachedImage pointers now use CachedResourceHandle<CachedImage> (and so on) instead. This allows updating the handles to point to the original resource when the revalidation succeeds. It also acts as refcounting smart pointer. @@ -45651,10 +66346,10 @@ <rdar://problem/6180236> - Safari times out connections after 1 or 2 minutes - A 60-second default timeout was added in http://trac.webkit.org/changeset/17144 in an attempt - to model default NSURLRequest behavior in a cross-platform manner. + A 60-second default timeout was added in http://trac.webkit.org/changeset/17144 in an attempt + to model default NSURLRequest behavior in a cross-platform manner. - Sadly by always enforcing this 60 second timeout, WebCore was stomping over the wishes of any Webkit + Sadly by always enforcing this 60 second timeout, WebCore was stomping over the wishes of any Webkit client that wished to enforce a much larger default timeout using NSURLRequest API. Additionally, upon reviewing what all other browsers do, it seems apparent that "no limit" is desirable @@ -45670,7 +66365,7 @@ (WebCore::ResourceRequestBase::ResourceRequestBase): Rename the constant to "unspecifiedTimeoutInterval" and make it UINT_MAX so platforms that do set it have an effective "no timeout." (Windows, for example) * platform/network/mac/ResourceRequestMac.mm: - (WebCore::ResourceRequest::doUpdatePlatformRequest): If the timeout for this request is + (WebCore::ResourceRequest::doUpdatePlatformRequest): If the timeout for this request is "unspecifiedTimeoutInterval", then don't bother setting the timeout using NSURLRequest API, allowing WebKit applications to enforce their own default timeout. @@ -45684,7 +66379,7 @@ * rendering/RenderButton.cpp: (WebCore::RenderButton::setStyle): Reset the inner block's style box - flex to 0 to avoid getting a spurious layout hint. + flex to 0 to avoid getting a spurious layout hint. 2008-09-04 Kevin Ollivier <kevino@theolliviers.com> @@ -45813,11 +66508,11 @@ Reviewed by Simon. Re-enable support for user stylesheets in QtWebKit - + QtWebKit now follows the FRAME_LOADS_USER_STYLESHEET code path, which allows us to keep API support for loading user style sheets from remote URLs. - + As part of the change UserStyleSheetLoader.cpp/h was moved from WebCore/loader/mac to WebCore/loader. @@ -45988,7 +66683,7 @@ Remove the rest of the "zombie" code from the profiler. - There is no longer a need for the ProfilerClient callback mechanism. - * page/Console.cpp: + * page/Console.cpp: (WebCore::Console::Console): (WebCore::Console::profile): (WebCore::Console::profileEnd): Move the variables from the header to @@ -46231,7 +66926,7 @@ style="color:#gray;" would apply the color gray when it should not. In the bison template, "hexcolor" was defined as both "HEX maybe_space" OR "IDENT maybe_space". - This caused identifiers not fitting the appropriate hex format but preceded by a '#' to be + This caused identifiers not fitting the appropriate hex format but preceded by a '#' to be interpreted as a valid color (CSSPrimitiveValue::CSS_PARSER_HEXCOLOR), when it was really just an ignorable token. @@ -46331,7 +67026,7 @@ AnimationController.cpp should be split into separate files https://bugs.webkit.org/show_bug.cgi?id=20604 - + Note: All makefiles, except WebCore.xcodeproj have been changed without testing, upon recommendation of Dave Hyatt. @@ -46341,7 +67036,7 @@ * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: Build files. - + * page/AnimationController.cpp: Removed. * page/AnimationController.h: Removed. * page/animation: Added. @@ -46661,16 +67356,16 @@ Fix for <rdar://problem/6181588> - This patch makes hit testing take into account the new concept of a - disconnected frame, in which some of the content may not be - visible. The current hit testing mechanism starts at a target frame - and drills down for a HitTestResult. In some cases, drilling down - will find a non-visible result. When this happens, we need to try - again, starting at a higher level -- namely, starting at the main + This patch makes hit testing take into account the new concept of a + disconnected frame, in which some of the content may not be + visible. The current hit testing mechanism starts at a target frame + and drills down for a HitTestResult. In some cases, drilling down + will find a non-visible result. When this happens, we need to try + again, starting at a higher level -- namely, starting at the main frame. * editing/Editor.cpp: - (WebCore::Editor::insideVisibleArea): New function that tests if a + (WebCore::Editor::insideVisibleArea): New function that tests if a point is inside the visible area for a disconnected frame. * editing/Editor.h: * page/EventHandler.cpp: @@ -46678,7 +67373,7 @@ 2008-08-29 Adele Peterson <adele@apple.com> - Reviewed by Adam Roben. + Reviewed by Adam Roben. Rename HTMLTextFieldInnerElement.h/.cpp to TextControlInnerElements.h/.cpp @@ -46722,7 +67417,7 @@ Fix GeneratedImage to respect Image's refcounting Fixing potential crashers (future if not current) https://bugs.webkit.org/show_bug.cgi?id=20567 - + I don't know if it's possible to make the current code crash, thus I've not made a test. @@ -46758,9 +67453,9 @@ Fix for https://bugs.webkit.org/show_bug.cgi?id=20525 <rdar://problem/6169301> - + Return the size of the movie data instead of 1000. - + Test: media/progress-event-total.html * platform/graphics/win/QTMovieWin.cpp: @@ -46925,9 +67620,9 @@ Make all the 'isFoo()' methods on CSSValue const, and fix the subclasses. - + https://bugs.webkit.org/show_bug.cgi?id=20561 - + * css/CSSTimingFunctionValue.h: * css/CSSValue.h: (WebCore::CSSValue::isFontValue): @@ -47022,9 +67717,9 @@ <rdar://problem/6182541> https://bugs.webkit.org/show_bug.cgi?id=20202 Missing http status line from the http headers. - + Add a status line to the header string. - + * plugins/PluginStream.cpp: (WebCore::PluginStream::startStream): @@ -47109,12 +67804,12 @@ https://bugs.webkit.org/show_bug.cgi?id=20373 Changed pattern() to canvasPattern() on CanvasStyle to match canvasGradient() - + Made Generator (aka Gradient) RefCounted so that GraphicsContext didn't have to store large Gradient objects in the GraphicsContextState - + Made Pattern RefCounted for the same reason. - + Many updates to GraphicsContext to support easier drawing with Patterns and Gradients. @@ -47191,14 +67886,14 @@ Close a leak of PausedTimeouts if the JavaScriptDebugServer was destroyed with timeouts paused. https://bugs.webkit.org/show_bug.cgi?id=20469 - + I attempted to clean up the memory management of PausedTimeouts, I'm not sure the solution I came up with is "cleaner", but it's in some ways "safer", since it no longer uses raw pointers and manual new/delete. - + This also now prevents CachedPage from needlessly creating Window objects when caching pages which didn't already have one. :) - + I also made Chrome.cpp no longer depend on the JavaScript bindings (aka JSDOMWindowBase.h), since there was no real reason for it to. @@ -47274,7 +67969,7 @@ 2008-08-27 Mario Bensi <mbensi@pleyo.com> Reviewed by Eric Seidel. - + Fix the data content of an image with a base64. * platform/network/curl/ResourceHandleManager.cpp: @@ -47289,10 +67984,10 @@ Crash after OK in dialog box and reloading page in secure mode https://bugs.webkit.org/show_bug.cgi?id=20493 - - The new run loop spawned by a modal dialog causes a timer in the loader to run + + The new run loop spawned by a modal dialog causes a timer in the loader to run synchronously inside didFinishLoading() deleting "this" object. - + Defer all WebCore timers when a modal dialog is up. They are not safe to execute. @@ -47494,7 +68189,7 @@ Reviewed by Darin Adler. Change canvas tainting logic to ask the image if it contains - any resources outside of its own origin. Since there is no + any resources outside of its own origin. Since there is no way to determine if SVG images contain any resources outside its origin, we always assume it does. @@ -47622,8 +68317,8 @@ Reviewed by Mark. <rdar://problem/6149787> crash @ com.apple.JavaScriptCore: WTF::callOnMainThread + 37. - - Initialize threading in the call to WebCoreObjCFinalizeOnMainThread. We currently assume + + Initialize threading in the call to WebCoreObjCFinalizeOnMainThread. We currently assume (safely) that any class that needs finalization on the main thread will also need to be deallocated on the main thread, and calling initializeThreading from WebCoreObjCFinalizeOnMainThread instead of calling it from WebCoreObjCScheduleDeallocateOnMainThread seems safer. @@ -47674,7 +68369,7 @@ * ForwardingHeaders/VM: Added. * ForwardingHeaders/VM/Machine.h: Added. - * page/Console.cpp: Gather the line number and file information when + * page/Console.cpp: Gather the line number and file information when profileEnd has been called, but don't use it until didFinishProfiling is called. We won't need to wait once we remove the profiler "zombie" mode which this patch helps pave the foundation for. @@ -47715,21 +68410,21 @@ 2008-08-24 Steve Falkenburg <sfalken@apple.com> Add a "last chance" WM_TIMER to the Windows shared timer. - + The last chance timer fires every 5 seconds to run any lost WM_TIMER based timers. Failure to fire a timer is fatal to the cross-platform Timer code, since it won't re-schedule timers if a timer with an earlier expiration is already pending. This results in no timers firing from that point on. - + We lose WM_TIMER messages occasionally (in the neighborhood of 1 per hour) probably due to a buggy window message hook. - + This timer will start when the first WM_TIMER is scheduled, and will fire every 5 seconds thereafter, causing any lost timers to be fired. - + Found this via one of its symptoms: leaking WebFrames. The fix prevents timers from stalling and prevents the WebFrame leak. - + Reviewed by Darin Adler, Geoff Garen. * platform/win/SharedTimerWin.cpp: @@ -47968,7 +68663,7 @@ Test: fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html https://bugs.webkit.org/show_bug.cgi?id=20451 - + rdar://problem/6166435 Inspector doesn't auto scroll when selecting text (20451) When we climb up the rendering tree looking for a scrollable renderer, we need to be able to jump outside of an iframe. This way we can see if what is embedding the iframe can be scrolled even if the iframe content can't. @@ -48069,9 +68764,9 @@ Fix a race condition in Windows timer code. Timer function could end up being called with a 0 timer, leading to a Windows exception. - + Don't post a timer message if one is already pending. - + Reviewed by Ada Chan. * platform/win/SharedTimerWin.cpp: @@ -48167,15 +68862,15 @@ <rdar://problem/6153432> - Many images broken in Mail - This can be traced back to the preload scanner. With that change, CachedResources are created a lot - sooner than before and confuse the WebArchive machinery. + This can be traced back to the preload scanner. With that change, CachedResources are created a lot + sooner than before and confuse the WebArchive machinery. - When referencing WebArchive subresources directly through the WebKit API it is appropriate to ignore - such CachedResources since they are placeholders and have not been submitted to the ResourceLoadDelegate + When referencing WebArchive subresources directly through the WebKit API it is appropriate to ignore + such CachedResources since they are placeholders and have not been submitted to the ResourceLoadDelegate machinery and nothing is known about where the data will eventually come from. * loader/DocumentLoader.cpp: - (WebCore::DocumentLoader::subresource): Ignore a CachedResource if its preloadResult is + (WebCore::DocumentLoader::subresource): Ignore a CachedResource if its preloadResult is CachedResource::PreloadReferenced. 2008-08-20 Holger Hans Peter Freyther <zecke@selfish.org> @@ -48208,7 +68903,7 @@ getComputedStyle() for webkitTransform should return a transform that does not have the transform origin baked into it. https://bugs.webkit.org/show_bug.cgi?id=20464 - + Test: fast/css/getComputedStyle-transform.html * css/CSSComputedStyleDeclaration.cpp: @@ -48221,9 +68916,9 @@ Reviewed and landed by Anders. - <rdar://problem/6163636> + <rdar://problem/6163636> rename NPCocoaEvent's "event" struct to "data" (20446) - + * bridge/npapi.h: (_NPCocoaEvent::): @@ -48231,38 +68926,38 @@ Reviewed by Darin Adler. - Fix for <rdar://problem/6145626> - This patch fixes a number of remaining problems getting - disconnected frames to work correctly with markAllMatchesForText() - and findString(). Details inline. + Fix for <rdar://problem/6145626> + This patch fixes a number of remaining problems getting + disconnected frames to work correctly with markAllMatchesForText() + and findString(). Details inline. - This was a static helper function in Frame, but this patch requires - the same functionality in Editor, so I just added it as a function + This was a static helper function in Frame, but this patch requires + the same functionality in Editor, so I just added it as a function on Node. * dom/Node.cpp: (WebCore::Node::isInShadowTree): * dom/Node.h: * editing/Editor.cpp: - (WebCore::Editor::insideVisibleArea): Returns false if + (WebCore::Editor::insideVisibleArea): Returns false if excludeFromTextSearch() is true. - In a normal (non-disconnected) frame, findString returns a range of - the document node if the text is not found in the frame. I changed - firstVisibleRange and lastVisibleRange to match that behavior when + In a normal (non-disconnected) frame, findString returns a range of + the document node if the text is not found in the frame. I changed + firstVisibleRange and lastVisibleRange to match that behavior when the text is not found (WebCore::Editor::firstVisibleRange): (WebCore::Editor::lastVisibleRange): - Here are the bulk of the changes in the patch. A lot of text was - not being found in disconnected frames because I failed to account - for all of the possible problems associated with shadow trees. That + Here are the bulk of the changes in the patch. A lot of text was + not being found in disconnected frames because I failed to account + for all of the possible problems associated with shadow trees. That is fixed here. (WebCore::Editor::nextVisibleRange): * editing/Editor.h: - excludeFromTextSearch() is new. It allows a WebKit client to mark a - frame as not-text-searchable through SPI. + excludeFromTextSearch() is new. It allows a WebKit client to mark a + frame as not-text-searchable through SPI. * WebCore.base.exp: * page/Frame.cpp: (WebCore::Frame::excludeFromTextSearch): @@ -48272,8 +68967,8 @@ * page/FramePrivate.h: (WebCore::Frame::findString): - (WebCore::Frame::markAllMatchesForText): I kept running into an - assertion failure in paining code because of the forced paint on + (WebCore::Frame::markAllMatchesForText): I kept running into an + assertion failure in paining code because of the forced paint on empty visible rects. 2008-08-20 Timothy Hatcher <timothy@apple.com> @@ -48578,7 +69273,7 @@ Reviewed by Beth Dakin. <rdar://problem/4003764> Expose tables as AXTables - + Tests: accessibility/table-attributes.html accessibility/table-cell-spans.html accessibility/table-cells.html @@ -48940,7 +69635,7 @@ * rendering/RenderBox.h: * rendering/RenderImage.cpp: (WebCore::RenderImage::calcReplacedWidth): - (WebCore::RenderImage::calcPrefWidths): + (WebCore::RenderImage::calcPrefWidths): * rendering/RenderImage.h: * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::calcPrefWidths): @@ -49037,7 +69732,7 @@ 2008-08-17 Geoffrey Garen <ggaren@apple.com> Reviewed by Cameron Zwarich. - + Updated project files to XCode 3.1. * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj: @@ -49047,10 +69742,10 @@ Reviewed by Cameron Zwarich. Made room for a free word in JSCell. - + Changed JSDOMWindowBase to store its auxiliary data in a subclass of JSGlobalData, so the two could share a pointer. - + Added a bunch of ASSERTs, to help catch over-sized objects. 2008-08-15 Mark Rowe <mrowe@apple.com> @@ -49079,10 +69774,10 @@ Don't start preloading body resources before the head is complete. This prevents body preloads from slowing down initial display when there is limited amount of bandwidth available. - + Works by queuing up found body preloads to DocLoader and only issuing them after document has rendering. - + With bandwidth capped to 300kbit/s this speeds up cnn.com initial display by ~25% or 5s without affecting complete load time. @@ -49117,7 +69812,7 @@ Some loader performance tweaks: - Make stylesheets highest priority instead of scripts. We block script execution on stylesheets. - Especially if a stylesheet @imports other stylesheets it is important to get them to the front of the queue + Especially if a stylesheet @imports other stylesheets it is important to get them to the front of the queue to not delay rendering. - Issue the first resource load for a host immediately even if the resource is low priority. TCP connection setup can take long time when latency is high so it is good to get started early. @@ -49410,7 +70105,7 @@ - fix <rdar://problem/5993323> REGRESSION (r34210): Apple.com favicon appears stretched/clipped - * platform/graphics/BitmapImage.cpp: + * platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::BitmapImage): Added initialization of m_hasUniformFrameSize. (WebCore::BitmapImage::cacheFrame): Added code to get the size of the @@ -49424,7 +70119,7 @@ * platform/graphics/ImageSource.h: Added frameSizeAtIndex(). * platform/graphics/cg/ImageCG.cpp: (WebCore::BitmapImage::draw): Changed to use currentFrameSize(). This - fixes the bug, which resulted from assuming that the frame being drawn + fixes the bug, which resulted from assuming that the frame being drawn was the same size as the first frame. * platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::frameSizeAtIndex): Renamed size() to this and @@ -49914,7 +70609,7 @@ Tests: media/video-source-type-params.html * html/HTMLMediaElement.cpp: - (WebCore::HTMLMediaElement::pickMedia): only pass the portion before the first ';' + (WebCore::HTMLMediaElement::pickMedia): only pass the portion before the first ';' to isSupportedMediaMIMEType() 2008-08-13 Beth Dakin <bdakin@apple.com> @@ -49923,21 +70618,21 @@ Fix for <rdar://problem/6141345> - This patch refines findString and markAllMatchesForText functions' - interactions with disconnected frames. They no longer rely on - knowing where a range is relative to the visible region and work + This patch refines findString and markAllMatchesForText functions' + interactions with disconnected frames. They no longer rely on + knowing where a range is relative to the visible region and work with disconnected frames that contain frames. * editing/Editor.cpp: - (WebCore::Editor::insideVisibleArea): Now returns a bool instead of + (WebCore::Editor::insideVisibleArea): Now returns a bool instead of the visiblity enum. - (WebCore::Editor::firstVisibleRange): This now returns the very - first visible range in the document. It's no longer dependent on + (WebCore::Editor::firstVisibleRange): This now returns the very + first visible range in the document. It's no longer dependent on searching forward. - (WebCore::Editor::lastVisibleRange): This now returns the very last - visible range in the document. It's no longer dependent on + (WebCore::Editor::lastVisibleRange): This now returns the very last + visible range in the document. It's no longer dependent on searching backwards. - (WebCore::Editor::nextVisibleRange): This returns the next visible + (WebCore::Editor::nextVisibleRange): This returns the next visible range in the appropriate direction from the current range. * editing/Editor.h: * page/Frame.cpp: @@ -50146,7 +70841,7 @@ 2008-08-12 Nikolas Zimmermann <zimmermann@kde.org> Reviewed by Dave. - + Fixes: https://bugs.webkit.org/show_bug.cgi?id=19798 Masks are translated, and the mask images are swapped on the y-axis. @@ -50387,7 +71082,7 @@ - Because console messages have group levels now, newly created messages that do not specify the level lose their message since the number of arguments is wrong. - + * page/inspector/Console.js: * page/inspector/Resource.js: @@ -50476,7 +71171,7 @@ * html/HTMLElement.cpp: * page/AnimationController.cpp: do all the new event stuff - + * html/HTMLAttributeNames.in: the onwebkitanimation* and onwebkittransitionend attrs |
