diff options
Diffstat (limited to 'WebCore/ChangeLog')
-rw-r--r-- | WebCore/ChangeLog | 4623 |
1 files changed, 4623 insertions, 0 deletions
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog index e0a4f29..368c5d5 100644 --- a/WebCore/ChangeLog +++ b/WebCore/ChangeLog @@ -1,3 +1,4626 @@ +2010-05-24 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r60068. + http://trac.webkit.org/changeset/60068 + https://bugs.webkit.org/show_bug.cgi?id=39600 + + "Causes fast/repaint/search-field-cancel to fail." (Requested + by jparent on #webkit). + + * rendering/RenderObject.h: + (WebCore::objectIsRelayoutBoundary): + +2010-05-24 Jeremy Orlow <jorlow@chromium.org> + + Unreviewed. Checked in merge error. :-( + + * CMakeLists.txt: + +2010-05-24 Steve Block <steveblock@google.com> + + Reviewed by Darin Adler. + + Geolocation causes DOMWindow to leak if position requests are in progress when the page is navigated away + https://bugs.webkit.org/show_bug.cgi?id=39288 + + Test: fast/dom/Geolocation/ongoing-request-leak.html + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::stopLoading): Stop all Geolocation instances. This call is made after the unload event has fired, so no new Geolocation activity is possible. + * page/Geolocation.cpp: + (WebCore::Geolocation::stop): Removes all ongoing requests and stops the service. + (WebCore::Geolocation::disconnectFrame): Removed calls to stopUpdating() and stopTimers(), as this will already have been done in stop(); + * page/Geolocation.h: Added stop() method. + +2010-05-24 MORITA Hajime <morrita@google.com> + + Reviewed by Kent Tamura. + + Textarea shouldn't grow when you type. + https://bugs.webkit.org/show_bug.cgi?id=32077 + + <textarea> with percent-specified, height-related properties did + cause partial-layout rooted from the renderer, that resulted + different box height between full-layout and partial-layout. This + is because calcHeight() assumes that the layout calculation of the + RenderBlock's parent is ongoing. But this assumption is violated + when the RenderBlock is root of the layout calculation. + + So we prevent such <textarea>'s RenderObjects from being layout + root. + + Test: fast/forms/textarea-percentage-dimensions.html + + * rendering/RenderObject.h: + (WebCore::objectIsRelayoutBoundary): + +2010-05-20 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Add DOMStringList idl, needed for IndexedDB and for HTML5 drag & drop + https://bugs.webkit.org/show_bug.cgi?id=39429 + + IndexedDB depends on DOMStringList. + http://dev.w3.org/2006/webapi/WebSimpleDB/#idl-def-IDBDatabase + It's currently specced here: + http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList + + Existing tests cover the constructor. IndexedDB will also use this + soon (and thus add test coverage). + + * Android.mk: + * Android.derived.jscbindings.mk: + * Android.derived.v8bindings.mk: + * CMakeLists.txt: + * DerivedSources.cpp: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pri: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/scripts/CodeGeneratorJS.pm: + * dom/DOMStringList.h: Added. + (WebCore::DOMStringList::create): + (WebCore::DOMStringList::length): + (WebCore::DOMStringList::item): + (WebCore::DOMStringList::isEmpty): + (WebCore::DOMStringList::clear): + (WebCore::DOMStringList::append): + (WebCore::DOMStringList::DOMStringList): + * dom/DOMStringList.idl: Added. + * page/DOMWIndow.idl: Re-enabled constructor + +2010-05-23 Shinichiro Hamaji <hamaji@chromium.org> + + Reviewed by Alexey Proskuryakov. + + 0x5C of EUC-JP is not Yen Sign but U+005C + https://bugs.webkit.org/show_bug.cgi?id=24906 + + Tests: editing/selection/find-yensign-and-backslash-with-japanese-fonts.html + fast/text/backslash-to-yen-sign-dynamic.html + fast/text/backslash-to-yen-sign.html + + * GNUmakefile.am: + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.vcproj/WebCoreCommon.vsprops: + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/Font.cpp: + (WebCore::Font::Font): + (WebCore::Font::operator=): + * platform/graphics/Font.h: + (WebCore::Font::needsTranscoding): + * platform/text/CharacterNames.h: + * platform/text/transcoder/FontTranscoder.cpp: Added. + (WebCore::FontTranscoder::FontTranscoder): + (WebCore::FontTranscoder::converterType): + (WebCore::FontTranscoder::convert): + (WebCore::FontTranscoder::needsTranscoding): + (WebCore::fontTranscoder): + * platform/text/transcoder/FontTranscoder.h: Added. + (WebCore::FontTranscoder::): + * rendering/RenderText.cpp: + (WebCore::RenderText::updateNeedsTranscoding): + (WebCore::RenderText::styleDidChange): + (WebCore::RenderText::setTextInternal): + +2010-05-23 MORITA Hajime <morrita@google.com> + + Unreviewed, rolling out r60060. + http://trac.webkit.org/changeset/60060 + https://bugs.webkit.org/show_bug.cgi?id=32077 + + breaks chromium test + + * rendering/RenderObject.h: + (WebCore::objectIsRelayoutBoundary): + +2010-05-23 Justin Schuh <jschuh@chromium.org> + + Reviewed by Shinichiro Hamaji. + + Style cleanup for r56288 + https://bugs.webkit.org/show_bug.cgi?id=39554 + + Cleaning up style from a previous patch. No tests needed because no + logic is changed. + + * svg/SVGFEMorphologyElement.cpp: + (WebCore::SVGFEMorphologyElement::build): + +2010-05-23 MORITA Hajime <morrita@google.com> + + Reviewed by Kent Tamura. + + Textarea shouldn't grow when you type. + https://bugs.webkit.org/show_bug.cgi?id=32077 + + <textarea> with percent-specified, height-related properties did + cause partial-layout rooted from the renderer, that resulted + different box height between full-layout and partial-layout. This + is because calcHeight() assumes that the layout calculation of the + RenderBlock's parent is ongoing. But this assumption is violated + when the RenderBlock is root of the layout calculation. + + So we prevent such <textarea>'s RenderObjects from being layout + root. + + Test: fast/forms/textarea-percentage-dimensions.html + + * rendering/RenderObject.h: + (WebCore::objectIsRelayoutBoundary): + +2010-05-23 Sam Weinig <sam@webkit.org> + + Reviewed by Oliver Hunt. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=39575 + Make JS DOMObject inherit from JSObjectWithGlobalObject instead of JSObject + + - Changes JSDOMWindowShell to inherit from JSObject instead of + DOMObject since it doesn't ever go into any DOMObject tables. + In a separate change, we may want to make this inherit from + JSObjectWithGlobalObject since JSDOMWindowShell does store a + global object pointer. + - Change DOMObject to inherit from JSObjectWithGlobalObject + instead of JSObject. In this change I am keeping around + DOMObjectWithGlobalPointer, which now just uses the capabilities + of JSObjectWithGlobalObject instead of implementing them + itself. DOMObjectWithGlobalPointer will go away in a subsequent + patch. + + * bindings/js/JSDOMBinding.h: + (WebCore::DOMObjectWithGlobalPointer::globalObject): + (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer): + * bindings/js/JSDOMWindowShell.h: + * bindings/js/JSDOMWrapper.h: + (WebCore::DOMObject::DOMObject): + +2010-05-23 Eric Seidel <eric@webkit.org> + + Unreviewed, just being a copy/paste monkey. Oook, eeek. + + Add new HTML5TreeBuilder class to hold the tree builder section of the HTML5 parsing spec + https://bugs.webkit.org/show_bug.cgi?id=39572 + + Add HTML5TreeBuilder.* to each of WebKit's 85,324 build systems. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + +2010-05-23 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Add new HTML5TreeBuilder class to hold the tree builder section of the HTML5 parsing spec + https://bugs.webkit.org/show_bug.cgi?id=39572 + + We've been working on the tokenization (lexing) section of the HTML5 + spec until now and leaning on the old HTMLParser for tree building. + We need to start writing more of the tree building sections of the spec, + but to do that we need a place to put the new code. + + This patch moves our old-to-new conversion hacks out of HTML5Tokenizer + (our Tokenizer.h implementation) and into HTML5TreeBuilder. + Follow-up patches will add new HTML5 tree building code to this file + and will allow us to switch between old and new parser/treebuilder + implementations. + + No change in behavior, thus no new tests. + + * WebCore.xcodeproj/project.pbxproj: + * html/HTML5Tokenizer.cpp: + (WebCore::HTML5Tokenizer::HTML5Tokenizer): + (WebCore::HTML5Tokenizer::write): + - Call the new HTML5TreeBuilder code. + * html/HTML5Tokenizer.h: + * html/HTML5TreeBuilder.cpp: Added. + * html/HTML5TreeBuilder.h: Added. + +2010-05-23 Sam Weinig <sam@webkit.org> + + Reviewed by Oliver Hunt. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=39574 + Complete the merge of NamedMappedAttrMap into NamedNodeMap. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::canShareStyleWithElement): + (WebCore::CSSStyleSelector::styleForElement): + * dom/Element.cpp: + (WebCore::Element::createAttributeMap): + * dom/NamedMappedAttrMap.cpp: Removed. + * dom/NamedMappedAttrMap.h: Removed. + * dom/NamedNodeMap.cpp: + (WebCore::NamedNodeMap::setClass): + (WebCore::NamedNodeMap::declCount): + (WebCore::NamedNodeMap::mapsEquivalent): + (WebCore::NamedNodeMap::mappedMapsEquivalent): + * dom/NamedNodeMap.h: + (WebCore::NamedNodeMap::create): + (WebCore::NamedNodeMap::clearClass): + (WebCore::NamedNodeMap::classNames): + (WebCore::NamedNodeMap::hasMappedAttributes): + (WebCore::NamedNodeMap::declRemoved): + (WebCore::NamedNodeMap::declAdded): + (WebCore::NamedNodeMap::NamedNodeMap): + * dom/StyledElement.h: + (WebCore::StyledElement::mappedAttributes): + * html/HTML5Token.h: + * html/HTML5Tokenizer.cpp: + (WebCore::convertToOldStyle): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::setInputType): + * html/HTMLParser.cpp: + (WebCore::HTMLParser::handleIsindex): + * html/HTMLTokenizer.cpp: + (WebCore::Token::addAttribute): + (WebCore::HTMLTokenizer::processToken): + * html/HTMLTokenizer.h: + * html/HTMLViewSourceDocument.cpp: + (WebCore::HTMLViewSourceDocument::createContainingTable): + (WebCore::HTMLViewSourceDocument::addSpanWithClassName): + (WebCore::HTMLViewSourceDocument::addLine): + (WebCore::HTMLViewSourceDocument::addLink): + +2010-05-23 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Teach HTML5 parser how to lex comments correctly + https://bugs.webkit.org/show_bug.cgi?id=39537 + + Implement the non-bogus comment states for the lexer. There's more + work to do in some of these states (e.g., to handle doctype tokens and + bogus comments), but I'm trying to keep the patches small. + + Tests: comments01.dat + + * html/HTML5Lexer.cpp: + (WebCore::HTML5Lexer::nextToken): + * html/HTML5Lexer.h: + * html/HTML5Token.h: + (WebCore::HTML5Token::beginComment): + (WebCore::HTML5Token::appendToComment): + (WebCore::HTML5Token::data): + * html/HTML5Tokenizer.cpp: + (WebCore::convertToOldStyle): + * platform/text/SegmentedString.h: + (WebCore::SegmentedString::): + (WebCore::SegmentedString::peek): + - Occationally, the HTML5 parsing algorithm looks ahead in the + input stream. The implementation here is incomplete, but its + enough to run the current HTML5 parsing tests. I'll eventually + need to implement the slow case here. + +2010-05-23 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Make the html5lib parser tests run using the HTML5 parser + https://bugs.webkit.org/show_bug.cgi?id=39533 + + Turns out we're just one small tweak away from running the html5lib + tests. After this patch lands, we should be able to introduce tests + for every change to the HTML5 parser. + + Test: html5lib/webkit-runner.html + + * html/HTML5Lexer.cpp: + (WebCore::HTML5Lexer::nextToken): + +2010-05-23 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Make HTML5 parser parse <script>alert("<hi>");</script> + https://bugs.webkit.org/show_bug.cgi?id=39525 + + More progress towards getting the html5lib test harness running. We + need to parse script data in the ScriptDataState. The spec says the + parser should set the lexer's state to ScriptDataState, but we want to + keep using the existing parser for a while so I've added some temporary + logic to HTML5Tokenizer to set the state in the lexer. + + To get this case running, I needed to flesh out a bunch of the + ScriptDataState logic. There's a bunch more to do, but this is a + start. + + I'm not 100% happy with this patch, but it lets us execute a simplified + version of the test harness up to the point where it starts running the + first test. + + * html/HTML5Lexer.cpp: + (WebCore::HTML5Lexer::nextToken): + (WebCore::HTML5Lexer::isAppropriateEndTag): + (WebCore::HTML5Lexer::emitCurrentTagToken): + * html/HTML5Lexer.h: + (WebCore::HTML5Lexer::setState): + * html/HTML5Token.h: + (WebCore::HTML5Token::beginEndTag): + (WebCore::HTML5Token::appendToCharacter): + (WebCore::HTML5Token::name): + * html/HTML5Tokenizer.cpp: + (WebCore::HTML5Tokenizer::write): + +2010-05-23 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + Limit the number of tiles created for large tiled layers + https://bugs.webkit.org/show_bug.cgi?id=39522 + + I added an algorithm to limit the number of tiles created to 512. + It tried to limit them in only one dimension and if that's not + possible it limits them in both dimensions according to the + ratio of width to height. This has the effect of rendering + tiles starting from the upper-left, which is often the part + that is visible. So it both prevents crashing and tried to do + the best job it can of displaying what the author intended. + + The test LayoutTests/compositing/geometry/huge-layers.html was + crashing before this fix. Now it works correctly. + + * platform/graphics/win/WebTiledLayer.cpp: + (WebCore::WebTiledLayer::WebTiledLayer): + (WebCore::WebTiledLayer::setBounds): + (WebCore::WebTiledLayer::constrainedSize): + (WebCore::WebTiledLayer::updateTiles): + * platform/graphics/win/WebTiledLayer.h: + +2010-05-23 Noam Rosenthal <noam.rosenthal@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Using Accelerated Composing the rocket back animation on http://www.the-art-of-web.com/css/css-animation/ works differently as when not using AC. + https://bugs.webkit.org/show_bug.cgi?id=39513 + + The value of GraphicsLayer->transform() needs to be changed during the animation, regardless of m_fillsForward. + m_fillsForward should only apply at the end of the animation. Based on previous patch by Kenneth Christiansen. + + * platform/graphics/qt/GraphicsLayerQt.cpp: + (WebCore::TransformAnimationQt::applyFrame): + (WebCore::OpacityAnimationQt::applyFrame): + +2010-05-23 Kenneth Rohde Christiansen <kenneth@webkit.org> + + Reviewed by Eric Seidel. + + [Qt] GraphicsLayerQt: Coding style and comment fixes. + + * platform/graphics/qt/GraphicsLayerQt.cpp: + (WebCore::MaskEffectQt::MaskEffectQt): + (WebCore::MaskEffectQt::draw): + (WebCore::GraphicsLayerQtImpl::ContentData::ContentData): + (WebCore::GraphicsLayerQtImpl::State::State): + (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl): + (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl): + (WebCore::GraphicsLayerQtImpl::rootLayer): + (WebCore::GraphicsLayerQtImpl::recache): + (WebCore::GraphicsLayerQtImpl::updateTransform): + (WebCore::GraphicsLayerQtImpl::opaqueArea): + (WebCore::GraphicsLayerQtImpl::flushChanges): + (WebCore::GraphicsLayerQtImpl::notifyAnimationStarted): + (WebCore::GraphicsLayerQt::setNeedsDisplayInRect): + (WebCore::GraphicsLayerQt::setContentsToImage): + (WebCore::applyTimingFunction): + (WebCore::AnimationQtBase::updateState): + (WebCore::AnimationQt::AnimationQt): + (WebCore::AnimationQt::updateCurrentTime): + (WebCore::TransformAnimationQt::applyFrame): + (WebCore::TransformAnimationQt::updateState): + (WebCore::OpacityAnimationQt::OpacityAnimationQt): + (WebCore::OpacityAnimationQt::applyFrame): + (WebCore::GraphicsLayerQt::addAnimation): + (WebCore::GraphicsLayerQt::removeAnimationsForProperty): + (WebCore::GraphicsLayerQt::removeAnimationsForKeyframes): + (WebCore::GraphicsLayerQt::pauseAnimation): + (WebCore::GraphicsLayerQt::suspendAnimations): + (WebCore::GraphicsLayerQt::resumeAnimations): + * platform/graphics/qt/GraphicsLayerQt.h: + +2010-05-23 Justin Schuh <jschuh@chromium.org> + + Reviewed by Darin Adler. + + Remove custom binding for Attr.value + https://bugs.webkit.org/show_bug.cgi?id=39499 + + Custom bindings are no longer needed because origin checks were moved + out of the bindings by: http://trac.webkit.org/changeset/59866 + + * Android.v8bindings.mk: + * WebCore.gypi: + * bindings/js/JSAttrCustom.cpp: + * bindings/v8/custom/V8AttrCustom.cpp: Removed. + * dom/Attr.idl: + +2010-05-23 Grace Kloba <klobag@gmail.com> + + Reviewed by Nate Chapin. + + Match the call of scheduleLocationChange() to its correct signature. + Fixes <http://webkit.org/b/39452> + + The call of scheduleLocationChange() in generic and v8 bindings assuming the + fourth parameter is "usergesture". But it is actually the fifth parameter. + + No new features. No new tests. + + * bindings/generic/BindingDOMWindow.h: + (WebCore::::createWindow): + * bindings/v8/custom/V8DOMWindowCustom.cpp: + (WebCore::V8DOMWindow::openCallback): + +2010-05-23 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Reduce copy/paste code in HTMLParser using some template functions + https://bugs.webkit.org/show_bug.cgi?id=39471 + + No functional changes, thus no tests. + + * html/HTMLParser.cpp: + (WebCore::addTags): + - New function which takes a set an an array of QualifiedNames + and adds the localName().impl() to the set for each QualifiedName. + (WebCore::isTablePart): + (WebCore::isScopingTag): + (WebCore::mapTagToFunc): + (WebCore::mapTagsToFunc): + - New functions which take QualifiedNames and a function and map from the + localName().impl() to the function. + (WebCore::HTMLParser::getNode): + (WebCore::HTMLParser::isHeadingTag): + (WebCore::HTMLParser::isResidualStyleTag): + (WebCore::HTMLParser::isAffectedByResidualStyle): + +2010-05-22 Julie Parent <jparent@chromium.org> + + Reviewed by Adam Barth. + + REGRESSION: xssAuditor tests failing in Chromium. + https://bugs.webkit.org/show_bug.cgi?id=39560 + + Follow up to r0014. Make if statement in V8 bindings match the one from jsc version. + + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::evaluate): + +2010-05-22 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Mark Rowe. + + REGRESSION(r59977): platform/mac/fast/AppleScript/001.html failure + https://bugs.webkit.org/show_bug.cgi?id=39531 + + Revert r59977 and r59943. These changes caused some exceptions to no longer be + reported in the inspector; I can't tell what they were originally trying to fix + so I am not sure how to fix them other than by reverting. + + Covered by existing test platform/mac/fast/AppleScript/001.html, and + also added fast/dom/nested-script-exceptions.html to demonstrate the wider + consequences of the original change. + + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::ScriptController): + (WebCore::ScriptController::evaluateInWorld): + * bindings/js/ScriptController.h: + +2010-05-22 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Eric Seidel. + + [BREWMP] Add DragData + https://bugs.webkit.org/show_bug.cgi?id=39469 + + As BREW MP does not support dragging, add dummy implementation of DragData. + + * platform/DragData.h: + * platform/brew/DragDataBrew.cpp: Added. + (WebCore::DragData::canSmartReplace): + (WebCore::DragData::containsColor): + (WebCore::DragData::containsPlainText): + (WebCore::DragData::asPlainText): + (WebCore::DragData::asColor): + (WebCore::DragData::createClipboard): + (WebCore::DragData::containsCompatibleContent): + (WebCore::DragData::containsURL): + (WebCore::DragData::asURL): + (WebCore::DragData::asFragment): + (WebCore::DragData::asFilenames): + (WebCore::DragData::containsFiles): + +2010-05-22 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Eric Seidel. + + [BREWMP] Add dummy Icon + https://bugs.webkit.org/show_bug.cgi?id=39468 + + Add dummy implementation of Icon. + + * platform/graphics/brew/IconBrew.cpp: Added. + (WebCore::Icon::~Icon): + (WebCore::Icon::createIconForFiles): + (WebCore::Icon::paint): + +2010-05-22 Justin Schuh <jschuh@chromium.org> + + Reviewed by Nate Chapin. + + Remove and simplify custom bindings for Node + https://bugs.webkit.org/show_bug.cgi?id=39467 + + Custom bindings for nodeValue and textContent are no longer needed, + and child manipulators are simplified because origin checks were moved + out of the bindings by: http://trac.webkit.org/changeset/59866 + + * bindings/js/JSNodeCustom.cpp: + (WebCore::JSNode::insertBefore): + (WebCore::JSNode::replaceChild): + (WebCore::JSNode::removeChild): + (WebCore::JSNode::appendChild): + * bindings/v8/custom/V8NodeCustom.cpp: + (WebCore::V8Node::insertBeforeCallback): + (WebCore::V8Node::replaceChildCallback): + (WebCore::V8Node::removeChildCallback): + (WebCore::V8Node::appendChildCallback): + * dom/Node.idl: + +2010-05-22 Justin Schuh <jschuh@chromium.org> + + Reviewed by Nate Chapin. + + Remove custom bindings for NamedNodeMap.setNamedItem and .setNamedItemNS + https://bugs.webkit.org/show_bug.cgi?id=39462 + + Custom bindings are no longer needed because origin checks were moved + out of the bindings by: http://trac.webkit.org/changeset/59866 + + Behavior isn't changed and is covered by existing tests. + + * bindings/js/JSNamedNodeMapCustom.cpp: + * bindings/v8/custom/V8NamedNodeMapCustom.cpp: + * dom/NamedNodeMap.idl: + +2010-05-22 Daniel Bates <dbates@rim.com> + + No review, rolling out 60017. + http://trac.webkit.org/changeset/60017 + https://bugs.webkit.org/show_bug.cgi?id=39339 + + Rolling out since this broke the build on the Windows and Qt bots. + Need to look into this some more. + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/ScriptControllerBase.h: Removed. + * bindings/js/ScriptController.h: + (WebCore::): + * bindings/v8/ScriptController.h: + (WebCore::): + +2010-05-22 Daniel Bates <dbates@rim.com> + + Reviewed by Darin Adler. + + Move enum ReasonForCallingCanExecuteScripts to header ScriptControllerBase.h + https://bugs.webkit.org/show_bug.cgi?id=39339 + + Moved the enum ReasonForCallingCanExecuteScripts and ShouldAllowXSS, which + was defined in both the JSC and V8 ScriptController.h file, into a shared + file called ScriptControllerBase.h. + + No functionality was changed, so no new tests. + + * GNUmakefile.am: Added file bindings/ScriptControllerBase.h. + * WebCore.gypi: Ditto. + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * bindings/ScriptControllerBase.h: Added. + (WebCore::): + * bindings/js/ScriptController.h: #include ScriptControllerBase.h + * bindings/v8/ScriptController.h: Ditto. + +2010-05-22 Yong Li <yoli@rim.com> + + Reviewed by Darin Adler. + + Fix a crash when XHTMLMP is enabled. The frame pointer in Document + ctor can be null. + https://bugs.webkit.org/show_bug.cgi?id=39448 + + No new tests because it is obvious and it must be reproduced with + XHTMLMP enabled. + + * dom/Document.cpp: + (WebCore::Document::Document): + +2010-05-22 Daniel Bates <dbates@rim.com> + + Reviewed by Adam Barth. + + REGRESSION (r56295): Can't create a new wave on Google Wave + https://bugs.webkit.org/show_bug.cgi?id=39249 + + Instead of just using the source code portion of a JavaScript URL to + detect an XSS attack, we now include the JavaScript URL schema. This + reduces the chance of a false positive by providing additional context. + + Test: http/tests/security/xssAuditor/javascript-link-safe.html + + * WebCore.base.exp: Updated exported symbols as necessary. + * bindings/ScriptControllerBase.cpp: + (WebCore::ScriptController::executeScript): Added parameter shouldAllowXSS. + (WebCore::ScriptController::executeIfJavaScriptURL): Ditto. + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::evaluateInWorld): Ditto. + (WebCore::ScriptController::evaluate): Ditto. + (WebCore::ScriptController::executeScriptInWorld): Ditto. + * bindings/js/ScriptController.h: Added enum ShouldAllowXSS. + (WebCore::): + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::evaluate): Added parameter shouldAllowXSS. + * bindings/v8/ScriptController.h: Added enum ShouldAllowXSS. + (WebCore::): + +2010-05-22 Jeremy Moskovich <jeremy@chromium.org> + + Reviewed by Eric Seidel. + + Document RenderObject::m_hasOverflowClip. + + https://bugs.webkit.org/show_bug.cgi?id=39425 + + No new functionality, so no new tests. + + * rendering/RenderObject.h: + +2010-05-22 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Eric Seidel. + + [BREWMP] Add DragController + https://bugs.webkit.org/show_bug.cgi?id=39400 + + Add DragController for BREW MP. + + * page/brew/DragControllerBrew.cpp: Added. + (WebCore::DragController::isCopyKeyDown): + (WebCore::DragController::dragOperation): + (WebCore::DragController::maxDragImageSize): + (WebCore::DragController::cleanupAfterSystemDrag): + +2010-05-22 Leandro Pereira <leandro@profusion.mobi> + + Reviewed by Eric Seidel. + + [EFL] Build fix (update source code lists). + http://webkit.org/b/39235 + + * CMakeLists.txt: + +2010-05-22 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] webkit_web_view_drag_end should call EventHandler::dragSourceEndedAt + https://bugs.webkit.org/show_bug.cgi?id=39465 + + Added a helper function for converting a GDK action bitmask into a DragOperation bitmask. + + No new tests as behavior has not changed. + + * platform/gtk/ClipboardUtilitiesGtk.cpp: + (WebCore::gdkDragActionToDragOperation): Added. + * platform/gtk/ClipboardUtilitiesGtk.h: + +2010-05-22 Patrick Gansterer <paroga@paroga.com> + + Reviewed by Eric Seidel. + + [Qt] Cleanup SharedBuffer::createWithContentsOfFile + https://bugs.webkit.org/show_bug.cgi?id=38917 + + * platform/qt/SharedBufferQt.cpp: + (WebCore::SharedBuffer::createWithContentsOfFile): + +2010-05-22 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] WebKit/gtk/WebCoreSupport/DragClientGtk::startDrag should use the Clipboard::sourceOperation + https://bugs.webkit.org/show_bug.cgi?id=39459 + + Add ClipboardUtilitiesGtk, a container for GTK+/WebCore clipboard utility functions. + Initially add a function which converts a WebCore::DragOperation to a bitmask of + GdkDragActions. + + No new tests, because behavior has not changed. + + * GNUmakefile.am: + * platform/gtk/ClipboardUtilitiesGtk.cpp: Added. + (WebCore::dragOperationToGdkDragActions): Added. + * platform/gtk/ClipboardUtilitiesGtk.h: Added. + +2010-05-21 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Parse attributes with HTML5 lexer + https://bugs.webkit.org/show_bug.cgi?id=39520 + + This patch lets the HTML5 lexer parse attributes, as in + <div attr="foo"></div>. This patch is on the critical path to running + the html5lib tests. + + * html/HTML5Lexer.cpp: + (WebCore::HTML5Lexer::nextToken): + * html/HTML5Lexer.h: + * html/HTML5Token.h: + (WebCore::HTML5Token::beginStartTag): + (WebCore::HTML5Token::beginEndTag): + (WebCore::HTML5Token::addNewAttribute): + (WebCore::HTML5Token::appendToAttributeName): + (WebCore::HTML5Token::appendToAttributeValue): + (WebCore::HTML5Token::attributes): + * html/HTML5Tokenizer.cpp: + (WebCore::convertToOldStyle): + +2010-05-21 Mark Rowe <mrowe@apple.com> + + 60,000! + + * ChangeLog: Point out revision 60,000. + +2010-05-21 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + Preparation for support of column-span, which will be implemented using continuations. When a block splits an inline, a + continuation chain is created of the form inline -> anonymous block -> inline. The middle block is always anonymous. When a column-span + splits the blocks in a multi-column block, it will create a similar chain: block -> anonymous block -> block. Enclosing split elements + directly connect to their continuations, so their chains will look like inline -> inline or block -> block. + + This patch changes the member variable in RenderBlock, m_inlineContinuation, to simply be m_continuation and loosens up the type on it + to RenderBoxModelObject. This reflects the fact that the continuation of the block can now be another block and isn't always simply an inline. + + Some renames have been done for cleanup: + isInlineContinuation -> isInlineElementContinuation to emphasize that this is a split non-anonymous element. + inlineContinuation -> inlineElementContinuation, again to emphasize that the inline is not anonymous. + + Some new methods have been added: + isBlockElementContinuation - just like isInlineElementContinuation but for split block elements. + blockElementContinuation - just like inlineElementContinuation but for split block elements. + virtualContinuation - A way to just walk an entire continuation chain of mixed types (blocks and inlines) using their common base class. + isAnonymousBlockContinuation - A method for asking if a RenderBlock is an anonymous block in the continuation chain (the guy in the middle). + + Code that was specific to the anonymous blocks in a continuation chain has been patched to ask isAnonymousBlockContinuation, so that it won't + incorrectly apply to non-anonymous blocks in the future. Where possible, code that really didn't care about being an inline vs. a block has + been broadened so that it will work with block continuations as well. + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::lastChildConsideringContinuation): + (WebCore::startOfContinuations): + (WebCore::endOfContinuations): + (WebCore::childBeforeConsideringContinuations): + (WebCore::firstChildIsInlineContinuation): + (WebCore::AccessibilityRenderObject::nextSibling): + (WebCore::AccessibilityRenderObject::anchorElement): + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): + (WebCore::InlineFlowBox::paint): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::RenderBlock): + (WebCore::RenderBlock::destroy): + (WebCore::RenderBlock::removeLeftoverAnonymousBlock): + (WebCore::RenderBlock::removeChild): + (WebCore::RenderBlock::paintObject): + (WebCore::RenderBlock::inlineElementContinuation): + (WebCore::RenderBlock::blockElementContinuation): + (WebCore::RenderBlock::addContinuationWithOutline): + (WebCore::RenderBlock::absoluteRects): + (WebCore::RenderBlock::absoluteQuads): + (WebCore::RenderBlock::rectWithOutlineForRepaint): + (WebCore::RenderBlock::hoverAncestor): + (WebCore::RenderBlock::updateDragState): + (WebCore::RenderBlock::outlineStyleForRepaint): + (WebCore::RenderBlock::updateHitTestResult): + (WebCore::RenderBlock::addFocusRingRects): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::continuation): + (WebCore::RenderBlock::setContinuation): + (WebCore::RenderBlock::virtualContinuation): + (WebCore::RenderBlock::isAnonymousBlockContinuation): + * rendering/RenderInline.cpp: + (WebCore::RenderInline::inlineElementContinuation): + (WebCore::RenderInline::styleDidChange): + (WebCore::nextContinuation): + (WebCore::RenderInline::splitInlines): + (WebCore::RenderInline::positionForPoint): + (WebCore::RenderInline::updateHitTestResult): + * rendering/RenderInline.h: + (WebCore::RenderInline::setContinuation): + (WebCore::RenderInline::virtualContinuation): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::getTextDecorationColors): + * rendering/RenderObject.h: + (WebCore::RenderObject::isElementContinuation): + (WebCore::RenderObject::isInlineElementContinuation): + (WebCore::RenderObject::isBlockElementContinuation): + (WebCore::RenderObject::virtualContinuation): + * rendering/RenderObjectChildList.cpp: + (WebCore::RenderObjectChildList::updateBeforeAfterContent): + * rendering/RenderRubyBase.cpp: + (WebCore::RenderRubyBase::moveBlockChildren): + +2010-05-21 Mark Rowe <mrowe@apple.com> + + Reviewed by Oliver Hunt. + + Teach WebKit2 to build in the Production configuration. + + * Configurations/WebCore.xcconfig: Pass -allowable_client to the linker in all configurations. + +2010-05-21 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + Implement tiled compositing layers on Windows + https://bugs.webkit.org/show_bug.cgi?id=39461 + + This adds a tiling implementation similar (from a GraphicsLayer standpoint) + to the one for Mac. But where Mac uses the existing CATiledLayer, I've had + to implement one. If a layer is greater then 2k x 2k, I split it into an + array of 512 x 512 tiles. These tiles are positioned in the correct place + for the TiledLayer's content. When setNeedsDisplay is called on the TiledLayer + the tiles' setNeedDisplay methods are called. Each tile clips and positions the + CGContext appropriately and then renders the layer. + + I also got rid of all frame()/setFrame() API to reduce the number of calls to + override for tiling. + + Much optimization is possible. Most significantly right now all tiles are + rendered whether visible or not. We need to only render tiles that are + currently visible. + + Tests: compositing/huge-layer-add-remove-child.html + compositing/huge-layer-resize.html + compositing/huge-layer-with-layer-children-resize.html + compositing/huge-layer-with-layer-children.html + compositing/huge-layer.html + + * WebCore.vcproj/WebCore.vcproj: + * platform/graphics/win/GraphicsLayerCACF.cpp: Added tiling code similar to GraphicsLayerCA + (WebCore::GraphicsLayerCACF::requiresTiledLayer): + (WebCore::GraphicsLayerCACF::swapFromOrToTiledLayer): + (WebCore::GraphicsLayerCACF::updateLayerSize): + (WebCore::GraphicsLayerCACF::updateLayerDrawsContent): + * platform/graphics/win/GraphicsLayerCACF.h: + * platform/graphics/win/WKCACFLayer.cpp: Made some methods virtual so WebTiledLayer can override. + Also added sublayer setting and manipulation methods needed for tiling + (WebCore::WKCACFLayer::addSublayer): + (WebCore::WKCACFLayer::internalInsertSublayer): + (WebCore::WKCACFLayer::insertSublayerAboveLayer): + (WebCore::WKCACFLayer::insertSublayerBelowLayer): + (WebCore::WKCACFLayer::replaceSublayer): + (WebCore::WKCACFLayer::internalSublayerCount): + (WebCore::WKCACFLayer::adoptSublayers): + (WebCore::WKCACFLayer::internalSublayerAtIndex): + (WebCore::WKCACFLayer::internalIndexOfSublayer): + (WebCore::WKCACFLayer::internalRemoveAllSublayers): + (WebCore::WKCACFLayer::internalSetSublayers): + (WebCore::WKCACFLayer::internalSetNeedsDisplay): + (WebCore::WKCACFLayer::printLayer): + * platform/graphics/win/WKCACFLayer.h: + (WebCore::WKCACFLayer::setNeedsDisplay): + (WebCore::WKCACFLayer::removeAllSublayers): + (WebCore::WKCACFLayer::setSublayers): + (WebCore::WKCACFLayer::insertSublayer): + (WebCore::WKCACFLayer::sublayerCount): + * platform/graphics/win/WKCACFLayerRenderer.cpp: Fix a crash exposed when tiling code is active + (WebCore::WKCACFLayerRenderer::createRenderer): + (WebCore::WKCACFLayerRenderer::destroyRenderer): + (WebCore::WKCACFLayerRenderer::resize): + * platform/graphics/win/WebLayer.cpp: Added. Split this out from GraphicsLayerCACF so it could be subclassed by WebTiledLayer + (WebCore::WebLayer::internalSetNeedsDisplay): + (WebCore::WebLayer::drawInContext): + * platform/graphics/win/WebLayer.h: Added. + (WebCore::WebLayer::create): + (WebCore::WebLayer::WebLayer): + * platform/graphics/win/WebTiledLayer.cpp: Added. Where all the tile construction and rendering is done + (WebCore::WebTiledLayer::tileDisplayCallback): + (WebCore::WebTiledLayer::create): + (WebCore::WebTiledLayer::WebTiledLayer): + (WebCore::WebTiledLayer::~WebTiledLayer): + (WebCore::WebTiledLayer::setBounds): + (WebCore::WebTiledLayer::internalSetNeedsDisplay): + (WebCore::WebTiledLayer::internalSublayerCount): + (WebCore::WebTiledLayer::internalRemoveAllSublayers): + (WebCore::WebTiledLayer::internalSetSublayers): + (WebCore::WebTiledLayer::internalInsertSublayer): + (WebCore::WebTiledLayer::internalSublayerAtIndex): + (WebCore::WebTiledLayer::internalIndexOfSublayer): + (WebCore::WebTiledLayer::addTile): + (WebCore::WebTiledLayer::removeTile): + (WebCore::WebTiledLayer::tileAtIndex): + (WebCore::WebTiledLayer::tileCount): + (WebCore::WebTiledLayer::updateTiles): + (WebCore::WebTiledLayer::drawTile): + * platform/graphics/win/WebTiledLayer.h: Added. + +2010-05-21 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Darin Adler. + + Fixed a typo in my last commit: Reset m_inEvaluateInWorld to + wasInEvaluateInWorld, rather than false, to avoid stomping the old value + when it's true. + https://bugs.webkit.org/show_bug.cgi?id=39518 + + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::evaluateInWorld): + +2010-05-21 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=39516, back end support for column-span property. + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::): + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + * css/CSSPropertyNames.in: + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::columnSpan): + (WebCore::InheritedFlags::setColumnSpan): + (WebCore::InheritedFlags::initialColumnSpan): + * rendering/style/StyleMultiColData.cpp: + (WebCore::StyleMultiColData::StyleMultiColData): + (WebCore::StyleMultiColData::operator==): + * rendering/style/StyleMultiColData.h: + +2010-05-21 Jer Noble <jer.noble@apple.com> + + Reviewed by Anders Carlsson. + + Disable full-screen video on Windows + https://bugs.webkit.org/show_bug.cgi?id=39506 + rdar://problem/8012516 + + Disable full-screen video through MediaPlayerPrivateVisualContext since + we no longer use GWorlds and QuickTime's built in full-screen support. + + Media layout tests updated with new expected results. + + * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsFullscreen): + +2010-05-21 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Avoid creating huge tiled layers with accelerated compositing + https://bugs.webkit.org/show_bug.cgi?id=39515 + + Constrain the size of huge composited layers, to avoid bad behavior. We only + need to do this if we detect that we need a tiled layer, since we'll make tiled + layers for elements over a certain size that need to draw already. + + Constrain the size by attempting to shrink the longer dimension first. + + Test: compositing/geometry/huge-layer.html + + * platform/graphics/mac/GraphicsLayerCA.h: + * platform/graphics/mac/GraphicsLayerCA.mm: + (WebCore::GraphicsLayerCA::updateLayerPosition): + (WebCore::GraphicsLayerCA::updateLayerSize): + (WebCore::GraphicsLayerCA::constrainedSize): + +2010-05-21 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=39420, :visited not working with background-color. + + Make the RenderStyle color accessors private. This forces callers to use visitedDependentColor + instead (or to make the decision to become friends of the RenderStyle class in order to get access + to the real style information). + + Modified history/self-is-visited.html to also test background colors. + + * WebCore.base.exp: + * accessibility/AccessibilityTable.cpp: + (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): + * accessibility/mac/AccessibilityObjectWrapper.mm: + (AXAttributeStringSetStyle): + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::currentColorOrValidColor): + * css/CSSComputedStyleDeclaration.h: + * css/SVGCSSStyleSelector.cpp: + (WebCore::colorFromSVGColorCSSValue): + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::editingStyleAtPosition): + (WebCore::prepareEditingStyleToApplyAt): + (WebCore::removeStylesAddedByNode): + (WebCore::fontColorChangesComputedStyle): + (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): + * editing/ApplyStyleCommand.h: + (WebCore::): + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::moveParagraphs): + (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): + * editing/DeleteButtonController.cpp: + (WebCore::isDeletableElement): + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::saveTypingStyleState): + * editing/InsertParagraphSeparatorCommand.cpp: + (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): + * editing/RemoveFormatCommand.cpp: + (WebCore::RemoveFormatCommand::doApply): + * editing/ReplaceSelectionCommand.cpp: + (WebCore::handleStyleSpansBeforeInsertion): + (WebCore::ReplaceSelectionCommand::handleStyleSpans): + (WebCore::ReplaceSelectionCommand::doApply): + * editing/SelectionController.cpp: + (WebCore::SelectionController::paintCaret): + * editing/markup.cpp: + (WebCore::createMarkup): + * page/animation/AnimationBase.cpp: + (WebCore::AnimationBase::ensurePropertyMap): + * page/animation/AnimationBase.h: + * page/mac/FrameMac.mm: + (WebCore::Frame::fontAttributesForSelectionStart): + * rendering/EllipsisBox.cpp: + (WebCore::EllipsisBox::paint): + (WebCore::EllipsisBox::paintSelection): + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::paint): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::styleDidChange): + (WebCore::RenderBox::paintRootBoxDecorations): + (WebCore::RenderBox::paintBoxDecorationsWithSize): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintBoxShadow): + * rendering/RenderFieldset.cpp: + (WebCore::RenderFieldset::paintBoxDecorations): + * rendering/RenderFileUploadControl.cpp: + (WebCore::RenderFileUploadControl::paintObject): + * rendering/RenderFrameSet.cpp: + (WebCore::RenderFrameSet::paintColumnBorder): + (WebCore::RenderFrameSet::paintRowBorder): + * rendering/RenderImage.cpp: + (WebCore::RenderImage::paintReplaced): + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::rendererBackgroundColor): + * rendering/RenderLayerBacking.h: + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::paintItemForeground): + (WebCore::RenderListBox::paintItemBackground): + * rendering/RenderListMarker.cpp: + (WebCore::RenderListMarker::paint): + * rendering/RenderMenuList.cpp: + (WebCore::RenderMenuList::itemStyle): + (WebCore::RenderMenuList::itemBackgroundColor): + (WebCore::RenderMenuList::menuStyle): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::selectionBackgroundColor): + (WebCore::RenderObject::selectionForegroundColor): + * rendering/RenderSVGResource.cpp: + (WebCore::RenderSVGResource::adjustColorForPseudoRules): + (WebCore::RenderSVGResource::fillPaintingResource): + (WebCore::RenderSVGResource::strokePaintingResource): + * rendering/RenderSVGResource.h: + * rendering/RenderTable.cpp: + (WebCore::RenderTable::paintBoxDecorations): + * rendering/RenderTable.h: + (WebCore::RenderTable::bgColor): + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::paintBackgroundsBehindCell): + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::adjustInnerTextStyle): + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::menuStyle): + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::isControlStyled): + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::paintMenuListButton): + * rendering/RenderTreeAsText.cpp: + (WebCore::RenderTreeAsText::writeRenderObject): + (WebCore::write): + * rendering/RenderTreeAsText.h: + * rendering/SVGInlineTextBox.cpp: + (WebCore::SVGInlineTextBox::paintSelection): + * rendering/SVGRenderTreeAsText.cpp: + (WebCore::writeRenderSVGTextBox): + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::colorIncludingFallback): + (WebCore::RenderStyle::visitedDependentColor): + * rendering/style/RenderStyle.h: + (WebCore::): + (WebCore::InheritedFlags::hasBackground): + (WebCore::InheritedFlags::borderLeftStyle): + (WebCore::InheritedFlags::borderRightStyle): + (WebCore::InheritedFlags::borderTopStyle): + (WebCore::InheritedFlags::borderBottomStyle): + (WebCore::InheritedFlags::textShadow): + (WebCore::InheritedFlags::textStrokeWidth): + (WebCore::InheritedFlags::hasNormalColumnGap): + (WebCore::InheritedFlags::borderLeftColor): + (WebCore::InheritedFlags::borderRightColor): + (WebCore::InheritedFlags::borderTopColor): + (WebCore::InheritedFlags::borderBottomColor): + (WebCore::InheritedFlags::backgroundColor): + (WebCore::InheritedFlags::color): + (WebCore::InheritedFlags::columnRuleColor): + (WebCore::InheritedFlags::outlineColor): + (WebCore::InheritedFlags::textFillColor): + (WebCore::InheritedFlags::textStrokeColor): + * svg/SVGAnimationElement.cpp: + (WebCore::adjustForCurrentColor): + +2010-05-21 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin Adler. + + Fix for <rdar://problem/8009118> Crash in WebCore::toAlphabetic() + while running MangleMe + -and corresponding- + https://bugs.webkit.org/show_bug.cgi?id=39508 + + The math was slightly off here, and we wound up trying to access an + array at index -1 in some cases. We need to decrement numberShadow + rather than subtracting one from the result of the modulo + operation. + + * rendering/RenderListMarker.cpp: + (WebCore::toAlphabeticOrNumeric): + +2010-05-21 Oliver Hunt <oliver@apple.com> + + Qt buildfix #2 + + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::convertQVariantToValue): + (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): + +2010-05-21 Oliver Hunt <oliver@apple.com> + + Qt buildfix #1 + + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtRuntimeObject::QtRuntimeObject): + (JSC::Bindings::QtInstance::newRuntimeObject): + (JSC::Bindings::QtInstance::getMethod): + * bridge/qt/qt_pixmapruntime.cpp: + (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject): + (JSC::Bindings::QtPixmapInstance::getMethod): + (JSC::Bindings::QtPixmapInstance::createRuntimeObject): + +2010-05-21 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Oliver Hunt. + + Fixed failure seen on buildbot (due to flaky test). + + Don't report an exception in a nested script evaluation -- just pass the + exception on to our caller. Our caller can decide to report the exception, + if it fully propagates -- but we don't want to report an exception that's + going to get caught. + + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::ScriptController): + (WebCore::ScriptController::evaluateInWorld): + * bindings/js/ScriptController.h: + +2010-05-21 Oliver Hunt <oliver@apple.com> + + Reviewed by Geoffrey Garen. + + All callable objects should have a global object reference + https://bugs.webkit.org/show_bug.cgi?id=39495 + + Update the bindings generator to give prototype objects a + global object. Update all the manually written JSObject + subclasses to pass a global object. + + * ForwardingHeaders/runtime/JSObjectWithGlobalObject.h: Added. + * WebCore.PluginHostProcess.exp: + * bindings/js/JSDOMBinding.cpp: + (WebCore::objectToStringFunctionGetter): + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::nonCachingStaticFunctionGetter): + * bindings/js/JSDOMWindowShell.cpp: + (WebCore::JSDOMWindowShell::setWindow): + * bindings/js/JSHistoryCustom.cpp: + (WebCore::nonCachingStaticBackFunctionGetter): + (WebCore::nonCachingStaticForwardFunctionGetter): + (WebCore::nonCachingStaticGoFunctionGetter): + * bindings/js/JSLocationCustom.cpp: + (WebCore::nonCachingStaticReplaceFunctionGetter): + (WebCore::nonCachingStaticReloadFunctionGetter): + (WebCore::nonCachingStaticAssignFunctionGetter): + * bindings/js/WorkerScriptController.cpp: + (WebCore::WorkerScriptController::initScript): + * bindings/scripts/CodeGeneratorJS.pm: + * bridge/c/CRuntimeObject.cpp: + (JSC::Bindings::CRuntimeObject::CRuntimeObject): + * bridge/c/CRuntimeObject.h: + * bridge/c/c_instance.cpp: + (JSC::Bindings::CInstance::newRuntimeObject): + (JSC::Bindings::CRuntimeMethod::CRuntimeMethod): + (JSC::Bindings::CInstance::getMethod): + * bridge/jni/jsc/JavaInstanceJSC.cpp: + (JavaInstance::newRuntimeObject): + (JavaRuntimeMethod::JavaRuntimeMethod): + (JavaInstance::getMethod): + * bridge/jni/jsc/JavaRuntimeObject.cpp: + (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject): + * bridge/jni/jsc/JavaRuntimeObject.h: + * bridge/jsc/BridgeJSC.cpp: + (JSC::Bindings::Instance::newRuntimeObject): + * bridge/objc/ObjCRuntimeObject.h: + * bridge/objc/ObjCRuntimeObject.mm: + (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject): + * bridge/objc/objc_class.mm: + (JSC::Bindings::ObjcClass::fallbackObject): + * bridge/objc/objc_instance.mm: + (ObjcInstance::newRuntimeObject): + (ObjCRuntimeMethod::ObjCRuntimeMethod): + (ObjcInstance::getMethod): + * bridge/objc/objc_runtime.h: + * bridge/objc/objc_runtime.mm: + (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp): + * bridge/runtime_method.cpp: + (JSC::RuntimeMethod::RuntimeMethod): + * bridge/runtime_method.h: + * bridge/runtime_object.cpp: + (JSC::Bindings::RuntimeObject::RuntimeObject): + * bridge/runtime_object.h: + +2010-05-21 Steve Block <steveblock@google.com> + + Reviewed by Jeremy Orlow. + + Add DeviceOrientation and DeviceOrientationClient + https://bugs.webkit.org/show_bug.cgi?id=39479 + + The page owns a DeviceOrientation object, which has a pointer to a + DeviceOrientationClient object provided by the embedder. The + DeviceOrientation object forwards requests to start listening to + orientation to the client, and when updates are available, fires a + DeviceOrientationEvent on the window object. + + No new tests are possible at this time as the implementation is + incomplete. Future patches will add LayoutTestController methods + to provide mock orientation events to test this. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.base.exp: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj + * WebCore.xcodeproj/project.pbxproj: + * dom/DeviceOrientation.cpp: Added. + (WebCore::DeviceOrientation::DeviceOrientation): + (WebCore::DeviceOrientation::onDeviceOrientationChange): + * dom/DeviceOrientation.h: Added. + * dom/DeviceOrientationClient.h: Added. + (WebCore::DeviceOrientationClient::~DeviceOrientationClient): + * page/Page.cpp: + (WebCore::Page::Page): + * page/Page.h: + (WebCore::Page::deviceOrientation): + * svg/graphics/SVGImage.cpp: + (WebCore::SVGImage::dataChanged): + +2010-05-21 Tasuku Suzuki <tasuku.suzuki@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] Fix compilation with QT_NO_GRAPHICSEFFECT + https://bugs.webkit.org/show_bug.cgi?id=38324 + + * platform/graphics/qt/GraphicsLayerQt.cpp: + (WebCore::GraphicsLayerQtImpl::flushChanges): + +2010-05-21 Jedrzej Nowacki <jedrzej.nowacki@nokia.com> + + Reviewed by Darin Fisher. + + Fix the HistoryController::pushState. + + It should be possible to call the pushState method from + the first page in a window. + + history.pushState doesn't work for the first page in a window. + https://bugs.webkit.org/show_bug.cgi?id=39418 + + * loader/HistoryController.cpp: + (WebCore::HistoryController::pushState): + +2010-05-21 Victoria Kirst <vrk@google.com> + + Reviewed by David Levin. + + [chromium] Fix slider status when buffering + https://bugs.webkit.org/show_bug.cgi?id=39370 + Adjusts the buffering bar to be aligned with the slider thumb. + + No new tests. (Covered by existing layout tests.) + + * rendering/RenderMediaControlsChromium.cpp: + (WebCore::paintMediaSlider): + Added logic to align the buffering bar with the thumb. Half of the + thumb image is transparent, so the buffer bar is adjusted to fill in + this gap. + +2010-05-21 Jesus Sanchez-Palencia <jesus@webkit.org> + + Reviewed by Eric Seidel. + + Extra processesArguments() calls in Document::processViewport + https://bugs.webkit.org/show_bug.cgi?id=39358 + + The viewport arguments are only needed when there is a frame->page(), + therefore we don't need to always call processArguments(). + + * dom/Document.cpp: + (WebCore::Document::processViewport): + +2010-05-17 Philippe Normand <pnormand@igalia.com> + + Reviewed by Eric Carlson. + + [GStreamer] video painting support on mac port + https://bugs.webkit.org/show_bug.cgi?id=39206 + + ImageGStreamer support for mac port. A CG Image is created using + the GstBuffer data. It can then be painted by the gstreamer player. + + * platform/graphics/gstreamer/ImageGStreamer.h: + * platform/graphics/gstreamer/ImageGStreamerCG.mm: Added. + (ImageGStreamer::createImage): + (ImageGStreamer::ImageGStreamer): + (ImageGStreamer::~ImageGStreamer): + +2010-05-21 Robin Cao <robin.cao@torchmobile.com.cn> + + Reviewed by Eric Seidel. + + animateTransform does not work on gradientTransform + https://bugs.webkit.org/show_bug.cgi?id=38115 + + Tests: svg/animations/animate-gradient-transform.html + + * svg/SVGAnimateTransformElement.cpp: + (WebCore::SVGAnimateTransformElement::hasValidTarget): Check if the target element is gradient. + (WebCore::transformListFor): Ditto. + (WebCore::SVGAnimateTransformElement::resetToBaseValue): Ditto. + (WebCore::SVGAnimateTransformElement::applyResultsToTarget): Ditto. + +2010-05-21 Young Han Lee <joybro@company100.net> + + Reviewed by Eric Seidel. + + Fix guard around DatabaseSync + https://bugs.webkit.org/show_bug.cgi?id=38897 + + * storage/DatabaseSync.cpp: + +2010-05-21 Simon Hausmann <simon.hausmann@nokia.com> + + [Qt] Prospective Qt/Mac build fix + + My cpp is paranoid and doesn't like #if Q_WS_MAC: + error: #if with no expression + + * page/qt/EventHandlerQt.cpp: + +2010-05-21 Lucas De Marchi <lucas.demarchi@profusion.mobi> + + Reviewed by Eric Seidel. + + [EFL] Update Localized Strings. Remove markers from strings + since we are not using them and they are only polluting output. + https://bugs.webkit.org/show_bug.cgi?id=39371 + + No new tests required. + + * platform/efl/LocalizedStringsEfl.cpp: + (WebCore::contextMenuItemTagOpenLinkInNewWindow): + (WebCore::contextMenuItemTagDownloadLinkToDisk): + (WebCore::contextMenuItemTagCopyLinkToClipboard): + (WebCore::contextMenuItemTagOpenImageInNewWindow): + (WebCore::contextMenuItemTagDownloadImageToDisk): + (WebCore::contextMenuItemTagCopyImageToClipboard): + (WebCore::contextMenuItemTagOpenFrameInNewWindow): + (WebCore::contextMenuItemTagSelectAll): + (WebCore::contextMenuItemTagUnicode): + (WebCore::contextMenuItemTagInputMethods): + (WebCore::contextMenuItemTagGoBack): + (WebCore::contextMenuItemTagGoForward): + (WebCore::contextMenuItemTagReload): + (WebCore::contextMenuItemTagIgnoreSpelling): + (WebCore::contextMenuItemTagLearnSpelling): + (WebCore::contextMenuItemTagSearchWeb): + (WebCore::contextMenuItemTagLookUpInDictionary): + (WebCore::contextMenuItemTagOpenLink): + (WebCore::contextMenuItemTagIgnoreGrammar): + (WebCore::contextMenuItemTagSpellingMenu): + (WebCore::contextMenuItemTagCheckSpelling): + (WebCore::contextMenuItemTagCheckGrammarWithSpelling): + (WebCore::contextMenuItemTagFontMenu): + (WebCore::contextMenuItemTagOutline): + (WebCore::contextMenuItemTagInspectElement): + (WebCore::searchMenuClearRecentSearchesText): + (WebCore::missingPluginText): Add missing message. + (WebCore::multipleFileUploadText): + (WebCore::crashedPluginText): + +2010-05-21 Lucas De Marchi <lucas.demarchi@profusion.mobi> + + Reviewed by Eric Seidel. + + [EF] Fix support for focus ring. + https://bugs.webkit.org/show_bug.cgi?id=39387 + + No new tests required. + + * html/HTMLAnchorElement.cpp: Add EFL to #ifdef + (WebCore::HTMLAnchorElement::isMouseFocusable): + +2010-05-21 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Eric Seidel. + + [BREWMP] Add missing localized string symbols. + https://bugs.webkit.org/show_bug.cgi?id=39394 + + Add missingPluginText and crashedPluginText. + + * platform/brew/LocalizedStringsBrew.cpp: + (WebCore::missingPluginText): + (WebCore::crashedPluginText): + +2010-05-21 Steve Block <steveblock@google.com> + + Reviewed by Alexey Proskuryakov. + + Calls to CallJNIMethodIDA() in JavaInstance::invokeMethod() are required on Android + https://bugs.webkit.org/show_bug.cgi?id=39426 + + This code path has always been used by Android, but was guarded with + BUILDING_ON_TIGER in http://trac.webkit.org/changeset/55054, thus + breaking the Android build. + + No new tests, build fix only. + + * bridge/jni/jsc/JavaInstanceJSC.cpp: + (JavaInstance::invokeMethod): + +2010-05-20 Tony Chang <tony@chromium.org> + + Reviewed by Kent Tamura. + + escape link text when copying or dragging links on win or chromium + https://bugs.webkit.org/show_bug.cgi?id=39413 + + * editing/markup.cpp: + (WebCore::urlToMarkup): + * editing/markup.h: + * platform/chromium/ClipboardUtilitiesChromium.cpp: + * platform/chromium/ClipboardUtilitiesChromium.h: + * platform/win/ClipboardUtilitiesWin.cpp: + * platform/win/ClipboardUtilitiesWin.h: + +2010-05-18 Philippe Normand <pnormand@igalia.com> + + Reviewed by Eric Carlson. + + [GStreamer] PlatformMedia support + https://bugs.webkit.org/show_bug.cgi?id=39300 + + Basic support for PlatformMedia in the gst player. The + PlatformMedia object contains a GStreamerGWorld object. That + object is empty for now. XOverlay features will be added later + on for easy review sake. + + * GNUmakefile.am: + * platform/graphics/MediaPlayer.h: + (WebCore::PlatformMedia::): + * platform/graphics/gstreamer/GStreamerGWorld.cpp: Added. + (WebCore::GStreamerGWorld::createGWorld): + (WebCore::GStreamerGWorld::GStreamerGWorld): + (WebCore::GStreamerGWorld::~GStreamerGWorld): + * platform/graphics/gstreamer/GStreamerGWorld.h: Added. + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivateGStreamer::platformMedia): + (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: + +2010-05-20 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Eric Seidel. + + [BREWMP] Add dummy SSLKeyGenerator + https://bugs.webkit.org/show_bug.cgi?id=39403 + + Add dummy implementation of SSLKeyGenerator. + + * platform/brew/SSLKeyGeneratorBrew.cpp: Added. + (WebCore::WebCore::getSupportedKeySizes): + (WebCore::WebCore::signedPublicKeyAndChallengeString): + +2010-05-20 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Dan Bernstein. + + <rdar://problem/7848154> Remove the dependency on Foundation's private __COCOA_FORMAL_PROTOCOLS_2__ define. + + * platform/mac/EmptyProtocolDefinitions.h: + +2010-05-20 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Eric Seidel. + + [BREWMP] Add Editor + https://bugs.webkit.org/show_bug.cgi?id=39404 + + Implement Editor::newGeneralClipboard. + + * editing/brew/EditorBrew.cpp: Added. + (WebCore::Editor::newGeneralClipboard): + +2010-05-20 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Adam Roben. + + Avoid flushing CA layers when a layout is pending + https://bugs.webkit.org/show_bug.cgi?id=39463 + <rdar://problem/7999463> + + Avoid rendering the compositing layers to the screen if there's a layout pending, + since the layer tree not in a state that should be presented to the user. + + This fixes flashes in some types of content that dynamically add and remove layers. + + Do this by adding a WKCACFLayerRendererClient for WKCACFLayerRenderer, which it can + call through to ask whether now is a good time to render. If not, it schedules + another render soon. + + * platform/graphics/win/WKCACFLayerRenderer.h: + (WebCore::WKCACFLayerRendererClient::~WKCACFLayerRendererClient): + * platform/graphics/win/WKCACFLayerRenderer.cpp: + (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable): + (WebCore::WKCACFLayerRenderer::create): + (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): + (WebCore::WKCACFLayerRenderer::render): + +2010-05-20 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Eric Seidel. + + [BREWMP] Don't include CoreFoundation.h when building for BREW MP + https://bugs.webkit.org/show_bug.cgi?id=39405 + + Add !defined(BUILDING_BREWMP__) guard for CoreFoundation.h. + + * WebCorePrefix.h: + +2010-05-20 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Eric Seidel. + + [BREWMP] Add ScrollTheme + https://bugs.webkit.org/show_bug.cgi?id=39406 + + As BREW MP always uses frame flattening, there is no need to render scorllbars. + Use the default scrollbar theme with thickness 0. + + * platform/brew/ScrollbarThemeBrew.cpp: Added. + (WebCore::ScrollbarTheme::nativeTheme): + (WebCore::ScrollbarThemeBrew::~ScrollbarThemeBrew): + * platform/brew/ScrollbarThemeBrew.h: Added. + +2010-05-20 Jon Honeycutt <jhoneycutt@apple.com> + + REGRESSION(r53637): DivX plug-in fails to start until window is resized + https://bugs.webkit.org/show_bug.cgi?id=39457 + <rdar://problem/8006102> + + Before r53637, we called Widget::move() (which caused us to call + NPP_SetWindow) before painting a plug-in. r53637 removed the call to + Widget::move(), and we end up never calling NPP_SetWindow for plug-ins + with the "DeferFirstSetWindowCall" quirk, including the DivX plug-in. + + Reviewed by Simon Fraser. + + * manual-tests/divx-plugin-fails-to-draw.html: Added. + + * plugins/PluginView.cpp: + (WebCore::PluginView::PluginView): + Initialize new member to false. + + * plugins/PluginView.h: + Added new member. + + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginView::paint): + Call setNPWindowRect() before painting to ensure that NPP_SetWindow gets + called. + (WebCore::PluginView::setNPWindowRect): + Set m_haveCalledSetWindow. + +2010-05-20 Fumitoshi Ukai <ukai@chromium.org> + + Reviewed by Alexey Proskuryakov. + + WebSocket handshake incompatible change in draft-hixie-thewebsocketprotocol-76 + https://bugs.webkit.org/show_bug.cgi?id=35572 + + WebSocket opening handshake is changed. New protocol draft could be found at http://www.whatwg.org/specs/web-socket-protocol/ + It requires https://bugs.webkit.org/show_bug.cgi?id=38034 to pass websocket tests. + + * websockets/WebSocketHandshake.cpp: + (WebCore::extractResponseCode): + add lineLength parameter to return length of status line. + (WebCore::hostName): Added. + (WebCore::generateSecWebSocketKey): Added. + (WebCore::generateKey3): Added. + (WebCore::setChallengeNumber): Added. + (WebCore::generateChallengeResponseExpected): Added. + (WebCore::WebSocketHandshake::WebSocketHandshake): + generate challenge response key and expected data. + (WebCore::WebSocketHandshake::clientLocation): + use hostName. + (WebCore::WebSocketHandshake::clientHandshakeMessage): + changed for draft 76 spec. + (WebCore::WebSocketHandshake::clientHandshakeRequest): + (WebCore::WebSocketHandshake::readServerHandshake): + changed for draft 76 spec. + m_mode is managed in this method. + (WebCore::WebSocketHandshake::readHTTPHeaders): + change error log messages. + (WebCore::WebSocketHandshake::processHeaders): + chagned for draft 76 spec. + (WebCore::WebSocketHandshake::checkResponseHeaders): + return boolean whether response header is ok or not and not change m_mode in it. + * websockets/WebSocketHandshake.h: + +2010-05-20 Adam Roben <aroben@apple.com> + + Stop leaking all CACFContexts + + Fixes <http://webkit.org/b/39466> <rdar://problem/8007141>. + + Reviewed by Simon Fraser. + + * platform/graphics/win/WKCACFContextFlusher.cpp: + (WebCore::WKCACFContextFlusher::addContext): Only retain the context + when we first add it to the m_contexts set. Otherwise we'll retain the + same context multiple times, causing it to leak. + +2010-05-20 Young Han Lee <joybro@company100.net> + + Reviewed by Darin Adler. + + Create filenameFromString for all ports except GTK and EFL. + https://bugs.webkit.org/show_bug.cgi?id=39348 + + * platform/FileSystem.cpp: Added. + (WebCore::filenameFromString): + * platform/FileSystem.h: + +2010-05-20 Young Han Lee <joybro@company100.net> + + Reviewed by Darin Adler. + + Port SharedBuffer to POSIX. + https://bugs.webkit.org/show_bug.cgi?id=39283 + + * platform/posix/SharedBufferPOSIX.cpp: Added. + (WebCore::SharedBuffer::createWithContentsOfFile): + +2010-05-20 Zhenyao Mo <zmo@google.com> + + Reviewed by Dimitri Glazkov. + + Map RGBA4/RGB5_A1 to RGBA and RGB565 to RGB in RenderbufferStorage + https://bugs.webkit.org/show_bug.cgi?id=39077 + + * platform/graphics/mac/GraphicsContext3DMac.cpp: + (WebCore::GraphicsContext3D::renderbufferStorage): Mapping the enums. + +2010-05-20 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + <rdar://problem/8007953> Textarea using custom font appears blank + + Test: fast/css/font-face-in-shadow-DOM.html + + When a remote font is loaded, CSSFontSelector forces a style recalc, which replaces all + RenderSyles that have FontFallbackLists referencing the placeholder font with fresh + RenderStyles. However, it does not descend into shadow DOM trees, so those may end up with + styles that still reference the placeholder font. + + The fix is to add RenderObject::requiresForcedStyleRecalcPropagation() and have it return + true from renderers that maintain shadow DOM trees or otherwise keep their own RenderStyles. + + * dom/Element.cpp: + (WebCore::Element::recalcStyle): Check if forced style recalc needs to propagated. + * rendering/RenderButton.h: + (WebCore::RenderButton::requiresForcedStyleRecalcPropagation): + * rendering/RenderDataGrid.h: + (WebCore::RenderDataGrid::requiresForcedStyleRecalcPropagation): + * rendering/RenderFileUploadControl.h: + (WebCore::RenderFileUploadControl::requiresForcedStyleRecalcPropagation): + * rendering/RenderListItem.h: + (WebCore::RenderListItem::requiresForcedStyleRecalcPropagation): + * rendering/RenderMedia.h: + (WebCore::RenderMedia::requiresForcedStyleRecalcPropagation): + * rendering/RenderMenuList.h: + (WebCore::RenderMenuList::RenderMenuList::requiresForcedStyleRecalcPropagation): + * rendering/RenderObject.h: + (WebCore::RenderObject::requiresForcedStyleRecalcPropagation): + * rendering/RenderProgress.h: + (WebCore::RenderProgress::requiresForcedStyleRecalcPropagation): + * rendering/RenderSlider.h: + (WebCore::RenderSlider::requiresForcedStyleRecalcPropagation): + * rendering/RenderTextControl.h: + (WebCore::RenderTextControl::requiresForcedStyleRecalcPropagation): + +2010-05-20 Jer Noble <jer.noble@apple.com> + + No review; build fix only. + + When WTF_USE_ACCELERATED_COMPOSITING is turned off, MediaPlayerPrivateQuickTimeVisualContext.cpp + must include CoreGraphics/CGContext.h. + + * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: + +2010-05-20 Jer Noble <jer.noble@apple.com> + + Reviewed by Sam Weinig. + + Video elements show no video on Windows machines that do not support accelerated compositing + https://bugs.webkit.org/show_bug.cgi?id=39446 + rdar://problem/7999794 + + Implement the paint() method in MediaPlayerPrivateQuickTimeVisualContext. The visual context should + be set up in load() and torn down in the destructor (as opposed to setUpVideoRendering and + tearDownVideoRendering, which won't get called in a non-accelerated compositing case). + + * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::~MediaPlayerPrivateQuickTimeVisualContext): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::visualContextTimerFired): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpVideoRendering): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::tearDownVideoRendering): + +2010-05-20 Abhishek Arya <inferno@chromium.org> + + Reviewed by Adam Barth. + + Added a method to check if the security origin can access + password manager. + https://bugs.webkit.org/show_bug.cgi?id=38916 + + * page/SecurityOrigin.h: + (WebCore::SecurityOrigin::canAccessPasswordManager): + +2010-05-20 Darin Adler <darin@apple.com> + + Reviewed by Eric Seidel. + + Fix warnings seen on the buildbots today + https://bugs.webkit.org/show_bug.cgi?id=39368 + + * loader/icon/IconDatabase.cpp: + (WebCore::IconDatabase::pruneUnretainedIcons): Use the type "long long" for + things being printed with "%lli". There is no guaranteed that int64_t is the + same thing as long long. + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMousePressEvent): Added parentheses as suggested + by warnings in newer versions of GCC. + + * platform/ContextMenu.cpp: Fix #if around the functions to match the #if + around the call sites to avoid unused function warning. + + * platform/graphics/gtk/ImageGtk.cpp: + (WebCore::Image::loadPlatformResource): Use NULL to end a variable argument list + rather than 0. This is a case where the WebKit "use 0 instead of NULL" guideline + is incorrect and won't work properly. + + * platform/win/SystemTimeWin.cpp: + (WebCore::userIdleTime): Removed unnecessary initialization of LASTINPUTINFO. + + * platform/win/WebCoreInstanceHandle.h: Added property svn:eol-style. + Made functions inline instead of static. It's not correct to have functions with + internal linkage in a header file. Marking them inline makes more sense. + + * plugins/win/PluginMessageThrottlerWin.cpp: + (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin): Reordered the + initializers to match the order of the data members from the class definition. + + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginView::paintIntoTransformedContext): Initialized all the fields + of WINDOWPOS. I know this goes against the traditions of Windows programming, + but it's correct and silences the warning. Also removed the unneeded separate + code path for non-WinCE platforms that translates only the corner of the window + rectangle; the WinCE version is correct for normal Windows as well. Not sure + why this wasn't caught when the code was originally checked in. + +2010-05-20 Justin Schuh <jschuh@chromium.org> + + Reviewed by Adam Barth. + + Moving frame.src checks out of the bindings + https://bugs.webkit.org/show_bug.cgi?id=37815 + + Moved JavaScript frame.src checks out of bindings and into + HTMLFrameElementBase. Added main thread state stack to JavaScriptCore + so ExecState is available inside core DOM. Updated affected bindings + (except for GObject, which will need to be updated to avoid origin + failures inside native code). + + * Android.jscbindings.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSBindingsAllInOne.cpp: + * bindings/js/JSCallbackData.cpp: + (WebCore::JSCallbackData::invokeCallback): + * bindings/js/JSEventListener.cpp: + (WebCore::JSEventListener::handleEvent): + * bindings/js/JSInjectedScriptHostCustom.cpp: + (WebCore::InjectedScriptHost::createInjectedScript): + * bindings/js/JSMainThreadExecState.cpp: Added. + * bindings/js/JSMainThreadExecState.h: Added. + (WebCore::JSMainThreadExecState::currentState): + (WebCore::JSMainThreadExecState::call): + (WebCore::JSMainThreadExecState::evaluate): + (WebCore::JSMainThreadExecState::JSMainThreadExecState): + (WebCore::JSMainThreadExecState::~JSMainThreadExecState): + (WebCore::JSMainThreadNullState::JSMainThreadNullState): + * bindings/js/ScheduledAction.cpp: + (WebCore::ScheduledAction::executeFunctionInContext): + (WebCore::ScheduledAction::execute): + * bindings/js/ScheduledAction.h: + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::evaluateInWorld): + (WebCore::ScriptController::canAccessFromCurrentOrigin): + * bindings/js/ScriptController.h: + * bindings/js/ScriptFunctionCall.cpp: + (WebCore::ScriptFunctionCall::call): + * bindings/objc/ObjCEventListener.mm: + * bindings/objc/WebScriptObject.mm: + (-[WebScriptObject callWebScriptMethod:withArguments:]): + (-[WebScriptObject evaluateWebScript:]): + * bindings/scripts/CodeGeneratorObjC.pm: + * bindings/scripts/test/ObjC/DOMTestCallback.mm: + (-[DOMTestCallback callbackWithClass1Param:]): + (-[DOMTestCallback callbackWithClass2Param:strArg:]): + (-[DOMTestCallback callbackWithNonBoolReturnType:]): + (-[DOMTestCallback customCallback:class6Param:]): + * bindings/scripts/test/ObjC/DOMTestInterface.mm: + * bindings/scripts/test/ObjC/DOMTestObj.mm: + (-[DOMTestObj readOnlyIntAttr]): + (-[DOMTestObj readOnlyStringAttr]): + (-[DOMTestObj readOnlyTestObjAttr]): + (-[DOMTestObj intAttr]): + (-[DOMTestObj setIntAttr:]): + (-[DOMTestObj longLongAttr]): + (-[DOMTestObj setLongLongAttr:]): + (-[DOMTestObj unsignedLongLongAttr]): + (-[DOMTestObj setUnsignedLongLongAttr:]): + (-[DOMTestObj stringAttr]): + (-[DOMTestObj setStringAttr:]): + (-[DOMTestObj testObjAttr]): + (-[DOMTestObj setTestObjAttr:]): + (-[DOMTestObj attrWithException]): + (-[DOMTestObj setAttrWithException:]): + (-[DOMTestObj attrWithSetterException]): + (-[DOMTestObj setAttrWithSetterException:]): + (-[DOMTestObj attrWithGetterException]): + (-[DOMTestObj setAttrWithGetterException:]): + (-[DOMTestObj customAttr]): + (-[DOMTestObj setCustomAttr:]): + (-[DOMTestObj scriptStringAttr]): + (-[DOMTestObj voidMethod]): + (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]): + (-[DOMTestObj intMethod]): + (-[DOMTestObj intMethodWithArgs:strArg:objArg:]): + (-[DOMTestObj objMethod]): + (-[DOMTestObj objMethodWithArgs:strArg:objArg:]): + (-[DOMTestObj methodThatRequiresAllArgs:objArg:]): + (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]): + (-[DOMTestObj serializedValue:]): + (-[DOMTestObj methodWithException]): + (-[DOMTestObj customMethod]): + (-[DOMTestObj customMethodWithArgs:strArg:objArg:]): + (-[DOMTestObj customArgsAndException:]): + (-[DOMTestObj addEventListener:listener:useCapture:]): + (-[DOMTestObj removeEventListener:listener:useCapture:]): + (-[DOMTestObj withDynamicFrame]): + (-[DOMTestObj withDynamicFrameAndArg:]): + (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]): + (-[DOMTestObj withDynamicFrameAndUserGesture:]): + (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]): + (-[DOMTestObj withScriptStateVoid]): + (-[DOMTestObj withScriptStateObj]): + (-[DOMTestObj withScriptStateVoidException]): + (-[DOMTestObj withScriptStateObjException]): + (-[DOMTestObj methodWithOptionalArg:]): + (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]): + (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]): + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::canAccessFromCurrentOrigin): + * bindings/v8/ScriptController.h: + * html/HTMLFrameElementBase.cpp: + (WebCore::HTMLFrameElementBase::isURLAllowed): + +2010-05-20 Adam Roben <aroben@apple.com> + + Fix an HRGN leak in WKCACFLayerRenderer + + Fixes <http://webkit.org/b/39312> <rdar://problem/7998728> REGRESSION + (r53686-r55990): Graphics corruption when watching video (affects + youtube.com) + + Reviewed by Darin Adler. + + * platform/graphics/win/WKCACFLayerRenderer.cpp: + (WebCore::getDirtyRects): Use an OwnPtr to hold the HRGN we allocate. + That way we don't have to remember to destroy it (as we were + forgetting to do) when we bail out of this function early. + +2010-05-20 Darin Fisher <darin@chromium.org> + + Reviewed by Nate Chapin. + + [chromium] Provide a way to catch exceptions thrown while interacting + with a NPObject via WebBindings methods. + https://bugs.webkit.org/show_bug.cgi?id=39378 + + This change also includes a small bit of cleanup in V8NPObject and + friends. I moved code into the WebCore namespace where appropriate. + + In _NPN_Invoke, I also moved the call to _NPN_Evaluate outside of the + context scope. I did this to avoid having nested ExceptionCatcher + objects, which is not strictly necessary, but it seemed cleaner. + _NPN_Evaluate already takes care of creating a context scope. + + * bindings/v8/NPV8Object.cpp: + (WebCore::v8ObjectToNPObject): + (WebCore::npCreateV8ScriptObject): + (_NPN_Invoke): + (_NPN_InvokeDefault): + (_NPN_Evaluate): + (_NPN_EvaluateHelper): + (_NPN_GetProperty): + (_NPN_SetProperty): + (_NPN_RemoveProperty): + (_NPN_HasProperty): + (_NPN_HasMethod): + (_NPN_SetException): + (_NPN_Enumerate): + (_NPN_Construct): + * bindings/v8/NPV8Object.h: + * bindings/v8/V8NPObject.cpp: + * bindings/v8/V8NPObject.h: + * bindings/v8/V8NPUtils.cpp: + (WebCore::convertV8ObjectToNPVariant): + (WebCore::pushExceptionHandler): + (WebCore::popExceptionHandler): + (WebCore::ExceptionCatcher::ExceptionCatcher): + (WebCore::ExceptionCatcher::~ExceptionCatcher): + * bindings/v8/V8NPUtils.h: + * bindings/v8/npruntime.cpp: + +2010-05-20 Marcus Bulach <bulach@chromium.org> + + Reviewed by Steve Block. + + Ensure timers are stopped on Geolocation::disconnectFrame() + https://bugs.webkit.org/show_bug.cgi?id=39388 + + fast/dom/Geolocation/notimer-after-unload.html, plus it should be possible to re-enable Gtk LayoutTests. + + * page/Geolocation.cpp: + (WebCore::Geolocation::disconnectFrame): + +2010-05-20 James Robinson <jamesr@chromium.org> + + Reviewed by Eric Seidel. + + Ensures styles are up-to-date before determining selection + https://bugs.webkit.org/show_bug.cgi?id=39389 + + This adds a call to document::updateStyleIfNeeded() to + Frame::notifyRendererOfSelectionChange(). Without this call, if there + is a pending style update that will detach part of the DOM and the + the selection is within that part of the DOM when + notifyRendererOfSeletionChange is called, the rootEditableElement + algorithm ends up walking through detached parts of the render tree. + + Test: editing/selection/focus-and-display-none.html + + * page/Frame.cpp: + (WebCore::Frame::notifyRendererOfSelectionChange): + +2010-05-20 Adam Roben <aroben@apple.com> + + Remove code that fetched, but did nothing useful with, a CFDictionary + in MediaPlayerPrivateQuickTimeVisualContext + + I also removed the code in QTPixelBuffer that vended the dictionary. + + Fixes <http://webkit.org/b/39435> <rdar://problem/8009278> + QTPixelBuffer passes CFDictionaries across the DLL boundary, which can + lead to crashes + + Reviewed by Darin Adler. + + * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage): + Deleted code that fetched the attachments dictionary, which was never + used other than to pass it to CFRetain/CFRelease, which could be + enough to cause a crash due to incompatible copies of + CoreFoundation.dll. + + * platform/graphics/win/QTMovieVisualContext.h: Added a now-needed + forward declaration. + + * platform/graphics/win/QTPixelBuffer.cpp: + * platform/graphics/win/QTPixelBuffer.h: + Removed the now-unused attachments function. + +2010-05-20 Adam Roben <aroben@apple.com> + + Fix a CFData leak in MediaPlayerPrivateQuickTimeVisualContext + + Fixes <http://webkit.org/b/39432> <rdar://problem/8008992> + + Reviewed by Ada Chan + + * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: + (WebCore::QTCFDictionaryCreateWithDataCallback): Use a RetainPtr to + hold the CFData we allocate so it will get released when this function + is exited. Also pass kCFAllocatorNull as the bytes deallocator to + CFDataCreateWithBytesNoCopy so that CF doesn't try to deallocate the + bytes we pass to it. + +2010-05-20 Jian Li <jianli@chromium.org> + + Reviewed by David Levin. + + Rename GenericTask* to CrossThreadTask* in CrossThreadTask.h. + https://bugs.webkit.org/show_bug.cgi?id=39437 + + * dom/CrossThreadTask.h: + (WebCore::): + (WebCore::CrossThreadTask1::create): + (WebCore::CrossThreadTask1::CrossThreadTask1): + (WebCore::CrossThreadTask2::create): + (WebCore::CrossThreadTask2::CrossThreadTask2): + (WebCore::CrossThreadTask3::create): + (WebCore::CrossThreadTask3::CrossThreadTask3): + (WebCore::CrossThreadTask4::create): + (WebCore::CrossThreadTask4::CrossThreadTask4): + (WebCore::CrossThreadTask5::create): + (WebCore::CrossThreadTask5::CrossThreadTask5): + (WebCore::CrossThreadTask6::create): + (WebCore::CrossThreadTask6::CrossThreadTask6): + (WebCore::CrossThreadTask7::create): + (WebCore::CrossThreadTask7::CrossThreadTask7): + (WebCore::CrossThreadTask8::create): + (WebCore::CrossThreadTask8::CrossThreadTask8): + (WebCore::createCallbackTask): + +2010-05-20 Jian Li <jianli@chromium.org> + + Reviewed by David Levin. + + Rename GenericWorkerTask.h to CrossThreadTask.h and move it to dom directory. + https://bugs.webkit.org/show_bug.cgi?id=39135 + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/CrossThreadTask.h: Renamed from WebCore/workers/GenericWorkerTask.h. + * html/FileStreamProxy.cpp: + * loader/WorkerThreadableLoader.cpp: + * websockets/WorkerThreadableWebSocketChannel.cpp: + * workers/DefaultSharedWorkerRepository.cpp: + * workers/WorkerMessagingProxy.cpp: + * workers/WorkerScriptLoader.cpp: + +2010-05-20 Adele Peterson <adele@apple.com> + + Reviewed by Mark Rowe. + + Remove the Safari welcome page site-specific quirk, since its no longer needed. + + * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::cssRules): + +2010-05-20 Steve Block <steveblock@google.com> + + Reviewed by Jeremy Orlow. + + Provide bindings for DeviceOrientation + https://bugs.webkit.org/show_bug.cgi?id=39210 + + Tests: fast/dom/DeviceOrientation/window-property.html + fast/dom/Window/window-properties-on-device-orientation.html + + Adds bindings for DeviceOrientation as defined in + http://dev.w3.org/geo/api/spec-source-orientation.html + This is guarded by ENABLE(DEVICE_ORIENTATION) which is currently disabled on + all platforms but Android. + + * Android.derived.jscbindings.mk: + * Android.derived.v8bindings.mk: + * Android.mk: + * Configurations/FeatureDefines.xcconfig: + * DerivedSources.cpp: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pri: + * WebCore.pro: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSEventCustom.cpp: + (WebCore::toJS): + * bindings/v8/custom/V8EventCustom.cpp: + (WebCore::toV8): + * dom/DeviceOrientationEvent.cpp: Added. + (WebCore::DeviceOrientationEvent::DeviceOrientationEvent): + (WebCore::DeviceOrientationEvent::initDeviceOrientationEvent): + * dom/DeviceOrientationEvent.h: Added. + (WebCore::DeviceOrientationEvent::create): + (WebCore::DeviceOrientationEvent::alpha): + (WebCore::DeviceOrientationEvent::beta): + (WebCore::DeviceOrientationEvent::gamma): + (WebCore::DeviceOrientationEvent::isDeviceOrientationEvent): + * dom/DeviceOrientationEvent.idl: Added. + * dom/Event.cpp: + (WebCore::Event::isDeviceOrientationEvent): + * dom/Event.h: + * dom/EventNames.h: + * page/DOMWindow.h: + * page/DOMWindow.idl: + +2010-05-20 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org> + + Rubberstamped by Antti Koivisto. + + Use 0.15 as text drag delay when Q_WS_MAC is defined, which is + consistent with the Mac OS X platform. + + * page/qt/EventHandlerQt.cpp: + +2010-05-19 Kenneth Rohde Christiansen <kenneth@webkit.org> + + Reviewed by Simon Hausmann. + + Fix painting when using clipToImageBuffer() + + When we apply the transform of the parent painter to the painter of + the transparency layer, we adopt its coordinate system, thus offset + should not be in page coordinates, but in the coordinate system of + the parent painter. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::TransparencyLayer::TransparencyLayer): + +2010-05-20 Adam Langley <agl@chromium.org> + + Reviewed by David Levin. + + [chromium] Avoid crash when msttcorefonts aren't provided + + https://bugs.webkit.org/show_bug.cgi?id=39015 + http://code.google.com/p/chromium/issues/detail?id=43831 + + * platform/graphics/chromium/FontCacheLinux.cpp: + (WebCore::FontCache::createFontPlatformData): + +2010-05-20 Zoltan Herczeg <zherczeg@webkit.org> + + Reviewed by Dirk Schulze. + + Fix a crash caused by feLigthing::apply() + https://bugs.webkit.org/show_bug.cgi?id=39004 + + Make FELighting::apply() similar to other filters' applies + to avoid an assertion fail in putUnmultipliedImageData(), + when effectDrawingRect has negative location (x or y is less than 0). + + Test: svg/filters/feLighting-crash.svg + + * svg/graphics/filters/SVGFELighting.cpp: + (WebCore::FELighting::apply): + +2010-05-20 Chris Jerdonek <cjerdonek@webkit.org> + + Reviewed by Eric Seidel. + + Modified FrameLoader::urlSelected() to accept a KURL instead of a + ResourceRequest. + + https://bugs.webkit.org/show_bug.cgi?id=39320 + + Since ResourceRequest has non-explicit single-parameter constructors for + String and KURL, urlSelected() previously accepted any of String, KURL, + and ResourceRequest. This revision changes urlSelected() to accept only + a KURL to make the API tighter and easier to refactor. + + No new functionality, so no new tests. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::urlSelected): + - Changed the public overload to accept a KURL instead of a ResourceRequest. + * loader/FrameLoader.h: + - Changed the public overload to accept a KURL instead of a ResourceRequest. + * wml/WMLAElement.cpp: + (WebCore::WMLAElement::defaultEventHandler): + - Updated the call to urlSelected(). + +2010-05-20 MORITA Hajime <morrita@google.com> + + Reviewed by Kent Tamura. + + 2x execCommand ReadAV@NULL + https://bugs.webkit.org/show_bug.cgi?id=35791 + + In applyBlockStyle(), a node which is referred from + nextParagraphStart sometimes removed from the document and goes + orphan, and that causes an assertion failed. This is because + moveParagraphs() replaces the node with a new one with some new + styles applied. So we re-compute nextParagraphStart in that case. + + Test: editing/execCommand/35791.html + + * dom/Position.h: + (WebCore::Position::isOrphan): + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::applyBlockStyle): + * editing/VisiblePosition.h: + (WebCore::VisiblePosition::isOrphan): + +2010-05-20 Steve Block <steveblock@google.com> + + Reviewed by Eric Seidel. + + PluginView contains JSC-specific code + https://bugs.webkit.org/show_bug.cgi?id=38907 + + Build fix only, no new tests. + + * plugins/PluginView.cpp: + (WebCore::PluginView::start): + (WebCore::PluginView::stop): + (WebCore::PluginView::performRequest): + * plugins/PluginView.h: + +2010-05-17 Philippe Normand <pnormand@igalia.com> + + Reviewed by Eric Seidel. + + [GStreamer] enable gst support if USE_GSTREAMER macro is defined + https://bugs.webkit.org/show_bug.cgi?id=39205 + + Include gstreamer private player in the build when the + USE_GSTREAMER macro is enabled. + + * platform/graphics/MediaPlayer.cpp: + (WebCore::installedMediaEngines): + +2010-05-19 Vangelis Kokkevis <vangelis@chromium.org> + + Reviewed by Darin Fisher. + + Implementing hardware accelerated compositing of layers for Chromium. + Completely removed the existing software compositing path to replace + it with code implemented using OpenGL. + https://bugs.webkit.org/show_bug.cgi?id=38783 + + Tests: Covered by existing compositing tests. + + * WebCore.gyp/WebCore.gyp: + * platform/graphics/chromium/GraphicsLayerChromium.cpp: + (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium): + (WebCore::GraphicsLayerChromium::updateLayerDrawsContent): + (WebCore::GraphicsLayerChromium::updateContentsRect): + * platform/graphics/chromium/LayerChromium.cpp: + (WebCore::LayerChromium::LayerChromium): + (WebCore::LayerChromium::~LayerChromium): + (WebCore::LayerChromium::updateGraphicsContext): + (WebCore::LayerChromium::drawsContentUpdated): + (WebCore::LayerChromium::updateContents): + (WebCore::LayerChromium::setContents): + (WebCore::LayerChromium::setBackingStoreSize): + (WebCore::LayerChromium::setBounds): + (WebCore::LayerChromium::setNeedsDisplay): + * platform/graphics/chromium/LayerChromium.h: + (WebCore::LayerChromium::contentsDirty): + (WebCore::LayerChromium::drawsContent): + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::): + (WebCore::checkGLError): + (WebCore::loadShader): + (WebCore::loadShaderProgram): + (WebCore::toGLMatrix): + (WebCore::orthoMatrix): + (WebCore::createLayerTexture): + (WebCore::LayerRendererChromium::create): + (WebCore::LayerRendererChromium::LayerRendererChromium): + (WebCore::LayerRendererChromium::~LayerRendererChromium): + (WebCore::LayerRendererChromium::drawTexturedQuad): + (WebCore::LayerRendererChromium::drawLayers): + (WebCore::LayerRendererChromium::getTextureId): + (WebCore::LayerRendererChromium::assignTextureForLayer): + (WebCore::LayerRendererChromium::freeLayerTexture): + (WebCore::LayerRendererChromium::drawDebugBorder): + (WebCore::LayerRendererChromium::isLayerVisible): + (WebCore::LayerRendererChromium::compositeLayersRecursive): + (WebCore::LayerRendererChromium::makeContextCurrent): + (WebCore::LayerRendererChromium::initGL): + (WebCore::LayerRendererChromium::bindCommonAttribLocation): + (WebCore::LayerRendererChromium::initializeSharedGLObjects): + * platform/graphics/chromium/LayerRendererChromium.h: + (WebCore::LayerRendererChromium::): + +2010-05-19 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Timothy Hatcher. + + Maintain focus on help screen while it's active. + https://bugs.webkit.org/show_bug.cgi?id=39237 + + * inspector/front-end/HelpScreen.js: + (WebInspector.HelpScreen): + (WebInspector.HelpScreen.prototype.show): + (WebInspector.HelpScreen.prototype._hide): + (WebInspector.HelpScreen.prototype._onBlur): + +2010-05-19 Jedrzej Nowacki <jedrzej.nowacki@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + Crash fix in the HistoryController. + + The problem was casued by a documented feature of the QWebFrame::setHtml(). + The method doesn't affect a browsing history (doesn't create a HistoryItem instance), so + m_currentItem and m_previousItem are not set. + + A null check was added. + + [Qt] The QWebPage crashes on history.pushState(). + https://bugs.webkit.org/show_bug.cgi?id=38840 + + * loader/HistoryController.cpp: + (WebCore::HistoryController::pushState): + (WebCore::HistoryController::replaceState): + +2010-05-19 Darin Fisher <darin@chromium.org> + + Revert r59790 due to failing Chromium npruntime tests. + + * bindings/v8/NPV8Object.cpp: + (v8ObjectToNPObject): + (npCreateV8ScriptObject): + (_NPN_Invoke): + (_NPN_InvokeDefault): + (_NPN_Evaluate): + (_NPN_EvaluateHelper): + (_NPN_GetProperty): + (_NPN_SetProperty): + (_NPN_RemoveProperty): + (_NPN_HasProperty): + (_NPN_HasMethod): + (_NPN_SetException): + (_NPN_Enumerate): + (_NPN_Construct): + * bindings/v8/NPV8Object.h: + * bindings/v8/V8NPObject.cpp: + (forgetV8ObjectForNPObject): + * bindings/v8/V8NPObject.h: + * bindings/v8/V8NPUtils.cpp: + (convertV8ObjectToNPVariant): + (getStringIdentifier): + * bindings/v8/V8NPUtils.h: + * bindings/v8/npruntime.cpp: + +2010-05-19 Gavin Barraclough <barraclough@apple.com> + + Rubber Stamped by Sam Weinig. + + JSFunctions are no longer a subclass of InternalFunction. + + * bindings/js/ScriptCallStack.cpp: + (WebCore::ScriptCallStack::ScriptCallStack): + (WebCore::ScriptCallStack::initialize): + * bindings/js/ScriptCallStack.h: + +2010-05-19 Jian Li <jianli@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Refactor text encoding detection logic in FileReader. + https://bugs.webkit.org/show_bug.cgi?id=39131 + + Changed FileReader::convertToText to call TextResourceDecoder::decode to + detect the encoding from BOM and decode the text. Though the File API + spec says that the supplied encoding should be used if it is valid, we + choose to ignore this requirement in order to be consistent with how + WebKit decodes the web content: always has the BOM override the provided + encoding. + + * html/FileReader.cpp: + (WebCore::FileReader::convertToText): + * html/FileReader.h: + +2010-05-19 Abhishek Arya <inferno@chromium.org> + + Reviewed by David Hyatt. + + Check that the node is a text node before doing a static cast + to a Text class pointer. + https://bugs.webkit.org/show_bug.cgi?id=38626 + + Test: fast/text/text-transform-nontext-node-crash.xhtml + + * rendering/RenderText.cpp: + (WebCore::RenderText::originalText): + * rendering/RenderTextFragment.cpp: + (WebCore::RenderTextFragment::originalText): + (WebCore::RenderTextFragment::previousCharacter): + +2010-05-19 Yaar Schnitman <yaar@chromium.org> + + Reviewed by Eric Seidel. + + Fixed warnings by JSC overloads changes. Also updated the binding reference files for JSC. + https://bugs.webkit.org/show_bug.cgi?id=39390 + + * bindings/scripts/CodeGeneratorJS.pm: + * bindings/scripts/test/JS/JSTestInterface.cpp: + (WebCore::): + * bindings/scripts/test/JS/JSTestObj.cpp: + (WebCore::): + +2010-05-19 Darin Fisher <darin@chromium.org> + + Reviewed by Nate Chapin. + + [chromium] Provide a way to catch exceptions thrown while interacting + with a NPObject via WebBindings methods. + https://bugs.webkit.org/show_bug.cgi?id=39378 + + This change also includes a small bit of cleanup in V8NPObject and + friends. I moved code into the WebCore namespace where appropriate. + + In _NPN_Invoke, I also moved the call to _NPN_Evaluate outside of the + context scope. I did this to avoid having nested ExceptionCatcher + objects, which is not strictly necessary, but it seemed cleaner. + _NPN_Evaluate already takes care of creating a context scope. + + * bindings/v8/NPV8Object.cpp: + (WebCore::v8ObjectToNPObject): + (WebCore::npCreateV8ScriptObject): + (_NPN_Invoke): + (_NPN_InvokeDefault): + (_NPN_Evaluate): + (_NPN_EvaluateHelper): + (_NPN_GetProperty): + (_NPN_SetProperty): + (_NPN_RemoveProperty): + (_NPN_HasProperty): + (_NPN_HasMethod): + (_NPN_SetException): + (_NPN_Enumerate): + (_NPN_Construct): + * bindings/v8/NPV8Object.h: + * bindings/v8/V8NPObject.cpp: + * bindings/v8/V8NPObject.h: + * bindings/v8/V8NPUtils.cpp: + (WebCore::convertV8ObjectToNPVariant): + (WebCore::pushExceptionHandler): + (WebCore::popExceptionHandler): + (WebCore::ExceptionCatcher::~ExceptionCatcher): + * bindings/v8/V8NPUtils.h: + * bindings/v8/npruntime.cpp: + +2010-05-19 Yaar Schnitman <yaar@chromium.org> + + Unreviewed, rolling out r59769. + http://trac.webkit.org/changeset/59769 + https://bugs.webkit.org/show_bug.cgi?id=37815 + + Broke GTK again + + * Android.jscbindings.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSBindingsAllInOne.cpp: + * bindings/js/JSCallbackData.cpp: + (WebCore::JSCallbackData::invokeCallback): + * bindings/js/JSEventListener.cpp: + (WebCore::JSEventListener::handleEvent): + * bindings/js/JSInjectedScriptHostCustom.cpp: + (WebCore::InjectedScriptHost::createInjectedScript): + * bindings/js/JSMainThreadExecState.cpp: Removed. + * bindings/js/JSMainThreadExecState.h: Removed. + * bindings/js/ScheduledAction.cpp: + (WebCore::ScheduledAction::executeFunctionInContext): + (WebCore::ScheduledAction::execute): + * bindings/js/ScheduledAction.h: + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::evaluateInWorld): + * bindings/js/ScriptController.h: + * bindings/js/ScriptFunctionCall.cpp: + (WebCore::ScriptFunctionCall::call): + * bindings/objc/ObjCEventListener.mm: + * bindings/objc/WebScriptObject.mm: + (-[WebScriptObject callWebScriptMethod:withArguments:]): + (-[WebScriptObject evaluateWebScript:]): + * bindings/scripts/CodeGeneratorObjC.pm: + * bindings/scripts/test/ObjC/DOMTestCallback.mm: + (-[DOMTestCallback callbackWithClass1Param:]): + (-[DOMTestCallback callbackWithClass2Param:strArg:]): + (-[DOMTestCallback callbackWithNonBoolReturnType:]): + (-[DOMTestCallback customCallback:class6Param:]): + * bindings/scripts/test/ObjC/DOMTestInterface.mm: + * bindings/scripts/test/ObjC/DOMTestObj.mm: + (-[DOMTestObj readOnlyIntAttr]): + (-[DOMTestObj readOnlyStringAttr]): + (-[DOMTestObj readOnlyTestObjAttr]): + (-[DOMTestObj intAttr]): + (-[DOMTestObj setIntAttr:]): + (-[DOMTestObj longLongAttr]): + (-[DOMTestObj setLongLongAttr:]): + (-[DOMTestObj unsignedLongLongAttr]): + (-[DOMTestObj setUnsignedLongLongAttr:]): + (-[DOMTestObj stringAttr]): + (-[DOMTestObj setStringAttr:]): + (-[DOMTestObj testObjAttr]): + (-[DOMTestObj setTestObjAttr:]): + (-[DOMTestObj attrWithException]): + (-[DOMTestObj setAttrWithException:]): + (-[DOMTestObj attrWithSetterException]): + (-[DOMTestObj setAttrWithSetterException:]): + (-[DOMTestObj attrWithGetterException]): + (-[DOMTestObj setAttrWithGetterException:]): + (-[DOMTestObj customAttr]): + (-[DOMTestObj setCustomAttr:]): + (-[DOMTestObj scriptStringAttr]): + (-[DOMTestObj voidMethod]): + (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]): + (-[DOMTestObj intMethod]): + (-[DOMTestObj intMethodWithArgs:strArg:objArg:]): + (-[DOMTestObj objMethod]): + (-[DOMTestObj objMethodWithArgs:strArg:objArg:]): + (-[DOMTestObj methodThatRequiresAllArgs:objArg:]): + (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]): + (-[DOMTestObj serializedValue:]): + (-[DOMTestObj methodWithException]): + (-[DOMTestObj customMethod]): + (-[DOMTestObj customMethodWithArgs:strArg:objArg:]): + (-[DOMTestObj customArgsAndException:]): + (-[DOMTestObj addEventListener:listener:useCapture:]): + (-[DOMTestObj removeEventListener:listener:useCapture:]): + (-[DOMTestObj withDynamicFrame]): + (-[DOMTestObj withDynamicFrameAndArg:]): + (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]): + (-[DOMTestObj withDynamicFrameAndUserGesture:]): + (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]): + (-[DOMTestObj withScriptStateVoid]): + (-[DOMTestObj withScriptStateObj]): + (-[DOMTestObj withScriptStateVoidException]): + (-[DOMTestObj withScriptStateObjException]): + (-[DOMTestObj methodWithOptionalArg:]): + (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]): + (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]): + * bindings/v8/ScriptController.cpp: + * bindings/v8/ScriptController.h: + * html/HTMLFrameElementBase.cpp: + (WebCore::HTMLFrameElementBase::isURLAllowed): + +2010-05-19 Dirk Pranke <dpranke@chromium.org> + + Try again to roll out r58675. + + * notifications/Notification.h: + * notifications/Notification.idl: + +2010-05-19 Enrica Casucci <enrica@apple.com> + + Reviewed by Dave Hyatt. + + REGRESSION (r59385) crash destroying inline renderers + https://bugs.webkit.org/show_bug.cgi?id=39143 + <rdar://problem/8003662> + + The goal of r59385 was to make sure that the layout of block after all its children had been removed produced the identical result + as the one of a newly created empty block. In order to do so, we had to make sure that the m_inlineChildren flag was reset to true when + the block had no children (as it is upon creation). + I discovered that, by doing that for anonymous blocks it leads removeChild to conclude that the anonymous children can be removed, + without considering that the anonymous block could be part of a continuation chain. For this reason, when RenderInline::destroy() + tries to remove the continuations we are effectively deleting a renderer that had been deleted already. + + Test: fast/inline-block/anonymous-block-crash.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): resetting the flag m_inlineChildren only for non anonymous blocks otherwise we incurr in + a double deletion of the renderer that causes the crash. + +2010-05-19 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r59782. + http://trac.webkit.org/changeset/59782 + https://bugs.webkit.org/show_bug.cgi?id=39379 + + broke DRT build (Requested by dpranke on #webkit). + + * notifications/Notification.h: + (WebCore::Notification::dir): + (WebCore::Notification::setDir): + (WebCore::Notification::replaceId): + (WebCore::Notification::setReplaceId): + * notifications/Notification.idl: + +2010-05-18 David Hyatt <hyatt@apple.com> + + Reviewed by Oliver Hunt. + + https://bugs.webkit.org/show_bug.cgi?id=21049, opacity and position:relative fail in multi-column layouts. + + Make layers split painting across columns just as normal flow content does. This is actually very + challenging, since intermediate multicol layers can exist between a child that has to be split and + its enclosing stacking context. + + In order to properly paginate layers, a bit is set on all pagination roots, i.e., layers that will get + split and thus split any descendant layers that they are also responsible for painting. For a paginated + root, we walk up the layer hierarchy and collect all intermediate multicol blocks between the child + and the enclosing stacking context. + + We then recur from the outside in, applying clipping and translation as we break up the layer into strips. + + Composited layers remain unsplittable and have a hacked offset still in order to be placed in the right + column. + + Painting and hit testing of columns has been simplified in all of the functions to use the x position of + the column rect instead of trying to increment an x offset by adding in widths and column gaps. This + makes those functions directionality-independent (and the LTR/RTL code paths are now the same). + + Fix repainting of columns as well to make sure rects are split across columns only after relative position + and transforms have been applied. + + Added fast/multicol/layers-split-across-columns.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::paintColumnContents): + (WebCore::RenderBlock::adjustRectForColumns): + (WebCore::RenderBlock::adjustForColumns): + * rendering/RenderBlock.h: + * rendering/RenderBox.cpp: + (WebCore::RenderBox::computeRectForRepaint): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::RenderLayer): + (WebCore::RenderLayer::updateLayerPositions): + (WebCore::RenderLayer::updatePagination): + (WebCore::RenderLayer::updateLayerPosition): + (WebCore::RenderLayer::paintLayer): + (WebCore::RenderLayer::paintList): + (WebCore::RenderLayer::paintPaginatedChildLayer): + (WebCore::RenderLayer::paintChildLayerIntoColumns): + (WebCore::RenderLayer::hitTestLayer): + (WebCore::RenderLayer::hitTestList): + (WebCore::RenderLayer::hitTestPaginatedChildLayer): + (WebCore::RenderLayer::hitTestChildLayerColumns): + * rendering/RenderLayer.h: + (WebCore::RenderLayer::): + (WebCore::RenderLayer::isPaginated): + +2010-05-18 Dirk Pranke <dpranke@chromium.org> + + Reviewed by Dimitri Glazkov. + + Attempt to revert r58765 to see if it was causing a performance + regression. + + https://bugs.webkit.org/show_bug.cgi?id=39328 + + * notifications/Notification.h: + * notifications/Notification.idl: + +2010-05-19 Kevin Watters <kevinwatters@gmail.com> + + Reviewed by Kevin Ollivier. + + [wx] Ensure m_nsFont is initialized properly, and tweak fallback font handling + to handle more cases. + https://bugs.webkit.org/show_bug.cgi?id=39365 + + * platform/graphics/wx/FontCacheWx.cpp: + (WebCore::FontCache::getFontDataForCharacters): + (WebCore::FontCache::getSimilarFontPlatformData): + (WebCore::FontCache::getLastResortFallbackFont): + * platform/graphics/wx/FontPlatformDataWx.cpp: + (WebCore::FontPlatformData::FontPlatformData): + +2010-05-19 Marcus Bulach <bulach@chromium.org> + + Reviewed by Eric Seidel. + + Fixes Windows Qt Release post r59772. + https://bugs.webkit.org/show_bug.cgi?id=39369 + + * platform/GeolocationService.cpp: + +2010-05-19 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Add support for handling basic <script> tags in the HTML5 Parser + https://bugs.webkit.org/show_bug.cgi?id=39350 + + WebKit currently executes scripts from HTMLTokenizer in one giagantic + hack. HTML 5 requires that we execute scripts from the tree-builders/parser. + + It will take me a while to re-factor enough of HTMLTokenizer to be able to + move the script execution logic without breaking things. In the interest + of allowing Adam to continue improving the HTML 5 lexer I've added this + very basic (and very incomplete) <script> support to the HTML 5 parser code + path so the he can run the HTML5 parser test suite. + + <script> support is tested by most of the layout tests. + + * dom/ScriptElement.cpp: + (WebCore::useHTML5Parser): + (WebCore::ScriptElement::finishParsingChildren): + +2010-05-19 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Move member variables from NamedMappedAttrMap to its base class NamedNodeMap + https://bugs.webkit.org/show_bug.cgi?id=39367 + <rdar://problem/8003304> + + This lets us get rid of the vtable pointer in NamedNodeMap which saves 8 bytes, and also allows us to + fit the m_mappedAttributeCount unsigned int in the RefCounted padding (in 64-bit). + + The net result is that we shrink the NamedMappedAttrMap size by 16 bytes, while keeping the size of NamedNodeMap the same. + + * dom/Element.cpp: + (WebCore::Element::createAttributeMap): + * dom/Element.h: + * dom/NamedMappedAttrMap.cpp: + * dom/NamedMappedAttrMap.h: + (WebCore::NamedMappedAttrMap::NamedMappedAttrMap): + * dom/NamedNodeMap.cpp: + (WebCore::NamedNodeMap::clearAttributes): + * dom/NamedNodeMap.h: + (WebCore::NamedNodeMap::NamedNodeMap): + * dom/Node.cpp: + (WebCore::Node::dumpStatistics): + * dom/StyledElement.cpp: + * dom/StyledElement.h: + +2010-05-19 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Use ASSERT_UNUSED instead of UNUSED_PARAM. + + * dom/Attribute.cpp: + (WebCore::Attribute::unbindAttr): + +2010-05-19 Sam Weinig <sam@webkit.org> + + Rubber-stamped by Anders Carlsson. + + Complete the merge of MappedAttribute and Attribute. + + Files elided for brevity. + +2010-05-19 Marcus Bulach <bulach@chromium.org> + + Reviewed by Steve Block. + + [chromium] Adds supports for layout tests using GeolocationServiceMock. + https://bugs.webkit.org/show_bug.cgi?id=39081 + + Allows injection of GeolocationServiceMock factory. + + Tests: existing fast/dom/Geolocation/* + + * platform/GeolocationService.cpp: + (WebCore::GeolocationService::useMock): + (WebCore::GeolocationService::useMockFactory): + * platform/GeolocationService.h: + * platform/chromium/GeolocationServiceChromium.cpp: + (WebCore::GeolocationServiceChromium::GeolocationServiceChromium): + +2010-05-19 Justin Schuh <jschuh@chromium.org> + + Reviewed by Adam Barth. + + Moving frame.src checks out of the bindings + https://bugs.webkit.org/show_bug.cgi?id=37815 + + Moved JavaScript frame.src checks out of bindings and into + HTMLFrameElementBase. Added main thread state stack to JavaScriptCore + so ExecState is available inside core DOM. Updated affected bindings + (except for GObject, which will need to be updated to avoid origin + failures inside native code). + + * Android.jscbindings.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSBindingsAllInOne.cpp: + * bindings/js/JSCallbackData.cpp: + (WebCore::JSCallbackData::invokeCallback): + * bindings/js/JSEventListener.cpp: + (WebCore::JSEventListener::handleEvent): + * bindings/js/JSInjectedScriptHostCustom.cpp: + (WebCore::InjectedScriptHost::createInjectedScript): + * bindings/js/JSMainThreadExecState.cpp: Added. + * bindings/js/JSMainThreadExecState.h: Added. + (WebCore::JSMainThreadExecState::currentState): + (WebCore::JSMainThreadExecState::call): + (WebCore::JSMainThreadExecState::evaluate): + (WebCore::JSMainThreadExecState::JSMainThreadExecState): + (WebCore::JSMainThreadExecState::~JSMainThreadExecState): + (WebCore::JSMainThreadNullState::JSMainThreadNullState): + * bindings/js/ScheduledAction.cpp: + (WebCore::ScheduledAction::executeFunctionInContext): + (WebCore::ScheduledAction::execute): + * bindings/js/ScheduledAction.h: + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::evaluateInWorld): + (WebCore::ScriptController::canAccessFromCurrentOrigin): + * bindings/js/ScriptController.h: + * bindings/js/ScriptFunctionCall.cpp: + (WebCore::ScriptFunctionCall::call): + * bindings/objc/ObjCEventListener.mm: + * bindings/objc/WebScriptObject.mm: + (-[WebScriptObject callWebScriptMethod:withArguments:]): + (-[WebScriptObject evaluateWebScript:]): + * bindings/scripts/CodeGeneratorObjC.pm: + * bindings/scripts/test/ObjC/DOMTestCallback.mm: + (-[DOMTestCallback callbackWithClass1Param:]): + (-[DOMTestCallback callbackWithClass2Param:strArg:]): + (-[DOMTestCallback callbackWithNonBoolReturnType:]): + (-[DOMTestCallback customCallback:class6Param:]): + * bindings/scripts/test/ObjC/DOMTestInterface.mm: + * bindings/scripts/test/ObjC/DOMTestObj.mm: + (-[DOMTestObj readOnlyIntAttr]): + (-[DOMTestObj readOnlyStringAttr]): + (-[DOMTestObj readOnlyTestObjAttr]): + (-[DOMTestObj intAttr]): + (-[DOMTestObj setIntAttr:]): + (-[DOMTestObj longLongAttr]): + (-[DOMTestObj setLongLongAttr:]): + (-[DOMTestObj unsignedLongLongAttr]): + (-[DOMTestObj setUnsignedLongLongAttr:]): + (-[DOMTestObj stringAttr]): + (-[DOMTestObj setStringAttr:]): + (-[DOMTestObj testObjAttr]): + (-[DOMTestObj setTestObjAttr:]): + (-[DOMTestObj attrWithException]): + (-[DOMTestObj setAttrWithException:]): + (-[DOMTestObj attrWithSetterException]): + (-[DOMTestObj setAttrWithSetterException:]): + (-[DOMTestObj attrWithGetterException]): + (-[DOMTestObj setAttrWithGetterException:]): + (-[DOMTestObj customAttr]): + (-[DOMTestObj setCustomAttr:]): + (-[DOMTestObj scriptStringAttr]): + (-[DOMTestObj voidMethod]): + (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]): + (-[DOMTestObj intMethod]): + (-[DOMTestObj intMethodWithArgs:strArg:objArg:]): + (-[DOMTestObj objMethod]): + (-[DOMTestObj objMethodWithArgs:strArg:objArg:]): + (-[DOMTestObj methodThatRequiresAllArgs:objArg:]): + (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]): + (-[DOMTestObj serializedValue:]): + (-[DOMTestObj methodWithException]): + (-[DOMTestObj customMethod]): + (-[DOMTestObj customMethodWithArgs:strArg:objArg:]): + (-[DOMTestObj customArgsAndException:]): + (-[DOMTestObj addEventListener:listener:useCapture:]): + (-[DOMTestObj removeEventListener:listener:useCapture:]): + (-[DOMTestObj withDynamicFrame]): + (-[DOMTestObj withDynamicFrameAndArg:]): + (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]): + (-[DOMTestObj withDynamicFrameAndUserGesture:]): + (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]): + (-[DOMTestObj withScriptStateVoid]): + (-[DOMTestObj withScriptStateObj]): + (-[DOMTestObj withScriptStateVoidException]): + (-[DOMTestObj withScriptStateObjException]): + (-[DOMTestObj methodWithOptionalArg:]): + (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]): + (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]): + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::canAccessFromCurrentOrigin): + * bindings/v8/ScriptController.h: + * html/HTMLFrameElementBase.cpp: + (WebCore::HTMLFrameElementBase::isURLAllowed): + +2010-05-19 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Darin Adler. + + CanvasRenderingContext2D's property getters that return colors should + serialize them in accordance with the HTML5 spec (4.8.11.1.4) + Setters should ignore invalid colors. + + Also, shadowColor should initially be transparent black (4.8.11.1.6) + + https://bugs.webkit.org/show_bug.cgi?id=38845 + + Refactored CanvasStyle to store an RGBA32 instead of RGBA components and/or the color string. + + Spec links: + http://www.whatwg.org/specs/web-apps/current-work/#serialization-of-a-color + http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-shadowcolor + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::State::State): + (WebCore::CanvasRenderingContext2D::shadowColor): + (WebCore::CanvasRenderingContext2D::setShadowColor): + (WebCore::CanvasRenderingContext2D::setShadow): + (WebCore::CanvasRenderingContext2D::clearShadow): + (WebCore::CanvasRenderingContext2D::applyShadow): + * html/canvas/CanvasRenderingContext2D.h: + * html/canvas/CanvasStyle.cpp: + (WebCore::CanvasStyle::CanvasStyle): + (WebCore::CanvasStyle::create): + (WebCore::CanvasStyle::applyStrokeColor): + (WebCore::CanvasStyle::applyFillColor): + * html/canvas/CanvasStyle.h: + (WebCore::CanvasStyle::create): + (WebCore::CanvasStyle::color): + (WebCore::CanvasStyle::): + (WebCore::CanvasStyle::CMYKAValues::CMYKAValues): + * platform/graphics/Color.cpp: + (WebCore::Color::serialized): + * platform/graphics/Color.h: + +2010-05-19 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] REGRESSION: CoolClock isn't rendered properly + + https://bugs.webkit.org/show_bug.cgi?id=38526 + + CanvasRenderingContext2D's arc() should connect to the previous point + with a straight line (HTML5 spec 4.8.11.1.8), but if the path is empty + to begin with, we don't want a line back to (0,0) + This also fixes the rendering artifact discussed in bug 36226. + + Spec link: + http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-arc + + Test: fast/canvas/canvas-arc-connecting-line.html + + * platform/graphics/qt/PathQt.cpp: + (WebCore::Path::addArc): + +2010-05-19 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Jeremy Orlow. + + Fix whitespace for the bug 38906 + https://bugs.webkit.org/show_bug.cgi?id=39351 + + No new tests required (no code change). + + * css/CSSParser.cpp: + (WebCore::CSSParser::~CSSParser): + (WebCore::CSSParser::setupParser): + (WebCore::CSSParser::parseSheet): + (WebCore::CSSParser::parseValue): + (WebCore::CSSParser::parseSelector): + (WebCore::unitFromString): + (WebCore::CSSParser::checkForOrphanedUnits): + (WebCore::CSSParser::parseWCSSInputProperty): + (WebCore::CSSParser::parseFillShorthand): + (WebCore::CSSParser::parseAnimationShorthand): + (WebCore::CSSParser::parseTransitionShorthand): + (WebCore::CSSParser::parseShorthand): + (WebCore::CSSParser::parse4Values): + (WebCore::CSSParser::parseAttr): + (WebCore::CSSParser::parseFillPositionXY): + (WebCore::CSSParser::parseFillPosition): + (WebCore::CSSParser::parseFillRepeat): + (WebCore::CSSParser::parseFillProperty): + (WebCore::CSSParser::parseAnimationTimingFunction): + (WebCore::CSSParser::parseAnimationProperty): + (WebCore::CSSParser::parseDashboardRegions): + (WebCore::CSSParser::parseCounterContent): + (WebCore::CSSParser::parseShape): + (WebCore::CSSParser::parseFont): + (WebCore::CSSParser::parseFontFamily): + (WebCore::CSSParser::parseFontFaceSrc): + (WebCore::parseInt): + (WebCore::CSSParser::parseColor): + (WebCore::CSSParser::parseShadow): + (WebCore::CSSParser::parseReflect): + (WebCore::BorderImageParseContext::commitNumber): + (WebCore::BorderImageParseContext::commitBorderImage): + (WebCore::CSSParser::parseBorderImage): + (WebCore::CSSParser::parseCounter): + (WebCore::parseGradientPoint): + (WebCore::parseGradientColorStop): + (WebCore::CSSParser::parseGradient): + (WebCore::CSSParser::parseCanvas): + (WebCore::CSSParser::parseTransform): + (WebCore::CSSParser::parseTransformOrigin): + (WebCore::CSSParser::parsePerspectiveOrigin): + (WebCore::CSSParser::text): + (WebCore::CSSParser::createRuleList): + (WebCore::CSSParser::createVariablesRule): + (WebCore::CSSParser::parseVariable): + (WebCore::CSSParser::parsePropertyWithResolvedVariables): + (WebCore::CSSParser::checkForVariables): + (WebCore::CSSParser::createKeyframeRule): + * css/CSSParser.h: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::setFrontend): + (WebCore::InspectorController::show): + (WebCore::InspectorController::unbindAllResources): + (WebCore::InspectorController::didCommitLoad): + (WebCore::InspectorController::scriptImported): + (WebCore::InspectorController::getCurrentUserInitiatedProfileName): + (WebCore::InspectorController::removeBreakpoint): + (WebCore::drawOutlinedQuad): + (WebCore::InspectorController::stopTiming): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::didRemoveDOMNode): + (WebCore::InspectorDOMAgent::getStyles): + (WebCore::InspectorDOMAgent::applyStyleText): + +2010-05-19 Steve Block <steveblock@google.com> + + Reviewed by Nate Chapin. + + V8 code generator does not add ENABLE guards around attribute getters and setters + https://bugs.webkit.org/show_bug.cgi?id=39222 + + No new tests, build fix only. + + * bindings/scripts/CodeGeneratorV8.pm: + +2010-05-19 Jeremy Orlow <jorlow@chromium.org> + + Unreviewed build fix for Chromium. + + * storage/IndexedDatabaseImpl.cpp: + +2010-05-17 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Darin Fisher. + + Hook Chromium's WebIndexedDatabaseImpl up to IndexedDatabaseImpl + https://bugs.webkit.org/show_bug.cgi?id=39216 + + All of these functions are supposed to be passing around the origin since + the caller of IndexedDatabaseImpl might not be able to pass in a Frame* + object. I tried to fix this in an ealier patch, but obviously messed up. + + Also change passing security origin strings to passing SecurityOrigin + objects. + + No behavior change because Chromium was emulating the old behavior before + even though the code wasn't properly hooked up. + + * storage/IndexedDatabase.h: + * storage/IndexedDatabaseImpl.cpp: + (WebCore::IndexedDatabaseImpl::open): + * storage/IndexedDatabaseImpl.h: + * storage/IndexedDatabaseRequest.cpp: + (WebCore::IndexedDatabaseRequest::open): + +2010-05-19 Ben Murdoch <benm@google.com> + + Reviewed by Darin Adler. + + Touch events are marked DontEnum in DOMWindow.idl + https://bugs.webkit.org/show_bug.cgi?id=39118 + + Touch events are the only attribute event listeners on the + window object that are marked DontEnum. For consistency allow + them to be enumerated. + + * page/DOMWindow.idl: Remove DontEnum from touchcancel, touchend, + touchstart and touchmove attributes. + +2010-05-19 Simon Hausmann <simon.hausmann@nokia.com> + + [Qt] Fix build warning + + NamedAttrMap.h has been renamed to NamedNodeMap.h + + * WebCore.pro: + +2010-05-19 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Add an HTML parsing benchmark + https://bugs.webkit.org/show_bug.cgi?id=39338 + + This benchmark parses the HTML5 specification 10 times and + reports how long it takes. It does this 21 times, discarding + the first warm-up run, and then prints the average time and + standard deviation. + + Sharking the benchmark correctly shows over 60% of the time spent under HTMLTokenizer::write(). + The numbers from the benchmark are rather consistent. On my + Mac Book Pro, I consistently see standard deviations < 2% of total time. + + * benchmarks/parser/html-parser.html: Added. + * benchmarks/parser/resources/html5.html: Added. + +2010-05-18 Yuzo Fujishima <yuzo@google.com> + + Reviewed by Shinichiro Hamaji. + + Make CSS Parser properly handle only-for-pages pseudo-classes. + + A new Match category, PagePseudoClass, is introduced to distinguish + only-for-pages pseudo-classes from others. A new symbol, pseudo_page, + is introduced to handle them separately. + + https://bugs.webkit.org/show_bug.cgi?id=38731 + + * css/CSSGrammar.y: + * css/CSSParser.cpp: + (WebCore::CSSParser::createMarginAtRule): + * css/CSSParser.h: + * css/CSSSelector.cpp: + (WebCore::CSSSelector::extractPseudoType): + (WebCore::CSSSelector::selectorText): + * css/CSSSelector.h: + (WebCore::CSSSelector::): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): + +2010-05-19 Adam Barth <abarth@webkit.org> + + Reviewed by David Hyatt. + + Change the API of nextToken to distinguish between emitting a token and just running out of input + https://bugs.webkit.org/show_bug.cgi?id=39349 + + I'm not sure there's a functional difference with this patch yet, but + as discussed with Eric, we need this to handle attributes. + + * html/HTML5Lexer.cpp: + (WebCore::HTML5Lexer::reset): + (WebCore::HTML5Lexer::nextToken): + * html/HTML5Lexer.h: + * html/HTML5Token.h: + (WebCore::HTML5Token::HTML5Token): + (WebCore::HTML5Token::clear): + (WebCore::HTML5Token::beginStartTag): + (WebCore::HTML5Token::beginEndTag): + (WebCore::HTML5Token::beginCharacter): + * html/HTML5Tokenizer.cpp: + (WebCore::HTML5Tokenizer::write): + +2010-05-18 Eric Seidel <eric@webkit.org> + + Reviewed by Maciej Stachowiak. + + Refactor HTMLTokenizer::write to make it more readable and split out the lexer bits from flow control bits + https://bugs.webkit.org/show_bug.cgi?id=39318 + + No functional changes, only moving code into smaller functions. + + This code is already covered by numerous layout tests. + + HTML parsing benchmark shows this to be a wash. + + * dom/Tokenizer.h: + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::advance): + - New funtion to encapulate code which will move into HTMLLexer eventually. + - Use ALWAYS_INLINE to make sure compilers inline this large + function (otherwise this patch is a regression). + (WebCore::HTMLTokenizer::willWriteHTML): + - New function to handle calling any pre-write delegates. + (WebCore::HTMLTokenizer::didWriteHTML): + - New function to handle calling any post-write delegates. + (WebCore::HTMLTokenizer::write): + - Call the new functions. + * html/HTMLTokenizer.h: + +2010-05-18 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Make the HTML5 parser correctly parse <div>Hello</div> + https://bugs.webkit.org/show_bug.cgi?id=39345 + + Again, this patch is covered by a large number of LayoutTests. + + * html/HTML5Lexer.cpp: + (WebCore::HTML5Lexer::HTML5Lexer): + (WebCore::HTML5Lexer::reset): + (WebCore::HTML5Lexer::nextToken): + (WebCore::HTML5Lexer::emitCommentToken): + (WebCore::HTML5Lexer::emitCharacter): + (WebCore::HTML5Lexer::emitCurrentTagToken): + * html/HTML5Lexer.h: + * html/HTML5Token.h: + (WebCore::HTML5Token::beginCharacter): + (WebCore::HTML5Token::appendToCharacter): + (WebCore::HTML5Token::characters): + * html/HTML5Tokenizer.cpp: + (WebCore::convertToOldStyle): + +2010-05-18 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Make the HTML5 parser actually parse <div></div> + https://bugs.webkit.org/show_bug.cgi?id=39342 + + This patch is covered by every LayoutTest. Yes. All of them. :) + + * html/HTML5Lexer.cpp: + (WebCore::toLowerCase): + (WebCore::HTML5Lexer::HTML5Lexer): + (WebCore::HTML5Lexer::nextToken): + (WebCore::HTML5Lexer::emitCharacter): + * html/HTML5Lexer.h: + * html/HTML5Token.h: + (WebCore::HTML5Token::HTML5Token): + (WebCore::HTML5Token::beginStartTag): + (WebCore::HTML5Token::beginEndTag): + (WebCore::HTML5Token::appendToName): + (WebCore::HTML5Token::type): + (WebCore::HTML5Token::name): + (WebCore::HTML5Token::selfClosing): + (WebCore::HTML5Token::attrs): + * html/HTML5Tokenizer.cpp: + (WebCore::convertToOldStyle): + (WebCore::HTML5Tokenizer::write): + +2010-05-18 Tony Chang <tony@chromium.org> + + Reviewed by Ojan Vafai. + + REGRESSION: crash in WebCore::CompositeEditCommand::splitTreeToNode when indenting in an empty li + https://bugs.webkit.org/show_bug.cgi?id=38232 + + Test: editing/execCommand/crash-indenting-list-item.html + + * editing/IndentOutdentCommand.cpp: + (WebCore::IndentOutdentCommand::tryIndentingAsListItem): + (WebCore::IndentOutdentCommand::indentIntoBlockquote): + +2010-05-18 Kent Tamura <tkent@chromium.org> + + Reviewed by Darin Adler. + + ':optional' pseudo selector should not be applied to <keygen> and <progress> + https://bugs.webkit.org/show_bug.cgi?id=39292 + + Test: fast/css/pseudo-required-optional-unapplied.html + + * html/HTMLKeygenElement.h: + (WebCore::HTMLKeygenElement::isOptionalFormControl): + Add isOptionalFormControl() returning false. + HTMLKeygenElement inherits HTMLSelectElement, which should return true + for isOptionalFormControl(). However, <keygen> is not :optional + according to the standard. + * html/HTMLProgressElement.h: + Remove isOptionalFormControl(). + +2010-05-18 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Implement the DOCTYPE states for the HTML5 lexer + https://bugs.webkit.org/show_bug.cgi?id=39335 + + * html/HTML5Lexer.cpp: + (WebCore::HTML5Lexer::nextToken): + (WebCore::emitCurrentDoctypeToken): + * html/HTML5Lexer.h: + +2010-05-18 Tony Chang <tony@chromium.org> + + Reviewed by Ojan Vafai. + + [chromium] ignore IME events if the keydown event was prevented + https://bugs.webkit.org/show_bug.cgi?id=37692 + + A manual test to verify the IME behavior since the existing methods of + textInputController test at a lower level than the fix. + + * manual-tests/ime-keydown-preventdefault.html: Added. + +2010-05-18 Sam Weinig <sam@webkit.org> + + Fix the build for platforms that don't always include UnusedParam.h + + * dom/Attribute.cpp: + +2010-05-18 MORITA Hajime <morrita@google.com> + + Reviewed by Kent Tamura. + + [Chromium] Windows: Determinate progress bar should have glossy overlay + https://bugs.webkit.org/show_bug.cgi?id=39269 + + - Moved animation code from RenderThemeChromiumWin to chromium tree + because it should be behind the theme implementation, which lives + in chromium tree. + - Passed current time to the bridge, which will be used to compute + the state of the theme animation. + + No new tests, animation effect can be confirmed only manually. + + * platform/chromium/ChromiumBridge.h: + * rendering/RenderProgress.h: + (WebCore::RenderProgress::animationStartTime): Added. + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::RenderThemeChromiumWin::animationDurationForProgressBar): + (WebCore::RenderThemeChromiumWin::paintProgressBar): + +2010-05-18 Sam Weinig <sam@webkit.org> + + Fix release build. + + * dom/Attribute.cpp: + (WebCore::Attribute::unbindAttr): + +2010-05-18 Sam Weinig <sam@webkit.org> + + Reviewed by Maciej Stachowiak. + + Move Attr pointer from Attribute to a global HashMap. + https://bugs.webkit.org/show_bug.cgi?id=39337 + <rdar://problem/8001168> + + Shaves another word off of Attribute. + + * dom/Attr.cpp: + (WebCore::Attr::Attr): + (WebCore::Attr::~Attr): + * dom/Attribute.cpp: + (WebCore::attributeAttrMap): + (WebCore::Attribute::attr): + (WebCore::Attribute::createAttrIfNeeded): + (WebCore::Attribute::bindAttr): + (WebCore::Attribute::unbindAttr): + * dom/Attribute.h: + (WebCore::Attribute::Attribute): + +2010-05-18 Jakob Petsovits <jpetsovits@rim.com> + + Unreviewed, forgot to svn add source file in r59619. + http://trac.webkit.org/changeset/59619 + + * platform/image-decoders/openvg: Added. + * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp: Added. + (WebCore::RGBA32Buffer::asNewNativeImage): + +2010-05-18 Yaar Schnitman <yaar@chromium.org> + + Unreviewed, rolling out r59693. + http://trac.webkit.org/changeset/59693 + https://bugs.webkit.org/show_bug.cgi?id=37815 + + Broke GTK Release + + * Android.jscbindings.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSBindingsAllInOne.cpp: + * bindings/js/JSCallbackData.cpp: + (WebCore::JSCallbackData::invokeCallback): + * bindings/js/JSEventListener.cpp: + (WebCore::JSEventListener::handleEvent): + * bindings/js/JSInjectedScriptHostCustom.cpp: + (WebCore::InjectedScriptHost::createInjectedScript): + * bindings/js/JSMainThreadExecState.cpp: Removed. + * bindings/js/JSMainThreadExecState.h: Removed. + * bindings/js/ScheduledAction.cpp: + (WebCore::ScheduledAction::executeFunctionInContext): + (WebCore::ScheduledAction::execute): + * bindings/js/ScheduledAction.h: + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::evaluateInWorld): + * bindings/js/ScriptController.h: + * bindings/js/ScriptFunctionCall.cpp: + (WebCore::ScriptFunctionCall::call): + * bindings/objc/ObjCEventListener.mm: + * bindings/objc/WebScriptObject.mm: + (-[WebScriptObject callWebScriptMethod:withArguments:]): + (-[WebScriptObject evaluateWebScript:]): + * bindings/scripts/CodeGeneratorObjC.pm: + * bindings/scripts/test/ObjC/DOMTestCallback.mm: + (-[DOMTestCallback callbackWithClass1Param:]): + (-[DOMTestCallback callbackWithClass2Param:strArg:]): + (-[DOMTestCallback callbackWithNonBoolReturnType:]): + (-[DOMTestCallback customCallback:class6Param:]): + * bindings/scripts/test/ObjC/DOMTestInterface.mm: + * bindings/scripts/test/ObjC/DOMTestObj.mm: + (-[DOMTestObj readOnlyIntAttr]): + (-[DOMTestObj readOnlyStringAttr]): + (-[DOMTestObj readOnlyTestObjAttr]): + (-[DOMTestObj intAttr]): + (-[DOMTestObj setIntAttr:]): + (-[DOMTestObj longLongAttr]): + (-[DOMTestObj setLongLongAttr:]): + (-[DOMTestObj unsignedLongLongAttr]): + (-[DOMTestObj setUnsignedLongLongAttr:]): + (-[DOMTestObj stringAttr]): + (-[DOMTestObj setStringAttr:]): + (-[DOMTestObj testObjAttr]): + (-[DOMTestObj setTestObjAttr:]): + (-[DOMTestObj attrWithException]): + (-[DOMTestObj setAttrWithException:]): + (-[DOMTestObj attrWithSetterException]): + (-[DOMTestObj setAttrWithSetterException:]): + (-[DOMTestObj attrWithGetterException]): + (-[DOMTestObj setAttrWithGetterException:]): + (-[DOMTestObj customAttr]): + (-[DOMTestObj setCustomAttr:]): + (-[DOMTestObj scriptStringAttr]): + (-[DOMTestObj voidMethod]): + (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]): + (-[DOMTestObj intMethod]): + (-[DOMTestObj intMethodWithArgs:strArg:objArg:]): + (-[DOMTestObj objMethod]): + (-[DOMTestObj objMethodWithArgs:strArg:objArg:]): + (-[DOMTestObj methodThatRequiresAllArgs:objArg:]): + (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]): + (-[DOMTestObj serializedValue:]): + (-[DOMTestObj methodWithException]): + (-[DOMTestObj customMethod]): + (-[DOMTestObj customMethodWithArgs:strArg:objArg:]): + (-[DOMTestObj customArgsAndException:]): + (-[DOMTestObj addEventListener:listener:useCapture:]): + (-[DOMTestObj removeEventListener:listener:useCapture:]): + (-[DOMTestObj withDynamicFrame]): + (-[DOMTestObj withDynamicFrameAndArg:]): + (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]): + (-[DOMTestObj withDynamicFrameAndUserGesture:]): + (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]): + (-[DOMTestObj withScriptStateVoid]): + (-[DOMTestObj withScriptStateObj]): + (-[DOMTestObj withScriptStateVoidException]): + (-[DOMTestObj withScriptStateObjException]): + (-[DOMTestObj methodWithOptionalArg:]): + (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]): + (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]): + * bindings/v8/ScriptController.cpp: + * bindings/v8/ScriptController.h: + * html/HTMLFrameElementBase.cpp: + (WebCore::HTMLFrameElementBase::isURLAllowed): + +2010-05-18 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Implement comment states for HTML5 lexer + https://bugs.webkit.org/show_bug.cgi?id=39334 + + * html/HTML5Lexer.cpp: + (WebCore::HTML5Lexer::nextToken): + +2010-05-18 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Move all member variables from MappedAttribute to Attribute. + https://bugs.webkit.org/show_bug.cgi?id=39336 + <rdar://problem/8000853> + + This saves one word because we no longer have any virtual member functions in Attribute, and + thus no vtable pointer. + + I plan to remove MappedAttribute altogether in a subsequent commit. + + * Android.mk: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::styleForElement): + * dom/Attribute.cpp: + (WebCore::Attribute::clone): + * dom/Attribute.h: + (WebCore::Attribute::create): + (WebCore::Attribute::style): + (WebCore::Attribute::decl): + (WebCore::Attribute::setDecl): + (WebCore::Attribute::isMappedAttribute): + (WebCore::Attribute::Attribute): + * dom/MappedAttribute.cpp: Removed. + * dom/MappedAttribute.h: + (WebCore::MappedAttribute::create): + (WebCore::MappedAttribute::MappedAttribute): + (WebCore::toMappedAttribute): + * dom/NamedMappedAttrMap.cpp: + (WebCore::NamedMappedAttrMap::declCount): + (WebCore::NamedMappedAttrMap::mapsEquivalent): + * dom/StyledElement.cpp: + (WebCore::StyledElement::attributeChanged): + * svg/SVGSVGElement.cpp: + (WebCore::updateCSSForAttribute): + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::getPresentationAttribute): + +2010-05-18 Tony Chang <tony@chromium.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=24943 + Command-B and Command-I do not generate keydown events in contentEditable regions. + + * manual-tests/style-keypress-events.html: Added. + +2010-05-18 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Add more state to the HTML5 lexer + https://bugs.webkit.org/show_bug.cgi?id=39333 + + This code is just transliteration from the spec. + + * html/HTML5Lexer.cpp: + (WebCore::HTML5Lexer::HTML5Lexer): + (WebCore::HTML5Lexer::nextToken): + * html/HTML5Lexer.h: + +2010-05-18 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Implement two more lexer states + https://bugs.webkit.org/show_bug.cgi?id=39298 + + No tests because Eric is still working on wiring up the lexer to the + test harness. + + * html/HTML5Lexer.cpp: + (WebCore::HTML5Lexer::nextToken): + (WebCore::HTML5Lexer::emitParseError): + (WebCore::HTML5Lexer::emitCurrentTagToken): + * html/HTML5Lexer.h: + +2010-05-18 Brady Eidson <beidson@apple.com> + + Reviewed by Maciej Stachowiak. + + Repro crash with many Google image search results + <rdar://problem/7685669> and https://bugs.webkit.org/show_bug.cgi?id=39323 + + When an iframe has a plugin resource as its src, that case bypassed the plugin sandboxing checks and continued to load + the data for the plugin resource. It handed that data off to a nonexistent Widget, causing a null deref and the crash. + + By replacing PluginDocuments in sandboxes iframes with a new "SinkDocument" that just acts as a data sink, we prevent the + crash and also prevent actually loading the plugin binaries. + + I filed https://bugs.webkit.org/show_bug.cgi?id=39330 to follow up and let us cancel the load as soon as we know we should. + + Test: fast/loader/sandboxed-plugin-crash.html + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + + * loader/DocumentWriter.cpp: + (WebCore::DocumentWriter::begin): If the created document is a PluginDocument and the plugin sandbox flag is set, + replace it with a SinkDocument. + + * loader/PluginDocument.h: + (WebCore::PluginDocument::isPluginDocument): Make public (it was already public at the Document.h level). + + Add a simple document/tokenizer pair that simply presents a blank HTML document and acts as a data sink for whatever + data is handed to it: + * loader/SinkDocument.cpp: Added. + (WebCore::SinkTokenizer::SinkTokenizer): + (WebCore::SinkTokenizer::write): + (WebCore::SinkTokenizer::isWaitingForScripts): + (WebCore::SinkTokenizer::wantsRawData): + (WebCore::SinkTokenizer::writeRawData): + (WebCore::SinkTokenizer::stopParsing): + (WebCore::SinkTokenizer::finish): + (WebCore::SinkDocument::SinkDocument): + (WebCore::SinkDocument::createTokenizer): + * loader/SinkDocument.h: Added. + (WebCore::SinkDocument::create): + +2010-05-18 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + https://bugs.webkit.org/show_bug.cgi?id=39321 + Reduce the size of ListHashSets used by Document + <rdar://problem/7999388> + + Reduce Membuster peak memory usage by ~450K by reducing the pool sizes + of the ListHashSets used by Document. + + * dom/Document.cpp: + (WebCore::Document::addStyleSheetCandidateNode): + (WebCore::Document::recalcStyleSelector): + * dom/Document.h: + +2010-05-18 Kenneth Rohde Christiansen <kenneth@webkit.org> + + Rubberstamped by Simon Hausmann. + + Return null when creating an ImageBuffer failed, due to for + instance a nulled pixmap. + + * platform/graphics/qt/ImageBufferQt.cpp: + (WebCore::ImageBufferData::ImageBufferData): + (WebCore::ImageBuffer::ImageBuffer): + +2010-05-18 Jian Li <jianli@chromium.org> + + Reviewed by Dmitry Titov. + + Fix bug 39285: fast/files/file-reader.html is timing out on all mac bots. + https://bugs.webkit.org/show_bug.cgi?id=39285 + + The timeout is caused by 59659 that changed the GC timer to 0 and thus + triggered a bug in FileReader code. The fix is to add more states so + that hasPendingActivity() can do the check correctly. + + * html/FileReader.cpp: + (WebCore::FileReader::FileReader): + (WebCore::FileReader::hasPendingActivity): + (WebCore::FileReader::readInternal): + (WebCore::FileReader::terminate): + (WebCore::FileReader::didStart): + (WebCore::FileReader::didGetSize): + (WebCore::FileReader::didRead): + (WebCore::FileReader::didFinish): + (WebCore::FileReader::didFail): + (WebCore::FileReader::readyState): + (WebCore::FileReader::result): + * html/FileReader.h: + (WebCore::FileReader::): + +2010-05-18 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler. + + Clean up GraphicsLayer naming code + https://bugs.webkit.org/show_bug.cgi?id=39316 + + Move code that generates a name for the GraphicsLayer (used in debug builds only) into + a new nameForLayer() method. Use it when naming the foreground layer. + + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::createGraphicsLayer): + (WebCore::RenderLayerBacking::updateForegroundLayer): + (WebCore::RenderLayerBacking::nameForLayer): + * rendering/RenderLayerBacking.h: + +2010-05-18 Justin Schuh <jschuh@chromium.org> + + Reviewed by Adam Barth. + + Moving frame.src checks out of the bindings + https://bugs.webkit.org/show_bug.cgi?id=37815 + + Moved JavaScript frame.src checks out of bindings and into + HTMLFrameElementBase. Added main thread state stack to JavaScriptCore + so ExecState is available inside core DOM. Updated affected bindings + (except for GObject, which will need to be updated to avoid origin + failures inside native code). + + * Android.jscbindings.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSBindingsAllInOne.cpp: + * bindings/js/JSCallbackData.cpp: + (WebCore::JSCallbackData::invokeCallback): + * bindings/js/JSEventListener.cpp: + (WebCore::JSEventListener::handleEvent): + * bindings/js/JSInjectedScriptHostCustom.cpp: + (WebCore::InjectedScriptHost::createInjectedScript): + * bindings/js/JSMainThreadExecState.cpp: Added. + * bindings/js/JSMainThreadExecState.h: Added. + (WebCore::JSMainThreadExecState::currentState): + (WebCore::JSMainThreadExecState::call): + (WebCore::JSMainThreadExecState::evaluate): + (WebCore::JSMainThreadExecState::JSMainThreadExecState): + (WebCore::JSMainThreadExecState::~JSMainThreadExecState): + (WebCore::JSMainThreadNullState::JSMainThreadNullState): + * bindings/js/ScheduledAction.cpp: + (WebCore::ScheduledAction::executeFunctionInContext): + (WebCore::ScheduledAction::execute): + * bindings/js/ScheduledAction.h: + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::evaluateInWorld): + (WebCore::ScriptController::canAccessFromCurrentOrigin): + * bindings/js/ScriptController.h: + * bindings/js/ScriptFunctionCall.cpp: + (WebCore::ScriptFunctionCall::call): + * bindings/objc/ObjCEventListener.mm: + * bindings/objc/WebScriptObject.mm: + (-[WebScriptObject callWebScriptMethod:withArguments:]): + (-[WebScriptObject evaluateWebScript:]): + * bindings/scripts/CodeGeneratorObjC.pm: + * bindings/scripts/test/ObjC/DOMTestCallback.mm: + (-[DOMTestCallback callbackWithClass1Param:]): + (-[DOMTestCallback callbackWithClass2Param:strArg:]): + (-[DOMTestCallback callbackWithNonBoolReturnType:]): + (-[DOMTestCallback customCallback:class6Param:]): + * bindings/scripts/test/ObjC/DOMTestInterface.mm: + * bindings/scripts/test/ObjC/DOMTestObj.mm: + (-[DOMTestObj readOnlyIntAttr]): + (-[DOMTestObj readOnlyStringAttr]): + (-[DOMTestObj readOnlyTestObjAttr]): + (-[DOMTestObj intAttr]): + (-[DOMTestObj setIntAttr:]): + (-[DOMTestObj longLongAttr]): + (-[DOMTestObj setLongLongAttr:]): + (-[DOMTestObj unsignedLongLongAttr]): + (-[DOMTestObj setUnsignedLongLongAttr:]): + (-[DOMTestObj stringAttr]): + (-[DOMTestObj setStringAttr:]): + (-[DOMTestObj testObjAttr]): + (-[DOMTestObj setTestObjAttr:]): + (-[DOMTestObj attrWithException]): + (-[DOMTestObj setAttrWithException:]): + (-[DOMTestObj attrWithSetterException]): + (-[DOMTestObj setAttrWithSetterException:]): + (-[DOMTestObj attrWithGetterException]): + (-[DOMTestObj setAttrWithGetterException:]): + (-[DOMTestObj customAttr]): + (-[DOMTestObj setCustomAttr:]): + (-[DOMTestObj scriptStringAttr]): + (-[DOMTestObj voidMethod]): + (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]): + (-[DOMTestObj intMethod]): + (-[DOMTestObj intMethodWithArgs:strArg:objArg:]): + (-[DOMTestObj objMethod]): + (-[DOMTestObj objMethodWithArgs:strArg:objArg:]): + (-[DOMTestObj methodThatRequiresAllArgs:objArg:]): + (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]): + (-[DOMTestObj serializedValue:]): + (-[DOMTestObj methodWithException]): + (-[DOMTestObj customMethod]): + (-[DOMTestObj customMethodWithArgs:strArg:objArg:]): + (-[DOMTestObj customArgsAndException:]): + (-[DOMTestObj addEventListener:listener:useCapture:]): + (-[DOMTestObj removeEventListener:listener:useCapture:]): + (-[DOMTestObj withDynamicFrame]): + (-[DOMTestObj withDynamicFrameAndArg:]): + (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]): + (-[DOMTestObj withDynamicFrameAndUserGesture:]): + (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]): + (-[DOMTestObj withScriptStateVoid]): + (-[DOMTestObj withScriptStateObj]): + (-[DOMTestObj withScriptStateVoidException]): + (-[DOMTestObj withScriptStateObjException]): + (-[DOMTestObj methodWithOptionalArg:]): + (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]): + (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]): + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::canAccessFromCurrentOrigin): + * bindings/v8/ScriptController.h: + * html/HTMLFrameElementBase.cpp: + (WebCore::HTMLFrameElementBase::isURLAllowed): + +2010-05-18 Drew Wilson <atwilson@chromium.org> + + Unreviewed: Speculative build fix for Chromium win. + + * platform/graphics/skia/SkiaFontWin.cpp: Properly set inlineCapacity. + +2010-05-18 Drew Wilson <atwilson@chromium.org> + + Unreviewed fix for Chromium build break. + + * platform/graphics/skia/SkiaFontWin.cpp: Now set inlineCapacity param. + +2010-05-18 Daniel Cheng <dcheng@chromium.org> + + Reviewed by Darin Adler, Jian Li. + + DragData::asURL() shouldn't do file validity checks + https://bugs.webkit.org/show_bug.cgi?id=38711 + + There's no point to trying to make sure the file is valid in + DragData::asURL(). It's better to ask for forgiveness than to ask for + permission, since asking for permission is prone to race conditions + and results in unnecessary I/O. Consumers of this function either: + - need to verify the file exists themselves (e.g. the loader) + - don't care about file validity (rich text drag-and-drop) + + * platform/chromium/DragDataChromium.cpp: + (WebCore::DragData::asURL): + +2010-05-18 Timothy Hatcher <timothy@apple.com> + + Fix a handful of various localization issues in the Web Inspector. + + * Localize strings that where not localized. + * Make WebInspector.UIString work without bind. + * Always pass WebInspector.UIString to Number.secondsToString and Number.bytesToString. + * Never pass a variable to WebInspector.UIString, since that prevents auto-generation. + * Use an ellipsis instead of three periods. + + https://webkit.org/b/39303 + rdar://problem/7997101 + + Reviewed by Adam Roben. + + * English.lproj/localizedStrings.js: + * inspector/front-end/AuditRules.js: + (WebInspector.AuditRules.GzipRule.prototype.doRun): + (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies): + (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies): + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView): + * inspector/front-end/ImageView.js: + (WebInspector.ImageView.prototype.contentTabSelected): + * inspector/front-end/ProfileDataGridTree.js: + (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds): + (WebInspector.ProfileDataGridNode.prototype.get data): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourceTimeCalculator.prototype.formatValue): + (WebInspector.ResourceTransferTimeCalculator.prototype.formatValue): + (WebInspector.ResourceTransferDurationCalculator.prototype.formatValue): + (WebInspector.ResourceTransferSizeCalculator.prototype.formatValue): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._registerShortcuts): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._contextMenu): + * inspector/front-end/TimelineOverviewPane.js: + (WebInspector.TimelineOverviewCalculator): + (WebInspector.TimelineOverviewCalculator.prototype.formatValue): + * inspector/front-end/TimelinePanel.js: + (WebInspector.TimelinePanel): + (WebInspector.TimelineCalculator): + (WebInspector.TimelineCalculator.prototype.formatValue): + (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo): + (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): + (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails): + (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendTextRow): + (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendElementRow): + * inspector/front-end/inspector.js: + (WebInspector.loaded): + (WebInspector.setRecordingProfile): + (WebInspector.UIString): + +2010-05-18 Sam Weinig <sam@webkit.org> + + Another attempt to fix the build. + + * css/CSSCursorImageValue.cpp: + +2010-05-18 Adam Roben <aroben@apple.com> + + Make accelerated compositing work on machines that don't support + hardware vertex processing + + Fixes <http://webkit.org/b/39299> <rdar://problem/7997692> Accelerated + compositing on Windows doesn't work on machines that don't support + hardware vertex processing, but should + + Reviewed by Eric Carlson. + + * platform/graphics/win/WKCACFLayerRenderer.cpp: + (WebCore::WKCACFLayerRenderer::createRenderer): Query the device + capabilities to decide whether to request hardware or software vertex + processing. + +2010-05-18 Adam Roben <aroben@apple.com> + + Make WKCACFLayerRenderer robust against temporary failure of + Direct3DCreate9 and IDirect3D9::CreateDevice + + For a short time after waking from sleep, Direct3DCreate9() will + return an IDirect3D9 for which IDirect3D9::CreateDevice will always + fail. Also during this time period, IDirect3D9::CreateDevice + will fail even for non-bad IDirect3D9s. (It will later start + succeeding.) WKCACFLayerRenderer now works around this behavior by + detecting when it might be in this situation and calling these + functions again later. + + Fixes <http://webkit.org/b/39297> <rdar://problem/7997431> WebView + doesn't repaint until page reloads when page using hardware + acceleration loads just after waking from sleep + + Reviewed by John Sullivan. + + * manual-tests/crash-and-no-repaint-after-wake-from-sleep.html: + Renamed from WebCore/manual-tests/crash-after-wake-from-sleep.html. + Modified to also include instructions for reproducing this bug. + + * platform/graphics/win/WKCACFLayerRenderer.cpp: + (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Replaced + m_triedToCreateD3DRenderer with m_mightBeAbleToCreateDeviceLater. The + new member is initialized to true, since we haven't even tried to + create a device once yet. + (WebCore::WKCACFLayerRenderer::createRenderer): If we already have a + D3D device, or we don't have one and are sure that we won't be able to + create one later, just return the previously-created device, if any. + We assume that we won't be able to create a device later if this + function fails, unless the function fails due to CreateDevice failing. + As noted above, CreateDevice will sometimes temporarily fail and then + later start working again. When CreateDevice fails, we also assume + that we might have a bad IDirect3D9, so we get rid of the one we have + so a new (and hopefully non-bad) one will be allocated later. + (WebCore::WKCACFLayerRenderer::destroyRenderer): Reset + m_mightBeAbleToCreateDeviceLater to true, since we no longer have a + device. + (WebCore::WKCACFLayerRenderer::paint): Before trying to paint, try to + create our D3D device and renderer. If this fails, we bail out, but if + we think we might be able to create a device later we schedule another + paint (via renderSoon()) so that we'll try again soon. + + * platform/graphics/win/WKCACFLayerRenderer.h: Replaced + m_triedToCreateD3DRenderer with m_mightBeAbleToCreateDeviceLater. + +2010-05-18 Adam Roben <aroben@apple.com> + + Fix a crash when a page that uses accelerated compositing loads soon + after the computer wakes from sleep + + The set-up: + + For a short time after waking from sleep, IDirect3D9::CreateDevice + will fail. This caused WKCACFLayerRenderer::createRenderer to fail, + and meant that WKCACFLayerRenderer never allocated a root layer. + WebView wouldn't notice that createRenderer failed, and would go ahead + and try to use the root layer anyway, resulting in a crash. + + The fix: + + We now allocate the root layer (and all the other members of + WKCACFLayerRenderer that aren't dependent on having an + IDirect3DDevice9) in WKCACFLayerRenderer's constructor. This way the + layers will always be present, even when creating the D3D device + fails. + + There are two remaining problems: + 1) This results in slightly more memory usage in the case where + CreateDevice fails. + 2) Once we get into this bad state, the WebView doesn't repaint + until we navigate somewhere else. + + (2) is covered by + <http://webkit.org/b/39297>/<rdar://problem/7997431>. We'll fix it by + retrying CreateDevice later in hopes that it will succeed after more + time has passed. This will in turn fix (1). (We should never end up in + a case where CreateDevice fails forever because we already did some + preliminary checks in acceleratedCompositingAvailable().) + + Fixes <http://webkit.org/b/39295> <rdar://problem/7971319> Crash + (preceded by assertion) in WKCACFLayerRenderer::setNeedsDisplay when + computer wakes from sleep on particular page + + Reviewed by John Sullivan. + + * manual-tests/crash-after-wake-from-sleep.html: Added. This + is the Poster Circle demo from webkit.org/blog, but modified to + automatically reload every 5 seconds and with instructions to put the + computer to sleep and wake it up again. + + * platform/graphics/win/WKCACFLayerRenderer.cpp: + (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Moved code to + initialize m_context, m_renderContext, and m_*Layer here... + (WebCore::WKCACFLayerRenderer::createRenderer): ...from here. + +2010-05-18 Adam Roben <aroben@apple.com> + + Remove an unused member variable from WKCACFLayerRenderer + + Rubber-stamped by Ada Chan. + + * platform/graphics/win/WKCACFLayerRenderer.h: Removed m_viewLayer, + which is unused. + +2010-05-18 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Allocate the m_preloads list hash set dynamically and free it when done. + https://bugs.webkit.org/show_bug.cgi?id=39309 + <rdar://problem/7998495> + + This saves about 6000 bytes on a fully loaded document. + + * loader/DocLoader.cpp: + (WebCore::DocLoader::requestPreload): + (WebCore::DocLoader::clearPreloads): + * loader/DocLoader.h: + +2010-05-18 Anders Carlsson <andersca@apple.com> + + Revert unintended indentation and unnecessary nested name specifier. + + * rendering/RenderBlock.cpp: + (WebCore::clipOutPositionedObjects): + (WebCore::RenderBlock::insertPositionedObject): + +2010-05-18 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Add an inlineCapacity template parameter to ListHashSet and use it to shrink the positioned object list hash set. + https://bugs.webkit.org/show_bug.cgi?id=39304 + <rdar://problem/7998366> + + Set the inlineCapacity for the positionedObjects ListHashSet to 4 instead of 256. Since a RenderBlock usually has + few positioned objects, this saves memory. + + * WebCore.base.exp: + * rendering/RenderBlock.cpp: + (WebCore::clipOutPositionedObjects): + (WebCore::RenderBlock::insertPositionedObject): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::positionedObjects): + +2010-05-17 Sam Weinig <sam@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=39258 + Remove NamedAttrMap residual gunk + + Replace NamedAttrMap.h/cpp with NamedNodeMap.h/cpp which was the class + it contained. + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/v8/custom/V8NamedNodesCollection.cpp: + * dom/NamedAttrMap.cpp: Removed. + * dom/NamedAttrMap.h: Removed. + * dom/NamedNodeMap.cpp: Copied from dom/NamedAttrMap.cpp. + * dom/NamedNodeMap.h: Replaced with dom/NamedAttrMap.h. + * editing/ReplaceNodeWithSpanCommand.cpp: + * platform/chromium/ClipboardChromium.cpp: + +2010-05-18 Brady Eidson <beidson@apple.com> + + Reviewed by Eric Carlson. + + <rdar://problem/7993468> REGRESSION (r58586): Audio doesn't play on first click of play button at NPR.org + + NPR swallows the first mouse click on the play button, calls load() on the element, then waits for the + canplay event to come in before calling play itself. + + After the site specific hack added in r58586, we disallowed play() from within the canplay event handler. + By tracking whether a load() was triggered by a user gesture, we can differentiate between the original + canplay event that we meant to ignore and the one resulting from the first mouse click which we want to honor. + + No new tests. (Currently no way to test such site specific hack behavior) + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::HTMLMediaElement): + (WebCore::HTMLMediaElement::load): Set the m_loadInitiatedByUserGesture flag + (WebCore::HTMLMediaElement::play): Only apply the site specific hack if the load wasn't initiated by a user gesture. + * html/HTMLMediaElement.h: + +2010-05-18 Jakob Petsovits <jpetsovits@rim.com> + + Reviewed by Dirk Schulze. + + [OpenVG] Fix stupid build errors from the OpenVG Path commit + https://bugs.webkit.org/show_bug.cgi?id=39228 + + * platform/graphics/openvg/PainterOpenVG.cpp: + (WebCore::PainterOpenVG::clipPath): + * platform/graphics/openvg/PathOpenVG.cpp: + (WebCore::Path::transform): + +2010-05-18 Chris Jerdonek <cjerdonek@webkit.org> + + Reviewed by Darin Adler. + + Refactored FrameLoader::isDocumentSandboxed() from a private member function + to a static, non-member, non-friend function. + + https://bugs.webkit.org/show_bug.cgi?id=39157 + + Making this function non-private lets us make FrameLoader::createWindow() + a non-member function in a subsequent patch. We also made it non-member + rather than member to increase encapsulation and limit the number of + public functions with access to private FrameLoader data. + + No new functionality, so no new tests. + + * loader/FrameLoader.cpp: + (WebCore::isDocumentSandboxed): + - Moved this function from a private member function of FrameLoader + to a static, non-member, non-friend function. + (WebCore::FrameLoader::createWindow): + - Updated the call to isDocumentSandboxed(). + (WebCore::FrameLoader::submitForm): + - Updated the call to isDocumentSandboxed(). + (WebCore::FrameLoader::requestObject): + - Updated the call to isDocumentSandboxed(). + (WebCore::FrameLoader::shouldAllowNavigation): + - Updated the call to isDocumentSandboxed(). + * loader/FrameLoader.h: + - Removed isDocumentSandboxed() and added a FIXME to move + createWindow() out of the FrameLoader class. + +2010-05-08 Robert Hogan <robert@roberthogan.net> + + Reviewed by Simon Hausmann. + + [Qt] Fix http/tests/xmlhttprequest/cross-origin-no-authorization.html + and http/tests/xmlhttprequest/cross-origin-authorization.html + + QHttpNetworkRequest adds Authorization and Cookie headers to XHRs + without knowing if this is valid behaviour or not. In order to allow + Qt to decide whether Cookie/Authorization headers should be added + to an XHR QtWebKit needs to use an attribute added to QNetworkRequest. + These new attributes are: QNetworkRequest::CookieLoadControlAttribute, + QNetworkRequest::CookieSaveControlAttribute,and + QNetworkRequest::AuthenticationReuseControlAttribute. + + QtWebKit will set QNetworkRequest::AuthenticationReuseControlAttribute to false + unless withCredentials is set to true in the XHR. + + QtWebkit will set CookieLoad/SaveControlAttribute to false unless withCredentials + is set to true in the XHR. + + Qt will pass the values onto QHttpNetworkRequest and this will permit + the Qt network access processing to decide whether or not to add either + or both of the Cookie/Authorisation headers, and whether to save cookies + returned from such requests. By default the attribute + will always be true so unless QtWebKit sets it to false normal + header processing is unaffected. + + The Qt part of these changes was merged at: http://gitorious.org/qt/qt/merge_requests/592 + + https://bugs.webkit.org/show_bug.cgi?id=32967 + + * platform/network/qt/ResourceRequestQt.cpp: + (WebCore::ResourceRequest::toNetworkRequest): + +2010-05-18 Zoltan Herczeg <zherczeg@webkit.org> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Implementing clipToImageBuffer for Qt port. + https://bugs.webkit.org/show_bug.cgi?id=24289 + + The implementation combines pixmap layers and destinationIn + composition mode. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::TransparencyLayer::TransparencyLayer): + (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): + (WebCore::GraphicsContext::savePlatformState): + (WebCore::GraphicsContext::restorePlatformState): + (WebCore::GraphicsContext::inTransparencyLayer): + (WebCore::GraphicsContext::beginTransparencyLayer): + (WebCore::GraphicsContext::endTransparencyLayer): + (WebCore::GraphicsContext::clipToImageBuffer): + +2010-05-18 Eric Seidel <eric@webkit.org> + + Unreviewed build fix. + + Make it possible to enable the new HTML5Tokenizer for testing + https://bugs.webkit.org/show_bug.cgi?id=39275 + + * WebCore.gypi: + - Fix HTMLLexer.* -> HTML5Lexer.* + * WebCore.vcproj/WebCore.vcproj: + - Add HTML5Lexer and HTML5Tokenizer to project. + +2010-05-18 Eric Seidel <eric@webkit.org> + + Unreviewed build fix. + + Make it possible to enable the new HTML5Tokenizer for testing + https://bugs.webkit.org/show_bug.cgi?id=39275 + + * dom/NamedAttrMap.cpp: + (WebCore::NamedNodeMap::setNamedItemNS): + - Move this to the .cpp file so as to avoid needing to include "Node.h" in the header. + * dom/NamedAttrMap.h: + * html/HTML5Token.h: + - Remove #include "String.h" which was wrong. Adam meant "PlatformString.h" + - Remove unneeded #include "Node.h", it was only needed because + NamedAttrMap.h was incorrectly depending on Node.h but not + including it. It didn't actually need Node.h except for one + inlined method setNamedItemNS, so I moved setNamedItemNS into + the .cpp to get rid of the Node.h requirement. + +2010-05-18 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Make it possible to enable the new HTML5Tokenizer for testing + https://bugs.webkit.org/show_bug.cgi?id=39275 + + I added html5ParserEnabled to Settings so that we can enable/disable + the HTML5 parser for testing. + + I also ripped out a bunch of dead code from HTML5Lexer. + + I had to add HTML5Lexer/HTML5Tokenizer to all build systems so that + the build wouldn't fail now that we reference these classes from HTMLDocument. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.xcodeproj/project.pbxproj: + * html/HTML5Lexer.cpp: + (WebCore::HTML5Lexer::reset): + (WebCore::isWhitespace): + (WebCore::HTML5Lexer::nextToken): + * html/HTML5Lexer.h: + * html/HTML5Tokenizer.cpp: Added. + (WebCore::HTML5Tokenizer::HTML5Tokenizer): + (WebCore::HTML5Tokenizer::~HTML5Tokenizer): + (WebCore::HTML5Tokenizer::begin): + (WebCore::HTML5Tokenizer::write): + (WebCore::HTML5Tokenizer::end): + (WebCore::HTML5Tokenizer::finish): + (WebCore::HTML5Tokenizer::isWaitingForScripts): + * html/HTML5Tokenizer.h: Added. + * html/HTMLDocument.cpp: + (WebCore::HTMLDocument::createTokenizer): + * html/HTMLTokenizer.h: + * html/HTMLViewSourceDocument.cpp: + (WebCore::HTMLViewSourceDocument::createTokenizer): + * page/Settings.cpp: + (WebCore::Settings::Settings): + * page/Settings.h: + (WebCore::Settings::setHTML5ParserEnabled): + (WebCore::Settings::html5ParserEnabled): + +2010-05-18 Maciej Stachowiak <mjs@apple.com> + + Not reviewed, build fix. + + Attempt to fix build for v8 bindings (untested). + + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::clearWindowShell): + * bindings/v8/ScriptController.h: + +2010-05-17 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Oliver Hunt. + + GC more promptly when navigating to a new inner window, but not at all when it went in the page cache + https://bugs.webkit.org/show_bug.cgi?id=39254 + <rdar://problem/7996370> + + ~1% PLT speedup + ~4% iBench HTML speedup + + * bindings/js/GCController.cpp: + (WebCore::GCController::garbageCollectSoon): Change back to a 0 delay timer instead of + 0.5 second. + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::clearWindowShell): Add a new boolean parameter. Don't + garbageColectSoon if the page is going into the page cache. + * bindings/js/ScriptController.h: Prototype change for above. + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::clear): Indicate when the page is going into the page cache. + +2010-05-18 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Add an HTML5Token + https://bugs.webkit.org/show_bug.cgi?id=39274 + + The token object is an ugly fake union, but I'm sure sure there's a + better way... Eric needs this to provide output for the test harness. + + * WebCore.xcodeproj/project.pbxproj: + * html/HTML5Lexer.cpp: + (WebCore::HTML5Lexer::HTML5Lexer): + (WebCore::HTML5Lexer::write): + (WebCore::HTML5Lexer::emitCharacter): + * html/HTML5Lexer.h: + * html/HTML5Token.h: Added. + (WebCore::HTML5Token::): + (WebCore::HTML5Token::HTML5Token): + (WebCore::HTML5Token::setToCharacter): + +2010-05-18 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Implement ScriptData states for HTML5Lexer + https://bugs.webkit.org/show_bug.cgi?id=39273 + + This patch implements more of the lexer states according to the HTML5 + specification. Currently, this code is compiled by not tested. We're + working on bringing up a test harness in parallel with transliterating + the spec into code. + + * html/HTML5Lexer.cpp: + (WebCore::HTML5Lexer::tokenize): + (WebCore::HTML5Lexer::temporaryBufferIs): + * html/HTML5Lexer.h: + (WebCore::HTML5Lexer::): + +2010-05-17 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Rename HTML5Tokenzier to HTML5Lexer so that we can add a new HTML5Tokenizer which implements Tokenizer + https://bugs.webkit.org/show_bug.cgi?id=39272 + + Strictly a rename, no functionality change. + + * WebCore.xcodeproj/project.pbxproj: + * html/HTML5Lexer.cpp: Added. + * html/HTML5Lexer.h: Added. + * html/HTML5Tokenizer.cpp: Removed. + * html/HTML5Tokenizer.h: Removed. + +2010-05-17 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r59652. + http://trac.webkit.org/changeset/59652 + https://bugs.webkit.org/show_bug.cgi?id=39268 + + file-input-files-access test is broken on Mac (Requested by + dcheng on #webkit). + + * platform/chromium/DragDataChromium.cpp: + (WebCore::DragData::asURL): + +2010-05-17 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Implement RAWTEXT tokenizer states + https://bugs.webkit.org/show_bug.cgi?id=39267 + + More tokenizer states. There's a bunch of functionality notImplemented + that we'll come back to. + + * html/HTML5Tokenizer.cpp: + (WebCore::HTML5Tokenizer::tokenize): + * html/HTML5Tokenizer.h: + +2010-05-17 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Implement more parser states in HTML5Tokenizer + https://bugs.webkit.org/show_bug.cgi?id=39265 + + This patch implements some easy states. I'll come back and do the + harder states later. + + * html/HTML5Tokenizer.cpp: + (WebCore::HTML5Tokenizer::tokenize): + (WebCore::HTML5Tokenizer::emitParseError): + * html/HTML5Tokenizer.h: + +2010-05-17 Daniel Cheng <dcheng@chromium.org> + + Reviewed by Darin Adler. + + DragData::asURL() shouldn't do file validity checks + https://bugs.webkit.org/show_bug.cgi?id=38711 + + There's no point to trying to make sure the file is valid in + DragData::asURL(). It's better to ask for forgiveness than to ask for + permission, since asking for permission is prone to race conditions + and results in unnecessary I/O. Consumers of this function either: + - need to verify the file exists themselves (e.g. the loader) + - don't care about file validity (rich text drag-and-drop) + + * platform/chromium/DragDataChromium.cpp: + (WebCore::DragData::asURL): + +2010-05-17 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Update states in HTML5Tokenizer to match HTML5 spec + https://bugs.webkit.org/show_bug.cgi?id=39264 + + I've also implemented the DataState. More states to follow. + + * html/HTML5Tokenizer.cpp: + (WebCore::HTML5Tokenizer::reset): + (WebCore::HTML5Tokenizer::tokenize): + * html/HTML5Tokenizer.h: + (WebCore::HTML5Tokenizer::): + +2010-05-17 Kent Tamura <tkent@chromium.org> + + Reviewed by Darin Adler. + + ':valid' CSS selector should not be applied to some form controls + https://bugs.webkit.org/show_bug.cgi?id=39162 + + * html/HTMLElement.cpp: + (WebCore::inlineTagList): Always includes progressTag. This change is + needed in a case of no ENABLE_PROGRESS_TAG. Without this change and + ENABLE_PROGRESS_TAG, <progress> tags disappear. + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::recalcWillValidate): + Return false for SUBMIT and IMAGE. + * html/HTMLProgressElement.h: + (WebCore::HTMLProgressElement::recalcWillValidate): + Return false. This change is needed in a case of ENABLE_PROGRESS_TAG. + +2010-05-17 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Remove load-related code from HTML5Tokenizer + https://bugs.webkit.org/show_bug.cgi?id=39263 + + This code is related to reloading resources and not to tokenizing. In + the PreloadScanner, these concerns are coupled, but we want to decouple + them. + + * html/HTML5Tokenizer.cpp: + (WebCore::HTML5Tokenizer::HTML5Tokenizer): + (WebCore::HTML5Tokenizer::~HTML5Tokenizer): + (WebCore::HTML5Tokenizer::begin): + (WebCore::HTML5Tokenizer::end): + (WebCore::HTML5Tokenizer::reset): + (WebCore::HTML5Tokenizer::write): + (WebCore::HTML5Tokenizer::consumeEntity): + (WebCore::HTML5Tokenizer::tokenize): + (WebCore::HTML5Tokenizer::processAttribute): + (WebCore::HTML5Tokenizer::emitCharacter): + (WebCore::HTML5Tokenizer::emitTag): + * html/HTML5Tokenizer.h: + +2010-05-17 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Add HTML5Tokenizer to the build system on Mac + https://bugs.webkit.org/show_bug.cgi?id=39262 + + This file will be easier to work with if we're actually compiling it. + Hopefully we'll get this wired into the PreloadScanner soon. Once we + start actually calling the code, we'll add it to the build system on + other platforms. + + * WebCore.xcodeproj/project.pbxproj: + +2010-05-17 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Copy PreloadScanner.* to HTML5Tokenizer.* to start work on the new HTML5 Tokenizer + https://bugs.webkit.org/show_bug.cgi?id=39261 + + * html/HTML5Tokenizer.cpp: Rename PreloadScanner to HTML5Tokenizer. + * html/HTML5Tokenizer.h: ditto. + +2010-05-17 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Copy PreloadScanner.* to HTML5Tokenizer.* to start work on the new HTML5 Tokenizer + https://bugs.webkit.org/show_bug.cgi?id=39261 + + This time copy the cpp from the right file. + + * html/HTML5Tokenizer.cpp: Copied from WebCore/html/PreloadScanner.cpp. + +2010-05-17 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Copy PreloadScanner.* to HTML5Tokenizer.* to start work on the new HTML5 Tokenizer + https://bugs.webkit.org/show_bug.cgi?id=39261 + + * html/HTML5Tokenizer.cpp: Copied from WebCore/html/PreloadScanner.h. + * html/HTML5Tokenizer.h: Copied from WebCore/html/PreloadScanner.h. + 2010-05-17 MORITA Hajime <morrita@google.com> Reviewed by Kent Tamura. |